JPH0897725A - Pipeline system - Google Patents

Pipeline system

Info

Publication number
JPH0897725A
JPH0897725A JP7090012A JP9001295A JPH0897725A JP H0897725 A JPH0897725 A JP H0897725A JP 7090012 A JP7090012 A JP 7090012A JP 9001295 A JP9001295 A JP 9001295A JP H0897725 A JPH0897725 A JP H0897725A
Authority
JP
Japan
Prior art keywords
data
token
stage
pipeline
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7090012A
Other languages
Japanese (ja)
Inventor
Adrian Philip Wise
フィリップ ワイズ エイドリアン
William Sotheran Martin
ウィリアム ソザラン マルティン
William Philip Robbins
フィリップ ロビンス ウィリアム
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.)
Discovision Associates
Original Assignee
Discovision Associates
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 GB9405914A external-priority patent/GB9405914D0/en
Application filed by Discovision Associates filed Critical Discovision Associates
Publication of JPH0897725A publication Critical patent/JPH0897725A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

PURPOSE: To improve an expansion method and a device for decoding and/or expanding various plural coded input signals. CONSTITUTION: A multi-standard video decoder has plural processing stages 36 connected by a two-wiring interface and arranged as a pipeline processor. A control token and a data token are sent through two-wiring interfaces 31 and 42 for transmitting both control and data in a token format. A token decoder circuit 33 is placed on a specified stage for recognizing any specified token as a control token peculiar to this specified stage and for sending a non- recognized control token along with the pipeline. While being placed on the selected stage, a reconstitution processing circuit reconstitutes such a stage in response to the recognized control token and handles the recognized, identified data token.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、複数の異なる符号化
入力信号を復号及び/又は伸長するように機能する伸長
方法及び装置の改良に関する。以下に記載する実施例は
説明的なものとして選択されたものであり、複数の符号
映像の標準を符号化に関する。特に、この実施例はJP
EG、MPEG及びH.261として知られる公知の標
準の一つの復号化に関する。
FIELD OF THE INVENTION This invention relates to improvements in decompression methods and apparatus that function to decode and / or decompress a plurality of different encoded input signals. The embodiments described below were chosen as illustrative and relate to encoding multiple coded video standards. In particular, this embodiment is JP
It relates to the decoding of one of the known standards known as EG, MPEG and H.261.

【0002】本発明のシリアルパイプライン処理方式
は、独特且つ特殊な相互作用のインターフェーストーク
ンを制御トークンとデータトークンの形態で、再構成可
能パイプラインプロセッサとして位置付けされている複
数の適応伸長回路等に実施するために使用される1個の
2線バスから構成される。
The serial pipeline processing method of the present invention uses unique and special interaction interface tokens in the form of control tokens and data tokens for a plurality of adaptive decompression circuits positioned as reconfigurable pipeline processors. It consists of one 2-wire bus used to implement.

【0003】[0003]

【従来の技術】従来技術の一つに、米国特許第5,21
6,724号明細書に記載されているものがある。この
装置は複数の計算モジュールから成り、好ましい実施例
では、合計4個の計算モジュールが並列に接続されてい
る。個々の計算モジュールは、処理装置と、デュアルポ
ートメモリと、スクラッチパッドメモリと、アービトレ
ーション機構で構成されている。第1のバスはこれらの
計算モジュールとホストプロセッサを接続する。この装
置は、ホストプロセッサと計算モジュールに第2のバス
を介して接続された共用メモリを有する。
2. Description of the Related Art One of the prior arts is US Pat.
Some are described in the specification of 6,724. The device consists of a plurality of computing modules, in the preferred embodiment a total of four computing modules connected in parallel. Each computing module consists of a processing unit, a dual port memory, a scratchpad memory and an arbitration mechanism. The first bus connects these computing modules with the host processor. The device has a shared memory connected to a host processor and a computing module via a second bus.

【0004】米国特許第4,785,349明細書に
は、コンパクトディスク媒体に記録され従来のビデオフ
レーム速度で複号される、送信用の完全フォーマットを
開示している。圧縮中、フレームの領域は、各領域固有
の最適なフィルコーディング方法を選択するために個々
に分析される。領域復号化時間を推定し圧縮閾値を最適
化する。領域の大きさと位置を示す領域記述コードはデ
ータストリームの第1セグメントでグループ化される。
領域の画素振幅を示す領域フィルコードはフィルコード
の種類によりグループ化され、データストリームのその
他のセグメントに置かれる。各データストリームセグメ
ントはそれぞれの統計分布に応じて符号化された可変長
を有し、データフレーム形成のためにフォーマット化さ
れる。フレームのバイト数は逆フレーム列分析により決
定される補助データの追加により少なくなり、コンパク
トディスクの再生中の一時停止を最少にするために選択
される平均数を提供する。これによりコンパクトディス
クの予測不可能なシークモード待機時間特性を回避す
る。デコーダは、データストリームのそれぞれのセグメ
ントを別々に可変長符号するためのコードストリームの
統計的情報に応答する可変長のデコーダを含む。領域位
置データは領域記述データから得られ、フィルコードの
種類(例えば相対値、絶対値、2項及びDPCM)を検
出することにより選ばれる複数の領域特定デコーダに対
して領域フィルコードと共に供給される。そして復号さ
れた領域画素は、後の表示用にビットマップ形式で格納
される。
US Pat. No. 4,785,349 discloses a complete format for transmission recorded on a compact disc medium and decoded at conventional video frame rates. During compression, the regions of the frame are individually analyzed to select the optimal fill coding method for each region. The region decoding time is estimated and the compression threshold is optimized. Area description codes indicating the size and position of the area are grouped in the first segment of the data stream.
Region fill codes that indicate the pixel amplitude of a region are grouped by fill code type and placed in other segments of the data stream. Each data stream segment has a variable length coded according to its respective statistical distribution and is formatted for data frame formation. The number of bytes in the frame is reduced by the addition of ancillary data determined by inverse frame sequence analysis, providing an average number selected to minimize pauses during compact disc playback. This avoids the unpredictable seek mode latency characteristics of compact discs. The decoder includes a variable length decoder responsive to the statistical information of the codestream for separately variable length encoding each segment of the data stream. The area position data is obtained from the area description data and is supplied together with the area fill code to a plurality of area specifying decoders selected by detecting the type of the fill code (for example, relative value, absolute value, binomial and DPCM). . The decoded region pixels are then stored in bitmap format for later display.

【0005】米国特許第4,922,341明細書に
は、ディジタルTV信号用の画像データをシーン・モデ
ルを利用して縮小する方法が開示されている。ここで
は、順次供給される画像信号は符号化され、時間t−1
で既に符号化されているシーンからの前フレームは基準
として画像格納部に存在し、フレームからフレームの情
報は増幅係数、移動係数及び適応的に得られたクアド
(4本)ツリー分割構造からなる。システムが初期化さ
れると、均一な、所定の階調値又は規定の輝度値として
ハーフ・トーン表現された画像が、送信機側のコーダの
画像格納部及び受信機側のデコーダの画像格納部に全て
の画素(ピクセル)に対して同様にして書き込まれる。
コーダの画像格納部及びデコーダの画像格納部の両方は
それぞれに対するフィードバックにより、コーダ及びデ
コーダ内の画像格納部の内容が可変サイズのブロックで
読み出され、輝度値1より大きいかそれ未満の係数によ
り増幅され、この画像格納部の別のアドレスに書き込み
可能に動作する。それにより、可変サイズのブロックは
公知のクアドツリー構造に応じて編成される。
US Pat. No. 4,922,341 discloses a method of reducing image data for a digital TV signal by using a scene model. Here, the sequentially supplied image signals are coded, and at time t-1.
The previous frame from the scene already coded in 1. exists in the image store as a reference, and the frame-to-frame information consists of an amplification coefficient, a transfer coefficient and an adaptively obtained quad tree partition structure. . When the system is initialized, a uniform, halftone-represented image with a predetermined gradation value or a specified luminance value is displayed in the image storage unit of the coder on the transmitter side and the image storage unit of the decoder on the receiver side. Are written in the same manner for all the pixels.
Both the image store of the coder and the image store of the decoder are fed back to each other so that the contents of the image store in the coder and the decoder are read in variable sized blocks, depending on the coefficient greater or less than the luminance value 1. It is amplified and operates so that it can be written to another address of this image storage unit. Thereby, variable size blocks are organized according to the known quadtree structure.

【0006】米国特許第5,122,875号明細書に
は、HDTV信号の符号化/復号化装置が開示されてい
る。この装置は、圧縮されたビデオデータを表わす階層
構造の符号化語CWと、この符号化語CWが表わすデー
タの種類を規定する、対応する符号化語Tを提供するた
めの高品質ビデオソース信号に応答する圧縮回路を含
む。符号化語CWとTに応答する優先選択回路は符号化
語CWを高優先度及び低優先度符号化語列に分解し、そ
れにより高位及び低位の優先符号化語列は、夫々画像再
生に対して比較的重要度の高いそして低い圧縮ビデオデ
ータに対応することになる。高優先度及び低優先度符号
化語列に応答する転送プロセッサは、それぞれ高優先度
及び低優先度符号化語の高優先度及び低優先度転送ブロ
ックを形成する。各転送ブロックはヘッダと、符号化語
CWとエラー検出チェックビットを含む。個々の転送ブ
ロックは、追加のエラーチェックデータを供給する前方
エラーチェック回路に供給する。その後、この高優先度
及び低優先度データはモデムに供給され、対応する送信
用の搬送波を直交振幅変調する。
US Pat. No. 5,122,875 discloses an apparatus for encoding / decoding an HDTV signal. The apparatus provides a high quality video source signal for providing a hierarchical coded word CW representing compressed video data and a corresponding coded word T defining the type of data represented by the coded word CW. And a compression circuit responsive to. A priority selection circuit responsive to the coded words CW and T decomposes the coded words CW into high priority and low priority coded word strings, whereby the high and low priority coded word strings are respectively used for image reproduction. On the other hand, it corresponds to compressed video data of relatively high and low importance. Transfer processors responsive to the high priority and low priority coded word sequences form high priority and low priority transfer blocks for the high priority and low priority coded words, respectively. Each transfer block includes a header, a coded word CW and an error detection check bit. Each transfer block feeds a forward error checking circuit which supplies additional error checking data. The high and low priority data is then provided to the modem to quadrature amplitude modulate the corresponding carrier for transmission.

【0007】米国特許第5,146,325号明細書に
は、奇数及び偶数フィールドのビデオ信号がフレーム内
圧縮モードとフレーム間圧縮モードで順番に独立して圧
縮され、次に送信用にインターリーブされた圧縮画像デ
ータを復号するビデオ復号システムが開示されている。
奇数及び偶数フィールドは独立して復号される。有効な
復号された奇数/偶数フィールドデータが無い期間で
は、偶数/奇数フィールドデータは利用不可の奇数/偶
数フィールドデータに代用される。偶数/奇数フィール
ドのデータを独立して復号し、反対のフィールドのデー
タを利用不可のデータに代用することは、システム起動
時及びチャンネル変化中の画像表示待機時間を減少する
には有効に使用され得る。
In US Pat. No. 5,146,325, video signals in odd and even fields are independently compressed in sequence in intraframe compression mode and interframe compression mode, and then interleaved for transmission. A video decoding system for decoding compressed image data is disclosed.
The odd and even fields are decoded independently. During periods when there is no valid decoded odd / even field data, the even / odd field data is substituted for the unavailable odd / even field data. Decoding the data in the even / odd fields independently and substituting the data in the opposite field for the unusable data is effectively used to reduce the image display wait time at system startup and during channel changes. obtain.

【0008】米国特許第5,168,356号明細書に
は、符号化されたビデオデータを信号送信用の転送ブロ
ックに分割するビデオ信号符号化システムが開示されて
いる。送信されたデータが紛失又は壊れたときに受信機
がデータストリームへの再進入ポイントを決定可能にす
るヘッダデータ提供のおかげで、その転送ブロックフォ
ーマットは受信機側での信号回復を向上させる。再進入
ポイントは、対応する転送ブロック内の符号化ビデオデ
ータ中に挿入される二次的転送ヘッダを提供することに
より最大になる。
US Pat. No. 5,168,356 discloses a video signal coding system for dividing coded video data into transfer blocks for signal transmission. The transport block format improves signal recovery at the receiver side, thanks to the provision of header data that allows the receiver to determine the re-entry point into the data stream when the transmitted data is lost or corrupted. The re-entry point is maximized by providing a secondary transport header that is inserted in the encoded video data in the corresponding transport block.

【0009】米国特許第5,168,375明細書に
は、デシメーション(decimation)、補間及び整形機能の
内の一つ又はそれ以上の機能を提供するために1フィー
ルド分の画像データサンプルを処理する方法が開示され
ている。これはJPEG圧縮システムに利用されている
アレイ変換プロセッサ等により実現される。データサン
プルのブロックは、デシメーション及び補間処理の両方
で離散偶数コサイン変換(DECT)により変換され、
その後、周波数項の数が変更される。デシメーションの
場合は、周波数項の数は減少され、この後、逆変換が実
施され元のデータブロックを示すサンプルポイントの縮
小サイズのマトリックスを生成する。補間処理の場合
は、零値の追加周波数成分が周波数成分アレーに挿入さ
れ、その後の逆変換によりスペクトル帯域幅の増加無し
に一連の拡大データサンプルを生成する。周波数領域内
でのデータ及びフィルタカーネルの変換の乗算を伴う畳
込み又はフィルタ処理により実現される整形処理の場合
は、処理済みデータサンプルの一連のブロックを発生さ
せる逆変換が提供される。カーネルの空間記号は、線形
位相フィルタに対して成分数を減少させることにより変
更され、零挿入されてデータブロックのサンプル数と同
じになる。これに続いて、零挿入されたカーネルマトリ
ックスの離散奇数コサイン変換(DOCT)が形成され
る。
US Pat. No. 5,168,375 processes a field of image data samples to provide one or more of decimation, interpolation and shaping functions. A method is disclosed. This is realized by the array conversion processor or the like used in the JPEG compression system. The block of data samples is transformed by the Discrete Even Cosine Transform (DECT) in both the decimation and interpolation process,
Then, the number of frequency terms is changed. In the case of decimation, the number of frequency terms is reduced and then an inverse transform is performed to produce a reduced size matrix of sample points representing the original data block. In the case of interpolation processing, a zero-valued additional frequency component is inserted into the frequency component array and the subsequent inverse transform produces a series of expanded data samples without increasing the spectral bandwidth. In the case of shaping, which is realized by convolution or filtering involving multiplication of the transform of the data and the filter kernel in the frequency domain, an inverse transform is provided which produces a series of blocks of processed data samples. The spatial symbol of the kernel is modified by reducing the number of components for the linear phase filter and zero inserted to be the same as the number of samples in the data block. Following this, the Discrete Odd Cosine Transform (DOCT) of the zero-inserted kernel matrix is formed.

【0010】米国特許第5,175,617号明細書に
は、電話回線帯域制限アナログチャンネルを介してログ
マップビデオ画像を送信するシステム及び方法が開示さ
れている。ログマップ画像内の画素構成は、中心に画素
がより集中する人間の目のセンサの幾何学的配置に一致
するようになっている。この送信機は周波数帯をチャン
ネルに分割し、1個又は2個の画素を各チャンネルに割
り当てる。例えば、3KHzの音声品質電話回線は、そ
れぞれ3.9Hzの間隔を持つ768個のチャンネルに
分割される。各チャンネルは直交位相の2個の搬送波か
ら成るので、各チャンネルは2個の画素を運ぶことが可
能である。幾つかのチャンネルは、受信機が受信信号の
位相と大きさの両方を検出できるようにする特殊校正信
号用に確保されている。センサと画素が発振器郡に直結
され、受信機が各チャンネルを連続して受信できる場合
には、この受信機は送信機と同期をとる必要が無い。F
FTアルゴリズムは、受信機が第1のフレームと同期を
とり、その後フレーム期間毎に後続のフレームを得る連
続動作の場合に対する高速離散近似を実行する。フレー
ム期間はサンプリング期間と比べて比較的低いので、一
旦第1フレームが検出されると、受信機がフレーム同期
を失うことはありそうもない。試験的ビデオ電話では、
1秒に4個のフレームを送信し、1440個の画素ログ
マップ画像に対し直交符号化を実施し、秒速40,00
0ビット以上の有効データ転送速度が得られた。
US Pat. No. 5,175,617 discloses a system and method for transmitting logmap video images over a telephone line bandlimited analog channel. The pixel configuration in the logmap image is adapted to match the sensor geometry of the human eye with more centered pixels. This transmitter divides the frequency band into channels and assigns one or two pixels to each channel. For example, a 3 KHz voice quality telephone line is divided into 768 channels, each spaced at 3.9 Hz. Since each channel consists of two carriers in quadrature, each channel can carry two pixels. Some channels are reserved for special calibration signals that allow the receiver to detect both the phase and magnitude of the received signal. If the sensor and the pixel are directly connected to the oscillator group and the receiver can receive each channel continuously, the receiver need not be synchronized with the transmitter. F
The FT algorithm performs a fast discrete approximation for the continuous operation case where the receiver is synchronized with the first frame and then gets subsequent frames every frame period. Since the frame period is relatively low compared to the sampling period, it is unlikely that the receiver will lose frame synchronization once the first frame is detected. On a trial video call,
Four frames are transmitted per second, 1440 pixel log map images are orthogonally encoded, and the speed is 40,00 per second.
An effective data transfer rate of 0 bits or more was obtained.

【0011】米国特許第5,185,819号明細書に
は、奇数及び偶数フィールドのビデオ信号がフレーム内
圧縮モードとフレーム間圧縮モードで順番に独立して圧
縮された奇数及び偶数フィールドのビデオ信号を有する
ビデオ圧縮システムが開示されている。独立して圧縮さ
れたデータの奇数及び偶数フィールドは、フレーム内偶
数フィールドが圧縮されたデータはフレーム内奇数フィ
ールドが圧縮された連続するフィールド間の途中で発生
するように送信のためにインターリーブされる。受信機
にとっては、インターリーブされた一連のフィールドに
より、送信データ量を増やすことなく符号化のための信
号への進入ポイント数が2倍になる。
In US Pat. No. 5,185,819, odd and even field video signals are sequentially and independently compressed in intraframe compression mode and interframe compression mode. A video compression system having is disclosed. The odd and even fields of independently compressed data are interleaved for transmission so that the intra-frame even field compressed data occurs halfway between successive fields where the intra-frame odd field compressed. . For the receiver, the interleaved series of fields doubles the number of entry points into the signal for coding without increasing the amount of transmitted data.

【0012】米国特許第5,212,742号明細書に
は、リアルタイムで圧縮/復号のためにビデオデータを
処理する装置及び方法が開示されている。この装置は複
数の計算モジュールから成り、好ましい実施例では、合
計4個の計算モジュールが並列に接続されている。個々
の計算モジュールは、処理装置と、デュアルポートメモ
リと、スクラッチパッドメモリと、アービトレーション
機構で構成されている。第1のバスはこれらの計算モジ
ュールとホストプロセッサを接続する。最後に、この装
置はホストプロセッサと計算モジュールに第2のバスを
介して接続された共用メモリを有する。この方法は、各
処理装置が処理するために画像の部分割当てを行う。
US Pat. No. 5,212,742 discloses an apparatus and method for processing video data for compression / decoding in real time. The device consists of a plurality of computing modules, in the preferred embodiment a total of four computing modules connected in parallel. Each computing module consists of a processing unit, a dual port memory, a scratchpad memory and an arbitration mechanism. The first bus connects these computing modules with the host processor. Finally, the device has a shared memory connected to the host processor and the computing module via a second bus. This method performs partial allocation of images for processing by each processing unit.

【0013】米国特許第5,231,484号明細書に
は、提案されているISO/IECMPEG基準の使用
に適している開示される。これには、協動する3個の構
成要素又はサブシステムが含まれる。その画像に割り付
けられたビット数を考慮して最適の視覚品質を提供する
ために、この3個の構成要素又はサブシステムは入力さ
れるディジタル動画列を可変順応的に前処理し、ビット
を画像に順番に割り付けし、変換係数を画像の異なる領
域にビデオ順に適応的に量子化する。
US Pat. No. 5,231,484 discloses suitable for use with the proposed ISO / IEC MPEG standard. It includes three cooperating components or subsystems. In order to provide the optimum visual quality considering the number of bits assigned to the image, these three components or subsystems adaptively pre-process the incoming digital video sequence and the bits are imaged. , And transform coefficients are adaptively quantized to different regions of the image in video order.

【0014】米国特許第5,267,334号明細書に
は、コンピュータシステムでの動画列のフレーム冗長度
を除去する方法が開示されている。この方法は動画列の
第1番目の場面変化を検出する工程と、第1画像にとっ
て完全な場面情報を含む第1キーフレームを発生する工
程から成る。好ましい実施例に於いては、この第1キー
フレームは「前向き」キーフレーム又はイントラフレー
ムとして知られており、通常CCITT準拠圧縮ビデオ
データ内に存在している。この処理は少なくとも1個の
中間圧縮フレームを発生する工程を具備し、該少なくと
も1個の中間圧縮フレームは、前記動画列内で時間的に
第1画像に続く少なくとも1個の画像に対して第1画像
との差情報を含む。この少なくとも1個の画像はインタ
ーフレームとして知られている。最後に、動画列におけ
る第2場面変化を検出する工程と、第2場面変化の直前
に表示される画像にとって完全な場面情報を含む第2キ
ーフレームを発生する工程がある。この第2キーフレー
ムは「後向き」キーフレームとして知られている。前記
第1キーフレームと少なくとも1個の中間圧縮フレーム
は順方向再生のために連結されており、前記第2キーフ
レームと前記中間圧縮フレームは逆方向再生のために連
結されている。画像が順方向再生される時には、前記イ
ントラフレームは、完全場面情報を発生するのに利用さ
れることもある。この場面が逆再生される時には、完全
場面情報を再生するのに後方向キーフレームが使用され
る。
US Pat. No. 5,267,334 discloses a method for removing frame redundancy in a video sequence in a computer system. The method comprises the steps of detecting a first scene change in a sequence of moving pictures and generating a first keyframe containing complete scene information for the first image. In the preferred embodiment, this first keyframe is known as the "forward" keyframe or intraframe and is typically present in CCITT compliant compressed video data. The process comprises the step of generating at least one intermediate compressed frame, the at least one intermediate compressed frame being the first for at least one image temporally following the first image in the sequence of motion pictures. It contains the difference information from one image. This at least one image is known as an interframe. Finally, there are steps of detecting a second scene change in the video sequence and generating a second keyframe containing complete scene information for the image displayed immediately before the second scene change. This second keyframe is known as the "backward" keyframe. The first key frame and at least one intermediate compressed frame are connected for forward reproduction, and the second key frame and the intermediate compressed frame are connected for reverse reproduction. The intra-frame may be used to generate complete scene information when the image is played in the forward direction. When this scene is played back, backward keyframes are used to play the complete scene information.

【0015】米国特許第5,276,513号明細書に
は、所定数の公知の画像・ピラミッドステージから成る
第1回路装置が、前記所定数と同数の新規な動画・ベク
トルステージから成る第2回路装置と共に開示されてい
る。これらの装置は費用効果の高い階層的動画分析(H
MA)をリアルタイムで、最少システム処理遅延及び/
又は最少システム処理遅延を利用して及び/又は最少ハ
ードウェア構造で行う。特に、比較的高いフレーム速度
(例えば、秒速30フレーム)で発生する連続的所定画
素濃度画像データフレームの継続入力列からの比較的高
解像度画像データに応答して、前記第1及び第2回路装
置は、ある処理システム遅延後に、同じフレーム速度で
発生する連続的所定画素濃度ベクトルデータの継続出力
列を得る。各ベクトルデータフレームは各対の連続画像
フレーム間で起こる画像の動きを示している。
In US Pat. No. 5,276,513, a first circuit arrangement consisting of a predetermined number of known image / pyramid stages and a second moving picture / vector stage of the same number as the predetermined number are provided. It is disclosed with a circuit device. These devices are cost-effective for hierarchical video analysis (H
MA) in real time with minimal system processing delay and /
Or, by using a minimum system processing delay and / or with a minimum hardware structure. In particular, the first and second circuit devices are responsive to relatively high resolution image data from a continuous input sequence of consecutive predetermined pixel density image data frames occurring at a relatively high frame rate (eg, 30 frames per second). Obtains a continuous output train of continuous predetermined pixel density vector data occurring at the same frame rate after some processing system delay. Each vector data frame represents the motion of the image that occurs between each pair of successive image frames.

【0016】米国特許第5,283,646号明細書に
は、リアルタイムビデオ符号化システムに画像を一度だ
け符号化しながら、フレーム毎に所望数のビットを精確
に送出させ、例えば通信チャンネルを介して送信される
画像を表わす係数を量子化するのに使用される量子化ス
テップサイズを更新する方法と装置が開示されている。
このデータは、複数のブロックを有するセクタに分割さ
れる。このブロックは、例えばDCT符号化を用いて符
号化され、各ブロック毎に係数列を発生する。この係数
は量子化され、データを記述するのに要するビット数は
量子化ステップに依っては、かなり変動する。各セクタ
のデータの送信の終了時には、この特定グループのデー
タと関連する選ばれた数のセクタに対して、使用された
実際の累積ビット数は、使用される所望の累積ビット数
と比較される。本システムは、例えば画像を表わす複数
のセクタに対して最終的所望のデータビット数を得るた
めに、量子化ステップサイズを再調整する。量子化ステ
ップサイズを再新して所望のビット割り付けを決定する
ため様々な方法が開示されている。
In US Pat. No. 5,283,646, a real-time video encoding system encodes an image only once, while precisely delivering the desired number of bits per frame, for example via a communication channel. A method and apparatus for updating a quantization step size used to quantize a coefficient representing a transmitted image is disclosed.
This data is divided into sectors having multiple blocks. This block is coded using, for example, DCT coding, and a coefficient sequence is generated for each block. This coefficient is quantized, and the number of bits required to describe the data varies considerably depending on the quantization step. At the end of transmission of data for each sector, the actual cumulative number of bits used is compared to the desired cumulative number of bits used for the selected number of sectors associated with this particular group of data. . The system readjusts the quantization step size to obtain the final desired number of data bits, for example for multiple sectors representing an image. Various methods have been disclosed for renewing the quantization step size to determine the desired bit allocation.

【0017】ウエスコン技術論文(Wescon Technical Pa
pers)No.2、1984年10月/11月号のヨンM.
チョン(Chong, Yong M)著の論文、「デジタル画像処理
のデータフローアーキテクチャ」(A Data-Flow Archite
cture for Digital Image Processing)には、画像処理
に特に設計されたリアルタイムでの信号処理システムが
開示されている。具体的には、固定長のアドレスフィー
ルドを有する固定の1ワード長であるトークンをベース
にしたデータフローアーキテクチャが開示されている。
トークンはデータフィールド、制御フィールド、および
タグから構成されている。トークンのタグフィールド
は、更に、プロセッサアドレスフィールドおよび識別子
フィールドとに分けられる。プロセッサアドレスフィー
ドは、トークンを正しくデータプロセッサに送出するた
めに用いられ、識別子フィールドは、データプロセッサ
にどのような処理を行うべきかを知らされるためにデー
タにラベルを付ける目的に用いられる。この様にして,
識別子フィールドは、データプロセッサに対しての指示
として作用する。システムは各トークンを、モジュール
番号(MN)を使って特定のデータフロープロセッサに
送る。このMNが特別なステージのMNと一致する場合
は、適切な演算をデータに対して行う。もし一致しない
場合は、トークンは出力データバスに送られる。
Wescon Technical Paper
pers) No.2, October / November 1984, Yong M.
A paper by Chong, Yong M, "Data Flow Architecture for Digital Image Processing" (A Data-Flow Archite
Cture for Digital Image Processing) discloses a real-time signal processing system specifically designed for image processing. Specifically, there is disclosed a data flow architecture based on a fixed one-word length token having a fixed length address field.
The token is composed of a data field, a control field, and a tag. The token tag field is further divided into a processor address field and an identifier field. The processor address feed is used to correctly send the token to the data processor, and the identifier field is used to label the data so that the data processor is informed what to do. In this way,
The identifier field acts as an indication to the data processor. The system sends each token to a particular dataflow processor using the module number (MN). If this MN matches a particular stage MN, then perform the appropriate operation on the data. If they do not match, the token is sent to the output data bus.

【0018】IEEE J固体回路(Solid-State Circu
its)のVo1.23、No.1、1988年2月号の、キ
モリ(Kimori)他著の「自己調整回路による弾性パイプラ
イン機構」(An Elastic Pipeline Mechanism by Self-T
imed Circuits)では、自己調整回路を有する弾性パイプ
ラインが開示されている。非同期のパイプラインは複数
のパイプラインステージを具備する。各パイプラインス
テージは、パイプラインステージ特有の論理演算を行う
組み合わせ論理回路に続いて設けられている。入力デー
タッラチグループにより構成される。データラッチに
は、このパイプラインステージに伴うデータ転送制御回
路から生成されるトリガ信号が同時に供給される。デー
タ転送制御回路は相互に連結してチェーンを形成し、こ
れを介して送信信号線並びに肯定応答信号線により、後
段のパイプライン間のデータ転送をハンドシェークモー
ドに制御している。また、現在のパイプラインステージ
のオペランドに対して行う演算を選択するために、通常
デコーダが各ステージに設けられている。更に、複雑な
復号処理を予めコード処理するために、また、論理回路
にとって重大なl経路の問題を軽減するために、前段に
デコーダを配置することもできる。サブモジュール間の
相互作用は完全に局所化した決定に基づき決められ、ま
た、各サブモジュールが独自にデータバッファリング及
び自己調整データ転送を同時にデータ転送を同時に行え
るので、パイプラインの柔軟性により、いかなる集中制
御も除去される。最後に、パイプラインの柔軟性増すた
めに、空のパイプラインステージを、占有されているパ
イプラインステージ間に設け、各ステージ間での信頼性
のあるデータ転送を確保している。
IEEE J Solid Circuit (Solid-State Circu
Its 1.2) Vol 1.23, No. 1, February 1988, Kimori et al., "An Elastic Pipeline Mechanism by Self-T".
imed Circuits) discloses an elastic pipeline with self-regulating circuits. An asynchronous pipeline comprises multiple pipeline stages. Each pipeline stage is provided following a combinational logic circuit that performs a logical operation specific to the pipeline stage. It consists of input data group. A trigger signal generated from the data transfer control circuit associated with the pipeline stage is simultaneously supplied to the data latch. The data transfer control circuits are connected to each other to form a chain, through which a transmission signal line and an acknowledgment signal line control the data transfer between the pipelines in the subsequent stages in the handshake mode. A decoder is usually provided in each stage to select an operation to be performed on the operand of the current pipeline stage. Further, a decoder can be arranged in the preceding stage in order to precode the complicated decoding process and to reduce the problem of the 1 path which is serious for the logic circuit. The interaction between the sub-modules is based on fully localized decisions, and because each sub-module can independently perform its own data buffering and self-adjusting data transfers at the same time, the flexibility of the pipeline allows Any centralized control is eliminated. Finally, to increase the flexibility of the pipeline, empty pipeline stages are provided between the occupied pipeline stages to ensure reliable data transfer between each stage.

【0019】[0019]

【発明が解決しようとする課題】本発明は、複数の処理
ステージと、処理ステージの中で制御、データ機能を実
行する相互作用インターフェース制御トークンの形態の
ユニバーサル適応ユニットを具備し、処理ステージが構
成、処理において向上した柔軟性を与えられているパイ
プラインシステムを提供することを目的とする。
SUMMARY OF THE INVENTION The present invention comprises a plurality of processing stages and a universal adaptation unit in the form of an interactive interface control token that performs control and data functions within the processing stages, the processing stages being configured. , Is intended to provide a pipeline system which is provided with improved flexibility in processing.

【0020】[0020]

【課題を解決するための手段】簡単に且つ一般的に、本
発明は、入力と、出力と、この入力と出力間にある複数
の処理ステージを有するパイプラインシステムにおい
て、処理ステージはパイプラインに沿ってトークンを伝
送するために2線インターフェースにより相互接続さ
れ、制御トークン、データトークンはパイプラインの中
の全ての処理ステージとインターフェースし、パイプラ
インの中の選択された処理ステージと相互作用するユニ
バーサル適応ユニットの形態であり、処理ステージは構
成と処理において向上した柔軟性を与えられている。
SUMMARY OF THE INVENTION Briefly and generally, the present invention is a pipelined system having an input, an output, and a plurality of processing stages between the inputs and outputs, wherein the processing stages are pipelined. Universally interconnected by a two-wire interface for transmitting tokens along, control tokens, data tokens interface with all processing stages in the pipeline and interact with selected processing stages in the pipeline. In the form of an adaptive unit, the processing stages are provided with increased flexibility in configuration and processing.

【0021】パイプラインの中の各処理ステージは第1
次、第2次記憶手段の両方を有していてもよい。処理ス
テージは選択されたトークンに認識に応じて再構成され
る。パイプラインのトークンはダイナミックに適応的で
あり、機能を実行する処理ステージに応じて位置する
か、あるいは機能を実行する処理ステージに無関係に位
置する。
Each processing stage in the pipeline is the first
It may have both the secondary and secondary storage means. The processing stage is reconstructed upon recognition of the selected token. The tokens of the pipeline are dynamically adaptive and are located depending on the processing stage performing the function or independent of the processing stage performing the function.

【0022】本発明のパイプラインにおいては、トーク
ンはステージとインターフェースすることにより変更さ
れることもある。トークンはパイプラインの全てのステ
ージと相互作用することもあるし、あるいは全てよりは
少ない特定のステージのみと相互作用する場合もある。
パイプライン中のトークンは隣接するステージと相互作
用することもあるし、あるいは隣接しないステージと相
互作用する場合もある。トークンは処理ステージを再構
成する。そのようなトークンはある機能に従属して位置
することもあるし、他の機能とは無関係に位置すること
もある。
In the pipeline of the present invention, tokens may be modified by interfacing with stages. Tokens may interact with all stages of the pipeline, or only certain less than all stages.
Tokens in the pipeline may interact with adjacent stages, or they may interact with non-adjacent stages. The token reconstructs the processing stage. Such tokens may be subordinate to one function or independent of another function.

【0023】トークンは、再構成可能な処理ステージと
ともに、パイプラインシステムにとっての基本的なビル
ディングブロックを提供する。トークンとパイプライン
の処理ステージとの相互作用は当該処理ステージの以前
の処理ヒストリーによって条件付けられる。トークンは
そのトークンを特徴付けるアドレスフィールドを有して
も良い。これにより、処理ステージとの相互作用はこの
アドレスフィールドで決定される。
Tokens, along with reconfigurable processing stages, provide the basic building blocks for pipeline systems. The interaction between the token and the processing stage of the pipeline is conditioned by the previous processing history of that processing stage. The token may have an address field that characterizes the token. Thereby, the interaction with the processing stage is determined in this address field.

【0024】トークンは更に、このトークンに追加のワ
ードが存在することを示し、該トークン内の最終ワード
を識別する拡張ビットを含んでも良い。トークンのアド
レスフィールドは可変長でも良いし、典型的にはホフマ
ン符号化されている。
The token may further include an extension bit indicating that there are additional words in this token and identifying the last word in the token. The address field of the token may be of variable length and is typically Hoffman coded.

【0025】トークンは処理ステージにより発生され
る。パイプライントークンは処理ステージに転送するデ
ータを含んでいても良いし、トークンはデータが無くて
も良い。あるトークンはデータトークンとして識別さ
れ、パイプラインの処理ステージにデータを与える。他
のトークンは制御トークンとして識別され、処理ステー
ジを調整する。この調整は処理ステージの再構成を含
む。さらに、他のトークンはデータの供給と調整の両方
を処理ステージに対して実施する。トークンのいずれか
はパイプラインの処理ステージに対する符号化標準を識
別する。他のトークンは処理ステージ間でどんな符号化
標準にも依存せず動作する。トークンは処理ステージに
よる連続する変更も可能である。
Tokens are generated by the processing stage. The pipeline token may contain data to be transferred to the processing stage, or the token may have no data. Certain tokens are identified as data tokens and provide data to the processing stage of the pipeline. Other tokens are identified as control tokens and coordinate processing stages. This adjustment involves the reconstruction of the processing stage. In addition, other tokens both supply and coordinate the data to the processing stage. Any of the tokens identifies the encoding standard for the processing stage of the pipeline. Other tokens operate between processing stages independent of any encoding standard. The token can also be changed continuously by the processing stage.

【0026】処理ステージと協動してのトークンの相互
作用の柔軟性は内部構造に対する処理ステージの大きな
機能分散を容易にし、トークンの柔軟性はシステム拡張
及び/又は変更を容易にする。この点について、トーク
ンは処理ステージ内の複数の機能を容易にすることもで
きる。トークンはハードウェアに基づいてもソフトウェ
アに基づいても良い。トークンは、データと制御を同時
に処理ステージに提供にする。
The flexibility of the token interaction in cooperation with the processing stage facilitates a large distribution of the processing stage's functionality with respect to the internal structure, and the token flexibility facilitates system expansion and / or modification. In this regard, tokens may also facilitate multiple functions within the processing stage. The token may be hardware-based or software-based. Tokens provide data and control to the processing stage at the same time.

【0027】本発明によれば、単一のビットストリーム
中に伝達され、制御コードと対応するデータとがそれぞ
れ符号化された対を有し、ディジタルビットのシリアル
ビットストリームとしての複数の符号化ビットストリー
ムを扱うための、2線インターフェースにより複数の処
理ステージが相互接続されたパイプラインシステムにお
いて、単一のシリアルビットストリームに応答し制御ト
ークンとデータトークンを発生し、2線インターフェー
スに与えるスタートコード検出手段と、所定の処理ステ
ージに設けられ、トークンを該ステージに特有な制御ト
ークンとして認識し、パイプラインに沿って不認識の制
御トークンを通過させるトークンデコード手段と、識別
されたデータトークンを扱うために、認識された制御ト
ークンに応答し特定のステージを再構成する再構成デコ
ード・パーザー処理手段とを具備することを特徴とす
る。
According to the invention, a plurality of encoded bits as a serial bit stream of digital bits are carried in a single bit stream, each of which has an encoded pair of control code and corresponding data. Start code detection in a pipeline system for handling streams, in which a plurality of processing stages are interconnected by a two-wire interface, in response to a single serial bit stream, generating control tokens and data tokens, and providing the two-wire interface Means and token decoding means provided in a predetermined processing stage for recognizing the token as a control token specific to the stage and passing an unrecognized control token along the pipeline; and for handling the identified data token. Response to the recognized control token. Characterized by comprising a reconstruction decoding parser processing means for reconstructing the stages.

【0028】また、本発明によれば、第1、第2のレジ
スタを具備し、第1のレジスタはデコード・パーザー手
段の入力に接続され、第2のレジスタはデコード・パー
ザー手段の出力に接続され、処理ステージのいずれかは
空間デコーダ手段であり、処理ステージの他は制御トー
クンとデータトークンをを発生し2線インターフェース
を通過させるトークン発生手段であり、トークンのいず
れかを空間デコーダに特有な制御トークンとして認識
し、制御トークンに続くデータトークンを空間的にデコ
ードするために空間デコーダを第1の復号化フォーマッ
トに構成するトークンデコード手段が空間デコーダ手段
に設けられている。
According to the present invention, it further comprises first and second registers, the first register being connected to the input of the decode parser means and the second register being connected to the output of the decode parser means. One of the processing stages is a space decoder means, and the other of the processing stages is a token generation means for generating a control token and a data token and passing through the two-wire interface. The spatial decoder means is provided with token decoding means for recognizing as a control token and for spatially decoding the data token following the control token, which configures the spatial decoder in the first decoding format.

【0029】さらなる処理ステージはパイプラインの空
間デコーダの下流に配置される時間デコーダ手段であ
り、時間デコーダ内に位置する第2のトークンデコーダ
手段は所定のトークンを時間デコーダに特有の制御トー
クンとして認識し、制御トークンに続くデータトークン
を時間的に復号化し時間デコーダを第1の復号フォーマ
ットに構成することを特徴とする。時間デコーダは予測
トークンによって再構成可能な再構成予測フィルタを利
用することができる。
A further processing stage is a temporal decoder means arranged downstream of the spatial decoder of the pipeline, a second token decoder means located in the temporal decoder recognizing the given token as a control token specific to the temporal decoder. Then, the data token following the control token is temporally decoded and the time decoder is configured in the first decoding format. The temporal decoder can utilize a reconstructed prediction filter that can be reconstructed by prediction tokens.

【0030】8×8画素ブロックのデータが時間デコー
ダの中を2線インターフェースに沿って移動し、ブロッ
クの境界に沿ったブロックを格納し検索するアドレス手
段が設けられている。アドレス手段はブロック境界を横
切るデータブロックを格納、検索することも可能であ
る。アドレス手段はデータブロックを表示のための画素
データとして再配列してもよい。格納、検索されるデー
タブロックは8×8画素ブロック以外のサイズでもよ
い。時間デコーダの出力を表示する手段、あるいは出力
を画素メモリに再書込みする手段を設けてもよい。復号
化フォーマットは静止画フォーマット、動画フォーマッ
トのいずれでもよい。
Addressing means are provided for moving data in an 8 × 8 pixel block through a temporal decoder along a two-wire interface to store and retrieve blocks along block boundaries. The addressing means can also store and retrieve data blocks that cross block boundaries. The addressing means may rearrange the data blocks as pixel data for display. The data blocks to be stored and retrieved may have sizes other than the 8 × 8 pixel block. Means may be provided for displaying the output of the temporal decoder or for rewriting the output to the pixel memory. The decoding format may be either a still image format or a moving image format.

【0031】以下の本発明の実施例の記載中、下記の用
語が頻繁に使用されるので、以下にその用語の一般的説
明をする。
In the following description of the embodiments of the present invention, the following terms are frequently used, and a general description of the terms is given below.

【0032】用語説明 ブロック:8行8列の画素のマトリックス、又は64D
CT係数(ソース、量子化又は逆量子化)。
Explanation of terms Block: matrix of 8 rows by 8 columns of pixels, or 64D
CT coefficient (source, quantized or dequantized).

【0033】クロミナンス(成分):ビットストリーム
で規定されるような三原色に係わる2個の色差信号の1
個を表わす1つのマトリックス、ブロック、又は1個の
画素。色差信号に使用される符号はCrとCbである。
Chrominance (component): 1 of two color difference signals relating to the three primary colors as specified in the bit stream
One matrix, block, or one pixel representing an individual. The codes used for the color difference signals are Cr and Cb.

【0034】符号化表記:符号化形式で表わされたデー
タエレメント。
Coded Notation: A data element represented in coded form.

【0035】符号化ビデオビットストリーム:本明細書
で規定しているところの、一連の1個以上の画像の符号
化表記。
Coded Video Bitstream: A coded representation of a sequence of one or more images, as defined herein.

【0036】符号化順番:画像が送信され符号化される
順番。この順番は必ずしも表示順番と同一である必要は
無い。
Coding order: The order in which images are transmitted and coded. This order does not necessarily have to be the same as the display order.

【0037】成分:1つのマトリックス、ブロック、又
は画像を構成する3つのマトリックス(輝度と2個のク
ロミナンス)の内の1つからの1個の画素。
Component: One matrix, block, or one pixel from one of the three matrices (luminance and two chrominances) that make up an image.

【0038】圧縮:1項目のデータを表わすのに使用さ
れるビット数を減少すること。
Compression: Reducing the number of bits used to represent an item of data.

【0039】デコーダ:復号化処理の実施例。Decoder: An embodiment of the decoding process.

【0040】復号化(処理):本明細書での定義では、
入力された符号化ビットストリームを読みだし復号化さ
れた画像又は音声サンプルを発生する処理。
Decoding (Processing): As defined herein,
The process of reading the input coded bitstream and generating decoded image or audio samples.

【0041】表示順番:復号化画像が表示される順番。
一般的には、これは画像がエンコーダに入力された順番
と同じである。
Display order: The order in which the decoded images are displayed.
Generally, this is the same order in which the images were input to the encoder.

【0042】符号化(処理):本明細書では特定されて
いないが、入力画像列又は音声サンプルを読みだし、本
明細書で定義されている有効な符号化ビットストリーム
を発生する処理。
Encoding (Process): A process, not specified herein, that reads an input image sequence or audio sample and produces a valid encoded bitstream as defined herein.

【0043】イントラ(intra)符号化:マクロブロック
又は画像からの情報だけを使用するマクロブロック又は
画像の符号化。
Intra coding: The coding of a macroblock or image that uses only information from the macroblock or image.

【0044】輝度(成分):信号の白黒を表わす1つの
マトリックス、ブロック、又は1個の画素で、ビットス
トリームで規定されるような三原色に係わるもの。輝度
信号に使用される符号はYである。
Luminance (component): One matrix, block, or one pixel representing the black and white of a signal, related to the three primary colors as defined in the bitstream. The code used for the luminance signal is Y.

【0045】マクロブロック:4つの、8×8ブロック
の輝度データと、画像の輝度成分の16×16部分から
の2つ(4:2:0クロマフォーマット用)、4つ
(4:2:2クロマフォーマット用)又は8つ(4:
4:4クロマフォーマット用)の対応する8×8ブロッ
クのクロミナンスデータ。マクロブロックは画素データ
を言う場合もあり、画素値と、本明細書のこの部分に定
義されているシンタックスのマクロブロックヘッダに規
定されているその他のデータエレメントの符号化された
ものを言う場合もある。通常の知識を有する当業者にと
って、その使用は文脈からも明らかである。
Macroblocks: Four 8 × 8 blocks of luminance data and two from the 16 × 16 portion of the luminance component of the image (for 4: 2: 0 chroma format), four (4: 2: 2) Chroma format) or 8 (4:
Corresponding 8x8 blocks of chrominance data (for 4: 4 chroma format). Macroblocks may also refer to pixel data, and may refer to encoded values of pixel values and other data elements defined in a macroblock header with the syntax defined in this part of the specification. There is also. The use will be clear from the context to those of ordinary skill in the art.

【0046】動画圧縮:動画ベクトルを使って画素値の
予測効率を向上させること。この予測は動画ベクトルを
使用し、予測エラー信号の作成に使用される、以前に復
号化された画素値を含む過去の及び/又は未来の基準画
像にオフセットを提供する。 動画ベクトル:現在の画像の座標位置から基準画像の座
標へのオフセットを提供する動画補償に使用される2次
元ベクトル。
Video compression: Improving pixel value prediction efficiency using video vectors. This prediction uses the motion vector to provide an offset to past and / or future reference images that contain previously decoded pixel values used to create the prediction error signal. Video Vector: A two-dimensional vector used for video compensation that provides an offset from the coordinate position of the current image to the coordinates of the reference image.

【0047】非イントラ(non-intra)符号化:マクロブ
ロック又は画像それ自体からの情報と別の時刻に発生し
たマクロブロックと画像からの情報も使用するマクロブ
ロック又は画像の符号化。
Non-intra coding: Coding of a macroblock or image that also uses information from the macroblock or the image itself and macroblocks that occurred at different times and information from the image.

【0048】画素:画像単位 ピクチャ:ソース、符号化又は再構成された画像デー
タ。ソース又は再構成された画像はそれぞれ輝度と2個
のクロミナンス信号を表わす8ビットの数値を有する3
個の四角マトリックスから成る。先進のビデオでは、画
像はフレームと同じであり、インターレースされたビデ
オでは、文脈により画像はフレーム、又はそのフレーム
の先頭のフィールド又は最後のフィールドを指す。
Pixel: Image unit Picture: Source, coded or reconstructed image data The source or reconstructed image each has a luminance and an 8-bit number representing two chrominance signals.
It consists of a square matrix. In advanced video, the image is the same as the frame, and in interlaced video, the image refers to the frame, or the first or last field of the frame, depending on the context.

【0049】予測:予測器を使用して現在復号化されて
いる画素値又はデータエレメントを予測すること。
Prediction: Predicting the currently decoded pixel value or data element using a predictor.

【0050】再構成可能処理ステージ(RPS):認識
されたトークンに応答して、自己を再構成し各種作業を
するステージ。
Reconfigurable Processing Stage (RPS): A stage that reconfigures itself and performs various tasks in response to a recognized token.

【0051】スライス:一連のマクロブロック。Slice: A series of macroblocks.

【0052】トークン:制御及び/又はデータ機能のた
めの相互作用インターフェースメッセンジャのパッケー
ジの形式のユニバーサル適応ユニット。
Token: A universal adaptation unit in the form of a package of interactive interface messenger for control and / or data functions.

【0053】開始コード(システム及びビデオ):ユニ
ークな符号化ビットストリームに挿入された32ビット
の符号。これらの符号は、符号化シンタックス内の構造
の幾つかを識別することを含めた幾つかの目的に使用さ
れる。
Start Code (System and Video): A 32-bit code inserted in the unique coded bitstream. These codes are used for several purposes, including identifying some of the structures within the encoding syntax.

【0054】可変長符号化(VLC):より短いコード
語を頻繁なイベントに割り当てる、あるいはより長いコ
ード語を頻繁ではないイベントに割り当てる符号化のた
めの逆処理。
Variable Length Coding (VLC): An inverse process for encoding that assigns shorter codewords to frequent events or longer codewords to infrequent events.

【0055】ビデオシーケンス:一連の1つ以上の画
像。
Video Sequence: A sequence of one or more images.

【0056】[0056]

【作用】本発明によれば、複数の処理ステージと、処理
ステージの中で制御、データ機能を実行する相互作用イ
ンターフェース制御トークンの形態のユニバーサル適応
ユニットを具備し、処理ステージが構成、処理において
向上した柔軟性を与えられているパイプラインシステム
が提供される。
According to the invention, the processing stage comprises a plurality of processing stages and a universal adaptation unit in the form of an interaction interface control token for performing control and data functions in the processing stages, the processing stages being improved in configuration and processing. A pipeline system is provided that has been given flexibility.

【0057】[0057]

【実施例】以下、図面を参照して本発明によるパイプラ
インシステムの実施例を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of a pipeline system according to the present invention will be described below with reference to the drawings.

【0058】本発明の好ましい実施例に用いられるパイ
プラインシステムに使われる最も一般的な機能に関する
概説として、図1は、6ステージパイプラインの6サイ
クルの大幅に簡素化された説明図である。(以下に更に
詳細に説明するように、パイプラインの好ましい実施例
には、図1には示されない幾つかの有利な機能が含れ
る。) 図面を参照することとし、図面に含まれる種々の図を通
じて、同じ参照番号は同じか又は対応するエレメントを
示し、そして、更に詳細には、図1は、本発明を実施し
た場合の6サイクルのブロックダイアグラムである。ボ
ックスの各列は1つのサイクルを示し、そして、異なる
ステージの各々はそれぞれAからFまでに分類される。
斜線を引いた各ボックスは、対応するステージが有効な
データ、即ち、パイプラインステージの1つにおいて処
理されるべきデータを保持することを示す。処理(デー
タの操作なしの単純な転送以外の何も含まれないことも
あり得る)の後で、有効なデータは、有効出力データと
してパイプラインから転送される。
As an overview of the most common functions used in the pipeline system used in the preferred embodiment of the present invention, FIG. 1 is a greatly simplified illustration of 6 cycles of a 6 stage pipeline. (As described in more detail below, the preferred embodiment of the pipeline includes some advantageous features not shown in FIG. 1.) Reference will now be made to the drawings, in which the various included in the drawings Throughout the figures, the same reference numerals indicate the same or corresponding elements, and more particularly, FIG. 1 is a six-cycle block diagram for practicing the present invention. Each row of boxes represents one cycle, and each of the different stages is labeled A to F, respectively.
Each hatched box indicates that the corresponding stage holds valid data, i.e. data to be processed in one of the pipeline stages. After processing (which may include nothing more than a simple transfer without manipulation of the data), the valid data is transferred from the pipeline as valid output data.

【0059】実際のパイプラインアプリケーションに
は、6つよりも多いか又は少ないパイプラインステージ
が含まれることがあることに注意されたい。当然気が付
くように、本発明は、任意の個数のパイプラインステー
ジの場合に使用可能である。更に、データは、1つより
も多いステージにおいて処理しても差し支えなく、そし
て、ステージが異なれば処理時間も異なることがあり得
る。
Note that a real pipeline application may include more or less than six pipeline stages. Of course, it should be noted that the present invention can be used with any number of pipeline stages. Further, the data can be processed in more than one stage, and different stages can have different processing times.

【0060】クロック及びデータ信号(以下に説明す
る)に加えて、パイプラインのは、2つの転送制御信
号、即ち、「VALID」(有効)信号及び「ACCE
PT」(許容)信号が含まれる。これらの信号は、パイ
プライン内のデータ転送を制御するために使われる。隣
接するステージを接続する2本のラインのうちの上側の
ラインとして図示されるVALID信号は、各パイプラ
インステージから最寄りの隣接デバイスまで順方向すな
わち下流方向に供給される。このデバイスは、他のパイ
プラインステージ、または或る別のシステムであっても
差し支えない。例えば、最後のパイプラインステージ
は、そのデータを次の処理回路構成に供給しても差し支
えない。隣接するステージを接続する2本のラインのう
ちの下側のラインとして図示されるACCEPT信号
は、もう一方の上流方向に向かって前のデバイスまで供
給する。
In addition to the clock and data signals (discussed below), the pipeline has two transfer control signals, the "VALID" (valid) signal and the "ACCE" signal.
PT "(tolerance) signal is included. These signals are used to control data transfers within the pipeline. The VALID signal, shown as the upper line of the two lines connecting adjacent stages, is fed forward or downstream from each pipeline stage to the nearest adjacent device. The device can be another pipeline stage, or some other system. For example, the last pipeline stage may feed its data to the next processing circuitry. The ACCEPT signal, shown as the lower line of the two lines connecting adjacent stages, feeds the other upstream device to the previous device.

【0061】本発明の実現に使用されるタイプのデータ
パイプラインシステムは、好ましい実施例に示すよう
に、次に示す特性の1つかそれ以上の特性を持つ。
A data pipeline system of the type used to implement the present invention has one or more of the following characteristics, as shown in the preferred embodiment.

【0062】1.パイプラインは「弾力性がある」、即
ち、特定のパイプラインステージに起きた遅延に起因し
て他のパイプラインステージに引き起こされる外乱は可
能な限り小さな外乱である。連続したパイプラインステ
ージは処理を継続することが可能であり、従って、遅延
したステージに後続するデータの流れには間隙を生じる
ことを意味する。同様に、先行するパイプラインステー
ジも、出来る限り継続可能である。この場合、データス
トリーム中の間隙は、出来る限り、データの流れから除
去される。
1. A pipeline is "elastic", that is, disturbances caused to other pipeline stages due to delays experienced in a particular pipeline stage are as small as possible. Successive pipeline stages are allowed to continue processing, thus implying a gap in the data flow following the delayed stages. Similarly, the preceding pipeline stage can continue as long as possible. In this case, gaps in the data stream are removed from the data stream as much as possible.

【0063】2.パイプラインを調停する制御信号は、
これらの信号は最寄りの隣接パイプラインステージに限
り伝播するように組織される。データの流れと同じ方向
に流れる信号の場合には、前記のステージは直ぐ後に続
くステージである。データの流れと逆方向へ流れる信号
の場合には、前記のステージは直ぐ前のステージであ
る。
2. The control signal that arbitrates the pipeline is
These signals are organized to propagate only to the nearest adjacent pipeline stage. In the case of signals flowing in the same direction as the data stream, the stage just described is the stage immediately following it. In the case of a signal flowing in the opposite direction of the data flow, said stage is the immediately preceding stage.

【0064】3.パイプライン内のデータは、多数の異
なるタイプのデータが、当該パイプライン内で処理され
るようにコード化される。この符号化は、可変サイズの
データパケットを収容し、そして、パケットのサイズ
は、前もって既知である必要はない。
3. The data in a pipeline is coded so that many different types of data are processed in the pipeline. This encoding accommodates variable sized data packets, and the size of the packets need not be known in advance.

【0065】4.データのタイプ記述と関連するオーバ
ーヘッドはできる限り小さい。
4. The overhead associated with typing the data is as small as possible.

【0066】5.パイプラインステージに要求される機
能にとって必要な最小個数のデータタイプのみを認識す
ることが各パイプラインステージにとって可能である。
ただし、パイプラインステージは、前記のデータタイプ
を認識しない場合であっても、これら全てのデータタイ
プを連続したステージに供給することが可能でなくては
ならない。これが可能であれば、隣接しないパイプライ
ンステージ間の通信を可能にする。
5. It is possible for each pipeline stage to recognize only the minimum number of data types required for the functionality required for the pipeline stage.
However, the pipeline stage must be able to supply all these data types to successive stages even if it does not recognize the above data types. If this is possible, it allows communication between non-adjacent pipeline stages.

【0067】図1には図示されていないが、データライ
ンが有り、複数本の単線または数本の平行線のいずれで
あっても、各パイプラインステージに対して導入または
導出するデータバスを形成する。以下に極めて詳細に説
明および図解するように、データは、パイプラインのス
テージに対して、データラインを介して、転入、転出、
及びステージ間で転送される。
Although not shown in FIG. 1, there is a data line and whether it is a plurality of single lines or several parallel lines forms a data bus to be introduced or derived to each pipeline stage. To do. As described and illustrated in greater detail below, data can be transferred into, out, and out of the pipeline stages via data lines.
And transferred between stages.

【0068】第1のパイプラインステージは、任意の形
の先行デバイスからのデータ及び制御信号を受信可能で
あることに注意されたい。この場合の先行デバイスと
は、例えば、デジタルイメージ送信システムの受信回
路、他のパイプライン等を意味する。他方において、第
1のパイプラインステージは、当該パイプラインにおい
て処理されるデータの全部または一部を生成可能であ
る。実際問題として、以下に詳しく説明するように、
「ステージ」は、何もしないシステム(単にデータを供
給するだけ)又は全システム(例えば、他のパイプライ
ン、または多重システム或は多重パイプライン)を含む
任意の処理回路を含んでも差し支えなく、そして、「ス
テージ」は、必要に応じて、データを生成、変更、及び
削除可能である。パイプラインステージが当該パイプラ
インを通って下方に転送される有効なデータを含む場
合、データ妥当性を示すVALID信号は、直ぐ後続す
る次のパイプラインステージより更に遠くに転送される
要がない。従って、2線インターフェースは、当該シス
テムの対を構成する全てパイプラインステージの間に含
まれる。即ち、いわゆる他のデバイスが含まれ、そし
て、データが、この種デバイスとパイプラインとの間で
転送される場合には、先行デバイスと第1ステージとの
間、及び後続デバイスと最後のステージとの間の2線イ
ンターフェースが含まれる。 信号の各々、即ち、AC
CEPT、及びVALIDは、HIGH、及びLOWの
値を持つ。これらの値は、各々、「H」、及び「L」と
略記される。本発明を実現する場合、パイプラインの最
も一般的なアプリケーションは、通常、デジタルであ
る。この種のデジタルとして実現した場合、例えば、H
IGH値は論理的「1」であり、そして、LOW値は論
理的「0」であっても差し支えない。ただし、システム
は、デジタルとして実現するよう制限される訳ではな
く、アナログとして実現した場合、HIGH値は、或る
電圧、または他の類似の設定スレショルド以上の量であ
っても差し支えなく、LOW値は、同一又は他のスレシ
ョルド以下(或いは以上)の対応する信号によって示さ
れても差し支えない。デジタルアプリケーションの場合
には、本発明は、例えば、CMOS、バイポーラ等のよ
うなあらゆる既知の技術を用いて実現することが可能で
ある。
Note that the first pipeline stage can receive data and control signals from any form of preceding device. The preceding device in this case means, for example, a receiving circuit of the digital image transmitting system, another pipeline, or the like. On the other hand, the first pipeline stage can generate all or part of the data processed in the pipeline. As a practical matter, as detailed below,
A "stage" may include any processing circuit including a do-nothing system (simply provide data) or an entire system (eg, other pipelines, or multiple systems or multiple pipelines), and , "Stage" can create, modify, and delete data as needed. If a pipeline stage contains valid data to be transferred down the pipeline, the VALID signal indicating data validity need not be transferred further than the next immediately following pipeline stage. Therefore, a two wire interface is included between all pipeline stages that make up the pair of systems. That is, so-called other devices are included, and if data is transferred between this type of device and the pipeline, between the preceding device and the first stage and between the succeeding device and the last stage. A two-wire interface between is included. Each of the signals, ie AC
CEPT and VALID have values of HIGH and LOW. These values are abbreviated as "H" and "L", respectively. In implementing the present invention, the most common application of pipelines is typically digital. When realized as this type of digital, for example, H
The IGH value may be a logical "1" and the LOW value may be a logical "0". However, the system is not limited to being implemented as digital, but when implemented as analog, the HIGH value can be an amount above a certain voltage, or some other similar set threshold, and can be a LOW value. May be indicated by corresponding signals below or above (or above) the same or other thresholds. For digital applications, the present invention can be implemented using any known technology, such as CMOS, bipolar, etc.

【0069】VALID信号の記憶装置を提供するため
に個別の記憶そうち及びワイヤを使用する必要はない。
デジタル実施例においてこれは真である。データの「妥
当性」の指示がデータと共に記憶されることだけが必要
とされる全てである。単に一例として挙げると、デジタ
ル値によって表されるデジタルテレビ画像においては、
国際規格CCIR601に規定されているように、ある
特定の値は許容されていない。このシステムにおいて
は、画像のサンプルを表すために8ビット2進数が使用
され、そして、ゼロ及び255の値は使用してはならな
い。
It is not necessary to use a separate storage arm and wire to provide storage for the VALID signal.
In the digital embodiment this is true. All that is required is that the "validity" indication of the data be stored with the data. Merely by way of example, in a digital television image represented by a digital value,
Certain values are not allowed, as defined in International Standard CCIR 601. In this system, 8-bit binary numbers are used to represent the samples of the image, and zero and 255 values should not be used.

【0070】この種の画像が、本発明の具体化に組み込
まれたパイプラインにおいて処理される必要がある場合
には、これらの値の1つ(例えば、ゼロ)は、パイプラ
イン内の特定のステージにおけるデータが有効でないこ
とを示すために使われることになる。従って、あらゆる
ゼロでないデータは有効であるとみなされるべきであ
る。この例においては、識別可能であって、しかも、関
連しているデータの「有効性」を記憶しつつあると言う
ことのできる特定のラッチは無い。それにも拘わらず、
データの妥当性は、データと共に記憶される。
If an image of this kind needs to be processed in a pipeline incorporated in an embodiment of the present invention, one of these values (for example zero) is a particular value in the pipeline. It will be used to indicate that the data on the stage is not valid. Therefore, any non-zero data should be considered valid. In this example, there is no particular latch that is identifiable and can be said to be storing the "validity" of the associated data. Nevertheless,
The validity of the data is stored with the data.

【0071】図1に示すように、各ステージへのVAL
ID信号の状態は、上側の右向き矢印上において
「H」、または「L」として示される。従って、ステー
ジAからステージBへのVALID信号はLOWであ
り、そして、ステージDからステージEへのVALID
信号はHIGHである。各ステージへのACCEPT信
号の状態は、下側の左向き矢印上に「H」、または
「L」として示される。従って、ステージEからステー
ジDへのACCEPT信号はHIGHであり、一方、ス
テージFへのパイプラインの下流に接続されたデバイス
からのACCEPT信号はLOWである。
As shown in FIG. 1, VAL to each stage
The state of the ID signal is indicated as "H" or "L" on the upper right arrow. Therefore, the VALID signal from stage A to stage B is LOW, and VALID from stage D to stage E
The signal is HIGH. The state of the ACCEPT signal to each stage is indicated as "H" or "L" on the lower left arrow. Therefore, the ACCEPT signal from stage E to stage D is HIGH, while the ACCEPT signal from the device connected downstream of the pipeline to stage F is LOW.

【0072】上流の隣接ステージから下流のステージへ
向かうACCEPT信号がHIGHである場合にはいつ
でも、データは、1サイクル期間中に1つのステージか
らもう一方のステージまで転送される(以下に説明す
る)。2つのステージ間におけるACCEPT信号がL
OWである場合には、データは、これらのステージの間
で転送されない。
Data is transferred from one stage to the other during one cycle whenever the ACCEPT signal going from the upstream adjacent stage to the downstream stage is HIGH (discussed below). . ACCEPT signal between two stages is L
If OW, no data is transferred between these stages.

【0073】再び図1を参照して、1つのボックスに陰
がつけられている場合には、対応するパイプラインステ
ージは、例えば、有効な出力データを含むものと仮定さ
れる。同様に、当該ステージから次のステージまで供給
されるVALID信号はHIGHである。ステージB、
D、及びEが有効なデータを含む場合におけるパイプラ
インを図1に示す。ステージA、C、及びFは、有効な
データを含まない。開始点においては、パイプラインス
テージAへのVALID信号はHIGHであり、パイプ
ラインへの伝送回線上のデータが有効であることを意味
する。
Referring again to FIG. 1, if one box is shaded, the corresponding pipeline stage is assumed to contain valid output data, for example. Similarly, the VALID signal supplied from that stage to the next stage is HIGH. Stage B,
The pipeline when D and E contain valid data is shown in FIG. Stages A, C, and F contain no valid data. At the starting point, the VALID signal to pipeline stage A is HIGH, which means that the data on the transmission line to the pipeline is valid.

【0074】同様に、この時点において、パイプライン
ステージFへのACCEPT信号はLOWであり、従っ
て、有効であると有効でないとに拘わらず、ステージF
からデータは転送されない。有効および無効データがパ
イプラインステージ間において転送されることに注意さ
れたい。価値のないデータを保管する無効データは重ね
書きされ、それにより、無効データをパイプラインから
除去する。ただし、有効データは処理用または例えば、
パイプラインステージ、当該パイプラインからのデータ
を受け取るパイプラインに接続されたデバイスまたはシ
ステムのような下流のデバイスにおいて使用するために
保管されなければならないので、有効データは重ね書き
されてはならない。
Similarly, at this point, the ACCEPT signal to pipeline stage F is LOW, and thus, whether stage F is valid or not valid.
Does not transfer data. Note that valid and invalid data are transferred between pipeline stages. Invalid data that stores valueless data is overwritten, thereby removing invalid data from the pipeline. However, valid data is for processing or, for example,
Valid data must not be overwritten as it must be stored for use in downstream devices such as pipeline stages, devices connected to the pipeline that receive data from the pipeline, or systems.

【0075】図1に示すパイプラインにおいて、ステー
ジEは有効なデータD1を含み、ステージDは有効なデ
ータD2を含み、ステージBは有効なデータD3を含
み、そして、上流パイプラインと接続されたデバイス
(図示せず)は、当該パイプラインに転送され、そし
て、処理されるべきデータD4を含む。上流デバイスに
加えて、ステージB、D、及びEは有効なデータを含
み、従って、これらのステージまたはデバイスからそれ
ぞれ後続するデバイスへのVALID信号はHIGHで
ある。ただし、ステージA、C、及びFからのVALI
D信号は、これらのステージが有効なデータを含まない
ので、LOWである。
In the pipeline shown in FIG. 1, stage E contains valid data D1, stage D contains valid data D2, stage B contains valid data D3, and is connected to the upstream pipeline. The device (not shown) contains the data D4 to be transferred and processed in the pipeline. In addition to the upstream device, stages B, D, and E contain valid data, so the VALID signal from each of these stages or devices to the following device is HIGH. However, VALI from stages A, C, and F
The D signal is LOW because these stages do not contain valid data.

【0076】パイプラインから下流に接続されたデバイ
スが、パイプラインからデータを受取入れる準備が整っ
ていないものと仮定する。デバイスは、対応するACC
EPT信号をLOWにセットすることにより、この状態
をステージFに送信する。ただし、ステージF自体は有
効なデータを含まず、従って、先行ステージEからデー
タを受け入れることができる。従って、ステージFから
ステージEへのACCEPT信号はHIGHにセットさ
れる。
Suppose a device connected downstream from the pipeline is not ready to accept data from the pipeline. Device is compatible with ACC
This state is transmitted to stage F by setting the EPT signal LOW. However, stage F itself does not contain valid data and therefore can accept data from the preceding stage E. Therefore, the ACCEPT signal from stage F to stage E is set HIGH.

【0077】同様に、ステージEは有効なデータを含
み、そして、ステージFは、このデータを受け入れる準
備が整っている。従って、有効なデータD1が最初にス
テージFへ転送される限りステージEは新しいデータを
受け入れることができる。換言すれば、ステージFはデ
ータを下流に転送することができないが、他の全てのス
テージは、あらゆる有効なデータを重ね書き又は失うこ
となしに下流に転送できる。従って、サイクル1の終点
において、データは右へ1のステップだけ「シフトされ
る」ことが可能である。この状態をサイクル2に示す。
Similarly, stage E contains valid data, and stage F is ready to accept this data. Thus, stage E can accept new data as long as valid data D1 is first transferred to stage F. In other words, stage F cannot transfer data downstream, but all other stages can transfer data downstream without overwriting or losing any valid data. Thus, at the end of cycle 1, the data can be "shifted" one step to the right. This state is shown in cycle 2.

【0078】図に示す例において、下流のデバイスは、
サイクル2に新しいデータを受け入れる準備がまだ整っ
ていないので、ステージFへのACCEPT信号はまだ
LOWである。従って、ステージFは新しいデータを受
け入れることが出来ない。理由は、そうすると、有効な
データD1が重ね書きされ、そして、失われるからであ
る。従って、ステージEは同様に有効なデータD2を含
むので、ステージEからステージDへのACCEPT信
号の場合と同様に、ステージFからステージEへのAC
CEPT信号はLOWになる。ただし、AからDまでの
全てのステージは新しいデータを受け入れることが可能
であり(これらのステージが有効なデータを含まない
か、或いは、これらのデータは、それらの有効なデータ
を下流にシフトし、そして、新しいデータを受け入れる
ことができるので)、そして、これらのステージは、そ
れぞれ対応するACCEPT信号をHIGHにセットす
ることによってこの条件を直前を先行する隣接ステージ
に送信する。
In the example shown in the figure, the downstream device is
The ACCEPT signal to stage F is still LOW because it is not ready to accept new data in cycle 2. Therefore, stage F cannot accept new data. The reason is that then the valid data D1 is overwritten and lost. Therefore, since stage E also contains valid data D2, the AC from stage F to stage E is the same as for the ACCEPT signal from stage E to stage D.
The CEPT signal goes LOW. However, it is possible that all stages A to D will accept new data (either if these stages do not contain valid data or if these data shifts those valid data downstream. , And new data can be accepted), and each of these stages sends this condition to its immediately preceding neighboring stage by setting the corresponding ACCEPT signal to HIGH.

【0079】サイクル3と行分類された期間中における
サイクル2の後のパイプラインの状態を図1に示す。一
例として、下流のデバイスがステージFから新しいデー
タを受け入れる準備がまだ整っていないものと仮定する
(ステージFへのACCPT信号はLOWである)。従
って、ステージE及びF、まだ「ブロック」されている
が、サイクル3においては、ステージDは有効なデータ
D3受領済みであり、このステージに以前から在った無
効のデータの重ね書きが完了している。サイクル3にお
いてステージDはデータD3を供給することができない
ので、このステージは新しいデータを受け入れることが
できず、従って、ステージCへのACCEPT信号をL
OWにセットする。ただし、ステージA−Cは新しいデ
ータを受け入れる準備が整っており、そして、対応する
ACCEPT信号をHIGHにセットすることによって
これを送信する。データD4はステージAからステージ
Bにシフトされてしまっていることに注意されたい。
FIG. 1 shows the state of the pipeline after cycle 2 during the period classified as row with cycle 3. As an example, assume that the downstream device is not yet ready to accept new data from stage F (the ACCPT signal to stage F is LOW). Thus, stages E and F, which are still "blocked", but in cycle 3, stage D has received valid data D3 and has completed the overwriting of the invalid data previously present in this stage. ing. In cycle 3, since stage D cannot supply the data D3, this stage cannot accept new data, and therefore the ACCEPT signal to stage C is changed to L.
Set to OW. However, stages AC are ready to accept new data, and send it by setting the corresponding ACCEPT signal HIGH. Note that data D4 has been shifted from stage A to stage B.

【0080】ここで、下流のデバイスがサイクル4にお
いて新しいデータを受け入れる準備が整った状態になる
と仮定することとする。この下流デバイスは、ステージ
へのFACCEPT信号をHIGHにセットすることに
よって、このことを、パイプラインに送信する。ステー
ジC−Fは有効なデータを含むが、これらのステージ
は、この状態で、データを下流にシフトすることが可能
であり、従って、新しいデータを受け入れることが可能
である。従って、各ステージはデータを1ステップだけ
下流にステップすることができるので、これらのステー
ジは、それぞれ対応するACCEPT信号をHIGHの
外にセットする。
Let us now assume that the downstream device is ready to accept new data in cycle 4. This downstream device sends this to the pipeline by setting the FACCEPT signal to the stage HIGH. Although stages C-F contain valid data, these stages can shift data downstream in this state, and thus can accept new data. Therefore, since each stage can step the data one step downstream, these stages set their respective ACCEPT signals out of HIGH.

【0081】最終のパイプラインステージ(この例では
ステージF)へのACCEPT信号がHIGHである限
り、図1に示すパイプラインは、硬直パイプラインとし
て作動し、そして、各サイクルごとにデータを1ステッ
プだけシフトするだけである。従って、サイクル4にお
いてステージFに含まれるデータD1は、サイクル5に
おいて、パイプラインから次のデバイスにシフトされ、
そして、他の全てのデータは1ステップだけ下流にシフ
トされる。
As long as the ACCEPT signal to the final pipeline stage (stage F in this example) is HIGH, the pipeline shown in FIG. 1 operates as a rigid pipeline, and data is stepped one step each cycle. It only shifts. Therefore, in cycle 4, the data D1 contained in stage F is shifted from the pipeline to the next device in cycle 5,
Then all other data is shifted downstream by one step.

【0082】ここで、ステージFへのACCEPT信号
がサイクル5においてLOWになると仮定する。これ
は、再度説明すれば、ステージD−Fが新しいデータを
受け入れることができず、そして、これらのステージか
ら直前の先行隣接ステージへのACCEPT信号はLO
Wになる。従って、データD2、D3、及びD4は、下
流にシフト出来ないが、データD5は可能である。従っ
て、サイクル5の後のパイプラインの対応する状態はサ
イクル6として図1に示される。
Now assume that the ACCEPT signal to stage F goes LOW in cycle 5. This is again explained by the fact that stages DF cannot accept new data and the ACCEPT signal from these stages to the immediately preceding preceding stage is LO.
W. Therefore, data D2, D3, and D4 cannot be shifted downstream, but data D5 is possible. Therefore, the corresponding state of the pipeline after cycle 5 is shown in FIG. 1 as cycle 6.

【0083】本発明の好ましい実施例に従えば、空の処
理ステージを「フィルアップ(充満)」するパイプライ
ンの能力は高度に有利である。理由は、この能力によっ
て、パイプラインの処理ステージが相互に結合から解放
されるからである。換言すれば、パイプラインステージ
のデータを受け入れる準備が整っていない場合であって
も、パイプライン全体は、停止するか、または遅延ステ
ージを待つ必要がない。そればかりでなく、1つのステ
ージが有効なデータを受け入れることができない場合
に、当該ステージは、単に、パイプライン内の時間的な
「壁」を形成するに過ぎない。この状態になっても、
「壁」の下流のステージは、パイプラインに接続された
回路に有効なデータを前進させ続けルコトサエ可能であ
り、そして、「壁」の左側のステージは、依然として、
有効なデータを受け入れ、そして、下流に向かって転送
することができる。数個のパイプラインステージが一時
的に新しいデータを受け入れることが出来ない場合、他
のステージは、正常作動を継続できる。特に、パイプラ
インは、その次のステージが新しいデータを受け入れる
準備が整っていないので前進させることの出来ない有効
なデータがステージAにまだ含まれていない限りデータ
をその最初のステージAに受け入れ続けることが可能で
ある。この例に示すように、1つ又は複数の処理ステー
ジかブロックされた状態においても、データは、パイプ
ライン、及びステージの間に転送可能である。
In accordance with the preferred embodiment of the present invention, the pipeline's ability to "fill up" empty processing stages is highly advantageous. The reason is that this capability frees the processing stages of the pipeline from coupling to each other. In other words, the entire pipeline does not have to stall or wait for a delay stage, even when it is not ready to accept data for the pipeline stage. Not only that, but if a stage cannot accept valid data, it simply forms a temporal “wall” in the pipeline. Even in this state,
The stage downstream of the "wall" is capable of continuing to advance valid data to the circuits connected to the pipeline, and the stage to the left of the "wall" is still
It can accept valid data and forward it downstream. If several pipeline stages are temporarily unable to accept new data, other stages can continue to operate normally. In particular, the pipeline will continue to accept data in its first stage A unless it still contains valid data that cannot be advanced because the next stage is not ready to accept new data. It is possible. As shown in this example, data can be transferred between pipelines and stages even when one or more processing stages are blocked.

【0084】図1に示す実施例において、種々のパイプ
ラインステージが、それらの直後に隣接するステージか
ら受け取るACCEPT信号を記憶しないものと仮定す
る。その代りに、下流ステージへのACCEPT信号が
LOWになると、このLOW信号は、有効なデータを含
まない最も近いパイプラインステージまで流れをさかの
ぼって伝播される。例えば、図1を参照して、ステージ
FへのACCEPT信号がサイクル1においてLOWに
なるものと仮定する。サイクル2において、LOW信号
は、ステージFからステージDに戻って伝播する。
In the embodiment shown in FIG. 1, assume that the various pipeline stages do not store the ACCEPT signal it receives from its immediately adjacent stage. Instead, when the ACCEPT signal to a downstream stage goes LOW, this LOW signal is propagated back up to the nearest pipeline stage that contains no valid data. For example, referring to FIG. 1, assume that the ACCEPT signal to stage F goes LOW in cycle 1. In cycle 2, the LOW signal propagates from stage F back to stage D.

【0085】サイクル3において、データD3がステー
ジDにラッチされている場合、ACCEPT信号は、流
れをさかのぼる方向に4つのステージをステージCまで
伝播する。サイクル4においてステージFへのACCE
PT信号がHIGHになる場合には、この信号は、流れ
に逆らってステージCまで伝播する。換言すれば、AC
CEPT信号の変化は、4つのステージを通って後方に
伝播しなければならない。ただし、図1に示す実施例に
おいて、新しいデータを受け入れることができる中間ス
テージがある場合には、ACCEPT信号は、パイプラ
インの始点まで全経路を後方に伝播する必要はない。
In cycle 3, if data D3 is latched to stage D, the ACCEPT signal propagates four stages back in the flow to stage C. ACCE to stage F in cycle 4
When the PT signal goes HIGH, it propagates against the flow to stage C. In other words, AC
Changes in the CEPT signal must propagate backwards through the four stages. However, in the embodiment shown in FIG. 1, the ACCEPT signal need not propagate backwards all the way to the beginning of the pipeline if there is an intermediate stage that can accept new data.

【0086】図1に示す実施例において、各パイプライ
ンステージは、意図的でない重ね書きを実施することな
しに、ステージ間でデータを転送可能にするためには、
依然として、個別の入力、及び出力データラッチを必要
とする。更に、図1に示すパイプラインは「圧縮」可能
であるが、下流パイプラインステージがブロックされる
場合、即ち、これらのステージが含むデータをこれらの
ステージが供給できない場合、パイプラインは、有効な
データを含むステージの間に有効なデータを含まないス
テージを提供するために、「膨張」しない。そうではな
くて、圧縮する能力は、第1のパイプラインステージに
有効なデータが所在しない期間に相当するサイクルに依
存する。
In the embodiment shown in FIG. 1, each pipeline stage allows data to be transferred between stages without performing unintentional overwrite.
It still requires separate input and output data latches. Further, while the pipeline shown in Figure 1 is "compressible", if the downstream pipeline stages are blocked, i.e., they cannot supply the data they contain, then the pipeline is valid. Do not "inflate" to provide a stage that does not contain valid data between stages that contain data. Instead, the ability to compress depends on the cycle corresponding to the period when there is no valid data in the first pipeline stage.

【0087】例えば、サイクル4において、ステージF
へのACCEPT信号がLOWのままであり、そして、
有効なデータによってパイプラインステージA及び3が
満たされた場合、有効なデータがステージAに所在し続
ける限り、パイプラインは、それ以上圧縮不可能であ
り、そして、有効な入力データは失われることがある。
それにも拘わらず、図1に示すパイプラインは、データ
が失われる危険を軽減する。理由は、有効なデータを含
まないパイプラインステージがある限り当該パイプライ
ンは圧縮可能であることに因る。
For example, in cycle 4, stage F
The ACCEPT signal to LOW remains LOW, and
If pipeline stages A and 3 are filled with valid data, the pipeline is no longer incompressible and valid input data is lost, as long as valid data remains in stage A. There is.
Nevertheless, the pipeline shown in FIG. 1 reduces the risk of data loss. The reason is that the pipeline is compressible as long as there are pipeline stages that do not contain valid data.

【0088】論理的方法において圧縮および膨張の両者
共に可能であり、そして、ACCEPT信号の伝播を最
も近い先行ステージまに制限する回路を有するパイプラ
インの他の実施例を図2、図3に示す。この実施例を実
現するための回路について以下に詳しく説明及び図説す
るが、図2、図3は、この実施例の作動原理を図説する
ために役立つ。
Another embodiment of a pipeline is shown in FIGS. 2 and 3, which allows both compression and expansion in a logical way, and which has a circuit which limits the propagation of the ACCEPT signal to the nearest preceding stage. . A circuit for implementing this embodiment will be described and illustrated in detail below, and FIGS. 2 and 3 serve to illustrate the operating principle of this embodiment.

【0089】比較を容易にするために、図2、図3に示
すパイプライン実施例への入力データ及びACCEPT
信号は、図1に示すパイプライン実施例の場合と同じで
ある。従って、ステージE、D、及びBは、それぞれ、
有効なデータD1、D2、及びD3を有する。ステージ
FへのACCEPT信号はLOWであり、データD4
は、開始パイプラインステージAに供給される。図2、
図3には、各近隣の一対のパイプラインステージの各隣
接する対になったステージを接続する3本の線が示され
る。バスであっても差し支えない最上位置の線はデータ
ラインである。中央の線はVALID信号がこれを通っ
て転送されラインであり、最下位の線は、これを通って
ACCEPT信号が転送されるラインである。更に、以
前の場合と同様に、ステージFへのACCEPT信号
は、サイクル4中を除き、LOWのままである。更に、
サイクル4において、付加的データD5がパイプライン
に供給される。
For ease of comparison, input data and ACCEPT to the pipeline embodiment shown in FIGS.
The signals are the same as in the pipeline embodiment shown in FIG. Therefore, stages E, D, and B are respectively
It has valid data D1, D2, and D3. The ACCEPT signal to the stage F is LOW, and the data D4
Are supplied to the start pipeline stage A. FIG.
FIG. 3 shows three lines connecting each adjacent paired stage of each neighboring pair of pipeline stages. The topmost line, which can be a bus, is a data line. The middle line is the line through which the VALID signal is transferred and the lowest line is the line through which the ACCEPT signal is transferred. Furthermore, as before, the ACCEPT signal to stage F remains LOW except during cycle 4. Furthermore,
In cycle 4, additional data D5 is supplied to the pipeline.

【0090】図2、図3において、各パイプラインステ
ージは、このパイプラインの実施例における各ステージ
が一次および第2データ記憶エレメントを含むことを図
説するために2つの半分部分に分割された1つのブロッ
クとして表される。図2、図3において、一次データ記
憶装置は、各ステージの右半分として示される。ただ
し、この記述は説明のみ目的とするものであり、このよ
うに制限されることを意図したものではないことを理解
されたい。
2 and 3, each pipeline stage is divided into two halves to illustrate that each stage in this pipeline embodiment includes a primary and a second data storage element. Represented as one block. 2 and 3, the primary data storage device is shown as the right half of each stage. However, it should be understood that this description is for purposes of illustration only and is not intended to be so limited.

【0091】図2、図3に示すように、ステージへのA
CCEPT信号がHIGHである限り、データは、任意
の所定サイクル期間中に、当該ステージの一次記憶エレ
メントから、その次のステージの二次記憶装置エレメン
トに転送される。従って、ステージFへのACCEPT
信号はLOWであるが、全ての他のステージへのACC
EPT信号はHIGHであり、その結果、データD1、
D2、及びD3はサイクル2において1つのステージだ
け前方にシフトされ、そして、データD4は、第1のス
テージAにシフトされる。
As shown in FIG. 2 and FIG.
As long as the CCEPT signal is HIGH, data is transferred from the primary storage element of that stage to the secondary storage element of the next stage during any given cycle. Therefore, ACCEPT to stage F
Signal is LOW, but ACC to all other stages
The EPT signal is HIGH, and as a result, the data D1,
D2 and D3 are shifted forward one stage in cycle 2 and data D4 is shifted to the first stage A.

【0092】この点までは、図2、図3に示すパイプラ
イン実施例は、図1に示すパイプライン実施例と同様の
方法において作動する。ただし、ステージFへのACC
EPT信号がLOWであってもステージFからステージ
EへののACCEPT信号はHIGHである。以下に説
明するように、二次記憶装置エレメントがあるために、
LOW ACCEPT信号にとって、ステージFを越え
て上流まで伝播することは必要ではない。更に、ステー
ジEへのACCEPT信号をHIGHのままに残すこと
によって、ステージF信号は、新しいデータを受け入れ
る準備が整っていることを送信する。ステージFは、サ
イクル3において、その一次記憶エレメント内のデータ
D1を下流に転送することは出来ない(ステージFへの
ACCEPT信号はLOWである)ので、従って、ステ
ージEは、データD2を、ステージFの二次記憶エレメ
ントに転送する。ステージFの一次および二次両記憶装
置エレメントは、この状態において、供給できない有効
なデータを含むので、ステージFからステージEへのA
CCEPT信号はLOWにセットされる。従って、これ
は、LOW ACCEPT信号が、サイクル2に対して
ただ1ステージだけ後方に伝播することを表し、この場
合、このACCEPT信号は、図1に示す実施例におけ
るステージCまでの全行程を後方に伝播されていなけれ
ばならない。ステージA−Eは、それらのデータを供給
できるので、当該ステージからそれらの直前隣接ステー
ジへのACCEPT信号がHIGHにセットされる。従
って、データD3及びD4は右へステージ1つだけシフ
トされる。その結果、サイクル4において、データは、
それぞれステージE及びステージCの一次データ記憶エ
レメントにロードされる。ステージEは、この段階にお
いて、その一次記憶エレメント内に有効なデータD3を
含んでいるが、その二次記憶装置エレメントは、一切の
有効なデータを重ね書きする危険なしに、他のデータを
記憶するために、依然として、使用できる。
Up to this point, the pipeline embodiment shown in FIGS. 2 and 3 operates in a manner similar to the pipeline embodiment shown in FIG. However, ACC to stage F
Even if the EPT signal is LOW, the ACCEPT signal from the stage F to the stage E is HIGH. Because of the secondary storage element, as described below,
Propagation beyond stage F upstream is not necessary for the LOW ACCEPT signal. Further, by leaving the ACCEPT signal to stage E HIGH, the stage F signal signals that it is ready to accept new data. Stage F cannot transfer data D1 in its primary storage element downstream in cycle 3 (the ACCEPT signal to stage F is LOW), so stage E transfers data D2 to stage Transfer to F's secondary storage element. Both the primary and secondary storage elements of stage F contain valid data that cannot be supplied in this state, so that A from stage F to stage E
The CCEPT signal is set LOW. This therefore means that the LOW ACCEPT signal propagates backwards by one stage with respect to cycle 2, in which case this ACCEPT signal travels backwards through all the way to stage C in the embodiment shown in FIG. Must have been propagated to. Stages A-E can supply their data, so the ACCEPT signal from that stage to their immediately preceding stage is set HIGH. Therefore, the data D3 and D4 are shifted to the right by one stage. As a result, in cycle 4, the data is
They are loaded into the primary data storage elements of stage E and stage C, respectively. Stage E now contains valid data D3 in its primary storage element, but its secondary storage element stores other data without the risk of overwriting any valid data. It can still be used to

【0093】ここにおいて、以前の場合と同様に、ステ
ージFへのACCEPT信号が、サイクル4においてH
IGHになると仮定する。このことは、パイプラインが
データを供給する下流のデバイスがパイプラインからデ
ータを受け入れる準備が整っていることを示す。ただ
し、ステージFのACCEPT信号はLOWにセットさ
れているので、ステージFが新しいデータを受け入れる
準備ができていないことをEステージに示す。各サイク
ル期間におけるACCEPT信号は、次のサイクルにお
てが何が起きるか、即ち、データが供給されるか(AC
CEPT HIGH)どうか、或いは、データが所定の
場所に残らなければならないか(ACCEPT LO
W)どうか、を示すことを考察されたい。従って、サイ
クル4からサイクル5までの間に、データD1がステー
ジFからその次のデバイスまで供給され、データD2が
ステージFの二次記憶装置から一次記憶装置までシフト
されるが、しかし、ステージEにおけるデータD3はス
テージFへ転送されない。その次のステージのACCE
PT信号はHIGHであるので、データD4及びD5は
通常通り、次のパイプラインステージに転送されること
が可能である。
Here, as in the previous case, the ACCEPT signal to stage F goes high in cycle 4.
Assume IGH. This indicates that the downstream device to which the pipeline supplies data is ready to accept data from the pipeline. However, since the ACCEPT signal of stage F is set LOW, it indicates to stage E that stage F is not ready to accept new data. The ACCEPT signal in each cycle period tells what will happen in the next cycle, that is, whether data will be supplied (AC
CEPT HIGH) or whether the data must remain in place (ACCEPT LO)
W) Please consider showing. Thus, during cycle 4 to cycle 5, data D1 is provided from stage F to the next device and data D2 is shifted from secondary storage in stage F to primary storage, but at stage E. The data D3 in is not transferred to the stage F. The next stage ACCE
Since the PT signal is HIGH, the data D4 and D5 can be transferred to the next pipeline stage as usual.

【0094】サイクル4及びサイクル5におけるパイプ
ラインの状態を比較することにより、二次記憶装置エレ
メントを装備することによって、図2、図3に示された
パイプライン実施例が膨張可能となること、即ち、デー
タ記憶エレメントを、その中に有効なデータが前進でき
るように解放することが分かる。例えば、これらのデー
タブロックのデータは、ステージFへのACCEPT信
号がHIGHになるまで転送出来ないので、サイクル4
において、データブロックD1、D2、及びD3は「固
体の壁」を形成する。ただし、この信号が一旦HIGH
になれば、データD1はパイプラインからシフトされ、
データD2はステージFの一次記憶エレメント内にシフ
トされ、そして、その次のデバイスがデータD2を受け
取ることが出来ず、そして、パイプラインがも一度「圧
縮」しなければならない場合、ステージFの二次記憶装
置エレメントは自由になって新しいデータを受け入れる
ことができる状態になる。これをサイクル6に示す。こ
のサイクルの期間中に、データD3は、ステージFの二
次記憶装置エレメント内にシフトされ、そして、データ
D4は、通常通り、ステージDからステージEに供給さ
れる。
By equipping the secondary storage element by comparing the pipeline states in cycle 4 and cycle 5, the pipeline embodiment shown in FIGS. 2 and 3 is inflatable. That is, it can be seen that the data storage element is released so that valid data can be advanced into it. For example, the data in these data blocks cannot be transferred until the ACCEPT signal to the stage F becomes HIGH, so that the cycle 4
At, the data blocks D1, D2 and D3 form a "solid wall". However, this signal is once HIGH
Then, the data D1 is shifted from the pipeline,
The data D2 is shifted into the primary storage element of stage F, and if the next device cannot receive the data D2, and the pipeline also has to "compress" once, the second data of stage F is deleted. The next storage element is free to accept new data. This is shown in cycle 6. During this cycle, data D3 is shifted into the secondary storage element of stage F, and data D4 is supplied from stage D to stage E as usual.

【0095】図4、図5、図6、図7は、パイプライン
の好ましい実施例を全体的に示す。この好ましい実施例
は、位相がφ0およびφ1の2相非重複クロックを用い
て、図2、図3に示す構造を実現する。2相クロックが
好ましいが、本発明の様々な実施例を、2相以上のクロ
ックを用いてドライブすることも可能であることを理解
されたい。
4, 5, 6, and 7 generally show preferred embodiments of the pipeline. This preferred embodiment implements the structure shown in FIGS. 2 and 3 using two phase non-overlapping clocks with phases φ0 and φ1. Although a two phase clock is preferred, it should be understood that various embodiments of the invention can be driven with more than one phase clock.

【0096】図4、図5、図6、図7に示すように、各
パイプラインステージは、一次および二次記憶装置エレ
メントを示す2つの個別ボックスを持つものとして図示
される。更に、VALID信号及びデータラインは、以
前の場合と同様に、様々なパイプラインステージを接続
するが、説明を容易にするために、図4、図5、図6、
図7にはACCEPT信号のみを示す。或るACCEP
T信号の1つのクロック位相中における状態の変化は、
LOWからHICHへの変化は上向き矢印を用いて図
4、図5、図6、図7に示される。同様に、HIGHか
らLOWへの変化は、下向き矢印で示される。1つの記
憶エレメントからもう1つの記憶エレメント一方へのデ
ータの転送は、大きい開いた矢印によって示される。任
意の所定ステージの一次或いは二次記憶エレメントから
のVALID信号は、記憶エレメントが有効なデータを
含む場合には必ずHIGHであるものと仮定される。
As shown in FIGS. 4, 5, 6 and 7, each pipeline stage is illustrated as having two separate boxes representing the primary and secondary storage elements. Furthermore, the VALID signal and data lines connect the various pipeline stages as before, but for ease of explanation, FIGS.
FIG. 7 shows only the ACCEPT signal. ACCEP
The change in state during one clock phase of the T signal is
The change from LOW to HICH is shown in FIGS. 4, 5, 6 and 7 using the up arrow. Similarly, the change from HIGH to LOW is indicated by a down arrow. The transfer of data from one storage element to one of the other storage elements is indicated by a large open arrow. The VALID signal from any given stage primary or secondary storage element is assumed to be HIGH whenever the storage element contains valid data.

【0097】図4、図5、図6、図7において、各サイ
クルは、非重複クロック位相φ0及びφ1の1つの全周
期で構成されるものとして示される。以下に更に詳細に
説明されるように、データは、クロックサイクルφ1の
期間中に、二次記憶エレメント(各ステージにおける左
のボックスとして示す)から一次記憶エレメント(各ス
テージにおける右のボックスとして示す)に転送され、
他方において、データは、クロックサイクルφ0の期間
中に、1つのステージの二次記憶エレメントからソノ次
のステージの一次記憶エレメントに転送される。同様
に、図4、図5、図6、図7は、各ステージにおける一
次および二次記憶エレメントは、ACCEPT信号がス
テージからステージへ供給されると同じ方法においてA
CCEPT信号を供給するように内部受入れラインを経
てさらに接続されることを示す。このようにして、二次
記憶エレメントは、そのデータを一次記憶エレメントに
いつ供給出来るかを知るはずである。
In FIGS. 4, 5, 6, and 7, each cycle is shown to consist of one full cycle of non-overlapping clock phases φ0 and φ1. As described in more detail below, data is transferred from the secondary storage element (shown as the left box in each stage) to the primary storage element (shown as the right box in each stage) during clock cycle φ1. Transferred to
On the other hand, data is transferred from the secondary storage element of one stage to the primary storage element of the sono next stage during the clock cycle φ0. Similarly, FIGS. 4, 5, 6, and 7 show that the primary and secondary storage elements in each stage are A in the same manner as the ACCEPT signal is provided from stage to stage.
It is shown to be further connected via an internal accept line to provide the CCEPT signal. In this way, the secondary storage element should know when it can supply its data to the primary storage element.

【0098】図4、図5、図6、図7は、サイクル1の
φ1位相を示す。このサイク中に、それぞれステージ
E、D、及びBの二次記憶エレメントに既にシフトされ
ているデータD1、D2、及びD3はそれぞれのステー
ジの一次記憶エレメントにシフトされる。従って、サイ
クル1のφ0位相中における、パイプラインのコンフィ
ギュレーションは、図2のサイクル1の場合と同じであ
る。以前と同様に、ステージFへのACCEPT信号は
LOWであるものと仮定される。ただし、図4、図5、
図6、図7に示すように、ステージFの一次記憶エレメ
ントへのACCEPT信号はLOWであるが、 この記
憶エレメントは有効なデータを含まないので、この記憶
エレメントはACCEPT信号をその二次記憶エレメン
ト内にHIGHにセットする。
FIGS. 4, 5, 6, and 7 show the φ1 phase of cycle 1. During this cycle, the data D1, D2, and D3 already shifted to the secondary storage elements of stages E, D, and B, respectively, are shifted to the primary storage elements of their respective stages. Therefore, the configuration of the pipeline during the φ0 phase of cycle 1 is the same as for cycle 1 of FIG. As before, the ACCEPT signal to stage F is assumed to be LOW. However, FIG. 4, FIG.
As shown in FIGS. 6 and 7, the ACCEPT signal to the primary storage element of stage F is LOW, but since this storage element does not contain valid data, this storage element sends the ACCEPT signal to its secondary storage element. Set to HIGH inside.

【0099】ステージFの二次記憶エレメントは有効な
データを含まないので、ACCEPT信号は、ステージ
Fの二次記憶エレメントからステージEの一次記憶エレ
メントへの中に同じくHIGHにセットされる。以前と
同様に、ステージFの一次記憶エレメントはデータを受
け入れることができるので、全ての上流一次および二次
記憶エレメントにおけるデータは、一切のデータが重ね
書きさっれることなしに、下流にシフト可能である。1
つのステージからその次のステージまでのデータのシフ
トは、サイクル2における次のφ0位相期間中に行われ
る。例えば、ステージEの一次記憶エレメントに含まれ
る有効なデータD1は、ステージFの二次記憶エレメン
トにシフトされ、データD4はパイプライン内、即ち、
ステージAの二次記憶エレメント内にシフトされる、等
々。
The ACCEPT signal is also set HIGH into the primary storage element of stage E from the secondary storage element of stage F because the secondary storage element of stage F does not contain valid data. As before, the primary storage elements of stage F can accept data so that the data in all upstream primary and secondary storage elements can be shifted downstream without any data being overwritten. is there. 1
The shifting of data from one stage to the next is done during the next φ0 phase period in cycle 2. For example, the valid data D1 contained in the primary storage element of stage E is shifted to the secondary storage element of stage F and the data D4 is in the pipeline, ie
Shifted into the secondary storage element of stage A, and so on.

【0100】ステージFの一次記憶エレメントは、サイ
クル2におけるφ0位相期間中には有効なデータをまだ
含まず、従って、一次記憶エレメントからステージFの
二次記憶エレメントへのACCEPT信号はHIGHの
ままである。従って、サイクル2におけるφ0位相期間
中、データは、更に1ステップだけ右へ、即ち、各ステ
ージ内の二次記憶エレメントから一次記憶エレメントま
でシフト可能である。ただし、有効なデータが、一度、
ステージFの一次記憶エレメントにロードされ、下流デ
バイスからのステージFへのACCEPTがまだLOW
である場合には、有効なデータD1を重ね書きおよび破
壊することなしに、ステージFの二次記憶エレメントか
らデータをシフトすることは出来ない。従って、一次記
憶エレメントからステージFの二次記憶エレメントへの
ACCEPT信号はLOWになる。ただし、二次記憶装
置は有効なデータを含まず、そして、そのACCEPT
信号出力はHIGHであったので、データD2は、ステ
ージFの二次憶装置にまだシフト可能である。
The primary storage element of stage F does not yet contain valid data during the φ0 phase period in cycle 2, so the ACCEPT signal from the primary storage element to the secondary storage element of stage F remains HIGH. is there. Therefore, during the φ0 phase period in cycle 2, the data can be shifted one step further to the right, ie from the secondary storage element in each stage to the primary storage element. However, if the valid data is
Loaded to primary storage element of stage F, ACCEPT from downstream devices to stage F is still LOW
, The data cannot be shifted from the secondary storage element of stage F without overwriting and destroying valid data D1. Therefore, the ACCEPT signal from the primary storage element to the secondary storage element of stage F goes LOW. However, the secondary storage device does not contain valid data, and its ACCEPT
Since the signal output was HIGH, the data D2 can still be shifted to the secondary memory of stage F.

【0101】サイクル3のφ1位相期間中は、データは
それより前の全てのステージ内においてシフト可能であ
るが、データD2をステージFの一次記憶エレメント内
にシフトすることは出来ない。ただし、有効なデータ
が、一旦、二次記憶エレメント内にロードされると、ス
テージFはこのデータを供給することができない。ステ
ージFはこのイベントを、そのACCEPT信号をLO
Wの外にセットすることにより送信する。
During the φ1 phase of cycle 3, data is shiftable in all previous stages, but data D2 cannot be shifted into the primary storage element of stage F. However, once valid data has been loaded into the secondary storage element, stage F cannot provide this data. Stage F sends this event to its ACCEPT signal at LO.
Send by setting it outside W.

【0102】ステージFへのACCEPT信号がLOW
のままであると仮定すると、Fステージの上流のデータ
は、次の有効なデータブロックD3がステージEの一次
記憶エレメントに到達するまで、ステージの間、及びそ
れぞれのクロック位相のステージ内においてシフトされ
ることが可能である。図に示すように、サイクル4のφ
1位相期間中にこの状態に到達する。
The ACCEPT signal to the stage F is LOW.
Assuming that it remains, the data upstream of the F stage is shifted during and within the stages of each clock phase until the next valid data block D3 reaches the primary storage element of stage E. It is possible to As shown in the figure, φ in cycle 4
This state is reached during one phase period.

【0103】サイクル5のφ位相期間中に、データD3
のステージEの一次記憶エレメントへのロードが完了す
る。このデータは更にシフト不可能であるので、ステー
ジEの一次記憶エレメントからのACCEPT信号はL
OWにセットされる。上流データは正常にシフト可能で
ある。
During the φ phase period of cycle 5, the data D3
Loading of the stage E into the primary storage element is completed. This data cannot be further shifted, so that the ACCEPT signal from the primary storage element of stage E is L
Set to OW. Upstream data can be shifted normally.

【0104】ここで、図2のサイクル5に示すように、
パイプラインの下流でに接続されたデバイスがパイプラ
インデータを受け入れることができると仮定することと
する。このデバイスは、サイクル4のφ1位相期間中に
ACCEPT信号をパイプラインステージF内にHIG
Hにセットすることによってこのイベントを送信する。
ここにおいて、ステージFの一次記憶エレメントはデー
タを右にシフトし、そして、ステージFの一次記憶エレ
メントは、同様に、新しいデータを受け入れることが可
能である。従って、データD1は、サイクル5のφ1位
相期間中にシフトされたので、ステージFの一次記憶エ
レメントは、セーブされなければならないデータを既に
含んでいない。従って、サイクル5のφ1位相期間中
に、データD2は、ステージF内において、二次記憶エ
レメントから一次記憶エレメントへシフトされる。ステ
ージFの二次記憶エレメントは、ACCEPT信号をス
テージEの一次記憶エレメント内にHIGHにセットす
ることによって新しいデータ及び信号を受け入れること
ができる。1つのステージ内における、即ち、その二次
からその一次記憶エレメントへのデータの転送期間中
に、両組の記憶エレメントは同じデータを含むが、二次
記憶エレメント内のデータは一次記憶エレメント内に同
様に保持されるので、二次記憶エレメント内のこのデー
タは、データ損失なしに、重ね書き可能である。1つの
ステージの一次記憶エレメントからその次のステージの
二次記憶エレメントへのデータ転送に関しても同様に真
である。
Here, as shown in cycle 5 of FIG.
Suppose a device connected downstream in the pipeline can accept pipeline data. This device drives the ACCEPT signal into the pipeline stage F during the φ1 phase period of cycle 4 to HIG.
Send this event by setting it to H.
Here, the primary storage element of stage F shifts the data to the right, and the primary storage element of stage F is also capable of accepting new data. Therefore, since the data D1 was shifted during the φ1 phase period of cycle 5, the primary storage element of stage F no longer contains the data that has to be saved. Thus, during the φ1 phase of cycle 5, data D2 is shifted from secondary storage element to primary storage element within stage F. The secondary storage element of stage F can accept new data and signals by setting the ACCEPT signal HIGH in the primary storage element of stage E. Within one stage, ie during the transfer of data from its secondary to its primary storage element, both sets of storage elements contain the same data, but the data in the secondary storage element is in the primary storage element. Since it is also retained, this data in the secondary storage element can be overwritten without data loss. The same is true for data transfers from the primary storage element of one stage to the secondary storage element of the next stage.

【0105】ここにおいて、サイクル5のφ1相期間
中、それステージFの一次記憶エレメントへのACCE
PT信号がLOWになるものと仮定する。これは、ステ
ージFがパイプラインからデータD2を転送移すること
ができないことを意味する。従って、ステージFは、有
効なデータD2の重ね書きを防止するために、その二次
記憶エレメントからその一時記憶エレメントへのACC
EPT信号をLOWにセットする。ただし、ステージF
の二次記憶エレメントに記憶されたデータD2は、損失
なしに重ね書きされることは不可能であり、そして、そ
の結果、データD3は、サイクル6のφ0相期間中にス
テージFの二次記憶エレメント内に転送される。データ
D4及びD5は、正常状態として下流にシフトされるこ
とは出来ない。有効なデータD3が、データD2と共に
一度ステージFに記憶されると、ステージFの一次記憶
エレメントへのACCEPT信号がLOWである限り、
あらゆる二次記憶エレメントは新しいデータを受け入れ
ることが出来ず、そして、二次記憶エレメントは、ステ
ージEへのACCEPT信号をLOWにセットすること
によってこれを送信する。
Here, during the φ1 phase period of cycle 5, the ACCE to the primary storage element of the stage F thereof is performed.
Assume that the PT signal goes LOW. This means that stage F cannot transfer data D2 from the pipeline. Therefore, the stage F ACCs from its secondary storage element to its temporary storage element to prevent overwriting of valid data D2.
Set the EPT signal LOW. However, stage F
The data D2 stored in the secondary storage element of the memory cannot be overwritten without loss, and as a result, the data D3 can be stored in the secondary storage of the stage F during the φ0 phase of cycle 6. Transferred within the element. The data D4 and D5 cannot be shifted downstream as normal. Once valid data D3 has been stored in stage F along with data D2, as long as the ACCEPT signal to the primary storage elements of stage F is LOW,
No secondary storage element can accept the new data, and the secondary storage element sends this by setting the ACCEPT signal to stage E LOW.

【0106】下流のデバイスからパイプラインへのAC
CEPT信号がLOWからHIGHへ、あるいは、その
逆に変化する場合、この変化は、パイプライン内におい
て、直前を先行する記憶エレメントより更に上流まで伝
播してはならない(同一ステージ内か、或いは、先行パ
イプラインステージ内)。更に、この変化は、当該パイ
プライン内において、クロック位相につき1つの記憶エ
レメントブロックだけ上流に伝播する。
AC from downstream device to pipeline
If the CEPT signal changes from LOW to HIGH, or vice versa, this change must not propagate further upstream in the pipeline than the immediately preceding preceding storage element (either in the same stage or earlier). Inside the pipeline stage). Furthermore, this change propagates upstream in the pipeline, one storage element block per clock phase.

【0107】この例に説明されるように、図4、図5、
図6、図7に示すパイプライン構造における「1つのス
テージ」のコンセプトは、ある程度知覚に関わる問題で
ある。データがステージの間に所在する場合には、当該
データは、ステージ内において(二次記憶エレメントか
ら一次記憶エレメントまで)転送され(上流ステージの
一次記憶エレメントから隣接下流ステージの二次記憶エ
レメントへ)されるので、1つのステージは、図4、図
5、図6、図7に示す場合の代わりに、「二次記憶エレ
メント」によって後続される「一次」記憶エレメントか
ら成ると考えて差し支えない。従って、「一次」および
「二次」記憶エレメントのコンセプトは、殆どラベリン
グの問題である。図4、図5、図6、図7において、デ
ータが1つのステージからその次のステージ又はデバイ
スに転送される場合に、一次記憶エレメントは、それか
らデータが取り出されるエレメントであり、そして、
「二次」記憶エレメントは、同一ステージに対して「入
力」記憶エレメントであり得るので、「一次」記憶エレ
メントは、「出力」記憶エレメントとして参照すること
も出来る。
As illustrated in this example, FIGS.
The concept of "one stage" in the pipeline structure shown in FIGS. 6 and 7 is a perceptual problem to some extent. If the data is located between stages, it is transferred within the stage (secondary storage element to primary storage element) (upstream stage primary storage element to adjacent downstream stage secondary storage element). Thus, one stage may be considered to consist of a "primary" storage element followed by a "secondary storage element" instead of the case shown in FIGS. 4, 5, 6 and 7. Therefore, the concept of "primary" and "secondary" storage elements is mostly a labeling issue. 4, 5, 6, and 7, when data is transferred from one stage to the next stage or device, the primary storage element is the element from which the data is retrieved, and
The "primary" storage element can also be referred to as the "output" storage element, as the "secondary" storage element can be the "input" storage element for the same stage.

【0108】図1、図3に示すように、前述の実施例に
ついて説明する場合、ACCEPT及びVALID信号
の制御の下でのデータの転送についてのみ言及した。更
に、各パイプラインステージの内部記憶エレメント間で
供給する以前に、或いは、その次のパイプラインステー
ジに供給する以前に、各パイプラインステージは、それ
が任意に受け取ったデータも同様に処理することが可能
であることを理解されたい。従って、更に図4、図5、
図6、図7をも一度参照して、パイプラインステージは
入力及び出力記憶エレメントを含み、そして、その記憶
エレメントに記憶されたデータを任意に処理するパイプ
ラインの一部として定義できる。
As shown in FIGS. 1 and 3, in the description of the above-mentioned embodiments, only the transfer of data under the control of the ACCEPT and VALID signals has been mentioned. In addition, before feeding between the internal storage elements of each pipeline stage, or before feeding to the next pipeline stage, each pipeline stage must also process the data it arbitrarily received. Please understand that is possible. Therefore, as shown in FIG.
Referring again to FIGS. 6 and 7, pipeline stages include input and output storage elements and can be defined as part of a pipeline that optionally processes data stored in the storage elements.

【0109】更に、パイプラインステージFから下流の
「デバイス」は、ある種の他のタイプのハードウェア構
造である必要はなく、むしろ、他のパイプラインそのも
の又はその部分であっても差し支えない。以下に説明す
るように、パイプラインステージは、下流の記憶エレメ
ントの全てが有効なデータで満たされた場合のみなら
ず、ステージがそのデータの処理を終了するために複数
のクロック位相を必要とする場合にも、そのACCEP
T信号をLOWにセットすることができる。これは、パ
イプラインステージがその記憶エレメントの1つ又は両
方内に有効なデータを作る場合にも、同様に起こり得
る。換言すれば、ステージにとって、直ぐ下流の記憶エ
レメントが、供給不可能な有効なデータを含むか否かに
基づいてACCEPT信号を単に供給することは必要で
ない。むしろ、ACCEPT信号自体も、隣接記憶エレ
メント間のデータ用通路を制御するために、当該ステー
ジ内において、或いは、当該ステージにとって外部の回
路によって、変更可能である。VALID信号は、類似
の方法において同様に処理可能である。
Furthermore, the "device" downstream from the pipeline stage F need not be some other type of hardware structure, but rather may be another pipeline itself or part thereof. As described below, a pipeline stage requires multiple clock phases to complete processing of that data, not only if all of the downstream storage elements are filled with valid data. Even if that ACCEP
The T signal can be set LOW. This can similarly occur if the pipeline stage produces valid data in one or both of its storage elements. In other words, it is not necessary for the stage to simply supply the ACCEPT signal based on whether the storage element immediately downstream contains valid data that cannot be supplied. Rather, the ACCEPT signal itself can be modified either within the stage or by circuitry external to the stage to control the data path between adjacent storage elements. The VALID signal can be similarly processed in a similar manner.

【0110】2線インターフェース(VALID及びA
CCEPT信号の各々に対してそれぞれ1本のワイヤ)
の大きな利点は、パイプラインをその開始ステージまで
全経路を後方に向かって伝播するために必要な制御信号
なしで、パイプラインを制御する能力を持つことであ
る。図1のサイクル3を再度参照することとし、例え
ば、ステージFは、データを受け入れることができない
ことをステージEに「告げ」るが、ステージEはステー
ジDに告げ、そして、ステージDはステージCに告げ
る。実際問題として、含まれる有効なデータよりも多く
のステージが有る場合には、この信号がパイプラインに
沿って更に遠くまで後方に伝播する可能性がある。図
4、図5、図6、図7に示す実施例、サイクル3におい
て、LOW ACCEPT信号は、ステージEより上流
には一切伝播せず、その一次記憶エレメントまでにとど
まる。
2-wire interface (VALID and A
(One wire for each CCEPT signal)
The great advantage of is that it has the ability to control a pipeline without the control signals required to propagate the entire path backwards through the pipeline to its start stage. Referring again to cycle 3 of FIG. 1, for example, stage F "tells" stage E that it cannot accept data, but stage E tells stage D, and stage D tells stage C Tell. As a practical matter, this signal may propagate further back along the pipeline if there are more stages than the valid data involved. In the embodiment shown in FIGS. 4, 5, 6 and 7, cycle 3, the LOW ACCEPT signal does not propagate upstream from stage E and stays up to its primary storage element.

【0111】以下に説明するように、この実施例は、当
該設計を実現するために必要なシリコン部分に特に添付
することなしに、この融通性を達成することができる。
一般に、データ記憶のために使われるパイプラインにお
ける各ラッチは、余分にトランジスタ1つだけを必要と
する(極めて能率的にシリコンに適合する)。更に、各
半ステージにおいてデータラッチと関連するACCEP
T及びVALID信号を処理するために、余分に2つの
ラッチ及び少数のゲートを追加することが好ましい。
As will be described below, this embodiment can achieve this flexibility without specifically attaching to the silicon portion needed to implement the design.
In general, each latch in the pipeline used for data storage requires only one extra transistor (extremely efficient silicon fit). In addition, the ACCEP associated with the data latch in each half stage
It is preferable to add two extra latches and a few gates to handle the T and VALID signals.

【0112】図4、図5、図6、図7に示すようにステ
ージを実現するハードウェア構造を図8に示す。
FIG. 8 shows a hardware structure for realizing the stages as shown in FIGS. 4, 5, 6 and 7.

【0113】説明するための一例に過ぎないが、(オプ
ションとしての組合わせ論理回路においてそれ以上の操
作を行うか、又は、行うことなしに)パイプラインを通
って並列に8ビットデータを転送するものと仮定する。
ただし、本発明を実現するためには、1ビットデータ又
は8ビット未満のデータのいずれかを用いることができ
ることを理解されたい。更に、本実施例に従った2線イ
ンターフェースは、あらゆる幅のデータバスと共に使用
することに適しており、そして、データバスの幅は、特
定アプリケーションの必要性に応じて、ステージ毎に異
なることもあり得る。この実施例に従ったインターフェ
ースは、アナログ信号を処理するためにも使用できる。
By way of example only for illustration, transfer 8-bit data in parallel through a pipeline (with or without further operation in optional combinatorial logic). Suppose.
However, it should be understood that either 1-bit data or less than 8-bit data can be used to implement the invention. Furthermore, the 2-wire interface according to this embodiment is suitable for use with data buses of any width, and the width of the data bus may vary from stage to stage, depending on the needs of a particular application. possible. The interface according to this embodiment can also be used to process analog signals.

【0114】既に検討したように、これとは別の従来の
タイミング配置を使用可能であるが、インターフェース
は、2相非重複クロックによって制御されることが好ま
しい。図8〜図16において、これらのクロック位相信
号は、PH0及びPH1として参照される。図8におい
て、各クロック位相信号用に1本のラインを示す。
As discussed above, other conventional timing arrangements can be used, but the interface is preferably controlled by a two-phase non-overlapping clock. 8-16, these clock phase signals are referred to as PH0 and PH1. In FIG. 8, one line is shown for each clock phase signal.

【0115】入力データは、マルチビットデータバスI
Nデータを介してパイプラインステージに入力され、そ
して、出力データバスOUTデータを介してその次のパ
イプラインステージ、或いは、その次の受信回路へ転送
される。入力データは、先ず、集合的にLDINとして
参照され上記の二次記憶エレメントを構成する一連の入
力ラッチ(各入力データ信号にたいして1つ)に以下に
示す方法によってロードされる。
The input data is the multi-bit data bus I.
It is input to the pipeline stage via N data, and transferred to the next pipeline stage or the next receiving circuit via the output data bus OUT data. Input data is first loaded into a series of input latches (one for each input data signal), collectively referred to as LDIN, which make up the secondary storage element described above, in the manner described below.

【0116】図に示す本実施例の例において、全てのラ
ッチのQ出力は、それらのD入力をフォローする、即
ち、クロック入力がHIGHである場合、即ち、論理
「1」レベルにおいて全てのラッチのQ出力がロードさ
れる。更に、Q出力は、それらの最後の値を保持する。
換言すれば、Q出力は、それらの対応するクロック信号
の降下落端で「ラッチ」される。
In the example of the present embodiment shown in the figure, the Q outputs of all latches follow their D inputs, ie when the clock input is HIGH, ie at a logic "1" level all latches. Q output is loaded. In addition, the Q outputs hold their last value.
In other words, the Q outputs are "latched" on the falling edge of their corresponding clock signals.

【0117】各ラッチは、そのクロックに対して、1つ
又は2つの非重複クロック信号PH0又はPH1(図
9、図10に示すように)、又は、これらのクロック信
号PH0、PH1のうちの1つ、及び1つの論理信号の
理的AND組合わせを持つ。ただし、本発明は、ラッチ
動作の適切なタイミングを保証するために従来の方法が
適用される限り、クロック信号の上昇端でラッチ作動す
るラッチ、或いは、他の既知のラッチ用配置を提供する
ことによって同程度に良好に作動する。
Each latch has, for its clock, one or two non-overlapping clock signals PH0 or PH1 (as shown in FIGS. 9 and 10), or one of these clock signals PH0, PH1. And a logical AND combination of one and one logic signal. However, the present invention provides a latch that latches on the rising edge of the clock signal, or other known latching arrangements, as long as conventional methods are applied to ensure proper timing of the latch operation. Works equally well with.

【0118】入力データラッチLDINからの出力デー
タは、任意かつオプションとしての組み合わせ論理回路
B1を経て供給し、この組み合わせ論理回路は、入力ラ
ッチLDINからの出力データを中間データに変換する
ために提供されることもあり、次に、この中間データは
後で出力データラッチLDOUTにロードされ、この出
力データラッチは上記の一次記憶エレメントから成る。
The output data from the input data latch LDIN is provided via an optional and optional combinational logic circuit B1, which is provided for converting the output data from the input latch LDIN into intermediate data. Of course, this intermediate data is then later loaded into the output data latch LDOUT, which comprises the primary storage element described above.

【0119】出力データラッチLDOUTからの出力
は、OUTデータとしてその次のデバイスまで下流方向
に供給される以前に任意かつオプションとしての組み合
わせ論理回路B2を経て同様に供給することが可能であ
る。その次のデバイスとは、他のパイプラインステー
ジ、或いは、パイプラインに接続された他のデバイスで
あっても差し支えない。
The output from the output data latch LDOUT can likewise be supplied via an optional and optional combinational logic circuit B2 before being supplied downstream to the next device as OUT data. The next device may be another pipeline stage or another device connected to the pipeline.

【0120】本発明の実現において、パイプラインの各
ステージは、同様に、妥当性検査入力ラッチLVIN、
妥当性検査出力ラッチLVOUT、受入れ入力ラッチL
AIN、及び受入れ出力ラッチLAOUTを含む。これ
らの4つのラッチの各々は、簡単な単一ステージラッチ
であることが好ましい。ラッチU/IN、LVOUT、
LAIN、及びLAOUTからの出力は、それぞれ、Q
VIN、QVOUT、QAIN、QAOUTである。妥
当性検査入力ラッチからの出力信号QVINは、入力と
して直接、或は、中間論理デバイス又は信号を変更する
回路を経て妥当性検査出力ラッチLVOUTへ接続され
る。
In the implementation of the invention, each stage of the pipeline is likewise validated by the input latch LVIN,
Validation output latch LVOUT, acceptance input latch L
Includes AIN and an acceptance output latch LAOUT. Each of these four latches is preferably a simple single stage latch. Latch U / IN, LVOUT,
The outputs from LAIN and LAOUT are respectively Q
VIN, QVOUT, QAIN, QAOUT. The output signal QVIN from the validation input latch is connected to the validation output latch LVOUT either directly as an input or via an intermediate logic device or a circuit that modifies the signal.

【0121】同様に、所定のステージの出力妥当性検査
信号QVOUTは、その次のステージの妥当性検査入力
ラッチQVINの入力へ、直接、又は、中間デバイス又
は論理回路を経て接続しても差し支えない。この場合の
デバイスは、妥当性検査信号を変更するデバイスであっ
ても差し支えない。この出力QVINは、同様に、論理
ゲート(以下に説明する)に接続され、この論理ゲート
の出力は、受入れ入力ラッチLAINの入力に接続され
る。受入れ出力ラッチLAOUTからの出力QAOUT
は、任意に他の論理ゲートを経て類似の論理ゲート(以
下に説明する)に接続される。
Similarly, the output validation signal QVOUT of a given stage may be connected to the input of the validation input latch QVIN of the next stage, either directly or through an intermediate device or logic circuit. . The device in this case may be a device that modifies the validation signal. This output QVIN is likewise connected to a logic gate (described below), the output of which is connected to the input of the receiving input latch LAIN. Output QAOUT from acceptance output latch LAOUT
Are optionally connected to similar logic gates (discussed below) via other logic gates.

【0122】図8に示すように、出力妥当性検査信号Q
VOUTは、後続するステージによってIN VALI
D信号として受け取られることの出来るOUT VAL
IDを形成するか、或いは、単にパイプラインに接続さ
れる後続回路に有効なデータを指示する。その次の回路
またはステージのデータ受け入れ準備は、信号OUTA
CCEPTとして各ステージに指示され、この信号は、
好ましくは以下に説明する論理回路を経て、受入れ出力
ラッチLAOUTに入力として接続される。同様に、受
入れ出力ラッチLAOUTの出力QAUTは、好ましく
は以下に説明する論理回路を経て、受入れ入力ラッチL
AINに入力として接続される。
As shown in FIG. 8, the output validity checking signal Q
VOUT is IN VALI depending on the subsequent stage.
OUT VAL that can be received as a D signal
It forms an ID, or simply points valid data to subsequent circuits connected to the pipeline. The next circuit or stage is ready to accept data and the signal OUTA
It is instructed to each stage as CCEPT, and this signal is
It is preferably connected as an input to the receiving output latch LAOUT via the logic circuit described below. Similarly, the output QAUT of the receiving output latch LAOUT, preferably via the logic circuit described below, receives the receiving input latch LOUT.
Connected as an input to AIN.

【0123】本発明を実現する際に、妥当性検査ラッチ
LVINからの出力信号QVIN、QVOUTは、それ
ぞれ、受入れラッチLAIU、LAQUTへの入力を形
成するために、受入れ信号QAOUT、OUT ACC
EPT1とそれぞれ組合わされる。図8に示す実施例に
おいて、これらの入力信号は、それぞれの受入れ出力信
号QACUT、OUT ACCEPTの論理的逆とし
て、それぞれの妥当性検査信号QVIN、QVOUTの
論理NAND組み合わせとして形成される。従来の論理
ゲートNAND1、及びUAND2は、NAND動作を
実施し、そして、インバータINV1、INV2は、そ
れぞれの受入れ信号の論理的逆を形成する。 デジタル
設計技術において周知であるように、NANDゲートの
任意又は全ての入力信号が論理「0」状態にある場合、
NANDゲートからの出力は論理「1」である。従っ
て、NANDゲートの全ての入力が論理「1」状態にあ
る場合に限り、NANDゲートからの出力は論理「0」
である。当該技術分野において同様に周知であるよう
に、例えばINV1のようなデジタルインバータの出力
は、その入力信号が「0」である場合に、論理「1」で
あり、そして、その入力信号が「1」である場合に
「0」である。
In practicing the present invention, the output signals QVIN, QVOUT from the plausibility check latch LVIN are used to form acceptance signals QAOUT, OUT ACC to form inputs to the acceptance latches LAIU, LAQUT, respectively.
Combined with EPT1 respectively. In the embodiment shown in FIG. 8, these input signals are formed as a logical NAND combination of the respective validation signals QVIN, QVOUT, as the logical inverse of the respective received output signals QACUT, OUT ACCEPT. Conventional logic gates NAND1 and UAND2 implement a NAND operation, and inverters INV1 and INV2 form the logical inverse of their respective acceptance signals. As is well known in the digital design art, if any or all of the input signals to a NAND gate are in a logic "0" state,
The output from the NAND gate is a logic "1". Therefore, the output from the NAND gate will be a logical "0" only if all inputs to the NAND gate are in a logical "1" state.
Is. As is also well known in the art, the output of a digital inverter, such as INV1, is a logical "1" when its input signal is "0" and its input signal is "1". Is “0”.

【0124】従って、「NOT」が2進反転を示す場合
には、NANDゲートNAND1への入力は、QVI
N、及びNOT(QACUT)である。既知の技術を用
いて、受入れラッチLAINへの入力は、次のとおりに
分解できる。
Therefore, when "NOT" indicates binary inversion, the input to the NAND gate NAND1 is QVI.
N and NOT (QACUT). Using known techniques, the input to the receiving latch LAIN can be decomposed as follows.

【0125】 NAND(QVIN,NOT(QAOUT)) =NOT(QVIN)OR QAQUT 換言すれば、信号QVINは「0」であるか、或いは、
信号QAQUTが「1」であるか、或は、両方の場合
に、インバータINV1、及びNANDゲートNAND
1の組み合わせは論理「1」である。従って、ゲートN
AND1及びインバータINV1は、その入力の1つが
受入れラッチLAOUTのQAOUT出力に直接結合さ
れ、いま1つの入力が妥当性検査入力ラッチLVINの
出力信号QVINの反転に結合されている1つの単一O
Rゲートによって実現可能である。
NAND (QVIN, NOT (QAOUT)) = NOT (QVIN) OR QAQUT In other words, the signal QVIN is “0”, or
If the signal QAQUT is "1" or both, the inverter INV1 and the NAND gate NAND
The combination of 1s is a logical "1". Therefore, the gate N
The AND1 and the inverter INV1 have one single O whose one input is directly coupled to the QAOUT output of the receiving latch LAOUT and one of which is coupled to the inversion of the output signal QVIN of the validation input latch LVIN.
It can be realized by an R gate.

【0126】同様に、デジタル設計技術において周知で
あるように、妥当性検査及び受入れラッチとしての使用
に適する多くのラッチは、2つの出力Q、及びNOT
(Q)、すなわち、Q、及びその論理的逆を持つことが
できる。従って、この種のラッチを選定した場合には、
OPゲート(従って)への1つの入力は、妥当性検査ラ
ッチLVINのNOT(Q)出力に直接結合されること
が可能である。ゲートNAND1及びインバータINV
1は、周知の従来の技術を用いて実現することが出来
る。ただし、使用されるラッチのアーキテクチャに応じ
て、出力を反転することのないラッチを使用し、そし
て、その代りにゲートNAND1、及びインバータIN
V1を提供することが更に効率的である場合もあり得
る。これら両者は、同様に、シリコンデバイスにおいて
能率的に実現可能である。従って、Q信号、及び/又
は、その論理的逆を生成するために任意の既知の配置を
使用することができる。
Similarly, as is well known in the digital design art, many latches suitable for use as validation and acceptance latches have two outputs Q, and NOT.
(Q), that is, Q, and its logical inverse. So if you choose this type of latch,
One input to the OP gate (and hence) can be directly coupled to the NOT (Q) output of the validation latch LVIN. Gate NAND1 and inverter INV
1 can be realized using known conventional techniques. However, depending on the architecture of the latch used, a latch that does not invert the output is used, and instead, a gate NAND1 and an inverter IN are used.
In some cases it may be more efficient to provide V1. Both of these can likewise be efficiently realized in silicon devices. Therefore, any known arrangement can be used to generate the Q signal and / or its logical inverse.

【0127】双方のクロック信号(出力側におけるPH
0、及び入力側におけるPH1)及び同じ側の受入れラ
ッチからの出力が論理「1」である場合、データ、及び
妥当性検査ラッチLDIN、LDOUT、LVIN、及
びLVOUTは、それらのそれぞれのデータ入力をロー
ドする。従って、クロック信号(入力ラッチLDIN及
びLVINに対するPH0)、及びそれぞれの受入れラ
ッチ(この場合のLAIN)の出力は、論理的ANDの
方法に使用され、そして、それらが双方共に論理「1」
である場合に限り、データはロードされる。
Both clock signals (PH on the output side
0, and PH1 on the input side) and the output from the accept latch on the same side is a logic "1", the data and validation latches LDIN, LDOUT, LVIN, and LVOUT will pull their respective data inputs. To load. Thus, the clock signal (PH0 for input latches LDIN and LVIN), and the output of each accepting latch (LAIN in this case) is used in a logical AND method, and they are both logic "1".
Data is loaded only if

【0128】例えば、ラッチのCMOS実現ような特定
のアプリケーションにおいて、ラッチのローディング
(図に示すCK、または作動化「入力」を経て)を制御
する論理的AND演算は、それぞれの作動化入力信号
(例えば、ラッチLVIN、及びLDINのためのPH
0、及びQAIN)をラッチの入力ラインに直列接続さ
れたMOSトランジスタへのゲートに接続することによ
り従来の方法において容易に実現可能である。従って、
実際の論理ANDゲートを提供することが必要であり、
これによって、高速アプリケーションにおける伝播遅延
に起因するタイミングの問題を引き起こす可能性があ
る。従って、図に示すANDゲートは、様々なラッチの
作動化信号を生成するために実施されるべき論理関数を
指示するに過ぎない。
In a particular application, such as a CMOS implementation of a latch, the logical AND operation that controls the loading of the latch (via the CK shown, or via the activation "input") will cause the respective activation input signal ( For example, PH for the latches LVIN and LDIN
0 and QAIN) can be easily realized in the conventional way by connecting the gates to the MOS transistors connected in series to the input line of the latch. Therefore,
It is necessary to provide the actual logical AND gate,
This can cause timing problems due to propagation delays in high speed applications. Therefore, the AND gates shown in the figure merely dictate the logic function to be performed to generate the activation signals for the various latches.

【0129】従って、PH0及びQAINが双方共に
「1」である場合に限りデータラッチLDINは入力デ
ータをロードする。このデータラッチは、これら2つの
信号のどちらかが「0」になる場合に、このデータをラ
ッチする。
Therefore, the data latch LDIN loads the input data only when PH0 and QAIN are both "1". This data latch latches this data when either of these two signals becomes "0".

【0130】パイプラインステージの入力(および出
力)側におけるデータ及び妥当性検査ラッチをクロック
するためにはクロック位相信号PH0またはPH1の1
つだけが用いられるが、もう一方のクロック位相信号
は、同じ側における受入れラッチをクロックするために
直接用いられる。換言すれば、パイプラインステージの
いずれかの側(入力、または出力)の受入れラッチは、
同じ側のデータ及び妥当性検査ラッチを用いて、その
「位相外れ」をクロックされることが好ましい。例え
ば、PH0は、データラッチLDIN及び妥当性検査ラ
ッチLVIN用のクロック信号CKを生成するために使
われるが、PH1は、受入れ入力ラッチをコロックする
ために用いられる。
One of the clock phase signals PH0 or PH1 to clock the data and validation latches on the input (and output) side of the pipeline stage.
Only one is used, but the other clock phase signal is used directly to clock the receiving latch on the same side. In other words, the receiving latches on either side (input or output) of the pipeline stage are:
It is preferably clocked "out of phase" with data and validation latches on the same side. For example, PH0 is used to generate the clock signal CK for the data latch LDIN and the validation latch LVIN, while PH1 is used to collock the receiving input latch.

【0131】2線妥当性検査及び受入れ回路によって増
補されたパイプラインの作動例として、当該回路への入
力においては、先行パイプラインステージ、或いは、伝
送デバイスのどちらからも、最初には、有効なデータは
提供されないものと仮定する。換言すれば、当該システ
ムは極めて最近リセットされたので、図に示すステージ
への妥当性検査入力信号IN VALIDはまだ「1」
になっていないものと仮定する。更に、システムが最後
にリセットされた時から、数回のクロックサイクルが発
生し、そして、その結果として、当該回路は定常に到達
したものと仮定する。従って、クロックPH0のその次
の正の期間中、妥当性検査ラッチLVINからの妥当性
検査入力信号QVINは「0」としてロードされる。従
って、クロック信号PH1のその次の正の期間中、受入
れ入力ラッチLAIN(ゲートNAND1、または他の
同等のゲートを介して)への入力は、「1」としてロー
ドされる。すなわち、データ入力ラッチLOINにおけ
るデータは有効でないので、当該ステージは(当該ステ
ージは一切のデータ価値保管を保持しないので)、当該
ステージが入力データの受け入れ準備が整っていること
を送信する。
As an example of the operation of a pipeline augmented by a two-wire validation and acceptance circuit, the input to the circuit is initially valid from either the preceding pipeline stage or the transmission device. Assume no data is provided. In other words, the validation input signal IN VALID to the stage shown is still "1" because the system was reset very recently.
Suppose that is not. Further, assume that several clock cycles have occurred since the last time the system was reset, and as a result, the circuit has reached steady state. Therefore, during the next positive period of clock PH0, the validation input signal QVIN from the validation latch LVIN is loaded as "0". Therefore, during the next positive period of clock signal PH1, the input to the accept input latch LAIN (via gate NAND1, or other equivalent gate) is loaded as a "1". That is, because the data in the data input latch LOIN is not valid, the stage (since it does not hold any data value store) will signal that it is ready to accept input data.

【0132】この例において、データ及び妥当性検査ラ
ッチLOIN及びLVINを作動可能にするために信号
IN ACCEPTが用いられることに注意されたい。
この時点において、信号IN ACCEPTは「1」で
あるので、これらのラッチは、従来の透過ラッチとして
効果的に作用し、その結果として、INデータバス上の
あらゆるデータは、クロック信号PHDが「1」になる
と直ちに、単に、データラッチLOINにロードされ
る。勿論、その受入れラッチからの出力QAOUTが
「1」である限り、この無効データも、同様に、その次
に後続するパイプラインステージのその次のデータラッ
チLDOUTにロードされる。
Note that in this example, the signal IN ACCEPT is used to enable the data and validation latches LOIN and LVIN.
At this point, since the signal IN ACCEPT is a "1", these latches effectively act as conventional transparent latches, so that any data on the IN data bus will have a clock signal PHD of "1". Is immediately loaded into the data latch LOIN. Of course, as long as the output QAOUT from the accept latch is "1", this invalid data will be loaded into the next data latch LDOUT of the next subsequent pipeline stage as well.

【0133】従って、データラッチが有効なデータを含
んでいない限り、それぞれのクロック信号のその次の正
の周期中、このラッチは、提供されるあらゆるデータを
受け入れる、即ち、「ロード」する。一方、そのような
無効のデータは、対応する受入れラッチからの受入れ信
号がそれに対してロー(即ち、「0」)であるような一
切のステージにロードされない。更に、妥当性検査ラッ
チへの対応するINVALID(或いは、QVIN)信
号がローである限り、妥当性検査ラッチからの出力信号
(その次の妥当性検査ラッチへの妥当性検査入力信号を
形成する)は「0」のままである。
Therefore, unless the data latch contains valid data, during the next positive period of each clock signal, this latch will accept, or "load," any data provided. On the other hand, such invalid data will not be loaded into any stage for which the acceptance signal from the corresponding acceptance latch is low (ie, "0"). In addition, the output signal from the validation latch (forming the validation input signal to the next validation latch) as long as the corresponding INVALID (or QVIN) signal to the validation latch is low. Remains "0".

【0134】データラッチへの入力データが有効である
場合には、妥当性検査信号IN VALIDが「1」ま
で上昇することによってこれを指示する。次に、対応す
る妥当性検査ラッチの出力は、各クロック位相信号のそ
の次の上昇端において「1」まで上昇する。例えば、ク
ロック位相信号PH0のその次の上昇端において、対応
するIN VALID信号がハイになる(すなわち、
「1」に上昇する)場合、ラッチLVINの妥当性検査
入力信号QVINは「1」に上昇する。
If the input data to the data latch is valid, this is indicated by the validity checking signal INVALID rising to "1". The output of the corresponding validation latch then rises to "1" at the next rising edge of each clock phase signal. For example, at the next rising edge of clock phase signal PH0, the corresponding IN VALID signal goes high (ie,
If it goes to "1"), the validation input signal QVIN of the latch LVIN goes to "1".

【0135】その代りに、ここで、データ入力ラッチL
DINが有効なデータを含んでいるものと仮定する。デ
ータ出力ラッチLDOUTの新しいデータを受け入れる
準備が整っている場合には、その受入れ信号QAOUT
は「1」である。この場合、クロック信号PH1のその
次の正の周期中に、データラッチLDOUT及び妥当性
検査ラッチVOLTは作動可能化され、そして、データ
ラッチLDOUTは、その入力に所在するデータをロー
ドする。クロック信号は非重複性であるので、上記の動
作は、もう一方のクロック信号PH0のその次の上昇端
以前に発生する。従って、PH0のその次の上昇端にお
いて、先行データラッチ(LDIN)は、データ出力ラ
ッチLOOUTが、ラッチLDINから転送されたデー
タを安全にラッチし終わるまで、先行ステージからの新
しい入力データにおいてラッチしない。
Instead, here, the data input latch L
Assume that the DIN contains valid data. If the data output latch LDOUT is ready to accept new data, its acceptance signal QAOUT
Is "1". In this case, during the next positive cycle of clock signal PH1, data latch LDOUT and validation latch VOLT are enabled, and data latch LDOUT loads the data located at its input. Since the clock signals are non-overlapping, the above operation occurs before the next rising edge of the other clock signal PH0. Therefore, on the next rising edge of PH0, the preceding data latch (LDIN) will not latch in the new input data from the preceding stage until the data output latch LOOUT has safely latched the data transferred from the latch LDIN. .

【0136】従って、クロックの交互位相に基づいて作
動するので、データを受け取り可能なデータラッチ(ス
テージ内、或いは、隣接ステージ間)の全ての隣接対に
よって同じシーケンスが続けられる。未だ供給できない
有効なデータを含んでいるために、新しいデータを受け
入れる準備が整っていないあらゆるデータラッチは、L
OWである出力受入れ信号(その受入れラッチLAから
のQA出力)を持ち、そして、そのデータラッチLDI
N或いはLDOUTはロードされない。従って、所定の
ステージ、又は、或るステージの一方の側(入力、また
は出力)の受入れ信号(受入れラッチからの出力)がL
OWである限り、その対応するデータラッチはロードさ
れない。
Therefore, because it operates on alternating phases of the clock, the same sequence is continued by all adjacent pairs of data latches (in stage or between adjacent stages) capable of receiving data. Any data latch that is not ready to accept new data because it contains valid data that is not yet available,
Has an output acceptance signal (QA output from its acceptance latch LA) which is OW, and its data latch LDI
N or LDOUT is not loaded. Therefore, the acceptance signal (output from the acceptance latch) of a given stage or one side (input or output) of a certain stage is L
As long as it is OW, its corresponding data latch is not loaded.

【0137】好ましい実施例に含まれるリセット機能を
図8に示す。この図に示す例において、リセット信号N
OTRESET0は、妥当性検査出力ラッチLVOUT
の反転リセット入力(反転は、従来通り、小さい丸によ
って示す)に接続される。周知のように、これは、リセ
ット信号NOTRESET0が「0」になるときはいつ
でも、妥当性検査ラッチLVOUTが「0」を出力する
ように強制されることを意味する。リセット信号がロー
になる(「0」になる)場合にラッチをリセットするこ
との1つの利点は、伝送の遮断によてラッチをリセット
することである。この場合、有効な伝送が始まり、そし
て、リセット信号がHIGHになる時にはいつでも、こ
れらのラッチは「空の」状態、或いは、リセットされた
状態である。従って、リセット信号NOTRESET0
はデジタル「オン/オフ」スイッチとして作動する。従
って、この信号は、パイプラインを作動化するためには
HIGH値でなければならない。
The reset function included in the preferred embodiment is shown in FIG. In the example shown in this figure, the reset signal N
OTRESET0 is a validation output latch LVOUT
Inversion reset input (inversion is conventionally indicated by a small circle). As is well known, this means that the validation latch LVOUT is forced to output "0" whenever the reset signal NOTRESET0 goes to "0". One advantage of resetting the latch when the reset signal goes low (goes to "0") is to reset the latch by interrupting the transmission. In this case, these latches are in the "empty" or reset state whenever a valid transmission begins and the reset signal goes high. Therefore, the reset signal NOTRESET0
Operates as a digital "on / off" switch. Therefore, this signal must be a HIGH value to activate the pipeline.

【0138】パイプラインにおいて有効なデータを保持
するラッチの全てをリセットすることが必要ではないこ
とに注意されたい。図8に示すように、妥当性検査入力
ラッチLVINは、リセット信号NOTRESET0に
よって直接リセットされず、間接的にリセットされる。
リセット信号NOTRESET0が「0」に降下するも
のと仮定する。受入れ出力ラッチLAQUT(ゲートN
AND1を経て)への入力がHIGHになると、その以
前の状態には無関係に、妥当性検査出力信号QVOUT
も同様に「0」まで降下する。同様に、受入れ出力信号
QAOUTも「1」に上昇する。次に、このQAOUT
値「1」は、「1」として、妥当性検査入力信号QVI
N状態には無関係に、受入れ入力ラッチ入力LAINへ
転送される。次に、受入れ入力信号QAIは、Nクロッ
ク信号PH1の次の立ち上がりエッジにおいて「1」ま
で上昇する。妥当性検査信号IN VALIDが正しく
「0」にリセットされたと仮定すれば、妥当性検査ラッ
チLVINが直接リセットされていた場合にはたなら
ば、実施された時に、クロック信号PH0の次の立ち上
がりエッジにおいて、妥当性検査ラッチLVINからの
出力は「C」になる。
Note that it is not necessary to reset all the latches holding valid data in the pipeline. As shown in FIG. 8, the validity check input latch LVIN is not directly reset by the reset signal NOTRESET0 but is reset indirectly.
Assume that the reset signal NOTRESET0 drops to "0". Reception output latch LAQUT (gate N
When the input to (via AND1) goes HIGH, regardless of its previous state, the validation output signal QVOUT
Also drops to "0". Similarly, the acceptance output signal QAOUT also rises to "1". Next, this QAOUT
The value "1" is set to "1" and the validity check input signal QVI
Transferred to the accept input latch input LAIN, regardless of the N state. Next, the acceptance input signal QAI rises to "1" at the next rising edge of the N clock signal PH1. Assuming the validation signal IN VALID has been correctly reset to "0", if the validation latch LVIN had been reset directly, then the next rising edge of the clock signal PH0, when implemented. At, the output from the validation latch LVIN goes to "C".

【0139】この例が示すように、全ての妥当性検査ラ
ッチをリセットするためには、各ステージ(最終ステー
ジを含む)のただ1つの側においてのみ妥当性検査ラッ
チをリセットすることだけが必要である。事実、多くの
アプリケーションにおいて、他の全ての妥当性検査ラッ
チをリセットすることは必要でない。即ち、リセット信
号NOTRESET0が、クロックの双方の位相PH
0、PH1の完全な1サイクルよりも長い期間に亙って
所在することが保証可能である場合には、「自動リセッ
ト」(リセット信号の後方伝播)が、先行パイプライン
ステージにおける妥当性検査ラッチ期間に対して発生す
る。実際問題としては、少なくとも所在するパイプライ
ンステージの数と同数のクロックの双方の位相の全サイ
クル数の期間中に亙りリセット信号が保持される場合、
最終パイプラインステージにおける妥当性検査出力ラッ
チを直接リセットすることだけが必要である。
As this example shows, resetting all the validation latches requires only resetting the validation latch on only one side of each stage (including the final stage). is there. In fact, in many applications it is not necessary to reset all other validation latches. That is, the reset signal NOTOSET0 is the phase PH of both phases of the clock.
0, PH1 can be guaranteed to be present for more than one complete cycle, an "auto-reset" (backpropagation of the reset signal) is a validation latch in the preceding pipeline stage. Occurs for a period. As a practical matter, if the reset signal is held for at least the total number of cycles of both phases of the clock with the same number of pipeline stages as there are,
It is only necessary to directly reset the validation output latch in the final pipeline stage.

【0140】図9、図10は、非重複クロック信号PH
0、PH1の間の関係、リセット信号の効果、データの
保持、及び妥当性検査および受入れ信号の種々異なる順
序に対して図8に示す実施例におけるパイプラインステ
ージの図示された2つの側、及びその間へのデータの転
送を示す。図9、図10のタイミングダイアグラムに示
す例においては、データラッチLDIN、LDOUTか
らの出力は、介在している論理ブロックB1、B2によ
るこれ以上の操作なしで供給されるものと仮定されてい
る。これは一例として示すものであり、制約的な意味を
もつものではない。あらゆる組み合わせ的論理構造は、
連続したパイプラインステージのデータラッチの間、又
は、1つの単一パイプラインステージの入力と出力側と
の間に含ませることが可能であることを理解されたい。
入力データに関して実際に図示されている値(例えば、
HEXデータワード「aa」、または「04」)も同様
に単に図解例に過ぎない。データラッチ又は他の記憶デ
バイスが、各ビット又は入力ワードの値を収容およびラ
ッチまたは記憶可能である限り、上記のように、入力デ
ータバスの幅は任意である(そして、アナログであって
も差し支えない)。 好ましいデータ構造 ― 「トークン」 図8に示すサンプルアプリケーションにおいて、組み合
わせ論理ブロックB1、B2、等々を介して入力データ
を供給可能にすることからステージを除外する制御回路
が無いので、各ステージは、全ての入力データを処理す
る。更に大きい融通性を提供するために、本発明は、シ
ステム全体を通じてデータ及び制御情報を配分するため
に「トークン」が使われるようなデータ構造を有する。
各トークンは、1つまたは複数のトークンワードブロッ
クに分割されたの一連の2進ビットから成る。更に、ビ
ットは、次に示す3つのタイプのいずれかの1つに相当
する、即ち、アドレスビット(A)、データビット
(D)、または拡張ビット(B)である。単に例とし
て、必ずしも制約的な意味をもつことなく、データが、
1ビット拡張ビットラインを有する0ビットバスを介し
てワードとして転送されるものと仮定する。4ワードト
ークンの例を伝送順に次に示す。 第1番目のワード E A A A D D D D D 第2番目のワード E D D D D D D D D 第3番目のワード E D D D D D D D D 第4番目のワード E D D D D D D D D 拡張ビットEは、各データワードへの追加(好ましく
は)として使われることに注意されたい。更にアドレス
フィールドの長さは可変であっても差し支えなく、そし
て、第1ワードの拡張ビットの直後に伝送されることが
好ましい。
9 and 10 show the non-overlapping clock signal PH.
0, the relationship between PH1, the effect of the reset signal, the retention of data, and the illustrated two sides of the pipeline stage in the embodiment shown in FIG. 8 for different sequences of validation and acceptance signals, and The transfer of data during that time is shown. In the example shown in the timing diagrams of FIGS. 9 and 10, it is assumed that the outputs from the data latches LDIN, LDOUT are supplied without further operation by the intervening logic blocks B1, B2. This is shown as an example and does not have a restrictive meaning. Every combinatorial logical structure is
It should be understood that it can be included between the data latches of successive pipeline stages or between the input and output of one single pipeline stage.
The values that are actually shown for the input data (for example,
The HEX data words “aa” or “04”) are likewise merely illustrative. The width of the input data bus is arbitrary (and can be analog, as described above), as long as the data latch or other storage device can accommodate and latch or store the value of each bit or input word. Absent). Preferred Data Structure— “Token” In the sample application shown in FIG. 8, there is no control circuit that excludes stages from being able to supply input data through combinatorial logic blocks B1, B2, etc., so each stage is all Process the input data of. To provide even greater flexibility, the present invention has a data structure in which "tokens" are used to distribute data and control information throughout the system.
Each token consists of a series of binary bits divided into one or more token word blocks. Further, the bit corresponds to one of the following three types: address bit (A), data bit (D), or extension bit (B). Simply by way of example, the data can be
Suppose it is transferred as a word over a 0-bit bus with a 1-bit extended bit line. An example of a 4-word token is shown below in order of transmission. 1st word E A A A A D D D D D D 2nd word E D D D D D D D D D 3rd word E D D D D D D D D D D 4th word E D D Note that the DDDDDDDD extension bit E is used as an addition (preferably) to each data word. Furthermore, the length of the address field can be variable and is preferably transmitted immediately after the extension bit of the first word.

【0141】従って、トークンは、本発明における(2
進)デジタルデータの1つ又は複数のワードから成る。
これらのワードの各々は、好ましくは並列に順序立てて
転送される。ただし、この転送方法は必ずしも必要で
く、既知の技術を用いて直列データ転送も可能である。
例えば、動画構文解析系において、制御情報は並列に伝
送され、この場合、データは直列に伝送される。
Therefore, the token is (2
Hex) consists of one or more words of digital data.
Each of these words is preferably transferred in parallel and in sequence. However, this transfer method is not always necessary, and serial data transfer is also possible using a known technique.
For example, in a moving image parsing system, control information is transmitted in parallel, in which case data is transmitted in series.

【0142】例として図示するように、各トークンは、
好ましくは開始時において、トークンに含まれるデータ
のタイプを識別する1つのアドレスフィールド(A‐ビ
ットのストリング)を持つ。殆どのアプリケーションに
おいて、1つの単一ワード、または1つのワードの部分
は、アドレスフィールド全体を転送するために十分であ
る。しかし、アドレスフィールド全体を受け取り、そし
て、デコードするのに充分な長さを持つ部分的なアドレ
スフィールドのある程度の表現を記憶することができる
ような対応するパイプラインステージに論理回路が含ま
れていさえすれば、前記に条件は、本発明にとって必ず
しも必要でない。
As illustrated by way of example, each token is
Preferably at start-up, it has one address field (a string of A-bits) that identifies the type of data contained in the token. In most applications, a single word, or part of a word, is sufficient to transfer the entire address field. However, even logic circuits are included in the corresponding pipeline stages that are capable of receiving the entire address field and storing some representation of a partial address field that is long enough to be decoded. If so, the above conditions are not always necessary for the present invention.

【0143】アドレスフィールドを伝送するためには専
用線または専用レジスタを必要としないことに注意され
たい。アドレスフィールドは、データビットを用いて伝
送されることに注意されたい。以下に説明するように、
特定のアドレスフィールドによって作動化されることが
意図されていない場合、即ち、ステージが遅延なしにト
ークンに沿って供給可能である場合には、パイプライン
ステージは減速されない。
Note that no dedicated lines or registers are needed to carry the address fields. Note that the address field is transmitted using data bits. As explained below,
A pipeline stage is not slowed down if it is not intended to be activated by a particular address field, ie if the stage can be fed along the token without delay.

【0144】アドレスフィールドに続くトークン内の残
りのデータは、トークンの使用によって制約されない。
これらのDデータビットは、任意の値をとることが可能
であり、そして、これらのビットに付けられ意味はここ
では重要でない。即ち、データの意味は、例えば、特定
の時点に当該データがシステム内のどこに配置されてい
たかによって、変化することが可能である。アドレスフ
ィールドの後に添付されたデータビットDの数は、必要
なだけ長くても短くても差し支えなく、そして、トーク
ンが異なれば、データワードの数が大幅に変化すること
がある。アドレスフィールド、及び拡張ビットは、パイ
プラインステージに対して、制御信号を運ぶために使わ
れる。データフィールド内のワード(Dビットのストリ
ング)の数は随意で差し支えないので、データフィール
ドにおいて運ばれる情報も、それに応じて変化可能であ
る。従って、以下の説明は、アドレス及び拡張ビットの
使用に向けられる。本発明において、回路内の多数のブ
ロックが、比較的簡単な構成にまとめて接続されている
場合、トークンは特に有用なデータ構造である。最もシ
ンプルなコンフィギュレーションは、例えば、その1つ
が図1に示されているような、処理ステップのパイプラ
インである。ただし、トークンの使用は、パイプライン
構造における使用にのみ制約されない。
The rest of the data in the token that follows the address field is not constrained by the use of the token.
These D data bits can take any value, and the meaning attached to these bits is not important here. That is, the meaning of the data can change, for example, depending on where in the system the data was located at a particular time. The number of data bits D appended after the address field can be as long or as short as required, and the number of data words can vary significantly with different tokens. The address field and extension bits are used to carry control signals to the pipeline stages. Since the number of words (strings of D bits) in the data field can be arbitrary, the information carried in the data field can also change accordingly. Therefore, the following description is directed to the use of address and extension bits. In the present invention, a token is a particularly useful data structure when a large number of blocks in a circuit are connected together in a relatively simple structure. The simplest configuration is, for example, a pipeline of processing steps, one of which is shown in FIG. However, the use of tokens is not restricted to use in pipeline structures only.

【0145】各ボックスは完全なパイプラインステージ
を表すものと再度仮定する。図1のパイプラインにおい
て、データは図の左から右に流れる。データは、マシン
に入り、そして、処理ステージAに供給する。このステ
ージはデータを修正する場合もあれば、しない場合もあ
り、そして、データをステージBへ供給する。修正され
る場合には、複雑であることもあり、そして、一般に、
任意のステージに流入するデータアイテムの数は、流出
数と同じでない。ステージBは、再びデータを修正し、
そして、それをステージCに供給する、等々。この種の
設計の場合には、データにとって、反対方向に流れるこ
とは不可能である。従って、例えば、ステージCはデー
タをステージAに供給できない。この制約条件は、完全
に受け入れられる場合が多い。
It is again assumed that each box represents a complete pipeline stage. In the pipeline of Figure 1, data flows from left to right in the figure. The data enters the machine and feeds into processing stage A. This stage may or may not modify the data, and feeds the data to stage B. It can be complex if modified, and in general,
The number of data items flowing into a given stage is not the same as the number of data flowing out. Stage B modifies the data again,
Then supply it to Stage C, and so on. In this type of design, it is impossible for the data to flow in the opposite direction. Thus, for example, stage C cannot supply data to stage A. This constraint is often entirely acceptable.

【0146】一方、これら2つのブロックの間が直接接
続されていない場合であっても、ステージAが情報をス
テージCに伝達することができることは非常に望まし
い。ステージAとCの通信はステージBをへる場合に限
られる。トークンの1つの利点は、トークンがこの種類
の通信を達成する能力を備えていることである。トーク
ンを認識しないあらゆる処理ステージは変更しないトー
クンをその次のブロックに単に供給するに過ぎない。
On the other hand, it is highly desirable that stage A can transfer information to stage C even when these two blocks are not directly connected. The communication between the stages A and C is limited to the stage B. One advantage of tokens is that they have the ability to accomplish this type of communication. Any processing stage that does not recognize the token simply supplies the next block with a token that does not change.

【0147】この例によれば、1つの拡張ビットは、各
トークンにおけるアドレス及びデータフィールドと共に
伝送されるので、処理ステージは、そのアドレスを復号
化しなければならないことを一切必要とせずに、トーク
ン(随意の長さであり得る)を供給することができる。
この例によれば、HIGH(「1」)である拡張ビット
をその中に含むあらゆるトークンには、同じトークンの
一部である後続ワードによって後続される。この後続ワ
ードも、同様に、拡張ビットを持ち、このビットは、ト
ークン内に更に別のトークンワードがあるかどうかを示
す。ステージがその拡張ビットがLOW(1つの
「0」)であるようなトークンワードに遭遇した場合に
は、そのトークンワードが当該トークンの最後ワードで
あることが分かる。従って、その次のワードは、新しい
トークンの第1のワードであると仮定される。
According to this example, one extension bit is transmitted with the address and data fields in each token, so that the processing stage does not need to decode the address at all, and the token ( Can be of any length).
According to this example, every token that contains an extension bit that is HIGH ("1") is followed by a trailing word that is part of the same token. This subsequent word also has an extension bit, which indicates whether there are more token words in the token. If the stage encounters a token word whose extension bit is LOW (one "0"), it knows that token word is the last word of the token. Therefore, the next word is assumed to be the first word of the new token.

【0148】処理ステージの簡単なパイプラインは特に
有用であるが、トークンは、更に複雑なコンフィギュレ
ーションの処理エレメントに適用可能であることが分か
ることに注意されたい。更に複雑な処理エレメントの例
を次に示す。
It should be noted that although a simple pipeline of processing stages is particularly useful, tokens can be applied to processing elements of more complex configurations. An example of a more complex processing element is shown below.

【0149】本発明の場合には、「0」にセットされた
拡張ビットを与えることにより所定のトークンの最後の
ワードを送信するために、拡張ビットの状態を使用する
必要はない。好ましい実現計画への1つの代替案は、ト
ークンの最後のワードの代りにトークンの第1のワード
を示すように拡張ビットを移動させることである。これ
は、符号復号化ハードウェアを適切に改造することによ
って達成できる。
In the case of the present invention, it is not necessary to use the state of the extension bit to send the last word of a given token by providing the extension bit set to "0". One alternative to the preferred implementation plan is to move the extension bit to point to the first word of the token instead of the last word of the token. This can be achieved by appropriate modification of the encoding / decoding hardware.

【0150】トークンの第1のワードでなくて最後のワ
ードを送信するために本発明の拡張ビットを用いた場合
の利点は、トークンが拡張ビットを持っているかどうか
に応じて、回路のブロックの作動様式を修正することが
有用である場合が多い。前記の論旨の例は、量子化表
(一般にはメモリーデバイス)に記憶された動画量子化
値を処理するステージを作動化するトークンである。例
えば、64の8ビット任意2進整数を含む表である。
The advantage of using the extension bit of the present invention to send the last word of the token rather than the first word is that the block of circuitry depends on whether the token has the extension bit. It is often useful to modify the mode of operation. An example of the above argument is a token that activates a stage that processes a video quantization value stored in a quantization table (typically a memory device). For example, a table containing 64 8-bit arbitrary binary integers.

【0151】新しい量子化表をパイプラインの量子化器
ステージにロードするためには、「QUANT・テーブ
ル」トークンが量子化器に送られる。そのような場合、
例えば、トークンは、65のトークンワードから成る。
第1のワードは、コード「QUANT・テーブル」を含
む、即ち、量子化表を作る。これには、量子化表の整数
である64のワードが後続する。
To load a new quantizer table into the quantizer stage of the pipeline, a "QUANT table" token is sent to the quantizer. In such cases,
For example, a token consists of 65 token words.
The first word contains the code "QUANT table", i.e. creates the quantization table. This is followed by 64 words, which are integers in the quantization table.

【0152】動画データをコード化する場合、この種の
量子化表を伝送することが時おり必要である。この機能
を達成するために、拡張ワードなしのQUANT・テー
ブルトークンを量子化器ステージに送ることが出来る。
このトークンを見て、そして、その第1のワードの拡張
ビットがLOWであることに気が付いた場合、量子化器
ステージは、その量子化表を読みとり、そして、64の
量子化表値を含むQUANT・テーブルトークンを作成
することが出来る。第64番目の量子化表の値に相当す
るLOW拡張ビットによって当該トークンの新規な終端
が示されるまで、当該拡張ビットがHIGHであり、そ
して、HIGH拡張ビットの状態で当該トークンが継続
するように、第1のワード(LOWであった)の拡張ビ
ットが変更される。これは、システムを通って一般的な
方法で進行し、そして、ビットの流れの中にコード化さ
れる。
When encoding moving picture data, it is sometimes necessary to transmit a quantization table of this kind. To accomplish this function, a QUANT table token without extension words can be sent to the quantizer stage.
If we look at this token and notice that the extension bit of the first word is LOW, the quantizer stage reads its quantization table and QUANT containing 64 quantization table values.・ Table token can be created. The extension bit is HIGH until the new end of the token is indicated by the LOW extension bit corresponding to the value of the 64th quantization table, and the token continues in the state of the HIGH extension bit. , The extension bit of the first word (which was LOW) is changed. This proceeds in a general way through the system and is encoded in the stream of bits.

【0153】この例を用いて説明を続けることとし、量
子化器は、QUANT・テーブルトークンの第1ワード
がその拡張ビットをセット済みであるか否かに応じて、
新規な量子化表をそれ自体のメモリーデバイスにロード
するか、或いは、その表を読みとることのどちらかが可
能である。
Continuing with this example, the quantizer determines whether the first word of the QUANT table token has its extension bit set or not.
It is possible to either load the new quantization table into its own memory device or read the table.

【0154】拡張ビットを使用して1つのトークン内の
第1のトークンワードか或は最後のトークンワードのど
ちらを送信するかの選定は、その中でパイプラインが使
用されるシステムに依存する。両代替案共に、本発明に
従って可能である。
The choice of whether to use the extension bit to send the first token word or the last token word in a token depends on the system in which the pipeline is used. Both alternatives are possible according to the invention.

【0155】好ましい拡張ビット案の別の代替案は、ト
ークンの開始に際して長さカウントを含むことである。
例えば、トークンが非常に長い場合、この種の装置が効
率的であることもある。例えば、所定のアプリケーショ
ンにおける一般的なトークンの長さは1000ワードで
あるものと仮定する。図に示す拡張ビット案(各トーク
ンワード添付されたビットを持つ)を用いた場合、トー
クンは、全ての拡張ビットを含むために、1000の付
加的ビットが必要である。ただし、2進フォームにおい
てトークンの長さをコード化するためには、僅かに10
ビットが必要である。
Another alternative to the preferred extension bit scheme is to include a length count at the start of the token.
For example, this type of device may be efficient if the token is very long. For example, assume that a typical token length in a given application is 1000 words. Using the proposed extended bits (with each token word attached bit), the token requires 1000 additional bits to include all the extended bits. However, to encode the token length in binary form, only 10
Need a bit.

【0156】従って、長いトークンの用途はあるが、経
験によれば、短いトークンの用途も多いことが判明して
いる。ここでは、好ましい拡張ビット案が有利である。
トークンの長さわずかの1ワードである場合には、これ
を送信するために、わずか1ビットが必要とされる。た
だし、カウント案には、前記の場合と同じ10ビットを
必要とする。
Therefore, although there are uses for long tokens, experience has shown that there are many uses for short tokens. Here, the preferred extension bit scheme is advantageous.
If the token is only one word long, then only one bit is needed to send it. However, the counting proposal requires the same 10 bits as in the above case.

【0157】長さカウント案の欠点を次に示す。1)短
いトークンに対して非能率的である。2)トークンに対
して最大の長さの点で制約する(1023ワード未満で
あれば、僅かに10ビットでカウント可能である)3)
カウントを生成する(おそらくトークン開始時ある)以
前にトークンの長さが既知でなければならない。4)ト
ークンを扱う全ての回路ブロックは、ワードをカウント
するためのハードウェアを備える必要がある。5)カウ
ントが腐敗した場合(データ伝送エラーのために)、回
復が達成可能かどうかが明瞭でない。
The drawbacks of the length counting scheme are: 1) Inefficient for short tokens. 2) Restrict the maximum length of the token (if it is less than 1023 words, it can be counted with only 10 bits) 3)
The token length must be known before the count is generated (probably at token start). 4) All circuit blocks that handle tokens need to have hardware to count words. 5) If the count is corrupted (due to a data transmission error), it is not clear if recovery is achievable.

【0158】本発明に基づく拡張ビット案の利点を次に
示す。1)未認識トークンは、拡張ビットのみを考察す
ることによって正しく供給出来るので、パイプラインス
テージは、全てのトークンを復号化する回路ブロックを
備える必要がない。2)拡張ビットの符号化は、全ての
トークンに関して同じである。3)トークンの長さに関
して限界がない。4)この計画案は、短いトークンに対
して効率的である(トークンの長さを表すためのオーバ
ーヘッドに関して)。5)エラー回復が自然に達成され
る。拡張ビットが腐敗した場合には、1つのランダムト
ークンが生成されるか「(「1」から「0」までの腐敗
した拡張ビットに関して)、或いは、トークンは失われ
る(腐食拡張ビットは「0」から「1」まで)。更に、
問題は関係するトークンに限って局部的に所在する。当
該トークンの後で、正しい動作が自動的に再開される。
The advantages of the proposed extended bit according to the invention are the following: 1) Unrecognized tokens can be supplied correctly by considering only the extension bits, so the pipeline stage does not need to have a circuit block to decode all tokens. 2) The extension bit encoding is the same for all tokens. 3) There is no limit on the length of the token. 4) This scheme is efficient for short tokens (in terms of overhead for representing token length). 5) Error recovery is naturally achieved. If the extension bit is corrupted, then one random token is generated "(for corrupt extension bits from" 1 "to" 0 ") or the token is lost (corrosion extension bit is" 0 "). To "1"). Furthermore,
The problem is localized only to the relevant token. After the token, correct operation is automatically resumed.

【0159】更に、アドレスフィールドの長さが変化し
ても差し支えない。これによって、最も一般的なトーク
ンを非常に少ない数のワードに圧搾することが可能であ
るので、高度に有利である。これは、全ての処理ステー
ジが全バンド幅で連続的に作動可能であることを保証す
るので、結果的に、動画データパイプラインシステムに
おいて非常に重要である。
Furthermore, the length of the address field may change. This is highly advantageous as it allows the most common tokens to be squeezed into a very small number of words. This ensures that all processing stages can be operated continuously at full bandwidth and, consequently, is very important in a video data pipeline system.

【0160】本発明に基づき、可変長さのアドレスフィ
ールドを可能にするために、ランダムデータが後続する
短いアドレスが、長めのアドレスと決して混同されない
ようにアドレスが選定される。アドレスフィールドをコ
ード化するための好ましい技術(意図したパイプライン
ステージを作動化するための「コード」としても役立
つ)は、ハフマンによって最初に開示され通称「ハフマ
ンコード」と呼ばれる周知の技術である。ただし、当該
技術分野における通常の熟練者であれば、他の符号化案
を用いても成功するであろうと言うことは理解される筈
である。
According to the invention, in order to allow variable length address fields, addresses are chosen such that short addresses followed by random data are never confused with longer addresses. The preferred technique for encoding the address field (also serving as the "code" for activating the intended pipeline stage) is the well-known technique first disclosed by Huffman and commonly referred to as the "Huffman Code". However, it should be understood by one of ordinary skill in the art that other coding schemes will succeed.

【0161】ハフマン符号化はデジタル設計の分野にお
いてよく理解されているが、一般的な背景を提供するた
めに次の例を示す。
Huffman coding is well understood in the field of digital design, but the following example is provided to provide a general background.

【0162】ハフマンコードは、記号列によって構成さ
れたワードから成る(例えば本発明のようなデジタルシ
ステムの文脈においては、記号は、一般に2進数字であ
る)。コードワードの長さは可変せあり、そして、ハフ
マンコードワードの特殊な性質は、短めのコードワード
を形成する記号で始まる長めのコードワードは有り得な
いようにコードワードが選択されることである。本発明
に基づけば、トークンアドレスフィールドは、既知のハ
フマン符号化技術を用いて選定されることが(必ずしも
必要ではないが)好ましい。
A Huffman code consists of words organized by a sequence of symbols (for example, in the context of digital systems such as the present invention, symbols are generally binary digits). The length of the codeword is variable, and a special property of the Huffman codeword is that the codeword is chosen such that no longer codeword can begin with the symbols forming the shorter codeword. In accordance with the present invention, the token address field is preferably (but not necessarily) selected using known Huffman coding techniques.

【0163】更に、本発明においては、第1のワードト
ークンの最上位ビット(MSB)においてアドレスフィ
ールドが始まることが好ましい。(MSBに関する明示
は任意であり、そして、本案は、MSBに関する様々な
明示を収容するように修正可能である。)アドレスフィ
ールドは、より重要度の低い隣接ビットを介して継続す
る。特定のアプリケーションにおいて、トークンアドレ
スが複数のトークンワードを必要とする場合には、あら
ゆる所定のワード内の最下位のビットであるアドレスフ
ィールドは、その次のワードの最上位ビットにおいて継
続する。アドレスフィールドの最小の長さは1ビットで
ある。
Further, in the present invention, it is preferable that the address field starts at the most significant bit (MSB) of the first word token. (The manifestation for the MSB is arbitrary, and the proposal can be modified to accommodate various manifestations for the MSB.) The address field continues via the less significant contiguous bits. In a particular application, if the token address requires more than one token word, the address field, which is the least significant bit in any given word, continues in the most significant bit of the next word. The minimum length of the address field is 1 bit.

【0164】本発明において使用されるトークンを生成
するためには、数種の既知ハードウェア構造のうちの任
意の1つを使用することが出来る。この種の構造の1つ
は、マイクロプログラムされた状態マシンである。ただ
し、既知のマイクロプロセッサ、または他のデバイスを
使用しても差し支えない。
Any one of several known hardware structures can be used to generate the tokens used in the present invention. One such structure is a microprogrammed state machine. However, known microprocessors or other devices may be used.

【0165】本発明に基づくトークン計画案の主要な利
点は、予測されなかった必要性への適応性を備えている
ことである。例えば、新規なトークンが導入される場
合、この導入は極く少数のパイプラインステージにのみ
影響するのが一般的である。最も有り得る場合は、僅か
に2つのステージ、または回路ブロックが影響されるこ
とである。即ち、一方のブロックはまず第一にトークン
を生成し、そして、いま一方のブロック又はステージ
は、この新しいトークンを扱うために新規に設計、或い
は、修正されたものである。その他のパイプラインステ
ージは、一切改造する必要のないことに注意しされた
い。それどころか、これらのステージは、この新規なト
ークンを認識せず、従って、改造されないトークンを供
給するので、これらのステージの設計を改造することな
しに、新規なトークンを扱うことができる。
The main advantage of the token scheme according to the invention is its adaptability to unforeseen needs. For example, when a new token is introduced, this introduction typically affects only a few pipeline stages. The most likely case is that only two stages, or circuit blocks, are affected. That is, one block first creates a token, and the other block or stage is newly designed or modified to handle this new token. Note that the other pipeline stages do not need to be modified at all. On the contrary, these stages do not recognize this new token and therefore supply unmodified tokens, so that new tokens can be handled without modifying the design of these stages.

【0166】設計済みの既存のデバイスを、実質的に影
響されない状態にしておく能力を持つことは本発明の明
瞭な利点である。1つのチップ・セット内の幾つかの半
導体チップを、前記のチップ・セット内の前記以外の幾
つかの半導体チップを設計面において改良することによ
り、完全に影響を受けない状態にしてをくことが可能で
ある。これは、顧客およびチップメーカー両方の立場か
ら有利である。改造が、設計変更によって全てのチップ
が影響されることを意味するとしても(集積化の進歩レ
ベルが徐々に高くなり、システム内におけるチップの個
数が低下するような条件)、同じ設計を再使用できるの
で、市販されるまでに要する時間の点において、達成可
能な程度よりも優れていると言うかなりの利点が残され
る。
It is a distinct advantage of the present invention that it has the ability to keep an existing designed device substantially unaffected. Keeping some semiconductor chips in one chip set completely unaffected by improving some of the other semiconductor chips in the chip set in design. Is possible. This is an advantage from both the customer and chipmaker's perspective. Reuse the same design, even if the modifications mean that all chips are affected by the design change (conditions that progressively increase the level of integration and reduce the number of chips in the system) As such, it remains a significant advantage in terms of time to market before being achievable.

【0167】特に、2ワードアドレスを含むようにトー
クンセットを拡張することが必要となった場合に起きる
条件に注意されたい。この場合においてさえも、既存の
設計を改造することは未だ必要でない。パイプラインス
テージにおけるトークンデコーダは、この種トークンの
第1ワードを復号化することを試み、そして、第1ワー
ドがトークンを認識しないことを結論する。次に、この
トークンデコーダは、この動作を正しく実施するために
拡張ビットを用いることによって改造されたトークンを
供給する。このトークンデコーダは、第2ワードは、こ
のトークンデコーダが認識しないトークンのデータフィ
ールドの一部であると「仮定する」ので、(当該トーク
ンがアドレスビットを含むとしても)このトークンデコ
ーダは、当該トークンの第2のワードを復号化しようと
試行しない。
Note in particular the conditions that arise when it is necessary to extend the token set to include a two word address. Even in this case, it is not necessary to modify the existing design. The token decoder in the pipeline stage attempts to decode the first word of this kind of token, and concludes that the first word does not recognize the token. The token decoder then supplies the token modified by using the extension bits to properly perform this operation. Since this token decoder "assumes" that the second word is part of the data field of the token that it does not recognize, this token decoder (even if it contains address bits) Do not try to decode the second word of

【0168】多くの場合、パイプラインステージ、また
は接続された回路ブロックはトークンを改造する。これ
は、一般に、ただし、必要条件としてではなく、コーク
ンデータフィールドを改造する形をとる。更に、特定の
データワードを除去するか、或いは、新規なデータワー
ドを付加するかいずれかの方法により、改造しようとす
るトークン内のデータワードの個数を変更するのが一般
的である。場合によっては、トークンは、トークンの流
れから完全に除去される。
In many cases, pipeline stages, or connected circuit blocks, modify the token. This will generally, but not as a requirement, take the form of modifying the cocoon data field. Furthermore, it is common to change the number of data words in the token to be remodeled by either removing specific data words or adding new data words. In some cases, tokens are completely removed from the token stream.

【0169】大抵のアプリケーションにおいて、パイプ
ラインステージは、一般に、2、3のトークンを復号化
する(トークンによって作動化される)に過ぎない。即
ち、ステージは、他のトークンを認識せず、そして、他
のトークンを変更しないで供給する。非常に多くの場
合、ただ1つのトークン、即ち、データトークンアード
自体が復号化される。
In most applications, the pipeline stage generally only decrypts a few tokens (actuated by tokens). That is, the stage does not recognize the other token and supplies the other token unchanged. Very often only one token is decrypted, the data token itself.

【0170】多くのアプリケーションにおいて、特別の
ステージのオペレーションは、自体の過去のオペレーシ
ョンの結果に依存する。従って、ステージの「状態」
は、その前の状態に依存する。換言すれば、ステージ
は、記憶された状態情報に依存し、このことは、当該ス
テージが、1つ又はそれ以上前のクロックサイクルにお
けるそれ自身のヒストリに関するいくらかの情報を保持
しなければならないことを述べる他の方法である。本発
明は、この種の「状態マシン」ステージを含むパイプラ
インにおける使用、並びに、データパスにおけるラッチ
が簡単なパイプラインラッチであるようなアプリケーシ
ョンにおける使用に良く適する。
In many applications, a particular stage of operation depends on the results of its own past operations. Therefore, the "state" of the stage
Depends on the previous state. In other words, the stage relies on stored state information, which means that it must retain some information about its own history in one or more previous clock cycles. Another way to describe. The invention is well suited for use in pipelines that include this type of "state machine" stage, as well as in applications where the latches in the datapath are simple pipeline latches.

【0171】本発明に基づく2線インターフェースが、
この種「状態マシン」(state machine)回路に対して適
合性を有することは、発明の重要な利点である。これ
は、データパスがステートマシンによって制御されつつ
ある場合に特に真である。この場合、上記の2線インタ
ーフェース技術は、マシンの「現行状態」がパイプライ
ンにおいて制御中のデータと歩調を合わせて留まってい
ることを保証するために使用できる。
A two-wire interface according to the invention is
Compatibility with this type of "state machine" circuit is an important advantage of the invention. This is especially true when the datapath is being controlled by the state machine. In this case, the two wire interface technique described above can be used to ensure that the "current state" of the machine remains in step with the data it is controlling in the pipeline.

【0172】トークンアドレスフィールドを復号化する
ためにパイプラインステージに含まれる回路の1つの例
の簡素化された構成図を図11に示す。この図は、「状
態マシン」の特性を持つパイプラインステージを示す。
トークンの各ワードは1つの「拡張ビット」を含み、こ
のビットは、当該トークン内にこれより多くのワードが
あればHIGHであり、或いは、これがトークンの最終
ワードであるばLOWである。これがトークンの最終ワ
ードである場合には、その次の有効なデータワードは、
新規なトークンの開始であり、従って、そのアドレスは
復号化されなければならない。従って、あらゆる所定の
ワードにおけるトークンアドレスを復号化するかどうか
に関する決定は、前の拡張ビットの値を知ることに依存
する。
A simplified block diagram of one example of circuitry included in the pipeline stage for decoding the token address field is shown in FIG. This figure shows a pipeline stage with "state machine" characteristics.
Each word of the token contains one "extension bit," which is HIGH if there are more words in the token, or LOW if this is the last word of the token. If this is the last word of the token, then the next valid data word is
It is the start of a new token, so its address must be decrypted. Therefore, the decision as to whether to decode the token address in any given word depends on knowing the value of the previous extension bit.

【0173】図面を簡潔にする目的だけのために、2線
インターフェース(受入れ、及び妥当性検査信号、及び
ラッチと共に)は図示しないこととし、そして、回路を
リセットすることを扱う全ての詳細については省略する
こととする。以前と同様に、8ビットデータワードは、
制約のためでなく、単なる例として仮定される。
For the purpose of simplifying the drawing only, the 2-wire interface (with accept and validation signals, and latches) will not be shown, and for all details dealing with resetting the circuit It will be omitted. As before, the 8-bit data word is
It is assumed as an example only, not due to constraints.

【0174】この一例としてのパイプラインステージ
は、データビット及び拡張ビットを1つのパイプライン
ステージだけ遅延させる。更に、このステージは、デー
タトークンを復号化する。回路出力にデータトークンの
第1ワードが供給される時点において、信号「データA
DDR」が作られ、そして、HIGHにセットされる。
データビットは、ラッチLDIN及びLDOUTによっ
て遅延され、これらラッチの各々は、この例(8入力8
出力ラッチに対応する)に使われる8データビットに対
して8回繰り返される。同様に、拡張ビットは、拡張ビ
ットラッチLEIN、及びLEOUTによって遅延され
る。
This exemplary pipeline stage delays the data bits and extension bits by one pipeline stage. In addition, this stage decrypts the data token. At the time when the first word of the data token is supplied to the circuit output, the signal "data A
DDR "is created and set HIGH.
The data bits are delayed by latches LDIN and LDOUT, each of these latches being in this example (8 inputs 8
It is repeated eight times for the eight data bits used for (corresponding to the output latch). Similarly, extension bits are delayed by extension bit latches LEIN and LEOUT.

【0175】この例において、ラッチLEPREVは、
拡張ビットの最も最近の状態を記憶するために備えられ
る。拡張ビットの値はLEINにロードされ、そして、
非重複クロック位相信号PH1のその次の立ち上がりエ
ッジにおいてLEOUTにロードされる。従って、ラッ
チLEOUTは、現行拡張ビットの値を含むが、非重複
2相クロックの後半期間中のみに限られる。ただし、ラ
ッチLEPREVは、この拡張ビット値をクロック信号
PH0、即ち、拡張ビット入力ラッチLEINを作動可
能にする同一信号のその次の立ち上がりエッジにおいて
ロードする。従って、ラッチLEPPEVの出力QEP
REVは、前のPH0クロック位相の期間中、拡張ビッ
トの値を保持する。反転Q出力からのデータワード出力
の5ビットにラッチLDINの非反転MD[2]を加え
た結果は、一連の論理ゲートNAND1、NAND2、
及びNOR1における前の拡張ビット値QEPPEVと
組合わされる。これらのオペレーションについては、デ
ジタル設計技術の分野において周知である。称呼「NM
D[m]」は、ミッドデータワードMD[7:0]のビ
ットmの論理的な反転を示す。既知のブール代数技術を
用いると、前の拡張ビットが「0」(QPPEV=
「0」)である場合に限りこの論理ブロック(NOR1
からの出力)からの出力信号SAはHIGH(「1」)
であり、 るということが示され得るそして、非反転Q
ラッチ(オリジナルの入力ワード)LDINの出力にお
けるデータワード構造は「000001xx」であるこ
とが分かる。即ち、5つの高位ビットであるMD[7]
−MD[3]ビットは全て「0」であり、そして、ビッ
トMD[2]は「1」であり、そして、ゼロ‐ワン位置
におけるビットはあらゆる任意の値を持つ。
In this example, the latch LEPREV is
It is provided to store the most recent state of the extension bit. The value of the extension bit is loaded into LEIN, and
LEOUT is loaded on the next rising edge of the non-overlapping clock phase signal PH1. Therefore, the latch LEOUT contains the value of the current extension bit, but only during the second half of the non-overlapping two-phase clock. However, the latch LEPREV loads this extension bit value at the next rising edge of the clock signal PH0, the same signal that enables the extension bit input latch LEIN. Therefore, the output QEP of the latch LEPPEV
REV holds the value of the extension bit during the previous PH0 clock phase. The result of adding the non-inverted MD [2] of the latch LDIN to the 5 bits of the data word output from the inverted Q output is a series of logic gates NAND1, NAND2,
, And the previous extension bit value QEPPEV in NOR1. These operations are well known in the field of digital design technology. Nickname "NM
D [m] "indicates the logical inversion of bit m of mid data word MD [7: 0]. Using known Boolean algebra techniques, the previous extension bit is "0" (QPPEV =
This logical block (NOR1
Output signal SA is HIGH (“1”)
And can be shown to be
It can be seen that the data word structure at the output of the latch (original input word) LDIN is "000001xx". That is, five high-order bits, MD [7]
-MD [3] bits are all "0" s, and bits MD [2] are "1" s, and the bits in the zero-one positions have any arbitrary value.

【0176】従って、4つの可能なデータワードは
(「xx」の4つの順列がある)、SA、及びひいて
は、入力SAがその入力に接続されているアドレス信号
ラッチLADDRの出力をHIGHにする。換言すれ
ば、このステージは、4つの可能な適正トークンの1つ
が供給される場合、及び前の拡張ビットがゼロであった
場合、すなわち、前のデータワードが、前の一連のトー
クンワードにおける最終ワードであって、現行トークン
ワードが現行トークンにおける第1トークンワードであ
ることを意味する場合に限り、作動化信号(データAD
DP「1」)を供給する。
The four possible data words (there are four permutations of "xx") therefore drive the output of the address signal latch LADDR whose SA, and thus the input SA, is connected to its input. In other words, this stage is such that if one of the four possible correct tokens is provided and if the previous extension bit was zero, i.e. the previous data word is the last in the previous series of token words. A word, meaning that the current token word is the first token word in the current token, the activation signal (data AD
DP "1") is supplied.

【0177】従って、ラッチLEPREVからの信号Q
PREVがLOWである場合、ラッチLDINの出力に
おける値は、新規なトークンの第1ワードである。ゲー
トNAND1、NAND2、及びNOR1は、データト
ークン(000001xx)を復号化する。ただし、こ
のアドレス復号化信号SAは、信号データADDRが出
力データOUTデータ、及びOUTEXTNと同じタイ
ミングを持つように、ラッチLADOPにおいて遅延さ
れる。
Therefore, the signal Q from the latch LEPREV
When PREV is LOW, the value at the output of latch LDIN is the first word of the new token. The gates NAND1, NAND2, and NOR1 decode the data token (000001xx). However, the address decoding signal SA is delayed in the latch LADOP so that the signal data ADDR has the same timing as the output data OUT data and OUTEXTN.

【0178】本発明に基づく状態従属パイプラインステ
ージの別の簡単な例を図12に示す。この例は、前の出
力拡張ビットOUTEXTNの値を示すために信号LA
STOUTEXTNを生成する。それぞれ現行および最
終拡張ビットラッチLEOUT及びLEPPEVへの2
つの作動可能化信号(CK入力における)のうちの1つ
の信号は、データが有効なであり、そして、受け入れら
れつつある場合に(出力妥当性検査および受入れラッチ
LVOUT及びLAOUTからのQ出力はそれぞれHI
GHである)、これらのラッチがこれらのラッチに対す
る新規な値だけをロードするように、ゲートAND1か
ら派生する。このようにして、これらの信号は有効な拡
張ビットのみを保持し、そして、有効でないデータと関
連している真でない値はこれらの信号にはロードされな
い。図12に示す実施例において、2線有効/受入れ可
能ロジックは、下流の受入れ信号、及び妥当性検査ラッ
チLVIN及びLVOUTそれぞれの非反転出力から成
る入力信号を供給されるOR1及びOR2ゲートを含
む。これは、ラッチが反転出力を持つ場合に、図8にお
けるゲートNAND1/2、及びINV1/2が置き換
え可能であるような1つの方法を示す。
Another simple example of a state dependent pipeline stage according to the present invention is shown in FIG. This example shows the signal LA to indicate the value of the previous output extension bit OUTEXTN.
Generate STOUTEXTN. 2 to the current and final extension bit latches LEOUT and LEPPEV, respectively
One of the two enable signals (at the CK input) indicates that the data is valid and is being accepted (the output validation and Q outputs from the accept latches LVOUT and LAOUT, respectively). HI
GH), so that these latches load only the new values for these latches from gate AND1. In this way, these signals only hold valid extension bits, and non-true values associated with invalid data are not loaded into these signals. In the embodiment shown in FIG. 12, the 2-wire valid / acceptable logic includes OR1 and OR2 gates that are provided with a downstream accept signal and an input signal consisting of the non-inverting output of each of the validation latches LVIN and LVOUT. This illustrates one way in which the gates NAND1 / 2 and INV1 / 2 in FIG. 8 can be replaced if the latch has an inverting output.

【0179】これは、「状態従属」パイプラインステー
ジの非常に簡単な例、即ち、ただ1つの単一ビットの状
態に依存する例であるが、パイプラインステージ間にお
いてデータが実際に転送される場合に限り、状態情報を
保持する全てのラッチが更新されることは全体的に真で
ある。換言すれば、データが双方共有効であり、そし
て、その次のステージによって受け入れられつつある場
合に限られる。従って、この種のラッチが適切にリセッ
トされていることを保証するために、注意しなけばなら
ない。
This is a very simple example of a "state-dependent" pipeline stage, ie one that depends on the state of only one single bit, but the data is actually transferred between the pipeline stages. Only in all cases is it true that all latches holding state information are updated. In other words, only if the data are both valid and are being accepted by the next stage. Therefore, care must be taken to ensure that this type of latch is properly reset.

【0180】本発明に基づいてトークンを生成および使
用することは、パイプラインを介してデータを転送する
ための周知の符号化技術よりも数々の利点を提供する。
Generating and using tokens in accordance with the present invention offers numerous advantages over known encoding techniques for transferring data through pipelines.

【0181】第1に、既に説明したように、一般のトー
クンの効率的な表現を提供するために、トークンのアド
レスフィールドの長さは可変であっても差し支えない
(そして、例えば、ハフマン符号化を利用できる)。
First, as already mentioned, the length of the token's address field can be variable (and, for example, Huffman coding) in order to provide an efficient representation of a general token. Available).

【0182】第2に、トークンの長さについて一貫性の
ある符号化を行うことにより、所定のパイプラインステ
ージにおけるトークンデコーダ回路により当該トークン
が認識されない場合であっても、トークンの終了が(従
って、その次のトークンのスタートが)正しく処理され
ることを可能にする(簡単で非操作的な転送を含む)。
Second, by consistently encoding the length of the token, the end of the token (thus Allows the next token's start to be processed correctly (including simple, non-operational transfers).

【0183】第3に、未認識トークンを扱うための(即
ち、変更されないままでトークンを供給するための)規
則及びハードウェア構造により1つのステージとパイプ
ライン内の最も近い隣接ステージでない下流のステージ
との間の通信を可能にする。更に、これは、既存のパイ
プラインステージの大規模な再設計を必要とすることな
くトークンセットの将来における変更を可能にするの
で、パイプラインの拡張可能性および効率的適応性を増
大する。本発明のトークンは、以上および以下において
説明されるように、2線インターフェースと共に使用し
た場合に、特に有用である。
Third, one stage and the nearest non-adjacent downstream stage in the pipeline due to the rules and hardware structure for handling unrecognized tokens (ie, for supplying tokens unchanged). Allows communication with. In addition, this allows future changes to the token set without requiring a major redesign of the existing pipeline stages, thus increasing the scalability and efficient adaptability of the pipeline. The tokens of the present invention are particularly useful when used with a two wire interface, as described above and below.

【0184】図13及び図14に示す例としてのパイプ
ラインステージの機能について次に説明する。ステージ
が予定されたトークン(この例においてデータトークン
と称する)を処理しつつある場合に、当該ステージは、
このトークンにおけるデータトークンのアドレスフィー
ルドを含む第1ワード以外の全てのワードを二重化す
る。一方、ステージが、他の種類の任意のトークンを処
理しつつある場合、当該ステージは、全てのワードを削
除する。全体的な効果は、出力において、データトーク
ンのみが現れ、そして、これらのトークン内の各ワード
は2度繰り返される。
The function of the exemplary pipeline stage shown in FIGS. 13 and 14 will now be described. If a stage is processing a scheduled token (referred to as a data token in this example), the stage
All words except the first word, including the address field of the data token in this token, are duplicated. On the other hand, if the stage is processing any other type of token, the stage deletes all words. The overall effect is that only data tokens will appear at the output, and each word within these tokens will be repeated twice.

【0185】ここに図示されたシステムの多数の部品
は、図4、図5、図6、及び図7に示す遥かに簡単な構
造に示されている部品と同じであっても差し支えない。
このことは重要な利点を例証する。僅かに改造するか、
或は、一切の改造なしに、同じ2線インターフェースを
使用できるので、更に複雑なパイプラインステージであ
っても、融通性および弾力性に関して同じ利点を有す
る。
Many of the components of the system illustrated herein can be the same as those depicted in the much simpler structure shown in FIGS. 4, 5, 6 and 7.
This illustrates an important advantage. A little modification,
Alternatively, even the more complex pipeline stages have the same advantages in terms of flexibility and elasticity as the same 2-wire interface can be used without any modification.

【0186】図13、図14に示すデータ二重化ステー
ジは、所定のアプリケーションにおいてパイプラインス
テージが遂行することのできる無数にある異なるタイプ
のオペレーションのほんの一例に過ぎない。ただし、こ
の「二重化ステージ」は、「ボトルネック」を形成する
可能性があり、その結果として、この実施例に基づくパ
イプラインが「一緒にパックとなる」ようなテージを示
す。
The data duplexing stages shown in FIGS. 13 and 14 are but one example of the myriad of different types of operations that pipeline stages can perform in a given application. However, this “duplexing stage” can form a “bottleneck” and, as a result, show tages such that the pipeline according to this embodiment “packs together”.

【0187】「ボトルネック」は、そのオペレーション
を遂行するために比較的長い時間を要するか、或いは、
パイプラインにおいて、受け取ったよりも、より多くの
データを作るあらゆるステージであり得る。更に、この
例は、この実施例に基づいた2線受け入れ/有効インタ
ーフェースが異なるアプリケーションに非常に容易に適
応可能であることを示す。
A "bottleneck" is that it takes a relatively long time to perform its operation, or
It can be any stage in the pipeline that produces more data than it receives. Furthermore, this example shows that the two-wire accept / valid interface according to this embodiment can be very easily adapted to different applications.

【0188】図13、図14に示す二重化ステージは、
図11の例に示すように各々ステージの入力および出力
における拡張ビットの状態をラッチする2つのラッチL
EIN及びLEOUTを持つ。図13、図14に示すよ
うに、入力拡張ラッチLEINは、入力データラッチL
DIN及び妥当性検査信号IN VALIDと共に同期
的にクロックされる。 参照を容易にするために、二重
化ステージに含まれる種々のラッチは、それぞれ特有の
出力信号と共に対を構成する。
The duplexing stage shown in FIGS. 13 and 14 is
As shown in the example of FIG. 11, two latches L for latching the states of extension bits at the input and output of each stage.
It has EIN and LEOUT. As shown in FIGS. 13 and 14, the input expansion latch LEIN is the input data latch L
Synchronously clocked with DIN and the validation signal INVALID. For ease of reference, the various latches included in the duplexing stage form a pair with each unique output signal.

【0189】二重化ステージにおいて、データラッチL
DINからの出力は、MIDデータと称する中間データ
を形成する。この中間データワードは、中間受入れ信号
(図13、図14において「MID ACCEPT」と
参照)がHIGHにセットされている場合に限りデータ
出力ラッチLDOUTにロードされる。
In the duplication stage, the data latch L
The output from DIN forms intermediate data called MID data. This intermediate data word is loaded into the data output latch LDOUT only when the intermediate accept signal (see "MID ACCEPT" in FIGS. 13 and 14) is set HIGH.

【0190】図13、図14に示す受入れラッチLAI
N、LAOUTの下の回路部分は、データを二重化する
ために使われる様々な内部制御信号を生成するために、
基礎的なパイプライン構造に付加される回路である。こ
れらの信号には、当該回路が有効なデータトークンを処
理中であることを示す「データトークン」信号、及びデ
ータの二重化を制御するために使われるNOT DUP
LICATE信号が含まれる。回路がデータトークンを
処理中である場合には、NOT DUPLICATE信
号はHIGH状態とLOW状態の間でトグルし、そし
て、これによって、当該トークン内の各ワードを1度
(1度に限る)二重化させる。回路が有効なデータトー
クンを処理中である場合には、NOT DUPLICA
TE信号はHIGH状態に保持される。従って、これ
は、処理されつつあるトークンワードが二重化されない
ことを意味する。
The receiving latch LAI shown in FIGS. 13 and 14.
A circuit part under N, LAOUT is used to generate various internal control signals used to duplicate data.
It is a circuit added to the basic pipeline structure. These signals include a "data token" signal indicating that the circuit is processing a valid data token, and a NOT DUP used to control data duplication.
The LICATE signal is included. If the circuit is processing a data token, the NOT DUPLICATE signal toggles between HIGH and LOW states, which causes each word in the token to be duplicated once (and only once). . NOT DUPLICA if the circuit is processing a valid data token.
The TE signal is held in the HIGH state. Therefore, this means that the token word being processed is not duplicated.

【0191】図13、図14に示すように、8ビット中
間データワードの上位6ビット、及びラッチLI1から
の出力信号QI1は、 フォーム入力から論理ゲートN
OR1、NOR2、NAND18のグループへの入力を
形成する。ゲートNAND18からの出力信号はS1と
表示される。周知のブール代数を用いて、出力信号QI
1が「1」であり、そして、MIDデータワードが次に
示す構造を持つ間合いに限り信号S1が「0」であると
いうことを示すことが出来る。「000001xx」即
ち、上位5ビットは全て「0」であり、ビットMIDデ
ータ[2]は「1」であり、そして、MIDデータ
[1]におけるビット及びMIDデータ[0]位置はあ
らゆる任意の値を持つ。従って、信号S1は、MIDデ
ータ信号が予定された構造を持ち、そして、ラッチLI
1からの出力が「1」である場合に限りローである「ト
ークン識別信号」として作用する。ラッチLI1、及び
その出力QI1の性質について以下に更に説明する。
As shown in FIGS. 13 and 14, the upper 6 bits of the 8-bit intermediate data word and the output signal QI1 from the latch LI1 are transmitted from the form input to the logic gate N.
It forms the input to the group of OR1, NOR2, NAND18. The output signal from the gate NAND 18 is labeled S1. Using the well-known Boolean algebra, the output signal QI
It can be shown that the 1 is a "1" and that the signal S1 is a "0" only during the time period when the MID data word has the following structure. “000001xx”, that is, all the upper 5 bits are “0”, the bit MID data [2] is “1”, and the bit in the MID data [1] and the MID data [0] position are any arbitrary values. have. Therefore, the signal S1 has a structure in which the MID data signal is scheduled, and the latch LI
Acts as a "token identification signal" that is low only if the output from 1 is "1". The nature of latch LI1 and its output QI1 is further described below.

【0192】ラッチLO1は、中間拡張ビットの最後の
値をラッチする機能を遂行し(「MID EXTN」及
び信号S4として表示)、そして、この値をクロック位
相PH0のその次の立ち上がりエッジにおいてラッチL
I1にロードする。このラッチの出力はビットQI1で
あり、そして、信号S1を形成するトークン復号化論理
グループへの入力の1つである。既に説明したように、
信号S1は、信号QI1が「1」である場合に「0」ま
でただ降下する(そして、MIDデータ信号は予定され
た構造を持つ)。従って、信号S1は、最後の拡張ビッ
トが「0」であった場合には何時でも「0」までただ降
下し、前のトークンが終了したことを示す。従って、M
IDデータワードは、新しいトークンにおける第1デー
タワードである。
Latch LO1 performs the function of latching the last value of the intermediate extension bit (denoted as "MID EXTN" and signal S4) and latches this value on the next rising edge of clock phase PH0.
Load to I1. The output of this latch is bit QI1 and is one of the inputs to the token decoding logic group forming signal S1. As already mentioned,
The signal S1 just drops to "0" if the signal QI1 is "1" (and the MID data signal has the expected structure). Therefore, the signal S1 just drops to "0" at any time if the last extension bit was "0", indicating that the previous token has ended. Therefore, M
The ID data word is the first data word in the new token.

【0193】ラッチLO2、及びL12は、NANDゲ
ートNAND20、及びNAND22と共に、信号デー
タトークンのための記憶装置を形成する。正常な条件に
おいて、NAND20への入力における信号QI1、及
びNAND22への入力における信号S1は、両方共論
理「1」である。再度ブール代数の技術により、この条
件において、これらのNANDゲートがインバータと同
じ方法において作動することがわかる。すなわち、ラッ
チLI2の出力からの信号Q12は、NAND20にお
いて反転され、そして、次に、この信号は、NAND2
2によって再び反転されて信号S2を形成する。この場
合、この通路には2つの論理的反転があるので、信号S
2は、QI2と同じ値を持つ。
Latches LO2 and L12, along with NAND gates NAND20 and NAND22, form a storage device for the signal data token. Under normal conditions, signal QI1 at the input to NAND 20 and signal S1 at the input to NAND 22 are both logic "1". Again by Boolean algebra techniques, it can be seen that under these conditions these NAND gates behave in the same way as inverters. That is, the signal Q12 from the output of the latch LI2 is inverted in NAND20, and then this signal is NAND2.
It is inverted again by 2 to form the signal S2. In this case, since there are two logical inversions in this path, the signal S
2 has the same value as QI2.

【0194】どうように、ラッチLO2の出力における
信号データトークンがLI2への入力を形成するという
ことが分かる。その結果、QH1及びS1は両方共HI
GHであるという条件に留まる限り、信号データトーク
ンは、その状態(「0」、または「1」)を保持する。
クロック信号PH0、及びPH1がラッチ(それぞれL
12、及びLO2)をクロックしつつある場合にも、こ
れは真である。信号QI1、及びS1の1つ、または双
方共に「0」である場合、データトークンの値は変化可
能であるに過ぎない。
It can be seen how the signal data token at the output of latch LO2 forms the input to LI2. As a result, QH1 and S1 are both HI
As long as it remains GH, the signal data token retains its state (“0” or “1”).
Clock signals PH0 and PH1 are latched (each L
This is also true when clocking 12 and LO2). The value of the data token is only changeable if one or both of the signals QI1 and S1 are “0”.

【0195】既に早期に説明したように、前の拡張ビッ
トが「0」であった場合に信号QI1は「0」である。
従って、NIDデータ値がトークンの第1ワードである
場合には何時でも、前期の信号は「0」である(そし
て、当該トークン用のアドレスフィールドが含まれ
る)。この条件において、信号S1は、「0」または
「1」のいずれかである。既に早期に説明したように、
MIDデータワードがこの例においてはデータトークン
を示す予定された構造を持つ場合には、信号S1は
「0」である。MIDデータワードが他の構造を持つ場
合には(当該トークンがデータトークンでない他のトー
クンであることを示す)、S1は「1」である。
As already explained earlier, the signal QI1 is "0" if the previous extension bit was "0".
Therefore, whenever the NID data value is the first word of the token, the previous signal is "0" (and the address field for that token is included). Under this condition, the signal S1 is either "0" or "1". As I explained earlier,
If the MID data word has the expected structure, which in this example represents a data token, the signal S1 is "0". If the MID data word has another structure (indicating that the token is another token that is not a data token), S1 is "1".

【0196】QI1が「0」、及びS1が「1」である
場合には、これは、データトークン以外のトークンが在
ることを示す。デジタル電子工学の分野において周知さ
れているように、NAND20の出力は「1」である。
NANDゲートNAND22はこれを反転し(既に説明
したように)、そして、信号S2は「0」である。その
結果、この「0」値は、その次のPH1クロック位相の
開始に際してラッチLO2にロードされ、そして、デー
タトークン信号は「0」になり、当該回路がデータトー
クンの処理中でないことを示す。
When QI1 is "0" and S1 is "1", this indicates that there is a token other than the data token. As is well known in the field of digital electronics, the output of NAND 20 is "1".
NAND gate NAND22 inverts this (as described above) and signal S2 is a "0". As a result, this "0" value is loaded into the latch LO2 at the beginning of the next PH1 clock phase, and the data token signal goes to "0", indicating that the circuit is not processing a data token.

【0197】QI1が「0」であり、そして、S0が
「0」であり、それによりデータトークンを示す場合に
は、(NAND20の出力からのNAND22への他の
入力であるにも拘わらず)信号S2は「1」である。そ
の結果、この「1」値は、その次のPH1クロック位相
の開始に際してラッチLO2にロードされ、そして、デ
ータトークン信号は「1」になり、当該回路がデータト
ークンを処理中であることを示す。
If QI1 is "0" and S0 is "0", thereby indicating a data token (despite the other input from NAND20 output to NAND22). The signal S2 is "1". As a result, this "1" value is loaded into latch LO2 at the beginning of the next PH1 clock phase, and the data token signal goes to "1", indicating that the circuit is processing a data token. .

【0198】NOT DUPLICATE信号(出力信
号QO3)は、クロックPH0のその次の立ち上がりエ
ッジにおいてラッチL13にロードされる。ラッチLI
3からの出力信号QI3は、信号S3を形成するため
に、ゲートNAND24における出力信号Q12と組合
わされる。以前同様ブール代数を用いて、信号QI2及
びQI3両方の値「1」である場合に限り、信号S3が
「0」であることが分かる。信号QI2が「0」になる
場合、即ち、データトークン信号が「0」である場合、
信号53は「1」になる。換言すれば、有効なデータト
ークン(QI2=0)がない場合、或いは、データワー
ドが二重化(QI3=0)ではない場合、信号S3はハ
イになる。
The NOT DUPLICATE signal (output signal QO3) is loaded into latch L13 at the next rising edge of clock PH0. Latch LI
The output signal QI3 from 3 is combined with the output signal Q12 at gate NAND 24 to form signal S3. Using Boolean algebra as before, it can be seen that signal S3 is "0" only if both signals QI2 and QI3 have the value "1". When the signal QI2 becomes “0”, that is, when the data token signal is “0”,
The signal 53 becomes "1". In other words, the signal S3 goes high if there is no valid data token (QI2 = 0) or if the data word is not duplex (QI3 = 0).

【0199】ここで、データトークン信号が、1クロッ
ク信号以上に亙ってHIGHのままであるものと仮定す
る。NOT DUPLICATE信号(QO3)はラッ
チLI3に「フィードバック」され、そして、ゲートN
AND24によって反転される(その別の入力QI2は
HIGHに保持される)ので、出力信号QO3は「0」
と「1」との間でトグルする。ただし、有効なデータト
ークンが無い場合には、信号QI2は「0」であり、そ
して、DATEトークン信号がもう一度「1」になるま
で信号S3及び出力QO3はHIGHに強制される。出
力QO3(NOT DUPLICATE信号)は同様に
フィードバックされ、そして、信号QA1及びQO3の
両方の値が「1」である場合に限りそれらの出力が
「1」であるような一連の論理ゲート(一緒にANDゲ
ートを形成するNAND16及びINV16)における
受入れラッチLAINからの出力QA1と組合わされ
る。図13、図14に示すように、ANDゲート(ゲー
トINV16にによって後続されるゲートNAND1
6)からの出力も同様に受入れ信号IN ACCEPT
を形成する。この受入れ信号は、すでに述べたように、
2線インターフェース構造において用いられる。
Here, it is assumed that the data token signal remains HIGH for one clock signal or more. The NOT DUPLICATE signal (QO3) is "feeded back" to latch LI3, and gate N
Since it is inverted by AND24 (the other input QI2 is held at HIGH), the output signal QO3 is "0".
Toggle between "1" and "1". However, if there is no valid data token, the signal QI2 is "0" and the signal S3 and output QO3 are forced HIGH until the DATE token signal becomes "1" again. The output QO3 (NOT DUPLICATE signal) is fed back in the same way, and a series of logic gates whose output is "1" (together together if and only if the values of both signals QA1 and QO3 are "1") Combined with the output QA1 from the receiving latch LAIN in NAND16 and INV16) forming an AND gate. As shown in FIGS. 13 and 14, an AND gate (gate NAND1 followed by gate INV16
Similarly, the output from 6) is the acceptance signal IN ACCEPT.
To form. This acceptance signal, as already mentioned,
Used in a two-wire interface structure.

【0200】受入れ信号IN ACCEPTは、ラッチ
LDIN、LEIN、及びLVINに対する作動可能化
信号として用いられる。その結果、NOT DUPLI
CATE信号がローである場合には、受入れ信号IN
ACCEPTもローであり、そして、これら3つのラッ
チ全てが無能化され、そして、それらの出力に記憶され
た値を保持する。NOT DUPLICATE信号がH
IGHになる時まで、ステージは、新しいデータを受け
入れない。これは、受入れラッチLAINからの出力を
ハイに強制するために、上記の必要条件に追加される。
The acceptance signal IN ACCEPT is used as the enablement signal for the latches LDIN, LEIN, and LVIN. As a result, NOT DUPLI
If the CATE signal is low, the acceptance signal IN
ACCEPT is also low, and all three latches are disabled and hold the value stored at their outputs. NOT DUPLICATE signal is H
The stage will not accept new data until it becomes IGH. This is in addition to the above requirement to force the output from the accept latch LAIN high.

【0201】有効なデータトークンが在る(データトー
クン信号QO2が「1」である)限り、信号QO3は、
HIGH状態とLOW状態の間でトグルする。その結
果、入力ラッチが作動化され、そして、長くとも、両方
のクロック位相PH0、PH1の1つおきの完全サイク
ルの期間に亙ってデータ受け入れ可能となる。「HIG
H」OUT ACCEPT信号によって指示されるよう
に、その次のステージのデータ受け入れ準備が整うこと
と言う追加的条件は、勿論、依然として満足されていな
ければならない。従って、少なくとも2つの全クロック
サイクルの期間に亙って、出力ラッチLDOUTは、同
じデータワードを出力バスOUTデータに配置する。有
効なデータトークン(QO2 HIGH)が所在し、そ
して、妥当性検査信号QVOUTがHIGHである場合
に限りOUT VALID信号は「1」である。
As long as there is a valid data token (data token signal QO2 is "1"), signal QO3 is:
Toggle between HIGH and LOW states. As a result, the input latches are activated and, at a maximum, data is available for every other complete cycle of both clock phases PH0, PH1. "HIG
The additional condition that the next stage is ready to accept data, as indicated by the "H" OUT ACCEPT signal, must of course still be satisfied. Thus, for at least two full clock cycles, the output latch LDOUT places the same data word on the output bus OUT data. The OUT VALID signal is "1" only if there is a valid data token (QO2 HIGH) and the validation signal QVOUT is HIGH.

【0202】MIDデータに対応する拡張ビットである
信号QEINは、信号S4を形成するために、一連の論
理ゲート(INV10、及びNAND10)において信
号S3と組合わされる。データトークンの表示期間中、
各データワードMIDデータは、それを出力ラッチLD
OUTに2度ロードすることによって反復される。これ
らの第1の期間中、S4は、NAND10の作用によっ
て「1」に強制される。信号S4は、OUTデータ
[7:0]を形成するためにMIDデータがLDOUT
にロードされるのと同時にOUTEXTNを形成するた
めに、ラッチLEOUTにロードされる。
The extension bit corresponding to the MID data, signal QEIN, is combined with signal S3 in a series of logic gates (INV10 and NAND10) to form signal S4. During the display period of the data token,
Each data word MID data outputs it to the output latch LD
Iterate by loading OUT twice. During these first periods, S4 is forced to "1" by the action of NAND10. The signal S4 is MOUT data LDOUT in order to form OUT data [7: 0].
At the same time it is loaded into the latch LEOUT to form OUTEXTN.

【0203】このように、最初には所定のMIDデータ
がLEOUTにロードされ、関連しているOUTEXT
Nがハイに強制されるが、2番目には、OUTEXTN
は信号QEINと同じである。ここで、QEINがロー
であることが既知である1つのトークンの最終ワードの
期間中における条件について考察することとする。第一
の期間中、MIDデータがLDOUTにロードされ、O
UTEXTNは「1」であり、そして、第2の期間中、
OUTEXTNは「0」であって、当該トークンの真の
終了を示す。
In this way, the predetermined MID data is initially loaded into LEOUT, and the associated OUTEXT
N is forced high, but second, OUTEXTN
Is the same as the signal QEIN. Now consider the condition during the last word of one token, where QEIN is known to be low. During the first period, MID data is loaded into LDOUT and O
UTEXTN is "1", and during the second period,
OUTEXTN is "0" and indicates the true end of the token.

【0204】妥当性検査ラッチLVINからの出力信号
QVINは、信号S5を形成するために、同様のゲート
組合わせ(INVl2、及びNANDl2)において信
号QI3と組合わされる。周知のブール技術を用いるこ
とにより、妥当性検査信号QVINがHIGHである場
合、或いは、信号QI3がローである場合(データが二
重化であることを示す)のいずれかの場合において、信
号S5がHIGHであることがわかる。MIDデータが
LDOUTにロードされ、そして、中間拡張ビット(信
号S4)がLEOUTにロードされると同時に、信号S
5が妥当性検査出力ラッチLVOUTにロードされる。
同様に、信号S5は、出力妥当性検査信号OUT VA
LIDを形成するために、論理ゲートNAND30、及
びINV30における信号QO2(データトークン信
号)と組合わされる。既に早期に述べたように、有効な
トークンが在り、そして、妥当性検査信号QVOUTが
ハイである場合に限り、OUT VALIDはHIGH
である。
The output signal QVIN from the validation latch LVIN is combined with the signal QI3 in a similar gate combination (INV12 and NAND12) to form the signal S5. Using the well known Boolean technique, signal S5 goes HIGH either when validation signal QVIN is HIGH or when signal QI3 is LOW (indicating that the data is duplexed). It can be seen that it is. At the same time as the MID data is loaded into LDOUT and the intermediate extension bit (signal S4) is loaded into LEOUT, the signal S
5 is loaded into the validation output latch LVOUT.
Similarly, the signal S5 is the output validation signal OUT VA.
Combined with signal QO2 (data token signal) at logic gate NAND30 and INV30 to form a LID. As already mentioned earlier, OUT VALID is HIGH only if there is a valid token and the validation signal QVOUT is high.
Is.

【0205】本発明において、MID ACCEPT信
号は、ラッチLOl、LO2、及びLO3に対して2つ
の作動可能化信号のうちの1つとして用いられる信号S
6を形成するために周知のAND機能を遂行する一連の
論理ゲート(NAND26、及びINV26)における
信号S5と結合される。MID ACCEPT信号がH
IGHであり、そして、妥当性検査信号QVINがハイ
であるか、或いは、トークンが二重化であるか(QI3
は「0」である)えずれかの場合に信号S6は「1」に
上昇する。信号MID ACCEPTがHIGHである
場合には、ステージの入力において有効な入力データが
ロードされる時にはいつでも、クロック信号PH1がハ
イである場合、或いは、ラッチされたデータが二重化で
ある場合、ラッチLO1−LO3は作動可能化される。
In the present invention, the MID ACCEPT signal is the signal S used as one of the two enable signals for the latches LOl, LO2, and LO3.
6 is combined with signal S5 on a series of logic gates (NAND26, and INV26) which perform the well-known AND function to form 6. MID ACCEPT signal is H
IGH and the validation signal QVIN is high or the token is dual (QI3
Signal S6 rises to "1" if there is a deviation. If the signal MID ACCEPT is HIGH, then whenever the input of the stage is loaded with valid input data, if the clock signal PH1 is high, or if the latched data is a duplicate, then the latch LO1- LO3 is enabled.

【0206】以上の検討から、図13、図14に示すス
テージが、妥当性検査および受入れ信号の制御の下にス
テージ間のデータを受け取り、そして、転送することが
分かる。ただし、前の実施例の場合のように、入力側に
おける受入れラッチLAINからの出力信号がトグルす
る二重化信号と結合されることは例外であり、その結
果、データワードは、新規なワードが受け入れられる以
前に2度出力される。
From the above discussion, it can be seen that the stages shown in FIGS. 13 and 14 receive and transfer data between stages under the control of validation and acceptance signals. However, as in the previous embodiment, the exception is that the output signal from the accept latch LAIN on the input side is combined with a toggling duplex signal, so that the data word is accepted by the new word. It was output twice before.

【0207】例えばNAND16及びINV16のよう
な各種論理ゲートは、勿論、等価論理回路(この場合に
は、1つの単一ANDゲート)によって置き換えること
が可能である。同様に、例えば、ラッチLEIN、及び
LVINの出力が反転されつつある場合には、インバー
タINV10、及びINV12は必要でない。その代わ
りに、ゲートNAND10、及びNAND12への対応
する入力は、これらのラッチの反転している出力に直接
結合することが可能である。適切な論理演算が遂行され
る限り、ステージは、同じ方法において動作する。デー
タワード、及び拡張ビットは、依然として二重化され
る。
Various logic gates such as NAND16 and INV16 can, of course, be replaced by equivalent logic circuits (one single AND gate in this case). Similarly, inverters INV10 and INV12 are not needed, for example, if the outputs of latches LEIN and LVIN are being inverted. Alternatively, the corresponding inputs to gates NAND10 and NAND12 can be directly coupled to the inverting outputs of these latches. The stages operate in the same way as long as the appropriate logical operations are performed. The data word and extension bits are still duplicated.

【0208】トークンの第1データワードが当該ワード
の第3位置に「1」を配置し、そして、5つの高位ビッ
トに「0」を配置するまでは、図に示すステージが遂行
する二重化機能は実施されないことに注意されい。(勿
論、他の論理ゲートおよび図に示すNOR1、NOR
2、NND18ゲート以外の接続を選定することによ
り、必要とされるパターンは容易に変更および設定可能
である。) 更に、図13、図14に示すように、第1データワード
が記述の構造を持たない限り、OUT VALID信号
は、トークン全体の期間中に亙って、ローに強制され
る。これは、二重化プロセスを起こさせる1つのトーク
ンを除く全てのトークンがトークンの流れから削除させ
るような効果を発揮する。その理由は、出力端子(OU
Tデータ、OUTEXTN、及びOUT VALID)
に接続されたデバイスは、これらのトークンを有効なデ
ータとして認識しないからである。以前と同様に、当該
ステージにおける双方の妥当性検査ラッチLVIN、L
VOUTは、1つの単一コンダクタNOTRESET
O、及び下流ラッチLVOUTの1つの単一リセット入
力Rにより、上流の妥当性検査ラッチをその次のクロッ
クサイクルにおいてローに強制させるように後方に伝播
するリセット信号を用いてリセットされることが可能で
ある。
Until the first data word of the token places a "1" in the third position of the word and a "0" in the five high order bits, the duplication function performed by the stages shown in the figure is Note that it will not be implemented. (Of course, other logic gates and NOR1 and NOR shown in the figure
2. By selecting a connection other than the NND18 gate, the required pattern can be easily changed and set. In addition, as shown in FIGS. 13 and 14, unless the first data word has the described structure, the OUT VALID signal is forced low throughout the entire token. This has the effect of removing all tokens from the token stream except the one that causes the duplication process. The reason is that the output terminal (OU
T data, OUTEXTN, and OUT VALID)
This is because the device connected to does not recognize these tokens as valid data. As before, both validation latches LVIN, L at that stage are
VOUT is one single conductor NOTRESET
O, and one single reset input R of the downstream latch LVOUT can be reset with a backward propagating reset signal to force the upstream validation latch to be low on the next clock cycle. Is.

【0209】図13、図14に示す例において、データ
トークンに含まれるデータの二重化は、回路がACCE
PT及びVALID信号を操作可能であり、その結果と
して、当該入力に到達するよりもより多くのデータがパ
イプラインステージから離れることの一例としてのみ役
立つに過ぎないことに注意されたい。同様に、流れから
データを除去するために回路がVALID信号を操作可
能であることを示す方法を単に説明するだけのために、
図13、図14に示す例においては、全ての非データト
ークンが除去される。ただし、最も典型的なアプリケー
ションにおいて、パイプラインステージは、当該パイプ
ラインステージが認識しないあらゆるトークンを修正す
る事なく簡単に供給する。その結果、パイプラインの更
に下流の他のステージが、必要に応じて、前記のトーク
ンに作用することが可能である。図15及び図16は、
図13及び図14に示すデータ二重化回路のためのタイ
ミングダイアグラムの一例を示す。このタイミングダイ
アグラムは、2相クロック信号、様々な内部および外部
制御信号、及びステージの入力側と出力側との間でデー
タをクロックし、そして、データを二重化する方法との
間の関係を示す。さてここで、図17を更に詳細に参照
することとし、この図には、現在の本発明の1つの態様
にに基づく再構成可能なプロセスステージを示す。
In the examples shown in FIGS. 13 and 14, the circuit included in the data token is duplicated when the circuit is in the ACCE state.
Note that the PT and VALID signals can be manipulated, and as a result, serve only as an example of leaving more data from the pipeline stage than arriving at that input. Similarly, merely to illustrate how the circuit may manipulate the VALID signal to remove data from the stream,
In the example shown in FIGS. 13 and 14, all non-data tokens are removed. However, in most typical applications, a pipeline stage simply supplies any tokens it does not recognize without modification. As a result, other stages further down the pipeline can act on the token as needed. 15 and 16 show
13 shows an example of a timing diagram for the data duplexing circuit shown in FIGS. 13 and 14. This timing diagram shows the relationship between the two-phase clock signal, the various internal and external control signals, and the method of clocking the data between the input and output of the stage and duplicating the data. Reference is now made in more detail to FIG. 17, which shows a reconfigurable process stage according to one aspect of the present invention.

【0210】入力ラッチ34は第1バス31を介して入
力を受け取る。入力ラッチ34からの第1出力は、ライ
ン32を介して、トークンデコードサブシステム33に
供給される。入力ラッチ34からの第2出力は、ライン
35を介して、第1入力としてプロセシングユニット3
6に供給される。トークンデコード33からの第1の出
力は、ライン37を介して、第2の入力として、プロセ
シングユニット36に供給される。トークンデコード3
3からの第2出力は、ライン40を介して、アクション
識別ユニット39に供給される。更に、アクション識別
ユニット39は、ライン46を介してレジスタ43及び
44から入力を受け取る。レジスタ43、及び44は、
全体として、マシンの状態を保持する。この状態は、以
前に受け取られたトークンのヒストリによって決定され
る。アクション識別ユニット39からの出力は、ライン
38を介して、第3の入力としてプロセシングユニット
36に供給される。プロセシングユニット36からの出
力は、出力ラッチ41に供給される。出力ラッチ41か
らの出力は、第2バス42を介して供給される。
The input latch 34 receives an input via the first bus 31. The first output from input latch 34 is provided to token decode subsystem 33 via line 32. The second output from the input latch 34 is provided as a first input via the line 35 to the processing unit 3
6 is supplied. The first output from token decode 33 is provided as a second input to processing unit 36 via line 37. Token decode 3
The second output from 3 is supplied to the action identification unit 39 via line 40. Further, the action identification unit 39 receives input from the registers 43 and 44 via line 46. Registers 43 and 44 are
Overall, it keeps the machine state. This state is determined by the history of previously received tokens. The output from the action identification unit 39 is provided as a third input to the processing unit 36 via line 38. The output from the processing unit 36 is supplied to the output latch 41. The output from the output latch 41 is supplied via the second bus 42.

【0211】ここで、図18を参照することとし、スタ
ートコード検出器(SCD)51は、2線インターフェ
ース52を介して入力を受け取る。この入力は、データ
トークンの形式であるか、或いは、データの流れ内のデ
ータビットであるかのいずれかである。スタートコード
検出器51からの第1出力は、ライン53を介して、第
1論理先入れ先出し方式バッファ(FIFO)54に供
給される。第1FIFO54からの出力は、ライン55
を介して、第1の入力として、ハフマンデコーダ56に
論理的に供給される。スタートコード検出器51からの
第2出力は、ライン57を介して、第1入力として、D
RAMインターフェース58に供給される。さらに、D
RAMインターフェース58は、ライン60を介して、
バッファマネージャ59から入力を受け取る。信号は、
ライン61を介して、DRAMインターフェース58に
より、外部DRAM(図示せず)に対して送信および受
信される。DRAMインターフェース58からの第1出
力は、ライン62を介して、第1物理入力として、ハフ
マンデコーダ56に供給される。ハフマンデコーダ56
からの出力は、データ(ITOD)64までインデック
スに入力としてライン63をを介して回される。ハフマ
ンデコーダ56及びITOD64は、1つの論理ユニッ
トとして一緒に作動する。ITOD64からの出力は、
ライン65を介して算術論理ユニット(ALU)66に
供給される。ALU66からの第1出力は、ライン70
を介して、読出し専用メモリ(ROM)ステートマシン
68に供給される。ROMステートマシン68からの出
力は、ライン69を介して、第2物理入力として、ハフ
マンデコーダ56に供給される。ALU66からの第2
の出力は、ライン70を介してトークンフォーマット部
(TF)71に供給される。
Referring now to FIG. 18, the start code detector (SCD) 51 receives input via the 2-wire interface 52. This input is either in the form of a data token or is a data bit in the data stream. The first output from the start code detector 51 is supplied via line 53 to a first logical first-in first-out buffer (FIFO) 54. The output from the first FIFO 54 is line 55
Via the input to the Huffman decoder 56 as a first input. The second output from the start code detector 51 is, via line 57, as a first input, D
It is supplied to the RAM interface 58. Furthermore, D
RAM interface 58, via line 60
It receives input from the buffer manager 59. The signal is
It is transmitted and received by a DRAM interface 58 to an external DRAM (not shown) via line 61. The first output from the DRAM interface 58 is provided to the Huffman decoder 56 via line 62 as the first physical input. Huffman decoder 56
Output is routed through line 63 as an input to the index up to data (ITOD) 64. The Huffman decoder 56 and the ITOD 64 work together as one logic unit. The output from the ITOD64 is
It is supplied to arithmetic logic unit (ALU) 66 via line 65. The first output from ALU 66 is line 70
Via read-only memory (ROM) state machine 68. The output from ROM state machine 68 is provided to Huffman decoder 56 via line 69 as a second physical input. Second from ALU66
Is supplied to the token formatter (TF) 71 via the line 70.

【0212】本発明にかかるTFからの第1出力71
は、ライン72を介して第2のFIFO73に供給され
る。第2のFIFO73からの出力は、第1の入力とし
て、ライン74を介して、逆モデラー75に供給され
る。T/F71からの第2の出力は、ライン76を介し
て、第3の入力として、DRAMインターフェース58
に供給される。DRAMインターフェース58からの第
3出力は、ライン77を介して、第2の入力として、逆
モデラ75に供給される。逆モデラ75からの出力は、
逆量子化器79への入力として、ライン78を介して供
給される。逆量子化器79からの出力は、ライン80を
介して、逆入力として、逆ジグザグ81(IZZ)に供
給される。IZZ81からの出力は、ライン82を介し
て、離散逆コサイン変換83(IDCT)への入力とし
て供給される。IDCT83からの出力は、ライン84
を介して、時間デコーダ(図19)に供給される。
First output 71 from TF according to the invention
Are supplied to the second FIFO 73 via line 72. The output from the second FIFO 73 is provided as a first input to the inverse modeler 75 via line 74. The second output from the T / F 71 is provided as a third input via line 76 to the DRAM interface 58.
Is supplied to. The third output from the DRAM interface 58 is provided as a second input to the inverse modeler 75 via line 77. The output from the inverse modeler 75 is
It is provided via line 78 as an input to the dequantizer 79. The output from the inverse quantizer 79 is supplied as an inverse input to the inverse zigzag 81 (IZZ) via the line 80. The output from IZZ 81 is provided as an input to discrete inverse cosine transform 83 (IDCT) via line 82. The output from the IDCT 83 is line 84.
To the time decoder (FIG. 19).

【0213】ここで、更に詳細に図19を参照すること
とし、本発明に基づく時間デコーダがこの図に示され
る。フォーク91は、ライン92を介して、入力とし
て、IDCT83(図18)からの出力を受け取る。フ
ォーク91からの第1出力として、例えば、モーション
ベクトル等のような制御トークンは、ライン93を介し
て、アドレス発生器94に供給される。更に、データト
ークンは、カウントする目的で、アドレス発生器94に
供給される。このデータは、フォーク91からの第2の
出力として、ライン95を介してFIFO96に供給さ
れる。次に、FIFO96からの出力は、ライン97を
介して、第1の入力として加算器98に供給される。ア
ドレス発生器94からの出力は、第1入力として、ライ
ン99を介して、DRAMインターフェース100に供
給される。信号は、ライン91を介して、DRAMイン
ターフェース100により、外部DRAM(図示され
ず)に対して、送信および受信される。DRAMインタ
ーフェース100からの第1出力は、ライン102を介
して、予測フィルタ103に供給される。予測フィルタ
103からの出力は、ライン104を介して、第2入力
として、加算器98に供給される。加算器98からの第
1出力は、ライン105を介して出力セレクタ106に
供給される。加算器98からの第2の出力は、ライン1
07を介して、第2の入力としてDRAMインターフェ
ース100に供給される。DRAMインターフェース1
00からの第2出力は、第2入力として、ライン108
を介して、出力セレクタ104に供給される。出力セレ
クタ104からの出力は、ライン109を介して、動画
フォーマッティング部(図20)に供給される。
Referring now in more detail to FIG. 19, a temporal decoder according to the present invention is shown in this figure. Fork 91 receives the output from IDCT 83 (FIG. 18) as input via line 92. As a first output from the fork 91, a control token, such as a motion vector, is fed to the address generator 94 via line 93. In addition, the data tokens are provided to the address generator 94 for counting purposes. This data is provided as a second output from fork 91 to FIFO 96 via line 95. The output from FIFO 96 is then provided as a first input to adder 98 via line 97. The output from address generator 94 is provided as a first input to DRAM interface 100 via line 99. Signals are sent and received by the DRAM interface 100 to external DRAM (not shown) via line 91. The first output from the DRAM interface 100 is provided to the predictive filter 103 via line 102. The output from the predictive filter 103 is provided as a second input to the adder 98 via line 104. The first output from adder 98 is provided to output selector 106 via line 105. The second output from adder 98 is line 1
The second input is supplied to the DRAM interface 100 via 07. DRAM interface 1
The second output from 00 serves as the second input on line 108.
Is supplied to the output selector 104 via. The output from the output selector 104 is supplied to the moving picture formatting unit (FIG. 20) via the line 109.

【0214】ここにおいて、図20を参照することと
し、フォーク111は、ライン112を介して、出力セ
レクタ106(図19)からの入力を受け取る。フォー
ク111からの第1の出力として、ライン113を介し
てアドレス発生器114は制御トークンを供給される。
アドレス発生器114からの出力は、第1入力として、
ライン115を介してDRAMインターフェース116
に供給される。フォーク111からの第2出力としての
データは、ライン117を介して、第2入力として、D
RAMインターフェース116に供給される。信号は、
ライン118を介して、DRAMインターフェース11
6により、外部DRAM(図示されず)に対して、送信
および受信される。DRAMインターフェース116か
らの出力は、ライン119を介して、表示パイプ120
に供給される。
Referring now to FIG. 20, fork 111 receives input from output selector 106 (FIG. 19) via line 112. As a first output from the fork 111, the address generator 114 is supplied with a control token via line 113.
The output from the address generator 114 is, as the first input,
DRAM interface 116 via line 115
Is supplied to. The data as the second output from the fork 111 is sent to the D input via the line 117 as the second input.
It is supplied to the RAM interface 116. The signal is
DRAM interface 11 via line 118
6 sends and receives to and from an external DRAM (not shown). The output from the DRAM interface 116 is output via line 119 to the display pipe 120.
Is supplied to.

【0215】各ラインは、必要に応じて、複数のライン
を有しても差し支えないことは、前述の説明から明白で
ある。
It is apparent from the above description that each line may have a plurality of lines as necessary.

【0216】ここにおいて、図21を参照することと
し、MPEG規格においては、1つのピクチャ131は
1つ又は複数のスライス132として符号化される。各
スライス132は、複数のブロック133を有し、そし
て、各列において列毎に左から右に符号化される。図に
示すように、各スライス132のスパンはブロック13
3の中の正確に1行132であるか、ブロック133の
中の1行より少ないB、Cか、またはブロック133の
複数行Cであっても差し支えない。
Here, referring to FIG. 21, one picture 131 is encoded as one or a plurality of slices 132 in the MPEG standard. Each slice 132 has a plurality of blocks 133 and is coded column by column from left to right in each column. As shown, the span of each slice 132 is block 13
There may be exactly one row 132 in 3 or less than one row B, C in block 133, or multiple rows C in block 133.

【0217】図22を参照することとし、JPEG及び
H.261規格においては、コモン中間フォーマット
(CIF)が用いられ、ピクチャ141は、各列が2つ
のグループのブロック(GOB)142を含む6列とし
て符号化される。GOB142は、3列または6列いず
れかの限定されない数のブロック143によって構成さ
れる。各GOB142は、矢印144によって示される
Z字形方向にジグザグに符号化される。その結果、GO
B142は、各列において、列毎に左から右に向かって
処理される。
With reference to FIG. 22, JPEG and H.264. In the H.261 standard, a common intermediate format (CIF) is used, and a picture 141 is encoded as 6 columns, each column containing two groups of blocks (GOB) 142. GOB 142 is composed of an unlimited number of blocks 143, either 3 or 6 columns. Each GOB 142 is zigzag encoded in the Z-direction shown by arrow 144. As a result, GO
B142 is processed from left to right in each column.

【0218】ここにおいて、図23を参照することと
し、MPEG及びCIFの両方に関し、エンコーダの出
力は、データストリーム151の形をとることが分か
る。デコーダは、このデータストリーム151を受け取
る。次に、デコーダは、イメージを符号化するために使
われたフォーマットに応じてイメージを復元することが
できる。デコーダが、各規格に関するスタート及びエン
ドポイントを認識可能にするためには、データストリー
ム151は、33ブロック152の長さに分割される。
Referring now to FIG. 23, it can be seen that the encoder output takes the form of a data stream 151 for both MPEG and CIF. The decoder receives this data stream 151. The decoder can then reconstruct the image depending on the format used to encode the image. In order for the decoder to be able to recognize the start and end points for each standard, the data stream 151 is divided into 33 blocks 152 of length.

【0219】図24に示すベン図は、本発明のハフマン
デコーダ56(図18)からテーブル選択可能な値の領
域を表す。これらの値は、MPEGデコーダ及びH.2
61デコーダに対して重複可能な値であり、1つの単一
テーブル選択によって、特定のMPEG及び特定のH.
261フォーマットの両方が復号化されることを示す。
同様に、これらの値はMPEGデコーダ及びJPEGデ
コーダに対して重複可能な値であり、1つの単一テーブ
ル選択によって、特定のMPEG及び特定のJPEGフ
ォーマットの両方が復号化されることを示す。更に、
H.26l値とJPEG値は重複せず、単独で双方のフ
ォーマットを復号化するような単一テーブル選択が存在
しないことを示す。
The Venn diagram shown in FIG. 24 represents a region of values selectable by the table from the Huffman decoder 56 (FIG. 18) of the present invention. These values are used by the MPEG decoder and H.264. Two
This is a value that can be duplicated for a H.61 decoder, and a single MPEG and a specific H.264 can be selected by one single table selection.
Both 261 formats are to be decoded.
Similarly, these values are duplicate values for the MPEG and JPEG decoders, indicating that one single table selection will decode both specific MPEG and specific JPEG formats. Furthermore,
H. The 26l value and the JPEG value do not overlap, indicating that there is no single table selection that alone decodes both formats.

【0220】さて、図25を更に詳細に参照することと
し、この図は、本発明の実施に基づいた可変長ピクチャ
データの概要を示す。処理されるべき第1のピクチャ1
61は、第1ピクチャ・スタートトークン162、長さ
の限定されない第1ピクチャ情報163、及び第1ピク
チャ・エンドトークン164を有する。処理されるべき
第2のピクチャ165は、第2ピクチャ・スタートトー
クン166、長さの限定されない第2ピクチャ情報16
7、及び第2ピクチャ・エンドトークン168を有す
る。ピクチャ・スタートトークン162及び166は、
ピクチャ161及び165のプロセッサに対するスター
トを示す。同様に、ピクチャ・エンドトークン164及
び168は、ピクチャ161及び165のプロセッサに
対するエンドを意味する。これにより、プロセッサは、
可変長さのピクチャ画像163及び167を処理するこ
とが可能となる。
Now referring to FIG. 25 in more detail, this figure shows an overview of variable length picture data according to an implementation of the present invention. First picture 1 to be processed
61 has a first picture start token 162, first picture information 163 of unlimited length, and a first picture end token 164. The second picture 165 to be processed is the second picture start token 166, the second picture information 16 of unlimited length.
7 and a second picture end token 168. The picture start tokens 162 and 166 are
4B shows a start for the processor of pictures 161 and 165. Similarly, picture end tokens 164 and 168 signify the end of pictures 161 and 165 to the processor. This allows the processor to
It is possible to process variable length picture images 163 and 167.

【0221】図26において、スプリット171は、ラ
イン172を介して入力を受け取る。スプリット171
からの第1出力はライン173を介して、アドレス発生
器174に供給される。アドレス発生器174によって
生成されたアドレスは、ライン175を介して、DRA
Mインターフェース176に供給される。信号は、ライ
ン177を介して、DRAMインターフェース176に
より、外部DRAM(図示されず)に対して、送信およ
び受信される。DRAMインターフェース176からの
第1出力は、ライン178を介して、予測フィルタ17
9に供給される。予測フィルタ179からの出力は、第
1入力として、ライン180を介して、加算器181に
供給される。スプリット171からの第2出力は、ライ
ン182を介して、先入れ先出し方式バッファ(FIF
O)183への入力として供給される。FIFO183
からの出力は、ライン184を介して、加算器181へ
の第2入力として供給される。加算器181からの出力
は、ライン185を介して、ライト信号発生器186に
供給される。ライト信号発生器186からの第1出力
は、ライン187を介して、DRAMインターフェース
176に供給される。ライト信号発生器186からの第
2出力は、ライン188を介して、リード信号発生器1
89への第1入力として供給される。DRAMインター
フェース176からの第2出力は、ライン190を介し
て、リード信号発生器189への第2入力として供給さ
れる。リード信号発生器189からの信号はライン19
1を介して動画フォーマッティング(図26には図示せ
ず)へ供給される。
In FIG. 26, split 171 receives input via line 172. Split 171
The first output from is supplied to the address generator 174 via line 173. The address generated by the address generator 174 is transferred to the DRA via line 175.
It is supplied to the M interface 176. Signals are transmitted and received by the DRAM interface 176 to external DRAM (not shown) via line 177. The first output from the DRAM interface 176 is provided via line 178 to the prediction filter 17
9. The output from the prediction filter 179 is supplied as a first input to the adder 181 via the line 180. The second output from split 171 is sent via line 182 to a first-in first-out buffer (FIF).
O) provided as an input to 183. FIFO183
Is provided as a second input to adder 181 via line 184. The output from the adder 181 is supplied to the write signal generator 186 via the line 185. The first output from the write signal generator 186 is provided to the DRAM interface 176 via line 187. The second output from the write signal generator 186 is supplied to the read signal generator 1 via the line 188.
It is provided as the first input to 89. The second output from DRAM interface 176 is provided as a second input to read signal generator 189 via line 190. The signal from the read signal generator 189 is supplied to the line 19
1 to video formatting (not shown in FIG. 26).

【0222】図27は、予測フィルタプロセスを示す。
フォーワード予測フィルタ201は、第1入力として、
202を介して、加算器203に供給される。バックワ
ード予測フィルタ204は、第2入力として、ライン2
05を介して、加算器203に供給される。加算器20
3からの出力は、ライン206を介して供給される。図
28に示すように、スライス211は、1又は複数のマ
クロブロック212を有する。結果的に、各マクロブロ
ック212は、4つのルミナンス輝度ブロック213、
及び2つのクロミナンスブロック214を有し、そし
て、ピクセルのもとの16×16ブロックに関する情報
を有する。4つのルミナンスブロック213及び2つの
クロミナンスブロック214の各々のサイズは8×8ピ
クセルである。4つのルミナンスブロック213は、1
ピクセル画素を ピクセルのもとの16×16ブロック
のルミナンス(Y)情報の1ピクセル毎のマッピングを
有する。1つのクロミナンスブロック214は、青色信
号(Cu/b)のクロミナンスレベルの表示を含み、そ
して、いま1つのクロミナンスブロック21は、赤色信
号(Cv/r)のクロミナンスレベルの表示を含む。各
クロミナンスレベルは、各8×8クロミナンスブロック
214が、ピクセルのもとの16×16ブロック全体に
関するその色信号のクロミナンスレベルを含むように、
サブサンプルされる。
FIG. 27 shows the prediction filter process.
The forward prediction filter 201 receives the first input as
It is supplied to the adder 203 via 202. The backward prediction filter 204 receives the line 2 as the second input.
It is supplied to the adder 203 via 05. Adder 20
The output from 3 is provided via line 206. As shown in FIG. 28, the slice 211 has one or a plurality of macroblocks 212. Consequently, each macroblock 212 has four luminance luminance blocks 213,
, And two chrominance blocks 214, and information about the original 16 × 16 block of pixels. The size of each of the four luminance blocks 213 and the two chrominance blocks 214 is 8 × 8 pixels. The four luminance blocks 213 are 1
Pixel Pixel has a pixel by pixel mapping of the original 16x16 block of luminance (Y) information. One chrominance block 214 contains an indication of the chrominance level of the blue signal (Cu / b), and another chrominance block 21 contains an indication of the chrominance level of the red signal (Cv / r). Each chrominance level is such that each 8 × 8 chrominance block 214 contains the chrominance level of its color signal for the entire original 16 × 16 block of pixels.
Subsampled.

【0223】図29を参照することにより、スタートコ
ード検出器の構造及び機能が明白になるはずである。バ
リューレジスタ221は、ライン222を介してイメー
ジデータを受け取る。ライン222の幅は8ビットであ
り、一度に8ビットの並列伝送を可能にする。バリュー
レジスタ222からの出力は、ライン223を介して、
デコードレジスタ224に直列に供給される。デコード
レジスタ224からの第1の出力は、ライン226を介
して、検出器225に供給される。ライン226の幅は
24ビットであり、一度に24ビットの並列伝送を可能
にする。検出器225は、1つの「1」バリューによっ
て後続される23の「ゼロ」バリューの規格から独立し
たスタートコードに対応するイメージの存在または欠如
を検出する。8ビットデータバリューイメージは、有効
なスタートコードイメージに後続する。スタートコード
イメージの存在が検出されると、検出器225は、ライ
ン227を介してスタートイメージをバリューデコーダ
228に伝送する。
With reference to FIG. 29, the structure and function of the start code detector should be apparent. The value register 221 receives the image data via the line 222. The width of line 222 is 8 bits, allowing parallel transmission of 8 bits at a time. The output from the value register 222 is sent via the line 223.
It is supplied in series to the decode register 224. The first output from decode register 224 is provided to detector 225 via line 226. The width of line 226 is 24 bits, allowing parallel transmission of 24 bits at a time. The detector 225 detects the presence or absence of an image corresponding to a 23 "zero" value standard independent start code followed by one "1" value. The 8-bit data value image follows the valid start code image. When the presence of the start code image is detected, the detector 225 transmits the start image to the value decoder 228 via line 227.

【0224】デコードレジスタ224からの第2出力
は、ライン229を介して、バリューデコードシフトレ
ジスタ230に直列に供給される。バリューデコードシ
フトレジスタ230は、ビット長15の1つのデータバ
リューイメージを保持することができる。部分領域23
1によって示されるように、スタートコードイメージに
後続する8ビットデータバリューは、バリューデコード
シフトレジスタ230の右にシフトされる。以下におい
て検討するように、このプロセスは、スタートコードイ
メージの重複を排除する。バリューデコードシフトレジ
スタ230からの第1出力は、ライン232を介して、
バリューデコーダ228に供給される。ライン232の
幅は15ビットであり、一度に15ビットの並列伝送を
可能にする。バリューデコーダ228は、第1のルック
アップテーブル(図示されず)を用いてバリューイメー
ジを復号化する。バリューデコードシフトレジスタ23
0からの第2出力は、ライン235を介してインデック
ス/トークンコンバータ234にフラグを供給するバリ
ューデコーダ228に供給される。更に、バリューデコ
ーダ228は、ライン236を介して、インデックス/
トークンコンバータ234に情報を供給する。情報は、
第1ルックアップテーブルから入手されるデータバリュ
ーイメージ、或いは、スタートコードインデックスイメ
ージのいずれかである。フラグは、情報が供給されるフ
ォームを示す。ライン236の幅は15ビットであり、
一度に15ビットの並列伝送を可能にする。本発明にお
いてこの場合における幅として15ビットが選定された
が、他の長さのビットを使用しても差し支えないことが
理解されるはずである。インデックス/トークンコンバ
ータ234は、ユーザ用マニュアルの表12−3記載の
場合と同様の第2ルックアップテーブル(図示されず)
を用いて情報をトークンイメージに変換する。インデッ
ク/トークンスコンバータ234によって生成されたト
ークンイメージは、ライン237を介して出力される。
ライン237の幅は15ビットであり、一度に15ビッ
トの並列伝送が可能である。
The second output from the decode register 224 is serially supplied to the value decode shift register 230 via the line 229. The value decode shift register 230 can hold one data value image having a bit length of 15. Partial area 23
The 8-bit data value following the start code image is shifted to the right of the value decode shift register 230, as indicated by 1. As discussed below, this process eliminates duplicate start code images. The first output from the value decode shift register 230 is via line 232
It is supplied to the value decoder 228. The width of line 232 is 15 bits, allowing parallel transmission of 15 bits at a time. The value decoder 228 decodes the value image using a first look-up table (not shown). Value decode shift register 23
The second output from 0 is provided via line 235 to a value decoder 228 which provides a flag to the index / token converter 234. In addition, the value decoder 228 receives the index / line via line 236.
It supplies information to the token converter 234. Information is
It is either a data value image obtained from the first lookup table or a start code index image. The flag indicates the form to which the information is supplied. The width of line 236 is 15 bits,
Allows parallel transmission of 15 bits at a time. In the present invention, 15 bits was chosen as the width in this case, but it should be understood that bits of other lengths may be used. The index / token converter 234 uses a second lookup table (not shown) similar to that described in Table 12-3 of the user's manual.
To convert the information into a token image. The token image generated by the index / tokens converter 234 is output via line 237.
The width of the line 237 is 15 bits, and parallel transmission of 15 bits is possible at one time.

【0225】図30において、個々のビット242から
成るデータストリーム241は、スタートコード検出器
(図30に図示されず)に入力される。第1スタートコ
ードイメージ243は、スタートコード検出器によって
検出される。次に、スタートコード検出器は、第1デー
タバリューイメージ244を受け取る。第1データバリ
ューイメージ244を処理する以前に、スタートコード
検出器が、長さ246において第1データバリューイメ
ージ244と重複する第2スタートコードイメージ24
5を検出することもあり得る。これが起きると、スター
トコード検出器は第1データバリューイメージ244を
処理せず、そして、その代りに、第2データバリューイ
メージ247を受け取り、そして、処理する。
In FIG. 30, a data stream 241 consisting of individual bits 242 is input to a start code detector (not shown in FIG. 30). The first start code image 243 is detected by the start code detector. Next, the start code detector receives the first data value image 244. Prior to processing the first data value image 244, the start code detector has a second start code image 24 that overlaps the first data value image 244 in length 246.
5 may be detected. When this occurs, the start code detector does not process the first data value image 244, and instead receives and processes the second data value image 247.

【0226】図31において、フラグ発生器251は、
ライン252を介して第1入力としてのデータを受け取
る。ライン252の幅は15ビットであり、一度に15
ビットの並列伝送を可能のにする。同様に、フラグ発生
器251は、ライン253を介して、第2の入力として
フラグを受け取り、そして、第1の2線インターフェー
ス254を介して入力有効イメージを受け取る。フラグ
発生器251からの第1出力は、ライン255を介し
て、入力有効レジスタ(図示されず)に供給される。フ
ラグ発生器521からの第2出力は、ライン256を介
して、デコードインデックス257に供給される。デコ
ードインデックス257は次の4つの出力を生成する。
即ち、ピクチャスタートイメージはライン258を介し
て出力され、ピクチャナンバーイメージはライン259
を介して出力され、インサートイメージはライン260
を介して出力され、そして、リプレースイメージはライ
ン261を介して出力される。フラグ発生器251から
のデータはライン262aを介して供給される。ヘッダ
発生器263は、リプレースイメージを生成するたにル
ックアップテーブルを使用し、このリプレースイメージ
は262bを介して供給される。エクストラワード発生
器264は、インサートイメージを生成するためにMP
Uを使用し、インサートイメージはライン262cを介
して供給される。ライン262aは、出力ラッチ265
への第1入力である262ラインを形成するために結合
する。出力ラッチ265は、ライン266を介してデー
タを出力する。ライン266の幅は15ビットであり、
一度に15ビットの並列伝送を可能にする。
In FIG. 31, the flag generator 251 is
Receives data as a first input via line 252. The width of line 252 is 15 bits, 15 at a time.
Allows parallel transmission of bits. Similarly, the flag generator 251 receives the flag as a second input on line 253 and the input valid image on the first two-wire interface 254. The first output from the flag generator 251 is provided on line 255 to an input valid register (not shown). The second output from flag generator 521 is provided to decode index 257 via line 256. Decode index 257 produces the following four outputs:
That is, the picture start image is output via the line 258 and the picture number image is output via the line 259.
Output via line 260
, And the replace image is output via line 261. The data from the flag generator 251 is provided on line 262a. The header generator 263 uses a look-up table to generate the replacement image, which is supplied via 262b. The extra word generator 264 uses the MP to generate the insert image.
Using U, the insert image is provided via line 262c. Line 262a has output latch 265
Combine to form 262 lines which are the first input to. The output latch 265 outputs the data via the line 266. The width of line 266 is 15 bits,
Allows parallel transmission of 15 bits at a time.

【0227】入力有効レジスタ(図示されず)は、ライ
ン268を介して、第1ORゲート267への第1入力
としてイメージを供給する。インサートイメージは、ラ
イン269を介して、第1ORゲート267への第2入
力として供給される。第1ORゲート267からの出力
は、ライン271を介して、第1ANDゲート270へ
の第1入力として供給される。リムーブイメージの論理
否定は、ライン272を介して、第1ANDゲート27
0への第2入力として供給され、そして、ライン273
を介して、出力ラッチ265への第2入力として、供給
される。出力ラッチ265は、第2の2線インターフェ
ース274を介して出力有効イメージを供給する。出力
アクセプトイメージは、第2の2線インターフェース2
74を介して、出力アクセプトラッチ275により受け
取られる。出力アクセプトラッチ275からの出力は、
ライン276を介して、出力アクセプトレジスタ(図示
されず)に供給される。
An input valid register (not shown) provides the image on line 268 as the first input to the first OR gate 267. The insert image is provided as a second input to the first OR gate 267 via line 269. The output from the first OR gate 267 is provided as the first input to the first AND gate 270 via line 271. The logical negation of the remove image is applied to the first AND gate 27 via line 272.
Supplied as a second input to 0 and then line 273
Is provided as a second input to the output latch 265. The output latch 265 provides the output valid image via the second two-wire interface 274. The output accept image is the second 2-wire interface 2
It is received by the output accept latch 275 via 74. The output from the output accept latch 275 is
It is provided to an output accept register (not shown) via line 276.

【0228】出力アクセプトレジスタ(図示されず)
は、ライン278を介して、第1入力として、第2OR
ゲート277にイメージを供給する。入力有効レジスタ
からの出力の論理否定は、ライン279を介して、第2
ORゲート277への第2入力として供給される。リム
ーブイメージは、ライン280を介して、第3入力とし
て、第2ORゲート277に供給される。第2ORゲー
ト277からの出力は、ライン282を介して、第2A
NDゲート281への第1入力として供給される。イン
サートイメージの論理否定は、ライン283を介して、
第2ANDゲート281への第2入力として供給され
る。第2ANDゲート281からの出力は、ライン28
4を介して、入力アクセプトラッチ285へ供給され
る。入力アクセプトラッチ285からの出力は、第1の
2線インターフェース254を介して供給される。 表600 フォーマット 受信画像 トークン 1 H.261 シーケンススタート シーケンススタート MPEG ピクチャ・スタート グループスタート JPEG 無し ピクチャ・スタート ピクチャデータ 2 H.261 無し ピクチャエンド MPEG 無し パディング JPEG 無し フラッシュ ストップ・アフタ・ピクチャ 特定マシン独立制御トークンにおける標準信号の存在と
欠如との間の関係を示す表600に示すように、スター
トコード検出器51によるイメージの検波は一連のマシ
ン独立制御トークンを生成する。「受信イメージ」カラ
ムにリストされた各イメージは、「生成トークン」カラ
ムのグループにリストされた全てのマシン独立制御トー
クンの生成をスタートする。表600の1行目に示すよ
うに、H.261処理期間中に「シーケンススタート」
イメージが受け取られるか、或は、PEC処理期間中に
「ピクチャ・スタート」イメージが受け取られる場合に
はいつでも、4つの制御トークンの全グループが生成さ
れ、各々がその対応する1つまたは複数のデータバリュ
ーによって後続される。更に、表600の2行目に示す
ように、4つの制御トークンの第2グループは、スター
トコード検出器51によって受け取られるイメージにか
かわりなく適切な時間に生成される。 表601 表示順序 I1 B2 B3 P4 B5 B6 P7 B8 B9 I10 送信順序 I1 P4 B2 B3 P7 B5 B6 I10 B8 B9 伝送されたピクチャと表示されたピクチャとの間のタイ
ミング関係を示す表601の1行に示すように、ピクチ
ャフレームは、番号順にディスプレイされる。ただし、
メモリーに記憶しなければならないフレームの数を減少
するために、フレームは、異なる順序で送信される。イ
ントラフレーム(Iフレーム)から分析を始めることは
有益である。I1フレームは、ディスプレイされるべき
順序に送信される。次に、その次の予測されるフレーム
(Pフレーム)P4が送信される。次に、I1フレーム
とP4フレームとの間にディスプレイされるべき双方向
的に補間されるあらゆるフレーム(Bフレーム)が送信
される。これらのフレームをフレームB2及びB3によ
って表す。これにより、送信済みのBフレームに、前の
フレーム(フォーワード予測)または将来のフレーム
(バックワード予測)を参照させることが可能にする。
I1フレームとP4フレームとの間にディスプレイされ
るべき全てのBフレームを送信した後で、次のPフレー
ムであるP7が送信される。次に、P4とP7フレーム
との間にディスプレイされるべきB5及びB6に対応す
る全てのBフレームが送信される。次に、その次のIフ
レームである110が送信される。最終的に、P7と1
10フレームとの間にディスプレイされるべきフレーム
B8及びB9に対応する全てのBフレームが送信され
る。この順序でフレームを送信するためには、あらゆる
一時にただ2つのフレームをメモリーに保持することが
必要であり、そして、中間のBフレームをディスプレイ
するために次のPフレーム又はIフレームの送信をデコ
ーダに待機させることを必要としない。
Output Accept Register (not shown)
Via line 278, as a first input, a second OR
The image is supplied to the gate 277. The logical negation of the output from the input valid register is output via line 279 to the second
It is provided as the second input to the OR gate 277. The removed image is provided as a third input to the second OR gate 277 via line 280. The output from the second OR gate 277 is output via the line 282 to the second A gate.
It is provided as the first input to ND gate 281. The logical negation of the insert image, via line 283,
It is provided as a second input to the second AND gate 281. The output from the second AND gate 281 is the line 28
4 to the input accept latch 285. The output from the input accept latch 285 is provided via the first 2-wire interface 254. Table 600 Format Received Image Token 1 H.V. 261 Sequence start Sequence start MPEG picture start Group start No JPEG picture start Picture data 2 H.264 261 No Picture End MPEG No Padding JPEG No Flash Stop After Picture Image detection by start code detector 51, as shown in Table 600, which shows the relationship between the presence and absence of standard signals in a specific machine independent control token. Generates a series of machine independent control tokens. Each image listed in the "Received Images" column initiates the generation of all machine independent control tokens listed in the group in the "Generate Tokens" column. As shown in the first row of table 600, H.264. 261 "Sequence start" during processing period
Whenever an image is received or a "picture start" image is received during PEC processing, an entire group of four control tokens is generated, each with its corresponding data or data. Followed by value. Further, as shown in the second row of table 600, the second group of four control tokens is generated at the appropriate time regardless of the image received by start code detector 51. Table 601 Display Order I1 B2 B3 P4 B5 B6 P7 B8 B9 I10 Transmission Order I1 P4 B2 B3 P7 B5 B6 I10 B8 B9 Shows one row of table 601 showing the timing relationship between transmitted pictures and displayed pictures. As such, the picture frames are displayed in numerical order. However,
To reduce the number of frames that must be stored in memory, the frames are transmitted in different orders. It is useful to start the analysis with an intra frame (I frame). The I1 frames are transmitted in the order they should be displayed. Next, the next predicted frame (P frame) P4 is transmitted. Then, any bi-directionally interpolated frames (B-frames) to be displayed between the I1 and P4 frames are transmitted. These frames are represented by frames B2 and B3. This allows a transmitted B frame to refer to a previous frame (forward prediction) or a future frame (backward prediction).
After transmitting all B frames to be displayed between the I1 frame and the P4 frame, the next P frame, P7, is transmitted. Then all B frames corresponding to B5 and B6 to be displayed between P4 and P7 frames are transmitted. Then, the next I frame, 110, is transmitted. Finally, P7 and 1
All B frames corresponding to frames B8 and B9 to be displayed between 10 frames are transmitted. Sending frames in this order requires only two frames to be held in memory at any one time, and then sending the next P or I frame to display the intermediate B frame. It does not require the decoder to wait.

【0229】本発明の構造及びオペレーション、並び
に、特徴、目的、及び利点に関するこれ以上の情報は、
当該技術分野における通常の熟練者であれば、本発明の
例証的な実施例について追加的に継続される詳細な記述
から容易に明白になるはずである。この詳細な内容につ
いては、説明を明瞭かつ利便にするために、次に示すセ
クションにまとめて記述することとする。
Further information regarding the structure and operation of the invention, as well as its features, objects and advantages, can be found in
It will be readily apparent to one of ordinary skill in the art from the additional continuing detailed description of the illustrative embodiments of the present invention. For the sake of clarity and convenience, the detailed contents are summarized in the following sections.

【0230】1.多重規格コンフィギュレーション 2.JPEG静止画のデ符号化 3.動画の伸長 4.RAMメモリーマップ 5.ビットストリームの特性 6.再構成可能なプロセッシングステージ 7.多重規格符号化 8.多重規格プロセッシング回路 ― 第2オペレーシ
ョンモード 9.スタートコード検出器 10.トークン 11.DRAMインターフェース 12.予測フィルタ 13.アクセシングレジスタ 14.マイクロプロセッサインターフェース(MPI) 15.MPIリードタイミング 16.MPIライトタイミング 17.キーホールアドレスロケーション 18.ピクチャエンド 19.フラッシングオペレーション 20.フラッシュ機能 21.ピクチャ後ストップ 22.多重規格サーチモード 23.逆モデラ 24.逆量子化器 25.ハフマンデコーダ及びパーザー(parser)(構文解
析系) 26.種々の別個のコサイントランスフォーマ 27.バッファマネージャ 1.多重規格コンフィギュレーション 前述の米国特許第5,212,742号明細書に示した
ように、様々な圧縮規格、即ち、JPEG、MPEG、
及びH.261が周知であるので、これらの規格の詳細
な仕様について、ここでは繰り返さない。
1. Multi-standard configuration 2. 2. Decoding of JPEG still image Video extension 4. RAM memory map 5. Bitstream characteristics 6. Reconfigurable processing stage 7. Multi-standard coding 8. Multi-standard processing circuit-second operation mode 9. Start code detector 10. Token 11. DRAM interface 12. Prediction filter 13. Accessing register 14. Microprocessor interface (MPI) 15. MPI read timing 16. MPI write timing 17. Keyhole address location 18. Picture end 19. Flushing operation 20. Flash function 21. Stop after picture 22. Multi-standard search mode 23. Reverse modeler 24. Inverse quantizer 25. Huffman decoder and parser (syntax analyzer) 26. Various separate cosine transformers 27. Buffer manager 1. Multi-Standard Configurations As shown in the aforementioned US Pat. No. 5,212,742, various compression standards, namely JPEG, MPEG,
And H .; Since H.261 is well known, the detailed specifications of these standards will not be repeated here.

【0231】以前に言及したように、本発明は、種々異
なってコード化された様々なピクチャデータビットスト
リームを伸長することが可能である。コード化に関する
異なる各規格において、単独で作動する空間デコーダの
出力、或いは、組合わされて作動する空間デコーダ及び
時間デコーダの直列出力に供給されたデータを扱い(続
いて更に詳細に説明されるように)、そして、コンピュ
ータにおけるディスプレイ又は動画ディスプレイシステ
ムを含む他のディスプレイシステムを含めて使用するた
めにこの出力をリフォーマッィングするには、或る程度
規制された形の出力フォーマッティング部が必要であ
る。このフォーマッティングすることを実現する方法
は、コード化規格、及び/又は、選定されたディスプレ
イのタイプの間で大幅に変化する。
As mentioned previously, the present invention is capable of decompressing differently coded different picture data bitstreams. Different coding standards deal with the data provided to the output of the spatial decoders operating alone or to the serial output of the spatial decoders and temporal decoders operating in combination (as described in more detail below). ), And the reformatting of this output for use with other display systems, including displays in computers or moving image display systems, requires some form of regulated output formatting. The manner in which this formatting is accomplished varies significantly between coding standards and / or the type of display chosen.

【0232】本発明に基づく第1の実施例においては、
図17〜図19に関して以前に述べたように、フォーマ
ット化されたデータのブロック、即ち、第1のデコーダ
(空間デコーダ)、又は、第1のデコーダ(空間デコー
ダ)と第2のデコーダ(時間デコーダ)との組み合わせ
のどちらかからの出力を記憶し、そして、複号された情
報を、ラスタ順に、メモリーに対して書き込み、及び/
又は、書き出すために、アドレス発生器が用いられる。
以下に説明する動画フォーマッティング部は、広い範囲
に亙る出力信号組合わせを提供する。
In a first embodiment according to the present invention,
As previously described with respect to FIGS. 17-19, blocks of formatted data, namely a first decoder (spatial decoder) or a first decoder (spatial decoder) and a second decoder (temporal decoder). ) And the output from either of the combinations is written and the decoded information is written to the memory in raster order and / or
Alternatively, an address generator is used to write out.
The video formatter described below provides a wide range of output signal combinations.

【0233】本発明にかかる好ましい多重規格動画デコ
ーダ実施例において、空間デコーダ及び時間デコーダ
は、MPEG符号化信号およびH.261動画符号復号
化システムの両方を実現することを必要とする。これら
双方のデバイスのDRAMインターフェースは、小さい
ピクチャフォーマットを用い、そして、低いコード化デ
ータレートにおいて運用している場合には、必要とされ
るDRAMの量を少なくするために構成可能である。こ
れらのDRAMの再構成については、DRAMインター
フェースに関連して以下において更に説明することとす
る。一般に、各々の時間デコーダ及び空間デコーダ回路
によって1つの単一4メガバイトDRAMが必要とされ
る。
In the preferred multi-standard video decoder embodiment of the present invention, the spatial and temporal decoders are MPEG coded signals and H.264 / AVC signals. It is necessary to realize both of the H.261 moving picture coding / decoding system. The DRAM interface of both of these devices uses small picture formats and is configurable to reduce the amount of DRAM required when operating at low coded data rates. The reconfiguration of these DRAMs will be further described below in connection with the DRAM interface. Generally, one single 4 Mbyte DRAM is required by each temporal decoder and spatial decoder circuit.

【0234】本現在の空間デコーダは、1つの単一ピク
チャ内で必要とされる全ての処理を遂行する。これによ
り、1つのピクチャ内の冗長度が減少される。
The present current spatial decoder performs all the processing required within one single picture. This reduces the redundancy within a picture.

【0235】時間デコーダは、主体とされるピクチャの
到着前に到着するピクチャに関係する主体となる当該ピ
クチャ、並びに、主体とされるピクチャの到着後に到着
するピクチャとの間の冗長性を減少させる。時間デコー
ダの1つの態様は、これら全てのピクチャと関連したデ
ータを読み取るために必要な複雑なアドレス機能を、出
来るだけ少ない個数の回路を使用し、そして、高速およ
び改良された精度を以て、扱うアドレスデコードネット
ワークを提供することである。
The temporal decoder reduces the redundancy between the subject picture that is related to the picture that arrives before the arrival of the subject picture and the pictures that arrive after the arrival of the subject picture. . One aspect of the temporal decoder addresses the complex address functions required to read the data associated with all these pictures, using as few circuits as possible, and with high speed and improved accuracy. It is to provide a decoding network.

【0236】図18に関して以前に説明したように、デ
ータは、ハフマンデコーダ及びパーザーに先行するスタ
ートコード検出器、FIFO、第2のFIFOレジス
タ、逆モデラー、逆量子化器、逆ジグザグ及び逆DCT
を介して到着する。2つのFIFOは、チップ上に所在
する必要はない。一実施例において、データは、チップ
上に所在するFIFOを通って流れない。データは、D
RAMインターフェースに供給され、そして、FIFO
−IN記憶レジスタ及びFIFO−DUTレジスタは、
両方の場合に、チップ外に所在する。オペレーションが
規格とは完全に独立しているこれらのレジスタについて
は、続いて更に詳細に説明する。
As previously described with respect to FIG. 18, the data is a start code detector preceding the Huffman decoder and parser, a FIFO, a second FIFO register, an inverse modeler, an inverse quantizer, an inverse zigzag and an inverse DCT.
Arrive via. The two FIFOs do not have to be on-chip. In one embodiment, data does not flow through a FIFO located on the chip. The data is D
Supplied to RAM interface and FIFO
-IN storage register and FIFO-DUT register
In both cases, it is located off-chip. These registers, whose operation is completely independent of the standard, will be described in more detail subsequently.

【0237】図18に示すサブシステム及びステージの
大多数は、用いられる特定の規格から実際に独立してお
り、そして、DRAMインターフェース58、DRAM
インターフェースのためにアドレスを生成するバッファ
マネージャ59、逆モデラー75、逆ジグザグ8l、及
び逆DCT83を含む。ハフマンデコーダ及びパーザー
内の規格から独立したユニットは、ALU66及びトー
クンフォーマッティング部71を含む。
The majority of subsystems and stages shown in FIG. 18 are actually independent of the particular standard used, and the DRAM interface 58, DRAM
It includes a buffer manager 59 that generates addresses for the interface, a reverse modeler 75, a reverse zigzag 81, and a reverse DCT 83. The standard-independent unit in the Huffman decoder and parser includes the ALU 66 and the token formatting unit 71.

【0238】図19において、規格から独立したユニッ
トには、DRAMインターフェース100、フォーク9
1、FIFOレジスタ96、加算器98、及び出力セレ
クタ106が含まれる。規格従属ユニットは、H.26
1とMPECにおいて異なるアドレス発生器94、及び
H.261及びMPEGの両方に適合するように再構成
可能な予測フィルタ103である。JPEGデータは、
一切変更されない機械全体を通って流れる。
In FIG. 19, a unit independent of the standard includes a DRAM interface 100 and a fork 9
1, a FIFO register 96, an adder 98, and an output selector 106 are included. The standard dependent unit is an H.264 standard. 26
1 and MPEC, different address generators 94, and H.264. The prediction filter 103 is reconfigurable so as to be compatible with both H.261 and MPEG. JPEG data is
It flows through the entire machine, which never changes.

【0239】図20は、動画フォーマッティング部チッ
プのハイレベル構成図を示す。このチップの殆どの部分
は規格から独立している。規格によって影響される僅か
な項目は、MPEG又はJPEGと異なるH.261の
場合にはDRAMにデータが記入される方法であり、そ
して、H.261においては、全ての単一ピクチャをコ
ード化する必要はない。ピクチャを何時ディスプレイし
ようと意図するかに関するいくらかの情報を提供し、そ
して、動画フォーマッティング部におけるロジックのア
ドレス発生タイプによっても扱われる時間基準として参
照されるいくらかのタイミング情報がある。
FIG. 20 is a high level block diagram of the moving picture formatting section chip. Most parts of this chip are standard independent. The few items that are affected by the standard are H.264, which is different from MPEG or JPEG. In the case of H.261, data is written in the DRAM, and H.264 is used. At 261 it is not necessary to code every single picture. There is some timing information that provides some information as to when the picture is intended to be displayed, and is also referred to as a time reference that is also addressed by the logic's address generation type in the video formatting section.

【0240】動画フォーマッティング部に具現された回
路の残りの部分は、色空間変換の全て、アップサンプリ
ングフィルタ、及びガンマ補正RAMの全てを含み、そ
して、用いられる特定の圧縮規格から完全に独立してい
る。
The rest of the circuitry embodied in the video formatting section includes all of the color space conversion, upsampling filters, and gamma correction RAM, and is completely independent of the particular compression standard used. There is.

【0241】本発明のスタートコード検出器は圧縮規格
に依存し、この圧縮規格において、前記検出器は、当該
規格の各々に対して、ビットストリームにおける種々の
異なるスタートコードパターンを認識しなければならな
い。例えば、H.261は16ビットスタートコードを
持ち、MPECは24ビットスタートコード持ち、そし
て、JPEGは他のスタートコードとはかなり異なるマ
ーカコードを使用する。いったん、スタートコード検出
器がこれらの異なるスタートコードを認識してしまえ
ば、そのオペレーションは、圧縮規格から本質的に独立
する。例えば、種々の異なるカテゴリのマーカを認識す
る回路は別として、オペレーションの多くは、3つの異
なる圧縮規格の間で非常に類似している。
The start code detector of the present invention relies on a compression standard in which the detector must recognize for each of the standards different start code patterns in the bitstream. . For example, H.264. 261 has a 16-bit start code, MPEC has a 24-bit start code, and JPEG uses a marker code that is significantly different from other start codes. Once the start code detector recognizes these different start codes, its operation is essentially independent of the compression standard. For example, apart from the circuitry that recognizes various different categories of markers, many of the operations are very similar between the three different compression standards.

【0242】次に示すユニットは、ハフマンデコーダ及
びパーザー内に位置するステートマシン518(図1
8)である。この場合、実際の回路構成は、3つの圧縮
規格の各々に関してほとんど同じである。実際、オペレ
ーションにおいて規格によって影響される唯一のエレメ
ントは、マシンのリセットアドレスである。単にパーザ
ーがリセットされる場合には、パーザーは、各規格に関
して異なるアドレスへジャンプする。実際、認識される
4つの規格がある。これらの規格は、H.261、JP
EG、MPEG、及び他の1つ規格であり、最後の規格
の場合、パーザーは、テストのために使われる1つのコ
ードに入る。この事実は、回路がほとんど全ての態様に
おいて同じであり、各々の規格に関するマイクロコード
によるプログラムが異なるだけである。従って、1つの
プログラムがH.261において作動しており、そし
て、別の異なる1つのプログラムがランしている場合、
これらのプログラムの間には重複はない。これは、JP
EGに関しても真であり、第3の完全に独立したプログ
ラムである。
The following unit is a state machine 518 located in the Huffman decoder and parser (see FIG. 1).
8). In this case, the actual circuit configuration is almost the same for each of the three compression standards. In fact, the only element in operation that is affected by the standard is the machine reset address. If the parser is simply reset, it will jump to a different address for each standard. In fact, there are four recognized standards. These standards are based on H.264. 261, JP
For the EG, MPEG, and one of the other standards, and the last standard, the parser enters one code used for testing. The fact is that the circuit is the same in almost every aspect, only the microcode programming for each standard is different. Therefore, one program is H.264. 261 is running and another different program is running,
There is no overlap between these programs. This is JP
It is also true of EG and is the third fully independent program.

【0243】次に示すユニットは、データインデックス
ユニット64と共に機能するハフマンデコーダ56であ
る。これら2つのユニットは、ハフマン復号化を遂行す
るために、協同作動する。この場合、ハフマン復号化の
ために使われるアルゴリズムは、圧縮規格に関係なく同
じである。変化は、どちらの表が用いられるかと言うこ
と、および、ハフマンデコーダに入来するデータが反転
されているかどうかと言うことである。更に、ハフマン
デコーダ自体、符号化規格のいくらかの態様を理解する
ステートマシンを含む。これらの異なるオペレーション
は、パーザーステートマシンから入来する命令に応答し
て選定される。パーザーステートマシンは、3つの圧縮
規格の各々に対して異なるプログラムによって作動し、
そして、作動中の規格に適合する異なる時点において、
正しい命令をハフマンデコーダに供給する。
The next unit shown is the Huffman decoder 56 which works in conjunction with the data index unit 64. These two units work together to perform Huffman decoding. In this case, the algorithm used for Huffman decoding is the same regardless of the compression standard. The change is which table is used and whether the data coming into the Huffman decoder is inverted. In addition, the Huffman decoder itself includes a state machine that understands some aspects of the coding standard. These different operations are selected in response to instructions coming from the parser state machine. The Parser State Machine works by a different program for each of the three compression standards,
And at different times that meet the operating standards,
Supply the correct instruction to the Huffman Decoder.

【0244】圧縮規格に依存するチップ上の最後のユニ
ットは、逆量子化器79であり、この場合、逆量子化器
が遂行する数学は異なる規格の各々に対して異なる。こ
の際に、コーディング・スタンダードトークンは復号化
され、そして、逆量子化器79は、どちらの規格の下で
作動中であるかを記憶する。次に、当該イベントの後に
起き、他のコーディング・スタンダードの前に起きかも
しれないあらゆる後続データトークンは、逆量子化器内
に記憶されているコーディング・スタンダードによって
示された方法によって扱われる。詳細な記述において言
及する表は、異なる規格における異なるパラメータを示
し、これらの異なるパラメータ又は数学にどの回路が対
応するかを示す。
The last unit on the chip that depends on the compression standard is the dequantizer 79, where the math performed by the dequantizer is different for each of the different standards. At this time, the coding standard token is decoded, and the dequantizer 79 remembers under which standard it is operating. Then, any subsequent data tokens that occur after the event and may occur before other coding standards are handled by the method indicated by the coding standard stored in the dequantizer. The tables mentioned in the detailed description show the different parameters in the different standards and which circuits correspond to these different parameters or mathematics.

【0245】H.261に基づくアドレス生成は、図1
9及び図20に示す各々のサブシステムに対して同じで
ない。図18に示すハフマンデコーダの前或いは後の2
つのFIFOに対してアドレスを生成するアドレス生成
方法は、コード化規格に応じて変化しない。H.261
の場合であっても、当該チップ上で起きるアドレス生成
は変わらない。本質的に、これらの規格の間の差は、M
PEGとJPEGとの差であり、マクロブロックの組織
は、ピクチャを横断して水平に伸びる線状の行内に配置
される。図21に示すように、第1のマクロブロックA
が1行をカバーする。マクロブロックBは1行未満をカ
バーする。マクロブロックCは複数行をカバーする。M
PEGにおいては、スライスに分割され、そして、1つ
のスライスが1つの水平行Aである場合もあり、或い
は、1つのスライスが水平行Bの一部である場合もあ
り、或いは、1つのスライスが1つの行からその次の行
に伸びる場合、Cもあり得る。これらのスライスの各々
は、マクロブロックの列で構成される。
H. Address generation based on H.261 is shown in FIG.
9 and not the same for each subsystem shown in FIG. 2 before or after the Huffman decoder shown in FIG.
The address generation method for generating addresses for one FIFO does not change according to the coding standard. H. 261
In this case, the address generation that occurs on the chip does not change. In essence, the difference between these standards is M
The difference between PEG and JPEG, the organization of macroblocks is arranged in linear rows that extend horizontally across the picture. As shown in FIG. 21, the first macroblock A
Covers one line. Macroblock B covers less than one row. Macroblock C covers multiple lines. M
In PEG, it is divided into slices, and one slice may be one horizontal row A, one slice may be a part of horizontal row B, or one slice may be There can also be C if it extends from one row to the next. Each of these slices consists of a row of macroblocks.

【0246】H.261の場合には、ピクチャはブロッ
クのグループ(GOB)に分割されるので、組織はいく
ぶん異なる。ブロックのグループは、高さが3列のマク
ロブロックに相当し、幅が11マクロブロックに相当す
る。CIPピクチャの場合には、この種の12のブロッ
クグループがある。ただし、1つの上に他の1つと言う
ように組織されていない。そうではなくて、高さ6ブロ
ックのグループが前後2グループ配置される。即ち、垂
直に6GOB及び水平2GOBが配置される。
H. In the case of 261, the picture is divided into groups of blocks (GOB), so the organization is somewhat different. A group of blocks corresponds to a macroblock with a height of 3 columns and a width of 11 macroblocks. In the case of CIP pictures, there are 12 block groups of this kind. However, they are not organized like one above the other. Instead, groups of 6 blocks in height are arranged in the front and rear 2 groups. That is, 6 GOBs and 2 GOBs are arranged vertically.

【0247】他の全ての規格において、アドレッシング
を遂行する場合、既に示したように、マクロブロックは
順番にアドレスされる。更に詳細には、アドレスは行に
沿って進行し、そして、行の終端において、その次の行
がスタートすられる。H.261の場合には、ブロック
の順序は、ブロックのグループ内において記述された順
序と同じであるが、しかし、その次のブロックグループ
に動く際にそれは、ほとんどジグザグである。
In all other standards, when performing addressing, the macroblocks are addressed in sequence, as already indicated. More specifically, the address progresses along the line, and at the end of the line the next line is started. H. In the case of 261, the order of the blocks is the same as the order described within the group of blocks, but when moving to the next group of blocks it is almost zigzag.

【0248】本発明は、前記の影響を扱うための回路を
提供する。それは、空間デコーダ及び動画フォーマッテ
ィング部におけるアドレス生成を、H.261用に変更
する方法である。情報がDRAMに記入されるときはい
つでも、これが達成される。前述のアドレス生成シーケ
ンスに関する知識によって記入されるので、RAMにお
ける物理的に配置される場所は、同じサイズのMPEG
ピクチャの場合と厳密に同じである。従って、メモリー
における情報の物理的配置は、MPEGシーケンスであ
った場合と同じであるので、DRAMから読取りを行う
ための全てのアドレス生成回路は、例えば予測を形成す
る場合、H.261規格の場合であることを理解する必
要はない。このように、全ての場合に、データの記入の
みが影響される。
The present invention provides a circuit for handling the above effects. It describes the address generation in the spatial decoder and the video formatting unit according to H.264. It is a method of changing to 261. This is accomplished whenever information is written to DRAM. As it is filled in with knowledge of the address generation sequence described above, the physical location in RAM is the same size MPEG.
Exactly the same as for pictures. Therefore, the physical arrangement of the information in the memory is the same as it was in the MPEG sequence, so that all address generation circuits for reading from the DRAM can, for example, generate H.264. It is not necessary to understand that this is the case for the H.261 standard. Thus, in all cases only the entry of data is affected.

【0249】時間デコーダにおいて、回路が、実際に発
生している事柄と異なる何かであるように見えるH.2
61に対して抽象化が行われる。即ち、ブロックの各グ
ループは概念的に拡張され、その結果、11×3マクロ
ブロックである長方形の代わりに、マクロブロックは、
高さが1マクロブロックであり長さが33ブロック(図
23)のブロックグループに拡張される。こうすること
により、ブロックのグループ通じてカウントするために
時間デコーダにおいて用いられるカウント技法と全く同
じ技法が、MPFG用としても用いられる。
In the temporal decoder, the H.264 circuit appears to be something different from what is actually happening. Two
Abstraction is performed on 61. That is, each group of blocks is conceptually expanded so that instead of a rectangle that is an 11 × 3 macroblock, the macroblock is
It is expanded to a block group having a height of 1 macroblock and a length of 33 blocks (FIG. 23). By doing this, the exact same counting technique used in the temporal decoder to count through groups of blocks is also used for MPFG.

【0250】ブロックのH.261グループとMPEG
スライスとの間に合致が存在するように回路が設計され
る。スタートコード検出器の後でH.261データが処
理される場合、各ブロックグループは、スライススター
トコードによって先行される。その次のブロックグルー
プは、その次のスライススタートコードによって先行さ
れる。この構造を通ってカウントするために時間デコー
ダ内においてカウントが行われる場合は、高さが1マク
ロブロックであって長さが33マクロブロックのグルー
プであるかのように見える。同様に回路は10間隔おき
にカウントするが、これで十分である。第11番目のマ
クロブロック又は第22番目のマクロブロックをカウン
トすると、幾つかのカウンタをリセットする。各マクロ
ブロックをカウントアップし、そして、11に到達する
と、ゼロにリセットする別のカウンタを備えた簡単な回
路によってこれが達成される。マイクロコードは、それ
を尋問し、そして、その作用を実施する。本発明の時間
デコーダにおける全ての回路は、マクロブロックの物理
的配置に関して、圧縮規格から本質的に独立している。
H. of blocks. 261 Group and MPEG
The circuit is designed so that there is a match with the slice. H.264 after the start code detector. When 261 data is processed, each block group is preceded by a slice start code. The next block group is preceded by the next slice start code. When counting is done in the temporal decoder to count through this structure, it looks as if it is a group of one macroblock in height and 33 macroblocks in length. Similarly, the circuit counts every 10 intervals, which is sufficient. Counting the 11th macroblock or the 22nd macroblock resets some counters. This is accomplished by a simple circuit with another counter that counts up each macroblock and resets to zero when it reaches 11. Microcode interrogates it and performs its action. All circuits in the temporal decoder of the present invention are essentially independent of the compression standard regarding the physical placement of macroblocks.

【0251】多重規格の適応性に関して多数の異なる表
が有り、そして、回路は、適切な時点において適切な規
格を適応するために適切な表を選定する。各規格は複数
の表を持ち、そして、回路は、任意の所定時点において
表の集合の中から選定する。任意の1つの規格内におい
て、回路は、一時に1つの表を選定し、また、別の一時
に別の表を選定する。異なる規格内においては、回路
は、異なる表の集合を選定する。図24に関する検討の
際に既に指摘したように、これらの表の間には或る程度
の交差がある。例えば、MPEGに用いられる表の1つ
は、JPEGにおいても同様に用いられる。これらの表
は、完全に分離した集合ではない。図24は、H.26
1集合、MPEG集合、及びJPEG集合を示す。H.
261集合とMPEG集合との間には非常に大きい重複
があることに注意されたい。これらの規格が使用する表
は全く共通する。MPEGとJPEGとの間には僅かな
重複があり、そして、H.261とJPEGとの間には
全く重複がないので、これらの規格は完全に異なる表の
集合を持つ。
There are a number of different tables for adaptability of multiple standards, and the circuit selects the appropriate table to adapt the appropriate standard at the appropriate time. Each standard has multiple tables, and the circuit selects from a set of tables at any given time. Within any one standard, the circuit selects one table at a time and another table at another time. Within different standards, the circuit selects different sets of tables. As noted earlier in the discussion regarding FIG. 24, there is some crossing between these tables. For example, one of the tables used in MPEG is used in JPEG as well. These tables are not completely separate sets. FIG. 26
One set, an MPEG set, and a JPEG set are shown. H.
Note that there is a very large overlap between the 261 set and the MPEG set. The tables used by these standards are quite common. There is a slight overlap between MPEG and JPEG, and H.264. Since there is no overlap between 261 and JPEG, these standards have completely different sets of tables.

【0252】既に指摘したように、大部分のシステムユ
ニットは圧縮規格から独立している。或る1つのユニッ
トが規格独立的である場合には、この種のユニットは、
どのコーディング・スタンダードが処理されつつあるか
を記憶している必要がない。規格従属的な全てのユニッ
トは、コーディング・スタンダードトークンがこれらの
ユニットを流れる際に、圧縮規格を記憶している。第1
の符号化規格においてコード化/復号化された情報はマ
シン全体に配分され、そして、マシンが規格を変更しつ
つある場合には、マイクロプロセッサ制御される前のマ
シンは、一般に、H.261圧縮規格に従って機能する
ことを選定する。この種の前のマシンにおけるMPU
は、圧縮規格が変更中のマシン内における複数の異なる
場所において信号を生成する。MPUは、異なる時点に
おいて変更を行い、そしてパイプライン全体を通じてフ
ラッシュする。
As already pointed out, most system units are compression standard independent. If a unit is standard independent, then this type of unit
There is no need to remember which coding standard is being processed. All standards-dependent units remember the compression standard as the coding standard token flows through these units. First
Information encoded / decoded in the H.264 coding standard is distributed throughout the machine, and if the machine is changing standards, the pre-microprocessor controlled machine is generally H.264. We choose to work according to the H.261 compression standard. MPU in this kind of previous machine
Produces signals at several different locations within a machine whose compression standard is changing. The MPU makes changes at different times and flushes throughout the pipeline.

【0253】本発明に従い、パイプラインにおける第1
のユニットとして配置されたスタートコード検出器にお
いてコーディング・スタンダードトークンの変化を起こ
させることにより、圧縮規格のこの変化を容易に取り扱
うことができる。トークンは、あるコード化規格が開始
されつつあることを表明し、そして、当該制御情報は、
マシンを下流に向かって流れ、そして、適切な時点にお
いて他の全てのレジスタを構成する。MPUは、各レジ
スタをプログラムする必要がない。
In accordance with the present invention, the first in pipeline
This change in compression standard can be easily handled by causing a change in the coding standard token in the start code detector arranged as a unit of. The token indicates that a coding standard is being initiated, and the control information is
Flows down the machine and configures all other registers at the appropriate times. The MPU does not have to program each register.

【0254】予測トークンは、ビットストリーム内のビ
ットを用いて予測を形成する方法を告げる。どの圧縮規
格が運用中であるかに応じて、回路は、当該規格内に発
見される情報をビットストリームから予測モードトーク
ンへ変換する。この処理は、ハフマンデコーダ、及びパ
ーザーステートマシンによって行われ、この場合に、特
定の条件に基づくビットを操作することは容易である。
スタートコード検出器は、この予測モードトークンを生
成する。次に、トークンは、マシンを下流に向かって、
予測形成に責任のあるデバイスである時間デコーダの回
路まで流れる。ある規格内のビットは3つの異なる規格
内において変化しないので、空間デコーダの回路は、ト
ークンがその中で運用されている規格がどの規格である
かを知ることなしに、当該トークンを解釈する。空間デ
コーダは、当該トークンに応答して告げられたことだけ
を行う。これらのトークンを所有し、そして、それらを
適切に使うことによって、マシンにおける他のユニット
の設計が簡素化される。プログラムは幾分複雑になるこ
ともあり得るが、多重規格に対して設計困難なハードワ
イヤロジックをこの場合に使用することができる利益が
得られる。
Prediction tokens tell how to use bits in the bitstream to form a prediction. Depending on which compression standard is in operation, the circuit transforms the information found in that standard from a bitstream into a prediction mode token. This processing is performed by the Huffman decoder and the parser state machine, and in this case, it is easy to manipulate the bit based on the specific condition.
The start code detector produces this prediction mode token. Then the token goes down the machine,
Flow to the circuit of the time decoder, which is the device responsible for prediction formation. Since the bits in a standard do not change in the three different standards, the circuitry of the spatial decoder interprets the token without knowing which standard it operates in. The spatial decoder only does what was told in response to the token. Owning these tokens and using them properly simplifies the design of other units in the machine. The program can be somewhat complex, but there are benefits to using hardwired logic in this case, which is difficult to design for multiple standards.

【0255】2.JPEG静止画像の復号化 以前に指摘したように、本発明は信号伸長に関し、更に
詳細には、使用圧縮規格には無関係なコード化動画信号
の伸長に関する。
2. Decoding JPEG Still Images As previously pointed out, the present invention relates to signal decompression, and more particularly to decompression of coded video signals independent of the compression standard used.

【0256】本発明の1つの態様は、パイプライン処理
システムにおいて、第1の符号化された信号(MPE
G、またはH.261符号化動画信号)を復号化するた
めに第2のデコーダ回路(時間デコーダ)と組み合わせ
て第1の符号化された信号(JPEG符号化動画信号)
を復号化するための第1のデコーダ回路(空間デコー
ダ)を提供することである。JPEG符号復号化のため
には時間デコーダを必要としない。
One aspect of the present invention is a pipelined processing system, wherein a first encoded signal (MPE) is used.
G, or H. H.261 encoded video signal) in combination with a second decoder circuit (temporal decoder) to decode the H.261 encoded video signal).
To provide a first decoder circuit (spatial decoder) for decoding the. No temporal decoder is required for JPEG code decoding.

【0257】この点に関して、本発明は、1つの単一パ
イプラインデコーダ及び伸長システムを使用することに
より異なる方法で符号化された複数の信号の伸長を容易
にする。符号復号化および伸長パイプラインプロセッサ
は、独特の、そして、単一パイプラインデコーダ及び処
理システムと完全に互換性のある技術を用いて多重規格
符号化動画信号の扱いを可能にする特殊なコンフィギュ
レーションに組織されている。空間デコーダは時間デコ
ーダと組合わされ、そして、動画フォーマッティング部
は、動画ディスプレイをドライブするために用いられ
る。
In this regard, the present invention facilitates decompression of multiple signals encoded in different ways by using one single pipeline decoder and decompression system. The coder / decoder and decompressor pipeline processor is a special configuration that enables the handling of multi-standard coded video signals using technology that is unique and fully compatible with single pipeline decoders and processing systems. Is organized in. The spatial decoder is combined with the temporal decoder, and the video formatter is used to drive the video display.

【0258】本発明の他の態様は、静止画のみと使用す
るために、空間デコーダと動画フォーマッティング部の
組み合わせを使用することである。圧縮規格から独立し
た空間デコーダは、1つの単一ピクチャの境界内におい
て全てのデータ処理を遂行する。この種のデコーダは、
パイプラインを通過し、そして、関連している等速呼出
記憶装置、メモリーに対して情報の記憶および検索を扱
うための規格から独立したアドレス生成回路内に配分さ
れる内部ピクチャデータの空間伸長を扱う。静止画像デ
ータは、空間デコーダの出力において復号化され、そし
て、この出力は、ディスプレイ端末に出力を供給する多
重規格構成可能動画フォーマッティング部の入力として
用いられる。同様の画像の第1のシーケンスにおいて、
画像が空間デコーダの出力に到達するまでは、空間デコ
ーダの出力における伸長された各画像は同じビット長さ
である。画像の第2シーケンスは、完全に異なる画像サ
イズであっても差し支えなく、従って、第1の長さと比
較した場合に、長さが異なっても差し支えない。再度説
明すれば、この種画像が空間デコーダの出力に到達する
までは、類似した画像のこの種の第2シーケンスは全て
ビット長さが同じである。
Another aspect of the invention is the use of a combination of spatial decoder and video formatter for use with still images only. A compression standard independent spatial decoder performs all data processing within the boundaries of one single picture. This kind of decoder
Spatial decompression of internal picture data that passes through the pipeline and is distributed within the address generation circuitry independent of the standards for handling information storage and retrieval for the associated constant velocity call storage, memory. deal with. The still image data is decoded at the output of the spatial decoder, and this output is used as the input of a multi-standard configurable video formatter that provides the output to the display terminal. In a first sequence of similar images,
Until the image reaches the output of the spatial decoder, each decompressed image at the output of the spatial decoder is the same bit length. The second sequence of images can be of completely different image size and therefore different lengths when compared to the first length. Again, until this kind of image reaches the output of the spatial decoder, all such second sequences of similar images have the same bit length.

【0259】本発明の他の態様は、入来する規格従属ビ
ットストリームを、規格から独立した再構成可能なパイ
プラインプロセッサとして作動するように選定および組
織化され、順序立てて配置された再構成可能な複数の処
理ステージと組合わされた一連の制御トークン及びデー
タトークンに内部的に組織化することである。
Another aspect of the present invention is that the incoming standard dependent bitstream is reconfigured and ordered and arranged and arranged to operate as a standard independent reconfigurable pipeline processor. Internally organizing into a series of control tokens and data tokens combined with possible processing stages.

【0260】JPEG復号化に関して、チップ外DRA
M無し1つの単一空間デコーダは、基底線JPEGイメ
ージを急速に復号化することが出来る。空間デコーダ
は、基底線JPEG符号化規格の全ての機能をサポート
する。ただし、復号化可能なイメージサイズは、装備さ
れた出力バッファのサイズによって制限されることもあ
る。空間デコーダ回路は、情報のメモリーへの記憶を扱
うための機械従属、規格から独立したアドレス生成回路
を有する等速呼出記憶装置回路を含む。
Off-chip DRA for JPEG decoding
One single spatial decoder without M can quickly decode the baseline JPEG image. The spatial decoder supports all features of the baseline JPEG encoding standard. However, the decodable image size may be limited by the size of the equipped output buffer. The spatial decoder circuit includes a constant speed call store circuit having a machine dependent, standard independent address generation circuit for handling storage of information in memory.

【0261】既に指摘したように、JPEG符号化され
た動画を復号化するためには時間デコーダを必要としな
い。従って、データトークンによって運ばれる信号は、
JPEGオペレーション用として時間デコーダが構成さ
れている場合には、それ以上処理することなしに、時間
デコーダを通って直接供給される。
As already pointed out, no temporal decoder is required to decode a JPEG encoded moving picture. Therefore, the signal carried by the data token is
If the temporal decoder is configured for JPEG operation, it is fed directly through the temporal decoder without further processing.

【0262】本発明の他の態様は、ハフマンデコーダ/
動画デマルチプレクサ回路(HD&VDM)と組み合わ
されて作動するための、例えばバッファメモリー回路の
ような、1対のメモリー回路を空間デコーダ内に提供す
ることである。、第1の緩衝記憶装置は、HD & V
DMの前に配置され、そして、第2の緩衝記憶装置は、
HD & VDAの後に配置される。KD & VDM
は、2進1及び0出構成されるビットストリームを復号
化する。これらの数値は、規格符号化されたビットスト
リーム内に所在し、そして、当該ビットストリームを、
下流において使用される数に変換する。2バッファシス
テムの利点は、多重伸長システムを実現するために使用
できることである。これら2つのバッファについては、
ハフマンデコーダの確認済み実施例と組み合わせて、こ
の後で詳細に説明される。
Another aspect of the present invention is a Huffman decoder /
Providing in the spatial decoder a pair of memory circuits, such as buffer memory circuits, for operation in combination with the video demultiplexer circuit (HD & VDM). , The first buffer storage is HD & V
Located in front of the DM and the second buffer store is
It is placed after HD & VDA. KD & VDM
Decodes a bitstream consisting of binary 1's and 0's. These numbers are located in the standard encoded bitstream, and the bitstream is
Convert to the number used downstream. The advantage of the two-buffer system is that it can be used to implement multiple decompression systems. For these two buffers,
It will be described in detail later in connection with the verified embodiment of the Huffman decoder.

【0263】本多重規格伸長回路の更に別の態様は、ハ
フマンデコーダと組み合わせて作動する第1のフォーワ
ードバッファの上流に配置されたスタートコード検出器
回路と組合わされることである。この組み合わせの1つ
の利点は、入力ビットストリーム、特にパディングを扱
う場合に、ビットストリームに加えられなければならな
い融通性が増大することである。これらの確認済みコン
ポーネント、スタートコード検出器、メモリーバッフ
ァ、及びハフマンデコーダを配置すると、入力ビットス
トリームにおける特定のシーケンスの扱いを強化する。
更に、チップ外DRAMは、JPEG符号化された動
画画像をリアルタイムに復号化するために用いられる。
DRAMと共に使われるバッファのサイズ及び速度は、
動画符号化されたデータレートに依存する。
Yet another aspect of the present multi-standard decompression circuit is that it is associated with a start code detector circuit located upstream of the first forward buffer which operates in combination with the Huffman decoder. One advantage of this combination is that it increases the flexibility that must be added to the bitstream when dealing with the input bitstream, especially padding. The placement of these verified components, start code detectors, memory buffers, and Huffman decoders enhances the handling of specific sequences in the input bitstream.
Further, the off-chip DRAM is used to decode a JPEG-coded moving image in real time.
The size and speed of the buffer used with DRAM is
Depends on the video coded data rate.

【0264】符号化規格は、規格から独立した回路を用
いる空間デコーダと関連するDRAMに記憶するために
必要な規格従属タイプの全ての情報を識別する。
The encoding standard identifies all information of the standard dependent type needed for storage in a DRAM associated with a spatial decoder using circuit independent of the standard.

【0265】3.動画伸長 本発明において、復号化過程を経て動画が伸長されつつ
ある場合には、更に、時間デコーダが必要である。時間
デコーダは、空間デコーダにおいて復号化されたデータ
を現在復号化されつつあるピクチャ像の後でディスプレ
イすることを意図されている既に復号化済みの画像と組
み合わせる。時間デコーダは、画像符号化データストリ
ームにおいて、この時間的に置き換えられた情報を識別
するための情報を受け取る。時間デコーダは、時間的お
よび空間的に配置された情報をアドレスし、情報を検索
し、現在復号化されつつあり、そして、完了し、そし
て、ディスプレイスクリーンをドライブするために動画
フォーマッティング部への伝送に適した結果的な画像を
終了させる画像を用いて1つの画像内に配置された情報
を復号化するような方法によって情報を組み合わせる。
その代りに、結果的な画像は、後続する画像の時間的復
号化のためにその後で使用するために記憶しておくこと
ができる。
3. Video Decompression In the present invention, when the video is being expanded through the decoding process, a temporal decoder is further required. The temporal decoder combines the decoded data in the spatial decoder with an already decoded image intended for display after the picture image currently being decoded. The temporal decoder receives information for identifying this temporally displaced information in the image coded data stream. The temporal decoder addresses the temporally and spatially arranged information, retrieves the information, is currently being decoded, and is complete and transmitted to the video formatting section to drive the display screen. The information is combined in such a way that it decodes the information located in one image with the resulting image terminating the appropriate image.
Alternatively, the resulting image may be stored for later use for temporal decoding of subsequent images.

【0266】一般に、時間デコーダは、現在復号化され
つつある画像に対して早期及び/又は後期のいずれかに
おいて画像間の処理を実施する。時間デコーダは、当該
画像の符号化された表示内に符号化されない情報を再導
入する。理由は、当該情報が冗長であり、そして、デコ
ーダにおいて既に利用可能であることに因る。更に詳細
には、あらゆる所定の画像が、前後両方において当該情
報を時間的に囲むような類似の情報を含むことが可能で
ある。 運動補償が適用されるならば、この類似性を更
に大きくすることができる。時間デコーダ及び伸長回路
は、同様に、関連した画像の間の冗長度を減少させる。
In general, a temporal decoder performs inter-picture processing either early and / or late on the picture currently being decoded. The temporal decoder reintroduces the uncoded information into the coded representation of the image. The reason is that the information is redundant and already available at the decoder. More specifically, any given image can contain similar information both temporally surrounding it, both before and after. This similarity can be further magnified if motion compensation is applied. Temporal decoders and decompression circuits likewise reduce the redundancy between related pictures.

【0267】本発明の他の態様において、時間デコーダ
は、空間デコーダからの規格従属出力情報を扱うために
用いられる。1つの単一画像に関するこの規格従属情報
は、空間デコーダによって処理された伸長された出力情
報が、第1の画像の時間的な位置に関して時間的に配置
された空間的に復号化された画像情報の空間的に復号化
された情報パケットの1つの画像を組み合わせるため
に、更に他のマシンに従属し規格から独立したアドレス
生成回路を有する他の等速呼出記憶装置によって他のD
RAMレジスタに記憶されるような方法において、DR
AMの幾つかの領域の間に配分される。
In another aspect of the invention, the temporal decoder is used to handle the standard dependent output information from the spatial decoder. This standard dependent information about one single image is the spatially decoded image information in which the decompressed output information processed by the spatial decoder is temporally arranged with respect to the temporal position of the first image. Other spatially-decoded information packets to combine one image by another constant-speed call store having address generation circuitry that is further machine dependent and standard independent.
DR in such a way that it is stored in a RAM register
It is distributed among several areas of the AM.

【0268】MPEG符号化された信号を復号化するこ
との出来る多重規格回路においては、更に大きい論理D
RAMバッファは、MPEGに適合可能な更に大きい画
像フォーマットをサポートすることが要求される場合も
あり得る。
In a multi-standard circuit capable of decoding an MPEG encoded signal, a larger logical D
The RAM buffer may be required to support a larger image format compatible with MPEG.

【0269】画像情報は、8画素×8画素ブロックにお
ける直列パイプラインを通って移動中である。本発明の
1つの形において、アドレス復号化回路は、ブロック境
界に沿ってこれらの画素ブロックを扱う(記憶および検
索する)。更に、アドレス復号化回路は、境界を横断し
て行われる8×8画素ブロックの記憶および検索を扱
う。この汎用性については、以下において更に完全に説
明することとする。
Image information is moving through a serial pipeline in 8 pixel by 8 pixel blocks. In one form of the invention, the address decoding circuitry handles (stores and retrieves) these pixel blocks along block boundaries. In addition, the address decoding circuit handles the storage and retrieval of 8x8 pixel blocks across boundaries. This versatility will be explained more fully below.

【0270】第2の時間デコーダは、同様に、信号処理
遅延なしに扱うために、第1のデコーダ回路(空間デコ
ーダ)の出力を直接動画フォーマッティング部に供給し
ても差し支えない。
Similarly, the second temporal decoder may supply the output of the first decoder circuit (spatial decoder) directly to the moving picture formatting section in order to handle it without any signal processing delay.

【0271】更に、時間デコーダは、ディスプレイ回路
による遅延に対して、画像データのブロックを順序付け
し直す。後で説明するように、アドレス復号化回路はこ
の順序付けし直しを実施可能にする。
In addition, the temporal decoder reorders the blocks of image data due to delays caused by the display circuit. The address decoding circuit enables this reordering, as will be explained later.

【0272】既に述べたように、時間デコーダの1つの
重要な特徴は、画像の選択から得られた処理中の画像よ
りも早期に、或いは、遅れて到着した画像情報を合計す
ることである。
As already mentioned, one important feature of the temporal decoder is that it sums image information that arrives earlier or later than the image being processed resulting from the selection of images.

【0273】この文脈においてピクチャについて記述す
る場合、ピクチャは次に示す内容のいずれかを意味す
る。
When describing a picture in this context, the picture means any of the following contents.

【0274】1.ピクチャの符号化されたデータ表示で
ある。
1. It is a coded data representation of a picture.

【0275】2.結果である、即ち、デコーダによって
行われたプロセス段階を加算した結果として得られる最
終的な復号化済みのピクチャである。
2. The result, ie the final decoded picture resulting from the addition of the process steps performed by the decoder.

【0276】3.DRAMから読み出された既に復号化
済みのピクチャである。
3. It is a picture that has already been decoded and has been read from the DRAM.

【0277】4.空間的復号化の結果である。即ち、ピ
クチャ・スタートトークンとその次のピクチャ・エンド
トークンとの間のデータの範囲である。
4. It is the result of spatial decoding. That is, the range of data between the picture start token and the next picture end token.

【0278】ピクチャデータ情報が時間デコーダによっ
て処理された後で、情報は、ピクチャ記憶場所にディス
プレイされるか、或いは、書き戻される。次に、この情
報は、別の異なる符号化済みデータピクチャを処理する
際に用いられる更なる基準として保持される。視覚的デ
ィスプレイのための MPEG符号化されたピクチャの
再配列には、可所要のスクランブルされたピクチャは、
時間デコーダの再配列機能を変えることによって達成さ
れる能性が包含される。
After the picture data information has been processed by the temporal decoder, the information is either displayed in the picture storage location or written back. This information is then retained as a further criterion used in processing another different coded data picture. For rearrangement of MPEG encoded pictures for visual display, the required scrambled picture is
The capabilities achieved by varying the rearrangement function of the temporal decoder are included.

【0279】4.RAMメモリーマップ 空間デコーダ、時間デコーダ、及び動画フォーマッティ
ング部は、全て、外部DRAMを使用する。これら全て
の3つのデバイスには同じDRAMが用いられることが
好ましい。これら3つ全てのデバイスがDRAMを用
い、更に、3つ全てのデバイスがアドレス発生器と共に
DRAMインターフェースを使用する場合であっても、
各々がDRAMにおいて実現するものは同じでない。即
ち、各チップ、例えば、空間デコーダ及び時間デコーダ
は、同じ物理的な外部DRAMを使用する場合であって
も、異なるDRAMインターフェース及びアドレス生成
回路を有する。
4. RAM Memory Map Spatial decoder, temporal decoder, and video formatting unit all use external DRAM. The same DRAM is preferably used for all three devices. Even if all three of these devices use DRAM, and all three devices also use the DRAM interface with the address generator,
What each implements in DRAM is not the same. That is, each chip, eg, the spatial decoder and the temporal decoder, has a different DRAM interface and address generation circuit even if the same physical external DRAM is used.

【0280】要するに、空間デコーダは、共通DRAM
内に2つのFIFOを実現する。再び図18を参照する
こととし、一方のFIFO54は、ハフマンデコーダ5
6及びパーザーの前に配置され、そして、他方は、ハフ
マンデコーダ及びパーザーの後に配置される。FIFO
は、比較的直截な方法において実現される。DRAMの
特殊な部分は、各FIFOに対して、その中にFIFO
を実現するための物理的メモリーとして控除しておかれ
る。
In short, the spatial decoder is a common DRAM.
Implements two FIFOs inside. Referring again to FIG. 18, one FIFO 54 is the Huffman decoder 5
6 and the parser, and the other after the Huffman decoder and parser. FIFO
Is implemented in a relatively straightforward way. A special part of the DRAM is that for each FIFO there is a FIFO
It is deducted as a physical memory for realizing.

【0281】空間デコーダDRAMインターフェース5
8と関連しているアドレス発生器は、2つのポインタを
使用して、FIFOアドレスのトラックを管理する。1
つのポインタは、FIFOに記憶されている第1ワード
を指し、もう一方のポインタは、FIFOに記憶されて
いる最後のワードを指し示す。従って、所定のワードへ
の読み/書き操作を可能にする。読み、又は、書き操作
における実施過程において物理的メモリーの終端に到達
した場合には、アドレス発生器は、物理的メモリーのス
タートに対して「ラップアラウンド(wraps around)」す
る。
Spatial decoder DRAM interface 5
The address generator associated with 8 uses two pointers to manage tracks of FIFO addresses. 1
One pointer points to the first word stored in the FIFO and the other pointer points to the last word stored in the FIFO. Therefore, it enables a read / write operation to a predetermined word. The address generator "wraps around" to the start of physical memory if the end of physical memory is reached during the course of a read or write operation.

【0282】要するに、どの符号化規格(MPEGまた
はH.261)が指定されていても、本発明にかかる時
間デコーダは、2つの完全なピクチャ又はフレームを記
憶することができなければならない。説明を簡易にする
ために、その中に2つのフレームを記憶しようとするD
RAMの物理的メモリーを2つの半分部分に分割するも
のとし、各半分は、それぞれ、(適切なポインタを用い
て)2つのピクチャのうちの特定の1つに対する専用と
する。
In short, no matter which coding standard (MPEG or H.261) is specified, the temporal decoder according to the invention must be able to store two complete pictures or frames. For simplicity of explanation, D tries to store two frames in it.
The physical memory of the RAM shall be divided into two halves, each half dedicated (with appropriate pointers) to a particular one of the two pictures.

【0283】MPEGは、3つの異なるタイプのピクチ
ャを用いる、即ち、イントラ(I)、予測(P)、及び
双方向補間(B)である。既に述べたように、Bピクチ
ャは、2つのピクチャからの予測に基づく。一方のピク
チャは未来から、そして、いま一方は過去から得られ
る。Iピクチャは、時間デコーダによるそれ以上の復号
化を必要としないが、しかし、P及びBピクチャを復号
化する際に後で使用するために、2つのピクチャバッフ
ァのうちの1つに記憶されなければならない。Pピクチ
ャの復号化には、既に復号化済みのP又はIピクチャか
ら予測を形成することが必要である。復号化されたPピ
クチャは、P及びBピクチャの復号化に用いるために1
つのピクチャに記憶される。Bピクチャは、両方のピク
チャバッファからの予測を要求することができる。ただ
し、Bピクチャは外部DRAMに記憶される。
MPEG uses three different types of pictures: intra (I), predictive (P), and bidirectional interpolation (B). As already mentioned, B pictures are based on predictions from two pictures. One picture comes from the future, and the other one comes from the past. I-pictures do not require further decoding by the temporal decoder, but must be stored in one of two picture buffers for later use in decoding P and B pictures. I have to. Decoding a P picture requires forming a prediction from already decoded P or I pictures. The decoded P picture is 1 for use in decoding P and B pictures.
Stored in one picture. B-pictures can require prediction from both picture buffers. However, the B picture is stored in the external DRAM.

【0284】I及びPピクチャが復号化される場合に、
時間デコーダから出力されないことに注意されたい。そ
の代りに、I及びPピクチャは、ピクチャバッファの1
つに記入され、そして、次のIまたはPピクチャが、復
号化のために、到着する場合に限り、読み出される。換
言すれば、フラッシングに関する本セクションの以降に
おいて更に説明されるように、時間デコーダは、2つの
ピクチャバッファから前のピクチャをフラッシュするた
めに、その次のPまたはIピクチャを信頼する。要する
に、空間デコーダは、PまたはIピクチャをフラッシュ
するために、動画シーケンスの終端において偽のIまた
はPを供給することが出来る。結果的に、次の動画シー
ケンスがスタートするとき、この偽ピクチャはフラッシ
ュされる。 Bピクチャの復号化に際して、ピークメモ
リー帯域幅のロードが起きる。最悪の状態は、全ての予
測が半画素の精度を以て作成され、両方のピクチャバッ
ファから供給されるこの種の予測からBフレームが形成
される場合である。
When I and P pictures are decoded,
Note that there is no output from the time decoder. Instead, the I and P pictures are 1 of the picture buffer.
One and the next I or P picture is read for decoding only if it arrives. In other words, the temporal decoder relies on its next P or I picture to flush the previous picture from the two picture buffers, as described further below in this section on flushing. In essence, the spatial decoder can provide a false I or P at the end of the video sequence to flush a P or I picture. Consequently, this fake picture is flushed when the next video sequence starts. Peak memory bandwidth loading occurs during the decoding of B-pictures. The worst case is when all predictions are made with half-pixel accuracy and a B-frame is formed from this kind of prediction supplied by both picture buffers.

【0285】以前に記述したように、時間デコーダは、
MPEGピクチャの再順序付けを提供するように、構成
することができる。このピクチャ再順序付けにより、デ
ータストリーム内のその次のPまたはIピクチャの時間
デコーダによる復号化がスタートする時まで、P及びI
ピクチャの出力は遅延する。
As previously described, the temporal decoder is
It can be configured to provide reordering of MPEG pictures. This picture reordering causes P and I until the time when the decoding of the next P or I picture in the data stream by the temporal decoder starts.
The output of the picture is delayed.

【0286】PまたはIピクチャが再順序付けされる
と、ピクチャがピクチャバッファに記入されるにつれ
て、特定のトークンは一時的にチップに記憶される。ピ
クチャがディスプレイ用に読出されると、これらの記憶
されているトークンが検索される。時間デコーダの出力
において、新規に復号化されたPまたはIピクチャのデ
ータトークンは、より旧いPまたはIピクチャと交換さ
れる。
When P or I pictures are reordered, certain tokens are temporarily stored in chips as the pictures are written to the picture buffer. These stored tokens are retrieved when the picture is read for display. At the output of the temporal decoder, the data tokens of the newly decoded P or I picture are replaced with the older P or I picture.

【0287】一方、H.261は、復号化されたばかり
のピクチャからのみ予測を製作する。各ピクチャが復号
化されるにつれて、2つのピクチャバッファの1つに記
入され、次のピクチャ復号化に使用可能となる。必要と
される唯一のDRAMメモリーオペレーションは、8×
8ブロックを書くことであり、そして、整数精度のモー
ションベクトルによって予測を形成することである。
On the other hand, H.264. 261 produces the prediction only from the picture just decoded. As each picture is decoded, it is filled in one of the two picture buffers and is available for the next picture decoding. The only DRAM memory operation required is 8x
To write 8 blocks, and to form a prediction with integer precision motion vectors.

【0288】要するに、動画フォーマッティング部は、
3つのフレーム又はピクチャを記憶する。ピクチャの反
復またはスキップするような機能を収容するために、3
つのピクチャが記憶される必要がある。
In summary, the moving picture formatting section
Store three frames or pictures. 3 to accommodate features such as picture repetition or skipping
One picture needs to be stored.

【0289】5.ビットストリームの特性 本発明にかかる空間デコーダを特に参照することとし、
符号化されたデーアストリームのビットストリーム特性
を再検討することは有用である。理由は、これらの特性
は、空間デコーダ及び時間デコーダの回路によって扱わ
れなければならないからである。例えば、1つ又は複数
の圧縮規格の下において、当該規格の圧縮比率は、1つ
のピクチャの複数のピクチャを符号化するために使用さ
れるビットの数を変えることによって達成される。ビッ
ト数は、広い範囲に亙って変化し得る。詳細には、この
ことは、1つのピクチャの基準ピクチャを符号化するた
めに使われるビットストリームの長さは、1つの単位長
さとして識別可能であり、他のピクチャは、多数の単位
の長さであっても差し支えなく、第3のピクチャが当該
単位の部分であることも可能である。
5. Bitstream Characteristics With particular reference to the spatial decoder according to the invention,
It is useful to review the bitstream characteristics of the encoded data stream. The reason is that these properties have to be handled by the circuitry of the spatial and temporal decoders. For example, under one or more compression standards, the compression ratio of that standard is achieved by varying the number of bits used to encode multiple pictures of a picture. The number of bits can vary over a wide range. In particular, this means that the length of the bitstream used to encode the reference picture of one picture can be identified as one unit length, and the other picture can have many unit lengths. However, the third picture can be a part of the unit.

【0290】現行規格(MPEG1.2、JPEG、
H.261)のうちのいずれも、ピクチャ像を終了する
方法を定義せず、次のピクチャがスタートする時、現在
のピクチャが終わることが黙認されている。更に、規格
(特にH.261)は、エンコーダによって不完全なピ
クチャが生成されることを可能にする。
Current standards (MPEG1.2, JPEG,
H. 261) does not define how to end the picture image, and it is tolerated that the current picture ends when the next picture starts. Furthermore, the standards (especially H.261) allow incomplete pictures to be generated by the encoder.

【0291】本発明に基づき、トークンの1つピクチャ
・エンドを用いることによって1つのピクチャのエンド
を示す方法が提供される。ウタートコード検出器から離
れる静止符号化データは、ピクチャ・スタートトークン
によってスタートし、そして、ピクチャ・エンドトーク
ンによって終了するが、長さが大幅に変化するピクチャ
から成る。ここに(第1と第2のピクチャとの間)伝送
された他の情報があるかもしれないが、第1のピクチャ
が終了したことは既知である。
In accordance with the present invention, there is provided a method of indicating the end of a picture by using the one picture end of a token. The static coded data leaving the Wurtt code detector consists of a picture that starts with a picture start token and ends with a picture end token, but with significantly varying length. There may be other information transmitted here (between the first and second pictures), but it is known that the first picture has ended.

【0292】空間デコーダの出力におけるデータストリ
ームは、所定のシーケンスに対して長さ(ビット数)が
同じであり、依然としてピクチャスタート、及びピクチ
ャエンドのピクチャから成る。ピクチャスタートとピク
チャエンドとの間の時間の長さは変化しても差し支えな
い。
The data stream at the output of the spatial decoder has the same length (number of bits) for a given sequence and still consists of picture start and picture end pictures. The length of time between the picture start and picture end can vary.

【0293】動画フォーマッティング部は、時間的に不
均一なこれらのピクチャを受け取り、そして、ドライブ
されつつあるディスプレイのタイプによって決定される
固定ピクチャレートにおいて、これらをスクリーン上に
ディスプレイする。例えば、PAL−NTSCテレビジ
ョン規格のように種々異なるディスプレイレートが世界
中で使用されている。これは、独特の方法において、ク
チャを選択的にヅルーピングまたは反復することによっ
て達成される。普通の「フレームレートコンバータ」、
例えば、2−3プルダウンは、固定入力ピクチャレート
によって動作するが、動画フォーマッティング部は可変
入力ピクチャレートを扱うことができる。
The video formatter receives these pictures, which are non-uniform in time, and displays them on the screen at a fixed picture rate determined by the type of display being driven. For example, different display rates are used around the world, such as the PAL-NTSC television standard. This is accomplished in a unique way by selectively dulling or repeating the Kuqa. Ordinary "frame rate converter",
For example, 2-3 pulldown operates at a fixed input picture rate, but the video formatter can handle a variable input picture rate.

【0294】6.再構成可能な処理ステージ 再び図17を参照することとし、再構成可能な処理ステ
ージ(RPS)は、2線インターフェース33、及び入
力ラッチ34から入来するトークンを受け取るために用
いられるトークンデコード回路32を有する。トークン
デコード回路33の出力は、2線インターフェース36
及びアクション識別回路39を介して処理回路35に供
給される。処理回路35は、アクション識別回路の制御
の下におけるデータ処理に適する。処理が完了した後
で、処理回路36は、出力ラッチ41を介し完成された
信号を2線インターフェースバス40の出力に接続す
る。
6. Reconfigurable Processing Stage Referring again to FIG. 17, the reconfigurable processing stage (RPS) is a token decode circuit 32 used to receive incoming tokens from a two wire interface 33 and an input latch 34. Have. The output of the token decoding circuit 33 is the 2-wire interface 36.
And is supplied to the processing circuit 35 via the action identification circuit 39. The processing circuit 35 is suitable for data processing under the control of the action identification circuit. After processing is complete, processing circuit 36 connects the completed signal to the output of 2-wire interface bus 40 via output latch 41.

【0295】アクション識別デコード回路39は、2線
インターフェースバス40を介してトークンデコード回
路33から供給されるか、及び/又は、それぞれ2線イ
ンターフェースバス46を介してメモリー回路43及び
44から供給される入力を持つ。トークンデコード回路
33からのトークンは、アクション識別回路39及び処
理回路36に同時に供給される。アクション識別機能並
びにRPSについては、本明細書のこの次の部分におい
て表及び図を用いて更に詳細に説明される。
The action identification decoding circuit 39 is supplied from the token decoding circuit 33 via the 2-wire interface bus 40 and / or from the memory circuits 43 and 44 via the 2-wire interface bus 46, respectively. With input. The token from the token decoding circuit 33 is simultaneously supplied to the action identification circuit 39 and the processing circuit 36. The action identification function as well as the RPS will be described in more detail in the next part of this specification using tables and figures.

【0296】図17における機能ブロックダイアグラム
は、図18、図19、及び図20に記載されている規格
から独立した回路ではないステージを示す。データフロ
ーは、トークンデコーダ32を介し、処理ステージ35
を介し、そして、出力ラッチ41を介して2線インター
フェース回路42に流れる。制御トークンがRPSによ
り認識される場合には、トークンデコード回路33にお
いて復号化され、そして、適切なアクションが行われ
る。認識されない場合には、出力回路41を介して、2
線インターフェース回路42に、変化なしに供給され
る。現在の発明は、パイプラインを介して制御トークン
の動きを制御するための2線ワイヤインターフェース回
路を持つパイプラインプロセッサとして機能する。本発
明のこの特徴については、以前に出願された欧州特許出
願第92306038.8号に更に詳細に開示済みであ
る。
The functional block diagram in FIG. 17 illustrates stages that are not standard independent circuits described in FIGS. 18, 19 and 20. The data flow passes through the token decoder 32 and the processing stage 35.
And to the two-wire interface circuit 42 via the output latch 41. If the control token is recognized by the RPS, it is decrypted in the token decoding circuit 33 and the appropriate action is taken. If it is not recognized, 2 is output via the output circuit 41.
It is supplied unchanged to the line interface circuit 42. The present invention functions as a pipeline processor with a 2-wire wire interface circuit for controlling the movement of control tokens through the pipeline. This feature of the invention has been disclosed in more detail in previously filed European patent application No. 92306038.8.

【0297】本発明において、トークンデコード回路3
3は、2線インターフェース42を経て現在入来中のト
ークンがデータトークンまたは制御トークンのいずれで
あるかを識別するために用いられる。トークンがトーク
ンデコーダ回路33によって調べられていることが認識
された場合には、実施されるべきアクションを示す適切
なインデックス信号またはフラグ信号によって、アクシ
ョン識別回路39に出力される。それと同時に、トーク
ンデコード回路33は、適切なフラグまたはインデック
ス信号を処理回路に供給し、アクション識別回路39に
よって扱われつつあるトークンの存在を処理回路に対し
て警告する。制御トークンも同様に処理されても差し支
えない。
In the present invention, the token decoding circuit 3
3 is used to identify whether the token currently incoming via the 2-wire interface 42 is a data token or a control token. If it is recognized that the token is being examined by the token decoder circuit 33, it is output to the action identification circuit 39 by an appropriate index signal or flag signal indicating the action to be performed. At the same time, the token decode circuit 33 supplies an appropriate flag or index signal to the processing circuit to warn the processing circuit of the presence of the token being handled by the action identification circuit 39. The control token may be processed in the same manner.

【0298】本発明において使用可能な様々なタイプの
トークンについては、この後において更に詳細に説明さ
れる。本明細書のこの部分に関しては、制御トークンに
よって運ばれるアドレスはデコーダ33において復号化
され、そして、アクション識別回路39内に含まれるレ
ジスタにアクセスするために用いられることに注意する
だけで十分である。調査されつつあるトークンが認識さ
れた制御トークンである場合には、アクション識別回路
39は、ステートマシン全体に亙って制御信号を配分す
るために、その再構成状態回路を使用する。既に言及し
たように、これは、アクション識別デコーダのステート
マシンを作動化し、このデコーダはデコーダ自体を再構
成する。例えば、前記デコーダが符号化規格を変更する
こともあり得る。このようにして、アクション識別回路
39は、図17に示すステートマシンを介して供給しつ
つある特定の規格を扱うための所要のアクションを復号
化する。
The various types of tokens that can be used in the present invention are described in further detail below. For this part of the specification, it suffices to note that the address carried by the control token is decoded in the decoder 33 and used to access the register contained in the action identification circuit 39. . If the token under investigation is a recognized control token, the action identification circuit 39 uses its reconfiguration state circuit to distribute control signals throughout the state machine. As already mentioned, this activates the state machine of the action identification decoder, which reconstructs the decoder itself. For example, the decoder may change the coding standard. In this way, the action identification circuit 39 decodes the required action for handling the specific standard being supplied via the state machine shown in FIG.

【0299】同様に、アクション識別回路39によって
制御されている処理回路36は、この事象を引き起こす
ために適切である場合にデータトークンのデータフィー
ルドに含まれる情報を処理する準備を整える。多くの場
合、制御トークンが最初に到達し、アクション識別回路
39を再構成し、そして、次に処理回路36によって処
理されるデータトークンが直ぐ後に続く。制御トークン
は、プロセシングユニット36内において処理済みのデ
ータトークンの直ぐ前を先行する出力2線インターフェ
イス42を介して出力ラッチ回路41を出る。
Similarly, the processing circuit 36, which is controlled by the action identification circuit 39, is ready to process the information contained in the data field of the data token when appropriate to trigger this event. Often, the control token arrives first, reconfigures the action identification circuit 39, and is immediately followed by a data token that is processed by the processing circuit 36. The control token exits the output latch circuit 41 via the output 2-wire interface 42 which immediately precedes the processed data token in the processing unit 36.

【0300】本発明において、アクション識別回路39
は、ヒストリステートを保持するステートマシンであ
る。レジスタ43及び44は、トークンデコーダ33か
ら復号化され、そして、これらのレジスタに記憶されて
いる情報を保持する。この種のレジスタは、必要に応じ
て、オンチップ又はオフチップのいずれであっても差し
支えない。これら複数のステートレジスタは、アクショ
ン識別に接続されたアクション識別回路39において現
在識別されつつあるアクション情報を含む。このアクシ
ョン情報は、以前に復号化されたトークンから記憶さ
れ、そして、選定されるアクション影響することが可能
である。接続40は、トークンデコード33からアクシ
ョン識別ブロック39まで直線的に接続する。これは、
アクションがトークンデコード回路33によって現在処
理されつつあるトークンによっても影響され得ることを
示すことを意図したものである。
In the present invention, the action identification circuit 39
Is a state machine that holds the history state. Registers 43 and 44 hold the information decrypted from token decoder 33 and stored in these registers. This type of register can be either on-chip or off-chip, as desired. These plurality of state registers contain action information currently being identified in the action identification circuit 39 connected to the action identification. This action information can affect the action that is stored and selected from the previously decrypted token. Connection 40 connects linearly from token decode 33 to action identification block 39. this is,
It is intended to show that the action may also be affected by the token currently being processed by the token decode circuit 33.

【0301】本発明に基づくトークン復号化およびデー
タ処理を示す。データ処理は、アクション識別回路39
によって構成されるように行われる。アクションは、条
件の数によって影響され、そして、既に復号化済みのト
ークンから全体的に得られた情報によって影響され、或
いは、更に詳細には、レジスタ43及び44において既
に復号化済みのトークンから記憶された情報、処理中の
現行トークン、及びアクション識別ユニット39がそれ
自身で獲得したステートおよびヒストリ情報によって影
響される。それによって制御トークンとデータトークン
との間の区別が示される。
7 illustrates token decryption and data processing according to the present invention. The data processing is performed by the action identification circuit 39.
Is made up of: The action is affected by the number of conditions and by the information obtained entirely from the already decrypted token, or more specifically, stored from the already decrypted token in registers 43 and 44. Information, the current token being processed, and the state and history information that the action identification unit 39 has acquired on its own. It indicates the distinction between control tokens and data tokens.

【0302】あらゆるRPSにおいて、いくらかのトー
クンは、当該RPSユニットによって制御トークンとし
て見られる。この場合、これらのトークンは幾分後の時
点においてRPSのオペレーションに影響するはずであ
る。トークンの他の集合は、RPSによってデータトー
クンとして見られる。この種のデータトークンは、特定
回路の設計、既に復号化済みのトークン、及びアクショ
ン識別ユニット39の状態によって決定されるような方
法においてRPSによって処理される情報を含む。
In every RPS, some tokens are seen by the RPS unit as control tokens. In this case, these tokens should affect the operation of the RPS at some later time. Another set of tokens is seen by RPS as data tokens. This kind of data token contains information processed by the RPS in such a way as to be determined by the design of the particular circuit, the already decoded token and the state of the action identification unit 39.

【0303】特定のRPSは、特定のRPSコントロー
ルに対する或る特定のトークンの集合および他のトーク
ンの集合をデータとして識別するが、これは特定の当該
RPSのビューである。別のPPSは、同じトークンに
対して別の異なったビューを持つことが可能である。一
方においては、いくらかのトークンは、1つのRPSユ
ニットによってデータトークンとして見られ、他方にお
いては、別のRPSユニットによって実際に制御トーク
ンであるものとして決定されることが可能である。例え
ば、量子化表情報は、少なくともハフマンデコーダ及び
ステートマシンに関する限りにおいては、データであ
る。理由は、当該情報はその入力にコード化されたデー
タとして到着し、一連の8ビットワードに書式化され、
そして、処理パイプラインを下流に移動する量子化表ト
ークン(QUANTテーブル)と呼ばれるトークンに形
作られるからである。当該マシンに関する限りにおいて
は、全ての情報はデータであったはずであり、当該情報
はハンドリングデータであって、或る種のデータを別の
種類のデータに変換し、これは明らかに、当該マシンの
当該部分によって遂行される処理機能である。ただし、
当該情報が逆量子化器に到着すると、逆量子化器は、複
数のレジスタである当該トークン内にその情報を記憶す
る。実際、64個の8ビット数があり、そして、多数の
レジスタであるので、全体として、多数のレジスタが存
在可能である。この情報は、制御情報として見なされ、
従って、情報は各データワードに乗算する数に影響する
ので、当該制御情報は、その次のデータトークンにおい
て行われる処理に影響する。1つのステージは当該トー
クンをデータであると見なし、そして、他のステージは
当該トークンを制御であると見なした例がある。
A particular RPS identifies, as data, one particular set of tokens and another set of tokens for a particular RPS control, which is a view of that particular RPS. Another PPS can have another different view on the same token. On the one hand, some tokens can be seen by one RPS unit as data tokens, and on the other hand, determined by another RPS unit as actually control tokens. For example, the quantization table information is data, at least as far as the Huffman decoder and the state machine are concerned. The reason is that the information arrives as coded data at its input and is formatted into a series of 8-bit words,
Then, it is formed into a token called a quantization table token (QUANT table) that moves downstream in the processing pipeline. As far as the machine is concerned, all information would have been data, which was handling data, converting one kind of data into another kind of data, which obviously Is the processing function performed by that part of the. However,
When the information reaches the inverse quantizer, the inverse quantizer stores the information in the token, which is a plurality of registers. In fact, since there are 64 8-bit numbers, and a large number of registers, there can be a large number of registers as a whole. This information is considered control information,
Therefore, since the information affects the number by which each data word is multiplied, the control information affects the processing performed in the next data token. There is an example where one stage considers the token to be data and the other stage considers the token to be control.

【0304】本発明に基づくトークンデータは、殆どの
場合、マシンを通過するデータであるものと見なされ
る。重要な態様の1つは、一般に、トークンデコーダを
有する回路の各ステージが特定のトークンの集合を探し
ており、そして、当該ステージが認識しないトークン
は、変化しないままでステージを通過し、そして、パイ
プラインを下流に移動することである。その結果、現行
ステージに後続する下流ステージがこれらのトークンを
見ると言う利点があり、これらのトークンに応答可能で
ある。これは、重要な特徴である。すなわち、隣接して
いないブロックに対してトークンメカニズムを用いるこ
とによりブロックの間の通信が可能である。
Token data according to the present invention is most often considered to be data that passes through a machine. One of the important aspects is that in general each stage of a circuit with a token decoder is looking for a particular set of tokens, and tokens that the stage does not recognize pass through the stage unchanged, and To move the pipeline downstream. As a result, downstream stages following the current stage have the advantage of seeing these tokens and are able to respond to them. This is an important feature. That is, communication between blocks is possible by using the token mechanism for blocks that are not adjacent.

【0305】本発明の他の重要な特徴は、回路の各々の
ステージは、各々の規格にとって必要なオペレーション
を行うことができる範囲内において、処理能力を持つこ
と、及び所定の時点において行われなければならないオ
ペレーションに関してトークンとして制御を遂行できる
ことである。この能力を提供するために、異なるステー
ジの間において異なる1つの処理エレメントがある。パ
ーザーのステートマシンROMにおいて、3つの完全に
異なる分離されたプログラムがある。各プログラムは扱
われる各規格に対応する。どのプログラムが実行される
かはコーディング・スタンダードトークンに依存する。
換言すれば、これら3つのプログラムの各々は、その内
部に、復号化及びコーディング・スタンダード規格トー
クンの両方を扱う能力もつ。これらのプログラムの各々
が、次に解釈されるべき符号化規格がどちらであるかを
理解した場合、これらのプログラムは、マイクロコード
ROM内の当該プログラムのためのスタートアドレスへ
リテラルにジャンプする。これが、ステージが多重規格
性を扱う方法である。
Another important feature of the present invention is that each stage of the circuit must have processing capability within a range capable of performing the operations required for each standard, and must be performed at a predetermined time. It is possible to execute control as a token for operations that must be performed. There is one different processing element between different stages to provide this capability. In the Parser state machine ROM, there are three completely different isolated programs. Each program corresponds to each standard handled. Which program is executed depends on the coding standard token.
In other words, each of these three programs has the capability within it to handle both decoding and coding standard tokens. If each of these programs understands which encoding standard is to be interpreted next, these programs literally jump to the start address for that program in the microcode ROM. This is how the stage handles multiple standards.

【0306】異なる規格によって2つの事柄が影響され
る。第1に、スタートマーカコードの長さを検出するた
めのシフトレジスタを再構成するためにビットストリー
ム内のビットのどのパターンが、スタートコード、また
はマーカーコードとして認識されるかが影響される。第
2に、当該スタートまたはマーカコードが何を意味する
かを表示する1つの情報がマイクロコード内に所在刷
る。ビットの符号化は、3つの規格の間で異なることを
思い出されたい。従って、マイクロコードは、そのコン
プレッサ規格に特有の表において、当該規格標準から独
立しているもの、即ち、入来コードを表すトークンのタ
イプを参照する。大抵の場合に、様々な規格の各々は、
当該規格が生成する特定のコードを提供するので、この
トークンは、一般に、当該規格から独立している。
Two things are affected by different standards. First, it affects which pattern of bits in the bitstream is recognized as the start code, or marker code, to reconfigure the shift register for detecting the length of the start marker code. Second, one piece of information is printed in the microcode that indicates what the start or marker code means. Recall that the encoding of bits differs between the three standards. Therefore, the microcode refers in the table specific to that compressor standard to the one that is independent of the standard, ie the type of token that represents the incoming code. In most cases, each of the various standards
This token is generally independent of the standard as it provides the specific code that it generates.

【0307】逆量子化器79は数学的能力を持つ。量子
化器は、乗算および加算を行い、そして、パラメータに
よって構成される3つ全ての圧縮規格を実行する能力を
持つ。例えば、制御装置内のROMにおけるフラグビッ
トは、逆量子化器に対して、定数Kを加えるかどうかを
告げる。別のフラグは、逆量子化器に対して、他の定数
を加えるかどうかを告げる。逆量子化器は、トークンが
量子化器によって流れる場合、レジスタ内にコーディン
グ・スタンダードトークンを記憶する。それ以降にデー
タトークンが通過する場合には、逆量子化器は、当該規
格が何であるかを記憶し、そして、適切なオペレーショ
ンを行うために処理エレメントに供給する必要のあるパ
ラメータを探索する。例えば、逆量子化器は、特定の圧
縮規格に対してKが0にセットされるか、或いは、1に
セットされるかを探索し、そして、その結果をその処理
回路に供給する。同様の意味において、ハフマンデコー
ダ56は、その中に多数の表を持ち、その幾つかはJP
EG用であり、その幾つかはH.261用であり、その
幾つかはMPEG用である。実際、これらの表の大多数
は、これらの圧縮規格の1つ以上に役立つ。どの表が使
われるかは、当該規格のシンタックスに依存する。ハフ
マンデコーダは、どの表を使うかを告げるステートマシ
ンからのコマンドを受け取ることにより、作動する。従
って、ハフマンデコーダは、それに入力され、記憶さ
れ、そして、どの符号化が実施されつつあるかを表明す
る1つの状態をそれ自体は直接持たない。そうでなく
て、一緒になってそれらの中に情報を含むパーザーステ
ートマシンとハフマンデコーダの組み合わせである。
The inverse quantizer 79 has mathematical capability. The quantizer has the ability to perform multiplications and additions, and to implement all three compression standards configured by parameters. For example, a flag bit in ROM in the controller tells the dequantizer whether to add the constant K. Another flag tells the dequantizer whether to add another constant. The inverse quantizer stores the coding standard token in a register if the token flows by the quantizer. On subsequent passes of the data token, the dequantizer remembers what the standard is and looks for the parameters that need to be supplied to the processing element to perform the appropriate operation. For example, the inverse quantizer looks for K set to 0 or 1 for a particular compression standard and feeds the result to its processing circuitry. In a similar sense, the Huffman decoder 56 has multiple tables in it, some of which are JP
For EG, some of them are H.264. 261 and some of them are for MPEG. In fact, the majority of these tables serve one or more of these compression standards. Which table is used depends on the syntax of the standard. The Huffman Decoder works by receiving a command from the state machine that tells it which table to use. Therefore, the Huffman decoder does not itself directly have one state input to it, stored, and asserting which encoding is being performed. Instead, it is a combination of a parser state machine and a Huffman decoder that together contain the information in them.

【0308】本発明の空間デコーダに関しては、アドレ
ス生成は、改造され、そして、図17に示す場合に類似
し、多数の情報は、例えば符号化規格のようなトークン
から復号化される。同様に、符号化規格および付加的情
報はレジスタに記録され、そして、当該情報がシステム
内のマクロブロックを通過して、1つ1つカウントする
場合にはアドレス発生器ステートマシンの進行に影響す
る。最後のステージは、2つのモードH.261、また
はMPEGのどちらかで作動し、そして、容易に識別さ
れる予測フィルタ407−9(図26)である。
For the spatial decoder of the present invention, address generation has been modified and is similar to the case shown in FIG. 17, where multiple pieces of information are decoded from tokens, such as encoding standards. Similarly, coding standards and additional information are recorded in registers and affect the progression of the address generator state machine if the information passes through macroblocks in the system and counts one by one. . The last stage has two modes, H.H. H.261, or MPEG, and is an easily identified predictive filter 407-9 (FIG. 26).

【0309】7.多重規格符号化 更に詳細には、本発明に基づく制御トークンは、当該ト
ークンに複数のワードを有する。この場合、拡張ビット
として知られる1つのビットがセットされ、追加情報を
運ぶためのトークン内における付加ワードの使用を指定
する。これらの付加制御ビットのうちの或るものは、対
応するステートマシンにおいて1組の規格から独立した
インデックス信号を作成するために使用される情報を示
すインデックスを含む。トークンの残りの部分は、パイ
プラインプロセッサを通過する全てのデータストリーム
に対して標準となる内部の処理制御機能を示し、そし
て、識別するために使用される。
[0309] 7. Multi-Standard Encoding More specifically, the control token according to the present invention has a plurality of words in the token. In this case, one bit, known as the extension bit, is set to specify the use of additional words in the token to carry additional information. Some of these additional control bits include an index that indicates the information used in the corresponding state machine to create a set of standard-independent index signals. The remainder of the token is used to identify and identify internal processing control functions that are standard for all data streams passing through the pipeline processor.

【0310】本発明の1つの形のにおいて、トークン拡
張は、マシン全体に亙って配分された相対トークン復号
化回路によって復号化される現行符号化規格を運ぶため
に使われ、そして、そして、新しい符号化規格の下で動
作することが適切である場合にはいつでもマシン全体に
亙るステージのアクション識別回路39を再構成するた
めに使われる。更に、トークン符号化回路は、当該回路
が扱うように設計された選定された規格の1つと制御ト
ークンが関係があるかどうかを示すことができる。
In one form of the invention, the token extension is used to carry the current coding standard that is decoded by the relative token decoding circuitry distributed throughout the machine, and, and Used to reconfigure stage-wide action identification circuitry 39 throughout the machine whenever it is appropriate to operate under the new encoding standard. In addition, the token encoding circuit can indicate whether the control token is relevant to one of the selected standards the circuit is designed to handle.

【0311】更に詳細には、MPEGスタートコード、
及びJPEGマーカにはは8ビットバリューが後続す
る。H.261スタートコードのは4ビットバリューが
後続する。この文脈において、スタートコード検出器5
1は、MPEGスタートコードか又はJPEGマーカー
のいずれかを検出することによって、次の8ビットがス
タートコードと関連している値を含むことを示す。次
に、前記検出器は、独立的に、MPEGスタートコード
またはJPEGマーカーのいずれであり、そして、H.
261スタートコードでないことを示す信号を作成する
ことがっできる。この第1の場合において、8ビットバ
リューはデコード回路に入力され、デコード回路の一部
は、当該回路を通過するトークンを扱うために現行回路
内において使用されるインデックス及びフラグを示す信
号を作成する。これは、その後においてどちらの規格が
扱われつつあるかを決定するために参照される制御トー
クンの部分を挿入するためにも使われる。この意味にお
いて、制御トークンは、MPEG規格、並びに、同伴デ
ータに作用するオペレーションのタイプを示す部分と関
係があることを示す部分を含む。既に検討したように、
この情報は、その目的のために作られた様々な規格によ
って必要とされる機能を遂行るために用いられる処理ス
テージを再構成するために、システムにおいて利用され
る。
More specifically, the MPEG start code,
The JPEG marker is followed by an 8-bit value. H. The 261 start code is followed by a 4-bit value. In this context, the start code detector 5
A 1 indicates that the next 8 bits contain the value associated with the start code by detecting either the MPEG start code or the JPEG marker. The detectors are then independently either MPEG start codes or JPEG markers, and H.264.
A signal indicating that it is not a 261 start code can be created. In this first case, the 8-bit value is input to the decode circuit, and part of the decode circuit creates a signal indicating the index and flag used in the current circuit to handle the token passing through the circuit. . It is also used to insert the part of the control token that is subsequently referenced to determine which standard is being addressed. In this sense, the control token includes the MPEG standard, as well as the part that indicates that it is related to the part that indicates the type of operation that operates on the accompanying data. As already discussed,
This information is used in the system to reconfigure the processing stages used to perform the functions required by the various standards created for that purpose.

【0312】例えば、H.261スタートコードに関し
て、このコードはスタートコードのすぐ後に後続する4
ビットバリューと関連する。スタートコード検出器は、
この値をトークン発生器ステートマシンに供給する。こ
の値は、3ビットスタート数を作る8ビットデコーダに
供給される。スタート数は、当該バリューによって示さ
れるように、ピクチャ数のピクチャ・スタートを識別す
るために用いられる。更に、システムは、既に述べた2
線インターフェースの原理の下で作動する多重並列処理
パイプラインを含む。各々のステージは、一般に図17
に示す形をとるマシンを含む。トークンデコードステー
ジ33は、アクション識別回路39、またはプロセシン
グユニット36にステートマシンを適宜エントリさせつ
つあるトークンを導くために用いられる。プロセシング
ユニットは、次の以前の制御トークンによって現行符号
化規格を扱うために必要な形に再構成済みであり、現行
規格は、処理ステージに現在エントリされつつあり、そ
して、次のデータトークンによって運ばれる。更に、本
発明のこの態様に基づき、処理パイプラインにおける連
続したステートマシンは、1つの符号化規格、即ち、
H.261の下で機能することが可能であり、一方、前
のステージは、例えばMPEGのような個別規格の下で
動作することが可能である。制御トークン及びデータト
ークンの両方を運ぶために同じ2線インターフェースが
使われる。
For example, H.264. For the 261 start code, this code immediately follows the start code 4
Associated with bit value. The start code detector is
Supply this value to the token generator state machine. This value is fed to an 8-bit decoder that produces a 3-bit start number. The number of starts is used to identify the picture start of the number of pictures, as indicated by the value. Furthermore, the system is based on the previously mentioned 2
It includes multiple parallel processing pipelines operating under the principle of line interface. Each stage is generally shown in FIG.
Including machines that take the form shown in. The token decode stage 33 is used to guide the action identifying circuit 39 or the token which is causing the processing unit 36 to appropriately enter the state machine. The processing unit has been reconfigured into the form necessary to handle the current encoding standard by the next previous control token, which is currently being entered in the processing stage and carried by the next data token. Be done. Furthermore, in accordance with this aspect of the invention, successive state machines in the processing pipeline have one encoding standard:
H. 261, while the previous stage can operate under a proprietary standard such as MPEG. The same 2-wire interface is used to carry both control and data tokens.

【0313】更に、本発明のシステムは、固定した数の
再構成可能な処理ステージと共に多数の符号化規格を復
号化することを要求される制御トークンを用いる。更に
詳細には、ピクチャが実際に終了する時点を指示するこ
とは重要であるので、ピクチャ・エンド制御トークンが
用いられる。従って、多重規格マシンを設計する場合に
は、どの規格復号化技術を使用するかを示す付加的制御
トークンを多重規格パイプライン内に作ることが必要で
ある。この種の制御トークンはピクチャ・エンドトーク
ンである。このピクチャ・エンドトークンは、バッファ
をフラッシュするように強制し、そして、デコーダを介
して現行ピクチャをディスプレイへ押し出すために、現
行ピクチャが終了したことを示すために使われる。
Furthermore, the system of the present invention uses control tokens required to decode multiple coding standards with a fixed number of reconfigurable processing stages. More specifically, the picture end control token is used because it is important to indicate when the picture actually ends. Therefore, when designing a multi-standard machine, it is necessary to create an additional control token in the multi-standard pipeline that indicates which standard decoding technique to use. This type of control token is a picture end token. This picture end token is used to indicate that the current picture is finished, forcing the buffer to flush and pushing the current picture through the decoder to the display.

【0314】8.多重規格プロセッシング回路―第2オ
ペレーションモード すでに述べたスタートコード検出器の形の圧縮規格従属
回路は、適切なバスを介して、圧縮規格から独立した回
路に適宜相互接続される。規格従属回路は、同じバス及
び付加的バスを介して、従属独立組み合わせ回路に接続
される。規格から独立した回路は、規格従属独立回路に
付加的入力を供給し、同時に、規格従属独立回路は規格
から独立した回路に情報を後方提供する。規格から独立
した回路からの情報は、他の適当なバスを介して、出力
に供給される。表600は、規格従属スタートコード検
出器51への入力に適用される多重規格には各符号化さ
れたビットストリーム内に規格従属的な意味を持つ特定
のビットストリームが含まれることを示す。
8. Multi-Standard Processing Circuits-Second Mode of Operation The compression standard dependent circuits already described in the form of the start code detector are suitably interconnected via independent buses to circuits independent of the compression standard. The standard dependent circuit is connected to the dependent independent combinational circuit via the same bus and an additional bus. The standard independent circuit provides an additional input to the standard dependent independent circuit, while at the same time the standard dependent independent circuit provides information back to the standard independent circuit. Information from the standards independent circuit is provided to the output via another suitable bus. Table 600 shows that the multiplex standard applied to the input to the standard-dependent start code detector 51 includes a particular bitstream having a standard-dependent meaning within each encoded bitstream.

【0315】9.スタートコード検出器 既に述べたように、本発明に基づくスタートコード検出
器は、MPEG、JPEG、及びH.261ビットトリ
ームを扱い、そして、残りのデコーダにとって有意であ
る一連の所有権トークンを前記ストリームから生成する
ことができる。多重規格の復号化が達成される一例とし
て示せば、MPEG(1、及び2)ピクチャ・スタート
コード、H.261ピクチャ・スタートコード、及びJ
PEGスタートオブスキャン(SOS)マーカは、スタ
ートコード検出器によって等価として扱われ、そして、
これら全てが内部ピクチャ・スタートトークンを生成す
る。同様の方法において、MPEGシーケンススタート
コード、及びJPSG 501(スタートオブイメー
ジ)マーカは、両方共、マシンシーケンススタートトー
クンを生成する。ただし、H.261規格は等価スター
トコードを持たない。従って、スタートコード検出器
は、第1のH.261ピクチャ・スタートコードに応答
して、シーケンススタートトークンを生成する。
9. Start Code Detector As mentioned above, the start code detector according to the present invention includes MPEG, JPEG, and H.264. A series of ownership tokens can be generated from the stream that handle the 261 bit stream and are meaningful to the rest of the decoder. As an example where multi-standard decoding is achieved, MPEG (1 and 2) picture start code, H.264. 261 picture start code and J
The PEG start of scan (SOS) marker is treated as equivalent by the start code detector, and
All of these generate an internal picture start token. In a similar manner, the MPEG sequence start code and the JPSG 501 (start of image) marker both generate a machine sequence start token. However, H. The H.261 standard does not have an equivalent start code. Therefore, the start code detector is the first H.264. A sequence start token is generated in response to the 261 picture start code.

【0316】前述のイメージは、いずれも、SCD以外
には、直接使用されない。むしろ、例えば、マシンピク
チャ・スタートトークンは、ビットストリームに含まれ
るピクチャ・スタートイメージに等価であると思われて
いる。更に、次の事柄を念頭に置かれたい、即ち、マシ
ンピクチャ・スタート自体は、規格におけるピクチャ・
スタートの直接的なイメージではない。むしろ、それ
は、各々の圧縮コード化規格におけるイメージのオペレ
ーションをエミュレートする規格から独立した復号化機
能を提供するために他の制御トークンと組み合わせて使
われる制御トークンである。制御トークンによって運ば
れた情報に基づく回路の再構成と結合した制御トークン
の組み合わせ、及び更に、それぞれのステートマシンの
トークン復号化回路部分によって生成されたインデック
ス及び/又はフラグとの組み合わせは、独特である。典
型的な再構成可能なステートマシンについては次に続い
て説明される。
None of the above images are used directly except for SCD. Rather, for example, a machine picture start token is believed to be equivalent to the picture start image contained in the bitstream. In addition, keep in mind that the machine picture start itself is the picture
It is not a direct image of the start. Rather, it is a control token that is used in combination with other control tokens to provide a standard-independent decoding function that emulates the operation of the image in each compression coding standard. The combination of control tokens combined with the reconfiguration of the circuit based on the information carried by the control tokens, and also the combination with the index and / or flag generated by the token decoding circuit portion of each state machine is unique. is there. A typical reconfigurable state machine will be described subsequently.

【0317】再び、表600を参照することとし、左の
カラムには規格イメージのグループの名前が示される。
右カラムには、当該規格イメージ内には存在しないか、
又は、使用されない規格符号化された信号のエミュレー
ションに用いられるマシン従属制御トークンが示され
る。
Referring again to the table 600, the name of the standard image group is shown in the left column.
In the right column, does it exist in the standard image?
Alternatively, a machine dependent control token used for emulation of unused standard encoded signals is shown.

【0318】表600において、既に述べたように、表
600に記載されている規格信号の任意の1つを復号化
する場合、マシンシーケンススタート信号はスタートコ
ード検出器によって生成されることが分かる。スタート
コード検出器は、システム全体に亙って用いられる2線
インターフェースへ供給するために、シーケンススター
ト、グループスタート、シーケンスエンド、スライスス
タート、ユーザー―データ、エクストラ―データ、及び
ピクチャ・スタートトークンを作る。これらの制御トー
クンと共に作動するこれらの各ステージは、トークンの
内容によって構成されるか、或は、トークンの内容によ
って作られるインデックスによって構成され、そして、
ピクチャデータトークンが当該ステーションに到着する
場合に受信されると予測されるデータを扱う準備が整え
られる。
In table 600, it can be seen that, as already mentioned, when decoding any one of the standard signals listed in table 600, the machine sequence start signal is generated by the start code detector. The start code detector produces sequence start, group start, sequence end, slice start, user-data, extra-data, and picture start tokens to feed the 2-wire interface used throughout the system. . Each of these stages operating with these control tokens is configured by the contents of the token, or by an index created by the contents of the token, and
The picture data token is ready to handle the data expected to be received if it arrives at the station.

【0319】既に述べたように、例えばH.261のよ
うな圧縮規格の1つは、そのデータストリーム内にシー
ケンスイメージスタートを持たず、そのデータストリー
ム内にピクチャ・エンドイメージも持たない。スタート
コード検出器は、入来ビットストリーム内にピクチャ・
エンドポイントを示し、そして、PICTUtZEEN
Dトークンを作る。この点に関して、本発明のシステム
は、本発明の実現において使用するために選定された各
々のレジスタの位置に情報の1ビットを含むように完全
にパックされたデータワードを運ぶことを意図する。こ
の目的のために、2つのスタートコードの間で供給され
るビット数として15ビットが選定された。勿論、当該
技術分野における通常の熟練者であれば、15ビットよ
り多いか少ないいずれの選択を行うことも可能であるこ
とが理解できるはずである。換言すれば、スタートコー
ド検出器からDRAMインターフェースへ供給される全
てのデータワードが15ビットであることは、適切なオ
ペレーションのために必要とされる。従って、スタート
コード検出器は、データトークンの最終ワード挿入され
るパディングと称する余分のビットを作る。説明のため
には、15データビットが選定された。
As described above, for example, H.264. One of the compression standards, such as 261, does not have a sequence image start in its data stream, nor a picture end image in its data stream. The start code detector is used to
Indicates the endpoint and PICTUtZEEN
Make a D token. In this regard, the system of the present invention contemplates carrying a fully packed data word to contain one bit of information in each register location selected for use in implementing the present invention. For this purpose, 15 bits were chosen as the number of bits supplied between the two start codes. Of course, one of ordinary skill in the art will appreciate that any choice greater or less than 15 bits can be made. In other words, it is required for proper operation that all data words supplied from the start code detector to the DRAM interface are 15 bits. Therefore, the start code detector creates an extra bit called padding that is inserted in the last word of the data token. For illustration purposes, 15 data bits were chosen.

【0320】本発明に基づくパディング(padding)オペ
レーションを行うためには、多数の2進1が後続する2
進0は、15ビットデータワードを完成するために、自
動的に挿入される。次に、このデータは、コード化され
たデータバッファを介して供給され、そして、パディン
グを除去するハフマンデコーダに供給される。従って、
任意の数のビットが、固定したサイズ及び幅のバッファ
を供給可能である。
To perform a padding operation according to the present invention, a number of binary 1's are followed by 2's.
The base 0 is automatically inserted to complete the 15-bit data word. This data is then fed through a coded data buffer and to a Huffman decoder which removes padding. Therefore,
Any number of bits can provide a fixed size and width buffer.

【0321】1つの実施例において、ピクチャのスライ
スを識別するためにスライススタート制御トークンが使
われる。スライススタート制御トークンは、ピクチャを
更に小さい領域に分割するために用いられる。この領域
のサイズは、エンコーダによって選定され、そして、ス
タートコード検出器は、スタートコード検出器から下流
に位置するマシン従属ステートステージに対して、受信
ピクチャを更に小さい領域に分割するために、スライス
スタートコードのこの唯一のパターンを識別する。領域
のサイズは、スタートコード検出器で識別され、そし
て、符号化されたピクチャを伸長するために再組合わせ
回路及び制御トークンによって使用されるエンコーダに
よって選択される。スライススタートコードは、主とし
てエラー回復のために使われる。
In one embodiment, slice start control tokens are used to identify slices of a picture. The slice start control token is used to divide the picture into smaller areas. The size of this region is selected by the encoder, and the start code detector then slice-starts to divide the received picture into smaller regions for machine dependent state stages located downstream from the start code detector. Identify this unique pattern of code. The size of the region is identified by the start code detector and selected by the recombining circuit and the encoder used by the control token to decompress the encoded picture. The slice start code is mainly used for error recovery.

【0322】スタートコードは、デコーダを始める唯一
の方法を提供し、そして、これについては、続いて更に
詳細に説明される。スタートコード検出器をコード化さ
れたデータバッファの前に配置すれば、コード化データ
バッファの後、そして、ハフマンデコーダ及び動画dデ
マルチプレクサ前にスタートコード検出器を配置する場
合と比較して、多数の利点が得られる。第1のバッファ
の前にスタートコード検出器を設置した場合には、1)
トークンの組立てが可能であり、2)例えばスタートコ
ードのような規格制御信号の復号化が可能であり、3)
データがバッファに入る前に、ビットストリームのパッ
ドが可能であり、そして、4)バッファを空にするため
に、制御トークンの適切なシーケンスを作り、利用可能
なデータをバッファからハフマンデコーダに入れること
が可能である。
The start code provides the only way to start the decoder, which will be described in more detail subsequently. If the start code detector is arranged in front of the coded data buffer, the number of start code detectors can be increased after the coded data buffer and before the Huffman decoder and the moving picture demultiplexer. The advantages of If the start code detector is installed in front of the first buffer, 1)
Tokens can be assembled, 2) standard control signals such as start codes can be decoded, and 3)
It is possible to pad the bitstream before the data goes into the buffer, and 4) make an appropriate sequence of control tokens to empty the buffer and put the available data from the buffer into the Huffman decoder. Is possible.

【0323】スタートコード検出器によって出力される
制御トークンの殆どは、様々なピクチャ、及び動画符号
化規格の構文エレメントを直接反映する。スタートコー
ド検出器は、構文エレメントを制御トークンに変換す
る。これらの自然トークンに加えて、幾つかの一意的、
及び/又は、マシン従属トークンが生成される。一意的
なトークンには、本発明のシステムにより使用するため
に特に設計され、内部的にも外部的にも一意的であり、
そして、本発明の多重規格性に関して補助するために用
いられるトークンが含まれる。この種の一意的なトーク
ンの例には、ピクチャ・エンド、及びコーディング・ス
タンダードが含まれる。
Most of the control tokens output by the start code detector directly reflect the syntax elements of various pictures and video coding standards. The start code detector translates syntax elements into control tokens. In addition to these natural tokens, some unique,
And / or machine dependent tokens are generated. A unique token is specifically designed for use by the system of the present invention and is unique both internally and externally,
And the tokens that are used to help with the multi-standardity of the present invention are included. Examples of unique tokens of this kind include picture ends and coding standards.

【0324】更に、トークンは、符号化規格の間の構文
的な差の幾つかを除去するため、及びエラー条件と協調
作動するために導入される。自動トークン生成は、規格
従属データの順次分析の後で行われる。従って、空間デ
コーダは、空間デコーダの入力に直接供給されたトーク
ン、即ち、SCD、並びに、コード化されたデータにお
けるスタートコードの検出に続いて生成されたトークン
に平等に応答する。本発明の多重規格性を制御するため
に一連のエキストラトークンが2線インターフェースに
挿入される。
In addition, tokens are introduced to remove some of the syntactic differences between coding standards and to work in concert with error conditions. Automatic token generation occurs after the sequential analysis of the standard dependent data. Therefore, the spatial decoder equally responds to the tokens provided directly at the input of the spatial decoder, ie the SCD, as well as the tokens generated following the detection of the start code in the encoded data. A series of extra tokens is inserted into the 2-wire interface to control the multi-standardity of the present invention.

【0325】MPEG及びH.26l符号化動画ストリ
ームは、規格従属非データ識別可能ビットパターンを含
み、これらのパターンの1つを、今後、スタートイメー
ジ、及び/又は、規格従属コードと呼ぶこととする。J
PEGにおいては、同様の機能はマーカコードによって
提供される。これらのスタートする/マーカコードは、
コード化されたデータストリームの構文の重要な部分を
識別する。スタートコード検出器によって行われるスタ
ート/マーカコードの分析は、コード化されたデータ解
析の最初のステージである。
MPEG and H.264. The 26l-encoded video stream contains standard-dependent non-data identifiable bit patterns, one of these patterns is hereinafter referred to as the start image and / or standard-dependent code. J
In PEG, similar functionality is provided by the marker code. These start / marker codes are
Identify important parts of the syntax of the encoded data stream. The analysis of the start / marker code performed by the start code detector is the first stage of coded data analysis.

【0326】スタート/マーカコードパターンは、ビッ
トストリーム全体を復号化することなしにパターンを識
別できるように設計される。従って、それらのパターン
は、エラー回復及びデコーダスタートを援助するために
本発明に基づいて使用できる。スタートコード検出器
は、コード化されたデータ構成内のエラーを検出し、そ
して、デコーダのスタートを援助するための、機能を提
供する。スタートコード検出器のエラー検出能力につい
ては、デコーダのスタート過程につれて、この後で詳細
に説明される。
The start / marker code pattern is designed so that the pattern can be identified without decoding the entire bitstream. Therefore, those patterns can be used in accordance with the present invention to aid error recovery and decoder start. The start code detector provides functions to detect errors in the coded data structure and to aid in starting the decoder. The error detection capability of the start code detector will be described in detail later as the decoder starts.

【0327】前記の記述は、主として、マシン従属ビッ
トストリームの特性、及び本発明のアドレッシング特性
との関係に関する説明であった。次の記述は、スタート
コード検出器に関する規格従属コード化データのビット
ストリームの特性の説明である。
The above description was primarily concerned with the properties of the machine dependent bitstreams and their relationship to the addressing properties of the present invention. The following is a description of the characteristics of the standard dependent coded data bitstream for a start code detector.

【0328】各々の規格圧縮符号化システムは、特定の
圧縮仕様を識別するために選定された独特のスタートコ
ードコンフィギュレーション、またはイメージを用い
る。各々のスタートコードは、スタートコードバリュー
を持つ。スタートコードバリューは、当該規格の言語内
においてスタートコードと関連するオペレーションのタ
イプを識別するために用いられる。本発明の多重規格デ
コーダにおいては、既に述べたように、その互換性は、
制御トークン及びデータトークンコンフィギュレーショ
ンに基づく。フラグ信号を含むインデックス信号は、各
ステートマシン内において回路生成され、そして、以下
に適宜説明することとする。
Each standard compression encoding system uses a unique start code configuration, or image, chosen to identify a particular compression specification. Each start code has a start code value. The start code value is used within the language of the standard to identify the type of operation associated with the start code. In the multi-standard decoder of the present invention, as described above, the compatibility is
Based on control token and data token configurations. The index signal including the flag signal is circuit-generated in each state machine, and will be described below as appropriate.

【0329】当該規格に含まれるスタート、及び/又
は、マーカコード、並びに、データワードと対照的な他
の規格ワードは、当該マシンにおいて使用される制御、
及び/又は、データトークンの内容に関して、コード、
及び/又は、マシン従属コードの使用との混乱を回避す
るために、イメージとして識別されることが少なくな
い。同様に、スタートコードと言う用語は、JPEGマ
ーカコード並びにMPEG及びH.261に関する包括
的な用語として用いられることが多い。マーカコードと
スタートは同じ目的に役立つ。更に、「フラッシュ」(f
lush)と言う用語は、使フラッシュトークンを意味する
場合と、そして、動詞として、例えば、スタートコード
検出器シフトレジスタをフラッシュする場合(「フラッ
シュ済み」信号を含む)のように、両方の意味に用いら
れる。混乱を回避するために、フラッシュトークンは必
ず大文字で書かれる。用語(動詞、または名詞)の他の
全ての使用は小文字による。
The start and / or marker code included in the standard, and other standard words as opposed to data words, are controls used in the machine.
And / or with respect to the content of the data token, a code,
And / or is often identified as an image to avoid confusion with the use of machine dependent code. Similarly, the term start code refers to JPEG marker code as well as MPEG and H.264. Often used as a generic term for 261. Marker code and start serve the same purpose. Furthermore, "flash" (f
The term lush) has both meanings when it refers to the usage flush token and as a verb, for example when flushing the start code detector shift register (including the "flushed" signal). Used. Flash tokens are always capitalized to avoid confusion. All other uses of the term (verb or noun) are in lower case.

【0330】規格従属コード化済み入力ピクチャ入力ス
トリームは、長さの変化するデータ及びスタートイメー
ジを含む。スタートイメージは、規格に応じて即座に後
続する当該データに対してどのオペレーションが実施さ
れるべきかを告げる値を一緒に運ぶ。ただし、多重規格
に対して互換性が必要とされる本発明の多重規格パイプ
ライン処理システムにおいて、システムは、全ての規格
において全ての機能を扱うために最適化されている。従
って、多くの条件において、一意的なスタート制御トー
クンは、符号化された信号規格イメージの値に含まれる
値に関してのみ互換性があるばかりでなく、当該技術分
野において周知のように各規格に対して指定されたパラ
メータによる表示に従って、規格のオペレーションをエ
ミュレートするために各種ステージを制御可能でなくて
はならない。この種の規格は、全て、参照資料として本
明細書に組み込み済みである。
Standards Dependent Coded Input Pictures The input stream contains data of varying length and a start image. The start image carries a value that tells which operation should be performed on the data immediately following it according to the standard. However, in the multi-standard pipeline processing system of the present invention where compatibility with multiple standards is required, the system is optimized to handle all functions in all standards. Therefore, in many conditions, the unique start control token is not only compatible with respect to the values contained in the values of the encoded signal standard image, but also for each standard as is well known in the art. The various stages must be controllable in order to emulate the operation of the standard according to the indication by the parameters specified. All such standards are incorporated herein by reference.

【0331】単独で、或いは、他の制御トークンと組合
わせることによって規格ビットストリームに含まれる非
データ情報をエミュレートするトークンの間の関係を理
解することが重要である。フラグ信号を含むインデック
ス信号の個別の集合は当該ステートマシン内におけるい
くらかの処理を扱うために各ステートマシンによって生
成される。規格に運ばれる値は、規格データ及び非デー
タ信号の扱いをエミュレートするようにマシンの従属制
御信号にアクセスするために使用できる。例えば、スラ
イススタートトークンは2ワードトークンであり、従っ
て、既に述べたように、2線インターフェースに入力さ
れる。
It is important to understand the relationships between tokens that emulate non-data information contained in a standard bitstream, either alone or in combination with other control tokens. A separate set of index signals, including flag signals, is generated by each state machine to handle some processing within that state machine. The values carried in the standard can be used to access the dependent control signals of the machine to emulate the handling of standard data and non-data signals. For example, the slice start token is a two word token and is therefore input to the two wire interface as previously described.

【0332】本発明のシステムへのデータ入力は、例え
ば、ディスク、テープ等のような、スタートコード検出
器51(図18)内における第1機能ステージに8ビッ
トのデータを供給するあらゆる適当なデータソースから
のデータソースであっても差し支えない。スタートコー
ド検出器は3つのシフトレジスタを有する、即ち、第1
のシフトレジスタは、8ビット幅であり、その次は24
ビット幅であり、そして、その次は15ビット幅であ
る。各々のレジスタは、2線インターフェースの一部で
ある。データソースからのデータは、1つのタイミング
サイクル期間中に、1つの単一8ビットバイトとして第
1レジスタにロードされる。その後で、第1シフトレジ
スタの内容は、一時に1ビットずつ、デコード(第2)
シフトレジスタにシフトされる。24サイクル後に、2
4ビットレジスタは満杯になる。8サイクル毎に、8ビ
ットバイトが、第1シフトレジスタにロードされる。各
バイトは、バリューシフトレジスタ221(図29)に
ロードされ、そして、付加的な8サイクルは、バリュー
シフトレジスタを空にし、そして、シフトレジスタ23
1をロードするために用いられる。シフトレジスタ23
1を空にするためには8サイクルが用いられ、従って、
これらの3オペレーション、または24サイクルの後
で、24ビットレジスタ内にはまだ3バイトがある。バ
リューデコードシフトレジスタ230はまだ空である。
The data input to the system of the present invention may be any suitable data source, such as a disk, tape, etc., that provides 8 bits of data to the first functional stage within the start code detector 51 (FIG. 18). It can be a data source from a source. The start code detector has three shift registers, namely the first
Shift registers are 8 bits wide, followed by 24
It is one bit wide, and then 15 bits wide. Each register is part of a two wire interface. The data from the data source is loaded into the first register as one single 8-bit byte during one timing cycle. After that, the contents of the first shift register are decoded (second) one bit at a time.
It is shifted to the shift register. After 24 cycles, 2
The 4-bit register is full. Every 8 cycles, an 8 bit byte is loaded into the first shift register. Each byte is loaded into the value shift register 221 (FIG. 29), and an additional 8 cycles empty the value shift register and shift register 23.
Used to load 1. Shift register 23
Eight cycles are used to empty one, so
After these 3 operations, or 24 cycles, there are still 3 bytes in the 24-bit register. The value decode shift register 230 is still empty.

【0333】今24ビットシフトレジスタ内に1つのピ
クチャ・スタートワードがあるものと仮定すれば、検出
サイクルは、ピクチャスタートコードパターンを認識
し、そして、その出力としてスタート信号を供給する。
一度、検出器がスタートを検出すれば、それに続くバイ
トは、当該スタートコードと関連した値であり、そし
て、これは、現在バリューレジスタ221にシッティン
グ(sitting)中である。
Assuming there is now one picture start word in the 24-bit shift register, the detect cycle recognizes the picture start code pattern and provides the start signal as its output.
Once the detector detects a start, the following byte is the value associated with the start code, and this is currently sitting in the value register 221.

【0334】検出シフトレジスタの内容はスタートコー
ドであると識別済みであるので、これ以上プロセシング
が起きないことを保証するために、これらの3バイトを
用いて、2線インターフェースから、この内容を除去し
なければならない。デコードレジスタは空にされ、そし
て、バリューデコードシフトレジスタ230は、当該値
がこの種レジスタまでシフトされるのを待つ。
Since the contents of the detect shift register have been identified as the start code, these 3 bytes are used to remove this content from the 2-wire interface to ensure that no further processing occurs. Must. The decode register is emptied and the value decode shift register 230 waits for the value to be shifted to this kind of register.

【0335】この段階において、バリューデコードシフ
トレジスタの低位ビット位置の内容は、ピクチャ・スタ
ートと関連した値を含む。標準ピクチャ・スタート信号
と等価の空間デコーダは、SD ピクチャ・スタート信
号と呼ばれる。ここにおいて、SD ピクチャ・スター
ト信号自体はトークンヘッダに含まれようとしており、
そして、この値は、トークンヘッダに対する拡張ワード
に含まれようとしている。 10.トークン 本発明の実現に際して、トークンは、制御、及び/又
は、データ機能に対する対話型インターフェースメッセ
ンジャパッケージの形式の万能順応ユニットであり、そ
して、1つの認識済みトークンに応答して様々なオペレ
ーションを行うためにそれ自体を再構成する1つのステ
ージである再構成可能なプロセシングステージ(RP
S)と共に使用するために改作される。トークンは、様
々な機能を達成するために処理ステージに応じて位置従
属又は位置独立のいずれかであっても差し支えない。更
に、トークンは、処理ステージによって変化させられ、
その次に、更に別の機能を達成するためにパイプライン
を下流方向に供給されるので、変質性であっても差し支
えない。トークンは、ステージの全て又は全てよりも少
ない部分と対話し、そして、この観点からすれば、隣
接、及び/又は、非隣接のステージと対話するた見なし
ても差し支えない。トークンは、幾つかの機能に対して
は位置従属であり、そして、他の機能に対しては位置独
立であっても差し支えなく、そして、或るステージとの
特定の対話は、当該ステージの以前における処理ヒスト
リによって調整可能である。
At this stage, the contents of the low-order bit position of the value decode shift register contains the value associated with the picture start. The spatial decoder equivalent to the standard picture start signal is called the SD picture start signal. Here, the SD picture start signal itself is about to be included in the token header,
This value is about to be included in the extension word for the token header. 10. Token In the implementation of the present invention, a token is a universal adaptation unit in the form of an interactive interface messenger package for control and / or data functions, and for performing various operations in response to one recognized token. Reconfigurable processing stage (RP
S) adapted for use with. Tokens can be either position dependent or position independent depending on the processing stage to achieve various functions. In addition, tokens are changed by the processing stage,
It can then be altered, as it is fed down the pipeline to achieve yet another function. Tokens interact with all or less than all of the stages and, in this respect, may be considered as interacting with adjacent and / or non-adjacent stages. Tokens may be position dependent for some functions and position independent for other functions, and a particular interaction with a stage may be prior to that stage. It can be adjusted by the processing history in.

【0336】ピクチャ・エンドトークンは、多重規格デ
コーダにおいてピクチャエンドを送信する方法である。
The picture end token is a method of transmitting a picture end in a multi-standard decoder.

【0337】多重規格トークンは、規格従属及び規格独
立ハードウェアと制御トークンとの混合体を用いてMP
EG、JPEG、及びH.261データストリームを1
つの単一デコーダにマッピングする方法である。
Multi-standard tokens are MP-capable using a mixture of standard-dependent and standard-independent hardware and control tokens.
EG, JPEG, and H.264. 261 data streams to 1
This is a method of mapping to one single decoder.

【0338】サーチモードトークンは、ランダムアクセ
ス、及び強化されたエラー回復を可能にするMPEG、
JPEG、及びH.261データストリームを検索する
ための技術である。
Search Mode Tokens are MPEG, which enable random access and enhanced error recovery.
JPEG, and H.264. 261 is a technique for searching a data stream.

【0339】ストップ・アフタ・ピクチャトークンは、
復号化のクリアエンドを達成する方法であり、ピクチャ
のエンドを送信し、そして、デコーダパイプライン、即
ち、チャネルの変更をクリアする。
The stop-after-picture token is
A method to achieve the clear end of decoding, sending the end of the picture and clearing the decoder pipeline, i.e. the change of channel.

【0340】更に、トークンをパッドすることは、固定
サイズ固定幅のバッファを通って任意の数のビットを供
給させる方法である。
Further, padding tokens is a method of supplying an arbitrary number of bits through a fixed size fixed width buffer.

【0341】本発明は、トークンおよび2線システムを
使用する可変構成を有するパイプライン処理システムに
向けられる。2線システムと組合わせた制御トークン及
びデータトークンの使用は、制御トークンを使わないシ
ステムと比較して拡張された作動能力を有することを可
能にする多重規格システムの達成を容易にする。
The present invention is directed to a pipeline processing system having a variable configuration using a token and a two wire system. The use of control tokens and data tokens in combination with a two-wire system facilitates the achievement of a multi-standard system that allows to have extended operating capabilities compared to systems that do not use control tokens.

【0342】制御トークンは、デコーダプロセッサの中
の回路よって生成され、そして、取り扱うために直列パ
イプラインプロセッサ内に供給する多数の異なるタイプ
の規格従属信号のオペレーションをエミュレートする。
直列プロセッサによる処理及び次に示す項目に関する考
察を行うために選定される多重規格の全てのパラメータ
を検討する技術が用いられる。即ち、1)それらの類似
性、2)それらの相違、3)それらの必要性、及び必要
条件、及び4)直列プロセッサに送り込まれる全ての規
格信号を効果的に処理するための正しいトークン機能の
選定。トークンの機能は規格をエミュレートすることで
ある。制御トークン機能は、部分的には規格従属信号間
のエミュレーション/翻訳として、及びパイプラインプ
ロセッサを介して制御情報を伝えるためのエレメントと
して使われる。
Control tokens are generated by circuitry in the decoder processor and emulate the operation of a number of different types of standard dependent signals that are fed into the serial pipeline processor for handling.
A technique is used to consider all parameters of the multi-standard selected for processing by the serial processor and consideration of the following items. That is, 1) their similarities, 2) their differences, 3) their needs, and requirements, and 4) of the correct token functions to effectively process all standard signals fed into the serial processor. Selection. The function of the token is to emulate the standard. The control token function is used, in part, as an emulation / translation between standard-dependent signals and as an element to convey control information through the pipeline processor.

【0343】先行該技術によるシステムにおいては、規
格を識別し、そして、マイクロプロセッサインターフェ
ースを用いることによって専用回路を作るために周知の
技術に従って専用マシンが設計される。マイクロプロセ
ッサからの信号は、専用下流コンポーネントを介してデ
ータの流れを制御するために用いられる。この伸長機能
の選択、タイミング、及び組織化は、マイクロプロセッ
サから入来する信号によって援助された固定論理回路に
よる制御の下に行われる。
In the prior art system, a dedicated machine is designed according to well known techniques to identify the standard and to create a dedicated circuit by using a microprocessor interface. Signals from the microprocessor are used to control the flow of data through dedicated downstream components. The selection, timing and organization of this decompression function is under the control of fixed logic circuits assisted by signals coming from the microprocessor.

【0344】これとは対照的に、本発明のシステムは、
制御トークンの制御の下に下流機能ステージを構成す
る。MPUからの必要な、及び/又は、代替制御を入手
するためにオプションが提供される。
In contrast, the system of the present invention
Configure the downstream functional stage under the control of the control token. Options are provided to obtain the necessary and / or alternative controls from the MPU.

【0345】トークンは、伸長回路パイプラインプロセ
ッサを介して情報を伝達するための優れたフォーマット
を提供し、そして、作成する。以下に示す好ましい実施
例において選定され、そして、使用される設計において
は、トークンの各ワードの幅は最小限8ビットであり、
そして、1つの単一トークンは、1つ又は複数のワード
を越えて拡張することが出来る。トークンの幅は、可変
であり、そして、ビット数は任意に選定することが出来
る。拡張ビットは、トークンが現行ワードを越えて拡張
されるかどうか、即ち、トークンの最終ワード以外のト
ークンの全てのワードにおいけるビットが2進1にセッ
トされているかどうかを示す。トークンの第1ワードが
ゼロの拡張ビットを持つ場合には、これは、トークンの
長さは僅かに1ワードであることを示す。
Tokens provide and create an excellent format for communicating information through a decompression pipeline processor. In the design chosen and used in the preferred embodiment described below, the width of each word of the token is a minimum of 8 bits,
And a single token can extend beyond one or more words. The width of the token is variable, and the number of bits can be arbitrarily selected. The extension bit indicates whether the token extends beyond the current word, i.e. whether the bits in all words of the token except the last word of the token are set to binary one. If the first word of the token has zero extension bits, this indicates that the token is only one word long.

【0346】各トークンは、トークンの第1ワードのビ
ット7においてスタートするアドレスフィールドによっ
て識別される。アドレスフィールドは、長さが可変であ
って、そして、複数のワードを越えて拡張することが潜
在的に可能である。好ましい実施例において、アドレス
の長さは8ビット以内である。ただし、これは、本発明
における制限条件でなく、これらのトークンの使用によ
って達成されるように選定された処理過程の大きさを意
味する。ワード1及び2における拡張ビットが1つの1
であり、付加ワードの後続を意味することは拡張ビット
識別ラベルによって示されることに注意されたい。ワー
ド3における拡張ビットはゼロであり、従って、当該ト
ークンのエンドを示す。
Each token is identified by an address field starting at bit 7 of the first word of the token. The address field is variable in length and potentially capable of extending beyond multiple words. In the preferred embodiment, the address length is up to 8 bits. However, this does not imply a limiting condition in the present invention, but rather the size of the processing steps chosen to be achieved by the use of these tokens. 1 with one extension bit in words 1 and 2
Note that, and the meaning of the trailing of the additional word is indicated by the extended bit identification label. The extension bit in word 3 is zero, thus indicating the end of the token.

【0347】更に、トークンは可変ビット長さである。
例えば、9ビットのトークンワードに拡張ビットを加え
て合計10ビットが用いられる。本発明の設計におい
て、出力バスの幅は可変である。空間デコーダからの出
力の幅は9ビットであるか、または拡張ビット含まれる
場合には10ビット出ある。好ましい実施例において、
これらの余分なビットを利用する唯一のトークンはデー
タトークンであり、全ての他のトークンは、このエキス
トラビットを無視する。これは、制限条件ではなく、単
に実施例に過ぎないことを理解されたい。
In addition, tokens are of variable bit length.
For example, a total of 10 bits is used by adding extension bits to a 9-bit token word. In the design of the present invention, the width of the output bus is variable. The width of the output from the spatial decoder is 9 bits, or 10 bits if an extension bit is included. In the preferred embodiment,
The only token that makes use of these extra bits is the data token, and all other tokens ignore this extra bit. It should be understood that this is not a limiting condition and is merely an example.

【0348】データトークン及び制御トークンコンフィ
ギュレーションを使用することにより、これらのデータ
トークンによって運ばれつつある1つのワードにおける
ビットの数によって表されるデータの長さを変えること
が可能である。例えば、データトークンのワードにおけ
るデータビットは、この直列伸長プロセッサ全体を通じ
て使用される等速呼出記憶装置にアクセスする際に使用
するために、同一データトークンの他のワードにおける
データビットと組み合わせて11ビット、或いは、10
ビットのアドレスを形成可能であることは検討済みであ
る。これによって、広い範囲に亙り汎用性を持つことを
容易にし、可変性が追加される。
By using data tokens and control token configurations, it is possible to vary the length of data represented by the number of bits in a word being carried by these data tokens. For example, a data bit in a word of a data token may be combined with a data bit in another word of the same data token to be used in accessing the constant velocity call store used throughout this serial decompression processor to create 11 bits. , Or 10
It has been considered that an address of bits can be formed. This facilitates widespread versatility and adds variability.

【0349】既に述べたように、データトークンは、1
つの処理ステージから次の処理ステージにデータを運
ぶ。従って、このトークンの特性は、デコーダを通過す
る際に変化する。例えば、空間デコーダへの入力におい
て、データトークンは、8ビットワードにパックされた
ビット直列符号化動画データを運ぶ。ここでは、各トー
クンの長さには制限がない。ただし、本発明のこの態様
の汎用性を例示するために(空間デコーダ回路の出力に
おいて)、各データトークンは、ちょうど64ワードを
持ち、そして、各ワードは9ビット幅であるものとす
る。更に詳細には、規格符号化信号は、長さの異なるメ
ッセージに対して、画像の異なる強度および詳細をコー
ド化することを可能にする。グループの第1画像は、プ
ロセシングユニット最多情報を提供する必要があるの
で、通常、最も長い数のデータビットを持つ。結果とし
て、第1画像は、できる限り多くの情報の伸長をスター
トすることが出来る。後続するワードは、走査情報フィ
ールドにおける第2の位置に関して第1ワードと比較し
た場合に違った信号を含むので、一般に、長さが短い。
規格符号化システムの要請に従い、可変量のデータが空
間デコーダの入力に供給されるように、ワードは、相互
に散在させられる。ただし、空間デコーダが機能した後
において、情報は、スクリーン上のディスプレイに適し
たピクチャフォーマットレートにおいてその出力に供給
される。例えば、NTSC、PAL、及びSECAMの
ような様々なディスプレイシステムと全世界に亙ってイ
ンターフェイスするために空間デコーダの時間に関する
出力レートは変化可能である。動画フォーマッティング
部は、この可変ピクチャレートをディスプレイに適した
一定のピクチャレートに変換する。ただし、ピクチャデ
ータは、依然として、64ワードから成るデータトーク
ンによって運ばれる。
As already mentioned, the data token is 1
Carries data from one processing stage to the next. Therefore, the characteristics of this token change as it passes through the decoder. For example, at the input to the spatial decoder, the data tokens carry bit-serial encoded video data packed into 8-bit words. Here, there is no limit on the length of each token. However, to illustrate the versatility of this aspect of the invention (at the output of the spatial decoder circuit), assume that each data token has exactly 64 words and each word is 9 bits wide. More specifically, standard encoded signals allow for encoding different intensities and details of the image for messages of different lengths. The first image of the group usually has the longest number of data bits as it has to provide the most processing unit information. As a result, the first image can start decompressing as much information as possible. Subsequent words are generally short in length because they contain a different signal when compared to the first word with respect to the second position in the scan information field.
As required by standard coding systems, the words are interspersed with each other so that a variable amount of data is provided at the input of the spatial decoder. However, after the spatial decoder is functional, information is provided at its output at a picture format rate suitable for on-screen display. For example, the spatial decoder's temporal output rate can be varied to interface globally with various display systems such as NTSC, PAL, and SECAM. The moving picture formatting unit converts this variable picture rate into a constant picture rate suitable for the display. However, the picture data is still carried by a data token consisting of 64 words.

【0350】11.DRAMインターフェース 3個のデコーダチップの各々に1つの単一高性能構成可
能DRAMインターフェースが用いられる。一般に、各
チップ上のDRAMインターフェースは実質的に同じで
ある。ただし、インターフェースは、チャネル優先権を
扱う方法が、相互に異なる。このインターフェースは、
空間デコーダ、時間デコーダ、及び動画フォーマッティ
ング部によって使用される外部DRAMを直接ドライブ
するように設計されている。一般に、DRAMインター
フェースをこれらのシステムのDRAMに接続するに
は、外部のロジック、バッファ、またはコンポーネント
は必要でない。
11. DRAM Interface One single high performance configurable DRAM interface is used for each of the three decoder chips. Generally, the DRAM interface on each chip is substantially the same. However, the interfaces differ in the way they handle channel priorities. This interface is
It is designed to directly drive the external DRAM used by the spatial decoder, the temporal decoder, and the video formatter. Generally, no external logic, buffers, or components are required to connect the DRAM interface to the DRAM of these systems.

【0351】本発明に基づき、インターフェースは、次
の2つの方法により構成可能である。 1.種々異なるDRAMタイプを収容するように、詳細
なタイミングのインターフェースを構成することが出来
る。
According to the present invention, the interface can be configured in the following two ways. 1. The detailed timing interface can be configured to accommodate different DRAM types.

【0352】2.異なる用途に応じてコスト/性能トレ
ードオフを提供するように、DRAMへのデータインタ
ーフェースの幅を構成することが出来る。
2. The width of the data interface to the DRAM can be configured to provide cost / performance tradeoffs for different applications.

【0353】一般に、DRAMインターフェースは、シ
ステム内の各々3つのチップ上で実現される規格から独
立したブロックである。再び、これらのチップは、空間
デコーダ、時間デコーダ、及び動画フォーマッティング
部である。図18、図19、図20を再度参照すること
とし、これらの図は、DRAMインターフェースと、そ
れぞれ、空間デコーダ、時間デコーダ、及び動画フォー
マッティング部の残りのブロックとの間の関係を表すブ
ロック図である。各チップにおいて、DRAMインター
フェースは外部DRAMにチップを接続する。現在で
は、必要とされる比較的大量のDRAMをチップ上に作
成することは実際的でないので、外部DRAMが使用さ
れる。(注記:各チップは、自身の外部DRAM及び自
身のDRAMインターフェースを持つ。)更に、DRA
Mインターフェイスが圧縮規格独立である場合には、多
重規格H.261、JPEG、及びMPEGの各々を実
現するように、インターフェースを構成しなければなら
ない。多重規格オペレーション用としてのDRAMイン
ターフェースをどのように再構成するかについては、後
で更に詳細に説明される。
Generally, the DRAM interface is a standard independent block implemented on each of the three chips in the system. Again, these chips are the spatial decoder, temporal decoder, and video formatting unit. Referring again to FIGS. 18, 19 and 20, which are block diagrams illustrating the relationship between the DRAM interface and the remaining blocks of the spatial decoder, the temporal decoder, and the video formatting unit, respectively. is there. In each chip, the DRAM interface connects the chip to external DRAM. External DRAMs are used because it is currently not practical to build the relatively large amount of DRAM needed on a chip. (Note: Each chip has its own external DRAM and its own DRAM interface.)
If the M interface is compression standard independent, then a multi-standard H.M. The interface must be configured to implement each of H.261, JPEG, and MPEG. How to reconfigure the DRAM interface for multi-standard operation is described in more detail later.

【0354】DRAMインターフェースのオペレーショ
ンを理解するには、DRAMインターフェースとアドレ
ス発生器との間の関係、及び2線インターフェースを用
いてこれら両者の間でどのように交信するかということ
を理解することが必要である。
To understand the operation of the DRAM interface, it is necessary to understand the relationship between the DRAM interface and the address generator and how to communicate between them using a 2-wire interface. is necessary.

【0355】一般に、名前が意味するように、アドレス
発生器は、DRAMをアドレスするために(例えば、D
RAM内の特定特アドレスに対して読み書きを行う場
合)DRAMインターフェースが必要とするアドレスを
生成する。2線インターフェースを使用する場合、DR
AMインターフェースが(パイプラインにおける先行ス
テージから)双方のデータ、及び有効なアドレス(アド
レス発生器から)を持つ場合に限り読むこと、及び書く
ことが起きる。個別のアドレス発生器の使用は、後で更
に検討するように、アドレス発生器及びDRAMインタ
ーフェース両方の構成を簡素化する。
In general, as the name implies, an address generator is used to address DRAM (eg, D
When reading and writing to a specific special address in RAM) Generates an address required by the DRAM interface. DR when using 2-wire interface
Reading and writing will only occur if the AM interface has both data (from the previous stage in the pipeline) and a valid address (from the address generator). The use of a separate address generator simplifies the construction of both the address generator and the DRAM interface, as will be discussed further below.

【0356】本発明において、DRAMインターフェー
スは、アドレス発生器、および、それを介してデータが
供給されるステージのクロックの両方に同期するクロッ
クから操作可能である。操作の非同期性を扱うためには
特殊な技術が必要とされている。
In the present invention, the DRAM interface is operable from a clock that is synchronous to both the address generator and the clock of the stage through which the data is supplied. Special techniques are needed to handle the asynchronous nature of operations.

【0357】データは、一般に、DRAMインターフェ
ースと64バイトのブロックにおけるチップの残りの部
分との間に転送される(時間デコーダにおける予測デー
タだけは唯一の例外である)。転送は、「スイングバッ
ファ」として知られているデバイスによって行われる。
スイングバッファは、本質的に、1つのRAMを満たす
か、或いは、空にし、同時に一方ではチップの他の部品
がもう一方のラムを空にするか、或いは、満たすDRA
Mインターフェースを用いてダブルバッファされたコン
フィギュレーションにおいて操作される1対のRAMで
ある。アドレス発生器からのアドレスを運ぶ個別のバス
は各スイングバッファと関連する。
The data is generally transferred between the DRAM interface and the rest of the chip in blocks of 64 bytes (the only exception being the predictive data in the temporal decoder). The transfer is done by a device known as a "swing buffer".
The swing buffer essentially fills or empties one RAM, while at the same time another component of the chip empties or fills the other ram.
A pair of RAMs operated in a double buffered configuration using the M interface. A separate bus carrying the address from the address generator is associated with each swing buffer.

【0358】本発明において、各々のチップは、4つの
スイングバッファを持つが、これらのスイングバッファ
の機能は各場合毎に異なる。空間デコーダにおいては、
1つのスイングバッファは、コード化されたデータをD
RAMに転送すために使われ、も1つのスイングバッフ
ァはDRAMからコード化されたデータを読むために用
いられ、第3のスイングバッファは、トークン化された
データをDRAMへ転送するために使用され、そして、
第4のスイングバッファはトークン化されたデータをD
RAMから読み出すために用いられる。ただし、時間デ
コーダにおいては、1つのスイングバッファは、イント
ラ又は予測ピクチャデータをDRAMに書き込むために
使われ、第2のスイングバッファはインラ又は予測デー
タをDRAMから読み出すために用いられ、そして、他
の2つは、前方、及び後方への予測データを読み取るた
めに使われる。動画フォーマッティング部においては、
1つのスイングバッファは、データをDRAMへ転送す
るために使われ、そして、他の3つは、DRAMからデ
ータを読むために使われ、輝度(Y)、及び赤および青
の色差データ(各々、Cr、及びCb)用として1つず
つ使用される。 1つの書き込みスイングバッファ、及
び1つの読み取りスイングバッファを有する1つの仮想
DRAMインターフェースのオペレーションについて、
次のセクションにおいて説明することとする。本質的
に、これは、空間デコーダのDRAMインターフェース
のオペレーションと同じである。オペレーションについ
ては図32に示す。
In the present invention, each chip has four swing buffers, but the functions of these swing buffers differ in each case. In the spatial decoder,
One swing buffer D
One swing buffer is used to read the coded data from the DRAM, and a third swing buffer is used to transfer the tokenized data to the DRAM. , And then
The fourth swing buffer D stores the tokenized data.
Used to read from RAM. However, in a temporal decoder, one swing buffer is used to write intra or predictive picture data to DRAM, a second swing buffer is used to read inra or predictive data from DRAM, and the other. Two are used to read forward and backward prediction data. In the video formatting section,
One swing buffer is used to transfer the data to the DRAM, and the other three are used to read the data from the DRAM, the luminance (Y), and the red and blue color difference data (respectively, One for Cr and one for Cb). For the operation of one virtual DRAM interface with one write swing buffer and one read swing buffer,
This will be explained in the next section. Essentially this is the same operation of the DRAM interface of the spatial decoder. The operation is shown in FIG.

【0359】図32は、アドレス発生器301、DRA
Mインターフェース302、及びデータを供給するチッ
プの残りのステージの間の制御インターフェースは全て
2線インターフェースであることを示す。アドレス発生
器301は、制御トークンを受信する結果としてアドレ
スを生成するか、或いは、単にアドレスの固定したシー
ケンスを生成(例えば、空間デコーダのFIFOバッフ
ァ用)しても差し支えない。DRAMインターフェース
は、アドレス発生器301と関連している2線インター
フェースを特別な方法で扱う。アクセプトラインがアド
レスを受信する準備が整った場合にアクセプトをハイに
保持する代わりに、アドレスラインは、アドレス発生器
による有効なアドレス供給を待ち、当該アドレスを処理
し、そして、1クロック周期に亙ってアクセプトライン
をハイにセットする。このように、リクェスト/肯定応
答(PEQ/ACK)プロトコルが実現される。
FIG. 32 shows the address generator 301, DRA.
The control interface between the M interface 302 and the remaining stages of the chip that supplies the data is shown to be all 2-wire interfaces. The address generator 301 may generate an address as a result of receiving a control token, or may simply generate a fixed sequence of addresses (eg, for a spatial decoder FIFO buffer). The DRAM interface handles the 2-wire interface associated with the address generator 301 in a special way. Instead of holding accept high when the accept line is ready to receive an address, the address line waits for a valid address supply by the address generator, processes the address, and waits for one clock period. Then set the accept line high. In this way, a request / acknowledgement (PEQ / ACK) protocol is implemented.

【0360】DRAMインターフェース302の独特の
特徴は、アドレス発生器301、及びデータを供給、或
いは、受け入れるステージと独立して通信することので
きる能力である。例えば、アドレス発生器は、書込みス
イングバッファ(図33)におけるデータと関連してい
るアドレスを生成しても差し支えないが、しかし、書込
みスイングバッファが外部DRAMへの記入準備が整っ
たデータのブロックが存在することを送信する時までア
クションは行われない。同様に、書込みスイングバッフ
ァは、外部DRAMへの記入準備が整っているものデー
タのブロックを含んでも差し支えないが、アドレスが、
アドレス発生器301から当該バスに供給される時ま
で、アクションは行われない。更に、書込みスイングバ
ッファにおけるRAMの1つが一度データで満たされる
と、データ入力が停動される(2線インターフェース受
け入れ信号がローにセットされる)以前に、他のRAM
は完全に満たされ、そして、DRAMインターフェース
側に「スイング」されることもあり得る。
A unique feature of the DRAM interface 302 is the ability to communicate independently of the address generator 301 and the stages that supply or receive data. For example, the address generator may generate an address associated with the data in the write swing buffer (FIG. 33), but the write swing buffer will not have a block of data ready for writing to the external DRAM. No action is taken until the time of sending the existence. Similarly, the write swing buffer may contain blocks of data that are ready for writing to the external DRAM, but at addresses
No action is taken until the address generator 301 feeds the bus. In addition, once one of the RAMs in the write swing buffer has been filled with data, the other RAM can be used before the data input is stalled (2-wire interface accept signal set low).
Can be completely filled and "swinged" to the DRAM interface side.

【0361】本発明にかかるDRAMインターフェイス
302のオペレーションを理解する際、適切に構成され
たシステムにおいて、DRAMインターフェースは、ス
イングバッファと外部DRAM303との間において、
スイングバッファとチップの残りの部分との間の全ての
平均データレートの合計と少なくとも同等のデータレー
トを以てデータ転送が可能であることに注意することが
重要である。
In understanding the operation of the DRAM interface 302 according to the present invention, in a properly configured system, the DRAM interface is between the swing buffer and the external DRAM 303.
It is important to note that it is possible to transfer data at a data rate at least equal to the sum of all average data rates between the swing buffer and the rest of the chip.

【0362】各DRAMインターフェース302は、ど
ちらのスイングバッファが次にサービスするかを決定す
る。一般に、これは、「ラウンドロビン」(round robi
n)(即ち、次にサービスを受けるスイングバッファは、
最も最近でない順番であった次の利用可能なスイングバ
ッファである)、或いは、優先位エンコーダ(即ち、こ
の場合、幾つかのスイングバッファが他のものより更に
高い優先位を持つ)のいずれかである。双方の場合に、
他の全てのリクエストより更に高い優先位を持つ追加リ
クエストはリフッレシュリクエスト発生器から入来す
る。リフレッシュリクエストは、マイクロプロセッサイ
ンターフェースを介してプログラム可能なリフレシュカ
ウンタから生成される。
Each DRAM interface 302 determines which swing buffer will serve the next. Generally, this is a "round robin".
n) (i.e. the next swing buffer to be serviced is
Either the next available swing buffer that was in the least recent order) or a priority encoder (ie, in this case some swing buffers have higher priority than others). is there. In both cases,
Additional requests with a higher priority than all other requests come from the Refresh Request Generator. The refresh request is generated from a refresh counter that is programmable via the microprocessor interface.

【0363】ここで、図33を参照することとし、この
図には、書込みスイングバッファの構成図が示される。
書込みスイングバッファインターフェースには、第1R
AM311、及び第2RAM312の2つのブロックが
含まれる。ここで更に検討するように、データは、書込
みアドレス303、及び制御部314による制御の下
で、前のステージからRAM331及びRAM312に
記入される。RAM311、及びRAM312から、デ
ータは、DRAM315に記入される。DRAMへのデ
ータ記入中は、ここで更に説明されるように、DRAM
行アドレスは、アドレス発生器によって供給され、そし
て、列アドレスは、書込みアドレス及び制御部によって
供給される。オペレーションにおいて、有効なデータ
は、入力316に供給される(データイン)。一般に、
データは、前のステージから受け取られる。各々のデー
タは、DRAMインターフェースによって受け入れられ
るにつれて、RAM311に記入され、そして、書込み
アドレス制御部は、RAM311をインクリメントし、
次の1つのデータのRAM311への記入を可能にす
る。データのRAM311への記入は、それ以上データ
が無いか、或いは、RAM311が満杯になるまで、継
続される。RAM311が一杯である場合には、入力側
は、制御を断念し、そして、RAM311の読み取り準
備が整っていることを示すために、信号を読み取り側に
送る。従って、この信号は、2つの非同期クロックレジ
ームの間を供給し、3つの同期化フリップフロップを介
して供給する。RAM312が空であるものと仮定すれ
ば、入力側に到着するデータの次の項目はRAM312
に記入される。そうでない場合には、RAM312が空
になった場合にこれが起きる。ラウンドロビン又は優先
位エンコーダが(特定のチップによってどちらが使用さ
れるか応じて)読み取られる順番に当たるスイングバッ
ファを指示した場合、DRAMインターフェースは、R
AM311の内容を読み、そして、それらを外部DRA
Mに記入する。次に、信号は、非同期インターフェース
を通って後方に送られ、RAM311が再度満杯にされ
る準備が整っていることを示す。
Referring now to FIG. 33, which shows a block diagram of the write swing buffer.
The write swing buffer interface has a first R
Two blocks of the AM 311 and the second RAM 312 are included. As discussed further herein, data is written to RAM 331 and RAM 312 from the previous stage under the control of write address 303 and controller 314. Data is written to the DRAM 315 from the RAM 311 and the RAM 312. During data entry into the DRAM, as described further herein, the DRAM
The row address is provided by the address generator and the column address is provided by the write address and controller. In operation, valid data is provided at input 316 (data in). In general,
The data is received from the previous stage. Each datum is written into RAM 311 as it is received by the DRAM interface, and the write address controller increments RAM 311 and
The next one data can be written in the RAM 311. Writing data into the RAM 311 continues until there is no more data or the RAM 311 is full. If RAM 311 is full, the input side gives up control and sends a signal to the read side to indicate that RAM 311 is ready for reading. Therefore, this signal feeds between two asynchronous clock regimes and feeds through three synchronizing flip-flops. Assuming the RAM 312 is empty, the next item of data that arrives at the input side is the RAM 312.
Will be filled in. Otherwise, this will happen if RAM 312 is empty. If the round robin or priority encoder indicates the swing buffer to hit in the order in which it is read (depending on which is used by the particular chip), the DRAM interface will
Read the contents of AM311 and read them to external DRA
Fill in M. The signal is then sent back through the asynchronous interface, indicating that RAM 311 is ready to be refilled.

【0364】DRAMインターフェースがRAM311
を空にし、そして、入力側がRAM312を満たす以前
に、それを「スイング」する場合には、データのスイン
グバッファによる連続受け入れが可能である。そうでな
い場合には、RAM2が満杯である場合には、スイング
バッファは、RAM311が、入力側による使用のため
に後方に「スイング」されるまで、その受け入信号をロ
ーにセットする。
The DRAM interface is the RAM 311
Empty and then "swing" it before the input side fills the RAM 312, continuous acceptance of the data by the swing buffer is possible. Otherwise, if RAM2 is full, the swing buffer sets its acceptance signal low until RAM311 is "swinged" backwards for use by the input side.

【0365】本発明に基づく読み取りスイングバッファ
のオペレーションは、入力データと出力データが反転す
る点を除けば、同じである。
The operation of the read swing buffer according to the present invention is the same except that the input data and output data are inverted.

【0366】本発明のDRAMインターフェースは、利
用可能なメモリーバンド幅を最大限にするように設計さ
れている。データの各8×8ブロックは、同一DRAM
ページに記憶される。このようにして、DRAM高速ペ
ージアクセスモードを完全に利用できる。この場合、1
つの行アドレスが供給され、多くの列アドレスがこれに
続く。特に、行アドレスは、アドレス発生器によって供
給されるが、列アドレスは、後で検討するように、DR
AMインターフェースによって供給される。更に、外部
DRAMへのデータバスの幅が8、16、または32ビ
ットであることを可能にする機能が提供される。従っ
て、DRAMの使用量は、特定用途のサイズ及びバンド
幅必要条件にマッチさせることができる。
The DRAM interface of the present invention is designed to maximize the available memory bandwidth. Each 8x8 block of data is the same DRAM
Remembered on page. In this way, the DRAM fast page access mode can be fully utilized. In this case, 1
One row address is provided, followed by many column addresses. In particular, the row address is provided by the address generator, while the column address is the DR, as will be discussed later.
Supplied by the AM interface. In addition, a feature is provided that allows the width of the data bus to the external DRAM to be 8, 16 or 32 bits. Therefore, DRAM usage can be matched to specific application size and bandwidth requirements.

【0367】この例において(正確には、空間デコーダ
上のDRAMインターフェースがどのように作動するか
と言うこと)、アドレス発生器は、読み取り、及び書込
みスイングバッファの各々に対するブロックアドレスを
DRAMインターフェースに供給する。このアドレス
は、DRAMのための行アドレスとして使われる。6ビ
ットの列アドレスは、DRAMインターフェース自体に
よって供給され、そして、これらのビットは、スイング
バッファラムのためのアドレスとして同様に使われる。
スイングバッファへのデータバスの幅は32ビットであ
る。従って、外部DRAMへのバス幅が32ビット未満
である場合には、2或いは4の外部のDRAMアクセス
は、書込みスイングバッファから次のワードが読み取ら
れる以前、或いは、次のワードが読み取りスイングバッ
ファに記入される以前に、行われなければならない(読
取り、及び書込みは、外部DRAMに対する転送の方向
を意味する)。
In this example (more precisely, how the DRAM interface on the spatial decoder works), the address generator supplies the DRAM interface with the block address for each of the read and write swing buffers. .. This address is used as the row address for the DRAM. The 6-bit column address is provided by the DRAM interface itself, and these bits are also used as the address for the swing buffer RAM.
The width of the data bus to the swing buffer is 32 bits. Therefore, if the bus width to the external DRAM is less than 32 bits, then 2 or 4 external DRAM accesses will either be before the next word is read from the write swing buffer or the next word will be read to the read swing buffer. It must be done before it is written (read and write refer to the direction of transfer to the external DRAM).

【0368】時間デコーダ、及び動画フォーマッティン
グ部の場合においては、条件は更に複雑である。時間デ
コーダのアドレッシングは、このセクションにおいて更
に検討するようにその予測的態様のために、更に複雑で
ある。動画フォーマッティング部に関して本セクション
において更に検討されるように、多重動画出力規格態様
のために、動画フォーマッティングのアドレッシングは
更に複雑である。
In the case of the temporal decoder and the moving picture formatting section, the conditions are more complicated. The temporal decoder addressing is more complicated due to its predictive aspects as discussed further in this section. Addressing of video formatting is more complicated due to multiple video output standard aspects, as discussed further in this section regarding the video formatting part.

【0369】既に述べたように、時間デコーダは4つの
スイングバッファを持つ。その中の2つは復号化済みイ
ント及び予測(Iお呼びP)ピクチャデータの読み取り
及び書き込みを実行するために用いられる。これらは、
既に説明したように作動する。もう一方の2つは、予測
データを受け取るために使われる。これらのバッファは
更に興味深い。
As already mentioned, the temporal decoder has four swing buffers. Two of them are used to perform reading and writing of decoded int and predictive (I call P) picture data. They are,
It works as described above. The other two are used to receive prediction data. These buffers are even more interesting.

【0370】一般に、予測データは、運動モーションベ
クトルにx及びyとして指定されているように、処理済
みブロックの位置から偏る。従って、検索されるべきデ
ータブロックは、符号化された(そしてDRAMに書き
込まれた)ので、一般に、当該データのブロック境界と
一致しない。これは、図34に示すように、陰を付けた
部分は形成されつつあるブロックを表し、点線で示すア
ウトラインは、それに基づいて予測がなされつつあるブ
ッロックを表す。アドレス発生器は、モーションベクト
ルによって指定されたアドレスを、大きい矢印で示すよ
うに、オフセットされたブロック(ブロックの全数)に
変換し、また、小さな矢印によって示すようにオフセッ
トされたピクセルに変換する。
In general, the prediction data deviates from the position of the processed block, as specified in the motion vectors as x and y. Therefore, since the data block to be retrieved is encoded (and written to DRAM), it generally does not match the block boundary of the data. In this, as shown in FIG. 34, a shaded portion represents a block that is being formed, and an outline indicated by a dotted line represents a block that is being predicted based on it. The address generator translates the address specified by the motion vector into offset blocks (total number of blocks), as indicated by the large arrows, and into offset pixels, as indicated by the small arrows.

【0371】アドレス発生器において、DRAMから検
索されるべきブロックのアドレスを形成するために、フ
レームポインタ、ベースブロックアドレス、及びベクト
ルオフセットが加えられる。ピクセルオフセットがゼロ
である場合には、ただ1つのリクエストが生成される。
x又はy次元のいずれかにオフセットがある場合には、
2つのリクエスト、即ち、もとのブロックアドレス及び
直ぐ下のブロックアドレスが生成される。x及びyにオ
フセットのある場合には、4つのリクエストが生成され
る。検索されるべき各々のブロックに関して、図の例に
最もよく示されているように、アドレス発生器は、スタ
ート、及びストップアドレスを計算する。
At the address generator, the frame pointer, base block address, and vector offset are added to form the address of the block to be retrieved from DRAM. If the pixel offset is zero, then only one request is generated.
If there is an offset in either the x or y dimension,
Two requests are generated, the original block address and the block address immediately below. If there are offsets in x and y, four requests will be generated. For each block to be searched, the address generator calculates the start and stop addresses, as best shown in the illustrated example.

【0372】図35の陰の部分に相当するピクセルオフ
セット(1,1)について考察することとする。アドレ
ス発生器は、図においてAからDまでにラベル表示され
る4つのリクエストを作る。解決すべき問題は、行アド
レスの所要のシーケンスをいかに高速に供給するかと言
うことである。解答は、次に示すように「スタート/ス
トップ」技術を使用することである。
Consider the pixel offset (1,1) corresponding to the shaded portion of FIG. The address generator makes four requests, labeled A to D in the figure. The problem to be solved is how fast to supply the required sequence of row addresses. The answer is to use the "start / stop" technique as shown below.

【0373】図35のブロックAについて考察すること
とする。読み取りは、位置(7,7)においてスタート
し、位置(1,1)において終了しなければならない。
現段階において、一時に1バイトが読み取られつつある
ものと仮定する(即ち、8ビットDRAMインターフェ
ース)。座標対におけるx値は、アドレスの3つのLS
Bを形成し、y値は3つのMSBを形成する。x及びy
スタートバリューは双方共に1であり、アドレスに9を
提供する。データはこのアドレスから読み取られ、そし
て、x値はインクリントされる。プロセスは、x値がそ
のストップバリューに到達する時まで繰り返され、到達
した時点において、yバリューは1だけインクリメント
され、そして、xスタートバリューは再ロードされ、1
つのアドレス17を与える。データの各バイトが読み取
られるにつれて、xバリューは、ストップバリューに到
着するまで、再びインクリメントされる。x及びyの両
バリューがそれらのストップバリューに到達するまで、
プロセスは繰り返される。このようにして、9、10、
11、12、13、14、15、17...23、2
5、…、31、33、…、57、…、63のアドレスシ
ーケンスが生成される。
Consider block A of FIG. The reading must start at position (7,7) and end at position (1,1).
At this stage, assume that one byte is being read at a time (ie, 8-bit DRAM interface). The x value in the coordinate pair is the three LSs of the address
Form B and the y value forms 3 MSBs. x and y
The start values are both 1 and provide 9 for the address. The data is read from this address and the x value is incremented. The process is repeated until the x value reaches its stop value, at which point the y value is incremented by 1 and the x start value is reloaded by 1.
Give one address 17. As each byte of data is read, the x value is incremented again until the stop value is reached. until both x and y values reach their stop value,
The process is repeated. In this way, 9, 10,
11, 12, 13, 14, 15, 17. . . 23, 2
, 31, 33, ..., 57, ..., 63 address sequences are generated.

【0374】同様の方法において、ブロックBに対する
スタート及びストップ座標は(1、0)及び(7、0)
であり、ブロックCに対しては(0、1)及び(0、
7)であり、、そして、ブロックDに対しては(0、
0)及び(0、0)である。
In a similar manner, the start and stop coordinates for block B are (1,0) and (7,0).
And for block C (0, 1) and (0,
7), and for block D (0,
0) and (0, 0).

【0375】次の問題は、このデータをどこに記入する
かである。明らかに、ブロックAを観察すれば、アドレ
ス9から読み取られたデータは、スイングバッファのア
ドレス0に記入されなければならず、アドレス10から
のデータは、スイングバッファのアドレス1に記入され
なければならない。等々。同様に、ブロックBにおける
アドレス8から読み取られたデータは、スイングバッフ
ァにおけるアドレス15に記入されなければならず、そ
して、アドレス16からのデータは、スイングバッファ
におけるアドレス15に記入されなければならない。こ
の機能は、次に概説するように、非常に簡単に実現でき
る。
The next question is where to enter this data. Obviously, observing block A, the data read from address 9 must be written to address 0 of the swing buffer and the data from address 10 must be written to address 1 of the swing buffer. .. And so on. Similarly, the data read from address 8 in block B must be written to address 15 in the swing buffer and the data from address 16 must be written to address 15 in the swing buffer. This feature is very easy to implement, as outlined below.

【0376】ブロックAについて考察するものとする。
読取り開始に際して、スイングバッファアドレスレジス
タは、ストップバリューの逆値がロードされる。yの逆
ストップバリューは3つのMSBを形成し、そして、x
の逆ストップバリューは3つのLSBを形成する。この
場合、DRAMインターフェースは外部DRAMにおけ
るアドレス9を読みつつあるが、スイングバッファアド
レスはゼロである。表500「予測アドレッシング」に
示すように、外部DRAMアドレスレジスタがインクリ
メントされるにつれて、スイングバッファアドレスレジ
スタもインクリレメントされる。
Consider block A.
At the start of reading, the swing buffer address register is loaded with the reverse value of the stop value. The reverse stop value of y forms 3 MSBs, and x
The reverse stop value of forms three LSBs. In this case, the DRAM interface is reading address 9 in the external DRAM, but the swing buffer address is zero. As the external DRAM address register is incremented, the swing buffer address register is also incremented, as shown in Table 500 "Predictive Addressing".

【0377】ここまでの説明は、8ビットDRAMイン
ターフェースに集中してきた。16または32ビットイ
ンターフェースの場合には、2、3のささいな修正が行
われなければならない。最初に、ピクセルオフセットベ
クトルは、それが16または32ビット境界を指すよう
に「クリップ」しなければならない。ここで用いてきた
例において、ブロックAに関しては、読み取られた第1
のDRAMはアドレス0を指し、そして、アドレス0か
ら3までのデータが読み取られる。2番目に、不要デー
タは放棄されなければならない。これは、データ全てを
スイングバッファに書き込み(この場合、スイングバッ
ファは、8ビットの場合に必要であったよりも物理的に
差に大きくなければならない)、そして、オフセットと
共に読み取ることにより遂行される。MPEG半画素補
間を実施する場合には、x及び/又はyにおける9バイ
トが、DRAMインターフェースから読み取られなけれ
ばならない。この場合、アドレス発生器は、適切なスタ
ート及びストップアドレスを提供する。DRAMインタ
ーフェースにおいてはいくらかの付加ロジックが用いら
れるが、しかし、DRAMインターフェースが作動する
方法には基本的な変化はない。 本発明の時間デコーダ
DRAMインターフェースに関して注意すべき最後の点
は、データに関してどのような処理を実施することが必
要とされるかを示すために、予測フィルタに付加情報が
提供されなければならないことである。必要な処理の内
容を次に示す。
The description so far has focused on the 8-bit DRAM interface. For 16 or 32 bit interfaces, a few minor modifications must be made. First, the pixel offset vector must be "clipped" so that it points to a 16 or 32 bit boundary. In the example used here, for block A, the first read
DRAM points to address 0, and data from addresses 0 to 3 are read. Second, unwanted data must be discarded. This is accomplished by writing all of the data to a swing buffer (where the swing buffer must be physically larger than was necessary in the 8-bit case) and then reading it along with the offset. When implementing MPEG half pixel interpolation, 9 bytes in x and / or y must be read from the DRAM interface. In this case, the address generator provides the appropriate start and stop addresses. Some additional logic is used in the DRAM interface, but there is no fundamental change in the way the DRAM interface operates. A final point to note regarding the temporal decoder DRAM interface of the present invention is that additional information must be provided to the predictive filter to indicate what processing is required to be performed on the data. is there. The contents of the necessary processing are shown below.

【0378】転送(64、72、又は、81バイトの)
の最後のバイトを示す「最終バイト信号」。
Transfer (64, 72, or 81 bytes)
A "last byte signal" that indicates the last byte of the.

【0379】H.261フラグ。H. 261 flag.

【0380】双方向性予測フラグ。Bidirectional prediction flag.

【0381】ブロックの次元(x及びyにおける8又は
9バイト)を示す2つのビット。
Two bits indicating the dimension of the block (8 or 9 bytes in x and y).

【0382】ブロックの順序を示す1つの2ビット番
号。
One 2-bit number indicating the order of blocks.

【0383】スイングバッファからデータが読み出され
るにつれて、最終バイトフラグが生成可能である。他の
信号は、アドレス発生器から得られ、そして、予測フィ
ルタブロックによってデータがスイングバッファから読
み出されるにつれて、信号がデータの正しいブロックと
組合わされるように、DRAMインターフェースを経て
パイプに通される。
As the data is read from the swing buffer, the final byte flag can be generated. The other signal is obtained from the address generator and is piped through the DRAM interface so that the signal is combined with the correct block of data as the data is read from the swing buffer by the predictive filter block.

【0384】動画フォーマッティング部において、デー
タは、ブロックにおける外部DRAMに記入されるが、
しかし、ラスタ順に読み出される。書き込みは、空間デ
コーダに関して既に説明した場合と全く同じであるが、
しかし、読取りは少しだけ更に複雑である。
In the moving picture formatting section, the data is written in the external DRAM in the block,
However, they are read in raster order. The writing is exactly the same as already described for the spatial decoder,
However, reading is slightly more complicated.

【0385】動画フォーマット部、外部DRAMにおけ
るデータは、少なくとも8つのブロックのデータが1つ
の単一ページに適合するように組織される。これら8つ
のブロックは8つの連続した水平ブロックである。ラス
タ化に際して、8つの連続したブロックの各々から8つ
のバイトが読み出され、そして、スイングバッファに記
入されることが必要である(即ち、8ブロックの各々に
おける同じ列)。
The data in the moving picture format section and the external DRAM are organized such that at least eight blocks of data fit into one single page. These eight blocks are eight consecutive horizontal blocks. Upon rasterization, eight bytes from each of eight consecutive blocks need to be read and written to the swing buffer (ie, the same column in each of the eight blocks).

【0386】最上列について考察することとし(そし
て、1バイト幅のインターフェースを仮定する)、yア
ドレス(3MSBS)の場合と同様にxアドレス(3L
SBS)はゼロにセットされる。次に、最初の8バイト
が各々読みとられるにつれて、xアドレスはインクリメ
ントされる。この時点において、アドレスの上位部分
(ビット6及びそれ以上―LSB=ビット0)のトップ
部品はインクリメントされ、xアドレス(3LSBS)
はゼロにリセットされる。64バイトが読み出されるま
で、このプロセスは繰り返される。外部DRAMへのイ
ンターフェース幅が16または32ビットである場合に
は、xアドレスは、1だけインクリメントされる代わり
に、単に、それぞれ2又は4だけインクリメントされ
る。
Considering the top row (and assuming a 1 byte wide interface), the x address (3L) is the same as for the y address (3MSBS).
SBS) is set to zero. The x address is then incremented as each of the first 8 bytes is read. At this point, the top part of the higher part of the address (bit 6 and above-LSB = bit 0) is incremented and x address (3 LSBS)
Is reset to zero. This process is repeated until 64 bytes have been read. If the interface width to the external DRAM is 16 or 32 bits, the x-address is incremented by 2 or 4 respectively instead of being incremented by 1.

【0387】本発明において、常に8バイトの倍数が読
み取られるが、アドレス発生器は、64バイト未満が読
み取られなければならないことを、DRAMインターフ
ェースに送信することができる(これは、ラスタライン
の開始または終了に際して必要とされことがある)。こ
れは、スタート及びストップバリューを使用することに
よって達成される。スタートバリューは、アドレスのト
ップ部分用に使われる(ビット6以上)そして、読取り
が停止されなければならない時を示す信号を生成するた
めに、ストップバリューは、スタートバリューと比較さ
れる。
In the present invention, although multiples of 8 bytes are always read, the address generator can signal to the DRAM interface that less than 64 bytes must be read (this is the start of a raster line). Or may be required at the end). This is achieved by using start and stop values. The start value is used for the top part of the address (bit 6 and above) and the stop value is compared to the start value to generate a signal indicating when the read must be stopped.

【0388】DRAM信号のエッジを、システムのクロ
ック周期の4分の1の精度に置くために、本発明におけ
るDRAMインターフェースタイミングブロックはタイ
ミングチェーンを使用する。位相クロックされたループ
から得られる2つの直交クロックが用いられる。これら
のクロックは、組合わされて、概念上の2xクロックを
形成する。従って、あらゆる1つのチェーンは、並列接
続された2xクロックと反対の位相を持つ2つのシフト
レジスタによって作られる。
The DRAM interface timing block in the present invention uses a timing chain to place the edges of the DRAM signal to an accuracy of one quarter of the system clock period. Two quadrature clocks derived from a phase clocked loop are used. These clocks are combined to form a conceptual 2x clock. Therefore, every single chain is made up of two shift registers with opposite phase with 2x clocks connected in parallel.

【0389】まず第一に、ページスタートサイクル用と
して1つのチェーンがあり、そして、いま1つのチェー
ンは、リード/ライト/リフレッシュサイクル用であ
る。各サイクルの長さは、マイクロプロセッサインター
フェースを介してプログラム可能であり、その後におい
て、ページスタートチェーンは固定した長さを持ち、そ
して、ページスタートの期間中に、サイクルチェーンの
長さは適宜変化する。
First of all, there is one chain for the page start cycle, and another one for the read / write / refresh cycle. The length of each cycle is programmable through the microprocessor interface, after which the page start chain has a fixed length, and during the page start the length of the cycle chain changes accordingly. .

【0390】リセットすると、チェーンがクリアされ、
そして、パルスが作られる。パルスは、チェーンに沿っ
て移動し、そして、DRAMインターフェースからの状
態情報によって方向付けされる。パルスは、DRAMイ
ンターフェースクロックを生成する。各DRAMインタ
ーフェースクロック周期は、DRAMの1つのサイクル
と一致する。従って、DRAMサイクルの長さが異なる
場合には、DRAMインターフェースクロックは定速で
はない。
When reset, the chain is cleared,
Then a pulse is created. The pulse travels along the chain and is directed by the state information from the DRAM interface. The pulse generates the DRAM interface clock. Each DRAM interface clock period corresponds to one DRAM cycle. Therefore, when the DRAM cycle lengths are different, the DRAM interface clock is not constant speed.

【0391】更に、追加タイミングチェーンは、前述の
チェーンからのパルスをDRAMインターフェースから
の情報と組み合わせ、例えば、notcas、notr
as、notwe、notbeのような出力ストローブ
及びイネイブルを生成する。 12.予測フィルタ 再び図19、図20、図21において、そして、更に詳
細には図40において、時間デコーダの構成図が示され
る。これには、予測フィルタが含まれる。予測フィルタ
と時間デコーダの残りのエレメントとの間の関係を図2
6に更に詳細に示す。予測フィルタの構造の本質は、図
27及び図37に示される。予測フィルタのオペレーシ
ョンに関する詳細な記述は、本セクションの「発明の更
に詳細な記述」に記載されている。
In addition, the additional timing chain combines the pulses from the above chains with the information from the DRAM interface, eg notcas, notr.
Generate output strobes and enables such as as, notwe, notbe. 12. Prediction Filter Referring again to FIGS. 19, 20 and 21, and more particularly to FIG. 40, a block diagram of a temporal decoder is shown. This includes prediction filters. The relationship between the prediction filter and the remaining elements of the temporal decoder is shown in FIG.
6 shows in more detail. The essence of the structure of the prediction filter is shown in FIGS. A detailed description of the operation of the predictive filter is given in the "More Detailed Description of the Invention" section of this section.

【0392】一般に、本発明に基づく予測フィルタは、
MPEG及びH.26lモードにおいて使用されるが、
JPEGモードでは使用されない。JPEGモードにお
ける場合を思い起こされたい。即ち、時間デコーダは、
空間デコーダによって達成される範囲を越えて一切の実
質的な復号化を行うことなく、動画フォーマット部を通
ってデータを供給させるに過ぎない。再び図27を参照
することとし、MPEGモードにおいて、フォーワー
ド、及びバックワード予測フィルタは同じであり、そし
て、それぞれのMPEGフォーワード、及びバックワー
ド予測ブロックを濾過する。ただし、H.261はバッ
クワード予測を使わないので、H.261モードにおい
ては、フォーワード予測フィルタのみが使われる。
In general, the prediction filter according to the present invention is
MPEG and H.264. Used in 26l mode,
Not used in JPEG mode. Recall the case in JPEG mode. That is, the time decoder
It only allows the data to be fed through the movie format section without any substantial decoding beyond the range achieved by the spatial decoder. Referring again to FIG. 27, in MPEG mode, the forward and backward prediction filters are the same, and filter each MPEG forward and backward prediction block. However, H. Since H.261 does not use backward prediction, H.261 does not use backward prediction. In the 261 mode, only the forward prediction filter is used.

【0393】本発明の2つの予測フィルタの各々は、実
質的に同じである。再び図17及び505を参照するこ
ととし、更に詳細には図37を参照することとする。図
には、予測フィルタの構造のブロック図が示される。各
予測フィルタは、直列配置された4つのステージを有す
る。データは、フォーマットステージ505−7に入力
され、そして、容易にろ過され得るフォーマットにされ
る。次のステージ505−2において、I−D予測が、
X座標上で行われる。必要な輸送が次元バッファステー
ジ505−3によって行われた後で、I−D予測は、ス
テージ505−4におけるY座標上で行われる。ステー
ジがどのようにして濾過作用を実施するかについて更に
詳細に説明することとする。濾過作用に要求される条件
については圧縮規格によって定義されている。H.26
1の場合において、現実に行われる濾過作用は、ローパ
スフィルタの場合に類似する。
Each of the two predictive filters of the present invention is substantially the same. 17 and 505 will be referred to again, and FIG. 37 will be referred to for further details. In the figure, a block diagram of the structure of the prediction filter is shown. Each prediction filter has four stages arranged in series. The data is input to the format stage 505-7 and formatted into a format that can be easily filtered. In the next stage 505-2, the ID prediction is
It is performed on the X coordinate. After the required transport is done by the dimension buffer stage 505-3, the ID prediction is done on the Y coordinate at stage 505-4. A more detailed description of how the stage performs the filtering action will be given. The conditions required for the filtering action are defined by the compression standard. H. 26
In the case of 1, the actual filtering effect is similar to that of a low pass filter.

【0394】再び図26を参照して、多重規格オペレー
ションは、MPEG又はH.261フィルタリングのい
ずれかを遂行するために予測フィルタは再構成可能であ
るか、或いは、JPEGモードにおいては全く濾過作用
を実施しないことを必要とする。3チップシステムの他
の多くの再構成可能な態様と同様に、予測フィルタは、
トークンによって再構成される。トークンは、アドレス
発生器にオペレーションの特定モードについて通知する
ためにも使用される。この場合、アドレス発生器は、M
PEGとJPEGとの間では著しく変化する必要なデー
タのアドレスを予測フィルタに供給することができる。
Referring again to FIG. 26, the multi-standard operation is MPEG or H.264. The predictive filter needs to be reconfigurable to perform any of the H.261 filtering, or to perform no filtering in JPEG mode. Like many other reconfigurable aspects of a 3-chip system, the predictive filter
Reconstructed by token. The token is also used to inform the address generator about a particular mode of operation. In this case, the address generator is M
Addresses of the required data that vary significantly between PEG and JPEG can be provided to the predictive filter.

【0395】13.アクセシングレジスタ マイクロプロセッサインターフェース(MPI)におけ
る大抵のレジスタは、当該インターフェースが関連して
いるステージが停止している場合に限り、修正可能であ
る。従って、レジスタのグループは、一般に、アクセス
レジスタと関連している。アクセスレジスタにおける値
がゼロである場合には、特定の当該アクセスレジスタと
関連しているレジスタのグループは、修正してはならな
い。1をアクセスレジスタに記入すると、ステージが停
止されることを要求する。ただし、ステージは即座に停
止出来ないので、従って、ステージアクセスレジスタ
は、停止されるまで、値ゼロを保持する。
13. Accessing Registers Most registers in a microprocessor interface (MPI) can be modified only when the stage to which the interface is associated is stalled. Therefore, groups of registers are generally associated with access registers. If the value in the access register is zero, the group of registers associated with the particular access register in question should not be modified. Writing a 1 to the access register requests that the stage be stopped. However, since the stage cannot be stopped immediately, the stage access register therefore holds the value zero until stopped.

【0396】MPIと関連し、そして、MPIを介して
機能を遂行するために用いられるあらゆるユーザーソフ
トウェアは、「1をリクエストアクセスレジスタに記入
する後において」アクセスレジスタから1が読み取られ
る時まで待たねばならない。ユーザーが1つの値をコン
フィギュレーションレジスタに記入する場合には、これ
と同時に、そのアクセスレジスタがゼロにセットされる
まで、結果は不明である。
Any user software associated with MPI and used to perform functions through MPI must wait "after writing a 1 to the request access register" until a 1 is read from the access register. I won't. If the user writes a value to the configuration register, at the same time, the result is unknown until the access register is set to zero.

【0397】 14.マイクロプロセッサインターフェース 空間デコーダ及び時間デコーダにおける全ての回路にお
いて、規格バイト幅を持つマイクロプロセッサインター
フェース(MPI)が用いられる。MPIは、様々な空
間、及び時間デコーダクロックと共に非同期的に動作す
る。表37を参照して、この表には、このインターフェ
ースにおいて用いられる様々なMPI信号が示される。
信号のキャラクタは、入力出力欄に示され、信号の名前
は、信号名欄に示され、そして、信号機能の説明は記述
欄に示される。MPIの電気仕様は表38に関して示さ
れる。全ての仕様はタイプ別に分類され、そして、記号
欄には3つのタイプが示される。これらの記号が何を表
すかについては、パラメータ欄に示される。現実の仕様
は、それぞれの欄に、最小、最大、及び単位において示
される。
14. Microprocessor Interface A microprocessor interface (MPI) with a standard byte width is used in all circuits in the spatial and temporal decoders. MPI operates asynchronously with various space and time decoder clocks. Referring to Table 37, this table shows the various MPI signals used in this interface.
The character of the signal is shown in the input / output column, the name of the signal is shown in the signal name column, and a description of the signal function is shown in the description column. MPI electrical specifications are shown with respect to Table 38. All specifications are categorized by type, and the symbol column indicates three types. The meaning of these symbols is shown in the parameter column. The actual specifications are shown in their respective columns, with minimum, maximum, and units.

【0398】DC作動条件は、表39に関して示され
る。欄の見出しは、表38の場合と同じである。DC電
気特性は、表40に関して示され、そして、表38、及
び表39の場合と同じ欄題が用いられる。
DC operating conditions are shown with respect to Table 39. The column headings are the same as in Table 38. The DC electrical characteristics are shown for Table 40, and the same headings are used as for Table 38 and Table 39.

【0399】15.MPIリードタイミング MPIリードタイミングダイアグラムのAC特性を、図
62に関して示す。図の各ラインは、対応する信号名に
よってラベル付され、そして、タイミングはナノセカン
ドで示す。完全なマイクロプロセッサインターフェース
のリードタイミング特性は、表41に関して示す。欄番
号は、特性欄に記載された信号名に対応する信号を示
す。MIN、及びMAXによって識別された欄は、当該
信号が利用可能な時間の最大量を示す時間の最小長さを
提供する。単位欄は、信号について説明するために用い
られた測定単位を示す。
15. MPI Read Timing The AC characteristics of the MPI Read Timing Diagram are shown with respect to FIG. Each line in the figure is labeled by the corresponding signal name, and the timing is shown in nanoseconds. The read timing characteristics of the complete microprocessor interface are shown in Table 41. The column number indicates the signal corresponding to the signal name described in the characteristic column. The columns identified by MIN and MAX provide the minimum length of time that indicates the maximum amount of time the signal is available. The Units column shows the unit of measurement used to describe the signal.

【0400】16.MPIライトタイミング MPIライトタイミングダイアグラムの一般的な記述
は、図63に関して示される。この図は、MPIライト
タイミングと関連した各個別信号名を示す。名前、信号
の特性、及び他の様々な物理的特性は、表42に関して
示される。
16. MPI Write Timing A general description of the MPI write timing diagram is shown with respect to FIG. This figure shows each individual signal name associated with MPI write timing. Names, signal characteristics, and various other physical characteristics are shown with respect to Table 42.

【0401】17.キーホールアドレスロケーション 本発明において、アクセス頻度の小さいメモリーマップ
は、キーホールレジスタの後ろに配置されている。キー
ホールレジスタは、それと関連している2つのレジスタ
を持つ。第1のレジスタは、キーホールアドレスレジス
タであり、そして、第2のレジスタは、キーホールデー
タレジスタである。キーホールアドレスは、拡張アドレ
ススペース内の場所を指定する。キーホールデータレジ
スタへの読取りまたは書込みオペレーションは、キーホ
ールアドレスレジスタによって指定された場所にアクセ
スする。キーホールデータレジスタにアクセスした後
で、関連キーホールアドレスレジスタはインクリメント
する。拡張されたアドレススペース内のランダムアクセ
スは、各アクセスに対して、キーホールアドレスレジス
タに新しい値を書き込むことによってのみ可能である。
本発明の範囲内の回路は、複数のキーホールマップ持つ
こともあり得る。それにもかかわらず、異なるキーホー
ル間の対話はない。
17. Keyhole Address Location In the present invention, the memory map with low access frequency is placed after the keyhole register. The keyhole register has two registers associated with it. The first register is a keyhole address register and the second register is a keyhole data register. The keyhole address specifies a location within the extended address space. Read or write operations to the keyhole data register access the location specified by the keyhole address register. After accessing the keyhole data register, the associated keyhole address register is incremented. Random access within the expanded address space is only possible by writing a new value to the keyhole address register for each access.
Circuits within the scope of the present invention may have multiple keyhole maps. Nevertheless, there is no dialogue between different keyholes.

【0402】18.ピクチャエンド 再び図18を参照することとし、この図には、本発明に
使われる空間デコーダの全般的な構成図を示す。ピクチ
ャ・エンドの機能に関する記述は、この構成図全体に亙
って適用される。ピクチャ・エンド機能は、H.261
符号化ピクチャ情報、MPEG及びJPEG信号を扱う
ことができるという多重規格における利点を有する。
18. PICTURE END Referring again to FIG. 18, which shows a general block diagram of the spatial decoder used in the present invention. The description of the picture end function applies throughout this block diagram. The picture end function is based on the H.264 standard. 261
It has an advantage in the multiplex standard that it can handle coded picture information, MPEG and JPEG signals.

【0403】既に述べたように、図18の全体的な構成
図は、既に説明した2線インターフェースによって相互
接続される。各々の機能ブロックは、図17に関して示
すステートマシンコンフィギュレーションに基づいて作
動するように配列されている。
As already mentioned, the overall block diagram of FIG. 18 is interconnected by the already described two wire interface. Each functional block is arranged to operate based on the state machine configuration shown with respect to FIG.

【0404】一般に、本発明に基づくピクチャ・エンド
は、ピクチャ・エンド制御トークンを生成するスタート
コード検出器において開始する。ピクチャ・エンド制御
トークンは、スタートアップ制御回路を経て、変更され
ないまま、DRAMインターフェースに供給される。こ
の場合、前記トークンは、DRAMインターフェースに
おけるライトスイングバッファをフラッシュするために
用いられる。スイングバッファの内容は、このバッファ
が満杯になった場合に限りRAMに書き込まれることを
思い起こされたい。ただし、バッファが満杯でない点に
おいても終了し、ピクチャデータの固着を起こさせるこ
ともあり得る。ピクチャ・エンドトークンは、データを
スイングバッファの外に強制する。
In general, the picture end according to the invention starts at a start code detector which produces a picture end control token. The picture end control token is supplied unchanged to the DRAM interface via the startup control circuit. In this case, the token is used to flush the write swing buffer in the DRAM interface. Recall that the contents of the swing buffer are written to RAM only when this buffer is full. However, it may end at the point where the buffer is not full, causing sticking of picture data. The picture end token forces the data out of the swing buffer.

【0405】本発明は多重規格マシンであるので、この
マシンは、各圧縮規格に対して異なって動作する。更に
詳細には、マシン従属アクションサイクルに従って作動
する場合について十分に説明することとする。各圧縮規
格に対して、制御トークン、及び/又は、MPUからの
出力信号の組合わせにより、利用可能な全アクションサ
イクルの合計数を選定することが可能であり、或いは、
利用可能な全アクションサイクルの合計数は、制御トー
クン自体の設計によっても選定可能である。この点に関
して、本発明は、全ての情報が上流のブロックに収集さ
れてしまうまで、情報が次のブロックに入ることを延期
させるように組織されている。データを次のステージま
で供給させる準備が整うまで、システムは待機する。こ
のようにして、ピクチャ・エンド信号は、コード化され
たデータバッファに供給され、そして、ピクチャ・エン
ド信号の制御部分は、データバッファの内容の読み取り
引き起こし、そして、ハフマンデコーダ及び動画デマル
チプレクサ回路に供給される。
Since the present invention is a multi-standard machine, this machine behaves differently for each compression standard. More specifically, the case of operating according to a machine dependent action cycle will be fully described. For each compression standard, a combination of control tokens and / or output signals from the MPU can select the total number of all available action cycles, or
The total number of all available action cycles can also be selected by the design of the control token itself. In this regard, the present invention is organized to defer information from entering the next block until all the information has been collected in the upstream block. The system waits until it is ready to feed the data to the next stage. In this way, the picture end signal is supplied to the coded data buffer, and the control portion of the picture end signal causes the reading of the contents of the data buffer and to the Huffman decoder and video demultiplexer circuit. Supplied.

【0406】ピクチャ・エンド制御トークンの他の利点
は、ハフマンデコーダデマルチプレクサによる使用に関
して、ハフマンデコーダ及び動画デマルチプレクサ回路
に供給される信号の一般的に予測される全範囲、及び/
又は、数を持ったことが無い場合であっても、ピクチャ
の終端をこの制御トークンが識別することである。この
条件において、コード化されたデータバッファに保持さ
れている情報は、完全ピクチャとして、ハフマンデコー
ダ、及び動画デマルチプレクサに供給される。このよう
にして、ハフマンデコーダ、及び動画デマルチプレクサ
のステートマシンは、システム設計に応じて依然として
データを扱うことができる。
Another advantage of the picture end control token is its general expected full range of signals supplied to the Huffman decoder and video demultiplexer circuits for use by the Huffman decoder demultiplexer, and / or
Alternatively, this control token identifies the end of the picture, even if it has never had a number. In this condition, the information held in the coded data buffer is supplied to the Huffman decoder and the video demultiplexer as a complete picture. In this way, the Huffman decoder and video demultiplexer state machine can still handle the data, depending on the system design.

【0407】ピクチャ・エンド制御トークンの他の利点
は、オフチップDRAM、またはスイングバッファに浮
遊情報が不用意に残留しないように、コード化データバ
ッファを完全に空にするその能力である。
Another advantage of the picture end control token is its ability to completely empty the coded data buffer so that floating information does not inadvertently remain in the off-chip DRAM, or swing buffer.

【0408】ピクチャ・エンド機能の更に他の利点は、
エラー回復におけるその用途である。例えば、コード化
データバッファに保持されているデータの量が1つの単
一画像に関して空間情報を示すために一般的に用いられ
る量よりも少ないものと仮定すると、最後の画像は、ス
イングバッファが満杯になるまでデータバッファに保持
されるが、しかし、定義によれば、バッファは決して満
杯にならない。或る点において、マシンは、エラー条件
が退場することを決定する。従って、ピクチャ・エンド
トークンは、復号化され、そして、コード化データバッ
ファにおけるデータがハフマンデコーダ及び動画デマル
チプレクサに供給されるように強制する範囲内におい
て、最後の画像は復号化可能であり、そして、情報はバ
ッファから空にされる。結果的に、マシンは、エラー回
復モードに入らず、そして、コード化されたデータの処
理を首尾よくし継続する。
Yet another advantage of the picture end function is:
Its use in error recovery. Assuming, for example, that the amount of data held in the coded data buffer is less than the amount commonly used to indicate spatial information for one single image, the last image will fill the swing buffer. Is held in the data buffer until, but by definition the buffer is never full. At some point, the machine decides that the error condition leaves. Thus, the picture end token is decoded, and to the extent that it forces the data in the coded data buffer to be supplied to the Huffman decoder and video demultiplexer, the last image is decodable, and , Information is emptied from the buffer. As a result, the machine does not enter error recovery mode and continues to process the encoded data successfully.

【0409】ピクチャ・エンドトークンの用途の更に別
の利点は、直列パイプラインプロセッサが割り込みなし
データの処理を継続することである。ピクチャ・エンド
トークンを使用することにより、直列パイプラインプロ
セッサは、予測された量未満のデータを扱うように構成
され、そして、その結果として、処理を継続する。一般
に、先行技術によるマシンは、エラー条件に起因して停
止する。既に述べたように、コード化データバッファ
は、その記憶領域にマクロブロックが入来するにつれて
これらをカウントする。更に、ハフマンデコーダ及び動
画デマルチプレクサは、一般に、各画像を復号化する際
に予測される情報量を知っている、即ち、ハフマンデコ
ード及び動画デマルチプレクサのステートマシン部分
は、各画像回復サイクル期間中に処理するブロック数を
知っている。正しい数のブロックがコード化データバッ
ファから到着しない場合には、一般に、エラー回復ルー
チンが結果として成立する。ただし、ハフマンデコーダ
及び動画デマルチプレクサを再構成するピクチャ・エン
ド制御トークンを用いることにより、この制御トークン
は、再構成によって、マンデコーダ及び動画デマルチプ
レクサに実際に適切な量の情報を扱いつつあることを告
げるので、機能し続けることができる。
Yet another advantage of the use of the picture end token is that the serial pipeline processor continues to process uninterrupted data. By using the picture end token, the serial pipeline processor is configured to handle less than the expected amount of data and, as a result, continues processing. Generally, prior art machines shut down due to error conditions. As already mentioned, the coded data buffer counts macroblocks as they come into its storage area. Furthermore, Huffman decoders and video demultiplexers generally know the amount of information expected when decoding each image, that is, the state machine part of the Huffman decoding and video demultiplexer is known during each image recovery cycle. Know how many blocks to process. If the correct number of blocks does not arrive from the coded data buffer, an error recovery routine will generally result. However, by using a picture end control token that reconstructs the Huffman decoder and video demultiplexer, this control token is handling the amount of information that is actually appropriate for the Mandecoder and video demultiplexer by reconstruction. So you can continue to work.

【0410】再び図17を参照することとし、バッファ
マネージャーのトークンデコーダ部分は、スタートコー
ド検出器によって生成されたピクチャ・エンド制御トー
クンを検出する。正常作動状態においては、既に述べた
ように、スイングバッファの正常なオペレーションに関
して、バッファレジスタは、満杯になり、そして、空に
される。再び、データで部分的に満ちているスイングバ
ッファは、スイングバッファが完全に満たされるまで、
及び/又は、空になる時間を知る時まで、空にならな
い。ピクチャ・エンド制御トークンは、バッファマネー
ジャのトークンデコーダ部分において復号化され、そし
て、部分的に満ちているスイングバッファをコード化デ
ータバッファに空にすることを強制する。これは、究極
的に、直接、或いは、DRAMインターフェースを介し
て、ハフマンデコーダ、及び動画デマルチプレクサへ供
給される。
Referring again to FIG. 17, the token decoder portion of the buffer manager detects the picture end control token generated by the start code detector. In normal operation, as already mentioned, for normal operation of the swing buffer, the buffer register is full and emptied. Again, a swing buffer that is partially filled with data, until the swing buffer is completely filled,
And / or not empty until you know when it will be empty. The picture end control token is decoded in the token decoder portion of the buffer manager, and forces the partially full swing buffer to empty the coded data buffer. This is ultimately fed to the Huffman Decoder and Video Demultiplexer, either directly or via the DRAM interface.

【0411】19.フラッシングオペレーション ピクチャ・エンド制御トークンの他の利点は、フラッシ
ュトークンに関連したその機能である。フラッシュトー
クンは、ステートマシンの再構成制御、或いは、システ
ムへのデータパスのいずれとも関連しない。それどころ
か、このトークンは、マシン従属のステートマシンによ
って扱うために前の部分的信号を完成する。各々のステ
ートマシンは、フラッシュ制御トークンを、処理され手
はならない情報として認識する。従って、フラッシュト
ークンは、コード化データバッファの残りの空の部品の
全てを満たすために使われ、そして、情報の十分な集合
がハフマンデコーダ及び動画デマルチプレクサに送られ
ることを可能にするために使用される。このように、フ
ラッシュトークンは、バッファに対してパディング様に
作用する。
19. Flushing Operation Another advantage of the picture end control token is its function in relation to the flash token. Flash tokens are not associated with either the state machine reconfiguration control or the data path to the system. On the contrary, this token completes the previous partial signal for handling by the machine-dependent state machine. Each state machine recognizes the flash control token as information that cannot be processed. Therefore, the flash token is used to fill all of the remaining empty parts of the coded data buffer, and to allow a sufficient set of information to be sent to the Huffman decoder and video demultiplexer. To be done. In this way, the flush token acts like padding on the buffer.

【0412】ハフマン回路におけるトークンデコーダ
は、フラッシュトークンを認識し、そして、フラッシュ
トークンがそれに押し込んだ偽りのデータを無視する。
次に、ハフマンデコーダは、ピクチャ・エンドトークン
及びフラッシュトークンの到着前に存在する場合に最後
のピクチャバッファのデータ内容にのみ作用する。ピク
チャ・エンドトークン単独の、或いは、フラッシュトー
クンと組合わされた用途の更なる利点は、ハフマンデコ
ーダ回路の再構成、及び/又は、再組織である。ピクチ
ャ・エンドトークンの到着に際して、ハフマンデコーダ
回路は、最後の画像を復号化するために通常予測される
情報より少ない情報を持つことを知る。ハフマンデコー
ド回路は、最後の画像に含まれる情報の処理を終了し、
そして、この情報をDRAMインターフェースを介して
逆モデラーへの出力する。最後の画像の識別に際して、
ハフマンデコーダは、クリーンナップモードになり、そ
して、次の画像情報の到着に対して再調整する。
The token decoder in the Huffman circuit recognizes the flash token and ignores the spurious data that the flash token pushed into it.
The Huffman Decoder then acts only on the data content of the last picture buffer if it exists before the arrival of the picture end token and the flash token. A further advantage of the picture end token alone or in combination with the flash token is the reconfiguration and / or reorganization of the Huffman decoder circuit. Upon the arrival of the picture end token, the Huffman decoder circuit knows that it has less information than would normally be expected to decode the last image. The Huffman decoding circuit finishes processing the information contained in the last image,
Then, this information is output to the inverse modeler via the DRAM interface. When identifying the last image,
The Huffman Decoder goes into cleanup mode and re-adjusts for the arrival of the next image information.

【0413】20.フラッシュ機能 フラッシュトークンは、本発明に基づき、パイプライン
プロセッサ全体を通って供給するため、そして、バッフ
ァは空であること、及び他の回路が新しいデータの到着
を待つように再構成されるということを保証するために
使用される。更に詳細には、本発明は、ピクチャ・エン
ドトークンの組合せ、パディングワード、及び現行ピク
チャのフォームに対する画像処理が完成することを直列
パイプラインプロセッサに指示するフラッシュトークン
を有する。その後において、様々なステートマシンは、
新しく扱うために新しいデータの到着を待つように再構
成することを必要とする。更に、フラッシュトークン
は、システムに対して、特殊リセットとして作用するこ
とに注意されたい。フラッシュトークンは、通過に際し
て、各ステージをリセットする。しかし、次のステージ
の処理継続を可能にする。これは、データの損失を防止
する。換言すれば、フラッシュトークンは、絶対的リセ
ットとは対照的に可変リセットである。
20. Flush Function A flush token is provided according to the present invention to serve throughout the pipeline processor, and the buffer is empty and other circuitry is reconfigured to wait for new data to arrive. Used to guarantee. More specifically, the present invention comprises a combination of picture end tokens, padding words, and flash tokens that indicate to the serial pipeline processor that image processing for the form of the current picture is complete. After that, various state machines
It needs to be reconfigured to wait for new data to arrive for new handling. Also note that the flash token acts as a special reset to the system. The flash token resets each stage as it passes. However, it allows processing to continue in the next stage. This prevents data loss. In other words, flash tokens are variable resets as opposed to absolute resets.

【0414】21.ストップ・アフタ・ピクチャ ストップ・アフタ・ピクチャ機能は、そのオペレーショ
ンにおける論理的な点において直列パイプラインの伸長
回路を閉鎖するために用いられる。この時点において、
ピクチャ・エンドトークンが生成され、データがデータ
入力ラインからの入来を完了、そして、パディングオペ
レーションが完成したことを示す。パディング機能は、
空のデータトークンを部分的に満たす。次に、フラッシ
ュトークンは、生成され、直列パイプラインシステムを
通って供給し、そして、レジスタから全ての情報を押し
出し、、そして、レジスタがそれらの中立スタンバイ状
態に戻ることを強制する。次に、ストップ・アフタ・ピ
クチャイベントが生成され、そして、ユーザ又はシステ
ムのいずれかがこの状態をクリアする時まで、入力は受
け入れられない。換言すれば、ピクチャ・エンドトーク
ンはピクチャの終了を送信し、同時に、ストップ・アフ
タ・ピクチャオペレーションは、全ての現行処理が終わ
ったことを送信する。
21. Stop After Picture The stop after picture function is used to close the decompression circuit of the serial pipeline at a logical point in its operation. At this point
A picture end token is generated to indicate that the data has finished coming in from the data input line and the padding operation is complete. The padding function is
Partially fills an empty data token. The flush token is then generated, fed through the serial pipeline system, and pushes all the information out of the registers, forcing the registers to return to their neutral standby state. Then a stop-after-picture event is generated and no input is accepted until either the user or the system clears this condition. In other words, the picture end token sends the end of picture, while the stop-after-picture operation sends the end of all current processing.

【0415】22.多重規格サーチモード 本発明の他の特徴は、入来するビットストリームを調べ
るように直列パイプラインプロセッサへの入力を再構成
するために用いられるSEARCHNODE制御トーク
ンの使用である。サーチモードがセットされている場
合、スタートコード検出器は、特定のスタートコード、
或いは、圧縮規格の任意の1つに使用されるマーカのみ
を探索する。ただし、他のデータビットストリームから
の他のイメージをこの目的のために使用できることを理
解されたい。従って、これらのイメージは、本発明全体
に亙って、制御トークンの組合わせ、及び同様の処理を
提供するために再構成回路と共にデータトークンを使う
ことが可能である他の実施例に変更するために使用でき
る。
22. Multi-Standard Search Mode Another feature of the invention is the use of the SEARCHNODE control token which is used to reconstruct the input to the serial pipeline processor to look at the incoming bitstream. If the search mode is set, the start code detector will
Alternatively, search only for markers used in any one of the compression standards. However, it should be appreciated that other images from other data bitstreams can be used for this purpose. Therefore, these images are modified throughout the present invention into other embodiments where it is possible to use data tokens with reconstruction circuitry to provide combinations of control tokens, and similar processing. Can be used for

【0416】本発明におけるサーチモードの使用は、次
に示す場合を含む多くの条件において便利である、即
ち、1)データビットストリームの切断が起きた場合、
2)ユーザが意図的にチャネルを変えることによりデー
タビットストリームを切断する場合、例えば、ケーブル
搬送圧縮デジタル動画によるデータの到着、或いは、
3)例えば、光学ディスク、または動画ディスクのよう
な制御可能なデータソースからの高速な順方向または逆
方向のユーザ作動化による場合。一般に、サーチモード
は、直列パイプラインの正常な処理をマシンが割込みを
予測しない点においてユーザが中断する場合に便利であ
る。
The use of search mode in the present invention is convenient in many conditions, including the following: 1) when a data bitstream break occurs.
2) When the user intentionally changes the channel to disconnect the data bit stream, for example, the arrival of data by a cable carrier compressed digital video, or
3) By fast forward or reverse user activation from a controllable data source, eg an optical disc, or a motion picture disc. In general, search mode is useful when the user interrupts the normal processing of the serial pipeline in that the machine does not anticipate an interrupt.

【0417】サーチモードのうちのいずれかがセットさ
れている場合、スタートコード検出器は、マシン独立ト
ークンを作るために適した入来するスタートイメージを
捜す。規格従属スタートイメージの識別以前にスタート
コード検出器に入来する全てのデータは、無意味であ
り、そして、マシンがこの情報を待っている場合にマシ
ンはアイドリング状態であとして、放棄される。
If any of the search modes is set, the start code detector searches for a suitable incoming start image to make a machine independent token. All data coming into the start code detector prior to the identification of the standard dependent start image is meaningless and is abandoned as if the machine were idling if it was waiting for this information.

【0418】スタートコード検出器は、数値0コンフィ
ギュレーション構成の任意の1つを仮定可能である。例
えば、これらのコンフィギュレーションの1つは、ピク
チャのグループ或いはより高位のスタートコードに関す
る探索を可能にする。このパターンによって、スタート
コード検出器は、その全ての入力を放棄し、そして、グ
ループスタート規格イメージを捜す。この種のイメージ
が識別される場合には、スタートコード検出器は、グル
ープスタートトークンを生成し、そして、サーチモード
は自動的にリセットされる。
The start code detector can assume any one of the numeric 0 configuration configurations. For example, one of these configurations allows a search for groups of pictures or higher start codes. With this pattern, the start code detector discards all its inputs and looks for a group start standard image. If an image of this kind is identified, the start code detector produces a group start token and the search mode is automatically reset.

【0419】1つの単一回路、ハフマンデコーダ、及び
動画デマルチプレクス回路は、規格独立セットアップ信
号を含む入力信号、並びに、コーディング・スタンダー
ド信号の組合わせと共に作動することに注意することが
重要である。コーディング・スタンダード信号は、ハフ
マンデコーダ、及び動画デマルチプレクス回路による要
請に従って、入来するビットストリームから直接に情報
を伝達しつつある。ただし、一方では、ハフマンデコー
ダ、及び動画デマルチプレクス回路は、規格独立シーケ
ンス信号のオペレーションの下に機能する。
It is important to note that one single circuit, the Huffman Decoder, and the Video Demultiplexing Circuit, works with a combination of input signals, including standard independent setup signals, and coding standard signals. . The coding standard signal is transmitting information directly from the incoming bitstream as required by the Huffman decoder and video demultiplexing circuitry. However, on the other hand, the Huffman decoder and the video demultiplexing circuit function under the operation of the standard independent sequence signal.

【0420】このオペレーションモードが最も効果的で
あり、そして、規格従属入力をハフマンデコーダ及び動
画デマルチプレクサに運ぶ際に実際の信号自体を運ぶ代
りに特殊制御トークンが用いられるように設計できたの
で、このオペレーションモードが選定された。
Since this mode of operation is most effective and could be designed such that when carrying standard dependent inputs to the Huffman Decoder and Video Demultiplexer a special control token is used instead of carrying the actual signal itself. This operation mode was selected.

【0421】23.逆モデラ 逆モデル化は、これら3つの規格全てのの特徴であり、
そして、3つ全ての規格に対して同じである。一般に、
トークンバッファにおけるデータトークンは、量子化さ
れた係数の値に関する情報、及び表示される係数の間の
ゼロの数に関する情報を含む(ランレングス符号化の1
つの形)。本発明の逆モデラは、トークンと共に使用す
るように適応させられており、そして、各データトーク
ンが必須条件としての64バリューを含むようにゼロの
実行に関する情報を簡単に拡大する。その後における、
データトークン内の値は、逆量子化器によって使用でき
る量子化された係数である。
23. Inverse Modeler Inverse modeling is a feature of all three standards,
And it is the same for all three standards. In general,
The data token in the token buffer contains information about the value of the quantized coefficient and about the number of zeros between the displayed coefficients (1 of run length encoding).
Shape). The inverse modeler of the present invention is adapted for use with tokens, and simply extends the information about execution of zero so that each data token contains 64 values as a prerequisite. After that,
The values in the data token are quantized coefficients that can be used by the dequantizer.

【0422】24.逆量子化器 本発明の逆量子化器は、復号化シーケンスにおいて必要
とされるエレメントであるが、ICセット全体が多重規
格データを扱うことができるような方法において実現さ
れた。更に、逆量子化器は、トークンと共に使用できる
ように適応済みである。逆量子化器は、逆モデラと逆D
CT(IDCT)との間に配置される。例えば、本発明
において、逆量子化器における加算器は、データがID
OTに移動する以前に、画素デコード数に定数を加える
ために使われる。
24. Inverse Quantizer The inverse quantizer of the present invention is an element required in the decoding sequence, but was implemented in such a way that the entire IC set could handle multi-standard data. Further, the inverse quantizer has been adapted for use with tokens. The inverse quantizer has an inverse modeler and an inverse D.
It is arranged between CT (IDCT). For example, in the present invention, the adder in the inverse quantizer is
Used to add a constant to the pixel decode number before moving to OT.

【0423】IDOTは、情報をコード化するために用
いられる各規格に応じて変化する画素復号化数を使う。
情報を正しく復号化するために、データがIDCT入り
を継続する以前に逆量子化器によって値1024がデコ
ード数に加算される。
IDOT uses a pixel decoding number that varies depending on the standards used to code the information.
To correctly decode the information, the value 1024 is added to the decode number by the dequantizer before the data continues into the IDCT.

【0424】データがIDCTに到達する以前にデータ
を標準化するために既に逆量子化器内に所在する加算器
を使用することにより種々の規格によって圧縮されたデ
ータを扱うためにICに回路またはソフトウェアを追加
する必要性を排除する。多重規格オペレーション用の準
備整える他のオペレーションは、「量子化後機能」の期
間中間に行われ、後で検討することとする。
Circuitry or software in the IC to handle data compressed by various standards by using an adder that is already located in the dequantizer to standardize the data before it reaches the IDCT. Eliminates the need to add. Other operations to prepare for multi-standard operation are performed in the middle of the "post-quantization function" and will be considered later.

【0425】データに付随する制御トークンが復号化さ
れ、そして、逆量子化器によって行われることが必要な
様々な標準化ルーチンは、以下において詳細に識別され
る。これらの「量子化後」機能は全て、回路の重複を回
避し、そして、ICが多重規格復号化データを扱うこと
ができるように実現される。
The various standardization routines in which the control tokens associated with the data need to be decoded and performed by the dequantizer are identified in detail below. All of these "post-quantization" functions are implemented to avoid circuit duplication and allow the IC to handle multi-standard decoded data.

【0426】 25.ハフマンデコーダ、及びパーザ(構文解析器) 再び図18及び図36を参照することとし、空間デコー
ダは、様々な圧縮規格に従ってハフマンコード化された
データを復号化するためのハフマンデコーダを有する。
規格JPBG、MPEG、及びH.261の各々は、特
定のデータがハフマン符号化されていることを要求する
が、一方において、各規格が要求するハフマン復号化法
の相違は重要な意味をもつ。本発明の空間デコーダにお
いては、各規格に対して1つずつ合計3つの個別ハフマ
ンデコーダを設計して作成する事なく、本発明は、各ハ
フマンデコーダの共通態様を識別し、そして、これらの
共通態様のみを1度だけ作成することにより、貴重なダ
イスペースを節約する。更に、賢明な多重部品アルゴリ
ズム、即ち、他の規格に対して共通性を持つ各ハフマン
デコーダの態様の共通性を一層強化するようなアルゴリ
ズムが用いられる。要約すれば、ハフマンデコーダ32
1は、図36に示す他のユニットと共に作動する。これ
らの他のユニットとは、パーザステートマシン322、
インシフタ323、データインデックスユニット32
4、ALU325、及びトークンフォーマッティング部
326である。既に述べたように、これらのブロックの
間の接続は、2線インターフェースによって管理され
る。これらのユニットがどのように機能するかというこ
とについては続いて更に詳細に記述することとし、ここ
では、本発明に基づくハフマンデコーダの多重規格オペ
レーションを支援する特定の態様に焦点を合わせて説明
する。
25. Huffman Decoder and Parser (Parser) Referring again to FIGS. 18 and 36, the spatial decoder comprises a Huffman decoder for decoding Huffman coded data according to various compression standards.
Standards JPBG, MPEG, and H.264. Each of the H.261s requires that the particular data be Huffman coded, while the differences in the Huffman decoding methods required by each standard are significant. In the spatial decoder of the present invention, without designing and creating a total of three individual Huffman decoders, one for each standard, the present invention identifies the common aspects of each Huffman decoder, and Saving valuable die space by creating aspects only once. In addition, a judicious multi-part algorithm is used, i.e., an algorithm that further enhances the commonality of aspects of each Huffman decoder that have commonality to other standards. In summary, the Huffman decoder 32
1 works with the other units shown in FIG. These other units are the parser state machine 322,
In shifter 323, data index unit 32
4, ALU 325, and token formatting unit 326. As already mentioned, the connection between these blocks is managed by a two wire interface. How these units work will be described in further detail below, focusing on specific aspects that support multi-standard operation of the Huffman decoder according to the present invention. .

【0427】本発明のパーザステートマシンは、動画パ
ーザの他のブロックのオペレーショを統合するように作
用するプログラム可能なステートマシンである。パーザ
ステートマシンは、データに応答して、データと並列配
置されて他のブロックへ供給される制御ワードを生成す
ることにより、この制御ワードが作用する他のブロック
を制御する。ブロックは2線インターフェースを介して
接続されるので関連データと並置して制御ワードを供給
することは、有用であるばかりでなく、必須である。こ
のように、データとコントロールは同時に到着する。制
御ワードの通過は、制御ラインによって図36に示すよ
うに、ブロックを接続するデータラインの下を通る。特
にこのコードワードは、復号化されつつある特定の規格
を識別する。
The parser state machine of the present invention is a programmable state machine that acts to integrate the operations of the other blocks of the video parser. The parser state machine controls other blocks acted upon by the control word by generating control words arranged in parallel with the data and supplied to other blocks in response to the data. Providing the control word in juxtaposition with the associated data is not only useful, but essential, as the blocks are connected via a two wire interface. Thus, data and control arrive at the same time. The passage of control words is under the data lines connecting the blocks, as shown in FIG. 36 by the control lines. In particular, this codeword identifies the particular standard that is being decoded.

【0428】ハフマンデコーダは、ある種の制御機能も
遂行する。特に、ハフマンデコーダ321は、データイ
ンデックス部324及びALU325の特定の機能を制
御できるステートマシンを含む。ハフマンデコーダによ
るこれらのユニットの制御は、ブロックレベル情報を正
しく復号化するために必要である。パーザステートマシ
ン322にこれらの決定を行わせると時間がかかり過ぎ
る。
The Huffman Decoder also performs certain control functions. In particular, the Huffman decoder 321 includes a state machine that can control specific functions of the data index unit 324 and the ALU 325. Control of these units by the Huffman Decoder is necessary to correctly decode the block level information. Having the parser state machine 322 make these decisions takes too long.

【0429】本発明のハフマンデコーダの重要な態様
は、データビットをハフマンデコーダに読み取る際にコ
ード化されたデータビットを反転する能力である。この
能力は、H.261ハフマンスタイルコードを復号化す
るために必要とされる。理由は、H.261(実質的に
は、MPEG)によって用いられる特定タイプのハフマ
ンコードは、JPEGによって用いられるコードと反対
の極性を持つことによる。従って、インバータを使用す
ることにより、ハフマンデコーダが使用する表と同一の
表を3つ全ての規格に対して実質的に使用可能にする。
ハフマンデコーダが3つ全ての規格を実現する方法の他
の態様については、「発明の更に詳細な説明」のセクシ
ョンにおいて更に詳細に説明する。
An important aspect of the Huffman decoder of the present invention is the ability to invert the encoded data bits when reading the data bits into the Huffman decoder. This ability is 261 Huffman style code required to decode. The reason is H.264. The particular type of Huffman code used by H.261 (essentially MPEG) has the opposite polarity as the code used by JPEG. Therefore, the use of an inverter makes the same table as that used by the Huffman decoder practically usable for all three standards.
Other aspects of how the Huffman Decoder implements all three standards are described in more detail in the "More Detailed Description of the Invention" section.

【0430】データインデックスユニット324は、多
重部品アルゴリズムの第2の部分を遂行する。このユニ
ットは、実際のハフマン復号化データを提供するルック
アップテーブル(参照用表)を含む。この表へのエント
リは、ハフマンデコーダによって生成されたインデクス
数に基づいて組織される。
The data index unit 324 performs the second part of the multiple part algorithm. This unit contains a look-up table that provides the actual Huffman decoded data. Entries in this table are organized based on the number of indexes generated by the Huffman decoder.

【0431】ALU325は、多重部品アルゴリズムの
残りの部分を実現する。特に、ALUは、符号拡張を扱
う。更に、ALUは、ベクトル予測及びDC予測を保持
するレジスタファイルを含む。このファイルに使用につ
いては、予測フィルタに関係したセクションにおいて記
述する。更に、ALUは、空間デコーダによって復号化
されつつあるピクチャの構造を介してカウントするカウ
ンタを含む。特に、ピクチャの次元は、カウンタと関連
するレジスタにプログラムされ、「ピクチャ・スター
ト」、及びマクロ‐ブロックコード開始の検出を容易に
する。
The ALU 325 implements the rest of the multi-part algorithm. In particular, the ALU handles sign extension. In addition, the ALU includes a register file that holds vector and DC predictions. Uses in this file are described in the section related to predictive filters. In addition, the ALU includes a counter that counts through the structure of the picture that is being decoded by the spatial decoder. In particular, the picture dimensions are programmed into registers associated with the counter to facilitate detection of "picture start", and macro-block code start.

【0432】本発明に基づき、トークンーマッチング部
326(TF)は復号化されたデータをデータトークン
にアセンブルする。これらのトークンは、次に、時空間
デコーダにおける残りのステージまたはブロックに供給
される。
In accordance with the present invention, the token-matching unit 326 (TF) assembles the decrypted data into data tokens. These tokens are then provided to the remaining stages or blocks in the space-time decoder.

【0433】本発明において、インシフタはスタートコ
ード検出器を供給するデータを緩衝するFIFOからデ
ータを受け取る。インシフタが受け取るデータには、一
般に、2つのタイプがある、即ち、「トークン」のセク
ションにおいて更に検討されるように、データトーク
ン、及びスタートコード検出器によってそれぞれのトー
クンと交換されるスタートコードである。データの殆ど
は、復号化を必要とするデータトークンであることに注
意されたい。
In the present invention, the inshifter receives data from the FIFO buffering data that supplies the start code detector. There are generally two types of data that the inshifter receives: a data token, and a start code that is exchanged with each token by a start code detector, as discussed further in the "Tokens" section. . Note that most of the data are data tokens that require decryption.

【0434】インシフタは、ハフマンデコーダに直列的
にデータを供給する一方、制御トークンを並列に供給す
る。ハフマンデコーダにおいて、ハフマン符号化された
データは、多重部品アルゴリズムの第1の部分に従って
復号化される。特に、特定のハフマンコードは、識別さ
れ、次に、インデクス数と交換される。
The inshifter supplies data to the Huffman decoder serially, while supplying control tokens in parallel. In the Huffman decoder, the Huffman encoded data is decoded according to the first part of the multi-part algorithm. In particular, the particular Huffman code is identified and then replaced with the index number.

【0435】更に、ハフマンデコーダは、図36に示す
他のブロックによる特別な扱いを必要とする特定のデー
タを識別する。このデータは、ブロックエンド及びエス
ケープを含む。本発明において、時間は、データインデ
ックスユニットにおいてではなく、ハフマンデコーダに
おいてこれらを検出することによって節約される。次
に、このインデクス数は、データインデックスユニット
324に供給される。データインデックスユニットは、
本質的には、ルックアップテーブルである。アルゴリズ
ムの1つの態様に基づくルッコアップテーブルは、JP
EGによって指定されたハフマンコードテーブルと大差
無い。一般に、概して、それは、JPEGが代替JPE
G表を転送するために指定するフォーマットは圧縮デー
タフォーマットである。
In addition, the Huffman Decoder identifies specific data that requires special handling by the other blocks shown in FIG. This data includes block ends and escapes. In the present invention, time is saved by detecting these at the Huffman decoder, not at the data index unit. This index number is then provided to the data index unit 324. The data index unit is
It is essentially a lookup table. The look-up table based on one aspect of the algorithm is JP
It is not much different from the Huffman code table specified by EG. Generally, it is JPEG alternative JPE
The format specified for transferring the G-table is the compressed data format.

【0436】復号化されたインデクス数、または他のデ
ータは、データインデックスユニット324から、付随
制御ワードと共に、既に述べたオペレーションを実施す
るALU 504−5に供給される。
The decoded index number, or other data, is provided from the data index unit 324, along with the associated control word, to the ALU 504-5 which performs the previously described operations.

【0437】データ及び制御ワードは、ALU325か
らトークンフォーマット部326(TF)に供給され
る。トークンフォーマット部において、データは、必要
に応じて、トークンを形成するために、制御ワードと組
合わされる。次に、トークンは、空間デコーダのその次
のステージに運ばれる。この時点において、システムに
よって使われると同数のトークンがあることに注意され
たい。
The data and control word are supplied from the ALU 325 to the token format unit 326 (TF). In the token format section, the data is optionally combined with control words to form tokens. The token is then brought to the next stage of the spatial decoder. Note that at this point there are as many tokens used by the system.

【0438】26.離散逆コサイン変換 本発明に基づく離散逆コサイン変換(IDCT)は、当
該ピクチャのDC成分の周波数に関係したデータを伸長
する。特定のピクチャが圧縮されつつある場合、ピクチ
ャにおける光の周波数(振動数)は量子化され、記憶す
る必要のある情報の全体量を減少させる。IDCTは、
この量子化されたデータを用いて、それを伸長し、周波
数情報に戻す。
26. Discrete Inverse Cosine Transform The Discrete Inverse Cosine Transform (IDCT) according to the present invention expands the data related to the frequency of the DC component of the picture. When a particular picture is being compressed, the light frequency (frequency) in the picture is quantized, reducing the overall amount of information that needs to be stored. IDCT is
Using this quantized data, it is expanded and restored to frequency information.

【0439】IDCTは、サイズがる8×8ピクセルで
あるピクチャの部分に作用する。このデータに適用され
た数学は、データをコード化するために用いられる特定
の規格によって主として管理される。ただし、本発明に
おける重要な用途は、回路の不必要な重複を回避するた
めに、規格の間に共通の数学的機能を作ることである。
特定のスケーリングオーダを用いることにより、アル
ゴリズムの上部と下部との間の対称性を増大させ、それ
によって、回路の追加必要性を排除する共通数学機能が
再使用できる。
The IDCT operates on parts of the picture that are 8 × 8 pixels in size. The mathematics applied to this data is governed primarily by the particular standard used to encode the data. However, an important application in the present invention is to create common mathematical functions between standards to avoid unnecessary duplication of circuits.
By using a specific scaling order, common math functions that increase the symmetry between the top and bottom of the algorithm, thereby eliminating the need for additional circuitry, can be reused.

【0440】IDCTは、多数の多重規格トークンに応
答する。IDCTの第1の部分は、処理に対してデータ
トークンのサイズが正しいことを保証するために、入来
データをチェックする。実際、エラーがさほど大きくな
いならば、トークンストリームは、条件により訂正可能
である。
The IDCT responds to multiple multi-standard tokens. The first part of the IDCT checks the incoming data to ensure that the size of the data token is correct for processing. In fact, if the error is not very large, the token stream can be conditionally corrected.

【0441】27.バッファマネジャ 本発明のバッファマネジャは、入来動画情報を受け取
り、そして、データ到着のタイミング、ディスプレイ、
及びフレームレートに関する情報をアドレス発生器に供
給する。多重バッファは、表示およびディスプレイの両
レートの変更を可能にするために用いられる。表示およ
びディスプレイレートは、一般に、コード化されたデー
タ、及び情報がディスプレイされつつあるモニタに従っ
て変化する。データ到着レートは、一般に、符号化、復
号化、またはデータを作るために用いられる原材料に含
まれる誤差に応じて変化する。情報は、バッファマネジ
ャに到着すると、伸長される。ただし、データは、伸長
回路にとって有用であるが、使用中の特定のディスプレ
イユニットにとっては有用でないような順序に配列され
る。データのブロックがバッファマネジャに入力される
と、バッファマネジャは、ディスプレイ装置が使用でき
る順序にデータのブロックが配置できるように、情報を
アドレス発生器へ供給する。これにより、バッファマネ
ジャは、使用中の特定ディスプレイ装置にデータブロッ
クを表示できるように入来するデータブロックを調節す
るために必要なフレームレート変換を用いる。
27. Buffer Manager The buffer manager of the present invention receives incoming video information and then the timing of data arrival, display,
And information about the frame rate to the address generator. Multiple buffers are used to allow both display and display rate changes. Display and display rates generally vary according to the coded data and the monitor on which the information is being displayed. The data arrival rate generally varies depending on the errors involved in the raw materials used to encode, decode, or create the data. When the information arrives at the buffer manager, it is decompressed. However, the data is arranged in an order that is useful to the decompression circuit but not to the particular display unit in use. When a block of data is input to the buffer manager, the buffer manager supplies information to the address generator so that the block of data can be placed in an order usable by the display device. This causes the buffer manager to use the necessary frame rate conversion to adjust the incoming data block so that it can be displayed on the particular display device in use.

【0442】本発明において、バッファマネジャは、情
報を主としてアドレス発生器に供給する。ただし、シス
テムの他のエレメントをインターフェースすることも必
要である。例えば、結果としてこれらのトークンを書込
みアドレス発生器に供給するバッファマネジャへトーク
ンを転送する入力FIFOとのインターフェースがあ
る。
In the present invention, the buffer manager primarily supplies information to the address generator. However, it also requires interfacing with other elements of the system. For example, there is an interface with the input FIFO which transfers the tokens to the buffer manager which results in supplying these tokens to the write address generator.

【0443】更に、バッファマネジャは、ディスプレイ
アドレス発生器ともインターフェイスし、ディスプレイ
装置が新しいデータをディスプレイする準備が整ってい
るかどうかに関する情報を受け取る。同様に、バッファ
マネジャは、バッファからのディスプレイ用の情報をデ
ィスプレイアドレス発生器がクリアしたことを確認す
る。
In addition, the buffer manager also interfaces with the display address generator to receive information as to whether the display device is ready to display new data. Similarly, the buffer manager confirms that the display address generator has cleared the information for display from the buffer.

【0444】本発明のバッファマネジャは、特定のバッ
ファが空であるか、満ちているか、使用準備が整ってい
るか、或いは、使用中であるかどうかを記憶し、更に、
各バッファにおける特定データと関連する表示数を記憶
する。このようにして、バッファマネジャは、一時にた
だ1つのバッファをディスプレイ準備が整った状態にす
ることによって、部分的に、バッファの状態を決定す
る。いったん、バッファがディスプレイされると、バッ
ファは、「空の」状態にある。バッファマネジャは、ピ
クチャ・スタート、フラッシュ、有効なトークン、また
はアクセストークンを受け取ると、各バッファの状態、
及び新しいデータの受け入れ準備について決定する。例
えば、ピクチャ・スタートトークンは、新しいデータを
受け入れることが可能なバッファを見付けるために、バ
ッファマネジャに各バッファを経て循環させる。
The buffer manager of the present invention stores whether a particular buffer is empty, full, ready for use, or in use, and
The number of displays associated with the particular data in each buffer is stored. In this way, the buffer manager determines, in part, the state of the buffer by having only one buffer ready for display at a time. Once the buffer is displayed, the buffer is in the "empty" state. When the buffer manager receives a picture start, flush, valid token, or access token, the state of each buffer,
And make preparations for receiving new data. For example, a picture start token causes the buffer manager to cycle through each buffer to find a buffer that can accept new data.

【0445】更に、バッファマネジャは、それが受け取
るトークンによって指示される多重規格必要条件を扱う
ように構成可能である。例えば、H.26l規格標準に
おいて、ディスプレイ期間中に、データは、スキップ可
能である。この種のトークンがバッファマネジャに到着
した場合には、スキップされるべきデータは、それが記
憶されているバッファからフラッシュされる。
In addition, the buffer manager is configurable to handle the multi-standard requirements dictated by the tokens it receives. For example, H.264. In the 26l standard, data can be skipped during display. When such a token arrives at the buffer manager, the data to be skipped is flushed from the buffer in which it is stored.

【0446】このように、バッファを管理することによ
って、データは、当該データをコード化するために使わ
れる圧縮規格、データが復号化される速度、及び使用中
の特定タイプのディスプレイ装置に従って効果的にディ
スプレイされることが可能である。
Thus, by managing the buffer, the data is effective according to the compression standard used to encode the data, the speed at which the data is decoded, and the particular type of display device in use. Can be displayed at.

【0447】今までの記述は、当該技術分野における通
常の熟練者にとって、全ての付随的な特徴、目的、及び
利点を備えた本発明を実現させるに充分な程度の詳細さ
を以て、全体的な概念、システムの実現、及び本発明の
様々な態様のオペレーションについて適切に説明してい
ると確信する。ただし、本発明、及び本発明の様々な実
施例の一層具体的かつ商業的な実現方法と関連した追加
的な詳細を更に徹底的に理解することを容易にするため
には、一層の記述及び説明を以下に継続して示すことが
が好ましい。
The foregoing description is generally sufficient for a person of ordinary skill in the art to implement the present invention with all the attendant features, objects and advantages. It is believed that it adequately describes the concepts, system implementations, and operation of various aspects of the present invention. However, in order to facilitate a more thorough understanding of the present invention, as well as additional details relating to more specific and commercial implementations of various embodiments of the present invention, a further description and It is preferable to continue the description below.

【0448】以下は多重規格動画デコーダのチップ・セ
ットのより詳細な説明である。説明はA、B、Cの3つ
の部分に分かれる。
The following is a more detailed description of a multi-standard video decoder chip set. The description is divided into three parts, A, B, and C.

【0449】説明の組織化、明瞭化および便利化のため
に、追加開示を以下のセクションに再度示すこととす
る。
For the purpose of organizing, clarifying, and simplifying the description, additional disclosure will be presented again in the following section.

【0450】・チップ・セットのチップに共通の特徴に
関する記述。
Description of features common to the chips in the chip set.

【0451】・トークン ・2線インターフェース ・DRAMインターフェース ・マイクロプロセッサインターフェース ・クロック ・空間デコーダチップの記述 ・時間デコーダチップの記述 セクション A.1 「本記述の利用方法」 第1の記述セクションは、チップ・セットの使用に関連
した電気設計上の問題の大部分を対象とする。
-Token-2-wire interface-DRAM interface-Microprocessor interface-Clock-Spatial decoder chip description-Time decoder chip description Section A. 1 “How to Use This Description” The first description section covers most of the electrical design issues associated with the use of chip sets.

【0452】A.1.1 「印刷上の慣例」 或る種のクラスの情報を強調するために多少の印刷上の
慣例が用いられる。その例を次に示す。
A. 1.1 "Printing conventions" Some printing conventions are used to emphasize certain classes of information. An example is shown below.

【0453】トークンの名称 ワイヤネーム・アクティブハイ信号 ワイヤネーム・アクティブロー信号 レジスタネーム セクション A.2 「動画デコーダファミ−」 *30MHzオペレーション *デコードMPEG、JPEG & H.261 *25Mb/sに対するコード化されたデータレート *21MB/sに対する動画データレート *MPEG分解能 704×480、30Hz、4:
2:0まで *融通性を持つクロマサンプリングフォーマット *全体JPEG基底線復号化 *グルーレスページモードDRAMAインターフェース *208のピンPQFPパッケージ *独立コード化データ、及びデコーダクロック *再オーダMPEGピクチャシーケンス 動画デコーダファミリーは、高分解能度デジタル動画デ
コーダを実現するための低チップカウント解決方法を提
供する。現在、チップ・セットは、3つの異なる動画及
びピクチャ符号化システム、即ち、JPEG、MPE
G、及びH.261をサポートするように構成可能であ
る。
Token Name Wirename Active High Signal Wirename Active Low Signal Register Name Section A. 2 "Video Decoder Family" * 30MHz operation * Decode MPEG, JPEG & H.264. 261 * Coded data rate for 25 Mb / s * Video data rate for 21 MB / s * MPEG resolution 704 x 480, 30 Hz, 4:
Up to 2: 0 * Flexible chroma sampling format * Overall JPEG baseline decoding * Glueless page mode DRAM A interface * 208 pin PQFP package * Independent coded data and decoder clock * Reorder MPEG picture sequence Video decoder family Provides a low chip count solution for implementing a high resolution digital video decoder. Currently, the chip set has three different video and picture coding systems: JPEG, MPE.
G, and H.G. H.261 is configurable.

【0454】全JPEG基底線ピクチャ復号化がサポー
トされる。720×480、30Hz、4:2:2 J
PEG符号化動画がリアルタイムに復号化可能である。
Full JPEG baseline picture decoding is supported. 720 x 480, 30 Hz, 4: 2: 2 J
A PEG encoded moving image can be decoded in real time.

【0455】CIF(共通交換フォーマット)、及びQ
CIF H.261動画が復号化可能である。740×
480、30Hz、4:2:0までのフォーマットを持
つ全特機能MPEG動画が復号化可能である。
CIF (Common Exchange Format), and Q
CIF H. The H.261 video can be decrypted. 740x
All special-function MPEG moving pictures having formats up to 480, 30 Hz and 4: 2: 0 can be decoded.

【0456】注記:前記の値は、実例として示したに過
ぎず、そして、必ずしも本発明の1実施例の制限条件を
示すものではない。従って、他の値、及び/又は、範囲
を使用しても差し支えないことを理解されたい。
Note: The above values are given as examples only, and do not necessarily represent the limiting conditions of one embodiment of the present invention. Therefore, it should be understood that other values and / or ranges may be used.

【0457】 A.2.1 「システムコンフィギュレーション」 A.2.1.1 「出力フォーマット化」 以下に示す各々の例において、出力フォーマッティング
部の形は、場合によっては、空間デコーダまたは時間デ
コーダの出力に供給されるデータを用いること、そし
て、コンピュータ又はディスプレイシステムに対してフ
ォーマットし直すことが要求される。このフォーマット
化の詳細は、アプリケーションにより異なる。一例とし
て簡単な場合には、デコーダチップによってブルックフ
ォーマット化されたデータ出力を用いて、そして、その
データ出力をラスタ順に書込むためのアドレス発生器を
必要とするだけである。
A. 2.1 "System Configuration" A. 2.1.1 "Output Formatting" In each of the following examples, the shape of the output formatting section is, optionally, using the data provided at the output of the spatial or temporal decoder, and the computer or display. Reformatting is required for the system. The details of this formatting are application dependent. In the simple case, as an example, one only needs an address generator for using the Brookformatted data output by the decoder chip and for writing the data output in raster order.

【0458】イメージフォーマッティング部は、広い範
囲に亙って出力フォーマット化機能を提供する1つの単
一チップVLSIデバイスである。
The image formatter is a single chip VLSI device that provides output formatting functions over a wide range.

【0459】 A.2.1.2 「JPEG静止画復号化」 オフチップでないDRAMを備えた1つの単一空間デコ
ーダは、基底線JPEGイメージを高速に復号化可能す
ることが出来る。空間デコーダは、基底線JPEGの全
ての機能をサポートする。ただし、復号化可能なイメー
ジサイズは、ユーザーによって供給された出力バッファ
のサイズによって制限されこともあり得る。出力フォー
マッティング部の特性は、クロマサンプリングフォーマ
ット、及びサポート可能な色空間を制限することもあり
得る。
A. 2.1.2 "JPEG still image decoding" One single spatial decoder equipped with a non-off-chip DRAM can decode a baseline JPEG image at high speed. The spatial decoder supports all features of baseline JPEG. However, the decodable image size may be limited by the size of the output buffer provided by the user. The characteristics of the output formatter may limit the chroma sampling format and the color space that it can support.

【0460】A.2.1.3 「JPEG動画復号化」 空間デコーダにオフチップDRAMを加えることによ
り、JPEG符号化動画をリアルタイムに復号化するこ
とが可能である。必要とされるバッファのサイズ及びス
ピードは、動画及びコード化データのレートに依存す
る。時間デコーダは、JPEG符号化動画を復号化する
必要はない。ただし、時間デコーダが多重規格デコーダ
チップ・セット上に在る場合に、システムがJPEGオ
ペレーション用に構成されている場合には、変更または
修正なしで、時間デコーダを介してデータを単に供給す
るに過ぎない。
A. 2.1.3 “JPEG moving image decoding” By adding an off-chip DRAM to the spatial decoder, it is possible to decode a JPEG encoded moving image in real time. The size and speed of the buffer required depends on the video and coded data rate. The temporal decoder does not have to decode the JPEG encoded video. However, if the time decoder is on a multi-standard decoder chip set and the system is configured for JPEG operation, it simply supplies the data through the time decoder without any changes or modifications. Absent.

【0461】A.2.1.4 「H.261復号化」 空間デコーダ及び時間デコーダは、H.261動画デコ
ーダを実現するために両方共必要である。双方のデバイ
ス上のDRAMインターフェースは、小さいピクチャフ
ォーマットにおいて低コード化データレートで作動する
場合に、適切なオペレーションのために必要とされるD
RAMの量を軽減することができるように構成可能であ
る。一般に、各々の空間デコーダ及び時間デコーダは、
1つの単一4Mb(例えば、512k×8)DRAMを
必要とする。
A. 2.1.4 “H.261 decoding” The spatial decoder and the temporal decoder are H.261. Both are needed to implement a H.261 video decoder. The DRAM interface on both devices requires the D required for proper operation when operating at low coded data rates in small picture formats.
It is configurable so that the amount of RAM can be reduced. In general, each spatial and temporal decoder is
It requires one single 4Mb (eg 512k × 8) DRAM.

【0462】A.2.1.5 「MPEG復号化」 MPEGオペレーションのために必要とされるコンフィ
ギュレーションは、H.261の場合と同じである。た
だし、当該技術分野における通常の熟練者であれば理解
できるように、MPEGにおいて利用可能な更に大きい
ピクチャフォーマットをサポートするためには、更に大
きいDRAMバッファが要求されることもあり得る。
A. 2.1.5 "MPEG Decoding" The configuration required for MPEG operation is H.264. It is the same as the case of H.261. However, as will be appreciated by those of ordinary skill in the art, larger DRAM buffers may be required to support the larger picture formats available in MPEG.

【0463】セクション A.3 「トークン」 A.3.1 「トークンフォーマット」 本発明に従う場合、トークンは、デコーダチップ・セッ
トを介して情報を伝達するために、拡張可能なフォーマ
ットを提供する。本発明においては、トークンの各ワー
ドの最小幅は8ビットであるが、当該技術分野における
通常の熟練者であれば、トークンの幅は任意であっても
差し支えないことを理解するはずである。更に、1つの
トークンは、1又は複数のワードに亙って拡張可能であ
り、これは、各ワードにおける拡張ビットを用いて達成
される。
Section A. 3 "Token" A. 3.1 "Token Format" In accordance with the present invention, tokens provide an extensible format for carrying information through the decoder chip set. In the present invention, the minimum width of each word of the token is 8 bits, but it should be understood by one of ordinary skill in the art that the width of the token can be arbitrary. Further, a token can be extended over one or more words, which is accomplished with extension bits in each word.

【0464】拡張ビットは、トークンが他のワード内に
継続するかどうかを示す。トークンの最後のワード以外
の全てのワードは1にセットされる。トークンの第1の
ワードが0の拡張ビットを持つ場合には、これは、当該
トークンの長さがわずかに1ワードであることを示す。
The extension bit indicates whether the token continues in other words. All words except the last word of the token are set to one. If the first word of the token has zero extension bits, this indicates that the token is only one word long.

【0465】各トークンは、それがトークンの第1ワー
ドのビット7においてスタートするアドレスフィールド
によって識別される。アドレスフィールドの長さは可変
であり、そして、複数のワードに亙って潜在的に拡張可
能である(ただし、現在のチップにおいては長さが8ビ
ットを超過するアドレスは無いので、当該技術分野にお
ける通常の熟練者であれば、この場合にも、アドレスの
長さは任意であり得ることを理解するはずである)。
Each token is identified by an address field where it starts at bit 7 of the first word of the token. The length of the address field is variable and is potentially expandable over multiple words (although there are no addresses in the current chip that exceed 8 bits in length, so there is no One of ordinary skill in the art should understand that the length of the address can be arbitrary in this case as well).

【0466】インターフェースによっては、データの8
よりも多いビットを転送する。例えば、空間デコーダの
出力の幅は9ビットである(拡張ビットを含み10ビッ
ト)。これらの追加ビットを利用する唯一のトークンは
データトークンである。データトークンは、システムの
特定場所において処理を実施するために必要なビットと
同数のビットを持つことができる。他の全てのトークン
は、追加ビットを無視する。
Depending on the interface, 8 of data
Transfer more bits than. For example, the width of the output of the spatial decoder is 9 bits (10 bits including extension bits). The only tokens that make use of these additional bits are data tokens. A data token can have as many bits as needed to perform processing at a particular location in the system. All other tokens ignore the extra bit.

【0467】A.3.2 「データトークン」 データトークンは、1つの処理ステージから次のステー
ジにデータを運ぶ。従って、このトークンの特性は、デ
コーダを通過するにつれて変化する。更に、データトー
クンによって運ばれるデータの意味は、当該データトー
クンがシステム内のどこにあるかによって変化する、す
なわち、データは位置依存性である。この点に関して、
データは、当該データトークンが空間デコーダ内のどこ
に所在するかに応じて周波数領域データ又は画素領域デ
ータのいずれかであり得る。例えば、空間デコーダの入
力において、データトークンは、8ビットのワードにパ
ックされたビット直列コード化動画データを持つ。この
点においては、各トークンの長さには制限がない。ただ
し、対照的に、空間デコーダの出力においては、各デー
タトークンは、各ワードの幅が9ビットであるちょうど
64のワードを持つ。
A. 3.2 "Data token" A data token carries data from one processing stage to the next. Therefore, the characteristics of this token change as it passes through the decoder. Furthermore, the meaning of the data carried by a data token varies depending on where it is in the system, i.e. the data is position dependent. In this regard,
The data may be either frequency domain data or pixel domain data depending on where the data token is located in the spatial decoder. For example, at the input of the spatial decoder, the data tokens have bit-serial coded video data packed into 8-bit words. In this respect, there is no limit on the length of each token. However, in contrast, at the output of the spatial decoder, each data token has exactly 64 words, each word being 9 bits wide.

【0468】 A.3.3 「トークンフォーマット化データの使用」 用途によっては、回路は、デコーダ又はチップ・セット
の入力または出力に直接接続することが必要である。大
抵の場合、データトークンを収集し、そして、同期化情
報(例えば、PICTURE STARTのような)を
提供する2、3のトークンを検出することで充分であ
る。この点に関しては、以下のセクションA.16「空
間デコーダの出力への接続」及びA.19「時間デコー
ダの出力への接続」を参照されたい。
A. 3.3 "Use of token-formatted data" Some applications require that the circuit be directly connected to the input or output of a decoder or chipset. In most cases, it will be sufficient to collect the data tokens and detect a few tokens that provide synchronization information (such as PICTURE START). In this regard, Section A. 16 "Connection to the output of the spatial decoder" and A. See 19 "Connect to Output of Time Decoder".

【0469】既に述べたように、各々の新しいトークン
が何時スタートするかを識別するためには、拡張ビット
に関するアクティビティを観察するだけで充分である。
再び、拡張ビットは、現行トークンの最後のワードを送
信する。更に、トークンを識別するために、アドレスフ
ィールドをテストすることが出来る。不必要または認識
されなかったトークンは、それらの内容を知ることなし
に、消費可能(そして、破棄可能)である。ただし、認
識されたトークンは、適切なアクションを起こさせる。
As already mentioned, observing the activity on the extension bits is sufficient to identify when each new token starts.
Again, the extension bit sends the last word of the current token. In addition, the address field can be tested to identify the token. Unnecessary or unrecognized tokens can be consumed (and destroyed) without knowing their contents. However, the recognized token causes the appropriate action.

【0470】更に、空間デコーダへのデータ入力は、コ
ード化されたデータのバイトとして、或いは、データト
ークンにおいて供給可能である(セクションA.10
「コード化データ入力」参照)。コード化データポー
ト、或いは、マイクロプロセッサインターフェースを介
してトークンを供給することは、デコーダチップ・セッ
トの多数の特徴がデータストリームから構成されること
を可能にする。これは、マイクロプロセッサインターフ
ェースを介してコンフィギュレーションを実施すること
の代替案を提供する。
Furthermore, the data input to the spatial decoder can be provided as bytes of coded data or in data tokens (section A.10).
See "Coded Data Entry"). Providing the token via a coded data port or a microprocessor interface allows many features of the decoder chip set to be constructed from the data stream. This offers an alternative to implementing the configuration via a microprocessor interface.

【0471】[0471]

【表1】 [Table 1]

【0472】[0472]

【表2】 A.3.4 「トークンの説明」 このセクションにおいては、本発明に基づき、空間デコ
ーダ及び時間デコーダチップにおいて実現されるトーク
ンについて詳しく説明する。 注記:「r」は、現在予約されているビットを意味し、
そして、値は0である。特記されない限り、全ての整数
は符号無しである。
[Table 2] A. 3.4 Token Description This section details a token implemented in a spatial decoder and a temporal decoder chip according to the present invention. Note: "r" means the currently reserved bit,
The value is 0. Unless otherwise noted, all integers are unsigned.

【0473】[0473]

【表3】 [Table 3]

【0474】[0474]

【表4】 [Table 4]

【0475】[0475]

【表5】 [Table 5]

【0476】[0476]

【表6】 [Table 6]

【0477】[0477]

【表7】 [Table 7]

【0478】[0478]

【表8】 [Table 8]

【0479】[0479]

【表9】 [Table 9]

【0480】[0480]

【表10】 [Table 10]

【0481】[0481]

【表11】 A.3.5 「トークンにおいて送信される番号」 A.3.5.1 「成分識別番号」 本発明に基づく成分ID番号は、色成分を指定する2ビ
ット整数である。この2ビットフィールドは、一般に、
データトークンにおけるヘッダの一部分として配置され
る。MPEG、及びH.261の場合には、相互関係は
非常に簡単である。
[Table 11] A. 3.5 "Number sent in token" A. 3.5.1 "Component Identification Number" The component ID number according to the present invention is a 2-bit integer designating a color component. This 2-bit field is generally
It is placed as part of the header in the data token. MPEG and H.264. In the case of 261, the interrelationship is very simple.

【0482】[0482]

【表12】 JPBGでは使用できる色成分は制限されないので、J
PEGの場合には、条件は更に複雑である。デコーダチ
ップは、各スキャンにおいて最大4種までの異なる色成
分を可能にする。色成分の仕様がデコーダに到着するに
つれて、IDは順次に割当てられる。
[Table 12] Since the color components that can be used in JPBG are not limited, J
In the case of PEG, the conditions are more complicated. The decoder chip allows up to 4 different color components in each scan. IDs are assigned sequentially as the color component specifications arrive at the decoder.

【0483】 A.3.5.2 「水平および垂直サンプリング数」 4種の色成の各々に関しては、マクロブロックにおいて
水平および垂直に配列されるブロックの数に関する仕様
がある。この仕様には、2ビットの整数を含むブロック
数より1つだけ少ない2ビット整数が含まれる。例え
ば、MPEG(或いはH.26l)における4:2:0
クロマサンプリング(図45)の成分IDの配列を表1
3に示す。
A. 3.5.2 "Number of horizontal and vertical samplings" For each of the four colors, there is a specification regarding the number of blocks arranged horizontally and vertically in a macroblock. This specification includes a 2-bit integer that is one less than the number of blocks containing a 2-bit integer. For example, 4: 2: 0 in MPEG (or H.26l)
Table 1 shows the arrangement of component IDs for chroma sampling (Fig. 45).
3 shows.

【0484】[0484]

【表13】 JPEG及び4:2:2クロマサンプリングに関して、
成分IDへの成分割当は、用途によって異なる。セクシ
ョンA.3.5.1参照。
[Table 13] For JPEG and 4: 2: 2 chroma sampling,
The component allocation to the component ID differs depending on the use. Section A. See 3.5.1.

【0485】注記:4:2:2データを処理している場
合には、JPEGは、そのマクロブロックに対して2:
1:1構造を必要とする。
Note: When processing 4: 2: 2 data, JPEG will be 2: 1: for that macroblock.
Requires a 1: 1 structure.

【0486】[0486]

【表14】 A.3.6 「特殊トークンフォーマット」 本発明に基づき、例えば、データトークン及びQUAN
Tテーブルトークンは、デコーダチップ・セット内にお
けるそれらの「拡張フォーム」に使用される。拡張フォ
ームにおいて、トークンは、いくらかのデータを含む。
データトークンの場合には、この種トークンは、コード
化データまたはピクセルデータを含むことができる。Q
UANTテーブルトークンの場合には、これらのトーク
ンは、量子化器表情報を含む。
[Table 14] A. 3.6 “Special Token Format” Based on the present invention, for example, data token and QUAN
T-table tokens are used for their "extended form" within the decoder chip set. In the expanded form, the token contains some data.
In the case of data tokens, such tokens may contain coded data or pixel data. Q
In the case of UANT table tokens, these tokens contain quantizer table information.

【0487】更に、これらのトークンの「非拡張形」
は、本発明においては「空である」として定義される。
このトークンフォーマットは、同一トークンの拡張バー
ジョンによって続いて満たされる場所をトークンストリ
ーム内に提供する。このフォーマットは、主としてエン
コーダに適用可能であり、従って、これについては、こ
れ以上詳しく説明しない。
Furthermore, the "non-expanded" form of these tokens
Is defined as "empty" in the present invention.
This token format provides a place in the token stream that is subsequently filled by an extended version of the same token. This format is mainly applicable to encoders, so it will not be described in further detail.

【0488】[0488]

【表15】 [Table 15]

【0489】[0489]

【表16】 A.3.7 「異なる規格に対するトークンの使用」 各規格は、本発明に基づいて定義されたトークンの異な
る部分集合を使用する。
[Table 16] A. 3.7 "Use of Tokens for Different Standards" Each standard uses different subsets of tokens defined in accordance with the present invention.

【0490】 セクションA.4 「2線インターフェース」 A.4.1 「2線インターフェース、及びトークンポ
ート」 チップ・セットにおいては、情報の流れを制御するため
に、簡単な2線有効/受入れプロトコルが用いられる。
送信側及び受信側においてクロック発生準備が整ってい
ることが観察される場合に、データは、ブロック間にお
いて単に転送されるだけである。
Section A. 4 "2-wire interface" A. 4.1 "2-Wire Interface and Token Port" In the chipset, a simple 2-wire enable / accept protocol is used to control the flow of information.
Data is only transferred between blocks if it is observed that the transmitter and receiver are ready to generate clocks.

【0491】1)データ転送 2)受信側の準備が整っていない 3)送信側の準備が整っていない 送信側の準備が整っていない場合には(上記の3)送信
側の準備が整っていない)場合には、受信側の入力は待
たなければならない。受信側の準備が整っていない場合
には(上記の2)受信側の準備が整っていない)場合に
は、受信側によって受け入れられる時まで送信側はその
出力に同じデータを供給し続ける。
1) Data transfer 2) Not ready for receiving side 3) Not ready for sending side If the sending side is not ready (3 above), ready for sending side If not), the input of the receiving side must wait. If the receiver is not ready (2 above, the receiver is not), the sender continues to supply the same data at its output until it is accepted by the receiver.

【0492】トークン情報がブロック間において転送さ
れる場合には、ブロック間の2線インターフェースはト
ークンポートと呼ばれる。
When token information is transferred between blocks, the two wire interface between blocks is called the token port.

【0493】A.4.2 「使用場所」 本発明に基づくデコーダチップ・セットは、3つのチッ
プを接続するために2線インターフェースを使う。更
に、空間デコーダへのコード化されたデータ入力も、同
様に、2線インターフェースである。
A. 4.2 "Place of Use" The decoder chip set according to the invention uses a two-wire interface to connect three chips. In addition, the coded data input to the spatial decoder is a two wire interface as well.

【0494】A.4.3 「バス信号」 2線インターフェースによって転送されるデータワード
の幅は、関係インターフェースの必要性に応じて変化す
る(図44「8ビットより広いインターフェース上のト
ークン」参照)。例えば、12ビットの係数は、僅か9
ビットを出力するだけで、離散逆コサイン変換器(ID
CT)に入力される。
A. 4.3 "Bus Signal" The width of the data words transferred by the 2-wire interface varies according to the needs of the relevant interface (see Figure 44 "Tokens on interfaces wider than 8 bits"). For example, a 12-bit coefficient has only 9
Discrete inverse cosine converter (ID
CT).

【0495】[0495]

【表17】 データ信号に加えて、2線インターフェース経由で送ら
れる他の3つの信号がある。
[Table 17] In addition to the data signals, there are three other signals that are sent via the 2-wire interface.

【0496】*有効信号(valid) *受入れ信号(accept) *拡張信号(extension) A.4.3.1 「拡張信号」 拡張信号は、すでに述べたトークン拡張ビットに対応す
る。
* Valid signal (valid) * Accept signal (accept) * Extension signal (extension) A. 4.3.1 "Extension signal" The extension signal corresponds to the token extension bits already mentioned.

【0497】A.4.4 「設計上の考察事項」 2線インターフェースは、短距離、チップ間逐次通信用
である。
A. 4.4 “Design considerations” The 2-wire interface is for short-distance, chip-to-chip serial communication.

【0498】デコーダチップは、チップの間のPCBト
ラックの長さを最小限にするために、相互に近接して配
置されなければならない。場所的に可能な限り、トラッ
クの長さは、25mm以下に保持されなければならな
い。PCBトラックキャパシタンスは、最小限度に保持
されなければならない。
The decoder chips should be placed close to each other to minimize the length of the PCB tracks between the chips. Wherever possible, the length of the truck should be kept below 25 mm. The PCB track capacitance should be kept to a minimum.

【0499】クロックの分散配置は、チップ間のクロッ
クスルーを最小限にするように設計されなければならな
い。何等かのクロックスルーがある場合には、「受信チ
ップ」が、「送信チップ」より前にクロックを見るよう
に、配列しなければならない。
The clock distribution must be designed to minimize clock through between chips. If there is any clock through, the "receiver chip" must be arranged so that it sees the clock before the "transmit chip".

【0500】2線インターフェースを介して通信する全
てのチップは、同一デジタル電源から作動しなければな
らない。
All chips that communicate via the 2-wire interface must operate from the same digital power supply.

【0501】 A.4.5 「インターフェースタイミング」A. 4.5 "Interface Timing"

【0502】[0502]

【表18】 注記:図47は、システムデマックスチップと、メイン
デコーダクロックから作動する空間デコーダのコード化
データポートとの間の2線インターフェースを示す。こ
の2線インターフェースはデコーダクロックに対して非
同期であっても差し支えないコード化データクロックか
ら作動可能なので、これはオプションである。セクショ
ンA.10.5、「コード化されたデータクロック」を
参照されたい。同様に、イメージフォーマッティング部
のディスプレイインターフェースは、メインデコーダク
ロックに対して非同期であるクロックから作動可能であ
る。
[Table 18] Note: Figure 47 shows a two wire interface between the system demux chip and the spatial decoder coded data port operating from the main decoder clock. This is optional because the 2-wire interface can operate from a coded data clock that can be asynchronous to the decoder clock. Section A. See 10.5, "Coded Data Clock". Similarly, the display interface of the image formatting section can operate from a clock that is asynchronous to the main decoder clock.

【0503】A.4.6 「信号レベル」 2線インターフェースは、COMS入力、及び出力を使
用する。VIHminはVDDの約70%であり、VILmaxはV
DDの約30%である。表19に示す値は、VDDが最悪の
場合におけるVIH、及びVILの値である。VDD=5.0
±0.25V。
A. 4.6 "Signal Level" The 2-wire interface uses a COMS input and output. VIHmin is about 70% of VDD, and VILmax is V
It is about 30% of DD. The values shown in Table 19 are the values of VIH and VIL when VDD is the worst. VDD = 5.0
± 0.25V.

【0504】[0504]

【表19】 A.4.7 「制御クロック」 一般に、2線インターフェースを介して転送を制御する
クロックはチップのデコーダクロックである。空間デコ
ーダへのコード化データポート入力は例外である。これ
は、符号化クロックによって制御される。クロック信号
についてはここで更に説明することとする。
[Table 19] A. 4.7 "Control Clock" Generally, the clock that controls the transfer via the two-wire interface is the decoder clock of the chip. The exception is the coded data port input to the spatial decoder. This is controlled by the encoding clock. The clock signal will be described further herein.

【0505】 セクション A.5 「DRAMインターフェース」 A.5.1 「DRAMインターフェース」 1つの単一高性能、構成可能DRAMインターフェース
は、各々の動画デコーダチップにおいて使用される。一
般に、各チップ上のDRAMインターフェースは実質的
に同じである。ただし、インターフェースは、チャネル
優先権を扱う方法において相互に異なる。インターフェ
ースは、各々のデコーダチップによって使われるDRA
Mを直接ドライブするように設計されている。一般に、
外部の論理、バッファ、またはコンポーネントは、DR
AMインターフェースを大抵のシステムにおけるDRA
Mに接続するためには不必要である。
Section A. 5 “DRAM Interface” A. 5.1 "DRAM Interface" One single high performance, configurable DRAM interface is used in each video decoder chip. Generally, the DRAM interface on each chip is substantially the same. However, the interfaces differ from each other in the way they handle channel priorities. The interface is the DRA used by each decoder chip
Designed to drive M directly. In general,
The external logic, buffer, or component is DR
DRA in most systems with AM interface
Not required to connect to M.

【0506】A.5.2 「インターフェース信号」A. 5.2 "Interface signal"

【0507】[0507]

【表20】 本発明に基づき、インターフェースは、次に示す2つの
方法において構成可能である。
[Table 20] According to the invention, the interface can be configured in two ways:

【0508】*インターフェースの詳細タイミングは、
様々な異なるタイプのDRAMを収容するように構成可
能である。
* For the detailed timing of the interface,
It can be configured to accommodate a variety of different types of DRAM.

【0509】*DRAMインターフェースの「幅」は、
異なるアプリケーションにおけるコスト/性能トレード
オフを提供するように構成可能である。
* The "width" of the DRAM interface is
It can be configured to provide cost / performance tradeoffs in different applications.

【0510】 A.5.3 「DRAMインターフェースの構成」 一般に、DRAMインターフェースと関連したレジスタ
の3つのグループがある、即ち、インターフェースタイ
ミング・コンフィグレーション・レジスタ、バス・コン
フィグレーション・レジスタ、及びリフレシュ・コンフ
ィグレーション・レジスタである。リフレシュ・コンフ
ィグレーション・レジスタ表23に示すレジスタは最後
に構成されなければならない。
A. 5.3 "DRAM Interface Configuration" In general, there are three groups of registers associated with the DRAM interface: Interface Timing Configuration Registers, Bus Configuration Registers, and Refresh Configuration Registers. . Refresh Configuration Register The registers shown in Table 23 must be configured last.

【0511】A.5.3.1 「リセット後の条件」 リセットの後において、本発明に基づくDRAMインタ
ーフェースは、1組のデフォルトタイミングパラメータ
(最も遅い作動モードに対応する)を用いて動作を開始
する。初めに、DRAMインターフェイスは、リフレシ
ュサイクル(他の全ての転送を除く)を連続的に実行す
る。これは、値がリフレッシュ・インターバルに記入さ
れるまで、継続する。次に、DRAMインターフェース
は、リフレシュサイクル間の他のタイプの転送を行うこ
とができる。
A. 5.3.1 "Post-reset conditions" After reset, the DRAM interface according to the invention starts operation with a set of default timing parameters (corresponding to the slowest operating mode). Initially, the DRAM interface continuously performs a refresh cycle (except for all other transfers). This continues until a value is entered in the refresh interval. The DRAM interface can then perform other types of transfers between refresh cycles.

【0512】 A.5.3.2 「バスコンフィギュレーション」 バスコンフィグレーション22におけるレジスタは、イ
ンターフェースによるデータ転送が試みられていない場
合に限り、行われるべきである。インターフェースは、
リセットのすぐ後、値がリフレッシュインタバルに記入
される以前に、この条件に置かれる。インターフェース
は後で、転送が試みられていない場合に限り、必要に応
じて、再構成可能である。時間デコーダチップアクセス
レジスタ(A.18.3.1)、及び空間デコーダ・バ
ッファマネージャアクセス・レジスタ(A.13.1.
1)参照。
A. 5.3.2 “Bus Configuration” Registers in bus configuration 22 should be done only when no data transfer is attempted by the interface. The interface is
Immediately after reset, this condition is placed before the value is written to the refresh interval. The interface can be reconfigured later, if necessary, only if no transfer has been attempted. Temporal Decoder Chip Access Register (A.18.3.1) and Spatial Decoder Buffer Manager Access Register (A.13.1.
See 1).

【0513】A.5.3.3 「インターフェースタイ
ミングの構成」 本発明に基づき、インターフェースタイミング構成情報
の修正は、インターフェースタイミングアクセスレジス
タによって制御される。このレジスタに1を記入する
と、インターフェースタイミングレジスタ21に示す)
が修正可能になる。インターフェースタイミングアクセ
ス=1である間に、DRAMインターフェースは、その
以前のコンフィギュレーションにより作動し続ける。1
を記入した後で、任意のインターフェースタイミングレ
ジスタに記入する以前において、インターフェースタイ
ミングアクセスから1が読戻し可能になるまで、ユーザ
ーは待たねばならない。
A. 5.3.3 "Configuration of Interface Timing" In accordance with the present invention, modification of interface timing configuration information is controlled by the interface timing access register. (Enter 1 in this register to show it in the interface timing register 21)
Can be modified. While Interface Timing Access = 1, the DRAM interface continues to operate with its previous configuration. 1
The user must wait until one can be read back from the interface timing access before filling in any interface timing registers after writing.

【0514】コンフィギュレーションが完了すると、イ
ンターフェースタイミングアクセスに0が記入されなけ
ればならない。次に、新しいコンフィギュレーション
は、DRAMインターフェースへ転送される。
When the configuration is completed, the interface timing access must be filled with 0. The new configuration is then transferred to the DRAM interface.

【0515】A.5.3.4 「リフレッシュコンフィ
ギュレーション」 本発明にかかるDRAMインターフェースのリフレッシ
ュインタバルは、リセットに続いて一度だけ構成可能で
ある。リフレッシュ・インターバルが構成されるまで、
インターフェースは、リフレッシュサイクルを連続的に
実行する。これは、あらゆる他のデータ転送を阻止す
る。リフレッシュ・インターバルに値が記入された後
で、データ転送はスタート可能である。
A. 5.3.4 "Refresh Configuration" The refresh interval of the DRAM interface according to the present invention can be configured only once after reset. Until the refresh interval is configured
The interface continuously performs refresh cycles. This prevents any other data transfer. After the refresh interval is filled in, the data transfer can start.

【0516】当該技術分野においては周知であるよう
に、DRAMは、一般に、最初に電源を入れた後で、1
00マイクロ秒と500マイクロ秒との間に「ポーズ
(休止)」を必要とし、そして、正常作動が可能になる
前に、多数のリフレッシュサイクルが後続する。従っ
て、リフレッシュ・インターバルに値を記入する前に、
これらのDRAMスタート必要条件を満足させなければ
ならない。
As is well known in the art, DRAMs are typically 1
A "pause" is required between 00 and 500 microseconds and is followed by a number of refresh cycles before normal operation is possible. Therefore, before filling in the refresh interval,
These DRAM start requirements must be met.

【0517】A.5.3.5 「コンフィギュレーショ
ンレジスタへのリードアクセス」 本発明の全てのDRAMインターフェースレジスタは読
み取り可能である。
A. 5.3.5 "Read Access to Configuration Register" All DRAM interface registers of the present invention are readable.

【0518】A.5.4 「インターフェースタイミン
グ(チック)」 DRAMインターフェースタイミングは、デバイス(デ
コーダクロック)の入力クロックレートの4倍のレート
においてランするクロックから得られるこのクロック
は、オンチップPLLによって生成される。
A. 5.4 "Interface Timing (Tick)" DRAM interface timing is derived from a clock that runs at four times the input clock rate of the device (decoder clock), which is generated by an on-chip PLL.

【0519】説明を簡潔にするために、この高速クロッ
クの周期をチックと称する。
For the sake of brevity, this high speed clock period is called a tick.

【0520】 A.5.5 「インターフェースレジスタ」A. 5.5 "Interface Register"

【0521】[0521]

【表21】 [Table 21]

【0522】[0522]

【表22】 A.5.6 「インターフェースオペレーション」 DRAMインターフェースは高速ページモードを用い
る。3つの異なるタイプのアクセスがサポートされる。
[Table 22] A. 5.6 "Interface Operation" The DRAM interface uses the fast page mode. Three different types of access are supported.

【0523】* 読取り(リード) * 書込み(ライト) * リフレッシュ 各々のリード又はライトアクセスは、1から64バイト
までの1つのバーストを1つの単一DRAMページアド
レスへ転送する。リード及びライト転送は、1つの単一
アクセス内において混合されることなく、そして、連続
する各アクセスは、新しいDRAMページへのランダム
アクセスとして扱われる。
* Read (Read) * Write (Write) * Refresh Each read or write access transfers one burst from 1 to 64 bytes to one single DRAM page address. Read and write transfers are not mixed within one single access, and each successive access is treated as a random access to a new DRAM page.

【0524】[0524]

【表23】 A.5.7 「アクセスの構造」 各アクセスは2つの部分を有する。[Table 23] A. 5.7 "Structure of Access" Each access has two parts.

【0525】* アクセススタート * データ転送 本発明においては、各アクセスはアクセススタートで始
まり、そして、1つ又は複数のデータ転送サイクルが後
続する。更に、アクセススタート及びデータ転送サイク
ルの両方のリード、ライト、及びリフレッシュ変形(バ
リアント)がある。
* Access Start * Data Transfer In the present invention, each access starts with an access start and is followed by one or more data transfer cycles. In addition, there are read, write, and refresh variants (variants) for both access start and data transfer cycles.

【0526】特定のアクセスに対する最後のデータ転送
が完成すると、インターフェースは、そのデフォルト状
態に入り(A.5.7.3参照)、そして、新しいアク
セスのスタート準備が整うまで、この状態に留まる。最
後のアクセスが終了して新しいアクセスの開始準備が整
った場合、直ちに新しいアクセスが始まる。
When the last data transfer for a particular access is complete, the interface enters its default state (see A.5.7.3) and stays in this state until a new access is ready to start. When the last access ends and the new access is ready to start, the new access starts immediately.

【0527】A.5.7.1 「アクセススタート」 アクセススタートは、リード又はライト転送のためのペ
ージアドレスを提供し、そして、ある程度の初期信号条
件を確立する。本発明に基づき、3つの異なるアクセス
スタートがある。
A. 5.7.1 "Access Start" Access start provides the page address for read or write transfers, and establishes some initial signal conditions. According to the invention, there are three different access starts.

【0528】* 読取りのスタート * 書込みのスタート * リフレッシュのスタート* Start of reading * Start of writing * Start of refreshing

【0529】[0529]

【表24】 各々の場合に、RAS及び行アドレスのタイミングは、
レジスタRASフォーリング、及びページスタートレン
グスによって制御される。OE、及びDRAMデータ
[31:0]の状態は、前のデータ転送の終了からRA
Sが降下するまで秘事される。アクセススタートの3つ
の異なるタイプは、RASが降下した場合に、これらが
OE及びDRAMデータ[31:0]をドライブする方
法が異なるに過ぎない。参照図52。
[Table 24] In each case, the timing of RAS and row address is
It is controlled by the register RAS falling and the page start length. The states of OE and DRAM data [31: 0] are RA from the end of the previous data transfer.
It is secret until S falls. The three different types of access starts differ only in the way they drive OE and DRAM data [31: 0] when RAS falls. See FIG. 52.

【0530】A.5.7.2 「データ転送」 本発明においては、異なるタイプのデータ転送サイクル
がある。
A. 5.7.2 "Data Transfer" In the present invention, there are different types of data transfer cycles.

【0531】* 高速ページ読取りサイクル * 高速ページ後期書込みサイクル * リフレッシュサイクル リフレッシュのスタートは、1つの単一リフレッシュサ
イクルによってのみ後続可能である。読み取り(或い
は、書き込み)のスタートは、1つ又は複数の高速ペー
ジ読み取り(或いは、書き込み)サイクルによって後続
可能である。読み取りサイクルのスタートに際して、C
ASはハイにドライブされ、そして、新しい列アドレス
がドライブされる。
* Fast Page Read Cycle * Fast Page Late Write Cycle * Refresh Cycle The start of refresh can only be followed by one single refresh cycle. The start of a read (or write) can be followed by one or more fast page read (or write) cycles. At the start of the reading cycle, C
AS is driven high and the new column address is driven.

【0532】更に、早期書込みサイクルが用いられる。
WEは、最初の書込み転送のスタートに際してローにド
ライブされ、そして、最後の書き込み転送のエンドま
で、ローに留どまる。出力データは、アドレスによって
ドライブされる。
In addition, an early write cycle is used.
WE is driven low at the start of the first write transfer and stays low until the end of the last write transfer. The output data is driven by the address.

【0533】RASリフレッシュサイクルの前のCAS
はリフレッシュサイクルのスタートによって開始される
ので、リフレッシュサイクル期間中には、インターフェ
ース信号は活動しない。リフレッシュサイクルの目的
は、DRAMによって必要とされる最小RASロー期間
に適合することである。
CAS before RAS refresh cycle
Is initiated by the start of the refresh cycle, so the interface signal is inactive during the refresh cycle. The purpose of the refresh cycle is to meet the minimum RAS low period required by the DRAM.

【0534】A.5.7.3 「インターフェースのデ
フォルト状態」 本発明におけるインターフェース信号は、アクセスのエ
ンドにおいてデフォルト状態に入る。
A. 5.7.3 "Default State of Interface" Interface signals in the present invention enter the default state at the end of access.

【0535】RAS、GAS、及びWEがハイ。RAS, GAS, and WE are high.

【0536】* データ、及びOEは、それらの前の状
態に留まる。
* Data and OEs remain in their previous state.

【0537】* addrは、安定した状態を維持す
る。
* Addr remains stable.

【0538】A.5.8 「データバス幅」 2ビットレジスタ、DRAMデータwidthは、DR
AMインターフェースのデータパスの幅が構成されるこ
とを可能にする。これは、小さいピクチャフォーマット
で使用する場合、DRAMコストを最小限にすることを
可能にする。
A. 5.8 “Data bus width” 2-bit register, DRAM data width is DR
Allows the width of the AM interface data path to be configured. This allows minimizing DRAM cost when used with small picture formats.

【0539】[0539]

【表25】 A.5.9 「行アドレス幅」 行アドレスを提供するために24ビット内部アドレスの
中間区分から取られるビット数は、ローアドレスビット
・レジスタによって構成される。
[Table 25] A. 5.9 "Row Address Width" The number of bits taken from the middle section of the 24-bit internal address to provide the row address is configured by the row address bit register.

【0540】[0540]

【表26】 A.5.10 「アドレスビット」 オンチップ24ビットアドレスが生成される。列及び行
アドレスを形成するためにこのアドレスをどのように使
用するかは、データバスの幅、及び行アドレス用に選定
されたビット数に依存する。コンフィギュレーションに
よっては、全ての内部アドレスビットを使用することが
許されないので、「隠れビット」が作成される。
[Table 26] A. 5.10 "Address Bits" An on-chip 24-bit address is generated. How this address is used to form the column and row addresses depends on the width of the data bus and the number of bits chosen for the row address. Some configurations do not allow all internal address bits to be used, so a "hidden bit" is created.

【0541】同様に、行アドレスは、アドレスの中央部
分から抽出される。従って、これにより、DRAMが自
然にリフッレシュされる速度が最大になる。
Similarly, the row address is extracted from the central part of the address. Thus, this maximizes the rate at which the DRAM naturally refreshes.

【0542】[0542]

【表27】 A.5.10.1 「低順位行アドレスビット」 行(カラム)アドレスの最下位の4から6までのビット
は、最大64バイトまでの高速ページモード転送用アド
レスを提供するために使われる。これらの転送を制御す
るために要求されるアドレスビット数は、データバスの
幅に依存する(A.5.8参照)。
[Table 27] A. 5.10.1 “Lower Order Row Address Bits” The lowest 4 to 6 bits of the row (column) address are used to provide up to 64 bytes of fast page mode transfer address. The number of address bits required to control these transfers depends on the width of the data bus (see A.5.8).

【0543】A.5.10.2 「より多くのDRAM
バンクにアクセスするための行アドレス復号化」 DRAMのただ1つの単一バンクが用いられる場合に
は、使用される行アドレスの幅は、用いられるDRAM
のタイプに依存する。一般に1つの単一DRAMバンク
によって供給可能であるよりもより多くのメモリーを必
要とすりアプリケーションの場合には、より広い行アド
レスを構成することが可能であり、従って、1つの単一
DRAMバンクを選定するために、幾つかの行アドレス
ビットを復号化することが可能である。
A. 5.10.2 "More DRAM
Row Address Decoding for Accessing Banks "If only one single bank of DRAM is used, the width of the row address used is the DRAM used
Depends on the type of. For applications that require more memory than can generally be provided by one single DRAM bank, it is possible to configure a wider row address and thus one single DRAM bank. It is possible to decode some row address bits for selection.

【0544】注記:行アドレスは、内部アドレスの中央
から抽出される。DRAMのバンクを選定するために、
行アドレスの幾つかのビットが復号化される場合には、
これらの「バンク選定ビット」がとることのできる全て
の値がDRAMの1つのバンクを選定しなければならな
い。そうでない場合には、アドレススペース内に孔が残
される。
Note: Row addresses are extracted from the center of the internal address. To select the DRAM bank,
If some bits of the row address are decoded,
All possible values for these "bank select bits" must select one bank of DRAM. Otherwise, holes will be left in the address space.

【0545】A.5.11 「DRAMインターフェー
スの作動可能化」 本発明においては、DRAMインターフェース上の全て
の出力信号を高インピーダンスにするためには2つの方
法がある。即ち、DRAMenableレジスタをセッ
トする方法及びDRAMenable信号による方法で
ある。DRAMインターフェース上のドライバを作動さ
せるためには、これらのレジスタ及び信号は、両方共
に、ロジック1でなければならない。どちらかがローで
あれば、インターフェースは高インピーダンスになる。
A. 5.11 "DRAM Interface Activation" In the present invention, there are two ways to make all output signals on the DRAM interface high impedance. That is, a method of setting a DRAMenable register and a method of using a DRAMenable signal. Both these registers and signals must be logic ones for the driver on the DRAM interface to work. If either is low, the interface is high impedance.

【0546】注記:DRAMインターフェースが高イン
ピーダンスである場合には、オンチップデータ処理は終
結させられない。従って、チップがDRAMへのアクセ
スを試みた場合にはエラーが発生し、同時に、インター
フェースは高インピーダンスである。
Note: On-chip data processing cannot be terminated if the DRAM interface is high impedance. Therefore, if the chip attempts to access the DRAM, an error occurs and at the same time the interface is high impedance.

【0547】本発明に基づき、DRAMインターフェー
スを高インピーダンスにする能力は、他のデバイスをテ
ストするか、或いは、空間デコーダ(又は、時間デコー
ダ)が使用中でない場合、空間デコーダ(又は、時間デ
コーダ)によって制御されるDRAMを使用するために
備えられる。正常作動期間中において、他のデバイスに
よるメモリーの共有が可能であるようには意図されてい
ない。
In accordance with the present invention, the ability to make the DRAM interface high impedance tests other devices or, if the spatial decoder (or temporal decoder) is not in use, the spatial decoder (or temporal decoder). Provided to use a DRAM controlled by. It is not intended to allow memory sharing by other devices during normal operation.

【0548】A.5.12 「リフレッシュ」 ノーリフレッシュ・レジスタに記入することにより無能
化しない限り、DRAMインターフェースは、レジスタ
リフレッシュ・インターバルによって決定されたインタ
バルおいて/RAS/リフレッシュサイクルの以前の/
CAS/を使用し、DRAMを自動的にリフッレシュす
る。ここで、/信号名/は信号の反転信号を示す。
A. 5.12 "Refresh" Unless disabled by filling in the no-refresh register, the DRAM interface will be at the interval / RAS / before the refresh cycle / at the interval determined by the register refresh interval.
Use CAS / to automatically refresh the DRAM. Here, / signal name / indicates an inverted signal of the signal.

【0549】リフレッシュ・インターバルにおける値
は、16デコーダクロックサイクルの周期内におけるリ
フレッシュサイクル間のインタバル(間隔)を指定す
る。レンジ1.255における値は構成可能である。値
0は、リセットの後で自動的にロードされ、そして、
(いったん、作動可能化されれば)有効なリフレッシュ
インタバルが構成されるまで、DRAMインターフェイ
スが、リフレッシュサイクルを連続的に実行することを
強制する。リフレッシュ・インターバルは、各リセット
の後で、ただ1度だけ構成されることが推奨される。
The value in the refresh interval specifies the interval between refresh cycles within the period of 16 decoder clock cycles. The values in the range 1.255 are configurable. The value 0 is automatically loaded after reset and
The DRAM interface forces continuous refresh cycles to be performed (once enabled) until a valid refresh interval is configured. It is recommended that the refresh interval be configured only once after each reset.

【0550】/リセット/が表明されると、同時に、D
RAMインターフェースは、DRAMをリフッレシュす
ることが不可能となる。ただし、デコーダチップによっ
て必要とされるリセット時間は十分に短く、その結果、
これらのデコーダチップをリセットし、そして、次に、
DRAMの内容が腐敗する以前に、DRAMインターフ
ェースを再構成することが可能であるはずである。
When / reset / is asserted, at the same time, D
The RAM interface makes it impossible to refresh the DRAM. However, the reset time required by the decoder chip is short enough, so that
Reset these decoder chips, and then
It should be possible to reconfigure the DRAM interface before the contents of the DRAM are corrupted.

【0551】A.5.13 「信号強度(strength)」 DRAMインターフェースの出力のドライブ強度は、3
ビットレジスタCASストレングス、RASストレング
ス、addrストレングス、DRAMデータストレング
ス、及びOEWEストレングスを用いてユーザーにより
構成可能である。この3ビット値のMSBは、高速或い
は低速エッジレートのいずれかを選択する。より重要度
の低い2つのビットは、異なる負荷キャパシタンスのた
めの出力を構成する。
A. 5.13 “Signal strength” The drive strength of the DRAM interface output is 3
It is user configurable using bit registers CAS strength, RAS strength, addr strength, DRAM data strength, and OEWE strength. This 3-bit value MSB selects either the fast or slow edge rate. The two less significant bits constitute the output for different load capacitances.

【0552】リセット後のデフォルト強度は6であり、
そして、これは、24pFにより負荷した場合、GND
とVDDとの間の信号をドライブするために約10nsを
必要とするような出力を構成する。
The default strength after reset is 6,
And this is GND when loaded by 24pF
Configure the output so that it requires about 10 ns to drive the signal between V and VDD.

【0553】[0553]

【表28】 出力がドライブしつつある負荷に対して出力が適切に構
成された場合、その出力は、表32から表35までに指
定されたAC電気特性に適合する。適切に構成された場
合、各出力は、その負荷に概略マッチし、従って、信号
過渡の後に最小のオーバシュートが発生する。
[Table 28] If the output is properly configured for the load it is driving, it will meet the AC electrical characteristics specified in Tables 32 through 35. When properly configured, each output will roughly match its load, and thus minimal overshoot will occur after a signal transient.

【0554】A.5.14 「電気仕様」 このセクションに提示される全ての情報は、単に本発明
の1実施例を示すに過ぎず、一例として記載されている
ものであって、必ずしも制限的意味を持たない。
A. 5.14 “Electrical Specifications” All the information presented in this section is merely an example of the present invention and is presented by way of example and not necessarily in a limiting sense.

【0555】[0555]

【表29】 表29は、実施例に関する最大定格を示すに過ぎない。
特にこの実施例のみに関して、動作の信頼性を保証する
ためには、この表に示す値未満の応力を使用しなければ
ならない。
[Table 29] Table 29 only shows maximum ratings for the examples.
Especially for this embodiment only, stresses below the values shown in this table must be used to ensure operational reliability.

【0556】[0556]

【表30】 [Table 30]

【0557】[0557]

【表31】 A.5.14.1 「AC特性」[Table 31] A. 5.14.1 “AC characteristics”

【0558】[0558]

【表32】 [Table 32]

【0559】[0559]

【表33】 [Table 33]

【0560】[0560]

【表34】 [Table 34]

【0561】[0561]

【表35】 DRAMから読み出す場合、DRAMインターフェース
は、/CAS/信号の上昇につれて、DRAMデータ
[31:0]をサンプルする。
[Table 35] When reading from DRAM, the DRAM interface samples the DRAM data [31: 0] as the / CAS / signal rises.

【0562】[0562]

【表36】 セクション A.6 「マイクロプロセッサインターフ
ェース(MPI)」 標準バイト幅マイクロプロセッサインターフェース(M
PI)は、動画デコーダチップ・セットにおける全ての
チップに用いられる。ただし、当該技術分野における通
常の熟練者であれば、他の幅のマイクロプロセッサイン
ターフェースであっても同様に使用可能であることが理
解されるはずである。MPIは、様々なデコーダチップ
クロックと同期的に作動する。
[Table 36] Section A. 6 "Microprocessor Interface (MPI)" Standard byte width microprocessor interface (M
PI) is used for all chips in the video decoder chip set. However, it should be understood by one of ordinary skill in the art that microprocessor interfaces of other widths can be used as well. MPI operates synchronously with various decoder chip clocks.

【0563】A.6.1 「MPI信号」A. 6.1 "MPI signal"

【0564】[0564]

【表37】 A.6.2 「MPI電気仕様」[Table 37] A. 6.2 "MPI electrical specifications"

【0565】[0565]

【表38】 [Table 38]

【0566】[0566]

【表39】 [Table 39]

【0567】[0567]

【表40】 A.6.2.1 「AC特性」[Table 40] A. 6.2.1 “AC characteristics”

【0568】[0568]

【表41】 [Table 41]

【0569】[0569]

【表42】 A.6.3 「割込み」 本発明において、「イベント」は、ユーザーが観察しよ
うとする可能性のあるオンチップ条件を示すために使わ
れる用語である。イベントは、エラーを示すことが可能
であるか、或いは、ユーザーのソフトウェアにとって有
益である場合もあり得る。
[Table 42] A. 6.3 "Interrupt" In the present invention, "event" is a term used to indicate an on-chip condition that a user may wish to observe. The event may indicate an error, or may be beneficial to the user's software.

【0570】各割込み、または「イベント」と関連した
2つの単一ビットレジスタがある。これらは、条件イベ
ントレジスタ及び条件マスクレジスタである。
There are two single bit registers associated with each interrupt, or "event". These are the condition event register and the condition mask register.

【0571】 A.6.3.1 「条件イベントレジスタ」 条件イベントレジスタは、1ビット読み/書きレジスタ
であり、その値は、回路内に発生する条件によって1に
セットされる。条件が単に一時的であり、そして、現在
では過ぎ去ってしまった場合であってもレジスタは1に
セットされる。従って、レジスタは、ユーザーのソフト
ウェアによってリセットされるまで、1にセットされた
ままであることを保証される(或いは、チップ全体がリ
セットされる)。
A. 6.3.1 “Condition Event Register” The condition event register is a 1-bit read / write register, and its value is set to 1 by the condition generated in the circuit. The register is set to 1 even if the condition is only temporary and now has gone by. Therefore, the register is guaranteed to remain set to 1 (or the entire chip is reset) until reset by the user's software.

【0572】*レジスタは、値1を記入することにより
ゼロにセットされる。
* Registers are set to zero by filling in the value one.

【0573】*レジスタにゼロを記入することにより、
レジスタを変更されない状態に留める。
* By entering zero in the register,
Keep the register unchanged.

【0574】*レジスタは、この条件がも一度発生する
以前にユーザーソフトウェアによってゼロにセットされ
なければならない。
* The register must be set to zero by the user software before this condition will ever occur again.

【0575】*レジスタは、リセットに関してゼロまで
リセットされるであろう。
* Register will be reset to zero on reset.

【0576】A.6.3.2 「条件マスクレジスタ」 条件マスクレジスタは、対応する条件イベントレジスタ
がセットされ場合、割込みリクエストの生成を可能にす
る1ビット読み/書きレジスタである。既に条件イベン
トがセットされている場合、条件マスクに1が記入され
ると、割込みリクエストが即座に発行される。
A. 6.3.2 “Condition Mask Register” The condition mask register is a 1-bit read / write register that enables generation of an interrupt request when the corresponding condition event register is set. If a condition event has already been set, a 1 is entered in the condition mask and an interrupt request is issued immediately.

【0577】*値1は割込みを可能にする。* A value of 1 enables interrupts.

【0578】*レジスタは、リセットに際してゼロにク
リアされる。
* Registers are cleared to zero upon reset.

【0579】別途表明されていない限り、ブロックは、
割込みリクエストを生成した後で動作を中止し、そし
て、条件イベント又は条件マスクレジスタのいずれかが
クリアされた後で動作を再開する。
Unless stated otherwise, blocks are
The operation is stopped after generating an interrupt request, and then restarted after either the condition event or the condition mask register is cleared.

【0580】 A.6.3.3 「イベント及びマスクビット」 イベントビット、及びマスクビットは、メモリマップ内
の連続したバイト内の対応するビット位置に常にグルー
プとして配置される表61、表141参照)。これは、
どのイベントが割込みを生成したかを識別するために、
割込みサービスソフトウェアが、マスクとしてのマスク
レジスタから読み取られた値を、イベントレジスタ内の
値に対するマスクとして使用することを可能にする。
A. 6.3.3 "Event and Mask Bits" Event bits and mask bits are always placed as a group in corresponding bit positions in consecutive bytes in the memory map (see Table 61, Table 141). this is,
To identify which event generated the interrupt,
Allows interrupt service software to use the value read from the mask register as a mask as a mask for the value in the event register.

【0581】 A.6.3.4 「チップイベント、及びマスク」 各チップは、チップ上のイベント活動を要約する1つの
単一グローバルイベントビットを持つ。チップイベント
レジスタは、それらのマスクビットに1を持つ全てのオ
ンチップイベントのORを提供する。
A. 6.3.4 "Chip Event and Mask" Each chip has one single global event bit that summarizes the event activity on the chip. The chip event register provides the OR of all on-chip events that have a 1 in their mask bits.

【0582】チップマスクビットにおける1は、チップ
による割込みの生成を可能にする。チップマスクビット
における0は、あらゆるオンチップイベントが割込みリ
クエストを生成することを防止する。
A 1 in the chip mask bit enables the chip to generate an interrupt. A 0 in the chip mask bit prevents any on-chip event from generating an interrupt request.

【0583】チップイベントへの1から0までの記入は
影響しない。全てのイベント(どちらかのマスクビット
に1を記入することによって作動化される)がクリアさ
れた場合に限り、チップはクリアされる。
Filling the chip event from 1 to 0 has no effect. The chip is cleared only if all events (activated by writing a 1 to either mask bit) are cleared.

【0584】A.6.3.5 「irq信号」 チップイベントビット及びチップイベントマスクの両方
がセットされている場合に、/irq/信号が表明され
る。
A. 6.3.5 "irq signal" The / irq / signal is asserted if both the chip event bit and the chip event mask are set.

【0585】/irq/信号は、オフチッププルアップ
抵抗器を必要とするアクティブローのオープンコレクタ
出力である。活動中である場合、/irq/出力は、1
00オーム以下のインピーダンスによってプルダウンさ
れる。
The / irq / signal is an active low open collector output that requires an off-chip pull-up resistor. If active, / irq / output is 1
Pulled down by impedance less than 00 ohms.

【0586】殆どの用途の場合に、約4キロオームのプ
ルアップ抵抗器が適当であることが理解されるはずであ
る。
It should be appreciated that for most applications a pull-up resistor of about 4 kilohms will be suitable.

【0587】A.6.4 「レジスタへのアクセス」 A.6.4.1 「アクセスを可能にするストッピング
回路」 本発明における大部分のレジスタは、レジスタが関連し
ているブロックが停止されている場合に限り、修正が可
能である。従って、レジスタのグループは、一般に、ア
クセスレジスタと関連している。
A. 6.4 "Access to Registers" A. 6.4.1 "Accessing Stopping Circuit" Most registers in the present invention can be modified only if the block to which the register is associated is stopped. Therefore, groups of registers are generally associated with access registers.

【0588】アクセスレジスタにおける値0は、当該ア
クセスレジスタと関連したレジスタのグループが修正さ
れてはならないことを示す。アクセスレジスタに1を記
入すると、ブロックが停止されることを要求する。ただ
し、ブロックは即座に停止しなくても差し支えなく、そ
して、当該ブロックのアクセスレジスタは、当該ブロッ
クが停止するまで、値0を保持する。
A value of 0 in an access register indicates that the group of registers associated with that access register should not be modified. Writing a 1 to the access register requests that the block be stopped. However, the block does not have to stop immediately, and the access register of the block holds the value 0 until the block stops.

【0589】従って、ユーザソフトウェアは(アクセス
を要求するために1を記入した後で)、アクセスレジス
タから1が読み取られるまで、待つはずである。アクセ
スレジスタは0にセットされた状態において、ユーザー
がコンフィギュレーションレジスタに値を記入すると、
結果は不定である。
Therefore, the user software should wait (after filling in a 1 to request access) until a 1 is read from the access register. When the user enters a value in the configuration register with the access register set to 0,
The results are uncertain.

【0590】 A.6.4.2 「整数を保持するレジスタ」 メモリマップ内の任意のバイトの最下位ビットは、信号
データ[0]と関連しているビットである。
A. 6.4.2 "A register holding an integer" The least significant bit of any byte in the memory map is the bit associated with the signal data [0].

【0591】8ビットより大きい整数値を保持するレジ
スタは、メモリマップ内の2つ又は4ついずれか連続し
たバイト位置に亙って分割される。バイトの順序は、図
64に示すように「ビッグエンディアン」である。ただ
し、しかしながら仮定は、オーダについて行われないバ
イトがマルチバイトレジスタに記入される順序に関して
は仮定は一切設定されていない。
A register holding an integer value greater than 8 bits is divided over any two or four consecutive byte positions in the memory map. The byte order is "big endian" as shown in FIG. However, no assumptions are made regarding the order in which the bytes that are not made for the order are written into the multibyte register.

【0592】符号付き整数を保持するレジスタ内の未使
用ビットを除くメモリマップ内の未使用ビットは、読み
取りに際して0を返す。この場合、レジスタ内の最上位
のビットは符号拡張される。例えば、符号付きの12ビ
ットレジスタは、16ビットメモリマップ位置(2バイ
ト)を満たすために、符号拡張される。符号無し12ビ
ット整数を保持する16ビットメモリマップ位置は、そ
の最上位ビットから0を返す。
Unused bits in the memory map except unused bits in the register holding the signed integer return 0 when read. In this case, the most significant bit in the register is sign extended. For example, a signed 12-bit register is sign-extended to fill a 16-bit memory map location (2 bytes). A 16-bit memory map location holding an unsigned 12-bit integer returns 0 from its most significant bit.

【0593】 A.6.4.3 「キーホールされたアドレス位置」 本発明において、アクセス頻度の小さいメモリマップ位
置は、「キーホール」の背後に配置される。「キーホー
ル」は、関連した2つのレジスタを持つ、即ち、キーホ
ールアドレスレジスタ、及びキーホールデータレジスタ
である。
A. 6.4.3 “Keyhole Address Location” In the present invention, the memory map location with low access frequency is located behind the “keyhole”. A "keyhole" has two registers associated with it: a keyhole address register and a keyhole data register.

【0594】キーホールアドレスは、拡張されたアドレ
ススペース内の位置を指定する。キーホールデータレジ
スタに対する読取り、または書込み動作は、キーホール
アドレスレジスタによって指定された位置にアクセスす
る。
The keyhole address specifies a location within the expanded address space. A read or write operation to the keyhole data register will access the location specified by the keyhole address register.

【0595】関連キーホールアドレスレジスタは、キー
ホールデータレジスタにアクセスした後で、インクリメ
ントする。拡張されたアドレススペース内でのランダム
アクセスは、新しいバリュー値を各アクセスに対するキ
ーホールアドレスレジスタに新しい値を記入することに
よってのみ可能である。
The associated keyhole address register increments after accessing the keyhole data register. Random access within the expanded address space is possible only by writing a new value value into the keyhole address register for each access.

【0596】本発明に基づくチップは、1つよりも多い
「キーホールされた」メモリマップを備えていても差し
支えない。異なるキーホールの間にはインタラクション
はない。
A chip according to the present invention may have more than one "keyhole" memory map. There is no interaction between different keyholes.

【0597】A.6.5 「特殊レジスタ」 A.6.5.1 「未使用レジスタ」 「使用せず」と記載されたレジスタ又はビットは、本デ
バイスの実現に使用されなかったメモリマップ内の位置
である。一般に、これらの位置からは値0が読み取り可
能である。これらの位置に0を記入しても影響しない。
A. 6.5 "Special Register" A. 6.5.1 Registers or bits described as "unused registers""notused" are locations in the memory map that were not used to implement the device. Generally, a value of 0 can be read from these positions. Entering 0 in these positions has no effect.

【0598】当該技術分野における通常の習熟者であれ
ば理解出来るように、将来における変形製品との互換性
をこの種の製品に維持させるためには、ユーザーのソフ
トウェアが、未使用の位置から読み取られた値に依存し
てはならないことが推奨される。同様に、デバイスの構
成に際しては、この種の位置は、回避するか、或いは、
値0にセットするべきである。
As will be appreciated by those of ordinary skill in the art, in order for this type of product to be compatible with future variants, the user's software may read from an unused location. It is recommended that the values given should not be relied upon. Similarly, this type of location should be avoided or
Should be set to the value 0.

【0599】A.6.5.2 「予約済みレジスタ」 同様に、本発明において「予約済み」と記載されたレジ
スタ又はビットは、デバイスの作動態様にはドキュメン
ト化された影響は及ぼさない。
A. 6.5.2 "Reserved Registers" Similarly, registers or bits described as "Reserved" in the present invention have no documented effect on the way the device operates.

【0600】A.6.5.3 「テストレジスタ」 更に、「テストレジスタ」と記載されたレジスタ又はビ
ットは、当該デバイスの被テスト性の様々な態様を制御
する。従って、これらのレジスタは、当該デバイスの標
準的な用途には使用されず、そして、標準的なデバイス
コンフィギュレーション及び制御ソフトウェアによって
アクセスされる必要はない。
A. 6.5.3 "Test Register" Furthermore, registers or bits described as "test register" control various aspects of the device under test. Therefore, these registers are not used for the standard application of the device and need not be accessed by standard device configuration and control software.

【0601】セクション A.7 「クロック」 本発明に基づき、多くの異なるクロックは、動画デコー
ダシステムにおいて識別可能である。クロックの例を、
図65に示す。
Section A. 7 "Clocks" In accordance with the present invention, many different clocks are identifiable in a video decoder system. Clock example,
It shows in FIG.

【0602】データは、動画デコーダチップ・セット内
の異なるクロックレジームの間を供給するにつれて、そ
れぞれ新しいクロックに再同期化(オンチップ)する。
本発明において、あらゆる入力クロックの最大周波数は
30MHzである。ただし、当該技術分野における通常
に習熟者であれば、30MHzより大きい周波数を含む
他の周波数であっても同様に使用可能であることは、当
然理解できるはずである。各チップにおいて、マイクロ
プロセッサインターフェース(MPI)は、チップクロ
ックに対して非同期的に作動する。更に、イメージフォ
ーマッティング部は、復号化された動画のピクチャレー
トに同期した低い周波数のオーディオクロックを生成す
ることが出来る。従って、このクロックは、オーディオ
/動画同期を供給するために使用できる。
The data is resynchronized (on-chip) to each new clock as it is fed between different clock regimes within the video decoder chip set.
In the present invention, the maximum frequency of any input clock is 30 MHz. However, one of ordinary skill in the art should, of course, understand that other frequencies including frequencies above 30 MHz can be used as well. In each chip, the microprocessor interface (MPI) operates asynchronously to the chip clock. Furthermore, the image formatting unit can generate a low frequency audio clock synchronized with the picture rate of the decoded moving image. Therefore, this clock can be used to provide audio / video synchronization.

【0603】 A.7.1 「空間デコーダクロック信号」 空間デコーダは、2つの異なる(そして、非同期的であ
る可能性のある)クロック入力を持つ。
A. 7.1 "Spatial Decoder Clock Signal" The spatial decoder has two different (and potentially asynchronous) clock inputs.

【0604】[0604]

【表43】 A.7.2 「時間デコーダクロック信号」 時間デコーダはただ1つのクロック入力を持つ。[Table 43] A. 7.2 "Time Decoder Clock Signal" The time decoder has only one clock input.

【0605】[0605]

【表44】 A.7.3 「電気仕様」[Table 44] A. 7.3 "Electrical Specifications"

【0606】[0606]

【表45】 [Table 45]

【0607】[0607]

【表46】 A.7.3.1 「CMOSレベル」 クロック入力信号はCMOS入力である。VIHminはVD
Dの約70%であり、そして、VILmaxはVDDの約30%
である。表46に示す値は、それぞれVDDの最悪条件に
おけるVIH及びVILの値である。VDD=5.0±0.2
5V A.7.3.2 「クロックの安定性」 本発明において、DRAMインターフェース及びチップ
間インターフェースをドライブするために用いられるク
ロックは、入力クロック信号から得られる。これらのイ
ンターフェースのためのタイミング仕様は、入力クロッ
クタイミングが±100psの範囲以で安定しているも
のと仮定する。
[Table 46] A. 7.3.1 "CMOS Level" The clock input signal is a CMOS input. VIHmin is VD
D is about 70% and VILmax is about 30% of VDD
Is. The values shown in Table 46 are the values of VIH and VIL under the worst condition of VDD, respectively. VDD = 5.0 ± 0.2
5V A. 7.3.2 "Clock Stability" In the present invention, the clock used to drive the DRAM interface and the chip-to-chip interface is derived from the input clock signal. The timing specifications for these interfaces assume that the input clock timing is stable above ± 100 ps.

【0608】セクション A.8 「JTAG」 回路ボードの設置密度が高くなるにつれて、例えば「ベ
ッドオブナイル(bed-of-nails)」技法を用いた回路内
テストのような従来の方法によって部品間の接続を検査
することはますます困難になる。アクセス問題の解決お
よび方法論の標準化の試みとして、ジョイントテストア
クショングループ(JTAG)が形成された。このグル
ープの仕事の集大成が現在では規格1149.1として
IEEEによって採用されている「標準テストアクセス
ポート及び境界走査アーキテクチャ」である。空間デコ
ーダ及び時間デコーダは、この規格に適合する。
Section A. 8 As the density of "JTAG" circuit boards increases, it is not possible to test connections between components by conventional methods, such as in-circuit testing using "bed-of-nails" techniques. It gets harder and harder. The Joint Test Action Group (JTAG) was formed in an attempt to solve access problems and standardize methodologies. The culmination of this group of work is the "Standard Test Access Port and Boundary Scan Architecture", which is currently adopted by the IEEE as standard 1149.1. Spatial and temporal decoders comply with this standard.

【0609】規格は、デバイス上の各ディジタル信号ピ
ンを直列接続する境界スキャンチェーンを利用する。テ
スト回路は、正常作動状態においては即応型(透明)で
ある、しかし、テストモードにおいて境界スキャンチェ
ーンはテストパターンをシフトイン可能にし、そして、
デバイスのピンに供給可能にする。JTAGデバイスへ
の入力において回路ボードに現れる結果的な信号は、比
較的簡単なテスト装置によって走査およびチェックされ
ることが可能である。この方法により、回路ボード上の
ロジックの領域と同様に部品間接続はテスト可能であ
る。
The standard utilizes a boundary scan chain that connects each digital signal pin on the device in series. The test circuit is responsive (transparent) under normal operating conditions, but in test mode the boundary scan chain allows the test pattern to be shifted in, and
Allows you to feed pins on the device. The resulting signal appearing on the circuit board at the input to the JTAG device can be scanned and checked by relatively simple test equipment. This method allows inter-component connections to be tested as well as areas of logic on the circuit board.

【0610】全てのJTAGオペレーションは5つのピ
ンを有するテストアクセスポート(TAP)を介して実
施される。trst(テストリセット)ピンは、デバイ
スがテストモードにおいてはパワーアップしないことを
保証するためにJTAG回路をリセットする。tck
(テストクロック)ピンは、クロック直列テストパター
ンを、tdi(テストデータ入力)ピンへクロックし、
そして、tdo(テストデータ出力)ピンからクロック
するために用いられる。最後に、JTAG回路の操作モ
ードは、該当するビットのシーケンスをtms(テスト
モードセレクト)ピンへクロックすることによりセット
される。
All JTAG operations are performed through the Test Access Port (TAP), which has five pins. The trst (test reset) pin resets the JTAG circuit to ensure that the device does not power up in test mode. tck
The (test clock) pin clocks the clock serial test pattern to the tdi (test data input) pin,
It is then used to clock from the tdo (test data output) pin. Finally, the operating mode of the JTAG circuit is set by clocking the sequence of bits of interest to the tms (test mode select) pin.

【0611】JTAG規格は、チップメーカの裁量にお
いて付加的特徴を提供するために拡張可能である。空間
デコーダ及び時間デコーダには、3つのJTAG必須命
令を含めて9つのユーザインストラクション(命令)が
ある。追加命令(エクストラインストラクション)は、
特定の程度の内部デバイステストの実施を可能にし、そ
して、付加的な外部テストの融通性を提供する。例え
ば、全てのデバイス出力は、簡単なJTAGシーケンス
によってフロートするように作成可能である。
The JTAG standard is extensible to provide additional features at the chipmaker's discretion. The spatial and temporal decoders have 9 user instructions (instructions) including 3 JTAG required instructions. The additional instruction (Extra Line Instruction) is
It allows a certain degree of internal device testing to be performed and provides additional external testing flexibility. For example, all device outputs can be made to float by a simple JTAG sequence.

【0612】利用可能な機能およびJTAGポートの使
用方法の詳細については、個別のJTAGアプリケーシ
ョンノートを参照されたい。
For details on the available functions and how to use the JTAG port, please refer to the individual JTAG application note.

【0613】A.8.1 「非JTAGシステムにおけ
るJTAGピンの接続」
A. [0613] 8.1 “JTAG Pin Connection in Non-JTAG Systems”

【0614】[0614]

【表47】 A.8.2 「IEEE 1149.1への適合レベ
ル」 A.8.2.1 「規則」 下記の条項が注記されるが、全ての規則が適合する。
[Table 47] A. 8.2 "Level of conformance to IEEE 1149.1" 8.2.1 “Rules” The following clauses are noted, but all regulations are relevant.

【0615】[0615]

【表48】 [Table 48]

【0616】[0616]

【表49】 A.8.2.2 「勧告条件」[Table 49] A. 8.2.2 “Recommended conditions”

【0617】[0617]

【表50】 [Table 50]

【0618】[0618]

【表51】 A.8.2.3 「許可条件」[Table 51] A. 8.2.3 “Permission conditions”

【0619】[0619]

【表52】 セクション A.9 「空間デコーダ」 *30MHz、オペレーション *デコーダーMPEG、JPEG、及びH.26l *コード化データレートは25Mb/sまで *動画データレートは21MB/sまで *柔軟なクロマサンプリングフォーマット *全JPEG基底線復号化 *グルーレスDRAMインターフェース *単一+5V電源 *208ピンPQFPパッケージ *最大消費電力2.5W *独立したコード化データ及びデコーダクロック *標準ページモードDRAMを使用 空間デコーダは、様々なJPEG、MPEG、及びH.
261ピクチャ及び動画復号化アプリケーションにおい
て使用するための構成可能なVLSIデコーダチップで
ある。
[Table 52] Section A. 9 "Spatial Decoder" * 30 MHz, Operation * Decoder MPEG, JPEG, and H.264. 26l * Coded data rate up to 25Mb / s * Video data rate up to 21MB / s * Flexible chroma sampling format * All JPEG baseline decoding * Glueless DRAM interface * Single + 5V power supply * 208-pin PQFP package * Maximum consumption Power 2.5W * Independent coded data and decoder clock * Uses standard page mode DRAM Spatial decoders are available in various JPEG, MPEG and H.264.
Configurable VLSI decoder chip for use in H.261 picture and video decoding applications.

【0620】オフチップDRAMを使用しない最小のコ
ンフィギュレーションにおいて、空間デコーダは、1つ
の単一チップ、高速JPEGデコーダである。DRAM
を加えることにより、空間デコーダがJPEG符号化動
画を復号化することを可能にする。720×480、3
0Hz、4:2:2「JPEG動画」が、リアルタイム
に復号化可能である。
In the minimum configuration, which does not use off-chip DRAM, the spatial decoder is one single chip, high speed JPEG decoder. DRAM
To allow the spatial decoder to decode the JPEG encoded video. 720 x 480, 3
0 Hz, 4: 2: 2 “JPEG moving image” can be decoded in real time.

【0621】時間デコーダを用いることにより、空間デ
コーダは、H.26l、及びMPEG(同様に、JPE
G)を復号化するために使用できる。704×480、
30Hz、4:2:0MPEG動画が復号化可能であ
る。
By using the temporal decoder, the spatial decoder can 26l, and MPEG (also JPE
G) can be used to decrypt. 704 x 480,
30 Hz, 4: 2: 0 MPEG moving pictures can be decoded.

【0622】前述の値は単に一例に過ぎず、例として示
したものでたって、必ずしも制限的意図を持つものでな
く、本発明に基づく1実施例のための典型的な値である
ことを再度注記しておく。従って、当該技術分野におけ
る通常の習熟者であれば、他の値、及び/又は、を使用
可能であることを理解するはずである。
It should be restated that the above values are merely examples and are given as examples and are not necessarily intended to be limiting and are typical values for one embodiment according to the present invention. Make a note. Therefore, one of ordinary skill in the art will appreciate that other values and / or values can be used.

【0623】A.9.1 「空間デコーダ信号」A. 9.1 "Spatial decoder signal"

【0624】[0624]

【表53】 [Table 53]

【0625】[0625]

【表54】 [Table 54]

【0626】[0626]

【表55】 [Table 55]

【0627】[0627]

【表56】 [Table 56]

【0628】[0628]

【表57】 A.9.1.1「“nc”非接続ピン」 表57においてncとラベルの付いたピンは現在使われ
ていないピンを表す。これらのピンは、接続しない状態
にしておかねばならない。
[Table 57] A. 9.1.1 ““ nc ”unconnected pins” In Table 57, the pins labeled nc represent pins that are not currently used. These pins must be left unconnected.

【0629】 A.9.1.2 「VDD、及びGNDピン」 当該技術分野における通常の習熟者であれば理解される
ように、装備されている全てのV 及びGNDピン
は、それぞれ該当する電源に接続されなければならな
い。全てのV 及びGNDピンが正しく使用されてい
ない限り、デバイスの正しい作動は保証不可能である。
A. 9.1.2 “VDD and GND Pins” As will be understood by one of ordinary skill in the art, all installed V and GND pins must be connected to their respective power sources. I won't. Proper operation of the device cannot be guaranteed unless all V and GND pins are used correctly.

【0630】A.9.1.3 「正常作動のためのテス
トピンの接続」 空間デコーダの9つのピンは、内部テスト用として予約
済みである。
A. 9.1.3 “Connecting Test Pins for Normal Operation” Nine pins of the spatial decoder are reserved for internal testing.

【0631】[0631]

【表58】 A.9.1.4 「正常作動のためのJTAGピン」 セクションA.8.1参照。[Table 58] A. 9.1.4 “JTAG Pin for Normal Operation” Section A.6. See 8.1.

【0632】 A.9.2 「空間デコーダメモリマップ」A. 9.2 “Spatial Decoder Memory Map”

【0633】[0633]

【表59】 [Table 59]

【0634】[0634]

【表60】 [Table 60]

【0635】[0635]

【表61】 [Table 61]

【0636】[0636]

【表62】 [Table 62]

【0637】[0637]

【表63】 [Table 63]

【0638】[0638]

【表64】 [Table 64]

【0639】[0639]

【表65】 [Table 65]

【0640】[0640]

【表66】 [Table 66]

【0641】[0641]

【表67】 [Table 67]

【0642】[0642]

【表68】 [Table 68]

【0643】[0643]

【表69】 [Table 69]

【0644】[0644]

【表70】 [Table 70]

【0645】[0645]

【表71】 [Table 71]

【0646】[0646]

【表72】 [Table 72]

【0647】[0647]

【表73】 [Table 73]

【0648】[0648]

【表74】 [Table 74]

【0649】[0649]

【表75】 [Table 75]

【0650】[0650]

【表76】 [Table 76]

【0651】[0651]

【表77】 [Table 77]

【0652】[0652]

【表78】 [Table 78]

【0653】[0653]

【表79】 [Table 79]

【0654】[0654]

【表80】 [Table 80]

【0655】[0655]

【表81】 セクション A.10 「コード化データ入力」 本発明に基づくシステムは、処理するためにどの動画規
格が入力されつつあるかを知らなければならない。今
後、本システムは、先在しているトークン、又は、生バ
イトデータのいずれかを受け入れることができる。この
生バイトデータは、次に、スタートコード検出器によっ
てトークン内に配置可能である。
[Table 81] Section A. 10 "Coded Data Entry" The system according to the invention must know which video standard is being entered for processing. From now on, the system can accept either pre-existing tokens or raw byte data. This raw byte data can then be placed in the token by the start code detector.

【0656】従って、コード化データ及びコンフィギュ
レーショントークンは、次に示す2つのルートを介して
空間デコーダに供給可能である。
Therefore, the coded data and the configuration token can be supplied to the spatial decoder via the following two routes.

【0657】*コード化データ入力ポート *マイクロプロセッサインターフェース(MPI) 使用するルートの選定は、アプリケーション及びシステ
ム環境に依存する。例えば、データレートが低い場合に
は、デコーダチップ・セットを制御し、そして、システ
ムビットストリームを多重化する両方の目的のために、
1つの単一マイクロプロセッサを使用することが可能で
ある。この場合、MPIを介してコード化データを入力
をすることも可能である。代りに、コード化データレー
トが高い場合には、コード化データはコード化データポ
ートを介して供給されなければならない。
* Coded Data Input Port * Microprocessor Interface (MPI) The choice of route to use depends on the application and system environment. For example, if the data rate is low, both for controlling the decoder chip set and for multiplexing the system bitstream,
It is possible to use one single microprocessor. In this case, it is also possible to input coded data via MPI. Alternatively, if the coded data rate is high, the coded data must be provided via the coded data port.

【0658】アプリケーションによっては、MPIとコ
ード化データポート入力との混合体を使用することが適
当である。
Depending on the application, it may be appropriate to use a mixture of MPI and coded data port inputs.

【0659】A.10.1 「コード化データポート」A. [0659] A. 10.1 "Coded Data Port"

【0660】[0660]

【表82】 本発明に基づくコード化データポートは、2つのモー
ド、即ち、トークンモード及びバイトモードにおいて使
用可能である。
[Table 82] The coded data port according to the invention can be used in two modes: token mode and byte mode.

【0661】A.10.1.1 「トークンモード」 本発明において、バイトモードがローである場合には、
コード化データポートは、正常な方法におけるトークン
ポートとして作動し、そして、コード化有効及びコード
化アクセプトの制御の下にトークンを受け入れる。この
インターフェースの電気的動作の詳細についてはセクシ
ョンA.4を参照されたい。
A. 10.1.1 “Token Mode” In the present invention, when the byte mode is low,
The coded data port operates as a token port in the normal way and accepts tokens under the control of code valid and code accept. See Section A.3 for details on the electrical operation of this interface. See 4.

【0662】信号バイトモードは、データ[7:0]、
コード化extn、及びコード化有効と同時に、即ち、
コード化clockの立ち上がりエッジにおいてサンプ
ルされる。
Signal byte mode is data [7: 0],
At the same time as coding extn and coding valid, that is,
Sampled on the rising edge of the coded clock.

【0663】A.10.1.2 「バイトモード」 ただし、バイトモードがハイであれば、データの1つの
バイトは、 2線インターフェース制御信号コード化有
効、及びコード化アクセプトの制御の下にデータ[7:
0]において転送される。この場合、コード化extn
は無視される。続いて、バイトは、入力モードが変更さ
れる時まで、オンチップにおいて、データトークンに組
み立てられる。
A. 10.1.2 “Byte Mode” However, if the byte mode is high, then one byte of data is data valid under the control of 2-wire interface control signal coding enable and coded accept [7:
0]. In this case, the coded extn
Is ignored. The bytes are then assembled into data tokens on-chip until the input mode is changed.

【0664】1)トークンモードにおいて供給されたト
ークンの第1のワード(ヘッド) 2)供給されたトークンの最後のワード(コード化ex
tnはローになる) 3)バイトモードにおいて供給されたデータの第1のバ
イト。新しいデータトークンは、オンチップにおいて自
動的に作成される。
1) The first word of the token supplied in token mode (head) 2) The last word of the token supplied (coded ex)
tn goes low) 3) First byte of data supplied in byte mode. New data tokens are automatically created on-chip.

【0665】 A.10.2 「MPIを介したデータの供給」 トークンは、コード化データ入力レジスタにアクセスす
ることによってMPIを介して空間デコーダに供給可能
である。
A. 10.2 “Supply Data via MPI” Tokens can be provided to the spatial decoder via MPI by accessing the coded data input register.

【0666】 A.10.2.1 「MPIを介したトークンの記入」 本発明のコード化データレジスタは、効率的なデータ転
送を可能にするために、メモリマップ内において2バイ
トにグループ化される。8データビット、コード化デー
タ[7:0]は1つの場所に配置され、また、制御レジ
スタ、コード化ビズィ、enable mpi入力、及
びコード化extnは別の場所に配置される。表62、
表63参照)。
A. 10.2.1 "Token Entry via MPI" The coded data registers of the present invention are grouped into 2 bytes in the memory map to allow efficient data transfer. Eight data bits, coded data [7: 0] are located in one place, and control registers, coded busy, enable mpi input, and coded extn are located in another place. Table 62,
See Table 63).

【0667】MPIを介してトークン入力用に構成され
た場合、1つの値がコード化データ[7:0]に記入さ
れる度に、現行トークンは、コード化extnの現行値
を用いれ拡張される。あらゆるトークンの最後のワード
がコード化データ[7:0]に記入される前に、コード
化extnを0にセットすることに関してはソフトウェ
アに責任がある。
When configured for token input via MPI, the current token is extended with the current value of coded extn each time a value is entered in the coded data [7: 0]. . Software is responsible for setting the coded extn to 0 before the last word of every token is written into the coded data [7: 0].

【0668】例えば、データトークンは、コード化ex
tnに1を、又、コード化データ[7:0]に0x04
を記入することによってスタートされる。次に、この新
しいデータトークンのスタートは、処理のために、空間
デコーダへ供給する。
For example, the data token is coded ex
1 for tn and 0x04 for coded data [7: 0]
Start by filling in. This new data token start is then fed to the spatial decoder for processing.

【0669】新しい8ビットの値がコード化データ
[7:0]に記入される度に、現行トークンが拡張され
る。例えば、別のトークンを導入するために、現行トー
クンを終わらせる場合に限り、コード化extnは、再
度アクセスされる必要がある。現行トークンの最後のワ
ードは、現行トークンの最後のワードのコード化データ
[7:0]への記入によって後続されるコード化ext
nへの0記入によって示される。
The current token is extended each time a new 8-bit value is entered in the coded data [7: 0]. The coded extn only needs to be accessed again if the current token is terminated, for example to introduce another token. The last word of the current token is coded ext followed by the entry of the last word of the current token into the coded data [7: 0].
Indicated by a 0 entry in n.

【0670】[0670]

【表83】 コード化データ[7:0]に先立ち、毎度、インターフ
ェースがより多くのデータを受け入れる準備が整ってい
るかどうかを判定するために、コード化ビジィは検査さ
れなければならない。
[Table 83] Prior to the coded data [7: 0], each time the coded busy has to be examined to determine if the interface is ready to accept more data.

【0671】 A.10.3 「入力モード間のスイッチング」 適当な事前措置が講じられていることを条件として、デ
ータ入力モードを動的に変えることが可能である。一般
に、任意の1つのルートを介したトークンの転送は、ス
イッチングモード前に完了していなければならない。
A. 10.3 "Switching between input modes" It is possible to change the data input mode dynamically, provided that appropriate precautions have been taken. In general, the transfer of tokens via any one route must be completed before switching mode.

【0672】[0672]

【表84】 バイトモードにおいて供給された第1のバイトによっ
て、データトークンヘッダはオンチップにおいて生成可
能である。バイトモードにおいて更に転送された全ての
バイトは、今後、入力モードが変化するまでこのデータ
トークンに添付される。データトークンは必要なだけ多
くのビットを含むことができることを思い起こされた
い。
[Table 84] With the first byte supplied in byte mode, the data token header can be generated on-chip. All further bytes transferred in byte mode will be attached to this data token in the future until the input mode changes. Recall that a data token can contain as many bits as needed.

【0673】MPIレジスタビット、コード化ビズィ、
及び信号、コード化アクセプトは、当該空間デコーダが
どのインターフェースにおいてデータを受け入れようと
しているかを示す。これらの信号を正しく観察すること
により、データが失われていないことが保証される。
MPI register bit, coded busy,
And the signal, Code Accept, indicates at which interface the spatial decoder is willing to accept data. Correct observation of these signals ensures that no data is lost.

【0674】 A.10.4 「コード化データの受入れレート」 本発明において、入力回路は、トークンをスタートコー
ド検出器に供給する(セクションA.11参照)。スタ
ートコード検出器は、データを、データトークンビット
として直列的に分析する。検出器の処理正常レートは、
(コード化clockの)クロックサイクルにつき1ビ
ットである。従って、デコーダは、コード化clock
の8サイクル毎に、コード化データの1バイトを復号化
する。ただし、例えば、非データトークンが供給される
場合、或いは、コード化データ内にスタートコードが現
れた場合のように、追加処理サイクルが必要とされるこ
ともある。この種のイベントが発生した場合、スタート
コード検出器は、短時間に亙って、それ以上の情報の受
け入れが不能とばる。
A. 10.4 "Acceptance Rate of Coded Data" In the present invention, the input circuit supplies the token to the start code detector (see Section A.11). The start code detector analyzes the data serially as data token bits. The normal processing rate of the detector is
One bit per clock cycle (of the coded clock). Therefore, the decoder is coded clock
1 byte of coded data is decoded every 8 cycles of. However, additional processing cycles may be required, such as when a non-data token is provided or when a start code appears in the coded data. If an event of this kind occurs, the start code detector will be unable to accept any further information for a short time.

【0675】スタートコード検出器の後において、デー
タは、第1ロジックコード化データバッファに供給す
る。このバッファがいっぱいになった場合、スタートコ
ード検出器は、それ以上の情報を受け入れることができ
なくなる。
After the start code detector, the data is provided to the first logic coded data buffer. If this buffer is full, the start code detector will be unable to accept any more information.

【0676】従って、それ以上のコード化データ(或い
は、他のトークン)は、コード化データポートにおい
て、又は、MPIを介して受け入れられる。この場合、
スタートコード検出器は、それ以上の情報を受け入れる
ことができない状態のままである。これは、信号コード
化アクセプト及びレジスタコード化ビジィの状態によっ
て示される。
Therefore, more coded data (or other token) is accepted at the coded data port or via MPI. in this case,
The start code detector remains unacceptable for further information. This is indicated by the states of signal coded accept and register coded busy.

【0677】コード化アクセプト、及び/又は、コード
化ビジィを用いることにより、ユーザーにとって、コー
ド化情報が一切失われないことが保証される。ただし、
当該技術分野における通常の習熟者であれば、空間デコ
ーダがデータ受け入れ不能である場合、システムは、新
しく到着するコード化データを緩衝するか、(或いは、
新しいデータの到着を停止する)ことを理解できるはず
である。
The use of Coded Accept and / or Coded Busy ensures to the user that no coded information is lost. However,
One of ordinary skill in the art, if the spatial decoder cannot accept the data, the system either buffers the newly arrived coded data (or
You should understand that (stopping the arrival of new data).

【0678】 A.10.5 「コード化データクロック」 本発明に基づき、空間デコーダにおけるコード化データ
ポート、入力回路、及び他の機能は、コード化cloc
kによって制御される。更に、このクロックは、メイン
デコーダクロックに対して非同期であっても差し支えな
い。データ転送は、オンチップにおけるデコーダクロッ
クに同期する。
A. 10.5 "Coded Data Clock" In accordance with the present invention, the coded data port, input circuitry, and other functions in the spatial decoder are coded cloc.
controlled by k. Furthermore, this clock can be asynchronous to the main decoder clock. The data transfer is synchronized with the on-chip decoder clock.

【0679】 セクション A.11 「スタートコード検出器」 A.11.1 「スタートコード」 当該技術分野において周知であるように、MPEG及び
H.261コード化動画ストリームは、スタートコード
と呼ばれる識別可能なビットパターンを含む。JPEG
においては、同様の機能は、マーカコードによって提供
される。スタート/マーカコードは、コード化データス
トリームのシンタックスの有意部分を識別する。スター
トコード検出器によって行われるスタート/マーカコー
ドの分析は、コード化データのパージングにおいては第
1段階である。スタートコード検出器は、入力回路に後
続する空間デコーダにおける第1ブロックである。
Section A. 11 "Start Code Detector" A. 11.1 "Start Code" As is well known in the art, MPEG and H.264. The H.261 coded video stream contains an identifiable bit pattern called a start code. JPEG
In, similar functionality is provided by the marker code. The start / marker code identifies a significant portion of the syntax of the coded data stream. The analysis of the start / marker code performed by the start code detector is the first step in purging coded data. The start code detector is the first block in the spatial decoder that follows the input circuit.

【0680】スタート/マーカコードパターンは、ビッ
トストリーム全体を復号化することなしに識別可能であ
るように設計される。従って、スタート/マーカコード
パターンは、本発明に従い、エラー回復及びデコーダス
タートを助けるために使用できる。スタートコード検出
器は、コード化データ構造内においてエラーを検出し、
そして、デコーダのスタートを援助するための機能を提
供する。
The start / marker code pattern is designed to be identifiable without decoding the entire bitstream. Therefore, the start / marker code pattern can be used to aid error recovery and decoder start in accordance with the present invention. The start code detector detects an error in the coded data structure,
It also provides functions to help the decoder start.

【0681】 A.11.2 「スタートコード検出器レジスタ」 既に検討したように、多数のスタートコード検出器レジ
スタは、スタートコード検出器によって常時使用され
る。従って、データを処理するスタートコード検出器が
データを処理しつつある場合に、これらのレジスタにア
クセスすることは、信頼度が低い。そのレジスタへのア
クセス以前におけるスタートコード検出器の停止を保証
することに関しては、ユーザの責任である。
A. 11.2 "Start Code Detector Registers" As previously discussed, a number of start code detector registers are always used by the start code detector. Accessing these registers is therefore unreliable when the start code detector processing the data is processing the data. It is the user's responsibility to ensure that the start code detector is stopped before accessing the register.

【0682】レジスタスタートコード化etector
accessは、スタートコード検出器を停止させ、ひ
いては、そのレジスタへのアクセスを可能にするために
使用される。スタートコード検出器は、割込みを生成し
た後で、停止する。
Register start coded detector
access is used to stop the start code detector and thus allow access to its registers. The start code detector stops after generating an interrupt.

【0683】スタートコード探索および全データモード
の廃棄をいつ開始可能であるかと言うことに関しては、
更に制約条件がある。これらの制約条件については、
A.11.8、及びA.11.5.1に記述済みであ
る。
Regarding when it is possible to start the start code search and discard of all data modes,
There are further constraints. For these constraints,
A. 11.8, and A. It has been described in 11.5.1.

【0684】[0684]

【表85】 [Table 85]

【0685】[0685]

【表86】 [Table 86]

【0686】[0686]

【表87】 [Table 87]

【0687】[0687]

【表88】 [Table 88]

【0688】[0688]

【表89】 [Table 89]

【0689】[0689]

【表90】 A.11.3 「スタートコードからトークンへの変
換」 正常作動におけるスタートコード検出器の機能は、デー
タストリーム内のスタートコードを識別し、そして、そ
の次に、これらのコードを該当するスタートコードトー
クンに変換することである。最も簡単な場合、データ
は、1つの長い単一データトークンとしてスタートコー
ド検出器に供給される。スタートコード検出器の出力
は、スタートコードトークンを割り込み配置された多数
の短かめのデータトークンである。
[Table 90] A. 11.3 “Start Code to Token Conversion” The function of the start code detector in normal operation is to identify the start codes in the data stream and then convert these codes into the corresponding start code tokens. It is to be. In the simplest case, the data is supplied to the start code detector as one long single data token. The output of the start code detector is a number of shorter data tokens interrupted by the start code token.

【0690】その代りに、本発明に基づき、スタートコ
ード検出器への入力データは、多数の短かめのデータト
ークンに分割可能である。コード化データをデータトー
クンに分割する方法に関しては、nを整数とした場合、
各データトークンは8xnビットを含まなければならな
いと言うこと以外には、制約は無い。
Alternatively, in accordance with the present invention, the input data to the start code detector can be split into a number of shorter data tokens. Regarding how to split the coded data into data tokens, where n is an integer:
There are no restrictions other than that each data token must contain 8xn bits.

【0691】他のトークンは、スタートコード検出器の
入力に直接供給可能である。この場合、トークンは、処
理することなしに、スタートコード検出器を介して空間
デコーダの他のステージへ供給される。これらのトーク
ンは、コード化データ内において、スタートコード位置
の直前に限り挿入可能である。
Other tokens can be fed directly to the input of the start code detector. In this case, the token is supplied to the other stages of the spatial decoder via the start code detector without processing. These tokens can be inserted only in the coded data, just before the start code position.

【0692】 A.11.3.1 「スタートコードフォーマット」 本発明のスタートコード検出器によれば、3つの異なる
スタートコードフォーマットが認識される。これは、レ
ジスタスタートコードディテクタコーディングスタンダ
ードを介して構成される。
A. 11.3.1 "Start Code Format" According to the start code detector of the present invention, three different start code formats are recognized. It is constructed via the Register Start Code Detector Coding Standard.

【0693】[0693]

【表91】 A.11.3.2 「スタートコードトークン均等物」 スタートコードを検出した場、スタートコード検出器
は、当該スタートコードと関連した値を検討し、そし
て、適切なトークンを生成する。一般に、トークンは、
関連MPEGシンタックスにちなんで命名される。ただ
し、当該技術分野における通常の習熟者であれば、トー
クンは、付加的ネーミングフォーマットに従うことを理
解するはずある。現在選定されている符号化規格は、ス
タートコード値と生成されたトークンとの間の関係を構
成する。この関係を表92に示す。
[Table 91] A. 11.3.2 “Start Code Token Equivalent” When a start code is detected, the start code detector examines the value associated with that start code and generates the appropriate token. In general, tokens are
Named after the related MPEG syntax. However, one of ordinary skill in the art will understand that tokens follow an additional naming format. The currently selected coding standard constitutes the relationship between the start code value and the generated token. This relationship is shown in Table 92.

【0694】[0694]

【表92】 A.11.3.3 「符号化規格の拡張機能」 符号化規格は、符号化規格によればその使用が現在確定
していないデータストリーム内へのデータ埋め込みを可
能にする多数のメカニズムを提供する。これは、特定メ
ーカーに追加的な使い易さを提供する特定の「ユーザデ
ータ」アプリケーションと見なすことも可能であり、そ
の代りに、「拡張データ」と見なしても差し支えない。
符号化規格オーソリティとしては、将来において符号化
規格に機能を追加するために拡張データを使用する権利
を留保した。
[Table 92] A. 11.3.3 "Extension of Coding Standards" Coding standards provide a number of mechanisms that allow data embedding into data streams whose use is not currently defined according to the coding standards. It can also be considered as a specific "user data" application that provides additional usability for a specific manufacturer, and can instead be considered as "extended data".
The coding standard authority has reserved the right to use extended data to add functionality to the coding standard in the future.

【0695】2つの明白なメカニズムが使用される。J
PEGにおいては、ユーザ及び拡張データのブロックに
マーカコードを先行させる。ただし、H.261におい
ては、コード化データ内の追加情報ビットによって示さ
れる「追加情報」を挿入する。MPEGにおいては、こ
れら双方の技術を使用できる。
Two obvious mechanisms are used. J
In PEG, a marker code precedes a block of user and extension data. However, H. At 261, the "additional information" indicated by the additional information bit in the coded data is inserted. Both of these techniques can be used in MPEG.

【0696】本発明に従えば、スタート/マーカコード
によって先行されるユーザ及び拡張データのMPEG/
JPEGブロックは、スタートコード検出器によって検
出可能である。H.261/MPEGの「追加情報」
は、本発明のハフマンデコーダによって検出される。
A.14.7「追加情報の受信」を参照されたい。
According to the invention, MPEG / user and extension data preceded by a start / marker code
The JPEG block can be detected by the start code detector. H. "Additional information" of 261 / MPEG
Is detected by the Huffman decoder of the present invention.
A. See 14.7 “Receiving Additional Information”.

【0697】レジスタ、discardエクステンショ
ンデータ、及びdiscardユーザデータは、ユーザ
データ及び拡張データを放棄するようにスタートコード
検出器を構成することが可能である。このデータがスタ
ートコード検出器で放棄されない場合には、このデータ
が動画デマックスに到達した時にアクセスすることが出
来る。A.l4.6、「ユーザ及び拡張データの受信」
を参照されたい。
The register, the discext extension data, and the discard user data can configure the start code detector to discard the user data and the extension data. If this data is not discarded by the start code detector, it can be accessed when this data reaches the video demux. A. l4.6, "Receiving User and Extended Data"
Please refer to.

【0698】本発明の空間デコーダは、JPEGの基底
線機能をサポートする。JPEGの非基線機能は、空間
デコーダによる拡張データと見なされる。従って、非基
底線JPEGにとって、データに先行する全てのJPE
Gマーカコードは拡張データとして扱われる。
The spatial decoder of the present invention supports the JPEG baseline function. The non-baseline function of JPEG is considered as extended data by the spatial decoder. Therefore, for non-baseline JPEG, all JPEs that precede the data
The G marker code is treated as extended data.

【0699】A.11.3.4 「JPEG表の定義」 JPEGは、ダウンロードされたハフマン及び量子化器
表をサポートする。JPEGデータにおいて、これらの
表の定義は、マーカコードDNL及びDQTによって先
行される。スタートコード検出器は、これらのマーカコ
ードが検出された場合、トークンDHTMARKER及
びDQTMARKERを生成する。これらのトークン
は、動画デマックスに対して、後続するデータトークン
がハフマン又は量子化器表について記述するコード化デ
ータを含むことを示す(JPEGにおいて記述されたフ
ォーマットを用いる)。
A. 11.3.4 "JPEG Table Definition" JPEG supports downloaded Huffman and quantizer tables. In JPEG data, the definitions of these tables are preceded by the marker codes DNL and DQT. The start code detector generates tokens DHTMARKER and DQTMMARKER when these marker codes are detected. These tokens indicate to the video demux that the subsequent data tokens contain coded data describing the Huffman or quantizer table (using the format described in JPEG).

【0700】A.11.4 「エラーの検出」 スタートコード検出器は、コード化データ内の特定エラ
ーを検出可能であり、そして、エラーが検出された後に
おいてデコーダによる回復を可能にする幾らかの機能を
提供する(A.11.8、「スタートコードの探索」参
照)。
A. 11.4 "Error Detection" The start code detector is capable of detecting specific errors in the coded data and provides some functionality to allow recovery by the decoder after an error is detected. (See A.11.8, "Search for Start Code").

【0701】 A.11.4.1 「不当JPEG長さのカウント」 大抵のJPEGマーカコードは、それらと関連した16
ビット長さのカウントフィールドを持つ。このフィール
ドは、どの程度の量がデータがこのマーカコードと関連
しているかを示す。0及び1の長さカウントは不当であ
る。不当長さは、データエラーに後続する場合に限り発
生する。本発明において、イリーガルレングスカウント
マスクが1にセットされている場合、不当長さの発生
は、割込みを生成する。
A. 11.4.1 “Illegal JPEG Length Counts” Most JPEG marker codes have 16 associated with them.
It has a bit length count field. This field indicates how much data the data is associated with this marker code. Length counts of 0 and 1 are illegal. Inappropriate length occurs only if it follows a data error. In the present invention, if the illegal length count mask is set to 1, the occurrence of an improper length will generate an interrupt.

【0702】JPEGデータにおけるエラーからの回復
は、JPEGにおいてスタートコードを検索することが
困難であるため、付加的なアプリケーション特定データ
を必要とするものと推測される。段落A.11.8.1
参照)。
It is presumed that recovery from errors in JPEG data requires additional application specific data because it is difficult to retrieve the start code in JPEG. Paragraph A. 11.8.1
reference).

【0703】 A.11.4.2 「スタート/マーカコードの重複」 本発明において、スタートコードの重複は、データエラ
ーに後続する場合に限り発生する。MPEG配列バイト
重複スタートコードを図73に示す。この場合、スター
トコード検出器は、先ず、ピクチャ・スタートコードの
ように見えるパターンを見る。次に、スタートコード検
出器は、このピクチャ・スタートコードがグループスタ
ートと重複していることを見る。従って、スタートコー
ド検出器は、重複スタートイベントを生成する。更に、
オーバーラッピングスタートマスクが1にセットされて
いる場合には、スタートコード検出器は、割込み、及び
停止を生成する。
A. 11.4.2 “Start / Marker Code Duplication” In the present invention, the start code duplication occurs only when the data error follows. FIG. 73 shows an MPEG array byte overlap start code. In this case, the start code detector first looks at a pattern that looks like a picture start code. The start code detector then sees that this picture start code overlaps the group start. Therefore, the start code detector produces a duplicate start event. Furthermore,
If the overlapping start mask is set to 1, the start code detector will generate an interrupt and a stop.

【0704】2つのスタートコードのどちらが正しい
か、及びデータエラーはどちらの原因であったかを判定
することは不可能である。ただし、本発明に基づくスタ
ートコード検出器は、最初のスタートコードを放棄し、
そして、重複スタートコードイベントがサービスされた
後で「第2のスタートコードが正しいものとして」第2
のスタートコードの復号化を続行する。一連の重複スタ
ートコードが所在する場合には、スタートコード検出器
は、最後のコードを除くこれら全てのコードを破棄する
(各重複スタートコードに関するイベントを生成す
る)。
It is impossible to determine which of the two start codes is correct and which cause of the data error. However, the start code detector according to the invention discards the first start code,
Then, after the duplicate start code event has been serviced, "as the second start code is correct" the second
Continue decoding the start code of. If a sequence of duplicate start codes is present, the start code detector discards all these codes except the last code (generates an event for each duplicate start code).

【0705】非配列バイトシステムにおいては同様のエ
ラーが可能である(H.261、またはおそらくはMP
EG)。この場合、イグノア・ノンアラインの状態も同
様に考察されなければならない。図74は、見付かった
最初のスタートコードは配列バイトであるが、しかし、
非配列スタートコードと重複する例を示す。イグノア・
ノンアラインが1にセットされている場合には、2番目
の重複スタートコードは、スタートコード検出器によっ
てデータとして扱われる。従って、重複スタートコード
イベントは発生しない。これにより、発生しているかも
知れないデータ通信エラーが隠される。イグノア・ノン
アラインが0にセットされている場合には、スタートコ
ード検出器は第2の非配列スタートコードを見る。そし
て、それが第1のスタートコードと重複していることを
見る。
Similar errors are possible in unaligned byte systems (H.261, or perhaps MP).
EG). In this case, Ignore / non-aligned states must be considered as well. FIG. 74 shows that the first start code found is an array byte, but
An example of overlapping with a non-sequence start code is shown. Ignore
When non-aligned is set to 1, the second duplicate start code is treated as data by the start code detector. Therefore, the duplicate start code event does not occur. This hides any data communication errors that may have occurred. If the ignor non-align is set to 0, the start code detector looks at the second unaligned start code. And see that it overlaps with the first start code.

【0706】 A.11.4.3 「非認識スタートコード」 スタートコード検出器は、認識されないスタートコード
が検出された場合、割込みを生成することが出来る(ア
ンレコグナイズドスタートマスク=1であれば)。この
割込みの原因となったスタートコード値は、レジスタス
タートバリューから読み取り可能である。
A. 11.4.3 “Unrecognized Start Code” The start code detector can generate an interrupt if an unrecognized start code is detected (if unrecognized start mask = 1). The start code value that caused this interrupt can be read from the register start value.

【0707】スタートコード値0xB4(シーケンスエ
ラー)は、チャネルエラー又はメディアエラーを示すた
めに、MPEGデコーダシステムにおいて使用される。
例えば、訂正不可能なエラーが検出された場合には、こ
のスタートコードは、ECC回路によってデータに挿入
されることもあり得る。
The start code value 0xB4 (sequence error) is used in the MPEG decoder system to indicate a channel error or media error.
For example, this start code may be inserted into the data by the ECC circuit when an uncorrectable error is detected.

【0708】A.11.4.4 「イベント生成順序」 本発明において、特定のコード化データパターン(エラ
ー条件を示すことが多い)は、前述のエラー条件の中の
1つ以上を短い期間中に起こさせる。従って、エラー条
件に関してスタートコード検出器がコード化データを調
査順序をつぎに示す。
A. 11.4.4 "Event Generation Sequence" In the present invention, a particular coded data pattern (often indicating an error condition) causes one or more of the above error conditions to occur within a short period of time. Therefore, the following is the order in which the start code detector examines the coded data for error conditions.

【0709】1)非配列スタートコード 2)重複スタートコード 3)未認識スタートコード 従って、非配列スタートコードがもう一方の後の方のス
タートコードと重複する場合には、生成された最初のイ
ベントは、非配列スタートコードと関連する。このイベ
ントがサービスされた後において、スタートコード検出
器の動作は継続し、短期間後に、重複スタートコードを
検出する。
1) Non-sequenced start code 2) Duplicate start code 3) Unrecognized start code Therefore, if the non-sequenced start code overlaps with the other start code, the first event generated is , Associated with non-sequenced start codes. After this event has been serviced, the start code detector continues to operate, detecting a duplicate start code after a short period of time.

【0710】全ての非配列および重複スタートコードの
テストが完了した後で、スタートコード検出器は単にス
タートコードを認識することを試みる。
After all non-sequenced and duplicate start codes have been tested, the start code detector simply attempts to recognize the start code.

【0711】 A.11.5 「デコーダのスタートおよび停止」 スタートコード検出器は、現行復号化タスクを完全に完
了することを可能にし、そして、新しいタスクをスター
ト可能にする機能を提供する。
A. 11.5 Decoder Start and Stop The start code detector provides the capability to allow the current decoding task to be completely completed and to allow a new task to be started.

【0712】データセグメントはマーカコードをエミュ
レートする値を含むことができるので、JPEGコード
化動画を用いるこれらの技術を使用することには制限が
ある(A.11.8.1参照)。
The use of these techniques with JPEG-encoded animation is limited because the data segment can contain values that emulate a marker code (see A.11.8.1).

【0713】 A.11.5.1 「復号化の明瞭な終了」 現行ピクチャに関するデータが完了してしまえば、割込
みおよび停止を生成するようにスタートコード検出器を
構成することができる。これは、ストップアフタピクチ
ャ=1、及びストップアフタピクチャマスク=1をセッ
トすることによって行われる。
A. 11.5.1 Clear End of Decoding Once the data for the current picture is complete, the start code detector can be configured to generate interrupts and stops. This is done by setting stop after picture = 1 and stop after picture mask = 1.

【0714】ピクチャの終端がスタートコード検出器を
一旦供給すると、フラッシュトークンが生成され(A.
11.7.2)、割込みが生成され、そして、スタート
コード検出器が停止する。完成したばかりのピクチャ
は、通常の方法で復号化されることに注意されたい。ア
プリケーションによっては、デコーダチップ・セットの
出力に到着したフラッシュを検出することが適切である
場合もあり得る。この出力の到着は現行動画シーケンス
の終了を示す。例えば、ディスプレイは、最後のピクチ
ャ出力に固着することもあり得る。
Once the end of the picture supplies the start code detector, a flash token is generated (A.
11.7.2), an interrupt is generated and the start code detector is stopped. Note that the picture just completed is decoded in the usual way. In some applications it may be appropriate to detect the flash arriving at the output of the decoder chip set. The arrival of this output indicates the end of the current video sequence. For example, the display could stick to the last picture output.

【0715】スタートコード検出器が停止すると、メデ
ィアとデコードチップとの間にユーザによって実現され
たバッファに「トラップ」されている「古い」動画シー
ケンスからのデータもあり得る。レジスタdiscar
dallデータをセットすると、空間デコーダにこのデ
ータを消費させ、そして、破棄させる。これは、フラッ
シュトークンがスタートコード検出器に到達するか、或
いは、discardallデータがマイクロプロセッ
サインターフェースを介してリセットされる時まで、継
続する。
When the start code detector is stopped, there may also be data from the "old" video sequence that has been "trapped" in a buffer implemented by the user between the media and the decode chip. Register discar
Setting the dall data causes the spatial decoder to consume and discard this data. This continues until either the flash token reaches the start code detector or the discardall data is reset via the microprocessor interface.

【0716】「古い」シーケンスからのあらゆるデータ
が放棄されると、この段階において、新しいシーケンス
に従って、デコーダが動作を開始する準備が整う。
After discarding any data from the "old" sequence, the decoder is now ready to begin operation according to the new sequence at this stage.

【0717】A.11.5.2 「全モードの破棄(dis
card)開始時期」 discardallデータレジスタに1が記入された
直後に全モード破棄がスタートする。スタートコード検
出器がデータを活発に処理している場合にこれが行われ
ると、結果は予言不可能である。
A. 11.5.2 "Discard all modes (dis
card) Start time ”Immediately after 1 is written in the discardall data register, discarding of all modes starts. If this is done when the start code detector is actively processing data, the results are unpredictable.

【0718】スタートコード検出器イベント(非配列ス
タートイベント等)のうちのいずれかが割込みを生成し
た後で、全モード破棄は安全に開始されることが可能で
ある。
All mode discards can safely be initiated after any of the start code detector events (such as a non-aligned start event) generate an interrupt.

【0719】 A.11.5.3 「新しいシーケンスの開始」 或るコード化データ内のどこで新しいコード化動画シー
ケンスがスタートするかが未知である場合には、スター
トコード探索メカニズムを使用できる。このメカニズム
は、シーケンスのスタートに先行するあらゆる不必要な
データを放棄する。A.11.8を参照されたい。
A. 11.5.3 "Start New Sequence" If it is unknown where in a coded data a new coded video sequence starts, a start code search mechanism can be used. This mechanism discards any unnecessary data that precedes the start of the sequence. A. See 11.8.

【0720】 A.11.5.4 「シーケンス間のジャンプ」 このセクションでは、前記の幾つかの技術のアプリケー
ションを示す。目的は、1つのコード化動画シーケンス
の一部分からもう他の部分へ「ジャンプする」ことであ
る。この例において、ファイリングシステムは、データ
の「ブロック」へのアクセスを可能にするに過ぎない。
このブロック構造は、ディスク又はブロックエラー補正
システムのセクタサイズから得ることも出来る。従っ
て、コード化動画データにおける入り口及び出口の位置
は、ファイリングシステムブロック構造と関係がない場
合もあり得る。
A. 11.5.4 "Jumps between sequences" This section presents applications of some of the above techniques. The purpose is to "jump" from one part of one coded video sequence to another. In this example, the filing system only allows access to "blocks" of data.
This block structure can also be derived from the sector size of the disc or block error correction system. Therefore, the positions of the entrance and the exit in the coded moving image data may not be related to the filing system block structure.

【0721】ストップアフタピクチャ、及びdisca
rdallデータメカニズムは、古い動画シーケンスか
らの不必要なデータの破棄を可能にする。最後のファイ
リングシステムデータブロックの終了後、フラッシュト
ークンを挿入することにより、discardallデ
ータモードはリセットされる。次に、スタートコード探
索モードは、適当な入り口に先行する次のデータブロッ
ク内のあらゆるデータを放棄するために使用される。
Stop after picture and disca
The rdall data mechanism allows the discarding of unnecessary data from old video sequences. After the end of the last filing system data block, inserting a flush token resets the discardall data mode. The start code search mode is then used to discard any data in the next data block preceding the appropriate entry.

【0722】A.11.6 「バイトの整列」 当該技術分野において周知であるように、異なる符号化
計画は、データストリーム中のスタート/マーカコード
のバイト整列に関して全く異なる見解を持つ。例えば、
H.261は通信を直列ビットとして見る。従って、ス
タートコードのバイト整列に関してはコンセプトがな
い。イグノア・ノンアライン=0をセットすることによ
って、スタートコード検出器は、任意のビット整列のス
タートコードを検出することができる。ノンアラインス
タートマスク=0をセットすることによって、スタート
コード非配列割込みが抑圧される。
A. 11.6 "Byte Alignment" As is well known in the art, different coding schemes have quite different views regarding byte alignment of start / marker codes in a data stream. For example,
H. 261 sees the communication as a serial bit. Therefore, there is no concept regarding byte alignment of the start code. By setting Ignore / Non-Align = 0, the start code detector can detect start codes of arbitrary bit alignment. By setting non-aligned start mask = 0, start code non-aligned interrupts are suppressed.

【0723】ただし、これとは対照的に、JPEGは、
バイト整列が保証されているコンピュータ環境用として
設計された。従って、マーカコードは、バイトが整列し
た場合に限り検出されるべきである。符号化規格がJP
EGとして構成された場合には、イグノア・ノンアライ
ンレジスタは無視され、そして、非整列スタートイベン
トは決して生成されない。ただし、将来の製品との互換
性を保証するためにイグノア・ノンアライン=1、及び
ノンアラインスタートマスク=0をセットすることが推
奨される。
However, in contrast to this, JPEG
Designed for computing environments where byte alignment is guaranteed. Therefore, the marker code should be detected only if the bytes are aligned. The encoding standard is JP
If configured as EG, the ignor non-aligned register is ignored and the misaligned start event is never generated. However, it is recommended to set Ignore / Non-Align = 1 and Non-Align Start Mask = 0 in order to guarantee compatibility with future products.

【0724】一方、MPEGは、通信(直列ビット)及
びコンピュータ(バイト指向)システムの両方の必要性
を満たすように設計された。MPEGデータ内のスター
トコードは、通常、整列バイトでなければならない。た
だし、規格は、スタートコードに関して直列ビット探索
が可能であるように設計されている(MPEGビットパ
ターンは、どのようなビット整列であっても、スタート
コードでない限り、スタートコードのようには見えな
い)。従って、MPEGデコーダは、直列データ通信に
おけるバイト整列の損失を許容するように設計可能であ
る。
On the other hand, MPEG was designed to meet the needs of both communication (serial bit) and computer (byte oriented) systems. The start code in the MPEG data should normally be aligned bytes. However, the standard is designed so that a serial bit search is possible with respect to the start code (the MPEG bit pattern does not look like a start code unless it is a start code, whatever the bit alignment). ). Therefore, MPEG decoders can be designed to tolerate the loss of byte alignment in serial data communications.

【0725】非整列スタートコードが見付かった場合に
は、通常、既に通信エラーが発生していたことを示す。
エラーが直列ビット通信システムにおける「ビット‐ス
リップ」である場合には、このエラーを含むデータは既
にデコーダへ供給されている。このエラーは、デコーダ
内において他のエラーを引き起こす可能性があるものと
推測される。ただし、スタートコード検出器に到着する
新しいデータは、この整列が失われた後で、続いて復号
化可能である。
When a non-aligned start code is found, it usually means that a communication error has already occurred.
If the error is a "bit-slip" in a serial bit communication system, the data containing this error has already been supplied to the decoder. It is speculated that this error may cause other errors in the decoder. However, new data arriving at the start code detector can subsequently be decoded after this alignment is lost.

【0726】イグノア・ノンアライン=0、及びノンア
ラインスタートマスク=1をセットすることにより、非
整列スタートコードが検出された場合には、割込みが生
成可能である。責任の所在はアプリケーションに依存す
る。後続する全てのスタートコードは非整列である(バ
イト整列が復元されるまで)。従って、バイト整列が失
われた後で、ノンアラインスタートマスク=0をセット
することが適切であることもあり得る。
An interrupt can be generated when an unaligned start code is detected by setting Ignore / Non-Align = 0 and Non-Align Start Mask = 1. Responsibility depends on the application. All subsequent start codes are unaligned (until the byte alignment is restored). Therefore, it may be appropriate to set the non-aligned start mask = 0 after the byte alignment is lost.

【0727】[0727]

【表93】 A.11.7 「トークンの自動生成」 本発明において、スタートコード検出器によって出力さ
れたトークンの大部分は、様々なピクチャ及び動画コー
ド化規格の構文エレメントを直接反映する。これらの
「自然」トークンに加えて、幾つかの有用な「発明され
た」トークンが生成される。これらの所有権を主張でき
るトークンの例はピクチャ・エンド、及びコーディング
・スタンダードである。更に、符号化規格の間の或る程
度の構文的な差を除去し、そして、エラー条件の下で整
頓するために、トークンが導入される。
[Table 93] A. 11.7 "Automatic token generation" In the present invention, most of the tokens output by the start code detector directly reflect the syntax elements of various picture and video coding standards. In addition to these "natural" tokens, some useful "invented" tokens are generated. Examples of tokens that can claim their ownership are picture ends, and coding standards. In addition, tokens are introduced to remove some syntactic differences between coding standards and to tidy up under error conditions.

【0728】この自動トークン生成は、コード化データ
の直列分析の後で行われる(図70「スタートコード検
出器」参照)。従って、システムは、スタートコード検
出器を介して空間デコーダの入力に直接供給されたトー
クン及びコード化データ内のスタートコードの検出に後
続するスタートコード検出器によって生成されたトーク
ンに平等に応答する。
This automatic token generation is performed after serial analysis of the coded data (see Figure 70 "Start Code Detector"). Thus, the system equally responds to the tokens provided directly to the input of the spatial decoder via the start code detector and the tokens generated by the start code detector following the detection of the start code in the encoded data.

【0729】 A.11.7.1 「ピクチャの終了表示」 一般に、符号化規格は、ピクチャの終了を明白には送信
しない。ただし、本発明のスタートコード検出器は、現
行ピクチャが完了したことを示す情報を検出した場合、
ピクチャ・エンドトークンを生成する。 ピクチャ・エ
ンドを生成させるトークンを次に示す。シーケンススタ
ート、グループスタート、ピクチャ・スタート、シーケ
ンスエンド、及びフラッシュ。
A. 11.7.1 "End of picture indication" In general, coding standards do not explicitly send the end of a picture. However, if the start code detector of the present invention detects information indicating that the current picture is complete,
Generate a picture end token. The tokens that generate the picture end are: Sequence start, group start, picture start, sequence end, and flash.

【0730】A.11.7.2 「ピクチャ終了オプシ
ョン後の停止」 レジスタストップアフタピクチャがセットされている場
合には、スタートコード検出器は、ピクチャ・エンドト
ークンが供給した後で停止する。ただし、フラッシュト
ークンは、デコーダを介してコード化データの末端を
「プッシュ」し、そして、システムをリセットするため
に、ピクチャ・エンドの後で挿入される。A.11.
5.1を参照されたい。
A. 11.7.2 "Stop after end of picture option" If the Register Stop After Picture is set, the start code detector will stop after the picture end token is supplied. However, the flash token is inserted after the picture end to "push" the end of the coded data through the decoder and reset the system. A. 11.
See 5.1.

【0731】A.11.7.3 「H.261用シーケ
ンススタートの導入」 H.261は、シーケンススタートに等価な構文エレメ
ントを持たない表92参照)。インサートシーケンスス
タートレジスタがセットされている場合、スタートコー
ド検出器は、その次のピクチャ・スタートの前に1つの
シーケンススタートトークンがあることを保証する、即
ち、スタートコード検出器がピクチャ・スタートの前に
シーケンススタートを見ない場合には、一方のトークン
が導入される。一方が既に存在する場合には、シーケン
ススタートは導入されない。
A. 11.7.3 “Introduction of sequence start for H.261” 261 has no syntax element equivalent to sequence start (see Table 92). If the insert sequence start register is set, the start code detector guarantees that there is one sequence start token before the next picture start, i.e., the start code detector before the picture start. If no sequence start is seen at, one token is introduced. If one already exists, sequence start is not introduced.

【0732】この機能は、MPEG又はJPEGと共に
使用してはならない。
This function must not be used with MPEG or JPEG.

【0733】A.11.7.4 「各シーケンスに対す
る符号化規格の設定」 スタートコード検出器を離れる全てのシーケンススター
トトークンは、コーディング・スタンダードトークンに
よって常に先行される。このトークンには、スタートコ
ード検出器の現行符号化規格がロードされる。これは、
各新しい動画シーケンス用にセットされたデコーダチッ
プ全体に対して符号化規格をセットする。
A. 11.7.4 “Set coding standard for each sequence” Every sequence start token leaving the start code detector is always preceded by a coding standard token. This token is loaded with the current coding standard of the start code detector. this is,
Set the coding standard for the entire decoder chip set for each new video sequence.

【0734】A.11.8 「スタートコードの探索」 本発明に基づくスタートコード検出器は、コード化デー
タストリーム中の特定のタイプのスタートコードを探索
するために使用できる。これは、デコーダが、いくらか
のコード化データの構文内において、指定されたレベル
からの復号化を再開始することを可能にする(それに先
行するあらゆるデータを放棄した後において)。このた
めのアプリケーションを次に示す。
A. 11.8 "Search for Start Codes" The start code detector according to the present invention can be used to search for a particular type of start code in a coded data stream. This allows the decoder to restart decoding from a specified level within the syntax of some coded data (after discarding any data that precedes it). The application for this is shown below.

【0735】*未知の位置において(例えば、ランダム
アクセスの場合)コード化データファイルにジャンプし
た後におけるデコーダのスタート。
* Start decoder after jumping to coded data file at unknown location (eg for random access).

【0736】*データエラーの後において回復を援助す
るために、データ内の既知の点を探索する。
* Search for known points in the data to aid recovery after a data error.

【0737】例えば、表94は、異なるコンフィギュレ
ーションのスタートコードサーチに関して探索されたM
PEGスタートコードを示す。等価H.26l及びJP
EGスタート/マーカコードは、表92に見ることが出
来る。
For example, Table 94 shows M searched for start code searches for different configurations.
Indicates a PEG start code. Equivalent H. 26l and JP
The EG start / marker code can be found in Table 92.

【0738】[0738]

【表94】 スタートコードサーチにゼロでない値が記入される場
合、スタートコード検出器は、指定されたスタートコー
ドが検出されるまで、入来する全てのデータを破棄する
ことを開始する。次に、スタートコードサーチレジスタ
は0にリセットし、そして、正常作動が継続する。
[Table 94] If the start code search is filled with a non-zero value, the start code detector will begin to discard all incoming data until the specified start code is detected. The start code search register is then reset to 0 and normal operation continues.

【0739】スタートコードサーチは、ゼロ出ない値が
スタートコードサーチレジスタに記入された後で、即座
に開始する。スタートコード検出器がデータを活発に処
理している時にこれが行われた場合には、結果は予測不
可能である。従って、スタートコードサーチを開始する
以前に、一切のデータが処理されていないようにスター
トコード検出器が停止されていなければならない。任意
のスタートコード検出器イベント(非整列スタートイベ
ント等)が割込みの生成を完了したばかりである場合に
は、スタートコード検出器は、常にこの条件にある。
The start code search starts immediately after a non-zero value is written in the start code search register. If this is done while the start code detector is actively processing the data, the results are unpredictable. Therefore, before starting the start code search, the start code detector must be stopped so that no data is processed. The start code detector will always be in this condition if any start code detector event (such as a misaligned start event) has just completed generating an interrupt.

【0740】A.11.8.1 「JPEGと共にスタ
ートコードサーチを使用する場合の制限」 殆どのJPEGマーカコードは、それらと関連した16
ビット長カウントフィールドを持つ。このフィールド
は、マーカコードと関連しているデータセグメントの長
さを示す。このセグメントがマーカコードをエミュレー
トする値を含んでいても差し支えない。正常動作におい
て、スタートコード検出器は、データのこれらのセグメ
ント内のスタートコードを探さない。
A. 11.8.1 "Limitations When Using Start Code Search With JPEG" Most JPEG marker codes have 16 associated with them.
It has a bit length count field. This field indicates the length of the data segment associated with the marker code. This segment may contain values that emulate the marker code. In normal operation, the start code detector does not look for start codes in these segments of data.

【0741】或るJPEGコード化データへのランダム
アクセスがこの種セグメントに「ランドする」する場合
には、スタートコード探索メカニズムを高信頼度を以て
使用することは出来ない。一般に、JPEGコード化動
画は、ランダムアクセスのための入り口を識別するため
に付加的な外部情報を必要とする。
If a random access to some JPEG encoded data "lands" on such a segment, the start code search mechanism cannot be used reliably. In general, JPEG-encoded video requires additional external information to identify the entrance for random access.

【0742】 セクション A.12 「デコーダのスタート制御」 A.12.1 「デコーダスタートの概観」 デコーダにおいて、動画ディスプレイは、コード化デー
タが最初に利用可能になった後で、通常、短い時間だけ
遅れてディスプレイされる。この遅延の期間中、コード
化データは、デコーダ内のバッファに集積する。バッフ
アをこのように予充満することによって、復号化期間中
にバッファが決して空にならないことを保証し、ひいて
は、デコーダが、規則的な間隔を以て、新しいピクチャ
を復号化することができることを保証する。
Section A. 12 "Decoder start control" A. 12.1 "Overview of Decoder Start" In a decoder, the video display is usually displayed with a short delay after the coded data is first made available. During this delay, the coded data accumulates in a buffer within the decoder. This prefilling of the buffer ensures that the buffer will never be empty during the decoding period, and thus that the decoder will be able to decode new pictures at regular intervals. .

【0743】一般に、デコーダを正しくスタートするた
めには2つの機能が必要とされる。第1に、どれだけの
量のデータがデコーダに供給されたかを測るメカニズム
がなくてはならない。2番目に、新しい動画ストリーム
のディスプレイを防止するためのメカニズムがなければ
ならない。本発明の空間デコーダは、どれだけの量のデ
ータが到着したかを測定するために、その入力の近くに
ビットカウンタを備え、そして、出力されつつある新し
い動画ストリームがスタートすることを防止するため
に、その出力の近くに出力ゲートを備える。
Generally, two functions are required to properly start the decoder. First, there must be a mechanism to measure how much data was supplied to the decoder. Second, there must be a mechanism to prevent the display of new video streams. The spatial decoder of the present invention comprises a bit counter near its input to measure how much data has arrived, and to prevent a new video stream being output from starting. And an output gate near its output.

【0744】これらの機能を制御するための複雑性に3
つのレベルがある。
The complexity of controlling these functions is 3
There are two levels.

【0745】*出力ゲートは常に開いている *基礎的制御 *上級制御 出力ゲートを常に開いた状態に保持することにより、コ
ード化データがデコーダに到着し始めた後において、で
きる限り早期にピクチャ出力がスタートする。これは、
静止画像を復号化する場合、或いは、ディスプレイが何
か他のメカニズムによって遅延されつつある場合に適す
る。
* Output gate is always open * Basic control * Advanced control By keeping the output gate always open, the picture output is as early as possible after the coded data starts to arrive at the decoder. Will start. this is,
Suitable when decoding still images or when the display is being delayed by some other mechanism.

【0746】基礎的制御と上級制御との間の差は、任意
の時点において、デコーダのバッファ内に幾つの短い動
画ストリームが収容可能かということである。大抵のア
プリケーションにとっては基礎的制御で十分である。た
だし、上級制御は、ユーザソフトウェアが、数個の非常
に短い動画ストリームのスタートのデコーダによる管理
を援助することを可能にする。
The difference between basic control and advanced control is how many short video streams can fit in the decoder's buffer at any given time. Basic control is sufficient for most applications. However, advanced control allows user software to assist the decoder in managing the start of several very short video streams.

【0747】 A.12.2 「MPEG動画バッファベリファイア」 MPEGは、一定データレートシステム用「動画バッフ
ァベリファイア(VBV)」について記述する。VBV
情報を用いることにより、デコーダは、ピクチャをディ
スプレイを開始する以前に、そのバッファを予充満する
ことが可能になる。再度説明すれば、この予充満によ
り、デコーダのバッファが、復号化期間中に決して空に
ならないことが保証される。
A. 12.2 "MPEG Video Buffer Verifier" MPEG describes "Video Buffer Verifier (VBV)" for constant data rate systems. VBV
The information allows the decoder to prefill its buffer before starting to display the picture. Again, this prefill ensures that the decoder's buffer is never empty during the decoding period.

【0748】要約すれば、各MPEGピクチャはvbv
delayパラメータを持つ。このパラメータは、第1
のピクチャが復号化される以前に、「理想デコーダ」の
コード化データバッファがコード化データでいっぱいに
なるために必要な時間を規定する。第1のピクチャのた
めのスタート遅延に注意すれば、後続する全てのピクチ
ャの必要条件には自動的に適合する。
In summary, each MPEG picture is vbv
It has a delay parameter. This parameter is the first
Defines the time required for the "ideal decoder" coded data buffer to be filled with coded data before the picture in is decoded. Noting the start delay for the first picture, it will automatically meet the requirements of all subsequent pictures.

【0749】従って、MPEGは、スタートに関する必
要条件を遅延として規定する。ただし、一定ビットレー
トシステムにおいては、この遅延は、ビットカウントに
容易に変換できる。これは、本発明の空間デコーダのス
タート制御動作の基礎である。
Therefore, MPEG defines a requirement for a start as a delay. However, in constant bit rate systems, this delay can be easily converted to a bit count. This is the basis of the start control operation of the spatial decoder of the present invention.

【0750】A.12.3 「ストリームの定義」 このアプリケーションにおいて、ストリームという用語
は、MPEGにおけるシーケンスという用語との混乱を
避けるために使われる。従って、ストリームは、アプリ
ケーションにとって関心のある動画データの量を意味す
る。従って、1つのストリームが多数のMPEGシーケ
ンスであるか、或いは、1つのピクチャでありうる。
A. 12.3 “Definition of Streams” In this application, the term stream is used to avoid confusion with the term sequence in MPEG. Therefore, the stream means the amount of moving image data of interest to the application. Therefore, one stream can be multiple MPEG sequences or one picture.

【0751】この章に記述されるデコーダスタート機能
は、1つのストリーム内の第1ピクチャに関するVBV
必要条件に適合することに関係する。当該ストリーム内
の後続ピクチャの必要条件には自動的に適合する。
The decoder start function described in this chapter is the VBV for the first picture in one stream.
Relevant to meeting requirements. It automatically meets the requirements of subsequent pictures in the stream.

【0752】A.12.4 「スタート制御レジスタ」A. 12.4 “Start Control Register”

【0753】[0753]

【表95】 [Table 95]

【0754】[0754]

【表96】 A.12.5 「常時開出力ゲート」 出力ゲートは、開いた状態を維持するように構成可能で
ある。静止画像が復号化されつつある場合、或いは、動
画デコーダのスタートを管理するために他の何等かのメ
カニズムが利用可能である場合には、このコンフィギュ
レーション構成が適切である。
[Table 96] A. 12.5 "Normally Open Output Gate" The output gate can be configured to remain open. This configuration is appropriate if the still image is being decoded, or if some other mechanism is available to manage the start of the video decoder.

【0755】リセット後に必要とされるコンフィギュレ
ーションを次に示す(スタートアップアクセスに1を記
入することによってスタート制御ロジックへのアクセス
が得られる)。
The configuration required after reset is shown below (accessing the start control logic is obtained by writing a 1 to the startup access).

【0756】* オフチップキュー=1をセットする * イネーブルストリーム=1をセットする * 全てのデコーダスタートイベントマスクレジスタが
0にセットされ、それらのレジスタの割込みを無能にす
るることを保証する(これは、リセット後のデフォルト
状態である)。 (これが出力ゲートを開いた状態に保持する理由につい
ての説明に関してはA.12.7.1を参照された
い)。
* Set off-chip queue = 1 * Set enable stream = 1 * Ensure that all decoder start event mask registers are set to 0, disabling interrupts in these registers (this Is the default state after reset). (See A.12.7.1 for an explanation of why this holds the output gate open).

【0757】A.12.6 「基本動作」 本発明において、殆どのMPEG動画アプリケーション
にとっては、スタートロジックの基礎的な制御で充分で
ある。このモードにおいて、ビットカウンタは出力ゲー
トと直接通信する。フラッシュトークンによって指示さ
れるように、動画ストリームのエンドが出力ゲートを供
給する時、出力ゲートは自動的に閉じる。ストリームが
そのスタートビットカウントを達成した時にビットカウ
ンタ回路により1つのイネイブルが供給されるまで、当
該ゲートは閉じた状態を維持する。
A. 12.6 "Basic Operation" In the present invention, basic control of start logic is sufficient for most MPEG video applications. In this mode, the bit counter communicates directly with the output gate. The output gate automatically closes when the end of the video stream supplies the output gate, as indicated by the flash token. The gate remains closed until one enable is provided by the bit counter circuit when the stream reaches its start bit count.

【0758】リセットの後で必要とされるコンフィギュ
レーションを次に示す(スタートアップアクセスに1を
記入することによりスタート制御ロジックへのアクセス
が得られる)。
The configuration required after reset is shown below (filling in 1 to the start-up access gives access to the start control logic).

【0759】*コード化データのほぼ予測範囲に対して
ビットカウントプリスケールをセットする。
Set bit count prescale to approximately predictive range of coded data.

【0760】*このエラー条件を検出可能にするために
カウンタflushed tooearlyマスク=1
をセットする。
* Counter flushed tooearly mask = 1 to enable detection of this error condition
Set.

【0761】次に示す2つの割込みサービスルーチンが
必要とされる。
The following two interrupt service routines are required.

【0762】*新しい各ストリーム内の第1ピクチャ用
vbv遅延値を得るための動画デマルチプレクスサービ
ス。
* Video demultiplexing service to obtain the vbv delay value for the first picture in each new stream.

【0763】*この条件に反応するためのカウンタfl
ushed too earlyサービス。
* Counter fl for reacting to this condition
used to early service.

【0764】新しい動画ストリーム用vbv遅延を復号
化する時(即ち、フラッシュ後において第1ピクチャが
動画デマルチプレクサに到着する時)、この動画デマル
チプレクサ(別名動画パーザ)は割込みを生成すること
が出来る。割込みサービスルーチンは、ビットカウント
ターゲット用の適切な値を計算し、そして、それを記入
しなければならない。ビットカウンタがこの目標に到達
した時、このビットカウンタは、ビットカウンタと出力
ゲートとの間の短いキューに1つのイネイブルを挿入す
る。出力ゲートが開くと、このゲートはこのキューから
1つのイネイブルを除去する。
When decoding a vbv delay for a new video stream (ie, when the first picture arrives at the video demultiplexer after a flash), this video demultiplexer (aka the video parser) can generate an interrupt. . The interrupt service routine must calculate and fill in the appropriate value for the bit count target. When the bit counter reaches this target, it inserts an enable in a short queue between the bit counter and the output gate. When the output gate opens, it removes one enable from this queue.

【0765】A.12.6.1 「別のストリーム終了
直後における新ストリームの開始」 一例として、終わろうとしていMPEGストリームをA
と呼び、そして、開始しようとしているMPEGストリ
ームをBと呼ぶこととする。Aのエンドの後でフラッシ
ュトークンが挿入されなければならない。このトークン
は、そのコード化データの最後のデータをデコードを通
って押し、、デコーダの様々なセクションに新しいスト
リームが予測されることを警告する。
A. 12.6.1 “Start of a new stream immediately after another stream ends” As an example, the MPEG stream which is about to end is A
, And the MPEG stream about to start is called B. A flush token must be inserted after A's end. This token pushes the last piece of coded data through the decode, alerting various sections of the decoder that a new stream is expected.

【0766】通常、ビットカウンタはゼロにリセット済
みであり、Aは既にそのスタート条件に適合した状態で
ある。フラッシュの後で、ビットカウンタは、ストリー
ムB内のビットをカウントし始める。動画デマックス
が、ストリームB内の第1ピクチャからvbv遅延を復
号化し終わると、割込みが生成されて、ビットカウンタ
を構成可能にする。
Normally, the bit counter has been reset to zero, and A has already met its start condition. After the flush, the bit counter begins counting the bits in stream B. When the video demux finishes decoding the vbv delay from the first picture in stream B, an interrupt is generated to allow the bit counter to be configured.

【0767】ストリームAのエンドをマークするフラッ
シュが出力ゲートを通過するにつれて、ゲートが閉じ
る。ゲートは、Bがそのスタート条件に適合するまで、
閉じた状態を維持する。例えば、ストリームB及びバッ
ファの深さのためのスタート遅延のような多数の要因に
応じて、出力ゲートが閉じた時、Bが既にそのスタート
条件条件に適合済みであることが可能である。この場
合、1つのイネイブルはキュー内において待機してお
り、そして、出力ゲートは即座に開く。そうでない場合
には、ストリームBは、そのスタート必要条件に適合す
るまで、待たなければならない。
The gate closes as the flash marking the end of stream A passes through the output gate. The gate, until B meets its starting conditions,
Keep closed. Depending on a number of factors, such as the start delay for stream B and buffer depth, it is possible that B has already met its start condition when the output gate is closed. In this case, one enable is waiting in the queue and the output gate opens immediately. Otherwise, stream B must wait until it meets its start requirements.

【0768】 A.12.6.2 「短いストリームの連続」 ビットカウンタと出力ゲートとの間に位置するキューの
容量は、3つの個別動画ストリームをそれらのスタート
条件に適合可能にし、そして、復号化を終了させるため
に前のストリームを待つことを可能にするために十分で
ある。本発明において、非常に短いストリームが復号化
されつつある場合、、或いは、オフチップバッファが復
号化中のピクチャフォーマットと比較して非常に大きい
場合に限りこの条件が発生する。
A. 12.6.2 The capacity of the queue located between the "Short Stream Consecutive" bit counter and the output gate to allow the three individual video streams to meet their start conditions and to finish the decoding Is sufficient to allow waiting for the previous stream. In the present invention, this condition occurs only if a very short stream is being decoded, or if the off-chip buffer is very large compared to the picture format being decoded.

【0769】図78において、ストリームAは復号化さ
れつつあり、そして、出力ゲートは開いている。ストリ
ームB及びCは、それらのスタート条件に適合し、そし
て、空間デコーダによって管理されたバッファ内に完全
に含まれる。ストリームDは、空間デコーダの入力に依
然として到着しつつある。
In FIG. 78, stream A is being decoded and the output gate is open. Streams B and C meet their start conditions and are completely contained within the buffer managed by the spatial decoder. Stream D is still arriving at the input of the spatial decoder.

【0770】ストリームB及びC用のエネイブルは、キ
ュー内に在る。従って、ストリームAが完了する、Bは
即座にスタート可能である。同様に、CはBの直後に後
続可能である。
The enable for streams B and C is in the queue. Thus, stream A is complete and B can start immediately. Similarly, C can immediately follow B.

【0771】Dがそのスタート目標に適合するばあいに
Aが出力ゲートを依然として通過中である場合には、1
つのイネイブルがキューに加えられ、キューを満たす。
Dのエンドがビットカウンタを通過する時までに、一切
のイナイブルがキューから除去されなかった場合には
(すなわち、Aは、出力ゲートを通過中であるし)、新
しいストリームは、ビットカウンタを経てスタートする
ことが出来ない。Bが出力ゲートを供給できるように出
力ゲートは開いた状態にあるので、Aが完了し、そし
て、1つのイネイブルがキューから除去されるまで、コ
ード化データは、入力において、ホールドアップされ
る。
1 if A is still passing through the output gate if D meets its start goal
One enable is added to the queue to fill it.
If no enable is removed from the queue by the time D's end passes through the bit counter (ie, A is passing through the output gate), the new stream goes through the bit counter. I can't start. Since the output gate is open so that B can supply it, the coded data is held up at the input until A is complete and one enable is removed from the queue.

【0772】A.12.7 「上級動作」 本発明に基づき、スタートロジックの上級制御は、A.
12.6「基礎動作」において記述されているようにユ
ーザーソフトウェアが作動可能化キューの長さを制限な
しに拡張することを可能にする。動画デコーダが、A.
12.6.2「短いストリームの連続」において記述さ
れているよりも長い一連の短い動画ストリームを収容し
なければならない場合に限り、このレベルの制御が必要
とされる。
A. 12.7 “Advanced Operation” In accordance with the present invention, advanced control of the start logic is described in A.
Allows user software to extend the length of the enablement queue without restriction, as described in 12.6 "Basic Operations". The video decoder is A.
This level of control is required only if it must accommodate a series of short video streams that are longer than those described in 12.6.2 "Sequence of Short Streams".

【0773】システムの基礎動作に必要とされるコンフ
ィギュレーション構成に加えて、リセットの後で、次に
示すコンフィギュレーションが必要とされる(スタート
upアクセスに1を記入することによってスタート制御
ロジックへのアクセスが得られる)。
In addition to the configuration configuration required for the basic operation of the system, after reset, the following configuration is required (by writing a 1 to the start up access to the start control logic: Access is obtained).

【0774】*オフチップキュー=1をセットする。* Set off-chip queue = 1.

【0775】*キューから1つのイネイブルが除去され
た場合、割込みを作動可能化するためにアクセプトイネ
ーブルマスク=1をセットする。
* If one enable is removed from the queue, set AcceptEnableMask = 1 to enable interrupts.

【0776】*ストリームのビットカウント標的が達成
された場合、割込みを作動可能化するためにターゲット
metマスク=1をセットする。
* If the stream's bit count target is reached, set target met mask = 1 to enable interrupts.

【0777】次に示す2つの付加的割込みサービスルー
チンが必要とされる。
The following two additional interrupt service routines are required.

【0778】*受け入れ可能化割込み *標的達成割込み 標的達成割込みターゲットが発生した場合、サービスル
ーチンは、そのオフチップ作動可能化キューに1つのイ
ネイブル加えなければならない。
* Accept Enable Interrupt * Target Achievement Interrupt Target Achievement Interrupt When a target occurs, the service routine must add one enable to its off-chip enablement queue.

【0779】 A.12.7.1 「出力ゲートロジックの作動態様」 イネーブルストリームレジスタに1を記入すると、1つ
のイネイブルが短いキューにロードされる。
A. 12.7.1 "Operation of Output Gate Logic" When 1 is written in the enable stream register, one enable is loaded into the short queue.

【0780】フラッシュ(ストリームのエンドをマーク
する)が出力ゲートを供給すると、ゲートは閉じる。利
用可能な1つのイネイブルがキューのエンドに在る場合
には、ゲートが開いて、そして、アクセプトイネーブル
イベントを生成する。アクセプトイネーブルマスクが1
にセットされる場合には、割込みが生成可能であり、そ
して、キューのエンドから1つのイネイブルが除去され
る(レジスタイネーブルストリームはリセットされ
る)。
When a flush (marking the end of the stream) supplies the output gate, the gate is closed. If there is one enable available at the end of the queue, the gate will open and generate an accept enable event. Accept enable mask is 1
If set to, an interrupt can be generated and one enable is removed from the end of the queue (register enable stream is reset).

【0781】ただし、アクセプトイネーブルマスクがゼ
ロにセットされる場合には、アクセプトイネーブルイベ
ントに続いて割込みは生成されず、そして、当該イネイ
ブルはキューのエンドから除去されない。このメカニズ
ムは、A.12.5に述べられているように、出力ゲー
トを開いた状態に保つために使用できる。
However, if the accept enable mask is set to zero, no interrupt is generated following the accept enable event, and the enable is not removed from the end of the queue. This mechanism is described in A. It can be used to keep the output gate open, as described in 12.5.

【0782】A.12.8 「ビットカウント」 ビットカウンタは、フラッシュトークンがこのカウンタ
を通過した後で、カウントを開始する。このフラッシュ
トークンは、現行動画ストリームのエンドを示す。この
点に関して、ビットカウンタは、ビットカウントtar
getレジスタにセットされているビットカウント目標
に適合するまでカウントを継続する。次に、目標適合イ
ベントが生成され、そして、ビットカウンタがゼロにリ
セットし、そして、次のフラッシュトークンを待つ。
A. 12.8 "Bit Count" The bit counter starts counting after the flash token has passed this counter. This flash token indicates the end of the current video stream. In this regard, the bit counter is the bit count tar.
Continue counting until the bit count target set in the get register is met. Next, a Goal Match event is generated, the bit counter resets to zero, and waits for the next flush token.

【0783】更に、ビットカウンタは、最大カウント
(255)に到達すると、インクリメントを停止する。
Further, when the bit counter reaches the maximum count (255), it stops incrementing.

【0784】 A.12.9 「ビットカウントプリスケール」 本発明において、ビットカウンタを1度インクリメント
するには2の(bit count prescale+1)乗×512ビット
が必要である。更に、ビットカウントプリスケールは、
0と7との間に値を保持できる3ビットレジスタであ
る。
A. 12.9 "Bit Count Prescale" In the present invention, in order to increment the bit counter once, 2 (bit count prescale + 1) th power x 512 bits are required. In addition, the bit count prescale is
It is a 3-bit register that can hold a value between 0 and 7.

【0785】[0785]

【表97】 動画ストリームの幾つかのエレメントは既にトークン化
されているので(例えば、スタートコード)、ビットカ
ウントは近似的であり、従って、非データトークンを含
む。
[Table 97] Since some elements of the video stream have already been tokenized (eg start code), the bit count is approximate and thus includes non-data tokens.

【0786】 A.12.10 「早過ぎるカウンタフラシュ」 ビットカウント目標の達成以前に、フラッシュトークン
がビットカウンタに到着する場合には、割込みの原因と
なり得るイベントが生成される(カウンタflushe
d too earlyマスク=1である場合)。割込
みが生成されれば、ビットカウンタ回路が停止し、それ
以上のデータ入力を阻止する。このイベントが発生した
後において何時出力ゲートを開くかを決定するのはユー
ザソフトウェアの責任である。ビットカウント目標とし
て0を記入することによって開くように出力ゲートを作
成することが出来る。2、3のピクチャだけ継続する動
画ストリームの復号化を試行する場合に限り、これらの
情況が発生するはずである。
A. 12.10 "Premature Counter Flash" If a flash token arrives at the bit counter before the bit count goal is reached, an event that could cause an interrupt is generated (counter flushhe).
d too early mask = 1). If an interrupt is generated, the bit counter circuit is stopped, preventing further data input. It is the responsibility of the user software to decide when to open the output gate after this event occurs. The output gate can be made to open by entering 0 as the bit count target. These situations should occur only if one tries to decode a video stream that lasts only a few pictures.

【0787】セクション A.13 「バッファ管理」 空間デコーダは、2つの論理的データバッファ、即ち、
コード化データバッファ(CDB)及びトークンバッフ
ァ(TB)を管理する。
Section A. 13 "Buffer Management" Spatial Decoder has two logical data buffers:
It manages the coded data buffer (CDB) and the token buffer (TB).

【0788】CDBは、スタートコード検出器とハフマ
ンデコーダの入力との間でコード化データを緩衝する。
これは、低データレートコード化動画データに対して緩
衝作用を提供する。TBは、ハフマンデコーダの出力と
空間動画復号化回路(逆モデラ、量子化器、及びDC
T)の入力との間のデータを緩衝する。この2番目の論
理的バッファは、変動するデータ量を持つピクチャの処
理を収容するために処理時間が拡張を含むことを可能に
する。
The CDB buffers coded data between the start code detector and the input of the Huffman decoder.
This provides a buffer for low data rate coded video data. TB is the output of the Huffman decoder and the spatial video decoding circuit (inverse modeler, quantizer, and DC).
Buffer the data to and from the input of T). This second logical buffer allows processing time to include expansion to accommodate processing of pictures with varying amounts of data.

【0789】双方のバッファは、物理的には1つの単一
オフチップDRAMアレイに保持される。これらのバッ
ファ用アドレスは、バッファマネージャによって生成さ
れる。
Both buffers are physically held in one single off-chip DRAM array. The addresses for these buffers are generated by the buffer manager.

【0790】 A.13.1 「バッファマネージャレジスタ」 空間デコーダバッファマネージャーは、デバイスがリセ
ットされた直後に、1度だけ構成されるように意図され
ている。正常作動中は、バッファマネージャの再構成に
関する必要条件はない。
A. 13.1 "Buffer Manager Register" The Spatial Decoder Buffer Manager is intended to be configured only once immediately after the device is reset. During normal operation, there are no requirements for buffer manager reconfiguration.

【0791】空間デコーダからリセットが除去された後
で、バッファマネージャは停止させられ(バッファマネ
ジャアクセスレジスタを1にセットする)、コンフィギ
ュレーション化を待つ。レジスタが構成された後で、バ
ッファマネジャアクセスは0にセット可能であり、復号
化を開始することができる。
After the reset is removed from the spatial decoder, the buffer manager is stopped (buffer manager access register set to 1) and awaits configuration. After the register is configured, the buffer manager access can be set to 0 and decoding can begin.

【0792】バッファマネージャ作動中はバッファマネ
ージャに使用されているレジスタは、殆どの場合、高信
頼度を以てアクセスすることは不可能である。あらゆる
バッファマネージャーレジスタにアクセスしようとする
場合には、それ以前に、バッファマネジャアクセスを1
にセットしなければならない。これは、バッファマネジ
ャアクセスから値1が読み取られるまで、待ちプロトコ
ルに従うことを必須にする。バッファの条件を監視する
ために、例えばcdbfull、及びcdbempty
のようなレジスタをポーリングする場合、アクセスの確
保および放棄に要する時間について考慮しなければなら
ない。
During the operation of the buffer manager, the registers used by the buffer manager are in most cases inaccessible with high reliability. If you want to access every buffer manager register, you must first make one buffer manager access.
Must be set to. This makes it mandatory to follow the wait protocol until the value 1 is read from the buffer manager access. To monitor the condition of the buffer, for example cdbfull, and cdbempty
When polling registers such as, the time taken to secure and relinquish access must be considered.

【0793】[0793]

【表98】 A.13.1.1 「バッファマネージャのポインタの
値」 一般に、データは、空間デコーダとオフチップDRAM
との間において64バイトのバーストとして転送される
(DRAMの高速ページモードを用いる)。全てのバッ
ファポインタ及び長さレジスタは、これらの64バイト
(512ビット)データのブロックを意味する。従っ
て、バッファマネージャの18ビットレジスタは、25
6kブロック線形アドレススペース(即ち、128M
b)を記述する。
[Table 98] A. 13.1.1 “Value of pointer of buffer manager” Generally, data is a space decoder and off-chip DRAM.
Is transferred as a 64-byte burst between (using the fast page mode of DRAM). All buffer pointers and length registers refer to these blocks of 64 bytes (512 bits) of data. Therefore, the buffer manager's 18-bit registers are 25
6k block linear address space (ie 128M
Describe b).

【0794】64バイト転送は、DRAMインターフェ
ースの幅(8、16、または32ビット)からは独立し
ている。
The 64-byte transfer is independent of the width of the DRAM interface (8, 16 or 32 bits).

【0795】 A.13.2 「バッファマネージャレジスタの使用」 空間デコーダバッファマネージャは、2つの類似したバ
ッファを定義する2組のレジスタを持つ。バッファリミ
ットレジスタは、メモリースペースの物理的な上限界を
定義する。全てのアドレスは、この数を法として計算さ
れる。
A. 13.2 "Use Buffer Manager Registers" The spatial decoder buffer manager has two sets of registers that define two similar buffers. The buffer limit register defines the physical upper limit of memory space. All addresses are calculated modulo this number.

【0796】利用可能なメモリーの限界内において、各
バッファの範囲は、2つのレジスタ、即ち、バッファベ
ース(cdbbase、及びtbbase)、及びバッ
ファ長さ(cdblength、及びtblengt
h)により定義される。バッファが使用可能になるため
には、ここまでに記述した全てのレジスタがそれ以前に
構成されていなければならない。
Within the limits of available memory, the range of each buffer is two registers: buffer base (cdbbase and tbbase), and buffer length (cdblength and tblengt).
h). All the registers described so far must have been configured before the buffer can be used.

【0797】各バッファの現在の状態は、4つのレジス
タにおいて視ることができる。バッファリードレジスタ
(cdbread、及びtbread)は、そこから次
にデータが読み出されるバッファベースからのオフセッ
トを示す。バッファナンバーレジスタ(cdbnumb
er、及びtbnumber)は、バッファによって現
在保持されているデータの量を示す。状態ビットcdb
full、tbfull、cdbempty、及びtb
emptyは、バッファが満杯か、或いは、空であるか
を示す。
The current state of each buffer can be seen in four registers. The buffer read registers (cdbread and tbread) indicate the offset from the buffer base from which the next data is read. Buffer number register (cdbnumb
er, and tbnumber) indicate the amount of data currently held by the buffer. Status bit cdb
full, tbfull, cdbempty, and tb
empty indicates whether the buffer is full or empty.

【0798】A.13.1.1に述べられているよう
に、前述の全てのレジスタに関する単位は512ビット
のデータブロックである。従って、コード化データバッ
ファ内のビット数を求めるためには、cdbnumbe
rから読み出された値ん512を乗じなければならな
い。
A. As stated in 13.1.1, the unit for all the above registers is a 512 bit data block. Therefore, to obtain the number of bits in the coded data buffer, cdbnumbe
It must be multiplied by the value 512 read from r.

【0799】A.13.3 「ゼロバッファ」 「リアルタイム」必要条件が適用されない静止画像用ア
プリケーション(例えば、JPEGを使用)は、バッフ
ァマネージャによってサポートされた大きいオフチップ
バッファを必要としない。この場合、コード化データバ
ッファ及びトークンバッファに128ビットストリーム
オンチップFIFOを供給するためにバッファマネージ
ャを無視するように(レジスタゼロバッファに1を記入
することによって)DRAMインターフェースを構成可
能である。
A. 13.3 "Zero Buffer" Still image applications (e.g., using JPEG) where "real time" requirements do not apply do not require large off-chip buffers supported by the buffer manager. In this case, the DRAM interface can be configured (by filling the register zero buffer with 1) to ignore the buffer manager to provide the 128 bit stream on-chip FIFO for the coded data buffer and the token buffer.

【0800】更に、ゼロのバッファオプションは、低デ
ータレートにおける小さいピクチャフォーマットによる
動作を操作するアプリケーションに適する場合もあり得
る。
Furthermore, the zero buffer option may be suitable for applications that operate with small picture formats at low data rates.

【0801】注記:レジスタゼロバッファは、DRAM
インターフェースの一部であるので、DRAMインター
フェースのポストリセット構成化の期間中に限ってセッ
トされなければならない。
Note: Register Zero Buffer is a DRAM
Being part of the interface, it must be set only during the post reset configuration of the DRAM interface.

【0802】 A.13.4 「バッファオペレーション」 バッファを介して行われるデータ転送は、ハンドシェー
クプロトコルによって制御される。従って、バッファが
満杯であるか、又は、空である場合にはデータエラーが
発生しないことが保証される。バッファが満杯である場
合には、データをバッファに送ろうとする回路は、バッ
ファにスペースができるまで、停止させられる。バッフ
ァが満杯状態を継続する場合には、当該バッファの上流
に配置された更に処理し続けるステージは、空間デコー
ダがその入力ポートにおいてデータを受け入れることが
出来なくなるまで、停止する。同様に、バッファが空で
ある場合には、バッファからデータを除去しようとする
回路は、データが利用可能になる時まで、停止する。
A. 13.4 "Buffer Operation" The data transfer performed through the buffer is controlled by the handshake protocol. Therefore, it is guaranteed that no data error will occur if the buffer is full or empty. If the buffer is full, the circuits that are trying to send data to the buffer are stalled until space is available in the buffer. If the buffer continues to be full, further processing stages located upstream of the buffer will stall until the spatial decoder can no longer accept data at its input port. Similarly, if the buffer is empty, circuits that try to remove data from the buffer will stall until the data is available.

【0803】A.13.2に示すように、コード化デー
タ及びトークンバッファの位置およびサイズは、バッフ
ァベース及び長さレジスタによって指定される。これら
のレジスタを構成すること、及び2つのバッファの間の
メモリー用法に矛盾がないことを保証することはユーザ
の責任である。
A. The location and size of the coded data and token buffers are specified by the buffer base and length registers, as shown in 13.2. It is the responsibility of the user to configure these registers and to ensure that the memory usage between the two buffers is consistent.

【0804】 セクションA.14 「動画デマルチプレクサ」 動画パーザとも呼ばれる動画デマルチプレクサは、コー
ド化データをスタートコード検出器によってスタートさ
れたトークンに変換するというタスクを完了する。動画
デマルチプレクサには4つの主要処理ブロックがある、
即ち、パーザステートマシン、ハフマンデコーダ(IT
ODを含む)、マクロブロックカウンタ、及びALUで
ある。
Section A. 14 "Video Demultiplexer" A video demultiplexer, also called a video parser, completes the task of converting coded data into tokens started by a start code detector. The video demultiplexer has four main processing blocks,
That is, parser state machine, Huffman decoder (IT
(Including OD), macroblock counter, and ALU.

【0805】パーザ又はステートマシンは、コード化動
画データの構文に従い、そして、他のユニットを指示す
る。ハフマンデコーダは、可変長コード化(VL0)デ
ータを整数に変換する。マクロブロックカウンタは、現
在復号化されつつあるピクチャセクションのトラックを
保持する。ALUは、必要な算術計算を行う。
The parser or state machine follows the syntax of the coded video data and points to other units. The Huffman decoder converts variable length coded (VL0) data to integers. The macroblock counter keeps track of the picture section currently being decoded. The ALU performs the necessary arithmetic calculations.

【0806】 A.14.1 「動画デマルチプレクサレジスタ」A. 14.1 “Video Demultiplexer Register”

【0807】[0807]

【表99】 [Table 99]

【0808】[0808]

【表100】 [Table 100]

【0809】[0809]

【表101】 [Table 101]

【0810】[0810]

【表102】 [Table 102]

【0811】[0811]

【表103】 A.14.1.1 「レジスタのローディング、及びト
ークンの生成」 動画デマルチプレクサ内の多数のレジスタは、コード化
されたピクチャ/動画データにおいて通常伝達されるパ
ラメータに直接関係する値を保持する。例えば、水平画
素レジスタは、MPEGシーケンスヘッダ情報、水平サ
イズ、及びJPEGフレームヘッダパラメータ、Xに対
応する。これらのレジスタは、当該コード化データが復
号化される時、動画デマルチプレクサによってロードさ
れる。同様に、これらのレジスタもトークンと関連す
る。
[Table 103] A. 14.1.1 "Register Loading and Token Generation" A number of registers in the video demultiplexer hold values that are directly related to the parameters normally conveyed in coded picture / video data. For example, the horizontal pixel register corresponds to MPEG sequence header information, horizontal size, and JPEG frame header parameter, X. These registers are loaded by the video demultiplexer when the coded data is decoded. Similarly, these registers are also associated with tokens.

【0812】例えば、水平画素レジスタ、トークン、水
平サイズと関連する。トークンは、コード化データが復
号化される時(又は、直後も)、動画デマルチプレクサ
によって生成される。同様に、トークンは、空間デコー
ダの入力に直接に供給可能である。この場合、トークン
が持つ値は、当該トークンと関連した動画デマルチプレ
クサを構成する。
For example, it is related to the horizontal pixel register, the token, and the horizontal size. The token is generated by the video demultiplexer when the encoded data is decrypted (or shortly thereafter). Similarly, tokens can be fed directly to the input of the spatial decoder. In this case, the value of the token constitutes the video demultiplexer associated with the token.

【0813】[0813]

【表104】 [Table 104]

【0814】[0814]

【表105】 [Table 105]

【0815】[0815]

【表106】 [Table 106]

【0816】[0816]

【表107】 [Table 107]

【0817】[0817]

【表108】 [Table 108]

【0818】[0818]

【表109】 [Table 109]

【0819】[0819]

【表110】 [Table 110]

【0820】[0820]

【表111】 [Table 111]

【0821】[0821]

【表112】 A.14.2 「ピクチャの構造」 本発明におけるピクチャの次元は、空間デコーダに対し
て2つの異なる単位、即ち、ピクセル及びマクロブロッ
クとして記述される。JPEG及びMPEGは双方共、
ピクチャ次元をピクセルとして伝達する。ピクセルとし
て次元を伝達することにより、有効なデータを含むバッ
ファの領域を決定する。この場合の当該領域は全バッフ
ァサイズより小さくても差し支えない。マクロブロック
として次元を伝達することにより、デコーダによって必
要とされるバッファのサイズを決定する。マクロブロッ
ク次元は、ピクセルの次元からユーザによって求められ
なければならない。この情報と関連している空間デコー
ダレジスタを次に示す、即ち、水平画素、垂直画素、水
平マクロブロック、及び垂直マクロブロックである。
[Table 112] A. 14.2 "Picture Structure" The picture dimensions in the present invention are described to the spatial decoder as two different units: pixels and macroblocks. Both JPEG and MPEG
Communicates picture dimensions as pixels. By conveying the dimensions as pixels, we determine the area of the buffer that contains valid data. In this case, the area may be smaller than the total buffer size. Delivering the dimensions as macroblocks determines the size of the buffer needed by the decoder. The macroblock dimension must be determined by the user from the pixel dimension. The spatial decoder registers associated with this information are: horizontal pixels, vertical pixels, horizontal macroblocks, and vertical macroblocks.

【0822】空間デコーダレジスタ、ブロック数h
n、v n、max h、max v、及びmax c
omponent idは、マクロブロックの合成(J
PEGにおけるコード化最小単位)を指定する。各々
は、0から3までの範囲内に値を保持することの出来る
1つの2ビットのレジスタである。max compo
nent idを除く全てのレジスタは、1から4まで
のブロックカウントを指定する。例えば、レジスタma
x hが1を保持する場合、マクロブロックの幅は2ブ
ロックである。同様に、max component
idは、関係する異った色成分の数を指定する。
Spatial decoder register, number of blocks h
n, vn, max h, max v, and max c
The component id is a macroblock composite (J
Specify the minimum encoding unit in PEG. Each is a 2-bit register that can hold a value in the range 0 to 3. max compo
All registers except lent id specify block counts from 1 to 4. For example, register ma
If x h holds 1, the width of the macroblock is 2 blocks. Similarly, max component
id specifies the number of different color components involved.

【0823】[0823]

【表113】 A.14.3 「ハフマン表」 A.14.3.1 「JPEGスタイルハフマン表記
述」 本発明において、ハフマン表記述は、エンコーダとデコ
ーダとの間で表記述を伝達するために、JPEOによっ
て使われるフォーマットを介して空間デコーダに提供さ
れる。各表記述には2つのエレメント、即ち、BITS
及びHUFFVALがある。ユーザーは、表がコード化
される方法についての完全な記述に関して、JPEG仕
様に案内される。
[Table 113] A. 14.3 "Huffman Table" A. 14.3.1 "JPEG Style Huffman Table Description" In the present invention, the Huffman table description is provided to the spatial decoder via the format used by JPEGO to convey the table description between the encoder and the decoder. . Each table description has two elements, namely BITS
And HUFFVAL. The user is guided to the JPEG specification for a complete description of how the table is coded.

【0824】A.14.3.1.1 「BITS」 BITSは、VLCの各長さを用いて幾つの異なる記号
が符号化されるかについて記述する値を示す表である。
各エントリは1つの8ビット値である。JPEGは、V
LCの長さとして最大16ビットまでを許可する。従っ
て、各表に16個のエントリがある。
A. 14.3.1.1 "BITS" BITS is a table showing values that describe how many different symbols are coded using each length of VLC.
Each entry is one 8-bit value. JPEG is V
A maximum of 16 bits is allowed as the LC length. Therefore, there are 16 entries in each table.

【0825】BITS[0]は、幾つの異なる1ビット
VLCが存在するかを記述し、他方、BITS[1]
は、幾つの異なる2ビットVLCが存在するかを記述す
る、等々。
BITS [0] describes how many different 1-bit VLCs exist, while BITS [1].
Describes how many different 2-bit VLCs exist, and so on.

【0826】 A.14.3.1.2 「HUFFVAL」 HUFFVALは、VLCの長さの増大順に整列された
8ビットデータ値の表である。この表のサイズは、VL
Cによってコード化可能な異なる記号の数に依存する。
A. 14.3.1.2 "HUFFVAL" HUFFVAL is a table of 8-bit data values arranged in increasing order of VLC length. The size of this table is VL
It depends on the number of different symbols that can be coded by C.

【0827】JPEG仕様は、ハフマンコード化表がこ
のフォーマットに対してコード化又は復号化される方法
について更に詳細に記述する。
The JPEG specification describes in more detail how the Huffman coding table is coded or decoded for this format.

【0828】A.14.3.1.3 「トークンによる
コンフィギュレーション」 JPEGビットストリームにおいて、AC及びDC係数
をコード化するために使われるハフマン表の記述にはD
HTマーカが先行する。スタートコード検出器がDHT
マーカを認識する場合、検出器は、DHTマーカトーク
ンを生成し、そして、次に後続するデータトークン内に
ハフマン表記述を配置する(A.11.3.4参照)。
A. 14.3.1.3 “Token Configuration” In the JPEG bitstream, the Huffman table description used to encode the AC and DC coefficients is D.
The HT marker precedes. Start code detector is DHT
When recognizing a marker, the detector generates a DHT marker token and then places the Huffman table description in the data token that follows (see A.11.3.4).

【0829】空間デコーダ内におけるAC及びDC係数
ハフマン表の構成は、空間デコーダの入力にデータ及び
DHTマーカトークンを供給することによって達成可能
であり、同時に、空間デコーダはJPEGオペレーショ
ンに対して構成される。このメカニズムは、MPEGオ
ペレーションのために必要とされるDC係数ハフマン表
を構成するために使用出来るが、ただし、表がダウンロ
ードされると同時に、空間デコーダの符号化規格はJP
EGにセットされなければならない。
The construction of the AC and DC coefficient Huffman tables within the spatial decoder can be achieved by supplying the data and DHT marker tokens at the input of the spatial decoder, while at the same time the spatial decoder is configured for JPEG operations. . This mechanism can be used to construct the DC coefficient Huffman table needed for MPEG operation, provided that the table is downloaded and the spatial decoder coding standard is JP
Must be set to EG.

【0830】[0830]

【表114】 A.14.1.4 「MPIによるコンフィギュレーシ
ョン」 AC及びDC係数ハフマン表は、同様に、MPIを介し
てレジスタに直接記入することが可能である。表104
を参照されたい。
[Table 114] A. 14.1.4 "Configuration with MPI" AC and DC coefficient Huffman tables can likewise be entered directly into registers via MPI. Table 104
Please refer to.

【0831】*レジスタdc bits0[15:0]
及びdc bits1[l5:0]は、表0x00及び
0x01用のBITS値を保持する。
* Register dc bits0 [15: 0]
And dc bits1 [15: 0] hold the BITS values for tables 0x00 and 0x01.

【0832】*レジスタac bits0[15:0]
及びac bits1[15:0]は、表0x10及び
0x11用のBITS値を保持する。
* Register ac bits0 [15: 0]
And ac bits1 [15: 0] hold the BITS values for tables 0x10 and 0x11.

【0833】*レジスタdc huffval0[1
1:0]及びdc huffval1[11:0]は、
表0x00及び0x01用のHUFFVAL値を保持す
る。
* Register dc huffval0 [1
1: 0] and dc huffval1 [11: 0] are
Holds HUFFVAL values for tables 0x00 and 0x01.

【0834】*レジスタac huffval0[16
1:0]及びac huffval1[161:0]
は、表0x10及び0x11用のHUFFVAL値を保
持する。
* Register ac huffval0 [16
1: 0] and ac huffval1 [161: 0]
Holds the HUFFVAL values for Tables 0x10 and 0x11.

【0835】A.14.4 「異なる規格用構成」 動画デマルチプレクサは、MPEG、JPEG、及び
H.261の必要条件をサポートする。符号化規格は、
スタートコード検出器によって生成されたCODINC
STANDARDトークンによって自動的に構成され
る。
A. 14.4 "Structures for Different Standards" Video demultiplexers are MPEG, JPEG, and H.264. 261 requirements are supported. The encoding standard is
CODINC generated by the start code detector
It is automatically constructed by the STANDARD token.

【0836】 A.14.4.1 「H.261ハフマン表」 H.261を復号化するために必要とされる全てのハフ
マン表は、空間デコーダ内のROMに保持され、更に詳
細には、動画デマルチプレクサのパーザステートマシン
内に保持されるので、ユーザーの介入を必要としない。
A. 14.4.1 "H.261 Huffman table" All Huffman tables needed to decode the H.261 are stored in ROM in the spatial decoder, and more specifically in the parser state machine of the video demultiplexer, requiring user intervention. Not.

【0837】 A.14.4.2 「H.261ピクチャの構造」 H.261は、わずか2つのピクチャフォーマット、即
ち、CIF及びQCIFをサポートするものとして定義
される。使用中のピクチャフォーマットは、ビットスト
リームのPTYPEセクションにおいて送信される。こ
のデータは、空間デコーダによって復号化されると、H
261ピクチャタイプレジスタ及びピクチャタイプトー
クン内に配置される。更に、全てのピクチャ及びマクロ
ブロック構成レジスタは自動的に構成される。
A. 14.4.2 “Structure of H.261 picture” H.261 is defined as supporting only two picture formats, CIF and QCIF. The picture format in use is transmitted in the PTYPE section of the bitstream. When this data is decoded by the spatial decoder, it becomes H
261 picture type register and picture type token. Moreover, all picture and macroblock configuration registers are automatically configured.

【0838】様々なレジスタ内の情報は、それらの関連
トークン内に配置され表109〜表112参照)、そし
て、これによって、他のデコーダチップ(例えば、時間
デコーダ)が正しく構成されていることを保証する。
The information in the various registers is placed in their associated tokens, see Tables 109-112), and this ensures that other decoder chips (eg, time decoders) are properly configured. Guarantee.

【0839】 A.14.4.3 「MPEGハフマン表」 MPEGを復号化するために必要なハフマンコード化表
の大多数は、空間デコーダ内のROM内に保持されるの
で(パーザステートマシン内であることを再度述べてお
く)、ユーザの介入を必要としない。イントラルマクロ
ブロックのDC係数を復号化するために必要な表は例外
である。1つはクロマ用、そして、他の1つはルマ用と
して2つの表が必要とされる。これらの表は、復号化が
始まる前に、ユーザソフトウェアによって構成されなけ
ればならない。
A. 14.4.3 "MPEG Huffman Table" The majority of the Huffman coded tables needed to decode MPEG are kept in ROM in the spatial decoder (again, restate that it is in the parser state machine). It does not require user intervention. The tables required to decode the DC coefficients of intra macroblocks are an exception. Two tables are needed, one for chroma and one for luma. These tables must be constructed by the user software before decoding begins.

【0840】[0840]

【表115】 表117は、空間デコーダ内のDC係数ハフマン表を構
成するために必要とされるトークンのシーケンスを示
す。その代りに、MPIを介してこの情報をレジスタに
記入することにより、同じ結果が得られる。
[Table 115] Table 117 shows the sequence of tokens needed to construct the DC coefficient Huffman table in the spatial decoder. Alternatively, writing this information to the register via MPI will achieve the same result.

【0841】レジスタdc huffnは、各色成分と
共にどのDC係数ハフマン表を使用するかを制御する。
表116は、MPEGオペレーション用としてどのよう
に構成されなければならないかを示す。これは、MPI
を介するか、或いは、MPEGDCHテーブルトークン
を用いることによって直接行うことが可能である。
Register dc huffn controls which DC coefficient Huffman table is used with each color component.
Table 116 shows how it must be configured for MPEG operation. This is MPI
Can be done directly, or by using an MPEG DCH table token.

【0842】[0842]

【表116】 [Table 116]

【0843】[0843]

【表117】 [Table 117]

【0844】[0844]

【表118】 [Table 118]

【0845】[0845]

【表119】 [Table 119]

【0846】[0846]

【表120】 A.14.4.4 「MPEGピクチャの構造」 MPEG用に定義されたマクロブロックの構成は、H.
261によって用いられる構造と同じである。ピクチャ
の次元はコード化データにコード化される。
[Table 120] A. 14.4.4 "Structure of MPEG picture" The structure of a macroblock defined for MPEG is described in H.264.
The structure used by 261 is the same. The picture dimensions are encoded in the encoded data.

【0847】規格4:2:0オペレーションに対する場
合、マクロブロックの特性は、表115に指示されたよ
うに構成されなければならない。これは、指示されたよ
うにレジスタに記入するか、或いは、等価のトークンを
空間デコーダの入力に供給することによって行うことが
可能である表109〜表112参照)。
For standard 4: 2: 0 operation, the characteristics of the macroblock must be configured as indicated in Table 115. This can be done by writing in a register as instructed or by supplying the equivalent token to the input of the spatial decoder (see Tables 109-112).

【0848】ピクチャ次元を構成するために用いられる
方法は、アプリケーションに依存する。復号化開始前に
ピクチャフォーマットが既知である場合には、表115
に示されるピクチャ構成レジスタは、適切な値を用いて
初期化可能である。その代りに、ピクチャ次元は、コー
ド化データから復号化することが可能であり、そして、
空間デコーダを構成するために使用することが可能であ
る。この場合、ユーザは、パーザーエラーMPEGシー
ケンスをサポートしなければならない。A.14.8
「MPEGシーケンス層における変化」参照。
The method used to construct the picture dimension is application dependent. If the picture format is known before the start of decoding, Table 115
The picture configuration register shown in can be initialized with appropriate values. Alternatively, the picture dimension can be decoded from the coded data, and
It can be used to construct a spatial decoder. In this case, the user has to support the parser error MPEG sequence. A. 14.8
See "Changes in the MPEG Sequence Layer".

【0849】A.14.4.5 「JPEG」 基底線JPEG内には、デコーダを操作するために必要
な制御ソフトウェアの複雑さを大幅に変更する多数のエ
ンコーダオプションがある。一般に、空間デコーダは、
次に示す条件に適合する場合に必要とされるサポートが
最小限であるように設計されている。 * フレーム当たりの色成分の数が5未満であること
(Nf≦4)。
A. 14.4.5 "JPEG" Within Baseline JPEG, there are numerous encoder options that significantly change the complexity of the control software required to operate the decoder. In general, a spatial decoder
It is designed to require minimal support when the following conditions are met: * The number of color components per frame is less than 5 (Nf ≦ 4).

【0850】 A.14.4.6 「JPEGハフマン表」 更に、JPEGは、ハフマンコード化表がダウンロード
されることを可能にする。これらの表は、係数を記述す
るVLCを復号化する場合に用いられる。DC係数を復
号化するために走査当たり2つの表が許可され、そし
て、AC係数用にも2つの表が許可される。
A. 14.4.6 "JPEG Huffman Table" In addition, JPEG allows Huffman coded tables to be downloaded. These tables are used when decoding the VLC that describes the coefficients. Two tables are allowed per scan to decode the DC coefficients, and two tables are also allowed for the AC coefficients.

【0851】3つの異なるタイプのJPEGファイルが
ある、即ち、交換フォーマット、圧縮されたイメージデ
ータ用短縮フォーマット、及び表データ用短縮フォーマ
ットである。交換フォーマットファイルには、圧縮され
たイメージデータ及びイメージデータを復号化するため
に必要な全ての表(ハフマン、量子化等)の定義の両者
が含まれる。短縮されたイメージデータフォーマットフ
ァイルは、表定義を省略する。短縮された表フォーマッ
トファイルは表の定義のみを含む。
There are three different types of JPEG files: interchange format, shortened format for compressed image data, and shortened format for tabular data. The interchange format file contains both the compressed image data and all the table definitions (Huffman, quantization, etc.) needed to decode the image data. The shortened image data format file omits the table definition. The shortened table format file contains only table definitions.

【0852】空間デコーダは、3つ全てのフォーマット
を受け入れる。ただし、必要とされる全ての表が定義済
みである場合には、短縮されたイメージデータファイル
のみが復号化可能である。他の2つのタイプのJPEG
ファイルのうちのどちらかを介してこの定義は実施可能
であり、或は、その代りに、ユーザソフトウェアによっ
て表をセットアップすることが可能である。
The Spatial Decoder accepts all three formats. However, if all the required tables are defined, only the shortened image data file can be decrypted. The other two types of JPEG
This definition can be implemented via either of the files, or, alternatively, the table can be set up by user software.

【0853】各々の走査が異なる1組のハフマン表を使
用する場合、各スキャンの前に表の定義がコード化デー
タ内に(エンコーダによって)配置される。これらの定
義は、当該走査および後続する走査期間中に使用するた
めに、空間デコーダによって自動的にロードされる。
If each scan uses a different set of Huffman tables, the definition of the table is placed (by the encoder) in the coded data before each scan. These definitions are automatically loaded by the spatial decoder for use during the scan and subsequent scans.

【0854】ハフマン復号化の性能を改良するために
は、特定の共通に使用される記号が特別にケースされ
る。これらの記号は、大きさ0のDC係数、ブロックA
C係数のエンド、及び16のゼロAC係数のランであ
る。これら特別なケース用の値は、該当するレジスタに
記入されなければならない。
To improve the performance of Huffman decoding, certain commonly used symbols are specially cased. These symbols are DC coefficients of size 0, block A
The end of the C coefficient and the run of 16 zero AC coefficients. Values for these special cases must be placed in the appropriate registers.

【0855】A.14.4.6.1 「表の選択」 レジスタdc huff n及びac huff n
は、どの色成分と共にどのAC及びDC係数ハフマン表
を用いるかを制御する。JPEGオペレーション期間
中、これらの関係は、走査ヘッダシンタックスのTDj
及びTajフィールドによって定義される。
A. 14.4.6.1 “Table selection” registers dc huff n and ac huff n
Controls which AC and DC coefficient Huffman tables are used with which color components. During the JPEG operation, these relationships are represented in the scan header syntax TDj.
And Taj fields.

【0856】 A.14.4.7 「JPEGピクチャの構造」 空間デコーダによってサポートされた基底線JPEG復
号化には明白な2つのレベルがある、即ち、フレーム当
たり4成分まで(Nf≦4)のレベル、及びフレーム当
たり4成分より大きい(Nf>4)レベルである。Nf
>4を使用する場合には、必要とされる制御ソフトウェ
アは更に複合になる。
A. 14.4.7 “Structure of JPEG Pictures” There are two distinct levels of baseline JPEG decoding supported by the spatial decoder: up to 4 components per frame (Nf ≦ 4), and per frame. The level is larger than the four components (Nf> 4). Nf
When using> 4, the required control software becomes more complex.

【0857】A.14.4.7.1 「Nf≦4」 JPEGフレームヘッダに含まれるフレーム成分仕様パ
ラメータは、これらの復号化に際してマクロブロック構
成レジスタを構成する表115参照)。4つの異なる色
成分を復号化するために必要な全ての仕様が定義される
ので、ユーザの介入は必要としない。
A. 14.4.7.1 “Nf ≦ 4” For the frame component specification parameter included in the JPEG frame header, refer to Table 115 which constitutes the macroblock configuration register when decoding these). No user intervention is required as all the specifications needed to decode the four different color components are defined.

【0858】JPEGによって提供されるオプションの
詳細に関しては、JPEG仕様を研究されたい。同様
に、JPEGピクチャフォーマットに関してはセクショ
ンA.16.1に簡単に記述されている。
For more details on the options provided by JPEG, please study the JPEG specification. Similarly, regarding the JPEG picture format, see Section A. It is described briefly in 16.1.

【0859】A.14.4.7.2 「4より多い成分
を持つJPEG」 空間デコーダは、最大256の異なる色成分(JPEG
により許可される最大数)を含むJPEGファイルの復
号化が可能である。ただし、4成分より多い色成分を復
号化しようとする場合には、付加的なユーザ介入が必要
とされる。JPEGにおいては、あらゆる走査において
最大限4成分までが許可されるに過ぎない。
A. 14.4.7.2 "JPEG with more than 4 components" Spatial Decoder supports up to 256 different color components (JPEG
It is possible to decrypt a JPEG file including the maximum number allowed by However, when trying to decode more than four color components, additional user intervention is required. In JPEG, only a maximum of 4 components is allowed in every scan.

【0860】 A.14.4.8 「非規格的バリアント」 既に述べたように、空間デコーダは、JPEG及びMP
EGによって定義されたフォーマットよりも多いピクチ
ャフォーマットをサポートする。
A. 14.4.8 "Non-standard variant" As already mentioned, the spatial decoder is based on JPEG and MP.
Supports more picture formats than defined by EG.

【0861】JPEGは、コード化単位が1走査当たり
10ブロックよりも多いブロックを含まないように、最
小コード化単位を制限する。空間デコーダは、ブロック
数hn、ブロック数v n、max h、及びmax
vによって記述可能な任意の最小コード化単位を処理す
ることが出来るので、この限界は、空間デコーダには適
用されない。
JPEG limits the minimum coding unit so that it does not contain more than 10 blocks per scan. The spatial decoder uses the number of blocks hn, the number of blocks v n, max h, and max.
This limit does not apply to spatial decoders, since any minimum coding unit that can be described by v can be processed.

【0862】MPEGにおいては、4:2:0マクロブ
ロックに関してのみ定義される表115参照)。ただ
し、空間デコーダは、3つの他の成分マクロブロック構
造(例えば4:2:2)を処理可能である。
In MPEG, see Table 115, which is defined only for 4: 2: 0 macroblocks). However, the spatial decoder can process three other component macroblock structures (eg, 4: 2: 2).

【0863】 A.14.5 「動画イベント及びエラー」 動画デマルチプレクサは、2つのタイプのイベント、即
ち、パーザイベント及びハフマンイベントを生成可能で
ある。イベント及び割込みをの扱う方法の記述に関して
は、A.6.3「割込み」を参照されたい。
A. 14.5 "Video Events and Errors" The video demultiplexer can generate two types of events: parser events and Huffman events. For a description of how to handle events and interrupts, see A. See 6.3 “Interrupts”.

【0864】A.14.5.1 「ハフマンイベント」 ハフマンイベントは、ハフマンデコーダによって生成さ
れる。ハフマンイベント及びハフマンマスクにおいて指
示されるイベントは、割込みが生成されるかどうかを決
定する。ハフマンマスクが1にセットされる場合には、
割込みが生成され、そして、ハフマンデコーダが停止す
る。レジスタハフマンエラーコード[2:0]は、イベ
ントの原因を示す値を保持する。
A. 14.5.1 "Huffman Event" A Huffman event is generated by a Huffman decoder. The Huffman event and the event indicated in the Huffman mask determine whether an interrupt is generated. If the Huffman mask is set to 1,
An interrupt is generated and the Huffman Decoder stops. The register Huffman error code [2: 0] holds a value indicating the cause of the event.

【0865】割り込みをサービスした後でハフマンイベ
ントに1が記入される場合には、ハフマンデコーダは、
エラーからの回復を試行する。同様に、ハフマンマスク
が0にセットされた場合には(割込みをマスクし、そし
て、ハフマンデコーダを停止させない)、ハフマンデコ
ーダは、エラーからの回復を自動的に試行する。
If the Huffman Event is filled with 1 after servicing the interrupt, the Huffman Decoder will
Try to recover from the error. Similarly, if the Huffman mask is set to 0 (mask interrupts and do not stop the Huffman decoder), the Huffman decoder automatically attempts to recover from the error.

【0866】A.14.5.2 「パーザイベント」 パーザイベントは、パーザによって生成される。このイ
ベントは、パーザイベントにおいて指示される。それ以
降においては、割込みが生成されるかどうかは、パーザ
ーマスクによって決定される。パーザーマスクが1にセ
ットされている場合には、割込みが生成され、そして、
パーザは停止する。レジスタパーザーエラーコード
[7:0]は、イベントの原因を指示する値を保持す
る。
A. 14.5.2 "Parser Events" Parser events are generated by parsers. This event is designated in the parser event. After that, whether or not an interrupt is generated is determined by the parser mask. If the parser mask is set to 1, an interrupt is generated, and
The parser stops. The register parser error code [7: 0] holds a value indicating the cause of the event.

【0867】割込みをサービスした後で、ハフマンイベ
ントに1が記入される場合には、ハフマンデコーダは、
エラーからの回復を試行する。同様に、ハフマンマスク
が0にセットされた場合には(割込みをマスクし、そし
て、ハフマンデコーダを停止させない)、ハフマンデコ
ーダは、エラーからの回復を自動的に試行する。
After servicing the interrupt, if the Huffman event is filled with 1, the Huffman decoder
Try to recover from the error. Similarly, if the Huffman mask is set to 0 (mask interrupts and do not stop the Huffman decoder), the Huffman decoder automatically attempts to recover from the error.

【0868】割込みをサービスした後で、パーザーイベ
ントに1を記入する場合には、パーザは、オペレーショ
ンを再開する。イベントがビットストリームエラーを指
示した場合には、動画デマルチプレクサは、エラーから
の回復を試行する。
After servicing the interrupt, if the parser event is filled with 1, the parser will resume operation. If the event indicates a bitstream error, the video demultiplexer attempts to recover from the error.

【0869】パーザーマスクが0にセットされた場合に
は、パーザは、そのイベントビットをセットするが、割
込み又は停止は生成しない。パーザは、オペレーション
を継続し、そして、エラーからの自動的な回復を試行す
る。
If the parser mask is set to 0, the parser sets its event bit but does not generate an interrupt or stop. The parser continues operation and attempts automatic recovery from the error.

【0870】[0870]

【表121】 [Table 121]

【0871】[0871]

【表122】 [Table 122]

【0872】[0872]

【表123】 [Table 123]

【0873】[0873]

【表124】 [Table 124]

【0874】[0874]

【表125】 [Table 125]

【0875】[0875]

【表126】 各規格は、定義されたパーザエラーコードの異なる部分
集合を使用する。
[Table 126] Each standard uses a different subset of defined parser error codes.

【0876】[0876]

【表127】 [Table 127]

【0877】[0877]

【表128】 A.14.6 「ユーザデータ及び拡張データの受信」 MPEG及びJPEGは、ユーザデータ及び拡張データ
を埋め込むための同様のメカニズムを用いる。データ
は、スタート/マーカコードによって先行される。アプ
リケーションが当該データに関心を持たない場合には、
スタートコード検出器が、このデータを削除するように
構成可能である(A.11.3.3参照)。
[Table 128] A. 14.6 "Reception of user data and extension data" MPEG and JPEG use a similar mechanism for embedding user data and extension data. The data is preceded by the start / marker code. If the application is not interested in the data,
The start code detector can be configured to delete this data (see A.11.3.3).

【0878】 A.14.6.1 「データソースの識別」 パーザイベント、ERREXTENSIONトークン、
及びERRユーザトークンは、動画デマルチプレクサに
おけるEXTENSIONデータ、またはユーザデータ
トークンの到着を示す。これらのトークンがスタートコ
ード検出器によって生成された場合には(A.11.
3.3参照)、これらのトークンは、スタートコード検
出器にトークンを生成させたスタート/マーカコードの
値を持つ表92参照)。この値は、パーザ割込みをサポ
ートしている間に、rom revisionレジスタ
を読むことによって読み取り可能である。パーザーイベ
ントに1が記入されるまで動画デマルチプレクサは、停
止状態を維持する(A.6.3、「割込み」参照)。
A. 14.6.1 "Data Source Identification" Parser Event, ERREXTENSION Token,
And ERR user token indicate the arrival of EXTENSION data or user data token at the video demultiplexer. If these tokens are generated by the start code detector (A.11.
(See 3.3), these tokens have the values of the start / marker code that caused the start code detector to generate the token) (see table 92). This value can be read by reading the rom revision register while supporting parser interrupts. The video demultiplexer remains stopped until the parser event is filled with 1 (see A.6.3, "Interrupts").

【0879】A.14.6.2 「データの読取り」 EXTENSIONデータ、及びユーザデータトークン
は、拡張データ又はユーザデータを持つデータトークン
により直ちに後続されるものと予測される。動画デマル
チプレクサは、このデータトークンの到着によって、E
RREXTENSIONデータ又はERRユーザデータ
パーザイベントのいずれかを生成する。データトークン
の第1のバイトは、割込みをサービスしている間に、r
om revisionレジスタを読むことによって読
み取り可能である。
A. 14.6.2 "Reading Data" EXTENSION data, and user data tokens are expected to be immediately followed by data tokens with extended or user data. The video demultiplexer will receive E
Generate either RREXTENSION data or ERR user data parser event. The first byte of the data token is r while servicing the interrupt.
It can be read by reading the om revision register.

【0880】動画デマルチプレクサレジスタの継続状態
は、イベントがクリアされた後における行動態様を決定
する。このレジスタが値0を保持する場合には、データ
トークンにおけるあらゆる残りのデータは動画デマルチ
プレクサによって消費され、そして、イベントは一切生
成されない。継続が1にセットされている場合には、拡
張の各バイト又はユーザデータが動画デマルチプレクサ
に到着するにつれてイベントが生成される。これは、デ
ータトークンが使い果たされるか、或いは、継続が0に
セットされるまで継続する。
The continuous state of the video demultiplexer register determines the behavior after the event is cleared. If this register holds the value 0, then any remaining data in the data token is consumed by the video demultiplexer and no event is generated. If the continuation is set to 1, an event is generated as each byte of extension or user data arrives at the video demultiplexer. This continues until either the data token is exhausted or the continuation is set to zero.

【0881】注記: 1)拡張/ユーザデータの第1のバイトは、継続の状態
に関係なく、romrevisionレジスタを介して
常に呈示される。
Notes: 1) The first byte of extended / user data is always presented via the romrevision register, regardless of the state of continuation.

【0882】2)拡張/ユーザデータの最後のバイトを
読み終えたことを示すイベントは無い。
2) There is no event indicating that the last byte of the extension / user data has been read.

【0883】A.14.7 「追加情報の受信」 H.261及びMPEGは、符号化規格を拡張する情報
がブロック(H.261)又はスライス(MPEG)の
ピクチャ及びグループ内に埋め込まれることを可能にす
る。このメカニズムは、拡張データ及びユーザデータ用
メカニズムと異なる(セクションA.14.6に記述済
み)。スタートコードはデータに先行しないので、スタ
ートコード検出器によって削除されることが可能であ
る。
A. 14.7 “Receiving additional information” H.261 and MPEG allow information that extends the coding standard to be embedded within pictures and groups of blocks (H.261) or slices (MPEG). This mechanism differs from the mechanism for extended data and user data (described in Section A.14.6). Since the start code does not precede the data, it can be deleted by the start code detector.

【0884】H.261オペレーション期間中、パーザ
イベントERR PSPARE、及びERR GSPA
REは、この情報の検出を指示する。MPEGオペレー
ション期間中の対応するイベントはERR EXTRA
ピクチャ、及びERR EXTRAスライスである。
H.H. Parser events ERR PSPARE and ERR GSPA during the 261 operation period
The RE directs the detection of this information. Corresponding event during MPEG operation is ERR EXTRA
Picture and ERR EXTRA slice.

【0885】パーザイベントが生成されると、追加情報
の第1のバイトは、レジスタromrevisionを
介して経て呈示される。
When a parser event is generated, the first byte of additional information is presented via the register romrevision.

【0886】動画デマルチプレクサレジスタの継続状態
は、イベントがクリアされた後の行動態様を決定する。
このレジスタ値0を保持する場合には、あらゆる残りの
追加情報は動画デマルチプレクサによって消費され、そ
して、一切のイベントが生成されない。継続が1にセッ
トされている場合には、追加情報の各バイトが動画デマ
ルチプレクサに到着するにつれて、イベントが生成され
る。この継続は、追加情報が使い果たされるか、或い
は、継続が0にセットされるまで継続する。
The continuous state of the video demultiplexer register determines the behavior after the event is cleared.
If you keep this register value 0, any remaining additional information will be consumed by the video demultiplexer and no event will be generated. If the continuation is set to 1, an event is generated as each byte of additional information arrives at the video demultiplexer. This continuation continues until either the additional information is exhausted or the continuation is set to zero.

【0887】注記: 1)拡張/ユーザデータの第1のバイトは、継続の状態
に関係なく、romrevisionレジスタを介して
常に呈示され。 2)拡張/ユーザデータの最後のバイトを読み終えたこ
とを示すイベントは無い。
Notes: 1) The first byte of extended / user data is always presented via the romrevision register, regardless of the state of continuation. 2) There is no event indicating that the last byte of extended / user data has been read.

【0888】A.14.7.1 「FIELD INF
Oトークンの生成」 MPEGオペレーション期間中、レジスタフィールドi
nfoが1にセットされている場合には、あらゆるex
tra informationピクチャの第1のバイ
トは、FIELD INFOトークン内に配置される。
この行動態様は、MPEGの標準化アクティビティによ
ってカバーされない。FIELD INFOトークンの
定義を表4〜表11に示す。
A. 14.7.1 "FIELD INF
Generation of O token "During MPEG operation, register field i
If nfo is set to 1, then any ex
The first byte of the tra information picture is placed in the FIELD INFO token.
This behavioral aspect is not covered by the MPEG standardization activities. The definition of the FIELD INFO token is shown in Tables 4-11.

【0889】フィールドinfoが1にセットされてい
る場合には、extra informationピク
チャの第1のバイトに対して一切のパーザイベントが生
成されない。ただし、extra informati
onピクチャのあらゆる後続バイトに対してイベントが
生成される。extra informationピク
チャの1つの単一バイトだけがある場合には、パーザイ
ベントは一切発生しない。
If the field info is set to 1, no parser event is generated for the first byte of the extra information picture. However, extra information
An event is generated for every subsequent byte of the on picture. If there is only one single byte of the extra information picture, no parser event will occur.

【0890】 A.14.8 「MPEGシーケンス層における変化」 MPEGシーケンスヘッダは、復号化されようとしてい
る動画の次に示す特性を記述する。
A. 14.8 “Changes in the MPEG Sequence Layer” The MPEG sequence header describes the following characteristics of the video that is about to be decoded.

【0891】*水平および垂直サイズ *ピクセルのアスペクトレシオ *ピクチャレート *コード化データレート *動画バッファベリファイアのバッファサイズ 空間デコーダがシーケンスヘッダを復号化する際に、こ
れら任意のパラメータが変化する場合には、パーザイベ
ントERR MPEGシーケンスが生成される。
* Horizontal and vertical size * Aspect ratio of pixels * Picture rate * Coded data rate * Buffer size of video buffer verifier If any of these parameters change when the spatial decoder decodes the sequence header Generates a parser event ERR MPEG sequence.

【0892】 A.14.8.1 「ピクチャサイズの変化」 ピクチャサイズが変化した場合、ユーザのソフトウェア
は、horizpels、及びvert垂直pelsに
おける値を読み取り、そして、レジスタhorizma
croblocks、及びvertmacrobloc
ksにロードするための新しい値を計算する。
A. 14.8.1 "Picture Size Change" If the picture size changes, the user's software will read the values in holizpels and vert vertical pels and then register holizma
croblocks, and vertmacroblock
Compute a new value to load into ks.

【0893】セクション A.15 「空間復号化」 本発明に基づき、トークンバッファの出力と空間デコー
ダの出力との間で空間復号化が発生する。
Section A. 15 "Spatial Decoding" In accordance with the present invention, spatial decoding occurs between the output of the token buffer and the output of the spatial decoder.

【0894】空間復号化の責任を負う3つの主要ユニッ
ト、即ち、逆モデラ、逆量子化器、及び逆別個コサイン
トランスフォーマがある。このセクションの入力(トー
クンバッファから)において、データトークンは、量子
化された係数のラン及びレベル表現を含む。出力(逆D
CTの)において、データトークンはピクセル情報の8
×8ブロックを含む。
There are three main units responsible for spatial decoding: the inverse modeler, the inverse quantizer, and the inverse discrete cosine transformer. At the input of this section (from the token buffer), the data token contains a run and level representation of the quantized coefficients. Output (inverse D
In CT), the data token is 8 of pixel information.
Includes x8 blocks.

【0895】A.15.1 「逆モデラ」 トークンバッファ内のデータトークンは、量子化された
係数の値、及び表示された係数の間のゼロの数に関する
情報を含む。逆モデラは、各データトークンが64の値
を含むように、ゼロのランに関する情報を拡大する。こ
の段階において、データトークンにおける値は量子化さ
れた係数である。
A. 15.1 "Inverse Modeler" The data token in the token buffer contains information about the value of the quantized coefficient and the number of zeros between the displayed coefficients. The inverse modeler expands the information about runs of zeros so that each data token contains 64 values. At this stage, the value in the data token is a quantized coefficient.

【0896】逆モデル化プロセスは、現在使用中の符号
化規格には関係なく、同じである。コンフィギュレーシ
ョンは一切不要である。
The inverse modeling process is the same regardless of the coding standard currently in use. No configuration is required.

【0897】モデル化および逆モデル化機能に関する全
ての必要条件を一層良く理解するために、読者は、任意
のピクチャコード化規格を調査することが可能である。
To better understand all the requirements for the modeling and de-modeling functions, the reader can explore any picture coding standard.

【0898】A.15.2 「逆量子化器」 エンコーダにおいて、量子化器は、DCT係数の分解能
度を低下させるためにDCT出力を分割する。デコーダ
における逆量子化器の機能は、元の値に近似するように
復元するために、これらの量子化されたDCT係数に乗
算を施すことである。
A. 15.2 "Dequantizer" In an encoder, the quantizer splits the DCT output to reduce the resolution of the DCT coefficients. The function of the inverse quantizer in the decoder is to multiply these quantized DCT coefficients in order to restore them to approximate their original values.

【0899】 A.15.2.1 「規格量子化計画の概要」 異なる符号化規格の各々によって用いられる量子化計画
には重要な差がある。各々の規格によって用いられる量
子化計画について詳細に理解するためには、読者は、関
連符号化規格文書を研究されたい。
A. 15.2.1 “Outline of Standard Quantization Plans” There are important differences in the quantization plans used by each of the different coding standards. To gain a detailed understanding of the quantization schemes used by each standard, the reader should study the relevant coding standard documents.

【0900】レジスタiqコード化スタンダードは、異
なる規格の必要条件に適合するように、逆量子化器のオ
ペレーションを構成する。正常オペレーションにおい
て、このコード化レジスタは、コーディング・スタンダ
ードトークンによって自動的にロードされる。コード化
規格のコンフィギュレーションに関する一層の情報に関
しては、セクションA.21.1を参照されたい。
The register iq coding standard configures the operation of the inverse quantizer to meet the requirements of different standards. In normal operation, this coded register is automatically loaded by the Coding Standard Token. For more information on the configuration of coding standards, see Section A.3. See 21.1.

【0901】量子化計画の間の主要な相違は、量子化さ
れた係数に乗算する数のソースである。これらについて
は、次に概説される。更に、ここには説明されていない
が、必要な算術演算(丸める、等)において詳細な相違
がある。
The main difference between quantization schemes is the source of the numbers by which the quantized coefficients are multiplied. These are outlined below. Further, although not described here, there are detailed differences in the required arithmetic operations (rounding, etc.).

【0902】 A.15.2.1.1 「H.261 IQの概観」 H.261において、係数を調整するために、1つの単
一「スケールファクタ」が用いられる。エンコーダは、
作成されるデータレートを調整するために、このスケー
ルファクタを定期的に変更できる。イントラコード化ブ
ロック内の「DC」係数には、わずかに異なる規則が適
用される。
A. 15.2.1.1 "Overview of H.261 IQ" At 261, a single "scale factor" is used to adjust the coefficients. The encoder is
This scale factor can be changed periodically to adjust the data rate created. A slightly different rule applies to "DC" coefficients within intra-coded blocks.

【0903】 A.15.2.1.2 「JPEG IQの概観」 基底線JPEGは、各走査において最大4つまでの異な
る色成分を含むピクチャを許容する。これらの4つの色
成分に対しては、64エントリ量子化表が指定可能であ
る。これらの表の各エントリは、64の量子化された係
数のうちの1つに対して「スケール」ファクタとして使
用できる。
A. 15.1.2.1.2 “Overview of JPEG IQ” Baseline JPEG allows pictures containing up to four different color components in each scan. A 64-entry quantization table can be designated for these four color components. Each entry in these tables can be used as a "scale" factor for one of the 64 quantized coefficients.

【0904】JPEG量子化表用の値は、コード化JP
EGデータ内に含まれ、そして、量子化表に自動的にロ
ードされる。
The values for the JPEG quantization table are coded JP
It is included in the EG data and automatically loaded into the quantization table.

【0905】 A.15.2.1.3 「MPEG IQの概観」 MPEGは、H.261及びJPEG量子化技術を用い
る。JPEGの場合と同様に、各々64のエントリを備
えた4つの量子化表が使用可能である。ただし、表の使
用方法は全く異なる。
A. 15.2.1.3 “Overview of MPEG IQ” MPEG is based on H.264. 261 and JPEG quantization technique. As with JPEG, four quantization tables with 64 entries each are available. However, the usage of the table is completely different.

【0906】データの2つの「タイプ」は、イントラ及
び非イントラである。各データタイプに対して異なった
表が用いられる。2つの「デフォルト」表が、MPEG
によって定義される。1つはイントラデータ用であり、
いま1つは非イントラデータ用である表130、及び表
131参照)。これらのデフォルト表は、MPEG復号
化が可能になる以前に、空間デコーダの量子化表メモリ
ーに記入されなければならない。
The two "types" of data are intra and non-intra. Different tables are used for each data type. Two "default" tables are MPEG
Defined by One is for intra data,
The other is Table 130 and Table 131 for non-intra data). These default tables must be filled in the quantization table memory of the spatial decoder before MPEG decoding is possible.

【0907】同様に、MPEGは、2つの「ダウンロー
ド」量子化表を許可する。1つは、イントラデータと共
に使用するためであり、いま1つは、非イントラデータ
と共に使用するためである。これらの表に対する値は、
MPEGデータストリーム内に含まれ、そして、量子化
表メモリ自動的にロードされる。
Similarly, MPEG allows two "download" quantization tables. One is for use with intra-data and another is for use with non-intra-data. The values for these tables are
It is included in the MPEG data stream and is automatically loaded in the quantization table memory.

【0908】表から出力される値は、スケールファクタ
によって修正される。
The values output from the table are modified by the scale factor.

【0909】 A.15.2.2 「逆量子化器レジスタ」A. 15.2.2 “Inverse Quantizer Register”

【0910】[0910]

【表129】 本発明において、量子化表メモリがアクセス可能になる
以前に、iqアクセスレジスタがセットされなければな
らない。iqアクセスが0にセットされている間に、表
に読み取りが試行された場合には、量子化表メモリは値
ゼロを返す。
[Table 129] In the present invention, the iq access register must be set before the quantization table memory can be accessed. If a table read is attempted while the iq access is set to 0, the quantization table memory returns the value zero.

【0911】A.15.2.3 「逆量子化器の構成」 正常オペレーションにおいては、コーディング・スタン
ダードトークンによって自動的に構成されるので、逆量
子化器の符号化規格を構成する必要はない。
[0911] A. 15.2.3 Inverse Quantizer Configuration In normal operation, there is no need to configure the inverse quantizer coding standard, as it is automatically configured by the coding standard token.

【0912】H.261オペレーションに対しては、量
子化器表は使用されない。特別なコンフィギュレーショ
ンは必要とされない。JPEGオペレーションに対して
は、逆量子化器によって必要とされる表は、コード化デ
ータから抽出された情報によって自動的にロードされな
ければならない。MPEGオペレーションは、デフォル
ト量子化表がロードされることを必要とする。このロー
ディングは、iqアクセスが1にセットされている間に
行われなければならない。表130内の値は、逆量子化
器の拡張アドレススペースの場所0x00から0x3F
までに記入されなければならない(キーホールレジスタ
iqキーホールアドレス、及びiqキーホールデータを
介してアクセス可能)。同様に、表131の値は、逆量
子化器の拡張アドレススペースの場所0x40から0x
7Fまでに記入されなければならない。
H.092. The quantizer table is not used for H.261 operations. No special configuration is required. For JPEG operations, the tables needed by the inverse quantizer must be automatically loaded with the information extracted from the encoded data. MPEG operation requires that a default quantization table be loaded. This loading must be done while iq access is set to 1. The values in table 130 are the locations of the dequantizer extended address space 0x00 to 0x3F.
Must be filled in (accessible via keyhole register iq keyhole address and iq keyhole data). Similarly, the values in Table 131 are from the dequantizer extended address space locations 0x40 to 0x.
Must be completed by 7F.

【0913】[0913]

【表130】 [Table 130]

【0914】[0914]

【表131】 A.15.2.4 「トークンからの表構成」 MPIを介して逆量子化器表を構成する代りに、これら
の逆量子化器表をトークンによって初期化することが可
能である。これらのトークンは、コード化されたデータ
ポート又はMPIのいずれかによって供給可能である。
[Table 131] A. 15.2.4 Table construction from tokens Instead of constructing the dequantizer tables via MPI, it is possible to initialize these dequantizer tables with tokens. These tokens can be supplied either by a coded data port or MPI.

【0915】QUANTテーブルトークンについては、
表3〜表11に記述される。前記トークンは、表の4
(0〜3)つの場所のいずれがトークンによって定義さ
れるかを指定する1つの2ビットフィールドttを持
つ。MPEGオペレーションに対しては、表0及び1の
デフォルトの定義がロードされることが必要である。
For the QUANT table token,
Described in Tables 3-11. The token is 4 in the table
It has one 2-bit field tt that specifies which of the (0-3) locations is defined by the token. For MPEG operations, the default definitions in Tables 0 and 1 need to be loaded.

【0916】A.15.2.5 「量子化表の値」 JPEG及びMPEGの両方に対しては、量子化表エン
トリは、8ビットの数である。255から1までの値は
正当である。値0は不当である。
A. 15.2.5 "Quantization Table Values" For both JPEG and MPEG, the quantization table entries are 8-bit numbers. Values from 255 to 1 are legal. A value of 0 is illegal.

【0917】A.15.2.6 「量子化表の数順序」 量子化表の値は、「ジグザグ」走査順序において用いら
れる(符号化規格参照)。表は、64の値を持つ一次元
アレイと見なされなければならない(8×8アレイでは
ない)。低いアドレスにおける表のエントリは、低い周
波数DCT係数に対応する。
A. 15.2.6 Quantization Table Number Order Quantization table values are used in a "zigzag" scan order (see encoding standard). The table should be considered as a one-dimensional array with 64 values (not an 8x8 array). The table entry at the lower address corresponds to the lower frequency DCT coefficient.

【0918】量子化表の値がQUANTテーブルトーク
ンによって所持される場合には、トークンヘッダの後の
第1の値は、「DC」係数用の表エントリである。
If the quantization table value is carried by a QUANT table token, the first value after the token header is the table entry for the "DC" coefficient.

【0919】 A.15.2.7 「逆量子化器テストレジスタ」A. 15.2.7 “Inverse Quantizer Test Register”

【0920】[0920]

【表132】 A.15.3. 「離散逆コサイン変換」 本発明の逆別個変換プロセッサは、CCITT勧告H.
26l、IEEE仕様P1180に規定された必要条件
に適合し、そして、MPEGの現行改訂案に記述された
必要条件に適合する。
[Table 132] A. 15.3. "Discrete Inverse Cosine Transform" The inverse discrete transform processor of the present invention is based on CCITT Recommendation H.264.
26l, meets the requirements specified in IEEE specification P1180, and meets the requirements described in the current revision of MPEG.

【0921】離散逆コサイン変換プロセスは、いずれの
コード化規格が用いられるかに関係なく、同じである。
ユーザによるコンフィギュレーションは一切不要であ
る。
The discrete inverse cosine transform process is the same regardless of which coding standard is used.
No user configuration required.

【0922】逆別個変換プロセッサと関連した2イベン
トがある。
There are two events associated with the inverse discrete transform processor.

【0923】[0923]

【表133】 DCT及び逆DCT機能を一層良く理解するために、読
者は、任意のピクチャ符号化規格を調査することができ
る。
[Table 133] In order to better understand the DCT and inverse DCT functions, the reader can explore any picture coding standard.

【0924】 セクション A.16 「空間デコーダ出力への接続」 空間デコーダの出力は、幅9ビットのデータワードの標
準トークンポートである。インターフェースの電気的行
動態様に関する詳細な情報についてはセクションA.4
を参照されたい。
Section A. 16 "Connect to Spatial Decoder Output" The output of the Spatial Decoder is a standard token port for a 9-bit wide data word. See Section A.3 for more information on the electrical behavior of the interface. Four
Please refer to.

【0925】出力におけるトークンは、採用中の符号化
規格に依存する。一例として、本開示のこのセクション
においては、JPEGオペレーション用に構成する際
に、空間デコーダの出力について考察する。時間デコー
ダは、JPEGの復号化結果として得られるトークンシ
ーケンスを修正しないので、このセクションにおいて
は、JPEGオペレーション期間中に時間デコーダの出
力において観察されるトークンシーケンスについて記述
する。
The token at the output depends on the encoding standard being adopted. As an example, this section of the disclosure considers the output of a spatial decoder when configuring for JPEG operation. Since the temporal decoder does not modify the resulting token sequence of JPEG decoding, this section describes the token sequence observed at the output of the temporal decoder during the JPEG operation.

【0926】ただし、MPEG及びH.261は、双方
共時間デコーダの使用を必要とする。MPEG及びH.
261オペレーション用に構成されている場合における
時間デコーダ出力への接続に関する情報についてはセク
ションA.19を参照されたい。 更に、このセクショ
ンにおいては、空間デコーダの出力においていずれのト
ークンが利用できるか及び当該出力をディスプレイする
ための回路設計に際していずれのトークンが最も有用で
あるかを識別する。他のトークンも存在するが、それら
の出力はディスプレイ不要なので、ここでは検討しな
い。このセクションにおいて集中的に検討する項目を次
に示す。
However, MPEG and H.264 are not supported. 261 both require the use of temporal decoders. MPEG and H.264.
For information on connecting to the time decoder output when configured for H.261 operation, see Section A.2. See 19. In addition, this section identifies which tokens are available at the output of the spatial decoder and which are most useful in the circuit design for displaying that output. There are other tokens, but their output is not required for display and will not be considered here. The following are the items to focus on in this section.

【0927】 *シーケンスのスタート及びエンドの識別方法。* A method for identifying the start and end of a sequence.

【0928】 *ピクチャのスタート及びエンドの識別方法。* A method for identifying the start and end of a picture.

【0929】 *何時ピクチャをディスプレイするかの識別方法。* How to identify when to display a picture.

【0930】* ディスプレイ内のピクチャデータ配置
場所を識別する方法 A.16.1 「JPEGピクチャの構造」 このセクションでは、JPEG構文の特徴について概観
する。詳細については符号化規格を参照されたい。
* Method of identifying picture data arrangement location in display A. 16.1 JPEG Picture Structure This section gives an overview of the characteristics of the JPEG syntax. See the coding standard for details.

【0931】JPEGは、個々のピクチャをコード化す
るための様々なメカニズムを提供する。JPEGは、動
画をコード化するメカニズムを提供するためにピクチャ
の集りをまとめてコード化する方法を記述しようと試み
ない。
JPEG provides various mechanisms for encoding individual pictures. JPEG does not attempt to describe how to code a collection of pictures together to provide a mechanism for coding a video.

【0932】本発明に基づく空間デコーダは、JPEG
の基底線としての順次的な作動モードをサポートする。
この構文には主要な3つのレベル、即ち、イメージ、フ
レーム、及びスキャンがある。順次的な1つのイメージ
はただ1つの単一フレームを含む。1つのフレームは、
1から256までの間の異なるイメージ(色)成分を含
むことが出来る。これらのイメージ成分は様々な方法に
おいてスキャンに集めることが出来る。各スキャンは1
から4までの間のイメージ成分を含むことができる(図
90「JPEG基底線としての順次的構造の概観」参
照)。 スキャンが1つの単一イメージ成分を含む場合
には、非インタリーブドスキャンであり、複数のイメー
ジ成分を含む場合には、インタリーブドスキャンであ
る。1つのフレームは、インタリーブドキャンと非イン
タリーブドスキャンの混合物を含むことができる。フレ
ームが含むことのできるスキャンの数は、フレームが含
むことのできるイメージ成分の数に関する256の限界
によって決定される。 1つのインタリーブドスキャン
内において、データは、MPEG及びH.261に用い
られるマクロブロックに相似する最小コード化単位(M
CU)に組織される。これらのMOUは、ピクチャ内に
おいてラスタ順に配置される。非インタリーブドスキャ
ンにおけるMCUは、1つの単一8×8ブロックであ
る。この場合にも、MCUはラスタ組織化される。
The spatial decoder according to the present invention is a JPEG
Support sequential modes of operation as the baseline of
There are three main levels in this syntax: image, frame, and scan. One sequential image contains only one single frame. One frame is
It may contain between 1 and 256 different image (color) components. These image components can be collected in the scan in various ways. 1 for each scan
Image components between 4 and 4 can be included (see Figure 90 "Overview of Sequential Structure as JPEG Baseline"). If the scan contains one single image component, it is a non-interleaved scan; if it contains multiple image components, it is an interleaved scan. A frame can contain a mixture of interleaved cans and non-interleaved scans. The number of scans a frame can contain is determined by the 256 limit on the number of image components a frame can contain. Within one interleaved scan, the data is MPEG and H.264. The minimum coding unit (M
CU). These MOUs are arranged in raster order within the picture. The MCU in non-interleaved scan is one single 8x8 block. Again, the MCU is raster organized.

【0933】空間デコーダは、1から4までの異なる色
成分を含むJPEGデータを容易に復号化することが出
来る。大きい数の成分について記述するファイルも、同
様に復号化することが出来る。ただし、復号化される成
分の次の1組を収容するためには、スキャンの間におい
て或る程度の再構成が要求されることもあり得る。
The spatial decoder can easily decode JPEG data containing 1 to 4 different color components. Files that describe a large number of components can be similarly decoded. However, some reconstruction may be required during the scan to accommodate the next set of components to be decoded.

【0934】A.16.2 「トークンシーケンス」 JPEGマーカコードは、スタートコード検出器によっ
てトークンと指定された相似のMPEGに変換される表
92、及び図91「トークン化されたJPEGピクチ
ャ」参照)。
A. 16.2 "Token Sequence" The JPEG marker code is converted by the start code detector into a similar MPEG designated token, see Table 92, and Fig. 91 "Tokenized JPEG Pictures").

【0935】セクションA.17 「時間デコーダ」 *30、MH7オペレーション。Section A. 17 "Time Decoder" * 30, MH7 operation.

【0936】*MPEG及びH.261動画デコーダ用
時間復号化を提供する。
* MPEG and H.264. Provides temporal decoding for a H.261 video decoder.

【0937】*H.261 CIF、及びQCIFフォ
ーマット。
* H. 261 CIF and QCIF formats.

【0938】*MPEG動画分解能度最大704×48
0、30Hz、4:2:0。
* MPEG moving image resolution up to 704 × 48
0, 30 Hz, 4: 2: 0.

【0939】*融通性のあるクロマサンプリングフォー
マット。
* Flexible chroma sampling format.

【0940】*MPEGピクチャシーケンス順序直し可
能。
[0940] * MPEG picture sequence can be rearranged.

【0941】*グルーレスDRAMインターフェース。* Glueless DRAM interface.

【0942】*単一+5V電源。* Single + 5V power supply.

【0943】*208ピンPQFPパッケージ。* 208-pin PQFP package.

【0944】*最大電力消費2.5W。* Maximum power consumption is 2.5W.

【0945】*標準ページモードDRAMを使用する。* Use standard page mode DRAM.

【0946】時間デコーダは、空間デコーダにとってコ
ンパニオンチップであり、そして、H.261、及びM
PEGによって必要とされる時間復号化を提供する。
The Temporal Decoder is a companion chip to the Spatial Decoder, and 261 and M
It provides the temporal decoding required by PEG.

【0947】時間デコーダは、MPEG、及びH.26
1によって必要とされる全ての予測形成機能を実行す
る。1つの単一4Mb DRAM(例えば、512k×
8)を用いて、時間デコーダは、CIF及びQCIF
H.261動画を復号化することができる。8Mb D
RAM(例えば、2つの256k×16)を用いると、
704×480、30Hz、4:2:0MPEG動画を
復号化することができる。
Temporal decoders are MPEG, H.264 and H.264. 26
1. Perform all prediction formation functions required by 1. One single 4Mb DRAM (eg 512k x
8), the temporal decoder uses CIF and QCIF
H. The H.261 video can be decrypted. 8 Mb D
Using RAM (eg, two 256k x 16),
704 × 480, 30 Hz, 4: 2: 0 MPEG video can be decoded.

【0948】イントラコード化計画(例えばJPEG)
は時間デコーダえを必要としない。時間デコーダが多重
規格デコーダに含まれる場合には、当該時間デコーダ
は、復号化済みJPEGピクチャをその出力まで供給す
る。 注記:前述の値は、本発明の1実施例の一例を示すに過
ぎず、必ずしも制限を意図するものではない。本発明の
範囲から逸脱することなしに、他の値及び範囲を用いる
ことが可能であることが理解されるはずである。
Intra-coding scheme (eg JPEG)
Does not need a time decoder. If the temporal decoder is included in a multi-standard decoder, it delivers the decoded JPEG picture to its output. Note: The above values are merely an example of one embodiment of the present invention and are not necessarily intended to be limiting. It should be understood that other values and ranges can be used without departing from the scope of the present invention.

【0949】A.17.1 「時間デコーダ信号」A. 17.1 “Time Decoder Signal”

【0950】[0950]

【表134】 [Table 134]

【0951】[0951]

【表135】 [Table 135]

【0952】[0952]

【表136】 [Table 136]

【0953】[0953]

【表137】 [Table 137]

【0954】[0954]

【表138】 A.17.1.1 「非接続ピン“nc”」 表138に「nc」とラベル表示されているピンは、現
在本発明には使用されず、将来の製品のために予約され
ているピンである。これらのピンは、接続しないで残し
ておかねばならない。これらのピンは、VDD、GND、
相互、または他のあらゆる信号と接続してはならない。
[Table 138] A. 17.1.1 “Unconnected Pins“ nc ”” The pins labeled “nc” in Table 138 are pins that are not currently used in the invention and are reserved for future products. . These pins must be left unconnected. These pins are VDD, GND,
Do not connect to each other or any other signal.

【0955】 A.17.1.2 「VDD、及びGNDピン] 当然理解されるように、全てのVDD及びGNDピンは該
当する電源に接続されなければならない。全てのVDD及
びGNDピンが正しく使用されていなければ、デバイス
は正しく作動しない。
A. 17.1.2 “VDD and GND Pins” It should be understood that all VDD and GND pins must be connected to the appropriate power supply. If all VDD and GND pins are not used correctly, The device does not work properly.

【0956】A.17.1.3 [正常作動のためのテ
ストピンの接続] 時間デコーダの9つのピンは、内部テスト用として予約
済みである。
A. 17.1.3 Test Pin Connections for Normal Operation Nine pins of the time decoder are reserved for internal testing.

【0957】[0957]

【表139】 A.17.1.4 [正常作動のためのJTAGピン] セクションA.8.1参照。[Table 139] A. 17.1.4 [JTAG Pin for Normal Operation] Section A. See 8.1.

【0958】[0958]

【表140】 [Table 140]

【0959】[0959]

【表141】 [Table 141]

【0960】[0960]

【表142】 [Table 142]

【0961】[0961]

【表143】 [Table 143]

【0962】[0962]

【表144】 [Table 144]

【0963】[0963]

【表145】 [Table 145]

【0964】[0964]

【表146】 [Table 146]

【0965】[0965]

【表147】 [Table 147]

【0966】[0966]

【表148】 セクションA.18 「時間デコーダオペレーション」 A.18.1 「データ入力」 時間デコーダの入力データポートは9ビット幅のデータ
ワードを持つ標準のトークンポートである。ほとんどの
応用例において、これは空間デコーダの出力トークンポ
ートに直接接続される。このインターフェースの電気的
行為に関する詳細な情報については、セクションA.4
を参照せよ。
[Table 148] Section A. 18 "Time Decoder Operation" A. 18.1 "Data Input" The input data port of the time decoder is a standard token port with a 9-bit wide data word. In most applications this is directly connected to the output token port of the spatial decoder. For more information on the electrical behavior of this interface, see Section A.2. Four
See.

【0967】A.18.2 「自動形成」 符号化されたビデオピクチャフォーマットに関するパラ
メーターは、空間デコーダによって発生されるトークン
により、時間デコーダ内のレジスタに自動的にロードさ
れる。
A. 18.2 "Automatic Forming" Parameters for encoded video picture formats are automatically loaded into registers in the temporal decoder by tokens generated by the spatial decoder.

【0968】[0968]

【表149】 A.18.3 「手動形成」 ユーザーは(マイクロプロセッサインターフェースを介
して)アプリケーション依存要素を形成しなければなら
ない。
[Table 149] A. 18.3 "Manually Create" The user must create the application-dependent element (via the microprocessor interface).

【0969】A.18.3.1 「いつ形成するか」 データ処理が行われていない時にのみ、時間デコーダを
形成すべきである。これはリセットが解除された後のデ
ィフォルトステートである。チップアクセスレジスタに
1を書き込むことにより、時間デコーダを停止して再形
成できる。形成が完了した後、チップアクセスに0を書
き込まねばならない。
A. 18.3.1 "When to Form" A temporal decoder should be formed only when no data processing is taking place. This is the default state after reset is released. The time decoder can be stopped and recreated by writing a 1 to the chip access register. After the formation is complete, 0 must be written to the chip access.

【0970】DRAMインターフェースをいつ形成する
かに関する詳細は、セクションA.5.3を参照せよ。
For details on when to form the DRAM interface, see Section A.6. See 5.3.

【0971】 A.18.3.2 「DRAMインターフェース」 DRAMインターフェースのタイミングは予測的に符号
化されたビデオ(例えばH.162またはMPEG)を
解読できるようになる前に形成されなければならない。
セクションA.5「DRAMインターフェース」を参照
せよ。
A. 18.3.2 "DRAM Interface" The timing of the DRAM interface must be formed before it can decode predictively coded video (eg H.162 or MPEG).
Section A. 5 See DRAM Interface.

【0972】[0972]

【表150】 [Table 150]

【0973】[0973]

【表151】 A.18.3.3 「ピクチャバッファレジスタ数」 ピクチャバッファポインタ(18ビット)及び成分オフ
セット(17ビット)レジスタはバイトアドレスではな
く、ブロック(8×8バイト)アドレスを明記する。
[Table 151] A. 18.3.3 “Picture Buffer Register Number” The picture buffer pointer (18 bits) and component offset (17 bits) registers specify block (8 × 8 byte) addresses, not byte addresses.

【0974】A.18.3.4 「ピクチャバッファ記
憶割当」 予測的に符号化されたビデオ(H.261もしくはMP
EG)を解読するため、時間デコーダは2つのピクチャ
バッファを処理しなければならない。これらのバッファ
が如何に使用されるかに関する詳細については、セクシ
ョンA.18.4及びA.18.4.4を参照せよ。
A. 18.3.4 "Picture Buffer Storage Allocation" Predictively coded video (H.261 or MP
To decode EG), the temporal decoder has to process two picture buffers. See Section A.3 for more details on how these buffers are used. 18.4 and A. See 18.4.4.

【0975】ユーザーは(他のピクチャバッファと重ね
ることなく)必要なビデオフォーマットの単一ピクチャ
を記憶するために、ピクチャバッファポインタ(pic
ture buffer 0及びpicture bu
ffer 1)の各々の上に充分な記憶があることを確
かめねばならない。通常、ピクチャバッファポインタの
1つが0(つまり記憶の底部)に設定され、他の1つが
記憶スペースの中間を指すように設定される。
[0975] The user can store a picture buffer pointer (pic
pure buffer 0 and picture bu
You must make sure that you have sufficient memory on each of the fffer 1). Usually one of the picture buffer pointers is set to 0 (ie the bottom of the storage) and the other one is set to point in the middle of the storage space.

【0976】A.18.3.4.1 「MPEGもしく
はH.261用の通常の形成」 H.261及びMPEGは両者共、異なる色成分間の比
4:1:1(つまり、いずれかのクロミナンス成分にあ
るピクセルの4倍の輝度ピクセルがある)を使用する。
A. 18.3.4.1 "Regular formation for MPEG or H.261" 261 and MPEG both use a ratio of 4: 1: 1 between different color components (ie, there are four times as many luminance pixels as pixels in either chrominance component).

【0977】A.3.5.1、「成分特定数」に文書化
されているように、成分0は輝度成分であり、成分1及
び2はクロミナンスである。
A. Component 0 is the luminance component and components 1 and 2 are the chrominance, as documented in 3.5.1, "Component Specific Number".

【0978】成分オフセットレジスタの形成例は、成分
0がピクチャバッファポインタにおいて始まるように、
component offset 0を0に設定す
る。同様に、component offset 1は
ピクチャバッファサイズの4/6に設定し、compo
nent offset 2はピクチャバッファサイズ
の5/6に設定することができよう。
An example of forming a component offset register is that component 0 begins at the picture buffer pointer,
Set component offset 0 to 0. Similarly, component offset 1 is set to 4/6 of the picture buffer size, and compo
Nent offset 2 could be set to 5/6 of the picture buffer size.

【0979】A.18.3.5 「ピクチャシーケンス
再整理(re-ordering)」 MPEGは3つの異なるピクチャタイプを使用する:イ
ントラ(I)、予想された(P)、及び二方向的に補間
された(B)。Bピクチャは2つのピクチャ:未来から
のものと過去からのものからの予想に基づいている。ピ
クチャの順序は、Bピクチャの解読が求められる前に、
I及びPピクチャが符号化されたデータから解読される
ように、エンコーダで修正される。
A. 18.3.5 "Picture Sequence Re-ordering" MPEG uses three different picture types: intra (I), expected (P), and bidirectionally interpolated (B). . B-pictures are based on predictions from two pictures: one from the future and one from the past. The order of the pictures is that before the decoding of B-pictures is required,
It is modified at the encoder so that the I and P pictures are decoded from the encoded data.

【0980】ピクチャシーケンスはこれらのピクチャが
表示される前に修正されなければならない。時間デコー
ダは(レジスタMPEG reordering=1に
設定することによりより)このピクチャ再整理を提供す
ることができる。あるいは、ユーザーは彼の表示インタ
ーフェース機能の一部としてピクチャ再整理を実行した
いと望むかもしれない。ピクチャ再整理を提供するよう
に時間デコーダを形成することにより、解読され得るビ
デオ解像度を低減させるかもしれない。A.18.5を
参照せよ。
The picture sequence must be modified before these pictures are displayed. The temporal decoder can provide this picture reordering (by setting the register MPEG reordering = 1). Alternatively, the user may wish to perform picture reordering as part of his display interface functionality. Forming the temporal decoder to provide picture reordering may reduce the video resolution that can be decoded. A. See 18.5.

【0981】A.18.4 「予測形成」 H.261デコーディング及びMPEGデコーディング
の予測形成要件は全く異なっている。コーディングスタ
ンダードトークンは時間デコーダが異なる基準の予測要
件を収容するように自動的に形成する。
A. 18.4 "Predictive formation" The prediction forming requirements for H.261 decoding and MPEG decoding are quite different. The coding standard token is automatically formed by the temporal decoder to accommodate different criteria of prediction requirements.

【0982】 A.18.4.1 「JPEGオペレーション」 JPEGオペレーション用に形成されると、JPEGは
時間デコーディングを必要としないので、予測は行われ
ない。
A. 18.4.1 "JPEG Operations" When formed for JPEG operations, no prediction is made because JPEG does not require temporal decoding.

【0983】 A.18.4.2 「H.261オペレーション」 H.261では、予測はデコーディングされたピクチャ
からのみ行われる。動きベクトルは整数ピクセルの精度
に条件として指定されるだけである。エンコーダは低域
フィルターが予測結果に適用されるように指定すること
ができる。
A. 18.4.2 “H.261 Operation” H.261 At 261, prediction is only done from the decoded pictures. The motion vector is only specified as a precision to integer pixel precision. The encoder can specify that a low pass filter be applied to the prediction result.

【0984】各ピクチャがデコーディングされるにつれ
て、それは次のピクチャをデコーディングする際に使用
できるように、オフチップDRAM内のピクチャバッフ
ァに書き込まれる。デコーディングされたピクチャはオ
フチップDRAMに書き込まれるにつれて、時間デコー
ダの出力に現れる。
As each picture is decoded, it is written to the picture buffer in off-chip DRAM so that it can be used in decoding the next picture. The decoded picture appears at the output of the temporal decoder as it is written to off-chip DRAM.

【0985】予測に関する詳細及び関係する演算オペレ
ーションについては、読出し装置はH.261スタンダ
ードに向けられる。本発明の時間デコーダはH.261
の要件を完全に遵守している。
For details regarding prediction and related arithmetic operations, the reading device is described in H.264. Directed to the 261 standard. The temporal decoder of the present invention is based on H.264. 261
Fully comply with the requirements of.

【0986】A.18.4.3 MPEGオペレーショ
ン(再整理を伴わない) 時間デコーダのオペレーションは3つの異なるMPEG
ピクチャタイプ(I、P、B)の各々に対して変化す
る。Iピクチャは時間デコーダによる更なるデコーディ
ングを必要としないが、後にP及びBピクチャをデコー
ディングする際に使用されるためにピクチャバッファ
(フレーム記憶装置)に記憶されなければならない。
A. 18.4.3 MPEG operation (without reordering) The operation of the temporal decoder is 3 different MPEG operations.
It changes for each picture type (I, P, B). I-pictures do not require further decoding by the temporal decoder, but must be stored in the picture buffer (frame store) for later use in decoding P and B pictures.

【0987】Pピクチャのデコーディングには、以前に
デコーディングされたPもしくはIピクチャからの予測
を形成する必要がある。解読されたPピクチャはP及び
Bピクチャを解読する際に使用するため、ピクチャバッ
ファの中に記憶される。MPEGは動きベクトルが半ピ
クセルの精度に指定されるようにする。オンチップフィ
ルタはこの半ピクセル精度を支持するための補間を提供
する。
Decoding a P picture requires forming a prediction from a previously decoded P or I picture. The decoded P picture is stored in the picture buffer for use in decoding the P and B pictures. MPEG allows motion vectors to be specified with half-pixel accuracy. On-chip filters provide interpolation to support this half-pixel accuracy.

【0988】Bピクチャは両方のピクチャバッファから
の予測を必要とすることができる。Pピクチャと同様
に、半ピクセル動きベクトル解像度精度はピクチャ情報
のオンチップ補間を要求する。Bピクチャはオフチップ
バッファには記憶されない。それらは一時的なものにす
ぎない。
B-pictures may require prediction from both picture buffers. As with P-pictures, half-pixel motion vector resolution accuracy requires on-chip interpolation of picture information. B-pictures are not stored in the off-chip buffer. They are only temporary.

【0989】全てのピクチャはそれらの符号が解読され
るにつれて、時間デコーダの出力ポートに現れる。従っ
て、ピクチャシーケンスは符号化されたMPEGデータ
におけるものと同じである(図94の上位部分を参
照)。
All pictures appear at the output port of the temporal decoder as their code is decoded. Therefore, the picture sequence is the same as in the encoded MPEG data (see upper part of FIG. 94).

【0990】予測に関する詳細及び関係する演算オペレ
ーションについては、提案されているMPEGスタンダ
ードの草案を参照せよ。本発明の時間デコーダによりこ
れらの要件が満たされる。
For details on prediction and related arithmetic operations, see the proposed MPEG Standard Draft. The temporal decoder of the present invention satisfies these requirements.

【0991】A.18.4.4 「MPEGオペレーシ
ョン(再整理を伴う)」 ピクチャ再整理を伴うMPEGオペレーション(MPE
G reordering=1)のために形成される
と、予測形成オペレーションは上述のセクションA.1
8.4.3におけるのと同様である。しかしながら、ピ
クチャシーケンスを再整理するために付加的なデータ伝
送が実施される。
A. 18.4.4 “MPEG operation (with reordering)” MPEG operation with picture reordering (MPE)
G reordering = 1), the predictive formation operation is performed as described in section A. 1
Same as in 8.3.3. However, additional data transmission is performed to rearrange the picture sequence.

【0992】Bピクチャデコーディングはセクション
A.18.4.3において記した通りである。しかしな
がら、I及びPピクチャはデコーディングされた時に出
力されない。その代わりに、(前述のように)オフチッ
プバッファに書き込まれ、次のIもしくはPピクチャが
デコーディングのために届いた時にのみ読み出される。 A.18.4.4.1 「デコーダスタートアップ特
性」 次のP(もしくはI)ピクチャのデコーディングがスタ
ートされるまで、最初のIピクチャの出力が遅らされ
る。このことはビデオデコーダのスタートアップ特性を
概算する時に考慮されなければならない。
B-picture decoding is described in Section A.9. As described in 18.4.3. However, I and P pictures are not output when decoded. Instead, it is written to the off-chip buffer (as described above) and read only when the next I or P picture arrives for decoding. A. 18.4.4.1 "Decoder start-up characteristics" The output of the first I picture is delayed until the decoding of the next P (or I) picture is started. This must be taken into account when estimating the start-up characteristics of the video decoder.

【0993】 A.18.4.4.2 「デコーダ停止特性」 時間デコーダは前のピクチャをそのオフチップバッファ
(フレーム記憶装置)からフラッシュするために、次の
PもしくはIピクチャに依存する。これはビデオシーケ
ンスの終了時、及び新しいビデオシーケンスをスタート
する時に結果が現れる。空間デコーダは最後のP(もし
くはI)ピクチャをフラッシュするために、ビデオシー
ケンスの終了時に「偽の」I/Pピクチャを作り出すた
めの便宜を提供する。しかしながら、この「偽の」ピク
チャは次のビデオシーケンスが始まるとフラッシュされ
る。
A. 18.4.4.2 Decoder Stop Characteristics The temporal decoder depends on the next P or I picture to flush the previous picture from its off-chip buffer (frame store). This has consequences at the end of the video sequence and at the start of a new video sequence. The spatial decoder provides the convenience of creating a "fake" I / P picture at the end of the video sequence in order to flush the last P (or I) picture. However, this "fake" picture is flushed when the next video sequence begins.

【0994】空間デコーダはこの「偽の」ピクチャを抑
制するためのオプションを提供する。これは、新ビデオ
シーケンスが旧シーケンスの完了後直ちにデコーダに供
給されることが知られている場合に有用である。この新
シーケンス内の最初のピクチャは前のシーケンスの最後
のピクチャをフラッシュすることになる。
The Spatial Decoder provides the option to suppress this "false" picture. This is useful when it is known that the new video sequence will be provided to the decoder immediately after the completion of the old sequence. The first picture in this new sequence will flush the last picture in the previous sequence.

【0995】A.18.5 「ビデオ解像度」 MPEGをデコーディングする時に、時間デコーダが支
持することができるビデオ解像度は、そのDRAMイン
ターフェースのメモリー帯域幅により制限される。MP
EGにとって、2つの場合を考慮する必要がある:MP
EGピクチャ再整理を伴う場合と、伴わない場合であ
る。
A. 18.5 "Video Resolution" When decoding MPEG, the video resolution that a temporal decoder can support is limited by the memory bandwidth of its DRAM interface. MP
Two cases need to be considered for the EG: MP
There are cases with and without EG picture reordering.

【0996】セクションA.18.5.2及びA.1
8.5.3はMPEG規約の現行の草案により要求され
る最悪の場合の要件について論じている。より低いメモ
リー帯域幅の要件を持つMPEGのサブセットが企図さ
れる。例えば、整数解像度動きベクトルだけを用いて、
もしくはその代わりに、Bピクチャを使用せずに、メモ
リー帯域幅の要件を重大に低減させる。該かるサブセッ
トについての分析はここでは行わない。
Section A. 18.5.2 and A. 1
8.5.3 discusses the worst case requirements required by the current draft of the MPEG standard. A subset of MPEG with lower memory bandwidth requirements is contemplated. For example, using only integer resolution motion vectors,
Alternatively, B-pictures are not used, significantly reducing memory bandwidth requirements. No analysis is performed here on such a subset.

【0997】 A.18.5.1 [DRAMインターフェースの特性] DRAMインターフェースを横切ってデータを伝送する
ために取られるサイクル数は要因数に依存する: ・使用されるDRAMに適合させるためのDRAMイン
ターフェースのタイミング形成 ・データバス幅(8、16または32ビット) ・データ伝送タイプ: ・8×8ブロックの読出しまたは書込み ・半ピクセル精度に対する予測のため ・整数ピクセル精度に対する予測のため DRAMインターフェースの詳細な形成に関する情報に
関しては、セクションA.5、「DRAMインターフェ
ース」を参照せよ。
A. 18.5.1 DRAM Interface Characteristics The number of cycles taken to transfer data across the DRAM interface depends on a number of factors: -DRAM interface timing shaping to adapt to the DRAM used-Data Bus width (8, 16 or 32 bits) -Data transmission type: -Read or write of 8x8 blocks-For prediction to half pixel precision-For prediction to integer pixel precision For information on the detailed formation of the DRAM interface , Section A. See 5, DRAM Interface.

【0998】表152はデータ伝送の各タイプのために
幾つのDRAMインターフェース「サイクル」が必要で
あるかを示している。
Table 152 shows how many DRAM interface "cycles" are required for each type of data transmission.

【0999】[0999]

【表152】 表154は表152の数字を取り、それらを「典型的
な」DRAMのために評価する。この例では、27MH
zクロックであると仮定する。ここでは27MHzを使
用するが、それに制限するものではないことを認識すべ
きである。アクセススタートには11ティック(102
ns)が必要であり、データ伝送には6ティック(56
ns)が必要である。
[Table 152] Table 154 takes the numbers from Table 152 and rates them for "typical" DRAM. In this example, 27 MH
Assume z clock. It should be appreciated that 27 MHz is used here, but is not limited thereto. 11 ticks (102
ns) is required and 6 ticks (56
ns) is required.

【1000】A.18.5.2 「再整理を伴わないM
PEG解像度」 ピークメモリー帯域幅のロードはBピクチャをデコーデ
ィングする時に発生する。「最悪の場合の」シナリオで
は、Bフレームは両方のピクチャバッファからの予測か
ら形成され、全ての予測は半ピクセル精度に対するもの
である。
[1000] A. 18.5.2 “M without reordering
PEG resolution "Peak memory bandwidth loading occurs when decoding B-pictures. In the "worst case" scenario, a B-frame is formed from predictions from both picture buffers, all predictions are for half-pixel accuracy.

【1001】[1001]

【表153】 表153からの数字例を用いれば、(32ビット幅のイ
ンターフェースを介して)2つの正確な半ピクセル精度
予測のために必要なデータを読むために、DRAMイン
ターフェース3815nsが必要であることが解る。時
間デコーダが支持することができる解像度は、1ピクチ
ャ時間内に遂行できるこれらの予測数によって決定され
る。本例では、時間デコーダは1つの33msピクチャ
周期に(例えば、30Hzビデオのために)8737の
8×8ブロックを処理することができる。
[Table 153] Using the example numbers from Table 153, it can be seen that a DRAM interface 3815ns is required to read the data required (via a 32-bit wide interface) for two accurate half pixel precision predictions. The resolution that the temporal decoder can support is determined by the number of these predictions that can be accomplished in one picture time. In this example, the temporal decoder can process 8737 8 × 8 blocks (eg, for 30 Hz video) in one 33 ms picture period.

【1002】必要なビデオフォーマットが704×48
0であれば、(4:2:0のクロマサンプリングを考慮
すれば)各ピクチャは7920の8×8ブロックを包含
する。このビデオフォーマットは(DRAMリフレッシ
ュ等の他の要因を考慮に入れる前に)利用できるDRA
Mインターフェース帯域幅の約91%を消費する。従っ
て、時間デコーダはこのビデオフォーマットを支持する
ことができる。
[1002] Required video format is 704 × 48
If 0, each picture contains 7920 8x8 blocks (taking into account 4: 2: 0 chroma sampling). This video format is available DRA (before considering other factors such as DRAM refresh)
It consumes about 91% of the M interface bandwidth. Therefore, the temporal decoder can support this video format.

【1003】 A.18.5.3 「再整理を伴うMPEG解像度」 MPEGピクチャ再整理を用いれば、Pピクチャがデコ
ーディングされている間に、最悪の場合のシナリオと遭
遇する。この時間の間に、DRAMインターフェース上
に3回のロードが行われる: ・形態予測 ・結果を書き戻す ・以前のPまたはIピクチャを読み出す。
[1003] A. 18.5.3 "MPEG Resolution with Reordering" With MPEG picture reordering, the worst case scenario is encountered while P pictures are being decoded. During this time, three loads are done on the DRAM interface: • Morphological prediction • Write back result • Read previous P or I picture.

【1004】表152からの数字例を用いて、32ビッ
ト幅のインターフェースが利用できる場合に、これら各
々の仕事のために必要な回数を見い出すことができる。
予測形成には1907ns/nが必要である一方、読出
し及び書込みには各々991nsが必要であり、全体で
3889nsを必要とする。これは時間デコーダが33
ms周期の間に8485の8×8ブロックを処理できる
ようにする。
[1004] Using the numerical examples from Table 152, one can find the number of times needed for each of these tasks when a 32-bit wide interface is available.
Predictive formation requires 1907 ns / n, while read and write require 991 ns each, for a total of 3889 ns. This is the time decoder 33
Allow 8485 8x8 blocks to be processed during the ms period.

【1005】従って、704×480ビデオを処理する
には、(リフレッシュを無視して)利用できるメモリー
帯域幅のほぼ93%を使用することになる。
Therefore, processing 704 × 480 video would use almost 93% of the available memory bandwidth (ignoring refresh).

【1006】A.18.5.4 「H.261」 H.261は30Hzまでのピクチャ率でCIF(35
2×288)とQCIF(172×144)の2つのピ
クチャフォーマットを支持するだけである。CIFピク
チャは2376の8×8ブロックを包含する。唯一必要
なメモリーオペレーションは8×8ブロックの配線と、
整数精度動きベクトルでの予測形成である。
[1006] A. 18.5.4 "H.261" 261 is a CIF (35
It only supports two picture formats, 2x288) and QCIF (172x144). The CIF picture contains 2376 8 × 8 blocks. The only memory operation required is 8x8 block wiring,
Predictive formation with integer precision motion vectors.

【1007】8ビット幅のメモリーインターフェースの
ための表153からの数字例を用いて、各ブロックに書
き込むために3657nsを必要とする一方、1ブロッ
クの予測形成には3963ns/nが必要であり、全体
でブロック毎に7620nsが必要であることが解る。
1つのCIFピクチャのための処理時間は約18msで
あり、30Hzのビデオを支持するために必要な33m
sよりかなり少なくなっている。
Using the numerical example from Table 153 for an 8-bit wide memory interface, 3657 ns are needed to write to each block, while 3963 ns / n is required to predict the formation of one block, It turns out that 7620 ns are required for each block as a whole.
The processing time for one CIF picture is about 18ms, 33m required to support 30Hz video
It is much less than s.

【1008】A.18.5.5 「JPEG」 支持できるJPEGビデオの解像度は発明の空間デコー
ダもしくは表示インターフェースの能力により決定され
る。時間デコーダはJPEG解像度に影響を及ぼさな
い。
A. 18.5.5 "JPEG" The resolution of JPEG video that can be supported is determined by the capabilities of the inventive spatial decoder or display interface. The temporal decoder does not affect the JPEG resolution.

【1009】A.18.6 「イベント及びエラー」 A.18.6.1 「チップストップ」 本発明では、チップアクセスに1を書き込むと、時間デ
コーダがオペレーションを停止して再形成ができるよう
にすることを求める。一度受け入れられると、通常時間
デコーダは現在のビデオシーケンスのエンドに達するま
でオペレーションを続ける。その後、時間デコーダは停
止される。
[1009] A. 18.6 "Events and Errors" A. 18.6.1 "Chip Stop" The present invention requires that writing a 1 to a chip access causes the temporal decoder to stop operation and allow reformation. Once accepted, the normal-time decoder continues to operate until it reaches the end of the current video sequence. After that, the time decoder is stopped.

【1010】チップが停止すると、チップ停止イベント
が発生する。chip stopped mask=1
であれば、割り込みが発生する。
[1010] When the chip stops, a chip stop event occurs. chip stopped mask = 1
If so, an interrupt occurs.

【1011】A.18.6.2 「カウントエラー」 本発明の時間デコーダは誤差データに対する予測を加え
るアダーを具備する。誤差データバイト数と予測データ
バイト数との間に差がある場合、カウントエラーイベン
トが発生する。
[1011] A. 18.6.2 "Count Error" The temporal decoder of the present invention comprises an adder that adds a prediction to the error data. If there is a difference between the number of error data bytes and the expected number of data bytes, a count error event occurs.

【1012】count error mask=1の
場合、割り込みが発生し、予測形成が停止する。
[1012] When count error mask = 1, an interrupt occurs and prediction formation stops.

【1013】count error eventに1
を書き込むと、イベントをクリアして時間デコーダが進
めるようにする。その後エラーを発生させたDATAト
ークンが続く。しかしながら、エラーを発生させたDA
TAトークンは正しい長さ(46バイト)のものではな
いであろう。これは更なる問題を容易に発生させるであ
ろう。このように、カウントエラーは重大なハードウェ
アエラーが発生した場合にのみ生じるべきである。
[1013] 1 for count error event
Write a to clear the event and let the time decoder advance. This is followed by the DATA token that caused the error. However, the DA that generated the error
The TA token will not be of the correct length (46 bytes). This will easily cause further problems. Thus, count errors should only occur when a significant hardware error occurs.

【1014】 セクションA.19 「時間デコーダの出力への接続」 時間デコーダの出力は8ビット幅のデータワードを持つ
標準のトークンポートである。インターフェースの電気
的行為に関するより詳細な情報についてはセクション
A.4を参照せよ。
[1014] Section A. 19 "Connect to Time Decoder Output" The time decoder output is a standard token port with an 8-bit wide data word. See Section A.1 for more information on the electrical behavior of the interface. See 4.

【1015】時間デコーダの出力に存在するトークンは
使用されるコーディングスタンダードに依存し、MPE
Gの場合には、ピクチャが再整理されるか否かによるで
あろう。本セクションは時間デコーダの出力においてど
のトークンが利用できるか、またその出力を表示するた
めの回路を設計する際にどれが最も有用であるかを特定
する。他のトークンも存在するであろうが、出力を表示
する必要がないので、それらに関してはここでは論じな
い。
[1015] The token present at the output of the temporal decoder depends on the coding standard used and the MPE
In the case of G, it will depend on whether or not the picture is rearranged. This section identifies which tokens are available at the output of the temporal decoder and which are most useful in designing the circuit to display that output. Other tokens may exist, but they are not discussed here because they do not need to display the output.

【1016】本セクションは以下の点を重点的に取り上
げて論じる: ・シーケンスのスタート及びエンドを如何にして特定で
きるか、 ・ピクチャのスタート及びエンドを如何にして特定でき
るか、 ・ピクチャをいつ表示するかを如何にして特定するか、 ・ピクチャデータを表示のどこに置くべきかを如何にし
て特定するか。
[1016] This section focuses on the following points: how the start and end of the sequence can be identified, how the start and end of the picture can be identified, and when the picture is displayed. How to specify: where to place the picture data in the display.

【1017】A.19.1 「JPEG出力」 JPEGデータのデコーディング時に、時間デコーダに
より出力されるトークンシーケンスは、空間デコーダの
出力において見られるものと同一である。JPEGは時
間デコーダによる処理を必要としないことを思いだして
ほしい。しかしながら、時間デコーダは(空間デコーダ
におけるIDCTの限定された算術精度から生じる)負
のバリューのために、イントラデータトークンを調べ、
それらを0に置き換える。
[1017] A. 19.1 "JPEG Output" When decoding JPEG data, the token sequence output by the temporal decoder is the same as that seen at the output of the spatial decoder. Recall that JPEG does not require processing by a temporal decoder. However, the temporal decoder looks at the intra data token for negative values (resulting from the limited arithmetic precision of the IDCT in the spatial decoder),
Replace them with 0.

【1018】JPEGオペレーション中に観察される出
力シーケンスについての詳細な議論はセクションA.1
6を参照せよ。
[1018] For a detailed discussion of the output sequences observed during a JPEG operation, see Section A.1 1
See 6.

【1019】A.19.2 「H.261出力」 A.19.2.1 「セッションのスタートとエンド」 H.261はビデオデータ内のビデオストリームのスタ
ート及びエンドを合図しない。それにもかかわらず、こ
れはアプリケーションによって暗示される。例えば、電
気通信が接続されるとシーケンスが始まり、ラインが遮
断されると終了する。このように、ビデオシンタックス
において最も高いレイヤは「ピクチャレイヤ」である。
[1019] A. 19.2 “H.261 output” 19.2.1 “Start and End of Session” 261 does not signal the start and end of the video stream within the video data. Nevertheless, this is implied by the application. For example, the sequence begins when telecommunication is connected and ends when the line is broken. Thus, the highest layer in the video syntax is the "picture layer".

【1020】本発明による空間デコーダのスタートコー
ド検出器は、最初のピクチャスタートの前に、シーケン
ススタートとコーディングスタンダードトークンが自動
的に挿入されるようにする。セクションA.11.7.
3及びA.11.7.4を参照せよ。
[1020] The start code detector of the spatial decoder according to the present invention automatically inserts the sequence start and the coding standard token before the first picture start. Section A. 11.7.
3 and A. See 11.7.4.

【1021】H.261セッションの終わりに(例え
ば、ラインが遮断された時に)、ユーザーは符号化デー
タの終了後、フラッシュトークンを挿入しなければなら
ない。これには多くの効果がある(A.31.1を参
照): ・それは最後のピクチャの終わりを合図するために、ピ
クチャエンドが発せられることを保証する。
[1021] At the end of the 261 session (eg, when the line is broken), the user must insert a flash token after the end of the encoded data. This has many effects (see A.31.1): It guarantees that a picture end is emitted to signal the end of the last picture.

【1022】・それは符号化データの終わりがデコーダ
を通して押されることを保証する。 A.19.2.2 「ピクチャの取得」 各ピクチャはシンタックスレイヤと称されるエレメント
の階層から成る。H.261をデコーディングする時、
時間デコーダの出力におけるトークンのシーケンスはこ
の構造を反映する。
[1022] It ensures that the end of the encoded data is pushed through the decoder. A. 19.2.2 “Picture acquisition” Each picture is composed of a hierarchy of elements called a syntax layer. H. When decoding the H.261,
The sequence of tokens at the output of the temporal decoder reflects this structure.

【1023】A.19.2.1 「ピクチャレイヤ」 各ピクチャの前にピクチャスタートトークンが置かれ、
ピクチャのすぐ後にピクチャエンドトークンが続く。
H.261は当然ピクチャエンドを含まない。このトー
クンは空間デコーダのスタートコード検出器により自動
的に挿入される。ピクチャスタートトークンの後に、時
間標準トークン及びピクチャタイプトークンが続くであ
ろう。時間標準トークンは、ピクチャがいつ表示される
べきかを指示する10ビット数を支持し(その内5LS
BだけがH.261において使用される)。H.261
エンコーダは(低いデータ率を達成するために)シーケ
ンスからピクチャを省略することができるので、この点
は表示システムによって研究されるべきである。ピクチ
ャの省略は、連続するピクチャ間の1つ以上の分だけ増
加する時間基準によって検出され得る。
[1023] A. 19.2.1 “Picture Layer” A picture start token is placed before each picture,
The picture end token follows immediately after the picture.
H. 261 naturally does not include the picture end. This token is automatically inserted by the start code detector of the spatial decoder. The picture start token will be followed by a time standard token and a picture type token. The time standard token supports a 10-bit number (of which 5LS is an indicator) when the picture should be displayed.
Only B. 261). H. 261
This point should be investigated by the display system, as the encoder can omit pictures from the sequence (to achieve a low data rate). Picture omissions may be detected by a time reference that increases by one or more between consecutive pictures.

【1024】次に、ピクチャタイプトークンはピクチャ
フォーマットに関する情報を有する。表示システムはこ
の情報を調べ、CIFもしくはQCIFピクチャがデコ
ーディングされているか否かを検出することができる。
しかしながら、ハフマンデコーダ内のレジスタを調べる
ことにより、ピクチャフォーマットに関する情報も利用
できる。 <Xref:ハフマンデコーダセクション> A.19.2.2.2 「ブロックレイヤのグループ」 各H.261ピクチャは多数の「ブロックグループ」に
より構成される。その各々の前に、(H.261のグル
ープNo.とグループスタートコードから引き出され
た)スライススタートトークンが置かれる。このトーク
ンは表示のどこにブロックのグループを置くべきかを指
示する8ビット値を所有している。これはデータエラー
の後デコーダが再び同時性を持つ機会を提供する。更
に、それは、ピクチャを描写するために付加的な情報を
必要としないピクチャエリアがあれば、ブロックを飛び
越す機構をエンコーダに提供する。空間デコーダ及び時
間デコーダは各ピクチャが正しい数のブロックを含み、
それらのブロックが正しい位置にあることを確実にする
ため、既にこの情報を使用しているので、スライススタ
ートが時間デコーダの出力に達する時までに、その情報
は効果的に冗長となっている。こうして、ピクチャのス
タート以来出力されてきたブロック数を数えることによ
り、時間デコーダにより出力されるデータブロックをど
こに置くべきかを計算することが可能となる。
[1024] Next, the picture type token has information about the picture format. The display system can examine this information to detect if the CIF or QCIF picture is decoded.
However, information about the picture format is also available by examining the registers in the Huffman decoder. <Xref: Huffman Decoder Section> A. 19.2.2.2 “Group of block layers” The 261 picture is composed of many “block groups”. Before each of them is placed a slice start token (derived from the group number of H.261 and the group start code). This token carries an 8-bit value that indicates where in the display the group of blocks should be placed. This provides the opportunity for the decoder to have resynchronization again after a data error. Furthermore, it provides the encoder with a mechanism to skip blocks if there is a picture area that does not require additional information to describe the picture. The spatial and temporal decoders each picture contains the correct number of blocks,
By the time the slice start reaches the output of the temporal decoder, the information is effectively redundant, as it already uses this information to ensure that the blocks are in the correct position. Thus, by counting the number of blocks output since the start of the picture, it is possible to calculate where to put the data blocks output by the temporal decoder.

【1025】スライススタートにより支持される数は、
H.261のブロック数のグループより1つ少ない数で
ある(詳細な情報についてはH.261基準を参照せ
よ)。図103はCIF及びQCIFピクチャ内のH.
261ブロックグループの位置付けを示している。
[1025] The number supported by slice start is
H. It is one less than the group of 261 blocks (see the H.261 standard for detailed information). FIG. 103 shows H.264 in CIF and QCIF pictures.
The positioning of the 261 block group is shown.

【1026】注:本発明においては、図示したブロック
ナンバリングはスライススタートにより支持されるもの
と同じである。これはこれらのグループをナンバリング
するためのH.261規定とは異なる。
Note: In the present invention, the block numbering shown is the same as that supported by slice start. This is the H.264 standard for numbering these groups. 261 is different from the standard.

【1027】(各ブロックグループのスタートを示す)
スライススタートと最初のマクロブロックとの間に、他
のトークンがあってもよい。それらはピクチャデータを
表示する必要がないので、無視できる。
[1027] (Indicates the start of each block group)
There may be other tokens between the slice start and the first macroblock. They do not need to display picture data and can be ignored.

【1028】 A.19.2.2.3 「マクロブロックレイヤ」 ブロックの各グループ内のマクロブロックのシーケンス
はH.261により限定される。各マクロブロックの位
置を説明する特別なトークン情報はない。ユーザーは各
情報をどこに表示するかを決定するためにマクロブロッ
クシーケンスを通して数えなければならない。
[1028] A. 19.2.2.3 “Macroblock layer” The sequence of macroblocks in each group of blocks is H.264. It is limited by 261. There is no special token information that describes the location of each macroblock. The user must count through the macroblock sequence to determine where to display each piece of information.

【1029】図105はマクロブロックがブロックの各
グループに配置されるシーケンスを示している。
[1029] Fig. 105 illustrates a sequence in which macroblocks are arranged in each group of blocks.

【1030】各マクロブロックは6個のデータトークン
を包含する。6個の各グループに含まれるデータトーク
ンのシーケンスはH.261のマクロブロック構造によ
り限定される。各データトークンは1つの色成分の8×
8ピクセルエリアのために正確に64データバイトを含
むべきである。色成分はデータトークン内の2ビットの
数の中に含まれる(セクションA.3.5.1参照)。
しかしながら、H.261内の色成分のシーケンスは限
定される。
[1030] Each macroblock contains 6 data tokens. The sequence of data tokens included in each of the six groups is H.264. It is defined by the macroblock structure of 261. Each data token has one color component of 8x
It should contain exactly 64 data bytes for an 8 pixel area. The color components are contained within a 2-bit number in the Data Token (see Section A.3.5.1).
However, H. The sequence of color components in 261 is limited.

【1031】データトークンの各グループの前には、動
きベクトル、量子化器スケール係数等に関する情報を伝
達する多くのトークンが置かれる。これらのトークンは
ピクチャが表示されるようにする必要がないので、無視
することができる。
[1031] Each group of data tokens is preceded by a number of tokens that convey information about motion vectors, quantizer scale factors, etc. These tokens do not have to cause the picture to be displayed and can be ignored.

【1032】各データトークンは8×8の1つの色成分
のために64データバイトを包含する。これらはラスタ
状態である。
[1032] Each data token contains 64 data bytes for one color component of 8x8. These are raster states.

【1033】A.19.3 「MPEG出力」 MPEGはそのシンタックスの中に多くのレイヤを含
む。これらはビデオシーケンスやピクチャグループ等の
概念を具体化する。
[1033] A. 19.3 "MPEG Output" MPEG includes many layers in its syntax. These embody concepts such as video sequences and picture groups.

【1034】 A.19.3.1 「MPEGシーケンスレイヤ」 シーケンスは多重エントリポイント(シーケンススター
ト)を持つことができるが、1つだけの出口ポイント
(シーケンス・エンド)を持つべきである。MPEGシ
ーケンスヘッダコードが解読される時、空間デコーダは
コーディングスタンダードトークン及びそれに続くシー
ケンススタートトークンを生じさせる。
[1034] A. 19.3.1 “MPEG sequence layer” A sequence can have multiple entry points (sequence start), but should have only one exit point (sequence end). When the MPEG sequence header code is decoded, the spatial decoder produces a coding standard token followed by a sequence start token.

【1035】シーケンススタートの後、ビデオフォーマ
ット等を記述するシーケンスヘッダ情報の多くのトーク
ンがあるであろう。シーケンスヘッダにおいて合図され
る情報については草案のMPEGスタンダードを参照
し、このデータが如何にしてトークンに変換されるかに
関する情報については表3〜表11を参照せよ。ビデオ
フォーマットを記述するこの情報は、ハフマンデコーダ
内のレジスタにおいても利用できる。
[1035] After the sequence start, there will be many tokens of sequence header information describing the video format etc. See the draft MPEG standard for information signaled in the sequence header, and Tables 3-11 for information on how this data is converted into tokens. This information describing the video format is also available in registers within the Huffman decoder.

【1036】このシーケンスヘッダ情報はMPEGシー
ケンス内において、もしそのシーケンスが数個のエント
リポイントを持っていれば、数回発生するかもしれな
い。
[1036] This sequence header information may occur several times within an MPEG sequence if the sequence has several entry points.

【1037】 A.19.3.2 「ピクチャレイヤグループ」 ピクチャのMPEGグループはシーケンススタート時点
で提供されるものに、異なるタイプの「エントリ」ポイ
ントを提供する。シーケンスヘッダはピクチャ/ビデオ
フォーマットに関する情報を提供する。従って、デコー
ダがシーケンスにおいて使用されるビデオフォーマット
の知識を持たない場合、シーケンススタートで開始しな
ければならない。しかしながら、一度ビデオフォーマッ
トがデコーダの中に構成されると、どのグループのピク
チャの位置であってもデコーディングを開始することが
できるようにするべきである。
[1037] A. 19.3.2 “Picture Layer Group” The MPEG group of pictures provides a different type of “entry” point to that provided at the start of the sequence. The sequence header provides information about the picture / video format. Therefore, if the decoder has no knowledge of the video format used in the sequence, it must start with a sequence start. However, once the video format is configured in the decoder, it should be possible to start decoding at any group of picture positions.

【1038】MPEGはグループ内のピクチャ数を制限
しない。しかしながら、多くのアプリケーションにおい
て、1つのグループはランダムアクセスの道理的な粒度
を提供するので、約0.5秒に相当する。
[1038] MPEG does not limit the number of pictures in a group. However, for many applications, one group provides a reasonable granularity of random access, which is equivalent to about 0.5 seconds.

【1039】ピクチャグループのスタートはグループス
タートトークンにより指示される。グループスタートの
後で提供されるヘッダ情報は2つの有益なトークン:T
IME CODE及びBROKEN CLOSEDを含
む。
[1039] The start of the picture group is indicated by the group start token. The header information provided after the group start has two useful tokens: T
Includes IME CODE and BROKEN CLOSED.

【1040】TIME CODEはSMPTEタイムコ
ード情報のサブセットを所有する。これはビデオデコー
ダを他の信号に同期させる際に有用であるかもしれな
い。BROKEN CLOSEDはMPEGのclos
ed gapとbrokenlinkビットを所有す
る。ランダムアクセスの含意及び編集されたビデオシー
ケンスのデコーディングに関しては、セクションA.1
9.3.8を参照せよ。 A.19.3.3 ピクチャレイヤ 新しいピクチャのスタートはピクチャスタートトークン
により指示される。このトークンの後には、時間標準ト
ークン及びピクチャタイプトークンがある。時間デコー
ダがピクチャ再整理を提供するように構成されない場
合、一時的な基準情報が有用であるかもしれない。ピク
チャタイプの情報は、表示システムが特にオープンGO
PのスタートでBピクチャを処理したい場合に有用であ
るかもしれない(セクション A.19.3.8参
照)。
[1040] TIME CODE owns a subset of SMPTE time code information. This may be useful in synchronizing the video decoder to other signals. BROKEN CLOSED is a close of MPEG.
Owns the ed gap and brokenlink bits. For the implications of random access and decoding of the edited video sequence, see Section A.3. 1
See 9.3.8. A. 19.3.3 Picture layer The start of a new picture is indicated by the picture start token. This token is followed by a time standard token and a picture type token. Temporary reference information may be useful if the temporal decoder is not configured to provide picture reordering. Picture type information is especially open to GO
It may be useful if you want to process B pictures at the start of P (see section A.19.3.8).

【1041】各ピクチャは多くのスライスで構成され
る。
[1041] Each picture is composed of many slices.

【1042】A.19.3.4 「スライスレイヤ」 セクションA.19.2.2.2はH.261において
使用されるブロックグループについて論じている。MP
EGにおけるスライスは同様の機能を果たす。しかしな
がら、スライス構造は基準によって固定されない。スラ
イススタートトークンが所有する8ビット値は、MPE
Gが伝達する「スライス垂直位置」より1つ少ない値で
ある。スライスレイヤの説明に関しては、MPEGスタ
ンダード草案を参照せよ。
[1042] A. 19.3.4 “Slice Layer” Section A. 19.2.2.2 is H.264. The block groups used in 261 are discussed. MP
Slices in the EG perform a similar function. However, the slice structure is not fixed by the criteria. The 8-bit value owned by the slice start token is MPE
It is one less than the “slice vertical position” transmitted by G. See the MPEG Standard Draft for a description of slice layers.

【1043】空間デコーダ及び時間デコーダは各ピクチ
ャが正しい数のブロックを正しい位置に含んでいること
を確実にするため、既にこの情報を使用しているので、
スライススタートが時間デコーダの出力に達する時まで
に、その情報は効果的に冗長となっている。こうして、
ピクチャのスタート以来出力されてきたブロック数を数
えることにより、時間デコーダにより出力されるデータ
ブロックをどこに置くべきかを計算することが可能とな
る。
Since the spatial and temporal decoders have already used this information to ensure that each picture contains the correct number of blocks in the correct position,
By the time the slice start reaches the output of the temporal decoder, that information is effectively redundant. Thus
By counting the number of blocks that have been output since the start of the picture, it is possible to calculate where to put the data blocks output by the temporal decoder.

【1044】MPEGピクチャ再整理を使用する効果に
関する議論については、セクションA.19.3.7を
参照せよ。
[1044] For a discussion of the effects of using MPEG picture reordering, see Section A.6. See 19.3.7.

【1045】 A.19.3.5 「マクロブロックレイヤ」 各マクロブロックは6ブロックを含む。これらは(MP
EG規約の草案により明記されるように)ラスタ状態で
時間デコーダの出力に現れる。
[1045] A. 19.3.5 “Macroblock Layer” Each macroblock contains 6 blocks. These are (MP
Appears at the output of the time decoder in raster state (as specified by the draft EG convention).

【1046】A.19.3.6 「ブロックレイヤ」 各マクロブロックは6個のデータトークンを包含する。
6個の各グループに含まれるデータトークンのシーケン
スはMPEG規約草案(これはH.261のマクロブロ
ック構造と同じである)により限定される。各データト
ークンは1つの色成分の8×8ピクセルエリアのために
正確に64データバイトを含むべきである。色成分はデ
ータトークン内の2ビットの数の中に含まれる(A.
3.5.1参照)。しかしながら、MPEG内の色成分
のシーケンスは限定される。
[1046] A. 19.3.6 "Block Layer" Each macroblock contains 6 data tokens.
The sequence of data tokens contained in each of the six groups is defined by the MPEG standard draft (which is the same as the macroblock structure of H.261). Each data token should contain exactly 64 data bytes for an 8x8 pixel area of one color component. The color component is contained within the 2-bit number in the data token (A.
See 3.5.1.). However, the sequence of color components within MPEG is limited.

【1047】データトークンの各グループの前には、動
きベクトル、量子化器スケール係数等に関する情報を伝
達する多くのトークンが置かれる。これらのトークンは
ピクチャが表示されるようにする必要がないので、無視
することができる。
Each group of data tokens is preceded by a number of tokens that convey information about motion vectors, quantizer scale factors, etc. These tokens do not have to cause the picture to be displayed and can be ignored.

【1048】 A.19.3.7 「MPEGピクチャ再整理の効果」 A.18.3.5において説明したように、時間デコー
ダはMPEGピクチャ再整理を提供する(MPEG r
eordering=1)ように構成することができ
る。データストリームにおける次のP/Iピクチャが時
間デコーダによりデコーディングがスタートされるま
で、P及びIピクチャの出力は遅らされる。時間デコー
ダの出力時に、新たにデコーディングされたP/Iピク
チャのデータトークンは、旧P/Iピクチャからのデー
タトークンで置き換えられる。
[1048] A. 19.3.7 "Effect of MPEG picture reordering" The temporal decoder provides MPEG picture reordering (MPEG r as described in 18.3.5).
eordering = 1). The output of P and I pictures is delayed until the next P / I picture in the data stream is decoded by the temporal decoder. At the output of the temporal decoder, the data tokens of the newly decoded P / I picture are replaced with the data tokens from the old P / I picture.

【1049】P/Iピクチャを再整理する時、ピクチャ
がオフチップピクチャバッファに書き込まれるにつれ
て、ピクチャのピクチャスタート、時間標準、及びピク
チャタイプのトークンが一時的にオンチップに記憶され
る。ピクチャが表示のために読み出されると、これらの
記憶されたトークンが検索される。従って、再整理され
たP/Iピクチャはピクチャスタート、時間標準、及び
ピクチャタイプのための正しいバリューを持っている。
When reordering P / I pictures, the picture start, time standard, and picture type tokens of the picture are temporarily stored on-chip as the picture is written to the off-chip picture buffer. These stored tokens are retrieved when the picture is read for display. Therefore, the rearranged P / I picture has the correct values for picture start, time standard, and picture type.

【1050】ピクチャレイヤの下の他の全てのトークン
はリオーダされない。再整理されたP/Iピクチャが表
示のために読み出されるにつれて、それはたったいまデ
コーディングされたばかりのピクチャの低い方のレベル
の非データトークンを拾い上げる。このように、これら
のサブピクチャレイヤのトークンは無視されるべきであ
る。
All other tokens below the picture layer are not reordered. As the reordered P / I picture is read out for display, it picks up the lower level non-data tokens of the picture just decoded. Thus, these sub-picture layer tokens should be ignored.

【1051】A.19.3.8 「ランダムアクセス及
び編集済みシーケンス」 空間デコーダは編集済みMPEGビデオデータ及び、M
PEGビデオデータへのランダムアクセス後の正しいビ
デオデコーディングを助ける設備を提供する。 A.19.3.8.1 「オープンGOP」 ピクチャグループ(GOP)は前のGOPの中のPピク
チャから予測されるBピクチャでスタートすることがで
きる。これを「オープンGOP」と呼ぶ。図116はこ
れを図示している。ピクチャ17及び18は第2のGO
PのスタートにあるBピクチャである。GOPが「開か
れる」と、エンコーダはPピクチャ16及びIピクチャ
19からの予測を用いて、これら2つのピクチャを符号
化することができる。あるいはその代わりに、エンコー
ダはIピクチャ19からのみの予測を用いるように制限
することができるであろう。この場合、第2のGOPは
「閉鎖GOP」と呼ばれる。
[1051] A. 19.3.8 "Random access and edited sequence" Spatial decoder uses edited MPEG video data and M
Provide equipment to help correct video decoding after random access to PEG video data. A. 19.3.8.1 "Open GOP" A picture group (GOP) can start with a B picture predicted from a P picture in the previous GOP. This is called an "open GOP". FIG. 116 illustrates this. Pictures 17 and 18 are the second GO
It is a B picture at the start of P. Once the GOP is "opened", the encoder can use the predictions from P-picture 16 and I-picture 19 to encode these two pictures. Alternatively, the encoder could be limited to using predictions from I-pictures 19 only. In this case, the second GOP is called a "closed GOP".

【1052】デコーダが最初のGOPにおいてビデオデ
コーディングをスタートすると、そのGOPは既にPピ
クチャ16をデコーディングしているので、そのGOP
がたとえ開かれていても、第2のGOPに遭遇しても何
の問題も起こらないであろう。しかしながら、デコーダ
がランダムアクセスを行い、第2のGOPにおいてデコ
ーディングをスタートする場合、それらがP16に依存
していれば(つまり、GOPが開かれていれば)、それ
はB17及びB18をデコーディングできない。
[1052] When the decoder starts video decoding in the first GOP, that GOP has already decoded the P picture 16, so that GOP
Even if it is open, encountering a second GOP will not cause any problems. However, if the decoder does random access and starts decoding in the second GOP, it cannot decode B17 and B18 if they depend on P16 (ie the GOP is open). .

【1053】本発明の空間デコーダがリセットに続く最
初のGOPとしてオープンGOPに遭遇するか、あるい
はフラッシュトークンを受け取れば、オープンGOPへ
のランダムアクセスが発生したと仮定される。この場
合、ハフマンデコーダは通常の方法でBピクチャのため
にデータを消費するであろう。しかしながら、それはI
ピクチャから離れた(0、0)動きベクトルで予測され
るBピクチャを出力するであろう。その結果、(上記の
例における)ピクチャB17及びB18がI19と同一
になるであろう。
If the spatial decoder of the present invention encounters an open GOP as the first GOP following a reset, or receives a flush token, it is assumed that a random access to the open GOP has occurred. In this case, the Huffman decoder will consume the data for the B picture in the usual way. However, it is I
Will output a B-picture that is predicted with a (0,0) motion vector away from the picture. As a result, pictures B17 and B18 (in the above example) will be identical to I19.

【1054】この行為はMPEGのVBV規則の正しい
維持を確実にする。更に、それはBピクチャが他のデー
タチャネルにより予期される出力ストリーム内の位置に
おける出力の中に存在することを確実にする。例えば、
MPEGシステムレイヤはオーディオデータに関する表
示時間情報をビデオデータに提供する。ビデオ表示時間
のスタンプはGOPにおける最初の表示ピクチャ、つま
り時間基準0のピクチャを指示する。上記の例では、第
2のGOPに対するランダムアクセスの後、最初に表示
されるピクチャはB17である。
This action ensures correct maintenance of the MPEG VBV rules. In addition, it ensures that the B picture is present in the output at the position in the output stream expected by the other data channels. For example,
The MPEG system layer provides display time information about the audio data to the video data. The video display time stamp indicates the first display picture in the GOP, that is, the picture with time reference 0. In the above example, the first picture displayed after random access to the second GOP is B17.

【1055】ブロークン・クローズドトークンはMPE
G closed gopビットを所有する。従って、
時間デコーダの出力において、Bピクチャの出力が本物
であるか、あるいは「代用品」が空間デコーダによって
導入されていたか否かを判断することが可能である。あ
るアプリケーションはこれらの「代用品」のピクチャが
存在する時、特別な処置を講ずることを希望するかもし
れない。
[1055] Broken closed token is MPE
Owns the G closed gop bits. Therefore,
At the output of the temporal decoder, it is possible to determine whether the output of the B-picture is authentic or whether the "substitute" was introduced by the spatial decoder. Some applications may wish to take special action when these "substitute" pictures are present.

【1056】A.19.3.8.2 編集済みビデオ アプリケーションがMPEGビデオシーケンスを編集す
る場合、それは2つのGOP間の関係を破壊するかもし
れない。編集後のGOPがオープンGOPであれば、そ
れはGOPの始まりにおいてBピクチャを正しくデコー
ディングすることはもはやできないであろう。MPEG
データを編集するアプリケーションは、編集後のGOP
においてbroken linkビットを設定し、デコ
ーダにこれらのBピクチャをデコーディングできないこ
とを指示することができる。
[1056] A. 19.3.8.2 Edited Video When an application edits an MPEG video sequence, it may break the relationship between two GOPs. If the edited GOP was an open GOP, it would no longer be able to correctly decode the B picture at the beginning of the GOP. MPEG
The application that edits data is the GOP after editing.
The broken link bit can be set in to indicate to the decoder that these B pictures cannot be decoded.

【1057】空間デコーダが破壊されたリンクを持つG
OPに遭遇した場合、ハフマンデコーダは通常の方法で
Bピクチャのためにデータをデコーディングするであろ
う。しかしながら、それはIピクチャから離れた(0、
0)動きベクトルで予測されたBピクチャを出力するで
あろう。その結果、(上記の例における)ピクチャB1
7及びB18はI19と同一になるであろう。
[1058] Spatial decoder has a broken link G
If an OP is encountered, the Huffman Decoder will decode the data for the B picture in the usual way. However, it is far from the I picture (0,
0) Will output B-pictures predicted with motion vectors. As a result, picture B1 (in the example above)
7 and B18 will be identical to I19.

【1058】ブロークン・クローズドトークンはMPE
Gのbroken linkビットを所有する。従っ
て、時間デコーダの出力において、Bピクチャの出力が
本物であるか、あるいは空間デコーダによって導入され
ていた「代用品」であるか否かを判断することが可能で
ある。あるアプリケーションはこれらの「代用品」のピ
クチャが存在する時、特別な処置を講ずることを希望す
るかもしれない。 セクションA.20 「後書込みDRAMインターフェ
ース」 インターフェースは2つの方法で構成できる:インター
フェースの詳細なチアミングは種々の異なるDRAMタ
イプを収容するように構成することができる。
[1058] Broken closed token is MPE
Owns G's broken link bit. Therefore, it is possible to determine in the output of the temporal decoder whether the output of the B-picture is genuine or the "substitute" introduced by the spatial decoder. Some applications may wish to take special action when these "substitute" pictures are present. Section A. 20 "Post-Write DRAM Interface" The interface can be configured in two ways: The detailed teaming of the interface can be configured to accommodate a variety of different DRAM types.

【1059】DRAMインターフェースの「幅」は費用
/性能のトレードオフを提供するように構成することが
できる。
The "width" of the DRAM interface can be configured to provide a cost / performance tradeoff.

【1060】[1060]

【表154】 [Table 154]

【1061】[1061]

【表155】 [Table 155]

【1062】[1062]

【表156】 [Table 156]

【1063】[1063]

【表157】 [Table 157]

【1064】[1064]

【表158】 [Table 158]

【1065】[1065]

【表159】 A.20.1 「インターフェースタイミング(tick)」 本発明では、DRAMインターフェースタイミングは装
置の入力クロック率の4倍で動くクロック(decod
er clock)から引き出される。このクロックは
オンチップPLLによって作られる。
[Table 159] A. 20.1 "Interface Timing" In the present invention, the DRAM interface timing is a clock that operates at four times the input clock rate of the device (decod).
er clock). This clock is generated by an on-chip PLL.

【1066】簡潔のために、この高速クロックの周期を
ティックと称する。
For the sake of simplicity, the period of this high speed clock is called a tick.

【1067】 A.20.2 「インターフェースオペレーション」」 インターフェースはDRAMの高速ページモードを使用
する。3つの異なるタイプのアクセスが支持される: ・読出し ・書込み ・リフレッシュ 各々の読出しもしくは書込みアクセスは1つのDRAM
ページアドレスにおいて1〜64バイトのバーストを伝
送する。読出し及び書込み伝送は1つのアクセスにおい
て混合されない。各々の連続アクセスは新しいDRAM
ページへのランダムアクセスとして処理される。
[1067] A. 20.2 "Interface Operation" The interface uses the fast page mode of DRAM. Three different types of access are supported: -Read-Write-Refresh Each read or write access is one DRAM
A burst of 1 to 64 bytes is transmitted at the page address. Read and write transmissions are not mixed in one access. Each successive access is a new DRAM
Treated as a random access to the page.

【1068】A.20.3 「アクセス構造」 各アクセスは2つの部分で構成される: ・アクセススタート ・データ伝送 各アクセスはアクセススタートによって開始され、その
後1つかそれ以上のデータ伝送サイクルが続く。アクセ
ススタート及びデータ伝送サイクル両方の読出し、書込
み及びリフレッシュの変形がある。
[1068] A. 20.3 "Access structure" Each access consists of two parts: -Access start-Data transmission Each access is initiated by an access start, followed by one or more data transmission cycles. There are variations of read, write and refresh for both access start and data transfer cycles.

【1069】1アクセスにおける最後のデータ伝送の終
わりに、インターフェースはディフォルト状態になり、
新しいアクセスがスタートする準備ができるまでこの状
態のままである。最後のアクセスが完了した時、新しい
アクセスのスタート準備ができると、その新しいアクセ
スは直ちにスタートする。
At the end of the last data transmission in one access, the interface goes to the default state,
It will remain in this state until new access is ready to start. When the last access is completed and the new access is ready to start, the new access starts immediately.

【1070】A.20.3.1 「アクセススタート」 アクセススタートは読出しまたは書込み伝送用にページ
アドレスを提供し、幾つかの初期信号状態を設定する。
3つの異なるアクセススタートがある: ・リード・スタート ・ライト・スタート ・リフレッシュ・スタート 各々の場合において、/RAS/のタイミング及びロー
アドレスはレジスタRAS fallingとpage
start lengthによって制御される。/O
E/及びDRAM data[31:0]の状態は、以
前のデータ伝送の終了時から/RAS/になるまで保持
される。3つの異なるタイプのアクセススタートは、/
RAS/になる時に/OE/及びDRAM data
[31:0]を駆動させる方法が異なるだけである。図
118を参照せよ。
[1070] A. 20.3.1 "Access Start" Access Start provides the page address for read or write transmission and sets some initial signal states.
There are three different access starts: -read start-write start-refresh start In each case, the timing of / RAS / and the row address are set in the registers RAS falling and page.
Controlled by the start length. / O
The states of E / and DRAM data [31: 0] are retained from the end of the previous data transmission to / RAS /. The three different types of access start are /
When becoming RAS // OE / and DRAM data
Only the method of driving [31: 0] is different. See FIG. 118.

【1071】[1071]

【表160】 A.20.3.2 「データ伝送」 データ伝送サイクルには3つの異なるタイプがある: ・高速ページリードサイクル ・高速ページレイトライトサイクル ・リフレッシュサイクル リフレッシュスタートの次には1つのリフレッシュサイ
クルだけが続く。リード(またはライト)スタートの次
には、1つかそれ以上の高速ページリード(またはライ
ト)サイクルが続く。
[Table 160] A. 20.3.2 "Data Transmission" There are three different types of data transmission cycles: -Fast page read cycle-Fast page late write cycle-Refresh cycle A refresh start is followed by only one refresh cycle. A read (or write) start is followed by one or more fast page read (or write) cycles.

【1072】リードサイクルスタートにおいて、CAS
がハイとされ、新しいカラムアドレスが駆動される。
[1072] At the start of the read cycle, CAS
Is driven high and a new column address is driven.

【1073】レイトライトサイクルが使用される。/W
E/は/CAS/の後1ティックだけローとされる。出
力データはアドレスの後1ティック駆動される。
A late write cycle is used. / W
E / goes low one tick after / CAS /. The output data is driven one tick after the address.

【1074】/RAS/の前の/CAS/として、リフ
レッシュサイクルがリフレッシュサイクルスタートによ
り始められ、リフレッシュサイクル中は如何なるインタ
ーフェース信号活動もない。リフレッシュサイクルの目
的はDRAMが必要とする最低の/RAS/低周期を満
たすことである。
As / CAS / before / RAS /, the refresh cycle is initiated by a refresh cycle start and there is no interface signal activity during the refresh cycle. The purpose of the refresh cycle is to meet the minimum / RAS / low period required by the DRAM.

【1075】A.20.3.3 「インターフェースデ
ィフォルト状態」 インターフェース信号はアクセスの終了時にディフォル
ト状態に入る: ・/RAS/、/CAS/、及び/WE/は高い ・データ及び/OE/はそれ以前の状態のままである ・addrは安定したままである A.20.4 「データバス幅」 2ビットのレジスタDRAM data widthは
DRAMインターフェースのデータ通路の幅が構成され
るようにする。これは小さなピクチャフォーマットで作
業をする時、DRAM費用を最小にする。
[1075] A. 20.3.3 "Interface Default State" The interface signal enters the default state at the end of access:-/ RAS /, / CAS /, and / WE / are high-Data and / OE / remain in their previous state The addr remains stable A. 20.4 "Data Bus Width" The 2-bit register DRAM data width allows the width of the data path of the DRAM interface to be configured. This minimizes DRAM cost when working with small picture formats.

【1076】[1076]

【表161】 A.20.5 「アドレスビット」 オンチップの24ビットのアドレスが作られる。このア
ドレスがロー及びカラムアドレスを形成するためどのよ
うに使用されるかは、データバス幅及びローアドレスの
ために選択されるビット数により異なる。ある構成では
内部のアドレスビットの総ての使用を許さない(従っ
て、「隠れビット」が作られる)。
[Table 161] A. 20.5 “Address Bit” An on-chip 24-bit address is created. If this address is used and how to form the row and column addresses are different by the number of bits selected for the data bus width and the row address. Some configurations do not allow the full use of internal address bits (thus creating "hidden bits").

【1077】ローアドレスはアドレスの中間部分から引
き出される。これはDRAMが自然にリフレッシュされ
る率を最大にする。
The row address is derived from the middle part of the address. This maximizes the rate at which the DRAM is naturally refreshed.

【1078】A.20.5.1 「低オーダーのカラム
アドレスビット」 64バイトまでの高速ページモード伝送用のアドレスを
提供するために、最も重要でない4〜6ビットのカラム
アドレスが使用される。これらの伝送を制御するために
必要なアドレスビット数はデータバスの幅により異な
る。(A.20.4を参照) A.20.5.2 「ローアドレスビット」 ローアドレスを提供するため24ビットの内部アドレス
の中間セクションから取られるビット数は、レジスタr
ow address bitsによって形成される。
[1078] A. 20.5.1 "Low Order Column Address Bits" The least significant 4-6 bit column address is used to provide the address for fast page mode transmission up to 64 bytes. The number of address bits required to control these transfers depends on the width of the data bus. (See A.20.4) 20.5.2 "Row Address Bits" The number of bits taken from the middle section of the 24-bit internal address to provide the row address is determined by register r
It is formed by ow address bits.

【1079】[1079]

【表162】 使用されるローアドレスの幅は使用されるDRAMのタ
イプ、及びローアドレスのMSBがDRAMの多重バン
クにアクセスするためのデコーディングされたオフチッ
プであるか否かにより異なる。
[Table 162] The width of the row address used depends on the type of DRAM used and whether or not the MSB of the row address is decoded off-chip to access multiple banks of DRAM.

【1080】注:ローアドレスは内部アドレスの中間か
ら引き出される。ローアドレスのあるビットがDRAM
バンクを選択するためにデコーディングされる場合、こ
れらの「バンクセレクトビット」の全ての可能なバリュ
ーがDRAMバンクを選択しなければならない。そうで
なければ、アドレス空間に空孔が残されることになる。
[1080] Note: The raw address is extracted from the middle of the internal address. Bit with row address is DRAM
When decoded to select a bank, all possible values of these "bank select bits" must select a DRAM bank. Otherwise, holes will be left in the address space.

【1081】[1081]

【表163】 A.20.6 「DRAMインターフェース可能化(ena
ble)」 DRAMインターフェース上の全ての出力信号を高イン
ピーダンスにするには2通りの方法がある。DRAM
enableレジスタ及びDRAM enable信号
である。レジスタ及び信号共DRAMインターフェース
が操作するためロジック1でなければならない。いずれ
かが低ければ、インターフェースが高インピーダンスに
され、インターフェースを介してのデータ伝送が停止さ
れる。
[Table 163] A. 20.6 "DRAM interface enabled (ena
ble) ”There are two ways to make all output signals on the DRAM interface high impedance. DRAM
These are the enable register and the DRAM enable signal. The registers and signals must be logic one for the DRAM interface to operate. If either is low, the interface is placed in high impedance and data transmission through the interface is stopped.

【1082】DRAMインターフェースを高インピーダ
ンスにもっていく能力は、空間デコーダ(もしくは時間
デコーダ)が使用されていない時に、他の装置が空間デ
コーダ(もしくは時間デコーダ)によって制御されるD
RAMをテストまたは使用できるようにするために提供
され、他の装置が通常のオペレーション中にメモリーを
共有できるようにするためではない。
The ability to bring the DRAM interface to a high impedance is the ability of other devices to be controlled by the spatial decoder (or temporal decoder) when the spatial decoder (or temporal decoder) is not in use.
It is provided to allow RAM to be tested or used, not to allow other devices to share memory during normal operation.

【1083】A.20.7 「リフレッシュ」 レジスタno refreshに書き込むことにより不
能化されない限り、DRAMインターフェースはレジス
タrefresh intervalにより決定される
間隔で、/RAS/リフレッシュサイクルの前の/CA
S/を使用して、DRAMを自動的にレフレッシュす
る。
[1083] A. 20.7 "Refresh" Unless otherwise disabled by writing to register no refresh, the DRAM interface is at an interval determined by register refresh interval / RAS // CA before the refresh cycle.
Use S / to automatically refresh the DRAM.

【1084】refresh intervalのバリ
ューは16decoder clockサイクルの期間
におけるリフレッシュサイクル間の間隔を指定する。1
〜255の範囲のバリューを選択することができる。バ
リュー0はリセット後自動的にロードされ、(一度イネ
ーブルとされると)有効なリフレッシュ間隔が形成され
るまで、DRAMインターフェースが連続してリフレッ
シュサイクルを実行するように強制する。refres
h intervalが各リセット後一度だけ形成され
るようにすることが薦められる。
[1086] The value of refresh interval specifies the interval between refresh cycles in the period of 16 decoder clock cycles. 1
Values in the range of up to 255 can be selected. The value 0 is automatically loaded after reset, forcing the DRAM interface to perform refresh cycles continuously until a valid refresh interval is formed (once enabled). refres
It is recommended that h interval be formed only once after each reset.

【1085】A.20.8 「信号強度」 DRAMインターフェースの出力の駆動力は3ビットレ
ジスタ/CAS/ strength、/RAS/ s
trength、addr strengthを用い
て、ユーザーにより形成される。この3ビットバリュー
のMSBは高速もしくは低速のエッジ率のいずれかを選
択する。2つの重要性の低いビットが異なるロードキャ
パシタンスのための出力を形成する。
[1085] A. 20.8 "Signal strength" The driving force of the output of the DRAM interface is a 3-bit register / CAS / strength, / RAS / s
It is formed by the user using the strength and the addr strength. This 3-bit value MSB selects either a high speed or a low speed edge rate. The two less significant bits form the output for different load capacitances.

【1086】リセット後のディフォルト強度は6であ
り、12pFでロードされる場合、GNDとVDD間の駆
動信号に対しておよそ10nsを取る出力を形成する。
The default strength after reset is 6, forming an output that takes approximately 10 ns for the drive signal between GND and VDD when loaded at 12 pF.

【1087】[1087]

【表164】 およそ駆動中のロードのために出力が形成される時、そ
れは表168〜表169に明記されるAC電気特性を満
たすであろう。適切に形成された場合、各出力はその負
荷にほぼ適合し、従って最小のオーバーシュートが信号
遷移後に発生するであろう。
[Table 164] When the output is formed approximately for a driving load, it will meet the AC electrical characteristics specified in Tables 168-169. If properly formed, each output will fit closely with its load, and thus minimal overshoot will occur after a signal transition.

【1088】A.20.9 「リセット後」 リセット後、DRAMインターフェース形成レジスタは
全てそれらのディフォルトバリューにリセットされる。
これらのディフォルト構成の内最も重要なものを以下に
記す: ・DRAMインターフェースが不能化(disable)され、
高インピーダンスに行くことが許される。
[1088] A. 20.9 "After Reset" After reset, all DRAM interface formation registers are reset to their default values.
The most important of these default configurations are listed below: -DRAM interface is disabled,
Allowed to go to high impedance.

【1089】・リフレッシュ間隔が特別なバリュー0に
形成され、それはインターフェースが再可能化された
後、連続的なリフレッシュサイクルの実行を意味する。
The refresh interval is formed to a special value 0, which means to carry out successive refresh cycles after the interface is re-enabled.

【1090】・DRAMインターフェースはその最低速
の形成に設定される。
The DRAM interface is set to its slowest configuration.

【1091】ほとんどのDRAMは電力が最初に印加さ
れ、その後通常オペレーションが可能となる前に多数の
リフレッシュサイクルが続いた後、100μs〜500
μs間の「休止」を要求する。
Most DRAMs are 100 μs to 500 μs after power is first applied and then after a number of refresh cycles before normal operation is possible.
Request a “pause” for μs.

【1092】リセット後直ちに、DRAMインターフェ
ースはDRAM enable信号及びDRAM en
ableレジスタの両方が設定されるまで不活性化され
る。これらが設定された時、DRAMインターフェース
はDRAMインターフェースが形成されるまで、(使用
されるクロック周波数に応じて、ほぼ400ns毎に)
リフレッシュサイクルを実行するであろう。
[1092] Immediately after reset, the DRAM interface outputs the DRAM enable signal and the DRAM en signal.
It is deactivated until both of the enable registers are set. When these are set, the DRAM interface will wait until the DRAM interface is formed (approximately every 400 ns, depending on the clock frequency used).
Will perform a refresh cycle.

【1093】ユーザーには、power up後の、ま
た必要な数のリフレッシュサイクルがデータ伝送を試み
る前に発生したことを確かめるため、DRAMインター
フェースを可能化した後充分な時間があるように、DR
AMの「休止」を確実にするための責任がある。
[1093] The user may have enough time after enabling the DRAM interface to make sure that after power up and the required number of refresh cycles occur before attempting the data transfer.
Responsible for ensuring the AM "pause".

【1094】リセットを宣言する間は、DRAMインタ
ーフェースはDRAMをリフレッシュすることができな
い。しかしながら、デコーダチップが要求するリセット
タイムは、それらをリセットでき、その後DRAMの内
容が崩壊する前にDRAMインターフェースを再可能化
することができる程度に充分短くなっている。これはデ
バッギング中に必要とされるかもしれない。
[1109] While declaring a reset, the DRAM interface cannot refresh the DRAM. However, the reset times required by the decoder chips are short enough that they can be reset and then the DRAM interface re-enabled before the contents of the DRAM are corrupted. This may be needed during debugging.

【1095】[1095]

【表165】 [Table 165]

【1096】[1096]

【表166】 [Table 166]

【1097】[1097]

【表167】 A.20.10.1 「AC特性」[Table 167] A. 20.10.1 “AC characteristics”

【1098】[1098]

【表168】 [Table 168]

【1099】[1099]

【表169】 セクションB.1 「スタートコード検出器」 B.1.1 「展望」 図18において前述したように、スタートコード検出器
(SCD)は空間デコーダ上の最初のブロックである。
その基本的な目的は入力データストリームの中でMPE
G、JPEG及びH.261のスタートコードを検出
し、それらを関連トークンと置き換えることである。そ
れは更にマイクロプロセッサインターフェースを介して
入力データストリームへのユーザーアクセスを可能に
し、トークンデータストリームの予備フォーマッティン
グ及び「整頓」を遂行する。SCDは生のバイトデータ
もしくはトークンフォーマットに既に組み立てられたデ
ータのいずれかを受け取ることができることを思いだし
てほしい。
[Table 169] Section B. 1 "Start code detector" B. 1.1 “Perspective” As described above in FIG. 18, the start code detector (SCD) is the first block on the spatial decoder.
Its basic purpose is to use MPE in the input data stream.
G, JPEG and H.G. To detect the 261 start codes and replace them with the relevant tokens. It also allows user access to the input data stream via the microprocessor interface, performing pre-formatting and "tidying" of the token data stream. Recall that the SCD can receive either raw byte data or data already assembled in token format.

【1100】典型的に、スタートコードはMPEG、
H.261、及びJPEGに対して、各々24、16及
び8ビットである。スタートコード検出器はマイクロプ
ロセッサインターフェース(upi)もしくはトークン
/バイトポートのいずれかからバイトで入力データを受
け取り、それを3つのシフトレジスタを通して移動させ
る。第1のレジスタは8ビットの並直列アウトであり、
第2のレジスタはプログラム可能な長さ(16もしくは
24ビット)で、スタートコードが検出される場所であ
り、第3のレジスタは15ビット幅で、データを15ビ
ットのトークンに再フォーマッティングするために使用
される。更に、第2及び第3のSRと並列に動く2つの
「タグ」シフトレジスタ(SR)がある。これらはデー
タSR内で連合するビットが良いか悪いかを指示するた
めのタグを含む。データトークンの一部ではなくSCD
により認識されない入力バイトが、シフトレジスタをバ
イパスできるようにし、3つの全てのシフトレジスタが
フラッシュされ(空になり)、内容が首尾良く出力され
た時に、出力される。認識された非データトークンはS
CD、スプリングトラップ、セットフラグを形成するた
めに使用される。更にそれらはシフトレジスタをバイパ
スし、変更されずに出力される。
[1100] Typically, the start code is MPEG,
H. For H.261 and JPEG, there are 24, 16 and 8 bits respectively. The start code detector receives input data in bytes from either the microprocessor interface (upi) or the token / byte port and moves it through three shift registers. The first register is an 8-bit parallel serial out,
The second register is programmable length (16 or 24 bits), where the start code is detected, and the third register is 15 bits wide, to reformat the data into 15-bit tokens. used. In addition, there are two "tag" shift registers (SR) that operate in parallel with the second and third SR. These include tags for indicating whether the associated bits in the data SR are good or bad. SCD rather than part of the data token
Allows input bytes not recognized by to bypass the shift register and is output when all three shift registers have been flushed (empty) and the contents have been successfully output. The recognized non-data token is S
Used to form CDs, spring traps, set flags. Furthermore, they bypass the shift register and are output unchanged.

【1101】B.1.2 「主ブロック」 スタートコード検出器のためのハードウェアは10個の
ステートマシーンで構成される。
[1101] B. 1.2 "Main Block" The hardware for the start code detector consists of 10 state machines.

【1102】B.1.2.1 「入力回路(scdip
c.sch.iplm.M)」 入力回路は3つのオペレーションモード:トークン、バ
イト及びマイクロプロセッサインターフェースを持つ。
これらのモードはデータが生のバイトストリーム(であ
るが2線式インターフェースを使用する)ものとして、
トークンストリームとして、あるいはupiを介したユ
ーザーによって入力されるようにする。全ての場合に、
入力回路は適切な場合にデータトークンヘッダを発生さ
せることにより、常に正しいデータトークンを出力す
る。upiモードへの/からの遷移はシステムクロック
に同期化され、upiはアクセスを得る前のデータスト
リームにおける安全ポイントまで待たされる。バイトモ
ードピンは入力回路がトークンモードであるか、もしく
はバイトモードであるかを決定する。更に、どの基準が
解読されているかに関するシステムに対する初期通知
(従ってコーディングスタンダードトークンが発せられ
る)が3モードのいずれかにおいて行われ得る。 B.1.2.2 「トークンデコーダ(scdipne
w.sch、scdipnem.M)」 このブロックは入力トークンをデコーディングし、他の
ブロックにコマンドを発する。
[1102] B. 1.2.1 “Input circuit (scdip
c. sch. iplm. M) ”The input circuit has three modes of operation: token, byte and microprocessor interface.
These modes are as if the data were a raw byte stream (but using a 2-wire interface),
Allowed to be entered as a token stream or by the user via upi. In all cases,
The input circuit always outputs the correct data token by generating the data token header when appropriate. The transition to / from the upi mode is synchronized to the system clock and the upi waits until a safe point in the data stream before gaining access. The byte mode pin determines whether the input circuit is in token mode or byte mode. Furthermore, an initial notification to the system as to which standard is being decrypted (and thus a coding standard token is issued) can be done in any of the three modes. B. 1.2.2 “Token Decoder (scdipne
w. sch, scdipnem. M) ”This block decodes the input token and issues commands to other blocks.

【1103】[1103]

【表170】 注:コーディングスタンダードにおける変化はSRがフ
ラッシュされた後、二線インターフェースを介して全て
のブロックに送られる。これは1つのデータストリーム
から別のデータストリームまでの変化がSCD中ずっと
正しいポイントで発生することを確実にする。この原則
はコーディングスタンダードにおける変化が新しいスト
リームの前に全チップを通して流れることができるよう
に、表示中ずっと適用される。
[Table 170] Note: Changes in the coding standard are sent to all blocks via the two wire interface after SR is flushed. This ensures that the change from one data stream to another occurs at the correct point throughout the SCD. This principle applies throughout the display so that changes in the coding standard can flow through the entire chip before a new stream.

【1104】B.1.2.3 「JPEG(scdjp
eg.sch、scdjpegm.M)」 JPEGにおけるスタートコード(マーカー)は充分異
なっており、JPEGは全て自身に対するステートマシ
ーンを持っている。本発明において、このブロックがJ
PEGマーカー検出、長さのカウント/チェック、及び
データの除去の全てを処理する。検出されたJPEGマ
ーカーはスタートコード(v nottを持つ、後述の
テキスト参照)としてフラグ表示され、scdipne
wからのコマンドはオーバーライドされ、バイパスする
ように強いられる。オペレーションはコードで最も良く
説明される。 switch(state) { case(LOOKING): if(input=0xff) { state=GETVALUE;/*Found a marker*/ remove;/*Marker gets removed*/ } state=LOOKING; break; case(GETVALUE); if(input=0xff) { state=GETVALUE;/*Overlapping markers*/ remove; } else if(input=0x0−0) { state=LOOKING;/*Wasn’t a marker/ insert(0×ff);/Put the 0×ff back/ } else { command=BYPASS;/override command/ if(lc)/Dose the marker have a length count/ state=GETLC0; else state=LOOKING; break; case(GETLC0): loadlc0;/Load the top length count byte/ state=GETLC1; remove; break; case(GETLC1) loadlc1; remove; state=DECLC; break; case(DECLC): lcnt=lcnt−2 state=CHECKLC; break; case(CHECKLC): if(lcnt=0) state=LOOKING;/No more to do/ else if(lcnt<0) state=LOOKING;/generate Illegal Length Error/ else state=COUNT; break; case(COUNT): decrement length count until1 if(lc<=1) state=LOOKING; } B.1.2.4 「入力シフター(scinshft.
sch、scinshm.M)」 このブロックの基本オペレーションは全く簡単である。
このブロックは入力回路からデータバイトを取り出し、
シフトレジスタにロードし、それをシフトする。しかし
ながら、それは入力デコーダからのコマンドにも従い、
バイパスモードへの/からの遷移を処理する(他のSR
をフラッシュする)BYPASSコマンドを受け取る
と、連合するバイトはシフトレジスタにロードされな
い。その代わりに、「ラビッシュ(rubbish)」(タグ=
1)がシフトされ、他のシフトレジスタに保持されてい
るデータを出力させるように強いる。その後、ブロック
はこの「ラビッシュ」がトークン発生器に現れたことを
示す「フラッシュされた」信号を待つ。入力バイトは次
にトークン発生器に直接送られる。
[1104] B. 1.2.3 “JPEG (scdjp
eg. sch, scdjpegm. M) ”The start codes (markers) in JPEG are sufficiently different, and all JPEGs have their own state machine. In the present invention, this block is J
It handles all PEG marker detection, length counting / checking, and data removal. The detected JPEG marker is flagged as a start code (with v nott, see text below), scdipne
The command from w is overridden and forced to bypass. The operations are best explained in code. switch (state) {case (LOOKING): if (input = 0xff) {state = GETVALUE; / * Found a marker * / remove; / * Marker gets removed * /} a ;; (Input = 0xff) {state = GETVALUE; / * Overlapping markers * / remove; the 0 × ff back /} else {command = BYPASS; / override command / if (lc) / Dose t he marker have a distance count / state = GETLC0; else state = LOOKING; break; case (GETLC0): loadlc0; / Load liet; = DECLC; break; case (DECLC): lcnt = lcnt-2 state = CHECKLCC; break; case (CHECKLC): if (lcnt = 0) state = LOOKING; = LOOKING; / generate Illegal Le gth Error / else state = COUNT; break; case (COUNT): decrement length count until1 if (lc <= 1) state = LOOKING;} B. 1.2.4 “Input shifter (scinshft.
sch, scinshm. M) ”The basic operation of this block is quite simple.
This block takes a data byte from the input circuit,
Load the shift register and shift it. However, it also follows the command from the input decoder,
Handle transitions to / from bypass mode (other SR
When a BYPASS command is received, the associated bytes are not loaded into the shift register. Instead, "rubbish" (tag =
1) is shifted and forces the data held in another shift register to be output. The block then waits for a "flushed" signal indicating that this "rabbish" has appeared on the token generator. The input bytes are then sent directly to the token generator.

【1105】B.1.2.5 「スタートコード検出器
(scdetect.sch、scdetm.M)」 このブロックは16もしくは24ビットのスタートコー
ド検出ロジック及び「有効な内容」検出ロジックにプロ
グラム可能な2つのシフトレジスタを含む。MPEGス
タートコードは完全な24ビットを要求するが、H.2
61は16ビットだけを要求する。
[1105] B. 1.2.5 “Start Code Detector (scdetect.sch, scdetm.M)” This block contains 16 or 24 bit start code detection logic and two shift registers programmable to “valid content” detection logic. . The MPEG start code requires full 24 bits, but Two
61 requires only 16 bits.

【1106】本発明では、第1のSRがデータ用であ
り、SRには(二線インターフェースの意味で)ギャッ
プもしくは失速はないが、第2のSRはデータSR内の
ビットが有効か否かを指示するタグを有するが、それら
が包含するビットはフラッシュされる一方、無効(ラビ
ッシュ)であってもよい。スタートコードが検出される
と、タグシフトレジスタのビットが検出器SRの内容を
無効にするために設定される。
In the present invention, the first SR is for data, and there is no gap or stall in the SR (in the meaning of the two-wire interface), but the second SR determines whether the bits in the data SR are valid or not. , But the bits they contain are flushed while they may be invalid (rabbish). When a start code is detected, a bit in the tag shift register is set to invalidate the contents of detector SR.

【1107】スタートコードはSRの内容が全て有効に
ならない限り検出され得ない。非バイト整列スタートコ
ードが検出され、フラグ表示されてもよい。更に、スタ
ートコードが検出されると、重なっているスタートコー
ドが調べ上げられるまで非整列スタートコードは明確に
フラグ表示され得ない。この機能を果たすため、検出さ
れたスタートコード(バイトがそれに続く)の「バリュ
ー」がscinshiftとscdetectを通して
右に、そしてscoshiftシフトされる。別のスタ
ートコードを検出せずにscoshiftに達すると、
除去されたのは重なっているスタートコードであり、そ
れは有効なスタートコードとしてフラグ表示される。
[1107] The start code cannot be detected unless the contents of SR are all valid. A non-byte aligned start code may be detected and flagged. Moreover, when a start code is detected, the unaligned start code cannot be explicitly flagged until the overlapping start codes are examined. To perform this function, the "value" of the detected start code (followed by a byte) is shifted to the right through scinshift and scdetect, and scoshift. If scoshift is reached without detecting another start code,
Removed is the overlapping start code, which is flagged as a valid start code.

【1108】B.1.2.6 「出力シフター(sco
shift.sch、scoshm.M)」 出力シフターの基本オペレーションはscdetect
から直列データ(及びタグ)を取り出し、それを15ビ
ットのワードに詰め、出力することである。他の機能は
以下の通りである: B.1.2.6.1 「データパディング」 出力は15ビットワードで構成されるが、入力は任意の
数のビットで構成できる。従って、フラッシュするため
には、最後のワードを15ビットまでにするためにビッ
トを追加する必要がある。これら追加ビットはパディン
グと呼ばれ、ハフマンブロックによって認識され除去さ
れねばならない。パディングは次のように定義される:
最後のデータビットの後、「ゼロ」が挿入され、15ビ
ットワードを作り上げるために充分な「もの」がそれに
続く。
[1108] B. 1.2.6 “Output shifter (sco
shift. sch, scoshm. M) ”The basic operation of the output shifter is scdetect
The serial data (and tag) is extracted from the data, packed into a 15-bit word, and output. Other functions are as follows: B. 1.2.6.1 "Data Padding" The output consists of 15-bit words, but the input can consist of any number of bits. Therefore, to flush, it is necessary to add bits to make the last word up to 15 bits. These extra bits are called padding and must be recognized and removed by the Huffman block. Padding is defined as:
After the last data bit, a "zero" is inserted, followed by enough "things" to make up a 15-bit word.

【1109】パディングを含むデータワードはデータト
ークンの終わりであることを指示するために、低拡張ビ
ットで出力される。
The data word containing the padding is output with the low extension bit to indicate the end of the data token.

【1110】 B.1.2.6.2 「フラッシュの発生」 本発明によれば、「フラッシュ」オペレーションの発生
は、全てのSRがフラッシュされる時を検出し、それを
入力シフターに合図することを含む。入力シフターによ
り挿入された「ラビッシュ」が出力シフターのエンドに
達し、出力シフターがそのパディングを完了すると、
「フラッシュされた」信号が発せられる。この「フラッ
シュされた」信号は入力シフターがバイパスモードに入
ることが安全である前に、トークン発生器を通過しなけ
ればならない。
[1110] B. 1.2.6.2 "Flash Occurrence" In accordance with the present invention, the occurrence of a "flash" operation involves detecting when all SRs are flushed and signaling it to the input shifter. When the "rabbish" inserted by the input shifter reaches the end of the output shifter and the output shifter completes its padding,
A "flushed" signal is emitted. This "flushed" signal must pass through the token generator before it is safe for the input shifter to enter bypass mode.

【1111】B.1.2.6.3 「有効なスタートコ
ードのフラグ表示」 scdetectがスタートコードを発見したことを指
示すると、パディングが遂行され、現在のデータが出力
される。スタートコードバリュー(次のバイト)が検出
器を通してシフトされ、重なっているスタートコードを
除去する。別のスタートコードが検出されずに「バリュ
ー」が出力シフターに達すると、それは重ねられず、そ
のバリューはそれがスタートコードバリューであること
を示すフラグv not t(ValueNotTok
en)を付けて送られる。しかしながら、別のスタート
コードが(scdetectにより)検出される一方、
出力シフターがそのバリューを待っていると、オーバー
ラッピングエラーが発せられる。この場合、第1のバリ
ューは捨てられ、システムは第2のバリューを待つ。こ
のバリューも重ねることができ、こうして非重複スター
トコードが見つかるまで同じ手順が繰り返されるように
する。
[1111] B. 1.2.6.3 “Display of valid start code flag” When scdetect indicates that the start code is found, padding is performed and the current data is output. The start code value (next byte) is shifted through the detector to remove overlapping start codes. If another “start” code is not detected and the “value” reaches the output shifter, it will not be overlapped and that value will be flagged by the flag v not t (ValueNotTok) indicating that it is a start code value.
en) is sent. However, while another start code is detected (by scdetect),
If the output shifter is waiting for that value, an overlapping error will be issued. In this case, the first value is discarded and the system waits for the second value. This value can also be stacked so that the same procedure is repeated until a non-overlapping start code is found.

【1112】B.1.2.6.4 「スタートコードの
後の整頓(tyding up)」 適切なスタートコードを検出し出力した後、(ラビッシ
ュでない)データが到着し始めると、新しいデータヘッ
ダが作られる。
[1112] B. 1.2.6.4 "tyding up after start code" A new data header is created when (non-Ravish) data begins to arrive after detecting and outputting the appropriate start code.

【1113】B.1.2.7 「データストリーム発生
器(sctokrec.sch、sctokrem.
M)」 データストリーム発生器は、1つはバイパスされたトー
クンのためのscinshiftから、他の1つは詰め込
まれたデータ及びスタートコードのためのscoshi
ftからの二線インターフェース入力を持つ。2つのソ
ース間の切り替えは、(いずれかのソースからの)現在
のトークンが(到着した低拡張ビットを)完了した後に
のみ許される。
[1113] B. 1.2.7 “Data stream generator (sctokrec.sch, sctokrem.
M) ”The data stream generator has one scinshift for tokens bypassed and another one for stuffed data and startcodes.
Has a two wire interface input from ft. Switching between the two sources is only allowed after the current token (from either source) has completed (the low extension bits that have arrived).

【1114】B.1.2.8 「数変換をスタートする
ためのスタートバリュー(scdromhw.sch、
schrom.M)」 スタートバリューをトークンに変換するプロセスは2段
階で行われる。このブロックは520の奇数の位置コー
ドを16のコーディングスタンダードの独立インデック
スに減少させるコーディングスタンダード依存問題点を
主に取り扱う。初期に述べたように、(JPEGのバリ
ューを含む)スタートバリューは他の全てのデータから
フラグ(value not token)によって識
別される。v not tが高ければ、このブロックは
4または8ビットバリューをコーディングスタンダード
に応じて、スタンダードから独立している4ビットのs
tart numberに変換し、未認識のスタートコ
ードをフラグ表示する。スタート数は次の通りである:
[1114] B. 1.2.8 “Start value for starting number conversion (scdromhw.sch,
schrom. M) ”The process of converting start value into tokens is done in two stages. This block deals primarily with coding standard dependent issues that reduce the 520 odd position codes to an independent index of 16 coding standards. As mentioned earlier, the start value (including the JPEG value) is identified from all other data by a flag (value not token). If v not t is high, this block gives a 4- or 8-bit value depending on the coding standard, a 4-bit s that is independent of the standard.
Convert to start number and flag the unrecognized start code. The number of starts is as follows:

【1115】[1115]

【表171】 [Table 171]

【1116】[1116]

【表172】 [Table 172]

【1117】[1117]

【表173】 B.1.2.9 「トークン変換に対するスタート数
(sconvert.sch、sconverm.
M)」 変換の第2段階において上記スタート数(もしくはイン
デックス)がトークンに変換される。このブロックは更
に拡張及びユーザーデータを適切に捨てるトークン拡張
及びサーチモードを処理する。
[Table 173] B. 1.2.9 "Start number for token conversion (sconvert.sch, sconverm.
M) ”In the second stage of conversion, the start number (or index) is converted into a token. This block also handles token expansion and search modes that properly discard expansion and user data.

【1118】サーチモードはランダムポイントでデータ
ストリームに入る手段である。サーチモードは8つのバ
リューの1つに設定できる: 0 : 通常のオペレーション - 次のスタートコー
ドを見つける。
The search mode is a means to enter the data stream at random points. The search mode can be set to one of eight values: 0: Normal operation-find next start code.

【1119】1/2: システムレベルサーチは空間デ
コーダに関しては実施されない。
1/2: System level search is not performed for spatial decoders.

【1120】 3 : シーケンス以上のものを探す 4 : グループ以上のものを探す 5 : ピクチャ以上のものを探す 6 : スライス以上のものを探す 7 : 次のスタートコードを探す 非ゼロサーチモードは所望のスタートコード(またはシ
ンタックスにおいてより高い)が検出されるまで、デー
タが捨てられるようにする。
[1120] 3: Search for sequences or more 4: Search for groups or more 5: Search for pictures or more 6: Search for slices or more 7: Search for the next start code Non-zero search mode is desired Allow data to be discarded until a start code (or higher in syntax) is detected.

【1121】このブロックは更にPICTURE及びS
LICEスタートトークンにトークン拡張を加える。
[1121] This block further includes PICTURE and S
Add token extension to LICE start token.

【1122】・ピクチャスタートはPICTURE N
UMBER、ピクチャの4ビットカウントで拡張され
る。
[1122] ・ Picture start is PICTURE N
UMBER is extended with a 4-bit count of pictures.

【1123】・スライススタートはsvp(スライス垂
直位置)で拡張される。これはスタートコードマイナス
1(MPEG、H.261)、及びマイナスOXDO
(JPEG)の「バリュー」である。
[1123] The slice start is extended by svp (slice vertical position). This is start code minus 1 (MPEG, H.261), and minus OXDO
It is the "value" of (JPEG).

【1124】B.1.2.10 「データストリームフ
ォーマッティング(scinsert.sch、sci
nserx.M)」 本発明では、データストリームフォーマッティングはピ
クチャエンド、フラッシュ、コーディングスタンダー
ド、シーケンススタートのトークンの条件付き挿入、及
びSTOP AFTER PICTUREイベントの発
生に関する。その機能はソフトウェアにおいて最も良く
簡略化され説明できる: switch(input data) case(FLUSH) 1.if(in picture) output=PICTURE END 2.output=FLUSH 3.if(in picture & stop after picture) sap error=HIGH in picture=FALSE; 4.in picture=FALSE; break case(SEQUENCE START) 1.if(in picture) output=PICTURE END 2.if(in picture & stop after picture) 2a.output=FLUSH 2b.sap error=HIGH in picture=FALSE 3.output=CODING STANDARD 4.output=standard 5.output=SEQUENCE START 6.in−picture=FALSE; break case(SEQUENCE END) case(GROUP START): 1.if(in picture) output=PICTURE END 2.if(in picture & stop after picture) 2a.output=FLUSH 2b.sap error=HIGH in picture=FALSE 3.output=SEQUENCE END or GROUP START 4.in−picture=FALSE; break case(PICTURE END) 1.output=PICTURE END 2.if(stop after picture) 2a.output=FLUSH 2b.sap error=HIGH 3.in−picture=FALSE break case(PICTURE START) 1.if(in picture) output=PICTURE END 2.if(in picture & stop after picture) 2a.output=FLUSH 2b.sap error=HIGH 3.if(insert sequence start) 3a.output=CODING START 3b.output=standard 3c.output=SEQUENCE START insert sequence start=FALSE 4.output=PICTURE START in picture=TRUE break default:Just pass it through セクションB.2 「ハフマンデコーダ及びパーザー(p
arser)」 B.2.1 「概論」 本セクションは本発明によるハフマンデコーダ及びパー
ザー回路について説明する。
[1124] B. 1.2.10 “Data stream formatting (scinsert.sch, sci
nserx. M) ”In the present invention, data stream formatting relates to conditional insertion of picture end, flash, coding standard, sequence start tokens, and generation of STOP AFTER PICTURE events. Its function is best simplified and explained in software: switch (input data) case (FLUSH) 1. if (in picture) output = PICTURE END 2. output = FLUSH 3. 3. if (in picture & stop after picture) sample error = HIGH in picture = FALSE; in picture = FALSE; break case (SEQUENCE START) 1. if (in picture) output = PICTURE END 2. if (in picture & stop after picture) 2a. output = FLUSH 2b. sap error = HIGH in picture = FALSE 3. output = CODING STANDARD 4. output = standard 5. output = SEQUENCE START 6. in-picture = FALSE; break case (SEQUENCE END) case (GROUP START): if (in picture) output = PICTURE END 2. if (in picture & stop after picture) 2a. output = FLUSH 2b. sap error = HIGH in picture = FALSE 3. output = SEQUENCE END or GROUP START 4. in-picture = FALSE; break case (PICTURE END) output = PICTURE END 2. if (stop after picture) 2a. output = FLUSH 2b. sap error = HIGH 3. in-picture = FALSE break case (PICTURE START) if (in picture) output = PICTURE END 2. if (in picture & stop after picture) 2a. output = FLUSH 2b. sap error = HIGH 3. if (insert sequence start) 3a. output = CODING START 3b. output = standard 3c. 3. output = SEQUENCE START insert sequence start = FALSE 4. output = PICTURE START in picture = TRUE break default: Just pass it through section B. 2 "Huffman Decoder and Parser (p
arser) ”B. 2.1 "General" This section describes the Huffman decoder and parser circuit according to the invention.

【1125】図127はハフマンデコーダ及びパーザー
の高レベルのブロック線図を示す。明瞭さのために、本
線図では多くの信号及びバスを省略しており、特にデー
タが(図示された大きなループ内で)後方に送られる場
所が幾つかある。
FIG. 127 shows a high level block diagram of the Huffman Decoder and Parser. For clarity, many signals and buses have been omitted from the main diagram, and there are several places where data may be sent backwards (within the large loop shown).

【1126】本質的に、本発明のハフマンデコーダ及び
パーザーは、プログラム可能ステートマシーンによって
制御される(線図の底部に沿って示される)多くの専用
処理ブロックで構成される。
In essence, the Huffman Decoder and Parser of the present invention is comprised of many dedicated processing blocks (shown along the bottom of the diagram) controlled by a programmable state machine.

【1127】データは「インシフト」ブロックにより符
号化データバッファから受け取られる。この時点で、本
質的に遭遇するであろう2つのタイプの情報がある:デ
ータトークンが所有する符号化データ、及びスタートコ
ード検出器により各々のトークンと既に置き換えられて
いるスタードコードである。他のトークンと遭遇する可
能性もあるが、(データトークン以外の)全てのトーク
ンは同じ方法で処理される。トークン(スタートコー
ド)は(H.261、JPEGもしくはMPEGにおい
て)多数のデータがこれから符号化されるにつれて、特
別な場合として処理される。
The data is received from the encoded data buffer by the "in shift" block. At this point, there are essentially two types of information you will encounter: encoded data owned by a data token, and a stard code that has already been replaced by each token by the start code detector. All tokens (except data tokens) are processed in the same way, although other tokens may be encountered. The token (start code) is treated as a special case as multiple pieces of data (in H.261, JPEG or MPEG) are being encoded.

【1128】本発明では、データトークンが所有する全
てのデータが直列形態(ビットバイビット)でハフマン
デコーダに伝送される。もちろん、このデータはハフマ
ン符号化されない多くのフィールドを含むが、固定長に
より符号化される。それにもかかわらず、このデータは
ハフマンデコーダに直列に送られる。ハフマン符号化デ
ータの場合、ハフマンデコーダは実際のハフマンコード
がインデックス数で置き換えられるデコーディングの第
1ステージだけを実行する。解読される特別なコード表
にNディストリクトハフマンコードがある場合、この
「ハフマンインデックス」の範囲は0〜N−1である。
更に、ハフマンデコーダは”no op”、つまり「ノ
ーオペレーション」モードを有し、それはハフマンデコ
ーダによる処理なしに、データまたはトークン情報に沿
って次のステージに送られるようにする。
In the present invention, all data possessed by the data token is transmitted to the Huffman decoder in serial form (bit by bit). Of course, this data contains many fields that are not Huffman coded, but are coded with a fixed length. Nevertheless, this data is sent serially to the Huffman Decoder. For Huffman encoded data, the Huffman decoder only performs the first stage of decoding, where the actual Huffman code is replaced by the index number. If there are N District Huffman codes in the special code table to be decoded, the range of this "Huffman index" is 0-N-1.
In addition, the Huffman Decoder has a "no op" or "no operation" mode, which allows it to be sent to the next stage along with the data or token information without processing by the Huffman Decoder.

【1129】データユニットインデックス部はテーブル
ルックアップオペレーションを実行する比較的簡単な回
路ブロックである。それはハフマンデコーディングプロ
セスの第2ステージからその名前を取り出し、そこでハ
フマンデコーダにおいて得たインデックス数が簡単なテ
ーブルルックアップによって実際の解読データに変換さ
れる。データユニットインデックス部はハフマンデコー
ダと協動して1つの論理ユニットとして作用する。
The data unit index portion is a relatively simple circuit block that performs a table lookup operation. It takes its name from the second stage of the Huffman decoding process, where the index number obtained at the Huffman decoder is converted to the actual decrypted data by a simple table lookup. The data unit index part works as one logical unit in cooperation with the Huffman decoder.

【1130】ALUが次のブロックであり、解読済みデ
ータに他の変換を加えるために提供される。データユニ
ットインデックス部は比較的任意のマッピングに適して
おり、ALUは算術がよりふさわしい場所に使用でき
る。ALUはデコーディングアルゴリスムの様々な部分
を実施するために操作できるレジスタファイルを具備す
る。特に、ベクトル予測及びDC予測を保持するレジス
タががこのブロックに含まれる。ALUはオペランドセ
レクションロジックを持つ単純なアダーのまわりに基礎
づけられる。更に、それはサイン拡張タイプのオペレー
ション用専用回路を含む。シフトオペレーションが実行
されやすいが、これはシリアル様式で遂行され、バレル
シフタは存在しないであろう。
[1130] The ALU is the next block and is provided to apply other transformations to the decrypted data. The data unit index part is suitable for relatively arbitrary mappings and the ALU can be used in places where arithmetic is more appropriate. The ALU comprises a register file that can be manipulated to implement various parts of the decoding algorithm. In particular, the registers holding the vector and DC predictions are included in this block. The ALU is based around a simple adder with operand selection logic. In addition, it contains dedicated circuitry for sign expansion type operation. Shift operations are easy to perform, but this is done in a serial fashion and there will be no barrel shifter.

【1131】本発明によるトークンフォーマッティング
部は、ビデオパーザー内の最後のブロックであり、解読
済みデータを残りのデコーダに送ることができるトーク
ンに最終的に組み込む仕事をする。この時点で、この特
定のピクチャ用のデコーダにより使用されるであろう多
くのトークンがある。
The token formatter according to the invention is the last block in the video parser and is responsible for the final incorporation of the decrypted data into a token that can be sent to the rest of the decoder. At this point, there are many tokens that will be used by the decoder for this particular picture.

【1132】8ビット幅であり、2線式インターフェー
スと共に使用されているパーザーステートマシーンは、
他のブロックのオペレーションを調製する仕事をする。
本質的に、それは非常に単純なステートマシーンであ
り、他のブロックに送られる非常に広範囲の「マクロコ
ード」制御ワードを作り出す。図127は指令ワードが
ブロックからブロックへとデータの側を通過する。これ
が実情であり、異なるブロック間の伝送が2線式インタ
ーフェースによって制御されることを理解することが重
要である。
[1132] The Parser State Machine, which is 8 bits wide and is used with the 2-wire interface,
Work to prepare the operations of other blocks.
In essence, it is a very simple state machine, producing a very wide range of "macrocode" control words that are sent to other blocks. In FIG. 127, the command word passes from block to block on the data side. It is important to understand that this is the case and the transmission between different blocks is controlled by a two wire interface.

【1133】本発明では、ビデオパーザー内の各ブロッ
ク間に2線式インターフェースがある。更に、ハフマン
デコーダはシリアル、データと共に、また制御トークン
と共に作動し、インシフタは一度に1ビットずつデータ
を入力する。従って、2つのモードのオペレーションが
ある。データがデータトークンを介してハフマンデコー
ダに入力されると、そのデータは一度に1ビットずつシ
フタを通過する。更に、インシフタとハフマンデコーダ
の間に2線式インターフェースがある。しかしながら、
他のトークンは一度に(シリアルに)1ビットの形態で
シフトされず、むしろトークンのヘッダにおいてシフト
される。データトークンが入力されると、アドレス情報
を含むヘッダが削除され、そのアドレスの次のデータが
一度に1ビットでシフトされる。データトークンではな
い場合、全トークン、ヘッダ及び全てのものが一度に全
てハフマンデコーダに表示される。
In the present invention, there is a two-wire interface between each block in the video parser. In addition, the Huffman decoder operates with serial, data, and control tokens, and the inshifter inputs data one bit at a time. Therefore, there are two modes of operation. When data is input to the Huffman decoder via the data token, the data passes through the shifter, one bit at a time. In addition, there is a two wire interface between the inshifter and the Huffman decoder. However,
Other tokens are not shifted (serially) one bit at a time, but rather in the token's header. When the data token is entered, the header containing the address information is deleted and the next data at that address is shifted one bit at a time. If not a data token, all tokens, headers and everything are displayed at once in the Huffman Decoder.

【1134】本発明では、ビデオパーザー用の2線式イ
ンターフェースは2つの有効なラインを持つ点で異例の
ことであることを理解することが重要である。1つのラ
インはシリアル式に有効で、他方のラインはトークン式
に有効である。更に、両ライントークンが同時に断定す
ることはできないかもしれない。片方のラインが断定さ
れるか、あるいは有効なデータが存在しなければ、2つ
の有効ラインがあってもどちらも断定できないこともあ
り、他の方向には1つだけのアクセプトワイヤがあるこ
とを認識すべきである。しかしながら、これは問題とは
ならない。ハフマンデコーダは現在のシンタックスに基
づいて次に為されるべき必要に応じて、シリアルデータ
もしくはトークン情報のいずれを望んでいるかを知るこ
とができる。従って、有効なアクセプト信号がそれに応
じて設定され、Acceptがハフマンデコーダからイ
ンシフタに送られる。適切なデータもしくはトークンが
存在すれば、インシフタは有効な信号を送る。例えば、
典型的な指令はハフマンコードを解読し、それをデータ
ユニットインデックス部において変換し、その結果をA
LUにおいて修正することができ、この結果がトークン
ワードに形成される。これを実施するための全ての情報
を含む1つのマイクロコード指令ワードが作られる。コ
マンドはハフマンデコーダに直接送られ、ハフマンデコ
ーダは完全な記号を解読し終えるまで、「インシフト」
ブロックからデータビットを1つずつ要求する。制御ト
ークンは並列に入力される。これが一度発生すると、解
読されたインデックスバリューは元のマイクロコードワ
ードと共にデータユニットインデックス部に送られる。
ハフマンデコーダはこのオペレーションを実行するため
に数個のサイクルを必要とし、実際、サイクル数は解読
されるデータによって決定される。データユニットイン
デックス部は次にマイクロコード指令ワードにおいて特
定された表を用いて、このバリューをマッピングする。
このバリューは元のマイクロコードワードと共に再び次
のブロック、ALUに送られる。ALUが適切なオペレ
ーションを完了する(サイクル数はやはりデータ従属で
あるかもしれない)と、ALUはトークンワードを形成
する方法を制御するマイクロコードワードと共に、トー
クンフォーマッティングブロックに適切なデータを送
る。
In the present invention, it is important to understand that a two wire interface for a video parser is unusual in that it has two valid lines. One line is valid serially and the other line is valid tokenally. Moreover, both line tokens may not be able to assert at the same time. If one line is asserted, or if there is no valid data, then two valid lines may not be able to assert either, and there is only one accept wire in the other direction. It should be recognized. However, this is not a problem. The Huffman decoder can know whether it wants serial data or token information, depending on the current syntax and as needed to be done next. Therefore, a valid accept signal is set accordingly and Accept is sent from the Huffman decoder to the inshifter. The inshifter sends a valid signal if the appropriate data or token is present. For example,
A typical command is to decipher the Huffman code, convert it in the data unit index part, and
It can be modified in the LU and the result is formed into a token word. One microcode command word is created that contains all the information to do this. The commands are sent directly to the Huffman Decoder, which "inshifts" until it has decoded the complete symbol.
Request one data bit at a time from the block. Control tokens are input in parallel. Once this occurs, the decrypted index value is sent to the data unit index part along with the original microcodeword.
The Huffman decoder requires several cycles to perform this operation, in fact the number of cycles is determined by the data to be decoded. The data unit index portion then maps this value using the table specified in the microcode command word.
This value is sent again to the next block, ALU, along with the original microcodeword. When the ALU completes the appropriate operation (the number of cycles may still be data dependent), the ALU sends the appropriate data to the token formatting block along with a microcode word that controls how the token word is formed.

【1135】ALUは多数のステータスワイヤもしくは
パーザーステートマシーンに送り返される「条件コー
ド」を持つ。これはステートマシーンが条件付きジャン
プ指令を実行できるようにする。事実、全ての指令は条
件付きジャンプ指令である:選択できる条件の1つがバ
リュー”False”に配線される。この条件を選択す
ることにより、「ノージャンプ」指令を構成することが
できる。
[1135] The ALU has a number of status wires or "condition codes" that are sent back to the Parser State Machine. This allows the state machine to execute conditional jump commands. In fact, all commands are conditional jump commands: one of the selectable conditions is wired to the value "False". By selecting this condition, a "no jump" command can be constructed.

【1136】本発明によれば、トークンフォーマッティ
ング部は2つの入力:ALUからのデータフィールド及
び/もしくはパーザーステートマシーンから入る一定フ
ィールドを持つ。それに加えて、1つのソースからどの
程度のビットを取り、全体で8ビットのために他のソー
スからの残りのビットで満たすべきかをトークンフォー
マッティング部に告げる指令がある。例えば、HORI
ZONTAL SIZEはHORIZONTAL SI
ZEトークンとしてそれを特定する不変のアドレスであ
る8ビットフィールドを持つ。この場合、8ビットは一
定のフィールドから得られ、ALUから得られるデータ
はない。しかしながら、それがデータトークンであれ
ば、一定のフィールドから6ビットを容易に得られるで
あろうし、低い方の2ビットはALUからの色成分を示
す。従って、トークンフォーマッティング部はこの情報
を得、それを残りのシステムで使用するためにトークン
の中に置く。上記の例において、各ソースからのビット
数は単に説明目的のためであり、当業者であればいずれ
のソースからのビット数をも変更できることを認識する
であろうということに注目すべきである。
[1136] According to the present invention, the token formatting section has two inputs: a data field from the ALU and / or a constant field coming from the Parser State Machine. In addition, there is a directive telling the token formatting section how many bits to take from one source and fill with the remaining bits from the other source for a total of 8 bits. For example, HORI
ZONTAL SIZE is HORIZONTAL SI
It has an 8-bit field that is an immutable address that identifies it as a ZE token. In this case, 8 bits are obtained from a fixed field and no data is obtained from the ALU. However, if it were a data token, 6 bits could easily be obtained from a given field, the lower 2 bits indicating the color component from the ALU. Therefore, the token formatter gets this information and places it in the token for use by the rest of the system. It should be noted that in the above example, the number of bits from each source is for illustration purposes only, and one skilled in the art will recognize that the number of bits from any source can be changed. .

【1137】ALUはピクチャの構造を通してカウント
するために使用されるカウンタバンクを含む。ピクチャ
のディメンションは、レジスタバンクの一部として「マ
イクロプログラマ」に現れるカウンタと連合するレジス
タにプログラムされる。幾つかの条件コードはこのカウ
ンタバンクから出力され、それは「ピクチャ・スター
ト」、「マクロブロック・スタート」等に基づく条件付
きジャンプを可能にする。
The ALU contains a counterbank used to count through the structure of the picture. The picture dimensions are programmed into registers associated with counters that appear to the "microprogrammer" as part of the register bank. Some condition codes are output from this counterbank, which allows conditional jumps based on "picture start", "macroblock start", etc.

【1138】注意すべきことは、パーザーステートマシ
ーンも「デマルチプレックスステートマシーン」と称さ
れることである。両用語が本文書において使用される。
[1138] Note that the Parser State Machine is also referred to as the "Demultiplex State Machine". Both terms are used in this document.

【1139】入力シフタ 本発明では、入力シフタは2つのパイプラインステージ
データパス“hfidp”と制御Zcells“hf
i”で構成される非常に単純な回路である。
Input Shifter In the present invention, the input shifter has two pipeline stage data paths “hfidp” and control Zcells “hf”.
It is a very simple circuit composed of i ″.

【1140】第1のパイプラインステージでは、トーク
ンデコーディングが起こる。このステージにおいて、デ
ータトークンだけが認識される。データトークンに含ま
れるデータは一度に1ビットだけハフマンデコーダにシ
フトされる。第2のパイプラインステージはシフトレジ
スタである。データトークンのラストワードにおいて、
符号化データバッファを通して任意のビット数を伝達す
ることができるように、特別なコーディングが発生す
る。ラストデータワードにおいて可能な全てのパターン
を以下に記す。
[1140] In the first pipeline stage, token decoding occurs. Only data tokens are recognized at this stage. The data contained in the data token is shifted one bit at a time into the Huffman decoder. The second pipeline stage is a shift register. In the last word of the data token,
Special coding occurs so that any number of bits can be conveyed through the encoded data buffer. All possible patterns in the last data word are listed below.

【1141】[1141]

【表174】 シフトレジスタにおいてデータビットが左に1つずつシ
フトされるにつれて、ビットパターン「0に続く全ての
数」が探される(パディング)。これはシフトレジスタ
における残りのビットが有効ではなく、捨てられること
を示す。この動作はデータトークンのラストワードにお
いてのみ発生することに注目。
[Table 174] As the data bits are shifted left by one in the shift register, the bit pattern "all numbers following 0" is sought (padding). This indicates that the remaining bits in the shift register are not valid and will be discarded. Note that this behavior only occurs in the last word of the data token.

【1142】前述したように、他の全てのトークンはハ
フマンデコーダに並列で送られる。それらは第2のパイ
プラインステージにもロードされるが、シフトは発生し
ない。データヘッダは捨てられ、ハフマンには全く送ら
れないことに注目。2つの「有効な」ワイヤ(out
valid及びserial valid)が提供され
る。1つだけが所定の時間に断定され、それはどのタイ
プのデータがその瞬間に表示されるかを指示する。
As described above, all other tokens are sent in parallel to the Huffman Decoder. They are also loaded into the second pipeline stage, but no shift occurs. Note that the data header is discarded and never sent to Huffman. Two "effective" wires (out
valid and serial valid) are provided. Only one is asserted at a given time, which indicates what type of data will be displayed at that moment.

【1143】B.2.2 「ハフマンデコーダ」 ハフマンデコーダは多数のオペレーションモードを持
つ。最も顕著なものはそれがハフマンコードを解読し、
それらをハフマンインデックス数に換えることである。
それに加えて、ハフマンデコーダは指令ワードにより決
定される長さの固定長コードを(ビットに)解読するこ
とができる。ハフマンデコーダは更にインシフトブロッ
クからのトークンを受け取ることができる。
[1143] B. 2.2 "Huffman Decoder" The Huffman Decoder has many operation modes. Most notably it breaks the Huffman code,
It is to convert them into Huffman index numbers.
In addition, the Huffman Decoder can decode (in bits) a fixed length code of a length determined by the command word. The Huffman decoder can also receive tokens from the inshift block.

【1144】ハフマンデコーダは非常に小さなステート
マシーンである。これはブロックレベルの情報を解読す
る時に使用される。これはパーザーステートマシーンが
決定をするのに長くかかりすぎるからである(なぜな
ら、それはデータに関する決定をし、新しいコマンドを
出す前に、データユニットインデックス部とALUを通
ってデータが流れるのを待たなければならないからであ
る)。このステートマシーンが使用される場合、ハフマ
ンデコーダ自体がデータユニットインデックス部とAL
Uにコマンドを発する。ハフマンデコーダステートマシ
ーンはマイクロコード指令ビットの全てを制御すること
ができないので、他のブロックに全範囲のコマンドを発
することができない。
The Huffman Decoder is a very small state machine. It is used when decoding block level information. This is because the Parser State Machine takes too long to make a decision (since it must make a decision about the data and wait for the data to flow through the data unit index part and the ALU before issuing a new command. Because it must be). When this state machine is used, the Huffman decoder itself is
Issue a command to U. Since the Huffman Decoder State Machine cannot control all of the microcode command bits, it cannot issue full range commands to other blocks.

【1145】 B.2.2.1 「オペレーションの理論」 ハフマンコードを解読する時、本発明のハフマンデコー
ダは入力コードをハフマンインデックス数に解読するた
めに、演算手順を使用する。この数は(N個のエントリ
を持つコード表に対して)0〜N−1の間である。ビッ
トは入力シフタから1つずつ受け取られる。
[1145] B. 2.2.1 "Theory of Operation" When deciphering a Huffman code, the Huffman decoder of the present invention uses an arithmetic procedure to decipher an input code into a Huffman index number. This number is between 0 (for a code table with N entries) and N-1. The bits are received one by one from the input shifter.

【1146】マシーンのオペレーションを制御するため
に、多くのテーブルが必要である。これらはコード(1
〜16ビット)において可能な各ビット数のために、そ
の長さのコードがどれ程あるかを明記する。予期される
ように、この情報は典型的に一般的なハフマンコードを
明記するために充分ではない。しかしながら、MPE
G、H.261及びJPEGにおいて、ハフマンコード
はこの情報だけでハフマンコード表を明記することがで
きるように選択される。これには不運なことに1つだけ
例外がある:MPEGにおいても使用されるH.261
からのTcoefficientテーブルである。これ
は他の場所で説明される付加的なテーブルを必要とする
(例外はスタートコードエミュレーションを避けるため
にH.261に計画的に導入された)。
[1146] Many tables are required to control the operation of the machine. These are the codes (1
For each number of bits possible (~ 16 bits), specify how many codes of that length there are. As expected, this information is typically not sufficient to specify the general Huffman code. However, MPE
G, H. In H.261 and JPEG, the Huffman code is selected so that this information alone can specify the Huffman code table. Unfortunately, there is one exception: H.264, also used in MPEG. 261
Is a Tcoefficient table from. This requires the additional tables described elsewhere (exceptions were systematically introduced in H.261 to avoid start code emulation).

【1147】このハフマンデコーダが使用するテーブル
はJPEGに伝達されるものと正確に同一であることを
認識することが重要である。これはハフマンデコーダの
他のデザインが伝達されたものから内部テーブルの作成
を要求したかもしれない一方で、これらのテーブルが直
接使用されることを可能にする。これは変換のために追
加記憶装置及び追加プロセシングを要求したであろう。
MPEG及びH.261のテーブルは(上述の例外はあ
るが)同じように説明でき、マルチスタンダードデコー
ダは実用的になる。
It is important to recognize that the table used by this Huffman Decoder is exactly the same as that transmitted in JPEG. This allows these tables to be used directly, while other designs of Huffman decoders may have required the creation of internal tables from those transmitted. This would have required additional storage and processing for conversion.
MPEG and H.264. The table in 261 can be described in the same way (with the exceptions mentioned above), making a multi-standard decoder practical.

【1148】以下の”C”フラグメントはデコーディン
グプロセスを説明する: int total=0; int s=0; int bit=0; unsigned long code=0; int index=0; while(index>=total) { if(bit>=max bits) fall(”huff decode: ran off end of huff table\n”); code=(code<<1)Inext bit0; index=code−s+total; total+=codes per bit[bit]; s=(s+codes per bit[bit])<<1; bit++; } 一般に、特定の中間バリューはそれらが必要になる前に
クロックフェイズで計算できるという事実に利点がある
が、プロセスはシリコン実装の中に直接マッピングされ
る。
The following "C" fragment illustrates the decoding process: int total = 0; int s = 0; int bit = 0; unsigned long code = 0; int index = 0; while (index> = total). {If (bit> = max bits) fall ("huff decode: ran off end of huff table \ n"); code = (code << 1) Inext bit0; index = code-s + total; ]; S = (s + codes per bit [bit]) <<1; bit ++;} In general, there is an advantage in the fact that certain intermediate values can be calculated in the clock phase before they are needed The process is directly mapped into the silicon implementation.

【1149】コードフラグメントから解ることは: EQ1. totaln+1=totaln+cpbn EQ2. ’sn+1=2(’sn+cpbn) EQ3. coden+1=2coden+bitn EQ4. indexn+1=2coden+bitn+t
otaln−’sn 運悪くハードウェアでは、「シフト済み」変数が変数
“S”の代わりに使用される一連の修正された式を使用
することがより簡単であることが解った。この場合:し
かしながら、ハードウェアでは、「シフト済み」変数が
変数“S”の代わりに使用される一連の修正された式を
使用することがより簡単であることが解った。この場
合: EQ5. shiftedn+1=2shiftedn+c
pbn 次のことが解る: EQ6. in=2shiftedn 従って、これを式4に再び置き換えると、次の式が作ら
れる: EQ7. indexn+1=2(coden−shift
edn)+totaln+bitn 「インデックス」の連続する値を計算することに加え
て、計算がいつ完了するかを知ることが必要である。”
C”コードフラグメントから: EQ8. indexn+1<totaln+1 の時に完了することが解る。
[1149] What can be understood from the code fragment is: EQ1. total n + 1 = total n + cpb n EQ2. 's n + 1 = 2 (' s n + cpb n ) EQ3. code n + 1 = 2code n + bit n EQ4. index n + 1 = 2 code n + bit n + t
In otal n -'s n Unfortunately hardware, it was found that using a series of modified equations are used instead of "pre-shift" variable variable "S" is simpler. In this case: However, in hardware it has been found easier to use a series of modified expressions in which the "shifted" variable is used instead of the variable "S". In this case: EQ5. shifted n + 1 = 2shifted n + c
pb n The following is known: EQ6. i n = 2shifted n Therefore, substituting this into equation 4 again, the following equation is made: EQ7. index n + 1 = 2 (code n -shift
ed n ) + total n + bit n In addition to calculating successive values of the “index”, it is necessary to know when the calculation is complete. ”
From the C "code fragment: EQ8. It can be seen that it completes when index n + 1 <total n + 1 .

【1150】式7と式1から置き換えると、 EQ9. 2(coden−shiftedn)+bit
n−cpbn<0 の時に完了することが解る。
Substituting Equation 7 and Equation 1, EQ9. 2 (code n -shifted n) + bit
It can be seen that the process is completed when n- cpb n <0.

【1151】本発明のハードウェア実装において、E
Q.7及びEQ.9における共通の用語、(coden
−shiftedn)は、これらの式の残りが評価され
て最終結果、及び計算が「完了した」という情報を出す
1フェイズ前に計算される。
In the hardware implementation of the present invention, E
Q. 7 and EQ. Common terms in 9, (coden
-Shiftedn) is calculated one phase before the rest of these expressions are evaluated to give the final result and information that the calculation is "completed".

【1152】警告ワードを1つ。様々な“C”コード、
特に行動編集済みコードハフマンデコーダ、及びsm4
codeプロジェクトにおいて、“C”フラグメントは
ほぼ直接的に使用されるが、変数“S”は実際上「シフ
ト済み」と称される。このように、「シフト済み」と呼
ばれる2つの異なる変数がある。“C”コードの1つ
と、ハードウェア実装における他の1つである。これら
2つの変数は2つの要因により異なる。
[1152] One warning word. Various "C" codes,
In particular, the action-edited code Huffman decoder, and sm4
In the code project, the "C" fragment is used almost directly, but the variable "S" is effectively referred to as "shifted". Thus, there are two different variables called "shifted". One of the "C" code and the other in the hardware implementation. These two variables depend on two factors.

【1153】 B.2.2.1.1 「データビットの反転」 ハフマンコードを正しく解読するために必要な情報がも
う1つある。これは符号化データの極性である。H.2
61とJPEGは反対の規定を使用することが解る。こ
れはH.261のスタートコードはゼロビットであるの
に対し、JPEGのマーカーバイトは1ビットであると
いう事実から生じる。
B. 2.2.1.1 “Inversion of data bits” There is another piece of information necessary to correctly decode the Huffman code. This is the polarity of the encoded data. H. Two
It can be seen that 61 and JPEG use opposite conventions. This is H. The start code for H.261 is zero bits, while the JPEG marker byte is one bit.

【1154】両規定を処理するために、符号化データが
H.261スタイルのハフマンコードを解読するため
に、ハフマンデコーダの中に読み込まれる時に、符号化
データビットを反転させることが必要である。これは独
占的ORゲートを用いる明白な方法で行われる。固定長
コードを解読する時、データは反転されないので、反転
はハフマンコードのためにのみ行われることに注目。
[1154] In order to process both regulations, the encoded data is H.264. To decode a 261 style Huffman code, it is necessary to invert the encoded data bits when read into the Huffman decoder. This is done in an explicit way with exclusive OR gates. Note that when decoding fixed length codes, the inversion is done only for Huffman codes, as the data is not inverted.

【1155】MPEGは2つの規定の混合物を使用す
る。H.261から引き継がれる局面では、H.261
規定が使用される。JPEG(DCイントラ係数のデコ
ーディング)から引き継がれる局面では、JPEG規定
が使用される。
[1155] MPEG uses a mixture of two conventions. H. In the aspect succeeded from H.261, H.264. 261
Regulations are used. In the aspect inherited from JPEG (DC intra coefficient decoding), the JPEG standard is used.

【1156】B.2.2.1.2 「変換係数表」 H.261及びMPEGにおける変換係数表を使用する
時、幾つかの変則がある。第1に、MPEGテーブルは
H.261テーブルのスーパーセットである。本発明の
ハードウェア実装において、2つのスタンダード間に引
かれる区別はなく、これはテーブル(つまりMPEGコ
ード)の拡張部分からのコードを含むH.261ストリ
ームが「正しい」方法で解読されるであろうということ
を意味する。もちろん、圧縮スタンダードの他の局面も
同様に破壊される。例えば、これらの拡張コードはH.
261におけるスタートコードエミュレーションを生じ
させるであろう。
[1156] B. 2.2.1.2 “Conversion coefficient table” There are some anomalies when using transform coefficient tables in H.261 and MPEG. First, the MPEG table is an H.264 standard. It is a super set of 261 tables. In the hardware implementation of the present invention, there is no distinction drawn between the two standards, which is an H.264 containing code from an extension of the table (ie MPEG code). It means that the 261 stream will be decrypted in a "correct" way. Of course, other aspects of the compression standard are destroyed as well. For example, these extension codes are H.264.
Would result in start code emulation at 261.

【1157】第2に、変換係数表はcode per
bitテーブルを用いる通常の方法では説明できないこ
とを意味する変則を持つ。この変則は6ビット長のコー
ドで発生する。これらのコードワードは交替コードワー
ドで系統的に置き換えられる。エンコーダにおいては、
正しい結果が第1のエンコーディングによって通常の方
法で得られる。次に、6ビットまたはそれ以上の長さの
全てのコードのために、簡単なテーブルルックアップオ
ペレーションにより、最初の6ビットが別の6ビットで
置き換えられる。本発明によるデコーダでは、デコーデ
ィングプロセスは6番目のビットが解読される直前に割
り込まれ、コードワードはテーブルルックアップを用い
て置き換えられ、デコーディングが続けられる。
[1157] Second, the conversion coefficient table is code per
It has an anomaly meaning that it cannot be explained by the usual method using the bit table. This anomaly occurs with 6-bit long codes. These codewords are systematically replaced by alternate codewords. In the encoder,
Correct results are obtained in the usual way by the first encoding. Then, for all codes of length 6 bits or more, a simple table lookup operation replaces the first 6 bits with another 6 bits. In the decoder according to the invention, the decoding process is interrupted just before the sixth bit is decoded, the codeword is replaced using a table lookup and the decoding is continued.

【1158】この場合、10の可能な6ビットコードが
あるだけであり、従って必要なルックアップテーブルは
非常に小さい。更に、オペレーションはコードの上位2
ビットがオペレーションによって変更されないという事
実によって助けられる。その結果、真のルックアップテ
ーブルを使用する必要がなくなる。その代わりに、小さ
なゲート集団が配線され、適切な変換が行われる。これ
を行うモジュールは”hftcfrng”と呼ばれる。
可能性のあるコードセットからの各コードがそのセット
からの別のコードで置き換えられる(新コードが導入さ
れない、あるいは旧コードが省略される)ので、このタ
イプのコード置換は本文では「リング」と規定される。
In this case, there are only 10 possible 6-bit codes, so the look-up table required is very small. In addition, the operations are the top 2 of the code
Helped by the fact that the bits are not modified by the operation. As a result, there is no need to use a true lookup table. Instead, a small group of gates are wired and the appropriate conversions are made. The module that does this is called "hftcfrng".
This type of code replacement is referred to as a "ring" in the text, because each code from a possible code set is replaced by another code from that set (no new code is introduced or the old code is omitted). Stipulated.

【1159】更に、ブロック内の最初の係数のために独
特な実装が行われる。この場合、ブロック・エンドコー
ドが発生することは不可能であり、従って、最も一般的
に発生する記号が、そうでなければブロック・エンドと
して解釈されるであろうコードを使用できるように、テ
ーブルが修正される。これにより1ビットを節約でき
る。本発明によるデコーディング用の構成で、これは容
易に収容される。簡単に言えば、「インデックス」がバ
リューゼロであれば、第1係数の第1ビットのために、
デコーディングは終了したとみなされる。更に、1ビッ
トだけを解読後は、「インデックス」用には2つの可能
性のあるバリュー、ゼロと1だけがあり、1ビットをテ
ストすることだけが必要である。
In addition, a unique implementation is made for the first coefficient in the block. In this case, it is impossible for the block end code to occur, so that the most commonly occurring symbols can use the code that would otherwise be interpreted as the block end. Is fixed. This saves 1 bit. The decoding arrangement according to the invention is easily accommodated. Simply put, if the "index" is value zero, then for the first bit of the first coefficient,
Decoding is considered finished. Furthermore, after decoding only one bit, there are only two possible values for the "index", zero and one, and only one bit needs to be tested.

【1160】 B.2.2.1.3 「レジスタ及びアダーのサイズ」 本発明のハフマンデコーダは16ビットまでのハフマン
コードを処理することができる。しかしながら、デコー
ディングマシーンは8ビット幅である。これは解読され
るハフマンインデックス数値が最大でも255であるこ
とが解っているから可能である。事実、これは拡張JP
EGにおいてのみ発生でき、現在のアプリケーションで
は、その限界は幾分低め(しかし、128より大きいの
で、7ビットでは不充分)である。
[1160] B. 2.2.1.3 “Register and Adder Size” The Huffman decoder of the present invention can process Huffman codes up to 16 bits. However, the decoding machine is 8 bits wide. This is possible because it is known that the Huffman index number to be decrypted is at most 255. In fact, this is an extended JP
It can only occur in the EG, and in current applications the limit is somewhat lower (but larger than 128, so 7 bits is not enough).

【1161】全ての合法的ハフマンコードに対して、
「インデックス」の最終値だけでなく、全ての中間値も
0〜255の範囲にあることが解る。しかしながら非合
法的コード、つまり(おそらくデータ誤差のため)現在
のコード表にはないコードを解読しようとする企てに対
しては、インデックス値は255を越えることがある。
我々は8ビットマシーンを使用しているので、デコーデ
ィング・エンドで、「インデックス」の最終値が255
を越えない。なぜなら、誤差が発生したことを我々に告
げるより重要なビットが捨てられているからである。こ
のため、デコーディング中のインデックス値が255を
越える(つまり、インデックスを形成するアダーからの
キャリー)時にはいつでも、誤差が発生し、デコーディ
ングが放棄される。
[1161] For all legal Huffman codes,
It can be seen that not only the final value of the "index" but also all the intermediate values are in the range 0-255. However, for an attempt to decipher an illegal code, that is, a code that is not in the current code table (probably due to data error), the index value may exceed 255.
Since we are using an 8-bit machine, at the decoding end the final value of the "index" is 255
Does not exceed Because the more significant bits that tell us that an error has occurred are discarded. Thus, whenever an index value during decoding exceeds 255 (ie, a carry from the adder forming the index), an error occurs and the decoding is abandoned.

【1162】「コード」の12ビットが保護される。3
ビットレジスタで充分であるハフマンコードを解読する
ためには、これは必要ではない。これらの上位ビットは
12ビットまで読み出すことができる固定長コードのた
めに必要である。
[1162] 12 bits of "code" are protected. Three
This is not necessary to decode the Huffman code where the bit register is sufficient. These upper bits are needed for fixed length codes that can read up to 12 bits.

【1163】B.2.2.1.4 「固定長コード用の
オペレーション」 固定長コードのために、「ビット毎のコード」バリュー
がゼロになるように強いられる。これはオペレーション
を通して「全体の」と「シフト済み」がゼロのままであ
り、従って、「インデックス」はコードと同じである。
事実、アダー等は8ビットバリューだけが「インデック
ス」のために作られるようにする。このため、固定長コ
ードを解読する時に、出力ワードの上位ビットは「コー
ド」レジスタから直接取られる。ハフマンコードを解読
する時、これら上位ビットはゼロになるように強いられ
る。
[1163] B. 2.2.1.4 "Operations for Fixed Length Codes" Fixed length codes force the "bit by bit" value to be zero. This means that "overall" and "shifted" remain zero throughout the operation, so the "index" is the same as the code.
In fact, adders and the like only allow 8-bit values to be created for the "index". Thus, when decoding a fixed length code, the upper bits of the output word are taken directly from the "code" register. When decoding a Huffman code, these high order bits are forced to zero.

【1164】充分なビットが入力から読み出されたとい
う事実は明白な方法で計算される。コンパレータは所望
のビット数を「ビット」カウンタと比較する。
The fact that enough bits have been read from the input is calculated in an explicit way. The comparator compares the desired number of bits with a "bit" counter.

【1165】 B.2.2.2 「デコーディング係数データ」 本発明によるパーザーステートマシーンは一般にかなり
高レベルのデコーディングのためにのみ使用される。8
ビットずつのデータブロック内の非常に低レベルのデコ
ーディングは、直接にはこのステートマシーンによって
処理されない。パーザーステートマシーンは「ブロック
を解読する」形態のハフマンデコーダにコマンドを出
す。ハフマンデコーダ、データユニットインデックス
部、及びALUは(基本的にハフマンデコーダ内にあ
る)専用ステートマシーンの制御下に、共に作動する。
この配置はエントロピーコード化係数データの高性能の
デコーディングを可能にする。更に本オペレーションモ
ードにおいて操作される他のフィードバックパスがあ
る。例えば、SIZE及びRUN情報を提供するために
VLCが解読されるJPEGデコーディングにおいて
は、SIZE情報はデータユニットインデックス部の出
力から直接ハフマンデコーダに送り返され、どれほど多
くのFLCビットを読むべきかをハフマンデコーダに指
示する。それに加えて、幾つかの加速装置が実装され
る。例えば、同じ例を用いて、データインデックスステ
ージの前にハフマンインデックスバリューを考察するこ
とにより、ゼロのSIZEを生じる全てのVLCバリュ
ーが明白に捕獲される。これは非ゼロSIZEバリュー
の場合、ハフマンデコーダが実際のSIZEバリューが
解る前に、1つのFLCビットを読むために進むことが
できることを意味する。これは最初のFLCビットの読
出しがデータユニットインデックス部においてテーブル
ルックアップを遂行するために必要な1つのクロックサ
イクルに重なるので、如何なるクロックサイクルも浪費
されないことを意味する。
[1165] B. 2.2.2 "Decoding Coefficient Data" The parser state machine according to the invention is generally used only for very high level decoding. 8
Very low level decoding within a bit by bit data block is not directly handled by this state machine. The Parser State Machine commands the Huffman Decoder of the form "decode block". The Huffman Decoder, Data Unit Index, and ALU operate together under the control of a dedicated state machine (basically in the Huffman Decoder).
This arrangement enables high performance decoding of entropy coded coefficient data. In addition there are other feedback paths operated in this mode of operation. For example, in JPEG decoding where VLC is decoded to provide SIZE and RUN information, the SIZE information is sent directly from the output of the data unit index section back to the Huffman decoder to determine how many FLC bits to read. Instruct the decoder. In addition, some accelerators are implemented. For example, using the same example, by considering the Huffman index value before the data index stage, all VLC values that result in a SIZE of zero are explicitly captured. This means that for a non-zero SIZE value, the Huffman Decoder can proceed to read one FLC bit before the actual SIZE value is known. This means that no clock cycle is wasted because the reading of the first FLC bit overlaps the one clock cycle required to perform the table lookup in the data unit index part.

【1166】B.2.2.2.1 「MPEG及びH.
261のAC係数データ」 図133はAC係数がMPEG及びH.261において
解読される方法を示している。ハフマンデコーダのオペ
レーションを詳細に示すフローチャートが図128に示
されている。
[1166] B. 2.2.2.1 “MPEG and H.264.
AC coefficient data of H.261 ”is shown in FIG. 133. 261 shows the method of decryption. A flowchart detailing the operation of the Huffman Decoder is shown in FIG.

【1167】VLCコードを読むことによりプロセスが
スタートする。通常のイベントでは、ハフマンインデッ
クスは6ビットRUN及び係数の絶対値を表すバリュー
に直接マッピングされる。その後、FLC1ビットが読
まれ、係数のサインを出す。ALUは係数の絶対値をこ
のサインビットで組み立て、係数の最終値を提供する。
[1167] The process starts by reading the VLC code. In a normal event, the Huffman index is directly mapped to a 6-bit RUN and a value that represents the absolute value of the coefficient. After that, the FLC 1 bit is read and the sign of the coefficient is given. The ALU assembles the absolute value of the coefficient with this sign bit to provide the final value of the coefficient.

【1168】この時点でのデータフォーマットはサイン
・マグニチュードであるので、このオペレーションには
ほとんど困難なことがない。RUNバリューは6ビット
の補助バスに送られる一方、係数バリュー(レベル)は
通常のデータバスに送られる。
[1168] Since the data format at this point is sine magnitude, there is almost no difficulty in this operation. The RUN value is sent to the 6-bit auxiliary bus, while the coefficient value (level) is sent to the normal data bus.

【1169】2つの特別な場合があり、これらはデータ
インデックスオペレーションの前に解読されたインデッ
クスバリューを考察することにより捕獲される。これら
はブロック・エンド(EOB)とエスケープコード化デ
ータである。EOBの場合、これが発生したという事実
はトークンフォーマッティング部が開かれたデータトー
クンを正しく閉じることができるように、データユニッ
トインデックス部及びALUブロックを通って送られ
る。
There are two special cases, which are captured by considering the decrypted index value before the data index operation. These are block end (EOB) and escape coded data. In the case of EOB, the fact that this has occurred is sent through the data unit index part and the ALU block so that the token formatting part can correctly close the opened data token.

【1170】エスケープコード化データはより複雑であ
る。最初の6ビットのRUNが読み出され、これらはデ
ータユニットインデックス部を通って直接送られ、AL
Uに記憶される。その後、FLC1ビットが読み出され
る。これはMPEG及びH.261において説明される
エスケープの8ビットの内、最も重要なビットであり、
レベルのサインを与える。ネガティブバリュー対ポジテ
ィブバリューのためにALUに異なるコマンドを送る必
要があるので、そのサインは本実装において明白に読み
出される。これはALUがビットストリーム内の2つの
補数値をサインマグニチュードに変換できるようにす
る。いずれの場合にも、残りのFLC7ビットがその後
読み出される。これがバリューゼロであれば、更に8ビ
ットを読まなければならない。
[1170] Escape-coded data is more complex. The first 6-bit RUN is read and these are sent directly through the data unit index part, AL
Stored in U. Then, FLC 1 bit is read. This is based on MPEG and H.264. Of the 8 bits of escape described in H.261, it is the most significant bit,
Give level sign. The signature is explicitly read in this implementation because it is necessary to send different commands to the ALU for negative value versus positive value. This allows the ALU to convert the two's complement value in the bitstream to sine magnitude. In either case, the remaining FLC 7 bits are then read. If this is the value zero, then 8 more bits must be read.

【1171】本発明では、ハフマンデコーダの内部ステ
ートマシーンは自身の制御のため、またデータユニット
インデックス部、ALU、及びトークンフォーマッティ
ング部をも制御するためにコマンドを発生させる責任が
ある。図133に示すように、ハフマンデコーダの指令
は3つのソース;パーザーステートマシーン、ハフマン
ステートマシーン、もしくはパーザーステートマシーン
から以前に受け取ったレジスタに記憶されている指令の
1つから送られる。本質的に、(ハフマンステートマシ
ーンに制御を引き継がせ、係数を読ませる)パーザース
テートマシーンからの原始指令は、レジスタに保持され
る、つまり、新しいVLCが必要になる度に、使用され
る。デコーディングのための他の全ての指令はハフマン
ステートマシーンによって供給される。
In the present invention, the Huffman Decoder's internal state machine is responsible for issuing commands for its own control and also for controlling the Data Unit Index, ALU, and Token Formatters. As shown in FIG. 133, the Huffman Decoder commands come from one of three sources: the Parser State Machine, the Huffman State Machine, or a command previously stored in a register previously received from the Parser State Machine. In essence, the primitive command from the Parser State Machine (which causes the Huffman State Machine to take control and read the coefficients) is held in a register, i.e. used each time a new VLC is needed. All other commands for decoding are provided by the Huffman State Machine.

【1172】 B.2.2.2.2 「MPEGのDC係数データ」 これはJPEGのDC係数データと同様に処理される。
同じ(ロード可能な)テーブルが使用され、その内容が
正しいことを保証することが制御マイクロプロセッサの
責任である。MPEGスタンダードとの唯一の現実的な
差は、(JPEGの場合と同様に)プレディクタがゼロ
に設定され、その補正が逆量子化器において行われるこ
とである。
B. 2.2.2.2 “MPEG DC Coefficient Data” This is processed in the same manner as JPEG DC coefficient data.
It is the responsibility of the controlling microprocessor to ensure that the same (loadable) table is used and its contents are correct. The only real difference from the MPEG standard is that the predictor is set to zero (as in JPEG) and the correction is done in the dequantizer.

【1173】 B.2.2.2.3 「JPEG係数データ」 図129は本発明に従い、JPEGのAC係数を解読す
るためのハードウェアを示すブロック線図である。DC
係数用のプロセスは本質的にJPEGプロセスを簡略化
したものであるので、線図はAC及びDC係数両方のた
めに作用する。MPEGのAC係数用の前の線図に現実
に加えられる唯一のことは、”SSSS”フィールドが
送り返され、読み出されるFLCビット数を指定するた
め、ハフマンデコーダコマンドの一部として使用できる
ことである。残りのコマンドはハフマンステートマシー
ンによって供給される。
[1173] B. 2.2.2.3 “JPEG Coefficient Data” FIG. 129 is a block diagram illustrating hardware for decoding JPEG AC coefficients in accordance with the present invention. DC
The diagram works for both AC and DC coefficients because the process for the coefficients is essentially a simplification of the JPEG process. The only thing that actually adds to the previous diagram for MPEG AC coefficients is that the "SSSS" field is sent back and can be used as part of the Huffman Decoder command to specify the number of FLC bits to be read. The remaining commands are provided by the Huffman State Machine.

【1174】図130はAC及びDC係数のハフマンデ
コーディング用のフローチャートを描いている。
FIG. 130 depicts a flow chart for Huffman decoding of AC and DC coefficients.

【1175】AC係数用のプロセスをまず取り上げる
が、プロセスは適切なテーブル(2つのACテーブルが
ある)を用いて、VLCを読み出すことで開始する。ハ
フマンインデックスは次にデータユニットインデックス
部内のRUN及びSIZEバリューに変換される。2つ
のバリューはハフマンインデックスステージで捕獲され
るが、これらはEOB及びZRL用である。これらは唯
一如何なるFLCビットも読まれない2つのバリューで
ある。デコードインデックスがこれら2つのバリューの
ものではない場合、ハフマンデコーダは直ちにFLC1
ビットを読み出す一方、データユニットインデックス部
がルックアップオペレーションを完了して、実際にどの
程度のビットが必要であるかを決定するのを待つ。EO
Bの場合、ハフマンデコーダ内のハフマンステートマシ
ーンが遂行する更なるプロセシングは必要ではなく、別
のコマンドがパーザーステートマシーンから読み出され
る。ZRLの場合、如何なるFLCビットも必要ではな
いが、ブロックは完了されない。この場合、ハフマンデ
コーダは(以前と同じテーブルを用いて)更なるVLC
の解読を直ちに開始する。
Take the process for AC coefficients first, but start with reading the VLC using the appropriate table (there are two AC tables). The Huffman index is then converted to RUN and SIZE values in the data unit index section. Two values are captured in the Huffman Index stage, these are for EOB and ZRL. These are the only two values where no FLC bits are read. If the decode index is not for these two values, the Huffman Decoder will immediately use FLC1.
While reading the bits, wait for the data unit index portion to complete the lookup operation and determine how many bits are actually needed. EO
In the case of B, no additional processing is performed by the Huffman State Machine in the Huffman Decoder and another command is read from the Parser State Machine. For ZRL, no FLC bits are needed, but the block is not completed. In this case, the Huffman Decoder will use additional VLC (using the same table as before).
Start decoding immediately.

【1176】ZRL及びEOBに連合するインデックス
バリューを検出するのに、特別な問題がある。これはハ
フマンテーブルが(H.261やMPEGと異なり)ダ
ウンロード可能であるからである。2個のJPEGのA
Cテーブルの各々のために、(1つはZRL用に、1つ
はEOB用に)2個のレジスタが提供される。これらは
テーブルがダウンロードされる時にロードされる。それ
らは適切な記号と連合するインデックスバリューを保持
する。
There are special problems in detecting index values associated with ZRL and EOB. This is because the Huffman table can be downloaded (unlike H.261 and MPEG). 2 JPEG A
Two registers are provided for each of the C tables (one for the ZRL and one for the EOB). These are loaded when the table is downloaded. They hold the index value associated with the appropriate symbol.

【1177】ALUはSIZEビットのFLCコードを
適切なサイン・マグニチュードバリューに変換しなけれ
ばならない。これらはテーブルがダウンロードされる時
にロードされる。それらは適切な記号と連合するインデ
ックスバリューを保持する。ALUはSIZEビットの
FLCコードを適切なサイン・マグニチュードバリュー
に変換しなければならない。これはまず間違ったサイン
でそのバリューをサイン拡張することにより行われる。
サインビットが新たに設定されると、次に残りのビット
が逆にされる(1の補数)。
[1177] The ALU shall convert the SIZE bit FLC code to the appropriate sign magnitude value. These are loaded when the table is downloaded. They hold the index value associated with the appropriate symbol. The ALU must convert the SIZE bit FLC code to the appropriate sign magnitude value. This is done by first sign-extending the value with the wrong sign.
When the sign bit is newly set, then the remaining bits are reversed (1's complement).

【1178】DC係数の場合、ZRLフィールドの等価
物はないので、ハフマンデコーディングステージにおけ
る意志決定の方が幾分容易である。ゼロのFLCビット
が読まれるようにする唯一の記号はゼロのDC差を示す
ものである。これは再びハフマンインデックスステージ
において捕獲され、(ダウンロード可能な)JPEGの
各DCテーブル用にこのインデックスを保持するため、
レジスタが提供される。
For DC coefficients, there is no ZRL field equivalent, so decision making at the Huffman decoding stage is somewhat easier. The only symbols that cause the FLC bit of zero to be read are those that indicate a DC difference of zero. This is again captured in the Huffman Index stage, to hold this index for each (downloadable) JPEG DC table,
Registers are provided.

【1179】本発明のALUは(予測として知られる)
最後のDC係数値のコピーを保持することにより、最終
的な解読済みDC係数を形成するという仕事をする。4
つの活性色成分の各々のために1つずつ、計4個のプレ
ディクタが必要である。DC差が解読されると、ALU
は適切なプレディクタを加えて、解読された値を形成す
る。これはやはりその色成分の次のDC差のためのプレ
ディクタとして記憶される。DC係数は(DCオフセッ
トのため)サインされるので、2補数からサイン・マグ
ニチュードへの変換が必要である。その後、そのバリュ
ーはゼロのRUNと共に出力される。事実、このラスト
ステージの一部を遂行せよという指令はハフマンステー
トマシーンによって供給されない。それらは単にパーザ
ーステートマシーンによって実行される。
[1179] The ALU of the present invention (known as prediction)
It does the job of forming the final decoded DC coefficient by keeping a copy of the last DC coefficient value. Four
A total of four predictors are required, one for each of the two active color components. When the DC difference is decoded, ALU
Adds the appropriate predictors to form the decrypted value. This is also stored as a predictor for the next DC difference of that color component. Since the DC coefficients are signed (due to the DC offset), a two's complement to sine magnitude conversion is required. The value is then output with a RUN of zero. In fact, the orders to carry out part of this last stage are not provided by the Huffman State Machine. They are simply executed by the Parser State Machine.

【1180】AC係数に対する同様の方法において、A
LUはまずFLCのSIZEビットからDC差を生成し
なければならない。しかしながら、この場合、2つの補
数値がプレディクタに加算されることが求められる。こ
れは前述のように、まず間違ったサインでサイン拡張す
ることにより形成される。その結果が負であれば、正し
い値を形成するために1を加算しなければならない。も
ちろん、これはアダーの中にキャリーを詰め込むことに
よりプレディクタと同時に加算され得る。
[1180] In a similar manner for the AC coefficient, A
The LU must first generate a DC difference from the FLC SIZE bits. However, in this case, it is required that the two complement values be added to the predictor. This is formed by first sign-extending with the wrong sign, as described above. If the result is negative, then one must be added to form the correct value. Of course, this can be added at the same time as the predictor by packing the carry in the adder.

【1181】B.2.2.3 「誤差処理」 誤差処理については説明する価値がある。検出される誤
差には実際上4つのソースがある: ・テーブル・エンドから外れる。
[1181] B. 2.2.3 “Error processing” Error processing is worth explaining. There are practically four sources of error that are detected: Off the table end.

【1182】・トークンが期待される時に、シリアルで
ある。
[1182] When the token is expected, it is serial.

【1183】・シリアルが期待される時に、トークンで
ある。
[1187] A token when serial is expected.

【1184】・ブロック内に多くの係数がありすぎる。[1184] There are too many coefficients in the block.

【1185】これらの内最初のものは2つの状況におい
て発生する。ビットカウンタが16に達する(合法的バ
リューは0〜15である)場合、最長の合法的ハフマン
コードが16ビットであるので、誤差が発生する。「イ
ンデックス」の中間値が255を越える場合、セクショ
ンB.2.2.1.3において説明したように、誤差が
発生する。
[1187] The first of these occurs in two situations. When the bit counter reaches 16 (the legal value is 0 to 15), an error occurs because the longest legal Huffman code is 16 bits. If the median value of the “index” exceeds 255, then section B. An error occurs as described in 2.2.1.3.

【1186】第2のものはトークンが期待されるのにシ
リアルデータに遭遇する時に発生する。第3のものは反
対の状態が生じる時に発生する。
The second one occurs when a token is expected but serial data is encountered. The third occurs when the opposite situation occurs.

【1187】最後のタイプの誤差は、ブロックにあまり
に多くの係数がある場合に発生する。これは実際にはデ
ータユニットインデックス部において検出される。
[1187] The last type of error occurs when there are too many coefficients in a block. This is actually detected in the data unit index part.

【1188】これらの状態のいずれかが発生すると、誤
差はハフマン誤差レジスタにおいて注目され、パーザー
ステートマシーンが割り込まれる。誤差を処理し、回復
のために必要なコマンドを発することがパーザーステー
トマシーンの責任である。
[1187] When any of these conditions occur, the error is noted in the Huffman error register and the parser state machine is interrupted. It is the responsibility of the Parser State Machine to handle the errors and issue the necessary commands for recovery.

【1189】正しいオペレーションを保証するための割
り込み時に、ハフマンはパーザーステートマシーンと協
動する。ハフマンデコーダがパーザーステートマシーン
に割り込むと、新しいコマンドがパーザーステートマシ
ーンの出力においてアクセプトされるのを待つことがで
きる。ハフマンデコーダはパーザーステートマシーンに
割り込んだ後、2つの全サイクルのためにこのコマンド
をアクセプトしないであろう。これにより、パーザース
テートマシーンは(今は実行されるべきではない)そこ
にあるコマンドを取り除き、適切なものと置き換えるこ
とができる。これら2つのサイクルの後、ハフマンデコ
ーダはは通常のオペレーションを再び開始し、有効なコ
マンドがそこにあればそのコマンドを受け入れる。そう
でなければ、パーザーステートマシーンが有効なコマン
ドを示すまで何もしないであろう。
Huffman works with the Parser State Machine on interrupts to ensure correct operation. When the Huffman Decoder interrupts the Parser State Machine, it can wait for new commands to be accepted at the output of the Parser State Machine. The Huffman Decoder will not accept this command for two full cycles after it interrupts the Parser State Machine. This allows the parser state machine to remove the command there (which should not be executed now) and replace it with the appropriate one. After these two cycles, the Huffman Decoder begins normal operation again and accepts a valid command if it is there. Otherwise it will not do anything until the Parser State Machine indicates a valid command.

【1190】これらの誤差のいずれかが発生すれば、
「ハフマン誤差」イベントビットが設定され、マスクビ
ットが設定されれば、ブロックは停止し、制御マイクロ
プロセッサは通常の方法で割り込まれるであろう。
[1187] If any of these errors occur,
If the "Huffman Error" event bit is set and the mask bit is set, the block will stop and the control microprocessor will be interrupted in the normal manner.

【1191】ある状況では、誤差のように見えるものが
実際には誤差ではないことがある。このようなことが発
生する最も重要な状況は、マクロブロックアドレスを読
んでいる時である。MPEG、H.261及びJPEG
のシンタックスにおいて、期待されるマクロブロックア
ドレスの代わりにトークンが発生するのは合法的であ
る。合法的方法でこうしたことが発生すれば、ハフマン
誤差レジスタにゼロがロードされる(誤差が無いことを
意味する)が、パーザーステートマシーンはまだ割り込
まれたままである。パーザーステートマシーンのコード
はこのno errorの状況を認識し、それに従って
応答する。この場合、「ハフマン誤差」イベントビット
は設定されず、ブロックはプロセシングを停止しないで
あろう。
[1191] In some situations, what looks like an error may not actually be an error. The most important situation where this happens is when reading a macroblock address. MPEG, H.264. 261 and JPEG
In this syntax, it is legal for a token to occur instead of the expected macroblock address. If this happens legally, the Huffman Error Register is loaded with zero (meaning no error), but the Parser State Machine is still interrupted. The parser state machine code recognizes the status of this no error and responds accordingly. In this case, the "Huffman Error" event bit will not be set and the block will not stop processing.

【1192】いろんな状況を処理しなければならない。
まず、トークンは直ちに発生し、シリアルビットは前進
しない。この場合、「シリアルが期待される時のトーク
ン誤差」が発生したであろうが、その代わりに、no
error誤差が前述したような方法で発生する。
[1192] Various situations must be dealt with.
First, the token is generated immediately and the serial bit does not advance. In this case, "token error when serial is expected" would have occurred, but instead, no
The error error occurs in the manner described above.

【1193】第2に、トークンの前に2〜3のシリアル
ビットがある。この場合、決定が為される。トークンの
前にある全てのビットがバリュー1を持っていた場合、
(H.261及びMPEGでは、コード化データは反転
されるので、コード化データファイルにはゼロビットが
あることを思いだしてほしい)、ノーエラーが発生す
る。しかしながら、それらの内のどれかがゼロであれ
ば、それらは有効なスタッフィングビットではなく、こ
うして誤差が発生し、「シリアルが期待される場合のト
ークン」誤差が発生する。
Second, there are a few serial bits before the token. In this case, a decision is made. If all the bits before the token had a value of 1,
(In H.261 and MPEG, the coded data is inverted, so remember that there are zero bits in the coded data file), and no error occurs. However, if any of them are zero, they are not valid stuffing bits and thus an error occurs, resulting in a "token when serial is expected" error.

【1194】第3に、トークンの前には多くのビットが
ある。この場合、同じ決定が為される。全ての16ビッ
トが1であれば、それらはパディングビットとして処理
され、no error誤差が発生する。それらの内の
いずれかがゼロであった場合、「ハフマンテーブルを外
れる」誤差が発生する。
[1194] Third, there are many bits before the token. In this case, the same decision is made. If all 16 bits are 1, then they are treated as padding bits and a no error error occurs. If any of them were zero, an "out of Huffman table" error occurs.

【1195】トークンが予期されずに発生する別の場所
はJPEGである。ハフマンテーブルもしくは量子化器
テーブルのいずれかを処理する場合、如何なる数のテー
ブルも同じマーカーセグメントの中に発生することがで
きる。ハフマンデコーダはいくつのテーブルがあるのか
を知ることができない。このため、各テーブルが完了し
た後、ハフマンデコーダは別のFLC4ビットを読み出
し、それを新しいテーブルナンバーであると仮定する。
しかしながら、新しいマーカーセグメントがスタートす
ると、4ビットFLCの代わりにトークンに遭遇するで
あろう。この要件は予測されず、従ってIgnore
Errorsコマンドビットが加えられた。
[1195] Another place where tokens occur unexpectedly is JPEG. When processing either the Huffman table or the quantizer table, any number of tables can occur in the same marker segment. The Huffman Decoder cannot know how many tables there are. Thus, after each table is completed, the Huffman Decoder reads another FLC4 bit and assumes it to be the new table number.
However, when a new marker segment starts, a token will be encountered instead of the 4-bit FLC. This requirement is not anticipated and therefore Ignore
The Errors command bit has been added.

【1196】B.2.2.4 「ハフマンコマンド」 ハフマンデコーダブロック及びそれらの定義を制御する
ため、パーザーステートマシーンが使用するビットをこ
こに示す。データユニットインデックス部コマンドビッ
トもこのテーブルに含まれる。マイクロプログラマの視
点から、ハフマンデコーダ及びデータユニットインデッ
クス部は1つの凝縮した論理ブロックとして作用する。
[1196] B. 2.2.4 "Huffman Commands" The bits used by the Parser State Machine to control the Huffman Decoder blocks and their definitions are shown here. The data unit index part command bits are also included in this table. From the microprogrammer's point of view, the Huffman decoder and the data unit index part act as one condensed logic block.

【1197】[1197]

【表175】 B.2.2.4.1 「FLC読出し」 このモードでは、Ignore Errors、Dow
nload、Alutab、Token、First
Coeff、Special and VLCが全てゼ
ロである。Bypassはデータインデックス変換が発
生しないように設定される。
[Table 175] B. 2.2.4.1 "FLC read" In this mode, Ignore Errors, Dow
nload, Alutab, Token, First
Coeff and Special and VLC are all zero. Bypass is set so that data index conversion does not occur.

【1198】テーブル[3:0]の二進数は如何に多く
のビットを読むべきかを指示する。ナンバー0〜12は
合法的である。バリューゼロは(期待されたであろうよ
うに)実際にゼロビットを読み、従ってこの指令はハフ
マンデコーダNOP指令である。バリュー13、14、
15は作動せず、バリュー15はハフマンステートマシ
ーンが制御下にあり、読まれるべきFLCのビット数と
して”SSSS”の使用を表示する時に使用される。
The binary numbers in Table [3: 0] indicate how many bits should be read. Numbers 0-12 are legal. Value zero actually reads the zero bit (as would be expected), so this command is a Huffman Decoder NOP command. Value 13, 14,
Value 15 is used when the Huffman State Machine is under control and indicates the use of "SSSS" as the number of FLC bits to be read.

【1199】B.2.2.4.2 「VLC読出し」 このモードでは、Ignore Errors、Dow
nload、Alutab、Token、First
Coeff、and Specialがゼロであり、V
LCは1である。通常、Bypassはデータインデッ
クス変換が発生するように設定される。
[1199] B. 2.2.4.2 “VLC Read” In this mode, Ignore Errors, Dow
nload, Alutab, Token, First
Coeff, and Special are zero, and V
LC is 1. Normally, Bypass is set so that data index conversion occurs.

【1200】このモードでは、Token、First
Coefficient、及びSpecialは全て
ゼロであり、VLCは1である。
[1200] In this mode, Token, First
Coefficient and Special are all zero and VLC is one.

【1201】テーブル[3:0]の二進数は以下に示す
ように使用すべきテーブルを指示する。
The binary numbers in table [3: 0] indicate which table to use, as shown below.

【1202】[1202]

【表176】 RAMに保持されるテーブル(つまりJPEGテーブ
ル)の場合、ビット1は使用されず、テーブル選択が2
回発生することに注目。非ベースラインJPEGデコー
ダが作られる場合、4個のDCテーブルと4個のACテ
ーブルがあり、テーブル[1]が必要となる。
[Table 176] For tables held in RAM (ie JPEG tables), bit 1 is not used and table selection is 2
Note that it occurs twice. If a non-baseline JPEG decoder is created, there are 4 DC tables and 4 AC tables and table [1] is required.

【1203】テーブル[3]がゼロであれば、テーブル
がH.261スタイルのテーブルとして正しく読まれる
ために、入力データは使用される時に反転される。テー
ブル[3:0]=0の場合、適切なRing修正も適用
される。
[1203] If table [3] is zero, the table is H.264. In order to be read correctly as a 261-style table, the input data is inverted when used. If table [3: 0] = 0, the appropriate Ring modification is also applied.

【1204】B.2.2.4.3 「NOP指令」 前述したように、ゼロビットのFLCを読み出す動作が
No Operation指令として使用される。入力
ポートからは如何なるデータ(トークンまたはシリアル
のいずれ)も読み出されず、ハフマンデコーダは指令ワ
ードと共にゼロのデータ値を出力する。
[1204] B. 2.2.4.3 “NOP command” As described above, the operation of reading the zero-bit FLC is used as the No Operation command. No data (either token or serial) is read from the input port and the Huffman decoder outputs a data value of zero with the command word.

【1205】B.2.2.4.4 「TCoeffic
ient第1係数」 H.261及びMPEGのTCoefficientテ
ーブルはブロックの1番目の係数のために使用される特
別な非ハフマンコードを持つ。ブロック・スタートにお
いてTCoefficientをデコードするために、
First CoefficientビットがVLC指
令と共にテーブルゼロに設定されてもよい。First
Coefficientビットの多くの効果の1つは
このコードがデコードされることを可能にすることであ
る。
[1205] B. 2.2.4.4 “TCoeffic
ient first coefficient ”. 261 and the MPEG TCoefficient table have a special non-Huffman code used for the first coefficient of the block. To decode the TCoefficient at the block start,
The First Coefficient bit may be set to table zero with the VLC command. First
One of the many effects of the Coefficient bit is to allow this code to be decoded.

【1206】通常のオペレーションでは、TCoeff
icient VLCを読むために、「簡単な」コマン
ドを発することは異例であることに注目。これは通常S
pecial Bitを設定することにより、制御がハ
フマンデコーダに手渡されるからである。
[1206] In normal operation, TCoeff
Note that issuing a "simple" command to read the icient VLC is unusual. This is usually S
This is because the control is handed over to the Huffman decoder by setting the special Bit.

【1207】 B.2.2.4.5 「トークンワードの読出し」 トークンワードを読むために、Tokenビットは1に
設定すべきである。Special及びFirst C
oefficientビットはゼロであるべきである。
テーブル[0]ビットを正しく作用させる場合、VLC
ビットも設定されるべきである。
[1207] B. 2.2.4.5 "Read Token Word" To read the token word, the Token bit should be set to one. Special and First C
The efficient bit should be zero.
If the table [0] bit is operated correctly, VLC
Bits should also be set.

【1208】このモードでは、ビットテーブル[1]及
びテーブル[2]は以下のようにトークン読出し行為を
修正するために使用される:
[1208] In this mode, bittable [1] and table [2] are used to modify the token read action as follows:

【1209】[1209]

【表177】 テーブル[0]及びテーブル[1]がゼロであれば、ト
ークンの前のシリアルデータの存在はエラーであると考
えられ、そのような信号が発せられる。
[Table 177] If Table [0] and Table [1] are zero, the presence of serial data before the token is considered an error and such a signal is emitted.

【1210】テーブル[1]が設定された場合、全ての
シリアルデータはトークンワードに遭遇するまで捨てら
れる。このシリアルデータの存在故にエラーは発生しな
いであろう。
If table [1] is set, all serial data is discarded until a token word is encountered. No error will occur due to the presence of this serial data.

【1211】テーブル[0]が設定された場合、パディ
ングビットは捨てられるであろう。もちろん、パディン
グビットの極性を知ることが必要である。これはVLC
データの読出しのための場合と全く同様の方法でテーブ
ル[3]により決定される。テーブル[3]がゼロであ
るなら、入力データはまず反転され、それからどれかの
「1」ビットが捨てられる。テーブル[3]が1に設定
される場合、入力データは反転されず、「1」ビットが
捨てられる。テーブル[3]ビットに応じてデータを反
転するという動作はVLCビットでは条件付きであるの
で、このビットは1に設定されなければならない。パデ
ィングビットでないビットに遭遇する(つまり、H.2
61及びMPEGにおける「1」ビットである)場合、
誤差が報告される。
If table [0] is set, padding bits will be discarded. Of course, it is necessary to know the polarity of the padding bit. This is VLC
It is determined by table [3] in exactly the same way as for the reading of data. If table [3] is zero, the input data is first inverted and then any "1" bits are discarded. If table [3] is set to 1, the input data is not inverted and the "1" bit is discarded. This bit must be set to 1 because the operation of inverting the data depending on the table [3] bit is conditional on the VLC bit. Bits that are not padding bits are encountered (ie, H.2
61 and "1" bit in MPEG)
Errors are reported.

【1212】これらの指令では、1つのトークンワード
だけが読まれることに注目。拡張ビットの状態は無視さ
れ、このビットをテストし、それに従って行動すること
はデマルチプレクサの責任である。マルチプルワードを
読む指令も提供される - 特別指令に関するセクション
を参照せよ。
[1212] Note that with these commands, only one token word is read. The state of the extension bit is ignored and it is the demultiplexer's responsibility to test this bit and act accordingly. Directives for reading multiple words are also provided-see the section on special directives.

【1213】B.2.2.4.6 「ALUレジスタは
テーブルを指定する」 Alutabビットが設定されると、ALUレジスタフ
ァイル内のレジスタを使用して実際に使用されるテーブ
ルナンバーを決定することができる。VLCビットと共
にコマンドで供給されるテーブルナンバーはどのALU
レジスタが使用されるかを決定する:
[1213] B. 2.2.4.6 "ALU Register Specify Table" When the Alutab bit is set, the register in the ALU register file can be used to determine the table number actually used. Which ALU is the table number supplied with the command along with the VLC bit
Determine if a register is used:

【1214】[1214]

【表178】 固定長コードの場合、ベクトルをデコーディングするた
めに正しいビット数が読まれる。r sizeがゼロで
あれば、NOP指令が生じる。
[Table 178] For fixed length codes, the correct number of bits is read to decode the vector. If r size is zero, a NOP command occurs.

【1215】ハフマンコードの場合、発生するテーブル
ナンバーは1に設定されたテーブル[3]であり、結果
的に生じるナンバーはJPEGテーブルの1つを引用す
る。 B.2.2.4.7 「特別指令」 今まで説明してきた全ての指令(もしくはオペレーショ
ンモード)は「単純な」指令として考慮される。受け取
られる各コマンドのために、(シリアルデータもしくは
トークンデータのいずれであっても)適切な量の入力デ
ータが読まれ、結果として生じるデータが出力される。
誤差が検出されなければ、正確に1つの出力がコマンド
毎に発生するであろう。
For Huffman codes, the table number that occurs is Table [3] set to 1, and the resulting number refers to one of the JPEG tables. B. 2.2.4.7 "Special commands" All commands (or operation modes) described so far are considered as "simple" commands. For each command received, the appropriate amount of input data (whether serial or token data) is read and the resulting data is output.
Exactly one output will occur per command if no error is detected.

【1216】本発明では、特別指令は1つ以上の出力ワ
ードが1つのコマンドのために発生することができるこ
とに特徴がある。この機能を果たすために、ハフマンデ
コーダの内部ステートマシーンが制御を行い、パーザー
が要求した指令が完了したと決定するまで、必要に応じ
てそれ自身指令を出すであろう。
In the present invention, the special command is characterized in that one or more output words can be generated for one command. To perform this function, the internal state machine of the Huffman Decoder will take control and issue itself as needed until the parser determines that the command requested is complete.

【1217】全ての特別指令において、実行されること
になるシーケンスの最初の実際の指令は1に設定される
Specialビットで出される。これは全てのシーケ
ンスが独得の最初の指令を持たねばならないことを意味
する。この企ての利点は、パーザーから受け取るコマン
ドに基づいて要求されるルックアップオペレーションな
しに、シーケンスの最初の実際の指令が利用できること
である。
For all special commands, the first actual command in the sequence to be executed is issued with the Special bit set to one. This means that every sequence must have a unique first command. The advantage of this scheme is that the first actual command of the sequence is available without the required lookup operation based on the command received from the parser.

【1218】4つの認識される特別指令がある: ・TCoefficient ・JPEG DC ・JPEG AC ・Token 第1のものはブロック・エンド記号が読まれるまで、
H.261及びMPEG変換係数等を読む。ブロックが
非イントラブロックである場合、このコマンドは全ブロ
ックを読むであろう。この場合、First Coef
ficientビットは第1の係数トリックが適用され
るように設定されるべきである。ブロックがイントラブ
ロックであれば、DCタームが既に読まれているべきで
あり、First Coefficientビットはゼ
ロであるべきである。
There are four recognized special commands: TCoefficient, JPEG DC, JPEG AC, Token The first one, until the block end symbol is read.
H. 261 and MPEG conversion coefficients etc. are read. If the block is a non-intra block, this command will read the entire block. In this case, First Coef
The ficit bit should be set so that the first coefficient trick is applied. If the block is an intra block, the DC term should have already been read, and the First Coefficient bit should be zero.

【1219】H.261のイントラブロックの場合、D
CタームはFLC8ビットバリューを読むために「単純
な」指令を用いて読まれる。MPEGでは、下記におい
て説明するJPEG DCの特別指令が使用される。J
PEG DCコマンドは(VLCにより示されるFLC
のSSSSビットを含む)JPEGスタイルのDCター
ムを読むために使用される。First Coeffi
cientビットはデータユニットインデックス部にお
いて(係数の数をカウントする)カウンタがリセットさ
れるために設定されなければならない。JPEG AC
コマンドはDCタームの後、EOBに遭遇するか、もし
くは64番目の係数が読まれるまで、ブロックの残りを
読むために使用される。
[1219] In the case of the 261, intra block, D
The C-term is read using the "simple" command to read the FLC 8-bit value. In MPEG, the special command of JPEG DC described below is used. J
The PEG DC command is (FLC indicated by VLC
It is used to read JPEG style DC terms (including SSSS bits of. First Coeffi
The ciient bit must be set in the data unit index part in order for the counter (counting the number of coefficients) to be reset. JPEG AC
The command is used to read the rest of the block after the DC term until either EOB is encountered or the 64th coefficient is read.

【1220】Tokenコマンドは全トークンを読むた
めに使用される。トークンワードは拡張ビットが明白に
なるまで読まれる。それは未認識のトークンを処理する
便利な方法である。
[1220] The Token command is used to read all tokens. The token word is read until the extension bit is clear. It is a convenient way to handle unrecognized tokens.

【1221】 B.2.2.4.8 「ダウンロードテーブル」 本発明では、ハフマンデコーダテーブルはDownlo
adビットを用いてダウンロードすることができる。最
初のステップはダウンロードすべきテーブルを指名する
ことである。これはDownloadビットセットとF
irst Coeffビットセットで、FLCを読むた
めのコマンドを出すことによって行われる。これはNO
Pとして処理され、従って如何なるビットも実際には読
まれないが、テーブルナンバーはレジスタに記憶され、
次のダウンローディングにおいてどのテーブルがロード
されるかを特定するために使用される。
B. 2.2.4.8 “Download Table” In the present invention, the Huffman decoder table is Downlo
It can be downloaded using the ad bit. The first step is to nominate a table to download. This is the Download bit set and F
It is done by issuing a command to read the FLC with the irst Coeff bit set. This is NO
The table number is stored in a register, though it is treated as a P and thus no bits are actually read.
Used to specify which table will be loaded in the next download.

【1222】[1222]

【表179】 上記の表が示すように、ACもしくはDCテーブルのい
ずれかをロードすることができ、テーブル[3]はそれ
が(ハフマンデコーダ自体における)codes−pe
r−bitテーブルであるか、ロードされるデータイン
デックステーブルであるかを決定する。
[Table 179] As the table above shows, either an AC or a DC table can be loaded, and the table [3] will have it's codes-pe (in Huffman decoder itself).
Determine if it is an r-bit table or a loaded data index table.

【1223】テーブルが一旦指名されると、Downl
oadビットセット(及びFirst Coeffビッ
トゼロ)で、必要な数の(常に8ビットである)FLC
を読むためのコマンドを出すことにより、データはその
テーブルの中にダウンロードされる。これは符号化デー
タが指名されたテーブルの中に書き込まれるようにす
る。アドレスカウンタは維持され、データは現在のアド
レスに書き込まれ、次にアドレスカウンタが増加され
る。アドレスカウンタはテーブルが指名される時はいつ
でもゼロにリセットされる。
[1223] Once the table is nominated, Downl
FLAD with the required number of bits (always 8 bits) with the oad bit set (and the First Coeff bit zero)
The data is downloaded into the table by issuing the command to read. This causes the encoded data to be written into the named table. The address counter is maintained, data is written to the current address, then the address counter is incremented. The address counter is reset to zero whenever the table is named.

【1224】データインデックステーブルをダウンロー
ドする時は、データ及びアドレスが監視される。アドレ
スはハフマンインデックスナンバーである一方、そのア
ドレスにロードされるデータは最終的に解読される記号
であることに注目。この情報は関係のある記号のために
ハフマンインデックスナンバーを保持するレジスタを自
動的にロードするために使用される。従って、JPEG
ACテーブルにおいて、ZRLに対応するバリューを
持つデータが認識される時、現在のアドレスはテーブル
ナンバーによって指示されるように、レジスタCED
H KEY ZRL INDEX0またはCED H
KEY ZRL INDEX1に書き込まれる。
When downloading the data index table, the data and address are monitored. Note that while the address is a Huffman index number, the data loaded at that address is the final decoded symbol. This information is used to automatically load the register holding the Huffman index number for the symbol of interest. Therefore, JPEG
When data having a value corresponding to ZRL is recognized in the AC table, the current address is specified by the register CED as indicated by the table number.
H KEY ZRL INDEX 0 or CED H
Written to KEY ZRL INDEX1.

【1225】解読されたデータはそれが解読された1フ
ェイズ後に、codes−per−bitテーブルに書
き込まれるので、このフェイズ中にテーブルからデータ
を読むことはできない。従って、テーブルダウンロード
指令の後、直ちに出されるVLCを読もうとする指令は
失敗するであろう。実際のアプリケーションにおいて
(つまり、JPEGを行う時)、該かるシーケンスが発
生する理由はない。しかしながら、これを行うシミュレ
ーションテストを構築することは可能である。
The decrypted data is written to the codes-per-bit table one phase after it is decrypted, so it is not possible to read the data from the table during this phase. Therefore, immediately after the table download command, a command issued to read the VLC will fail. In an actual application (that is, when performing JPEG), there is no reason for such a sequence to occur. However, it is possible to build a simulation test that does this.

【1226】 B.2.2.5 「ハフマンステートマシーン」 本発明によるハフマンステートマシーンはある場合に内
部的に作られるハフマンデコーダコマンドを提供するた
めに作用する。内部ステートマシーンによって作られ得
る全てのコマンドはデマルチプレクサによりハフマンデ
コーダに提供され得る。
B. 2.2.5 "Huffman State Machine" The Huffman State Machine according to the present invention acts to provide the Huffman Decoder commands that are created internally in some cases. All commands that can be produced by the internal state machine can be provided to the Huffman decoder by the demultiplexer.

【1227】ステートマシーンの基本構造は次のようで
ある。コマンドがハフマンデコーダに出されると、それ
は一連の補助ラッチに記憶され、後に再使用することが
できる。更にコマンドはハフマンデコーダによって実行
され、ハフマンステートマシーンによって分析される。
コマンドが公知の指令シーケンスの最初のものであると
認識され、SPECIALビットが設定されると、ハフ
マンデコーダステートマシーンはパーザーステートマシ
ーンからハフマンデコーダの制御を引き継ぐ。この時点
で、ハフマンデコーダ用の指令には3つのソースがあ
る: 1)パーザーステートマシーン:このチョイスは特別指
令の完了時(例えば、EOBが解読された時)に行わ
れ、次のデマルチプレクサコマンドがアクセプトされ
る。
[1227] The basic structure of the state machine is as follows. When a command is issued to the Huffman Decoder, it is stored in a series of auxiliary latches for later reuse. In addition, the commands are executed by the Huffman Decoder and analyzed by the Huffman State Machine.
When the command is recognized as the first of a known command sequence and the SPECIAL bit is set, the Huffman Decoder State Machine takes over control of the Huffman Decoder from the Parser State Machine. At this point, the command for the Huffman Decoder has three sources: 1) Parser State Machine: This choice is made at the completion of the special command (eg, when the EOB is decoded) and the next demultiplexer command. Is accepted.

【1228】2)ハフマンステートマシーン。ハフマン
ステートマシーンは任意のコマンドを持つことができ
る。
[1228] 2) Huffman State Machine. The Huffman State Machine can have arbitrary commands.

【1229】3)パーザーステートマシーンによって、
指令をスタートするために出される原始指令。
[1229] 3) By the Parser State Machine,
A primitive command issued to start a command.

【1230】(2)の場合、テーブルナンバーはデータ
ユニットインデックス部からのフィードバックによって
提供されることが可能であり、これはハフマンステート
マシーンROM内のフィールドを取り替えるであろう。
In the case of (2), the table number can be provided by feedback from the data unit index section, which will replace the field in the Huffman State Machine ROM.

【1231】(1)の場合、ある場合には、テーブルナ
ンバーは(例えば、AC及びDCテーブルナンバー及び
F−ナンバーの場合)ALUレジスタファイルから得ら
れるバリューによって提供される。これらのバリューは
補助コマンド記憶装置に記憶され、そのコマンドが後に
再使用される時、テーブルナンバーは記憶されたもので
ある。カウンタは通常次のブロックを引用するために進
んでいるので、それはALUから再びリカバーされな
い。
In the case of (1), in some cases the table number is provided by the value obtained from the ALU register file (eg, for AC and DC table numbers and F-numbers). These values are stored in the auxiliary command storage and the table number is the one stored when the command is later reused. It is not recovered again from the ALU, since the counter is normally advanced to quote the next block.

【1232】使用される次の指令のチョイスは解読され
つつあるデータ次第であるので、決定はサイクルの最後
の方で行われることが必要である。従って、一般的な構
造は可能な指令の全てが並列に準備され、サイクル後半
のマルチプレクシングが実際の指令を決定するようにな
っている。
[1232] The decision needs to be made towards the end of the cycle, as the choice of the next command used depends on the data being decoded. Therefore, the general architecture is such that all possible commands are prepared in parallel, and the multiplexing in the second half of the cycle determines the actual commands.

【1233】各々の場合に、次のサイクルの中でハフマ
ンデコーダが使用するであろう指令を決定することに加
え、ステートマシーンROMも、現在のデータがデータ
ユニットインデックス部とそれからALUへと通過する
時に、現在のデータに付けられるであろう指令を決定す
ることに注目。全く同じ方法で、これら3つの指令全て
が並列に準備され、チョイスがサイクル後半で行われ
る。
In each case, in addition to determining the command that the Huffman Decoder will use in the next cycle, the state machine ROM also passes the current data to the data unit index part and then to the ALU. At times, focus on determining the commands that will be attached to the current data. In exactly the same way, all three of these commands are prepared in parallel and a choice is made later in the cycle.

【1234】ここでもやはり、上述のように次のハフマ
ンデコーダ指令のための3つのチョイスに対応する、指
令のこの部分のために3つのチョイスがある。
Once again, there are three choices for this part of the command, which correspond to the three choices for the next Huffman Decoder command as described above.

【1235】 1)ブロック・エンドにふさわしい一定の指令。[1235] 1) A fixed command suitable for the block end.

【1236】2)ハフマンステートマシーン。ハフマン
ステートマシーンはデータユニットインデックス部のた
めに任意の指令を提供することができる。
[1236] 2) Huffman State Machine. The Huffman State Machine can provide arbitrary instructions for the data unit index part.

【1237】3)指令をスタートするためにパーザーが
出す原始指令。
[1240] 3) A primitive command issued by the parser to start the command.

【1238】 B.2.2.5.1 「EOBコンパレータ」 EOBコンパレータの出力は本質的に定数指令のセレク
ションがデータユニットインデックス部に表示されるよ
うに強制し、次のハフマン指令がパーザーからの次の指
令であるようにさせるであろう。コンパレータの正確な
機能はハフマンステートマシーンROM内のビットによ
って制御される。
[1238] B. 2.2.5.1 "EOB Comparator" The output of the EOB comparator essentially forces a selection of constant commands to appear in the data unit index section, and the next Huffman command is the next command from the parser. Will let you do. The exact function of the comparator is controlled by the bits in the Huffman State Machine ROM.

【1239】EOBコンパレータの背後に、AC及びD
CのJPEGテーブルにEOB記号のインデックスを保
持する4個のレジスタがある。DCテーブルの場合、も
ちろんブロック・エンド記号はないが、ゼロサイズの記
号があり、それはDCゼロ差によって作られる。これは
EOB記号の場合と全く同様にFLCのゼロビットが読
まれるようにするので、それらは全く同様に処理され
る。
[1239] Behind the EOB comparator, AC and D
There are four registers in the C JPEG table that hold the EOB symbol index. In the case of a DC table, of course there is no block end symbol, but there is a zero sized symbol, which is created by the DC zero difference. This allows the zero bits of the FLC to be read exactly as in the EOB symbol, so they are treated exactly the same.

【1240】レジスタに保持される3つのインデックス
バリューに加えて、定数値1も使用できる。これはH.
261及びMPEGにおけるEOB記号のインデックス
ナンバーである。
[1240] In addition to the three index values held in the register, the constant value 1 can also be used. This is H.
261 and the index number of the EOB symbol in MPEG.

【1241】 B.2.2.5.2 「ZRLコンパレータ」 本発明では、これは汎用コンパレータである。それはハ
フマンステートマシーン指令もしくはI to Dによ
って使用されるためのオリジナル指令のいずれかを選択
させる。
B. 2.2.5.2 "ZRL Comparator" In the present invention, this is a general purpose comparator. It lets you choose either the Huffman State Machine command or the original command to be used by I to D.

【1242】ZRLコンパレータの背後に、4つのバリ
ューがある。2つはレジスタの中にあり、ZRLコード
のインデックスをACテーブルの中に保持する。他の2
つのバリューは定数であり、1つはバリューゼロであ
り、他の1つは12(MPEG及びH.261における
ESCAPEのインデックス)である。定数ゼロはFL
Cの場合に使用される。定数12はテーブルナンバーが
8より小さい時(及びVLC)はいつでも使用される。
2つのレジスタの1つはテーブルナンバーの低オーダー
ビットにより判断されて、テーブルナンバーが7より大
きい場合(及びVLC)に使用される。
There are four values behind the ZRL comparator. Two are in registers and hold the ZRL code index in the AC table. The other 2
One value is a constant, one is value zero, and the other one is 12 (ESCAPE index in MPEG and H.261). Constant zero is FL
Used for C. The constant 12 is used whenever the table number is less than 8 (and VLC).
One of the two registers is used if the table number is greater than 7 (and VLC), as determined by the low order bits of the table number.

【1243】ステートマシーンROM内のビットはコン
パレータを可能化するために提供され、また別のビット
がその動作を反転するために提供される。指令の中のT
OKENビットが設定された場合、コンパレータ出力は
無視され、拡張ビットによって置き換えられる。これは
トークンの終わりまで続けられる。
A bit in the State Machine ROM is provided to enable the comparator and another bit is provided to invert its operation. T in the command
If the OKEN bit is set, the comparator output is ignored and replaced by the extension bit. This continues until the end of the token.

【1244】B.2.2.5.3 「ハフマンステート
マシーンROM」 ハフマンステートマシーン内の指令フィールドは次の通
りである: nxtstate[4:0] 次のサイクルにおいて使用するアドレスである。このア
ドレスは修正することができる。 statect1 次のステートアドレスの修正を可能にする。ゼロであれ
ば、ステートマシーンアドレスは修正されず、そうでな
ければ、アドレスのLSBが次の2つのコンパレータの
いずれかのバリューで置き換えられる:
[1244] B. 2.2.5.3 "Huffman State Machine ROM" The command field in the Huffman State Machine is as follows: nxtstate [4: 0] The address to use in the next cycle. This address can be modified. statect1 Enables modification of the next state address. If zero, the state machine address is not modified, otherwise the LSB of the address is replaced with the value of one of the following two comparators:

【1245】[1245]

【表180】 注:いずれの場合にも、次のハフマン指令が「リラン原
始コマンド」として選択されると、ステートマシーンは
コマンドのために適切なものとしてロケーション0、
1、2または3にジャンプするであろう。 eobct[1:0] これは次のようなEOBコンパレータ及びextnビッ
トに基づいて次のハフマン指令のセレクションを制御す
る:
[Table 180] Note: In either case, if the next Huffman command is selected as the "Rerun Primitive Command", the state machine will select location 0, as appropriate for the command.
Will jump to 1, 2 or 3. eobct [1: 0] This controls the selection of the next Huffman command based on the EOB comparator and extn bits as follows:

【1246】[1246]

【表181】 zrlct[1:0] これはZRLコンパレータに基づいて次のハフマン指令
のセレクションを制御する。条件が合えば、ステートマ
シーン指令を取り、そうでなければ原始指令をリランす
る。いずれの場合にも、eobctl+条件がデマルチ
プレクサ指令を取れば、これ(eobctl+)は次の
ように優先権を持つ:
[Table 181] zrlct [1: 0] This controls the selection of the next Huffman command based on the ZRL comparator. If the conditions are met, take the state machine command, otherwise rerun the primitive command. In either case, if the eobctl + condition takes a demultiplexer command, then this (eobctl +) has priority as follows:

【1247】[1247]

【表182】 smtab[3:0] 本発明では、選択された指令がステートマシーン指令で
あれば、これはハフマンデコーダによって使用されるテ
ーブルナンバーである。しかしながら、ZRLコンパレ
ータマシーンであれば、zrltab[3:0]フィー
ルドが優先して使用される。
[Table 182] smtab [3: 0] In the present invention, if the selected command is a state machine command, this is the table number used by the Huffman Decoder. However, in the case of the ZRL comparator machine, the zrltab [3: 0] field is preferentially used.

【1248】ZRL適合が発生するか否かに応じて、別
のテーブルナンバーが使用される必要がない場合、sm
tab[3:0]及びzrltab[3:0]は同じバ
リューを持つであろう。しかしながら、これはLsim
において奇妙なシミュレーション問題を導く可能性があ
ることに注目。MPEGの場合、ZRLのためにハフマ
ンインデックスナンバーを指示するレジスタをロードす
る明らかな必要はない(JPEGのみの構成)。しかし
ながら、これらは今も選択され、ZRLコンパレータが
「未知」であるかもしれない(従ってどちらが選択され
ようと重大ではない)全ての場合に、smtab[3:
0]及びzrltab[3:0]は同じバリューを持つ
という事実にもかかわらず、ZRLコンパレータは「未
知」となり、次のステートも「未知」になるであろう。 zrltab[3:0] これは選択された指令がステートマシーン指令であれ
ば、ハフマンデコーダによって使用されるであろうテー
ブルナンバーである。しかしながら、ZRLコンパレー
タが適合すれば、zrltab[3:0]フィールドは
優先して使用される。
[1240] If a different table number does not need to be used depending on whether a ZRL match occurs, sm
tab [3: 0] and zrltab [3: 0] will have the same value. However, this is Lsim
Note that can lead to strange simulation problems in. In the case of MPEG, there is no explicit need to load the register indicating the Huffman index number for ZRL (JPEG only configuration). However, these are still selected, and in all cases where the ZRL comparator may be "unknown" (thus it does not matter which one is selected) smtab [3:
0] and zrltab [3: 0] have the same value, the ZRL comparator will be "unknown" and the next state will also be "unknown". zrltab [3: 0] This is the table number that will be used by the Huffman Decoder if the selected instruction is a state machine instruction. However, if the ZRL comparator is matched, the zrltab [3: 0] fields are used in preference.

【1249】ZRL適合が発生するか否かに応じて、別
のテーブルナンバーが使用される必要がない場合、sm
tab[3:0]及びzrltab[3:0]は同じバ
リューを持つであろう。しかしながら、これはLsim
において奇妙なシミュレーション問題を導く可能性があ
ることに注目。MPEGの場合、ZRLのためにハフマ
ンインデックスナンバーを指示するレジスタをロードす
る明らかな必要はない(JPEGのみの構成)。しかし
ながら、これらは今も選択され、ZRLコンパレータが
「未知」であるかもしれない(従ってどちらが選択され
ようと重大ではない)全ての場合に、smtab[3:
0]及びzrltab[3:0]は同じバリューを持つ
という事実にもかかわらず、ZRLコンパレータは「未
知」となり、次のステートも「未知」になるであろう。 zrltab[3:0] これは選択された指令がステートマシーン指令であれ
ば、ハフマンデコーダによって使用されるであろうテー
ブルナンバーであり、ZRLコンパレータが適合する。 smvlc これは選択された指令がステートマシーン指令であれ
ば、ハフマンデコーダによって使用されるVLCビット
である。 aluzrl[1:0] このフィールドはALUに送られる指令のセレクション
を制御する。それは(指令シーケンスのスタートで記憶
された)パーザーステートマシーンからのコマンドであ
っても、あるいはステートマシーンからのコマンドであ
ってもよい:
[1240] If a different table number does not need to be used depending on whether a ZRL match occurs, sm
tab [3: 0] and zrltab [3: 0] will have the same value. However, this is Lsim
Note that can lead to strange simulation problems in. In the case of MPEG, there is no explicit need to load the register indicating the Huffman index number for ZRL (JPEG only configuration). However, these are still selected, and in all cases where the ZRL comparator may be "unknown" (thus it does not matter which one is selected) smtab [3:
0] and zrltab [3: 0] have the same value, the ZRL comparator will be "unknown" and the next state will also be "unknown". zrltab [3: 0] This is the table number that will be used by the Huffman Decoder if the selected instruction is a state machine instruction, to which the ZRL comparator fits. smvlc This is the VLC bit used by the Huffman Decoder if the selected command is a state machine command. aluzrl [1: 0] This field controls the selection of commands sent to the ALU. It can be a command from the parser state machine (stored at the start of the command sequence) or a command from the state machine:

【1250】[1250]

【表183】 alueob この配線はEOBコンパレータに基づいてALUに送ら
れる指令の修正を制御する。これは単にALU出力モー
ドをzinputに強制する。これは任意のチョイスで
ある;noneから離れた出力モードであれば何でも良
い。これはブロック・エンドコマンドワードがトークン
フォーマッティング部に送られ、そこでそれはデータト
ークンの適切なフォーマッティングを制御する:
[Table 183] blueob This wire controls the modification of commands sent to the ALU based on the EOB comparator. This simply forces the ALU output mode to zinput. This is an arbitrary choice; any output mode away from none can be used. It sends a block end command word to the token formatting section, where it controls the proper formatting of the data tokens:

【1251】[1251]

【表184】 残りのフィールドはALU指令フィールドである。これ
らはALUの説明において適切に文書化される。
[Table 184] The remaining fields are ALU command fields. These are properly documented in the ALU description.

【1252】B.2.2.5.4 「ハフマンステート
マシーンの修正」 ステートマシーンの1つの態様では、データユニットイ
ンデックス部は、エスケープコード化されたTcoef
ficientのRUN部分がいつデータユニットイン
デックス部に送られるかを「知る」必要がある。これは
制御ROM内の適切なビットを用いて達成できる一方、
ROMの変更を避けるため、別のアプローチが使用され
てきた。この点に関して、ROMに入るアドレスは監視
され、アドレスバリュー5が検出される。これはRUN
フィールドを処理するROMにおいて指名される適切な
場所である。もちろん、他の被選択アドレスバリューを
使用するようにROMをプログラムしようと思えばでき
たことは自明であろう。更に、制御ROMのビットを使
用する前述のアプローチも利用できたであろう。
[1252] B. 2.2.5.4 "Modification of Huffman State Machine" In one aspect of the state machine, the data unit index portion is an escape coded Tcoef.
It is necessary to "know" when the RUN part of the ficent is sent to the data unit index part. While this can be achieved with the appropriate bits in the control ROM,
Another approach has been used to avoid modifying the ROM. In this regard, the address entering the ROM is monitored and the address value 5 is detected. This is RUN
It is the appropriate place to be named in the ROM processing field. Of course, it would be obvious if one wanted to program the ROM to use another selected address value. In addition, the previously described approach of using bits of control ROM could have been utilized.

【1253】B.2.2.6 「概略ガイドツアー」 本発明では、ハフマンデコーダはhdと呼ばれ、hdは
実際にデータユニットインデックス部を含む(これは編
集されたコード生成の制限により必要とされる)。従っ
て、hdは次の主要ブロックを含む;
[1253] B. 2.2.6 "Overview Guided Tour" In the present invention, the Huffman Decoder is called hd, which actually contains the data unit index part (which is required due to the limitation of edited code generation). Therefore hd contains the following major blocks;

【1254】[1254]

【表185】 ハフマンモジュールの以下の説明は、当業者であれば容
易に理解できる、図面の詳細な部分において示した様々
なサブシステムエリアの全体的な説明により行われる。
[Table 185] The following description of the Huffman module is provided by a general description of the various subsystem areas shown in the detailed portion of the drawing, which will be readily apparent to one of ordinary skill in the art.

【1255】B.2.2.6.1 「“hd”の説明」 2線式インターフェース制御用のロジックは通常2線式
インターフェースにより制御される3ポート:データ入
力、データ出力、及びコマンドを含む。それに加えて、
入力シフタからの2つの「有効な」線がある:トークン
がin data[7:0]に表示されることを指示す
るtoken validと、データがシリアル上に表
示されることを指示するserial validであ
る。
[1255] B. 2.2.6.1 “Explanation of“ hd ”” The logic for controlling the two-wire interface includes three ports normally controlled by the two-wire interface: data input, data output, and command. In addition to it,
There are two "valid" lines from the input shifter: token valid, which indicates that the token should be displayed in data [7: 0], and serial valid, which indicates that the data should be displayed on serial. is there.

【1256】発生される最も重要な信号はラッチに行く
イネーブルである。最も重要なものはph1ラッチに対
するイネーブルであるe1である。ph0ラッチの多く
は可能化されないが、2つのイネーブルがこれらのため
に提供され、それらはシリアルデータと関連するe0と
トークンデータと関連するe0tである。
The most significant signal generated is the enable going to the latch. The most important is e1 which is the enable for the ph1 latch. Many of the ph0 latches are not enabled, but two enables are provided for them, e0 associated with serial data and e0t associated with token data.

【1257】本発明では、done信号(done、n
otdone、及びそれらのph0バリアントのdon
e0とnotdone0)は、原始ハフマンコマンドが
完了する時を指示する。ハフマンステートマシーンコマ
ンドが実行される場合、doneは全ステートマシーン
コマンドを含む各原始コマンドの完了時に認定されるで
あろう。信号notnewは、全ハフマンステートマシ
ーンコマンドが完了するまで、パーザーステートマシー
ンからの新しいコマンドのアクセプタンスを防止する。
In the present invention, the done signal (done, n
otdone, and don of ph0 variants thereof
e0 and notdone0) indicate when the primitive Huffman command is complete. If a Huffman state machine command is executed, the done will be qualified at the completion of each source command, including all state machine commands. The signal notnew prevents the acceptance of new commands from the parser state machine until all Huffman state machine commands have been completed.

【1258】データユニットインデックス部から受け取
る情報の制御に関して、sizeフィールド用の制御ロ
ジックはJPEG係数デコーディング中にハフマンデコ
ーダに送り返される。これは実際には2つの方法で起こ
る。サイズが正確に1であれば、これは専用信号not
fbone0に送り返される。そうでなければ、データ
ユニットインデックス部の出力から送り返される。(o
ut data[3:0]及び信号fbvalid1は
これが発生するのを指示する。フェッドバックデータの
コマンドレジスタ(シート10)へのマルチプレクシン
グを制御するために信号muxsizeが生み出され
る。) それに加えて、正確に64の係数がデコードされたフィ
ードバックがある。JPEGにおいてEOBはこの場合
にコード化されないので、信号forceeobが作ら
れる。類似により、上述したように、フィードバックサ
イズ用の信号と共に、これが実施されるには実際2つの
方法がある。通常のフィードバックが行われる(jpe
geob)場合、データがフィードバックされるにつれ
て、ラッチi−971だけがロードされ、新しいパーザ
ーステートマシーンコマンドがアクセプトされるまでク
リアされない。信号forceeobはハフマンコード
がデコードされるまで実際に作られない。このように、
固定長コード(つまり、サイズビット)は影響を受けな
いが、次のハフマンコード化情報は強制されたブロック
・エンドにより置き換えられる。サイズが1であり、j
pegeob0が使用された場合、1ビットだけが読み
出されるので、i−1255とi−1256は正確な時
間まで信号を遅らせる。注目すべきことは、ゼロサイズ
を持つ唯一の記号はEOBとZRLであるので、この状
況においてゼロサイズが発生することが不可能であると
いうことである。
[1258] Regarding control of the information received from the data unit index part, the control logic for the size field is sent back to the Huffman decoder during JPEG coefficient decoding. This actually happens in two ways. If the size is exactly 1, this is the dedicated signal not
It is sent back to fbone0. Otherwise, it is sent back from the output of the data unit index section. (O
ut_data [3: 0] and signal fbvalid1 indicate that this should occur. The signal muxsize is generated to control the multiplexing of the fedback data into the command register (sheet 10). In addition, there is feedback with exactly 64 coefficients decoded. In JPEG the EOB is not coded in this case, so the signal forceeob is produced. By analogy, as mentioned above, there are actually two ways this can be implemented, with a signal for the feedback size. Normal feedback is given (jpe
geob), as the data is fed back, only latch i-971 is loaded and not cleared until a new Parser State Machine command is accepted. The signal forceeob is not actually produced until the Huffman code is decoded. in this way,
Fixed length codes (ie size bits) are not affected, but the following Huffman coded information is replaced by the forced block end. Size is 1, j
If pegob0 is used, only one bit is read, so i-1255 and i-1256 delay the signal until the correct time. Note that it is impossible for zero size to occur in this situation, since the only symbols with zero size are EOB and ZRL.

【1259】デコーディングはtcoeff tab0
(Tcoeffテーブルを用いるハフマンデコーディン
グ)、mba tab0(MBAテーブルを用いるハフ
マンデコーディング)、及びnop(ノーオペレーショ
ン)を作るためのコマンドのかなりランダムなデコーデ
ィングである。nopを発生させるにはいくつかの理由
がある。サイズゼロの固定長コードはその一つであり、
forceeob信号もその一つであり(EOBを合図
するために出力が作られても、入力シフタから如何なる
データも読み出されるべきではないので)、最後にテー
ブルダウンロード指名が第三の理由である。
[1259] Decoding is tcoeff tab0
(Huffman decoding with Tcoeff table), mba tab0 (Huffman decoding with MBA table), and fairly random decoding of commands to make nop (no operation). There are several reasons to generate a nop. A fixed length code of size zero is one of them,
The forceeob signal is one of them (since no output should be read from the input shifter even if the output is made to signal EOB), and finally the table download nomination is the third reason.

【1260】(サイズゼロのFLC、NOPにより作ら
れる)notfrczeroは、NOP指令が使用され
る時に、その結果がゼロであることを保証する。更に、
invertはハフマンデコーディングの前にシリアル
ビットが反転されるべきである時を指示する(セクショ
ン B.2.2.1.1を参照)。ringは変換係数
ringが適用されるべき時を指示する(セクション
B.2.2.1.2を参照)。
Notfreckero (made by zero size FLC, NOP) ensures that the result is zero when the NOP command is used. Furthermore,
Invert indicates when the serial bit should be inverted before Huffman decoding (see Section B.2.2.1.1). ring indicates when the transform coefficient ring should be applied (see section B.2.2.1.2).

【1261】デコーディングは更にcodes−per
−bit ROMのアドレスに関して達成される。これ
らは小さなデータパスROMから構築される。信号は二
重(例えば、cshaとcsla)にされる。アドレス
は選択されるブロックへのUPIアクセスに応じて、ビ
ットカウンタ(bit[3:0])もしくはマイクロプ
ロセッサインターフェースアドレス(key addr
[3:0])から取ることができる。
[1261] Decoding is further performed in codes-per.
Achieved with respect to the address of the bit ROM. These are built from a small datapath ROM. The signal is duplicated (eg, csha and csla). The address is a bit counter (bit [3: 0]) or a microprocessor interface address (key addr) depending on the UPI access to the selected block.
[3: 0]).

【1262】追加デコーディングはJPEGテーブル
(EOB、ZRL等)用のハフマンインデックスバリュ
ーを保持するもののようなレジスタのUPI読み出しに
関する。更に含まれるのは、これらのレジスタ及びco
des−per−bit RAMのUPI読み出し用の
トライステートドライバー制御である。
[1264] Additional decoding relates to UPI reading of registers such as those holding Huffman index values for JPEG tables (EOB, ZRL, etc.). Further included are these registers and co
It is a tri-state driver control for reading UPI of des-per-bit RAM.

【1263】演算データパスデコーディングも特定の重
要なビット数のために提供される。first bit
はTcoeffの第1の係数トリックに関連して使用さ
れ、bit fiveはTcoeffテーブルの中にリ
ングを適用することに関係する。EOBコンパレータが
デコードされたインデックスバリューに適合する動作を
シミュレートするためのforceeobの使用に注
目。
[1263] Arithmetic data path decoding is also provided for certain significant number of bits. first bit
Is used in connection with Tcoeff's first coefficient trick, and bit five relates to applying a ring in the Tcoeff table. Note the use of forceeob to simulate the behavior of the EOB comparator matching the decoded index value.

【1264】extnビットに関して、トークンが入力
シフタから読まれる場合、関連extnビットはそれと
共に読まれる。そうでなければ、extnの最後のバリ
ューは保存される。これはトークンが読まれた後いつで
も、マイクロコードプログラムによるextnビットの
テストを可能にする。
For the extn bit, if the token is read from the input shifter, the associated extn bit is read with it. Otherwise, the last value of extn is saved. This allows the extn bit to be tested by the microcode program any time after the token has been read.

【1265】zerodatが認定される時、ハフマン
出力データの上位4ビットがゼロになるように強いられ
る。これらは固定長コードをデコーディングする時に有
効なバリューを持つだけなので、それらはVLC、トー
クンをデコーディングする時、あるいはNOP指令が何
等かの理由で実施される時はゼロにされる。
[1265] When zerodat is recognized, the upper 4 bits of the Huffman output data are forced to be zero. Since they only have valid values when decoding fixed length codes, they are zeroed when decoding VLC, tokens, or when the NOP command is implemented for any reason.

【1266】更に、回路は各コマンドが完了する時を検
出し、done信号を発する。本質的に、doneであ
る理由には2つのグループがある;通常の理由と、例外
的な理由である。これらは各々2つの三路マルチプレク
サの1つによって処理される。
[1266] In addition, the circuit detects when each command is complete and issues a done signal. There are essentially two groups of reasons for being done; normal and exceptional. These are each processed by one of two three-way multiplexers.

【1267】下位マルチプレクサ(i−1275)が通
常の理由を処理する。FLCの場合、信号ndnflc
が使用される。これはビットカウンタをテーブルナンバ
ーと比較するコンパレータの出力である。VLCの場
合、信号ndnvlcが使用される。これは演算データ
パスからの出力であり、式9を直接的に反映する。NO
P指令またはトークンの場合、1つのサイクルだけが必
要であり、従って、システムは無条件にdoneであ
る。
The Lower Mux (i-1275) handles normal reasons. For FLC, the signal ndnflc
Is used. This is the output of the comparator that compares the bit counter with the table number. For VLC, the signal ndnvlc is used. This is the output from the arithmetic data path and directly reflects Equation 9. NO
For P commands or tokens, only one cycle is needed, so the system is unconditionally done.

【1268】本発明では、上位マルチプレクサ(i−1
274)が例外的な場合を処理する。JPEGデコーデ
ィングにおいてデコーダがサイズのフィードバックを期
待している(fbexpctd0)場合、1つだけのビ
ットが必要なのでデコーダはdoneである。デコーダ
がTcoeffテーブルを用いて最初の係数の第1ビッ
トを処理している場合、現在のインデックスのビットゼ
ロがゼロである場合、それはdoneである(セクショ
ンB.2.2.1.2を参照)。これらの条件のいずれ
も満たされない場合、doneであるための例外的な理
由はない。
In the present invention, the upper multiplexer (i-1
274) handles the exceptional case. If the decoder is expecting size feedback in JPEG decoding (fbexpctd0), the decoder is done because only one bit is needed. If the decoder is processing the first bit of the first coefficient using the Tcoeff table, it is a done if bit zero of the current index is zero (see section B.2.2.1.2). . If neither of these conditions are met, there is no exceptional reason to be a done.

【1269】NORゲート(i−1293)は最終的に
done状態を変形させる。i−570(つまり、デー
タが有効ではない)により生じる状態がdoneを強い
る。これは少しおかしく思われるかもしれない。それは
基本的に、第1のコマンドの(doneが全てのカウン
タ、レジスタ等をリセットする)ための準備のために、
マシーンをdone状態にならせるためにリセット後使
用される。
The NOR gate (i-1293) finally transforms the done state. The condition caused by i-570 (ie the data is not valid) forces the done. This may seem a little strange. It is basically in preparation for the first command (done resets all counters, registers, etc.)
Used after reset to bring machine to done state.

【1270】信号notdonexは誤差を検出する際
に必要である。誤差を検出すれば、doneがとにかく
強いられるので、通常のdone信号は使用できない。
doneの使用は結合フィードバックループを与えるで
あろう。
The signal notdonex is necessary for detecting an error. If an error is detected, the normal done signal cannot be used because the done is forced anyway.
The use of done will provide a combined feedback loop.

【1271】誤差検出及び処理は可能性のある全ての誤
差状態を検出する回路によって行われる。これらはi−
1190において共に0Redである。この場合、i−
1193、i−585及びi−584は3ビットのハフ
マン誤差レジスタを構成する。「実際の」誤差がない場
合に誤差を不能化するi−1253及びi−1254に
注目(セクション B.2.2.3を参照)。
Error detection and processing is performed by the circuit which detects all possible error conditions. These are i-
At 1190, both are 0 Red. In this case i-
1193, i-585 and i-584 form a 3-bit Huffman error register. Note i-1253 and i-1254, which disable the error if there is no "real" error (see Section B.2.2.3).

【1272】それに加えて、i−580及びi−579
は関連する回路と共に、誤差検出後最初のコマンドのア
クセプタンスを制御する単純なステートマシーンを提供
する。
[1272] In addition, i-580 and i-579
Provides a simple state machine with associated circuitry to control the acceptance of the first command after error detection.

【1273】前述したように、制御信号はデータユニッ
トインデックス部及びALUにおいてパイプライン遅延
に合わせるため遅延される。
As described above, the control signal is delayed in the data unit index section and the ALU to match the pipeline delay.

【1274】Iotd bypassはデータユニット
インデックス部に送られる実際のバイパス信号である。
それは固定長コードがデコードされる時はいつでも、ハ
フマンステートマシーンがバイパスしなければならない
ように制御される時に修正される。
[1274] Iotd bypass is the actual bypass signal sent to the data unit index section.
It is modified when the Huffman state machine is controlled to have to bypass whenever a fixed length code is decoded.

【1275】Aluinstr[32]はALUがパー
ザーステートマシーンに(コンディションコードを)フ
ィードバックするようにさせるビットである。更に、ハ
フマンステートマシーンが制御されている時、信号は
(原始コマンドの1つが完了する都度為されるよりもむ
しろ)一度だけ認定されることが重要である。
[1275] Aluinstr [32] is a bit that causes the ALU to feed back (condition code) to the parser state machine. Furthermore, when the Huffman State Machine is controlled, it is important that the signal be recognized only once (rather than each time one of the primitive commands is completed).

【1276】Aluinstr[36]は(他のALU
指令ビットが増分を明記する場合)ALUがブロックカ
ウンタのステップを踏むようにさせるビットである。こ
れも一度だけ認定されなければならない。
[1276] Aluinstr [36] is (other ALU
This is the bit that causes the ALU to step through the block counter (if the command bit specifies an increment). This too has to be certified only once.

【1277】それに加えて、これらのビットはトークン
変換にデータを出力するALU指令のためにのみ認定さ
れねばならない。そうでなければ、カウンタはトークン
変換への最初の出力前に増分され、データトークンにお
いてccという不正確なバリューを生じるかもしれな
い。
In addition, these bits must be qualified only for ALU commands that output data for token conversion. Otherwise, the counter may be incremented before the first output to token conversion, resulting in an incorrect value of cc in the data token.

【1278】本発明の図示した態様では、ALUがトー
クンフォーマッティング部に出力される場合、alun
ode[1]もしくはalunode[0]のいずれか
が低くなるであろう。
In the illustrated aspect of the invention, if the ALU is output to the token formatting unit, arun
Either ode [1] or alunode [0] will be low.

【1279】図127はhdstdpと称されるハフマ
ンステートマシーンデータパスを示す。更にハフマンス
テートマシーンROMの出力を読むためのUPIデコー
ドがある。
[1279] FIG. 127 shows the Huffman State Machine data path called hdstdp. In addition there is UPI decoding to read the output of the Huffman State Machine ROM.

【1280】ロケーションの場合に処理するためマルチ
プレクシングが提供される(セクションB2.2.4.
6を参照)。
[1280] Multiplexing is provided to handle the case of location (Section B 2.2.4.
See 6).

【1281】aluinstr[3:2]の修正はAL
Uoutsrc指令フィールドをnon−noneに強
いる処理をする(セクションB.2.2.5.3、al
ueobの説明を参照)。
[1281] ALuinstr [3: 2] is modified by AL
Process the Uoutsrc command field to non-none (section B.2.2.5.3, al).
See description of ueob).

【1282】ハフマンデコーダブロック(x)のための
コマンドレジスタに関して、コマンドの各ビットはコマ
ンドの可能なソース間の選択をする関連マルチプレクサ
を有する。4つの制御信号はこのセレクションを制御す
る:Selholdはレジスタに現在のステートを保持
するようにさせる。
As for the command register for the Huffman Decoder block (x), each bit of the command has an associated multiplexer that selects between the possible sources of the command. Four control signals control this selection: Selhold causes the register to hold the current state.

【1283】Selnewはパーザーステートマシーン
から新しいコマンドをロードさせる。これは更に後の使
用のために、元のパーザーステートマシーンのコマンド
を保持するレジスタのローディングをも可能にする。
[1283] Selnew loads a new command from the Parser State Machine. This also allows loading of registers holding the original Parser State Machine commands for later use.

【1284】Seloldは元のパーザーステートマシ
ーンのコマンドを保持するレジスタからコマンドのロー
ディングを起こさせる。
[1284] Seold causes command loading from the register holding the command of the original parser state machine.

【1285】/selsmはハフマンステートマシーン
ROMからのコマンドのローディングを起こさせる。
[1283] / selsm causes the loading of commands from the Huffman State Machine ROM.

【1286】テーブルナンバーの場合、テーブルナンバ
ーがデータユニットインデックス部の出力データからも
ロードされるので、状況はそれより少し複雑である(s
elholdt及びmuxsize)。
In the case of the table number, the situation is a little more complicated because the table number is also loaded from the output data of the data unit index part (s
elholdt and muxsize).

【1287】ラッチはハフマンステートマシーンROM
の中に現在のアドレスを保持する。ロジックは可能な4
つのコマンドのどれが実行されているかを検出する。こ
れらの信号は新しいコマンドの場合スタートアドレスの
下位2ビットを形成するために組み合わされる。
[1287] Latch is Huffman State Machine ROM
Keep the current address in. Logic is possible 4
Detect which of the two commands is being executed. These signals are combined in the case of a new command to form the lower 2 bits of the start address.

【1288】ロジックは更にステートマシーンROMの
出力が無意味である(通常はコマンドが「単純な」コマ
ンドであるため)時を検出する。信号notignor
eromはステートマシーンのオペレーションを効果的
に不能化し、特にALUに送られる指令の修正を不能化
する。
[1288] The logic also detects when the output of the state machine ROM is meaningless (usually because the command is a "simple" command). Signal notsignor
Erom effectively disables the operation of the state machine, and in particular disables modification of commands sent to the ALU.

【1289】fixstate0を生じさせる回路はこ
のステートマシーンの制限されたジャンピング能力を制
御する。
The circuit that produces fixstate0 controls the limited jumping capability of this state machine.

【1290】デコーディングは更にハフマンステートマ
シーンROMへと信号を追いやるために提供される。こ
れはデータパススタイルの結合ROMである。
Decoding is also provided to drive the signal to the Huffman State Machine ROM. This is a data path style combined ROM.

【1291】escape runの発生はセクション
B2.2.5.4において説明される。
[1289] The occurrence of escape run is described in Section B2.2.5.4.

【1292】更に、デコーディングはZRLやEOB等
の記号のためにハフマンインデックスナンバーを保持す
るレジスタの準備をする。これらのレジスタはUPIま
たはデータパスからロードすることができる。cent
er(es[4:0]及びzs[3:0]におけるデコ
ーディングはデコードハフマンインデックスと比較する
ためにどのレジスタまたは一定バリューかを選択するマ
ルチプレクサのためにセレクト信号を発生させている。
[1292] Further, the decoding prepares the register holding the Huffman index number for the symbols such as ZRL and EOB. These registers can be loaded from the UPI or datapath. cent
The decoding at er (es [4: 0] and zs [3: 0] produces a select signal for the multiplexer which selects which register or constant value to compare with the decode Huffman index.

【1293】ハフマンステートマシーン用の制御ロジッ
クに関して。ここでは、ハフマンステートマシーンRO
Mからの「指令」ビットは、次に何をすべきか、またA
LU用の指令ワードを如何に修正するかを決定するた
め、様々な条件と組み合わされる。
[1293] Regarding control logic for the Huffman State Machine. Here, Huffman State Machine RO
The "command" bit from M tells what to do next, and A
Various conditions are combined to determine how to modify the command word for the LU.

【1294】本発明では、信号notnew及びnot
oldはハフマンデコーダコマンドレジスタのオペレー
ションを制御するため、シート10上で使用される。そ
れらはここではハフマンインデックスコンパレータ(n
eobmatch及びnzrlmatch)と共に、ス
テートマシーンROM(セクション B.2.2.5.
3において説明される)の中の制御ビットから明らかな
方法で作られる。
[1294] In the present invention, the signals notnew and not
old is used on sheet 10 to control the operation of the Huffman Decoder Command Register. They are the Huffman index comparators (n
eobmatch and nzrlmatch) together with the state machine ROM (section B.2.2.5.
(Explained in Section 3) in an obvious way.

【1295】更に、ALUに送られる指令用のソースの
セレクションが行われる。実際のマルチプレクシングは
ハフマンステートマシーンデータパスhfstdpにお
いて行われる。4つの制御信号が発生される。
[1295] Further, the source selection for the command sent to the ALU is performed. The actual multiplexing is done in the Huffman State Machine data path hfstdp. Four control signals are generated.

【1296】ブロック・エンドに遭遇しなかった場合、
aluseldmx(パーザーステートマシーン指令を
選択する)もしくはaluselsm(ハフマンステー
トマシーン指令を選択する)のいずれか1つが作られる
であろう。それに加えて、ALU指令のoutsrcフ
ィールドがそれをzinputに押しやるために修正さ
れる。
[1296] If you did not encounter the block end,
Either one of aluseldmx (which selects the Parser state machine command) or aluselsm (which selects the Huffman state machine command) will be made. In addition, the outsrc field of the ALU command is modified to push it into zinput.

【1297】レジスタはテーブルダウンロード中に指名
されたテーブルナンバーを保持する。デコーディングは
codes−per−bit RAMのために提供され
る。追加デコーディングは、ハフマンインデックスナン
バーレジスタが自動的にロードされるように、EOM及
びZRL等の記号がダウンロードされる時を認識する。
[1297] The register holds the designated table number during the table download. Decoding is provided for the codes-per-bit RAM. Additional decoding recognizes when symbols such as EOM and ZRL are downloaded so that the Huffman index number register is automatically loaded.

【1298】ビットカウンタに関して、コンパレータは
FLCを読む時に、いつ正しい数のビットが読まれてい
るかを検出する。 B.2.2.6.2 「“hddp”の説明」 コンパレータはハフマンインデックスの特別なバリュー
を検出する。レジスタはダウンロード可能なテーブル用
のバリューを保持する。マルチプレクサ(meob
[7:0]及びmzr[7:0])は使用すべきバリュ
ーを選択し、exclusive−orゲート及びゲー
ティングがコンパレータを構成する。
As for the bit counter, the comparator detects when the correct number of bits are being read when reading the FLC. B. 2.2.6.2 “Explanation of“ hddp ”” The comparator detects the special value of the Huffman index. The register holds the value for the downloadable table. Multiplexer (meob)
[7: 0] and mzr [7: 0]) select the value to be used, and the exclusive-or gate and gating constitute a comparator.

【1299】アダー及びレジスタはセクション B.
2.2.1において説明した式を直接評価する。更なる
説明はここでは不要であると考えられる。排他的論理和
はセクションB.2.2.1.1において説明したデー
タ(i−807)を反転するために使用される。
[1299] Adders and registers are in Section B.
The expression described in 2.2.1 is directly evaluated. No further explanation is considered necessary here. The exclusive OR is described in Section B. It is used to invert the data (i-807) described in 2.2.1.1.

【1300】codeレジスタは12ビット幅である。
マルチプレクシングアレンジメントはセクションB.
2.2.1.2において説明したring置換を履行す
る。
[1300] The code register is 12 bits wide.
Multiplexing arrangements are described in Section B.
Implement the ring permutation described in 2.2.1.2.

【1301】データ用のパイプライン遅延及びデコード
化シリアルデータ(index[7:0])とトークン
データ(ntoken0[7:0])間のマルチプレク
シングに関して、ハフマンインデックスバリューはZR
L及びEOB記号の中で決定される。
[1301] Regarding pipeline delay for data and decoding between serial data (index [7: 0]) and token data (ntken0 [7: 0]), the Huffman index value is ZR.
It is determined within the L and EOB symbols.

【1302】Codes−per−bit ROM及び
それらのマルチプレクシングは使用すべきテーブルを決
定するために使用される。テーブルセレクト情報が遅れ
て到着するので、このアレンジメントが使用される。そ
の後全てのテーブルがアクセスされ、正しいテーブルが
選択される。
[1302] Codes-per-bit ROMs and their multiplexing are used to determine the tables to use. This arrangement is used because the table select information arrives late. Then all tables are accessed and the correct table is selected.

【1303】Codes−per−bit RAMに関
して、codes−per−bitROMの最終マルチ
プレクシング及びcodes−per−bit RAM
の出力はブロックhdcpbramの内部で起こる。
[1303] Regarding Codes-per-bit RAM, final multiplexing of code-per-bit ROM and code-per-bit RAM
The output of the occurs inside the block hdcpbram.

【1304】 B.2.2.6.3 「“hdstdp”の説明」 本発明において、Hdstdpは2つのモジュールから
成る。hdstdelは適切なパイプラインステージま
で、例えば、それらがALU及びトークン変換に供給さ
れる時まで、パーザーステートマシーン制御ビットを遅
らせることに関係がある。それはALUに送られる指令
ワードの約半分だけを処理し、残りは他のモジュールh
dstmodにより処理される。
[1304] B. 2.2.6.3 “Explanation of“ hdstdp ”” In the present invention, Hdstdp is composed of two modules. hdstdel is concerned with delaying the parser state machine control bits until the appropriate pipeline stage, eg, when they are supplied to the ALU and token transforms. It processes only about half of the command words sent to the ALU, the rest is another module h
It is processed by dstmod.

【1305】Hdstmodはハフマンステートマシー
ンROMを含む。この指令の数ビットはハフマンステー
トマシーン制御ロジックにより使用される。残りのビッ
トは(パーザーステートマシーンからの)ALU指令ワ
ードのhdstdelにおいて処理されない部分を置き
換えるために使用される。
[1307] Hdstmod includes Huffman State Machine ROM. Several bits of this command are used by the Huffman State Machine control logic. The remaining bits are used to replace the unprocessed portion in hdstdel of the ALU command word (from the Parser State Machine).

【1306】Hdstmodは自明であり、何の説明も
必要ではない。パイプラインディレイレジスタだけがあ
る。
[1306] Hdstmod is self-explanatory and needs no explanation. There is only a pipeline delay register.

【1307】Hdstdelも非常に単純であり、RO
M及びALU指令を修正するマルチプレクサにより処理
される。回路の残部はハフマンステートマシーンROM
出力の半分に対するUPI読み取りアクセスに関係す
る。バッファも制御信号のために使用される。
[1307] Hdstdel is also very simple, and RO
It is processed by a multiplexer which modifies the M and ALU commands. The rest of the circuit is the Huffman State Machine ROM
Relevant for UPI read access to half of the output. Buffers are also used for control signals.

【1308】 B.2.3 「トークンフォマッティング」 本発明によるハフマンデコーダトークンフォマッティン
グは、ハフマンブロックの終了部にある。その機能は、
その名前が示す通り、ハフマンデコーダからのデータを
適当なトークン構造にフォーマットすることである。入
力データはマイクロインストラクションワードコマンド
フィールドの制御下、マイクロインストラクションワー
ドの中のデータで多重送信される。ブロックは2つの操
作モード;データワードとデータトークンを持っている B.2.3.1 「マイクロインストラクションワー
ド」
[1308] B. 2.3 "Token Formatting" The Huffman decoder token formatting according to the present invention is at the end of the Huffman block. Its function is
As the name implies, it formats the data from the Huffman decoder into an appropriate token structure. The input data is multiplexed with the data in the micro instruction word under the control of the micro instruction word command field. Block has two modes of operation; data word and data token B. 2.3.1 “Micro Instruction Word”

【1309】[1309]

【表186】 B.2.3.2 「動作モード」[Table 186] B. 2.3.2 “Operation mode”

【1310】[1310]

【表187】 B.2.3.2.1 「データワード」 本モードでは、入力の最上位8ビットが出力に送られ
る。底部8ビットはマスクフィールドに応じて、入力の
底部8ビット、マイクロインストラクションワードのト
ークンフィールド、もしくはその両者の混合物のいずれ
かである。マスクは、 out data[16:8]=in data[1
6:8] out data{7:0]=(Token[7:0]
&(ff<<mask))in data[7:0] のミックスにおける入力ビット数を表す。
[Table 187] B. 2.3.2.1 “Data Word” In this mode, the 8 most significant bits of the input are sent to the output. The bottom 8 bits are either the bottom 8 bits of the input, the token field of the microinstruction word, or a mixture of both, depending on the mask field. The mask is out data [16: 8] = in data [1
6: 8] out data {7: 0] = (Token [7: 0]
& (Ff << mask)) represents the number of input bits in the mix of data [7: 0].

【1311】マスクが0x8以上に設定された場合、出
力データは入力データに等しい。本モードはnon−デ
ータトークンにおける出力ワードに用いられる。マスク
を0に設定すると、out data[7:0]はマイ
クロインストラクションワードのトークンフィールドと
なる。本モードは如何なるデータも含まないトークンヘ
ッダを出力するために使用される。トークンヘッダがデ
ータを含む場合、データビット数はマスクフィールドに
より与えられる。
When the mask is set to 0x8 or more, the output data is equal to the input data. This mode is used for output words in non-data tokens. If the mask is set to 0, out data [7: 0] becomes the token field of the micro instruction word. This mode is used to output a token header that does not contain any data. If the token header contains data, the number of data bits is given by the mask field.

【1312】外部Extn(Ee)が設定されると、o
ut extn=in extnとなり、そうでなけれ
ば、out extn=De.Btであり、Ebはdo
n’t careである。 B.2.3.2.2 「データトークン」 本モードはデータトークンとフォーマッティングするた
めに使用され、信号、first coefficie
ntに応じて2つの関数がある。リセットにおいて、f
irst coefficientが設定される。最初
のデータ係数がcmdを1に設定したマイクロインスト
ラクションワードと共に到着すると、out data
[16:2]は0x1に設定され、out data
[1:0]はマイクロインストラクションワードのBt
フィールドの値を取る。これはデータトークンのヘッダ
である。このワードがアクセプトされると、コマンドを
伴う係数がレジスタRLにロードされ、first c
oefficientがEbの値を取る。次の係数が到
着すると、out data[16:0]はRLに記憶
された前の係数を取る。これはブロック・エンドに遭遇
する時、Ebが設定され、first coeffic
ientが設定され、次のデータトークン、つまり If(first coefficient) { out data[16:2] = 0x1 out data[1:0] = Bt[1:0] RL[16:0] = in data[16:0] } else { out data[16:0] = RL[16:0] RL[16:0] = in data[16:0] } out extn = −Eb の準備が整うことを確実にする。
[1312] When external Extn (Ee) is set, o
ut extn = in extn, otherwise out extn = De. Bt, Eb is do
n't care. B. 2.3.2.2 "Data token" This mode is used for formatting with data tokens, signals, first coefficie.
There are two functions depending on nt. At reset, f
The first coefficient is set. When the first data coefficient arrives with a microinstruction word with cmd set to 1, out data
[16: 2] is set to 0x1 and out data
[1: 0] is Bt of the micro instruction word
Take the value of the field. This is the header of the data token. When this word is accepted, the coefficient with the command is loaded into register RL and the first c
oefientent takes a value of Eb. When the next coefficient arrives, out data [16: 0] takes the previous coefficient stored in RL. This is set to Eb when the block end is encountered and the first coeffic
ient is set, and the next data token, that is, if (first coefficient) {out data [16: 2] = 0x1 out data [1: 0] = Bt [1: 0] RL [16: 0] = in data [ 16: 0]} else {out data [16: 0] = RL [16: 0] RL [16: 0] = in data [16: 0]} out extn = -ensure that Eb is ready .

【1313】B.2.3.3 「注釈」 本発明によれば、指令ビットのほとんどは通常の方法で
パーザーステートマシーンによって供給される。しかし
ながら、実際には2つのフィールドが他の回路により供
給される。上述のBtフィールドはALUブロックの出
力に直接接続される。この2つのビットフィールドはc
cもしくはcolor componentの現在のバ
リューを与える。こうして、データトークンヘッダが構
築されると、最も低いオーダーの2ビットがALUカウ
ンタから直接色成分を取り出す。第2に、ブロック・エ
ンド記号idがデコードされる時はいつでも(あるいは
ブロック内の最後の係数がコード化されるので、1が仮
定されるJPEGの場合)、Ebビットがハフマンデコ
ーダにおいて認定される。
[1313] B. 2.3.3 "Notes" According to the invention, most of the command bits are supplied by the Parser State Machine in the usual way. However, in practice two fields are provided by the other circuit. The Bt field described above is directly connected to the output of the ALU block. The two bit fields are c
Gives the current value of c or color component. Thus, when the data token header is constructed, the lowest order 2 bits retrieve the color component directly from the ALU counter. Second, whenever the block end symbol id is decoded (or JPEG where 1 is assumed because the last coefficient in the block is coded), the Eb bit is qualified in the Huffman decoder. .

【1314】ハフマンデコーダにおいてin extn
信号が引き出される。それはトークンに関して、通常の
方法でトークンワードと共に拡張ビットが供給される時
に意味を持つだけである。
[1314] In extn in the Huffman decoder
The signal is pulled out. It only makes sense for tokens when the extension bits are supplied with the token word in the usual way.

【1315】 B.2.4 「パーザーステートマシーン」 本発明のパーザーステートマシーンは実際非常に単純な
回路片である。複雑なのはマイクロコードROMのプロ
グラミングであり、それはセクション B.2.5にお
いて論じる。
[1315] B. 2.4 "Parser State Machine" The parser state machine of the present invention is actually a very simple piece of circuitry. Complex is the programming of the microcode ROM, which is described in Section B. See Section 2.5.

【1316】本質的に、マシーンは現在のアドレスを保
持するレジスタから構成される。このアドレスはマイク
ロコードROMにおいてルックアップされ、マイクロコ
ードワードを作り出す。更に、アドレスは単純なインク
リメンタにおいて増分され、この増分されたアドレスは
次のステートのために使用される2つの可能なアドレス
の1つである。他方のアドレスはマイクロコードROM
自体の中のフィールドである。このように、各指令は潜
在的にジャンプ指令であり、プログラムにおいて明記さ
れるロケーションにジャンプすることができる。ジャン
プが行われなければ、制御はROM内の次のロケーショ
ンへと進む。
[1316] In essence, the machine consists of registers that hold the current address. This address is looked up in the microcode ROM to produce a microcode word. In addition, the address is incremented in a simple incrementer, which is one of the two possible addresses used for the next state. The other address is a microcode ROM
It is a field within itself. Thus, each instruction is potentially a jump instruction and can jump to the location specified in the program. If no jump is made, control proceeds to the next location in ROM.

【1317】一連の16のコンディションコードビット
が提供される。これらのコンディションの1つが(マイ
クロコードROM内のフィールドにより)選択され、そ
れに加えて、(やはりマイクロコードROM内のビット
により)反転され得る。結果的に生じる信号が増分され
たアドレスまたはマイクロコードROM内のジャンプア
ドレスのいずれかを選択する。コンディションの1つは
Falseとして評価するため配線される。このコンデ
ィションが選択されると、ジャンプは発生しない。ある
いはその代わりに、このコンディションが選択され、反
転されて、ジャンプ、つまり無条件ジャンプが常に発生
する。
[1317] A series of 16 condition code bits is provided. One of these conditions can be selected (by a field in the microcode ROM) and additionally inverted (also by a bit in the microcode ROM). The resulting signal selects either the incremented address or the jump address in the microcode ROM. One of the conditions is wired to evaluate as False. If this condition is selected, no jump will occur. Alternatively, this condition is selected and inverted so that a jump, an unconditional jump, always occurs.

【1318】[1318]

【表188】 B.2.4.1 「2線式インターフェース制御」 本発明による2線式インターフェース制御は本ブロック
では少し異例である。パーザーステートマシーンとハフ
マンデコーダ間に2線式インターフェースがある。これ
はコマンドの進行を制御するために使用される。パーザ
ーステートマシーンはROMから次のコマンドを読むた
めに前進する前に、所定のコマンドがアクセプトされる
まで待つであろう。それに加えて、コンディションコー
ドがALUからのワイヤを通して送り返される。
[Table 188] B. 2.4.1 "2-wire interface control" The 2-wire interface control according to the present invention is a little unusual in this block. There is a two wire interface between the Parser State Machine and the Huffman Decoder. It is used to control the progress of the command. The Parser State Machine will wait until a given command is accepted before proceeding to read the next command from ROM. In addition to that, the condition code is sent back through the wire from the ALU.

【1319】各コマンドはマイクロコードROM内にビ
ットを持ち、それはフィードバックを待つべきことを明
記できるようにする。これが発生した場合、その指令が
ハフマンデコーダによりアクセプトされた後、ALUか
らのフィードバックワイヤが認定されるまで新しいコマ
ンドは表示されない。このワイヤ、fb validは
現在ALUにより供給されているコンディションコード
が、それらがフィードバックを待つことを求めるコマン
ドと関連するデータを反映するという意味で有効である
ことを指示する。
Each command has a bit in the microcode ROM that allows us to specify that we should wait for feedback. If this occurs, the new command will not be displayed until the feedback wire from the ALU is qualified after the command has been accepted by the Huffman Decoder. This wire, fb valid, indicates that the condition codes currently provided by the ALU are valid in the sense that they reflect the data associated with the command asking for feedback.

【1320】本発明によれば、デコーディング(または
プロセシング)の結果として、特別なデータ片にジャン
プするための次のステートを決定する条件付きジャンプ
コマンドを構築する際に、その特徴が利用される。2線
式制御は特定のコマンドが所定のプロセシングブロック
(つまり、この場合はALU)に到達する時が不確かで
あることを意味するので、この便宜なくしては、パイプ
ライン内のデータに依存するコンディションをテストす
ることは出来ないであろう。
According to the present invention, that feature is utilized in constructing a conditional jump command that determines the next state to jump to a particular piece of data as a result of decoding (or processing). . Two-wire control means that it is uncertain when a particular command will reach a given processing block (that is, the ALU in this case), so without this convenience, conditions that depend on the data in the pipeline are Could not be tested.

【1321】ハフマンデコーダに全ての指令が送られる
わけではない。ある指令はデータパイプラインの必要な
く実行できる。これらはジャンプ指令である傾向があ
る。マイクロコードROM内のビットは指令がハフマン
デコーダに表示されるか否かを選択する。そうでなけれ
ば、ハフマンデコーダが指令をアクセプトする必要はな
く、従って、パイプラインが失速していても、こうした
状況で実行を続けることができる。
[1321] Not all commands are sent to the Huffman Decoder. Certain instructions can be executed without the need for a data pipeline. These tend to be jump commands. A bit in the microcode ROM selects whether the command is displayed on the Huffman Decoder. Otherwise, the Huffman Decoder does not need to accept the instruction, so it can continue execution in these situations even if the pipeline is stalled.

【1322】B.2.4.2 「イベント処理」 パーザーステートマシーンの中に2つのイベントビット
が置かれる。1つはハフマンイベントと称され、他の1
つはパーザーイベントと称される。
[1322] B. 2.4.2 “Event processing” Two event bits are placed in the Parser State Machine. One is called the Huffman event and the other one
One is called a parser event.

【1323】パーザーイベントは最も単純である。この
イベントにより監視される「コンディション」はマイク
ロコードROM内のビットにすぎない。このように、指
令はこのビットを設定することによりパーザーイベント
を生じさせることができる。典型的に、これを行う指令
は適当な定数をrom controlレジスタに書き
込み、割り込みサービスルーチンが割り込みの原因を判
断することができるようにする。
The Parser Event is the simplest. The "condition" monitored by this event is only a bit in the microcode ROM. Thus, a command can cause a parser event by setting this bit. The command to do this typically writes an appropriate constant to the rom_control register, allowing the interrupt service routine to determine the cause of the interrupt.

【1324】パーザーイベントをサービスした後(ある
いは、イベントがマスクアウトされた場合直ちに)、制
御は停止したポイントでリカバーする。そのイベントを
起こさせた指令がジャンプ指令を持っている(その状態
が本物であると評価する)場合、ジャンプは通常の方法
で行われる。従って、ジャンプをコード化することによ
るサービス後、誤差ハンドラにジャンプすることができ
る。
After servicing the parser event (or immediately if the event is masked out), control recovers at the point where it stopped. If the command that caused the event has a jump command (that condition evaluates to real), the jump is done in the normal way. Therefore, it is possible to jump to the error handler after servicing by coding the jump.

【1325】ハフマンイベントはそれとは異なる。監視
される状態は3つのハフマン誤差ビットのORである。
現実に、この状態は非常に単純な方法でパーザーイベン
トに対して処理される。しかしながら、ハフマンデコー
ダからの追加ワイヤ、huffintrptは誤差が発
生する時はいつでも認定される。これはマイクロコード
プログラムにおいて制御を誤差ハンドラにジャンプさせ
る。
[1325] The Huffman event is different. The monitored condition is the OR of the three Huffman error bits.
In reality, this situation is handled for parser events in a very simple way. However, the additional wire from the Huffman decoder, huffintrpt, is qualified whenever an error occurs. This causes control to jump to the error handler in the microcode program.

【1326】従って、ハフマン誤差が発生する時、シー
ケンスは割り込み発生とブロック・ストップを含む。サ
ービシング後、制御は誤差ハンドラに伝送される。ca
llメカニズムは無く、通常の割り込みとは異なり、誤
差処理に続いて発生する誤差の前にマイクロコードの中
のポイントに戻ることは不可能である。
Therefore, when a Huffman error occurs, the sequence includes interrupt generation and block stop. After servicing, control is transferred to the error handler. ca
There is no ll mechanism and unlike normal interrupts it is not possible to return to a point in the microcode before the error that occurs following error processing.

【1327】ハフマン誤差が発生することなく、huf
fintrptを認定することができる。これはセクシ
ョン B.2.2.3において論じたように、no−e
rror誤差の特別な場合に発生する。この場合、如何
なる割り込みも(マイクロプロセッサインターフェース
に)発生せず、制御は(マイクロコード内の)誤差ハン
ドラに送られる。ハフマン誤差レジスタはこの場合明ら
かであるので、マイクロコード誤差ハンドラは、こうし
た状況であり、それに応じて応答することを決定するこ
とができる。
[1327] huffman error does not occur and huf
You can certify fintrpt. This is Section B. As discussed in 2.2.3, no-e
It occurs in a special case of error error. In this case, no interrupt is generated (on the microprocessor interface) and control is passed to the error handler (in the microcode). Since the Huffman error register is apparent in this case, the microcode error handler can decide to respond in this situation and respond accordingly.

【1328】B.2.4.3 「特別なロケーション」 マイクロコードROMには幾つかの特別なロケーション
がある。ROM内の最初の4つのロケーションは主プロ
グラムへのエントリポイントである。制御はリセット時
にこれら4つのロケーションの1つに進む。ジャンプす
べきロケーションはALUレジスタ、coding s
td.において選択されるコーディングスタンダードに
より決定される。このロケーションが真のリセットによ
りそれ自体ゼロにリセットされるので、制御はロケーシ
ョンゼロに進む。しかしながら、CED H TRAC
E内のUPIレジスタビットCED H TRACE
RSTを用いてパーザーステートマシーンだけをリセッ
トすることができる。この場合、coding std
レジスタはリセットされず、制御は最初の4つのロケー
ションの適当な1つに進む。
[1328] B. 2.4.3 “Special locations” There are several special locations in the microcode ROM. The first four locations in ROM are entry points to the main program. Control proceeds to one of these four locations at reset. The location to jump to is the ALU register, codings
td. Is determined by the coding standard selected in. Control proceeds to location zero because this location is itself reset to zero by a true reset. However, CED H TRAC
UPI register bit in E CED H TRACE
Only the Parser State Machine can be reset using RST. In this case, coding std
The register is not reset and control proceeds to the appropriate one of the first four locations.

【1329】第2の4つのロケーション(0x004〜
0x007)はハフマン割り込みが起こる時に使用され
る。典型的に、実際の誤差ハンドラがこれらのロケーシ
ョンの各々に置かれる。ここでも、ロケーションの選択
はコーディングスタンダードの結果として為される。
[1329] Second four locations (0x004-
0x007) is used when a Huffman interrupt occurs. The actual error handler is typically located at each of these locations. Again, the choice of location is made as a result of coding standards.

【1330】B.2.4.4 「トレーシング」 診断上の助けとして、トレースメカニズムが実装され
る。これはマイクロコードがシングルステップ化される
ようにする。レジスタCED H TRACE内のビッ
トCED H TRACE EVENTとCED H
TRACE MASKがこれを制御する。その名前が示
すように、それらは非常に良く似た方法で通常のイベン
トビットに対して作用する。しかしながら、幾つかの違
い(特に、UPI割り込みが生じないこと)により、そ
れらは他のイベントビットと一緒にグループ分けされる
ことはない。
[1330] B. 2.4.4 "Tracing" A tracing mechanism is implemented as a diagnostic aid. This allows the microcode to be single stepped. Bits in register CED H TRACE CED H TRACE EVENT and CED H
TRACE MASK controls this. As their name implies, they operate on regular event bits in a very similar way. However, due to some differences (especially the UPI interrupt does not occur), they are not grouped with other event bits.

【1331】CED H TRACE MASKが1に
設定される時にトレーシングメカニズムがオンにされ
る。各マイクロコード指令がROMから読まれた後、し
かしそれがハフマンデコーダに表示される前に、トレー
スイベントが発生する。この場合、CED H TRA
CE EVENTが1になる。如何なる割り込みも生じ
ないので、それが登録されなければならない。全マイク
ロコードワードがレジスタCED H KEY DMX
WORD 0〜CED H KEY DMXWORD
9において利用できる。その指令は必要であれば、こ
の時点で修正できる。CED H TRACE EVE
NTに1を書き込むと、その指令を実行させ、CED
H TRACE EVENTをクリアする。この後すぐ
に、実施すべき次のマイクロコードワードがROMから
読み出され、新しいトレースイベントが発生する。
[1331] When CED H TRACE MASK is set to 1, the tracing mechanism is turned on. A trace event occurs after each microcode instruction is read from ROM, but before it is displayed in the Huffman decoder. In this case, CED H TRA
CE EVENT becomes 1. It does not cause any interruption, so it must be registered. All microcode words are in register CED H KEY DMX
WORD 0-CED H KEY DMXWORD
Available in 9. The directive can be modified at this point if necessary. CED H TRACE EVE
When 1 is written in NT, the command is executed and CED
Clear H TRACE EVENT. Shortly thereafter, the next microcodeword to be implemented is read from the ROM and a new trace event occurs.

【1332】B.2.5 「マイクロコード」 マイクロコードはアッセンブラhppを用いてプログラ
ムされるが、それは非常に単純なツールで、抜取りの大
部分がマクロプリプロセッサを使用して行われる。標準
のCプリプロセッサcppがこの目的のために使用され
る。
[1332] B. 2.5 "Microcode" Microcode is programmed using the assembler hpp, but it is a very simple tool, most of the sampling is done using the macro preprocessor. The standard C preprocessor cpp is used for this purpose.

【1333】コードは次のように指示される。The code is indicated as follows.

【1334】Ucode.uは主ファイルである。ま
ず、これはトークンを定義するtokens.hを含
む。次に、regfile.hはALUレジスタmap
を定義する。fields.uはマイクロコードワード
内の様々なフィールドを定義し、フィールド内の各々の
可能なビットパターンのために定義された記号リストを
提供する。次に、コードの中で使用されるラベルが定義
される。このステップの後、基本的な指令を明確にする
多数のcppmacrosを定義するために、inst
r.uが含まれる。次に、errors.hがパーザー
イベントを定義するナンバーを定義する。次に、unw
ord.uはマイクロコードワードを構築するためにフ
ィールドが置かれるオーダーを定義する。
[1334] Ucode. u is the main file. First, this is tokens. Including h. Next, regfile. h is the ALU register map
Is defined. fields. u defines the various fields in the microcodeword and provides a defined symbol list for each possible bit pattern in the field. Next, the labels used in the code are defined. After this step, inst to define a large number of cppmacros that define the basic directives.
r. u is included. Next, errors. h defines the number that defines the parser event. Then unw
ord. u defines the order in which the fields are placed to build the microcodeword.

【1335】残りのucode.uはマイクロコードプ
ログラム自体である。
[1335] The remaining ucode. u is the microcode program itself.

【1336】B.2.5.1 「指令」 本セクションでは、ucode.uにおいて定義される
様々な指令を説明する。多くの場合、1つのテーマ(特
にALU指令)に関して変形が少ないので、全ての指令
に関する説明をここで行うわけではない。
[1336] B. 2.5.1 “Command” In this section, ucode. The various directives defined in u are described. In many cases, one theme (especially the ALU command) has few variations, so a description of all commands is not provided here.

【1337】B.2.5.1.1 「ハフマン及びデー
タインデックス指令」 本発明では、ハフマンデコーダはH NOP指令を使用
する。それはノーオペレーション指令である。ハフマン
は如何なるデータもデコードされないという意味におい
て、何もしない。この指令により作られるデータは常に
ゼロである。従って、関連指令はALUに送られる。
[1337] B. 2.5.1.1 Huffman and Data Index Command In the present invention, the Huffman decoder uses the H NOP command. It is a no-operation command. Huffman does nothing in the sense that no data is decoded. The data produced by this command is always zero. Therefore, the relevant command is sent to the ALU.

【1338】次の指令はトークングループ;H TOK
SRCH、H TOKSKIP PAD、H TOKS
KIP JPAD、H TOKPASS及びH TOK
READである。これらは総て入力シフタからのトーク
ンを読み出し、それらを残りのマシーンに送る。H T
OKREADは1つのトークンワードを読む。H TO
KPASSはゼロextnビットまでの全トークンを読
むために使用できる。関連コマンドはトークンの各ワー
ドのために繰り返される。H TOKSRCHはトーク
ンの前の全てのシリアルデータを捨て、1つのトークン
ワードを読む。H TOKSKIP PADはパディン
グビット(H.261及びMPEG)をとばし、1つの
トークンワードを読む。H TOKSKIP JPAD
はJPEGパディングのために同じことをする。
[1338] Next command is token group; H TOK
SRCH, H TOKSKIP PAD, H TOKS
KIP JAPAN, H TOK PASS and H TOK
It is READ. They all read the tokens from the input shifter and send them to the rest of the machine. H T
OKREAD reads one token word. H TO
KPASS can be used to read all tokens up to zero extn bits. The associated command is repeated for each word of the token. HTOKSRCH discards all serial data before the token and reads one token word. The H TOKSKIP PAD skips the padding bits (H.261 and MPEG) and reads one token word. H TOKSKIP JPAD
Does the same for JPEG padding.

【1339】H FLC(NB)はNBビットの固定長
コードを読む。
H FLC (NB) reads a fixed length code of NB bits.

【1340】H VLC(TBL)は(mnemoni
c、例えばH VLC(tcoeff)として送られ
る)指示されたテーブルを用いて、vicを読む。
[1340] H VLC (TBL) is (mnemoni
c, eg, sent as H VLC (tcoeff)), read vic using the indicated table.

【1341】H FLC IE(NB)はH FLCと
同様であるが、ignore errorsビットが設
定される。
[1341] The H FLC IE (NB) is the same as the H FLC, but the Ignore errors bit is set.

【1342】H TEST VLC(TBL)はH F
LCと同様であるが、ハフマンインデックスが無修正の
データユニットインデックス部を通して送られるよう
に、バイパスビットが設定される。
[1342] H TEST VLC (TBL) is H F
Similar to LC, but with the bypass bit set so that the Huffman index is sent through the unmodified data unit index portion.

【1343】H FWD R及びH BWD RはAL
Uレジスタr fwd r sizeとr bwd r
sizeにより各々指示されるサイズのFLCを読
む。
[1343] H FWD R and H BWD R are AL
U-registers r fwd r size and r bwd r
Read the FLC of the size indicated by size.

【1344】H DCJはJPEGスタイルのDC係
数、ALUからのテーブルナンバーを読む。
HDCJ reads the JPEG style DC coefficients, the table number from the ALU.

【1345】H TC/OE/FF及びH DCTC/
OE/FFは変換係数を読む。HDCTC/OE/FF
において、第1のcoeffビットが設定され、non
−intraブロックのためのものである一方、H T
C/OE/FFはDCタームが読まれた後のintra
ブロックのためである。
[1345] HTC / OE / FF and HDCTC /
OE / FF reads the conversion coefficient. HDCTC / OE / FF
At, the first coeff bit is set, non
-For the intra block, while H T
C / OE / FF is intra after the DC term is read
Because of the block.

【1346】H NOMINATE(TBL)は次のダ
ウンロードのためのテーブルを指名する。
[1346] H NOMINATE (TBL) nominates a table for the next download.

【1347】H DNL(NB)はNBビットを読み、
それらを指名されたテーブルにダウンロードする。
[1347] H DNL (NB) reads the NB bit,
Download them to the designated table.

【1348】B.2.5.1.2 「ALU指令」 実際には、詳細に説明するにはあまりに多くのALU指
令がありすぎる。Mnemonics構築される基本的
な方法について論じ、これにより指令が読めるようにな
るべきである。更に、これらは当業者の一人で有れば容
易に理解できるものでなければならない。
[1348] B. 2.5.1.2 “ALU Commands” In reality, there are too many ALU commands to explain in detail. The basic way that Mnemonics is built should be discussed, which should make the directive readable. Furthermore, these should be easily understood by one of ordinary skill in the art.

【1349】多くのALU指令は場所から場所へとデー
タを移動させることに関係し、従って、一般的な「ロー
ド」指令が使用される。Mnemonicにおいて、A
LDxyは、yの内容がxにロードされる、つまりデ
スティネーションが先に記録され、ソースが次にくるこ
とが解る。
Many ALU commands relate to moving data from place to place, so the generic "load" command is used. At Mnemonic, A
It can be seen that LDxy loads the contents of y into x, ie the destination is recorded first and the source comes next.

【1350】[1350]

【表189】 例として、LDAIはAレジスタにALUのデータ入力
ポートからのデータをロードする。ALUレジスタファ
イルが指定されると、ニマニックはLDAF(RA)が
レジスタファイル内のロケーションRAの内容をAにロ
ードするようにアドレスを取るであろう。
[Table 189] As an example, the LDAI loads the A register with data from the data input port of the ALU. If an ALU register file is specified, the nimanic will take an address so that LDAF (RA) will load A with the contents of location RA in the register file.

【1351】ALUはソースからデスティネーションに
動かされるにつれて、データを修正する能力を有する。
この場合、算術はソースデータの一部として指示され
る。従って、Mnemonic LDA AADDF
(RA)は、Aレジスタの現在の内容プラス、レジスタ
ファイル内の指示されたロケーションの内容をAにロー
ドする。別の例はLDA ISGXRであり、それは入
力データを取り、サインはRUNレジスタの中で指示さ
れるビットから伸び、Aレジスタにその結果を記憶す
る。
[1351] The ALU has the ability to modify the data as it is moved from source to destination.
In this case, arithmetic is indicated as part of the source data. Therefore, Mnemonic LDA AADDF
(RA) loads A with the current contents of the A register plus the contents of the indicated location in the register file. Another example is the LDA ISGXR, which takes input data, the signature extends from the bit indicated in the RUN register and stores the result in the A register.

【1352】多くの場合、同じ結果のために1つ以上の
デスティネーションが指定される。ここでも、例とし
て、LDF LDA ASUBC(RA)では、Aマイ
ナス定数の結果をAレジスタ及びレジスタファイルの両
方にロードする。
[1352] In many cases, more than one destination is specified for the same result. Again, as an example, LDF LDA ASUBC (RA) loads the result of the A minus constant into both the A register and the register file.

【1353】他のニマニックスは特別な動作のために存
在する。例えば、CLRAはAレジスタをクリアするた
めに使用され、RMBCはマクロブロックカウンタをリ
セットするために使用される。これらはかなり自明であ
り、instr.uの中のコメントにおいて説明され
る。
[1353] Other Nimanix exists for special behavior. For example, CLRA is used to clear the A register and RMBC is used to reset the macroblock counter. These are fairly self-explanatory and can be found in instr. It is explained in the comments in u.

【1354】1つの例外は、オペレーションの結果が通
常の動作に加えてトークンフォマッティングに出力され
ることを指示するために、接尾辞Oを使用することであ
る。このように、LDFI O(RA)は入力データを
記憶し、更にそれをトークンフォマッティングに送る。
あるいはその代わりに、所望であれば、これはLDF
LDO I(RA)であってもよいであろう。B.2.
5.1.3 「トークンフォマッティング指令」これは
T NOP「ノーオペレーション」指令である。これは
実際には、ノーオペレーション指令を構築することは不
可能なので、誤称である。しかしながら、これはALU
がトークンフォマッティングに出力されないので、その
指令が重要ではない時に使用される。
The one exception is the use of the suffix O to indicate that the result of the operation is to be output to token formatting in addition to normal operation. Thus, LDFI O (RA) stores the input data and sends it to token formatting.
Alternatively, if desired, this can be LDF
It could also be LDO I (RA). B. 2.
5.1.3 "Token Formatting Command" This is a T NOP "no operation" command. This is a misnomer because it is actually impossible to build a no-operation command. However, this is an ALU
Is not used for token formatting, so it is used when the directive is unimportant.

【1355】T TOKはトークンワードを出力する。[1355] TTOK outputs the token word.

【1356】T DATは(ハフマンステートマシーン
指令と共にのみ使用される)データトークンワードを出
力する。
[1356] T DAT outputs a data token word (used only with Huffman State Machine commands).

【1357】T GENT8は一定フィールドの8ビッ
トに基づいてトークンワードを生み出す。
T GENT8 produces a token word based on the 8 bits of the constant field.

【1358】T GENT8EはT GENT8と同様
であるが、拡張ビットは1である。T OPD(NB)
は一定フィールドから来るビットの残部と共に、出力の
底部NBビットからのデータのNBビット。
[1359] T GENT8E is similar to T GENT8, but the extension bit is 1. T OPD (NB)
Is the NB bits of data from the bottom NB bits of the output, with the rest of the bits coming from the constant field.

【1359】T OPDE(NB)はT OPDと同様
であるが、拡張ビットが高い。
[1359] T OPDE (NB) is the same as T OPD, but the extension bit is high.

【1360】T OPD8はT OPD(8)用のショ
ートハンドである。
[1351] T OPD8 is a short hand for T OPD (8).

【1361】T OPD8EはT OPDE(8)用の
ショートハンドである。
[1361] T OPD8E is a short hand for T OPDE (8).

【1362】B.2.5.1.4 「パーザーステート
マシーン指令」 この指令、D NOPはノーオペレーション、つまり、
アドレスは普通に増加し、パーザーステートマシーンは
何も特別なことをしない。指令の残部はデータパイプラ
インに送られる。待機は発生しない。
[1362] B. 2.5.1.4 “Parser State Machine Command” This command, D NOP is a no operation, that is,
Addresses are normally incremented and the Parser State Machine does nothing special. The rest of the command is sent to the data pipeline. No waiting occurs.

【1363】D WAITはD NOPと同様である
が、フィードバックが発生するのを待つ。
[1363] D WAIT is similar to D NOP, but waits for feedback to occur.

【1364】単純なジャンプグループ。D JMP(A
DDR)及びD JNX(ADDR)のようなニマニッ
クスは、条件が満たされればジャンプする。指令はハフ
マンデコーダに出力されない。
[1364] Simple jump group. D JMP (A
Nimanix, such as DDR) and DJX (ADDR), will jump if the conditions are met. The command is not output to the Huffman decoder.

【1365】外部ジャンプグループ。D XJMP(A
DDR)及びD XJNX(ADDR)のようなニマニ
ックス。これらは上記の単純な相対物と同様であるが、
その指令はハフマンデコーダに出力される。
[1365] External jump group. DXJMP (A
Nimanix such as DDR) and D XJNX (ADDR). These are similar to the simple counterparts above, but
The command is output to the Huffman decoder.

【1366】ジャンプ及び待機グループ。D WJNZ
(ADDR)等のニマニックス。これらの指令はハフマ
ンデコーダに出力され、パーザーは状態を評価する前
に、ALUからのフィードバックを待つ。
[1366] Jump and wait groups. D WJNZ
Nimanix such as (ADDR). These commands are output to the Huffman Decoder and the parser waits for feedback from the ALU before evaluating the state.

【1367】以下のニマニックスは状態自体のために使
用される。
The following Nimanix is used for the state itself.

【1368】[1368]

【表190】 D EVENTはイベントの発生を引き起こす。[Table 190] D EVENT causes the event to occur.

【1369】D DELTはディフォルト指令の構築の
ためである。これはイベントを引き起こし、ラベルdf
ltを持つロケーションにジャンプする。この指令はR
OMを満たすために使用され、未使用のロケーションが
トラップされるので、実行されてはならない。
[1369] D DELT is for the construction of default commands. This triggers the event, label df
Jump to the location with lt. This command is R
It should not be run as it is used to fill the OM and unused locations are trapped.

【1370】D ERRORはイベントを引き起こし、
誤差からのリカバリを企てると仮定されるラベルsrc
h dispatchにジャンプする。 セクションB.3 「ハフマンデコーダALU」 B.3.1 「序文」 本発明によれば、ハフマンデコーダALUサブブロック
はハフマンデコーダブロック用の全般的な算術的及び論
理的機能性を提供する。それは加算及び減算操作、様々
なタイプのサイン拡張操作、及び入力データのrun−
sign−levelトリプルズへのフォーマッティン
グを行う能力を有する。更に、それはその正確な操作及
び構成が、入力データと同期的に、つまり2線式インタ
ーフェース制御下に、ALUに到着するマイクロインス
トラクションワードにより明記される柔軟な構造を有す
る。
[1370] D ERROR triggers an event,
Label src that is assumed to attempt recovery from an error
Jump to h display. Section B. 3 "Huffman Decoder ALU" B. 3.1 "Introduction" In accordance with the present invention, the Huffman Decoder ALU sub-block provides general arithmetic and logical functionality for the Huffman Decoder block. It includes addition and subtraction operations, various types of sine expansion operations, and run-of input data.
It has the ability to format into sign-level triples. Furthermore, it has a flexible structure whose precise operation and organization is specified by the microinstruction words arriving at the ALU synchronously with the input data, ie under two-wire interface control.

【1371】36ビットの指令及び12ビットデータ入
力ポートに加えて、ALUは6ビットランポート及び
(実際にはトークンバスの上にある)8ビット一定ポー
トを持つ。これらの全ては、マイクロインストラクショ
ンワードを除き、ALUデータパスを通して各々の幅の
バスを駆動する。拡張ビットを表し、17ビットラン・
サイン・レベルと共に出力される(out data)
マイクロインストラクションワード内に1ビットがあ
る。ALUデータパスの各端に2線式インターフェース
と、それら自身の有効な信号、cc validと共に
出力される一連のコンディションコードがある。ALU
を介して他のハフマンデコーダサブブロック及びマイク
ロプロセッサインターフェースにアクセス可能なレジス
タファイルがある。
In addition to the 36 bit command and 12 bit data input ports, the ALU has a 6 bit run port and an 8 bit constant port (actually above the token bus). All of these drive the bus of each width through the ALU datapath, except for the microinstruction words. Represents an extension bit, 17-bit run
Output with sign level (out data)
There is one bit in the microinstruction word. There is a two wire interface at each end of the ALU datapath and a set of condition codes that are output with their own valid signal, cc valid. ALU
There are register files accessible to other Huffman decoder sub-blocks and microprocessor interfaces via the.

【1372】B.3.2.2 「基本構造」 ハフマンALUの基本構造は図135に示す通りであ
る。それは以下の構成要素を含む: 入力ブロック 出力ブロック コンディションコードブロック ソースマルチプレクシングを備えたAレジスタ ソースマルチプレクシングを備えたRunレジスタ(6
ビット) ソースマルチプレクシングを備えたアダー/サブトラク
ター ソースマルチプレクシングを備えたサイン拡張ロジック レジスタファイル (出力ブロックを除き)これらのブロックの各々はその
出力をデータパスを通って走るバス上に押しやり、これ
らのバスは次にブロックソース用のマルチプレクシング
への入力として使用される。例えば、アダーはAレジス
タに対する可能な入力の1つである、それ自身のデータ
パスバスを有する。同様に、Aレジスタはアダーに対す
る可能な入力の1つを形成するそれ自身のバスを有す
る。この点で、マイクロインストラクションワードに関
するセクション7において明記したように、全ての可能
性のサブセットだけが存在する。
[1372] B. 3.2.2 “Basic structure” The basic structure of the Huffman ALU is as shown in FIG. It contains the following components: Input block Output block Condition code block A register with source multiplexing Run register with source multiplexing (6
Bit) adder / subtractor with source multiplexing sine extension logic register file with source multiplexing (except output blocks) Each of these blocks pushes its output onto the bus running through the datapath, These buses are then used as inputs to the multiplexing for block sources. For example, the adder has its own datapath bus, which is one of the possible inputs to the A register. Similarly, the A register has its own bus which forms one of the possible inputs to the adder. In this respect, there is only a subset of all possibilities, as specified in section 7 on microinstruction words.

【1373】単一サイクルにおいて、アッドベースの指
令もしくはサイン拡張ベース指令のいずれかを実行する
ことが可能である。更に、それらのオペレーションが厳
密に平行である場合に限り、それらの両方を単一サイク
ルにおいて実行してもさしつかえない。換言すれば、加
算してサイン拡張、あるいはサイン拡張して加算のシー
ケンスは許されない。レジスタファイルは単一サイクル
において読み取られるか書き込まれるが、その両方はで
きない。
[1353] In a single cycle, it is possible to execute either an add base command or a sine extension base command. Moreover, both of them can be performed in a single cycle only if their operations are strictly parallel. In other words, a sequence of addition and sign extension or sign extension and addition is not allowed. The register file is read or written in a single cycle, but not both.

【1374】出力データは3つのフィールドを持つ: ・ラン − 6ビット ・サイン − 1ビット ・レベル − 10ビット データがALUを通してまっすぐ送られる場合、入力デ
ータレジスタの最も重要性の少ない11ビットがサイン
及びレベルフィールドにラッチされる。
The output data has three fields: Run-6 bits Sign-1 bit Level-10 bits When the data is sent straight through the ALU, the least significant 11 bits of the input data register are the sign and Latched in the level field.

【1375】制限されたALUのマルチサイクルオペレ
ーションをプログラムすることができる。この点で、必
要なサイクル数はレジスタファイルロケーションの内容
により決められ、そのアドレスはマイクロインストラク
ションにおいて明記され、反復カウンタが1にまで減少
する間に、同じオペレーションが繰り返し実行される。
この設備は、典型的に、左方向のシフトを行うために使
用され、アダーを用いてAレジスタをそれ自体に加算
し、その結果をAレジスタに戻して記憶する。
[1359] Limited ALU multi-cycle operation can be programmed. At this point, the number of cycles required is determined by the contents of the register file location, its address is specified in the microinstruction, and the same operation is repeated while the repeat counter is decremented to one.
This facility is typically used to perform a left shift, using an adder to add the A register to itself and store the result back in the A register.

【1376】 B.3.3 「アダー/サブトラクターサブブロック」 これは12ビット幅のアダーであり、そのinput2
への任意反転と、carry−inビットの任意セッテ
ィングを持つ。出力は12ビットの合計であり、car
ry−outは使用されない。オペレーションには7つ
のモードがある: ・ADD:セットのキャリーをゼロに加算する: input1 + input2 ・ADC:セットのキャリーを1に加算する: input1 + input2+1 ・SBC:input2を反転し、セットのキャリーを
ゼロに: input1 − input2 − 1 ・SUB:input2を反転し、セットのキャリーを
1に: input1 − input2 ・TCI:input2<0であれば、SUBを使用
し、そうでなければADDを使用する。これは2の補数
値からマグニチュードバリューを得るために、ゼロに設
定されるinput1と共に使用される。
[1376] B. 3.3 "Adder / Subtractor Subblock" This is a 12-bit wide adder and its input2
Has an arbitrary inversion to and an optional setting of carry-in bit. The output is a total of 12 bits, car
ry-out is not used. There are seven modes of operation: ADD: add carry of set to zero: input1 + input2 ADC: add carry of set to 1: input1 + input2 + 1 SBC: invert input2, carry of set To zero: input1-input2-1-SUB: invert input2 and set carry to 1: input1-input2- TCI: use SUB if 0, otherwise use ADD . It is used with input1 set to zero to get the magnitude value from the 2's complement value.

【1377】DCD(DC差):input2<0であ
れば、ADCを行い、そうでなければADDを行う。
[1377] DCD (DC difference): If input2 <0, ADC is performed. If not, ADD is performed.

【1378】VRA(ベクトル残差アッド):inpu
t1<0であれば、ADCを行い、そうでなければSB
Cを行う。
[1378] VRA (vector residual add): inpu
If t1 <0, perform ADC, otherwise SB
Perform C.

【1379】B.3.4 「サイン拡張サブブロック」 これは様々なモードでサインがサイズ入力からの入力デ
ータを拡張する12ビットユニットである。サイズは0
〜11までの4ビットバリューである(0は最も重要で
ないビットに関し、11は最も重要なビットに関す
る)。出力は12ビット修正データバリューであり、
「サイン」ビットである。
[1379] B. 3.4 "Sign extension sub-block" This is a 12-bit unit where the sign extends the input data from the size input in various modes. Size is 0
Is a 4-bit value from -11 (0 for the least significant bit, 11 for the most significant bit). The output is a 12-bit modified data value,
It is the "sign" bit.

【1380】SGXMODE=NORMALでは、si
ze−thビット以上の全てのビットは、size−t
hビットの値を取る。下記のもの全ては変化せずそのま
まである。サインはsize−thビットの値を取る。
例えば: data = 1010 1010 1010 size = 2 output = 0000 0000 0010、s
ign=0 SGXMOD=INVERSEでは、size−thビ
ット以上の全てのビットは、size−thビットの逆
数を取る一方、下記のもの全ては変化せずそのままであ
る。サインはsize−thビットの逆数を取る。例え
ば: data = 1010 1010 1010 size = 0 output = 1111 1111 1111、s
ign=1 SGXMODE=DIFMAGでは、size−thビ
ットがゼロであれば、size−thビット以下の全て
のビットは反転される一方、上記の全てのものは変化せ
ずそのままである。size−thビットが1であれ
ば、全てのビットは変化せずに残る。両方の場合に、サ
インはsize−thビットの逆数を取る。これはAC
差バリューのマグニチュードを得るために使用される。
例えば: data = 0000 1010 1010 size = 2 output = 0000 1010 1101、s
ign=1 data = 0000 1010 1010 size = 1 output = 0000 1010 1101、s
ign=0 SGXMODE=DIFCOMPでは、size−th
ビット以上の(ではあるがsize−thビットは含ま
ない)全てのビットはsize−thビットの逆数を取
り、一方それ以下の全てのビットは変化せずに残る。サ
インはsize−thビットの逆数を取る。これはDC
差バリューのために2つの補数値を取るために使用され
る。例えば: data = 1010 1010 1010 size = 0 output = 1111 1111 1110、s
ign=1 B.3.5 「コンディションコード」 ハフマンブロックが使用するコンディションコードの2
つのバイト(16ビット)があり、その内特定のビット
がALU/レジスタファイルによって作られる。これら
はサインコンディションコード、ゼロコンディションコ
ード、拡張コンディションコード、及び変化検出ビット
である。これらのコードの最後の2つは、パーザーによ
って他のものと同じようには使用されないので、実際に
はコンディションコードではない。
[1380] In SGXMODE = NORMAL, si
All bits greater than or equal to ze-th bits are size-t
Takes the value of h bits. All of the following remain unchanged. The sign takes a value of size-th bit.
For example: data = 1010 1010 1010 size = 2 output = 0000 0000 0010, s
For ign = 0 SGXMOD = INVERSE, all bits greater than or equal to size-th bits take the reciprocal of size-th bits, while all of the following remain unchanged. The sign takes the reciprocal of size-th bits. For example: data = 1010 1010 1010 size = 0 output = 1111 1111 1111, s
For ign = 1 SGXMODE = DIFMAG, if the size-th bit is zero, all bits below the size-th bit are inverted, while all of the above remain unchanged. If the size-th bit is 1, then all bits remain unchanged. In both cases, the sine takes the reciprocal of size-th bits. This is AC
Used to get the magnitude of the difference value.
For example: data = 0000 1010 1010 size = 2 output = 0000 1010 1101, s
ign = 1 data = 0000 1010 1010 size = 1 output = 0000 1010 1101, s
ign = 0 In SGXMODE = DIFCOMP, size-th
All bits above (but not including size-th) bits take the reciprocal of size-th, while all bits below it remain unchanged. The sign takes the reciprocal of size-th bits. This is DC
Used to take the two's complement value for the difference value. For example: data = 1010 1010 1010 size = 0 output = 1111 1111 1110, s
ign = 1 B.I. 3.5 “Condition code” 2 of the condition codes used by Huffman block
There are two bytes (16 bits), of which specific bits are created by the ALU / register file. These are a sign condition code, a zero condition code, an extended condition code, and a change detection bit. The last two of these codes are not really condition codes because they are not used by the parser in the same way as others.

【1381】サイン、ゼロ、及び拡張コンディションコ
ードはパーザーが更新するように指令を出す時に更新さ
れ、これら各々の指令のために、コンディションコード
有効信号が一度だけ高いパルスで送られる。
The sine, zero, and extended condition codes are updated when the parser commands them to update, and for each of these commands the condition code valid signal is pulsed only once high.

【1382】サインコンディションコードは単にラッチ
されるサイン拡張サイン出力であり、一方、ゼロコンデ
ィションコードはAレジスタへの入力がゼロである場合
に、1に設定される。拡張コンディションコードはOU
TSRCとは無関係にラッチされる入力拡張ビットであ
る。
The sign condition code is simply a latched sign extended sign output, while the zero condition code is set to 1 when the input to the A register is zero. Extended condition code is OU
Input extension bit that is latched independently of TSRC.

【1383】コンディションコードは特定のコンディシ
ョンタイプを評価するために使用され得る: ・結果は定数に等しい − サブトラクトを使用し、ゼ
ロコンディション ・結果はレジスタ値に等しい − サブトラクトを使用
し、ゼロコンディション ・レジスタは定数に等しい − サブトラクトを使用
し、ゼロコンディション ・レジスタビットセット − サイン拡張を使用し、サ
インコンディション ・結果ビットセット − サイン拡張を使用し、サイン
コンディション サイン拡張及びサインコンディションコードの組合せを
使用する場合、従来の論理ANDの場合のように多重ビ
ットを評価するというより、1つの特定のビットを評価
することだけが可能であることに注目。
The condition code can be used to evaluate a particular condition type: result equals constant-uses the subtract, zero condition result equals the register value-use the subtract, zero condition register Is equal to a constant-using subtraction, zero condition register bit set-using sign extension, sign condition-result bit set-using sign extension, using sign condition sign extension and sign condition code combination Note that it is possible to evaluate only one particular bit, rather than evaluating multiple bits as in the conventional logical AND case.

【1384】本発明において、変化検出ビットはゼロコ
ンディションコードとして同じロジックを使用して作ら
れるが、関連する有効な信号を持ってはいない。マイク
ロインストラクション内のビットは、レジスタファイル
に最近書き込まれたバリューが既に存在しているものと
異なる(2つのクロックサイクルが必要であり、まずR
EG−MODEをREADに設定し、次にREGMOD
EをWRITEに設定することを意味する)場合に、変
化検出ビットを更新すべきであることを指示する。次
に、変更されたバリューが検出された場合、マイクロプ
ロセッサの割り込みが開始される。変化検出ビットは通
常の方法でChange Detectを起動させるこ
とによりリセットされるが、REGMODEはREAD
に設定される。
In the present invention, the change detect bit is made using the same logic as the zero condition code, but does not have a valid signal associated with it. The bit in the microinstruction is different from the one where the recently written value in the register file already exists (requires two clock cycles, first R
Set EG-MODE to READ, then REGMOD
(Which means setting E to WRITE) indicates that the change detect bit should be updated. Then, when the changed value is detected, the interrupt of the microprocessor is started. The change detection bit is reset by activating Change Detect in the normal way, but REGMODE is set to READ.
Is set to

【1385】(レジスタファイルの一部を形成する、下
記参照)ハードワイヤードマクロブロックカウンタ構造
も、次のようなコンディションコードを作り出す:Mb
Start、Pattern Code、Resta
rt及びPic Start。
[1385] The hardwired macroblock counter structure (which forms part of the register file, see below) also produces the following condition code: Mb
Start, Pattern Code, Resta
rt and Pic Start.

【1386】B.3.6 「レジスタファイル」 レジスタファイル用のアドレスマップを下記に示す。そ
れはALUデータパス及びUPIの両方に共通である7
ビットアドレススペースを使用する。多くのロケーショ
ンはALUによってアクセスすることができず、これら
は典型的にハードワイヤードマクロブロック構造の中の
カウンタであり、ALU自体の中のレジスタである。後
者のレジスタは専用のアクセスを持っているが、UPI
用のアドレスマップの一部を形成する。(表において0
によってオーバーサイズが表示される)あるマルチバイ
トのロケーションは、1つのALUアドレスと、多重U
PIアドレスを持つ。同様に、成分カウント、CC(表
ではIで指示される)によりインデックスされるレジス
タグループは、ALUにより1つのロケーションとして
処理される。これは初期設定及びリセッティングのた
め、またブロックレベルのオペレーションのためにマイ
クロプログラミングを容易にする。
[1386] B. 3.6 “Register file” The address map for the register file is shown below. It is common to both ALU datapath and UPI 7
Use bit address space. Many locations are not accessible by the ALU, these are typically counters in the hardwired macroblock structure and registers in the ALU itself. The latter register has dedicated access, but the UPI
Form part of an address map for (0 in the table
Is oversized by one) A multibyte location has one ALU address and multiple U
It has a PI address. Similarly, the register group indexed by the component count, CC (indicated by I in the table), is treated as one location by the ALU. This facilitates microprogramming for initialization and resetting, as well as for block level operations.

【1387】専用ALUレジスタ(UPIリードオンリ
ー)を除き、全てのロケーションはリード/ライトであ
り、全てのカウンタは指令ワード内のビットによってゼ
ロにリセットされる。パターンコードレジスタは右方向
シフトの能力を持ち、その最も重要でないビットがPa
ttern Codeコンディションビットを形成す
る。ハードワイヤードマクロブロック構造の全てのレジ
スタは表中Mで表示され、更にカウンタ(n−ビット)
であるものはCnという注釈が付けられる。
All locations are read / write except for the dedicated ALU register (UPI read only) and all counters are reset to zero by a bit in the command word. The pattern code register has the capability of shifting to the right and its least significant bit is Pa
It forms the ttern Code condition bits. All registers in the hardwired macroblock structure are represented by M in the table, and counter (n-bit)
Are annotated as Cn.

【1388】本発明では、特定のロケーションはハフマ
ンサブシステムコーディングスタンダードの他の部分、
2つのr−sizeロケーション、及びハフマンデコー
ダに対するac huffテーブル及びdc huff
テーブルの各々のための1つのロケーション(1ビット
ワード)にハードワイヤードされる内容を持つ。
In the present invention, a particular location is another part of the Huffman Subsystem Coding Standard,
Two r-size locations, and an ac huff table and dc huff for the Huffman decoder
It has content hard-wired into one location (1 bit word) for each of the tables.

【1389】太字のアドレスはロケーションがALU及
びUPIの両方でアクセス可能であることを示し、そう
でなければ、それらはUPIアクセスだけを持つ。AL
UによりCCを通して指示されないレジスタグループ
は、指令ワードの中で明記される1つのALUアドレス
を持つことができ、CCはアクセスすべきグループ内の
物理的ロケーションを選択するデータトークンあろう。
ALUアドレスは、従来は最初のアドレスを使用すべき
であったが、グループ内のどのレジスタのものであって
もよい。これは、実際にはどちらのアドレスであっても
充分であるが、ペアのアドレスのうち低い方のアドレス
を使用して、アクセスされるべきマルチバイトのロケー
ションの場合にもあてはまる。ロケーション2E及び2
Fはトップレベルのアドレスマップ(Tで表示される)
において、つまりキーホールレジスタを通してだけでは
なく、アクセス可能であることに注目。これら2つのロ
ケーションもゼロにリセットされる。
Addresses in bold indicate that the location is accessible by both ALU and UPI, otherwise they have only UPI access. AL
A register group not pointed to by the U through the CC can have one ALU address specified in the command word, and the CC will be the data token that selects the physical location within the group to access.
The ALU address should have been that of the first address in the past, but could be of any register in the group. This is true in practice for either address, but it is also the case for multi-byte locations that are to be accessed using the lower address of the pair. Location 2E and 2
F is the top-level address map (displayed as T)
Note that it is accessible at, not only through the keyhole register. These two locations are also reset to zero.

【1390】レジスタファイルはアクセススピードを改
良するため、4つの「バンク」に物理的に区画される
が、これは如何なる方法でもアドレシングに影響を及ぼ
さない。主テーブルはMPEG用のアロケーションを示
し、2つの繰り返されるセクションがJPEGとH.2
61用のバリエーションを各々提供する。
The register file is physically partitioned into four "banks" to improve access speed, but this does not affect addressing in any way. The main table shows the allocations for MPEG and the two repeated sections are JPEG and H.264. Two
61 variations are provided respectively.

【1391】[1391]

【表191】 [Table 191]

【1392】[1392]

【表192】 [Table 192]

【1393】[1393]

【表193】 [Table 193]

【1394】[1394]

【表194】 [Table 194]

【1395】[1395]

【表195】 [Table 195]

【1396】[1396]

【表196】 [Table 196]

【1397】[1397]

【表197】 [Table 197]

【1398】[1398]

【表198】 [Table 198]

【1399】[1399]

【表199】 [Table 199]

【1400】[1400]

【表200】 B.3.7 「マイクロインストラクションワード」 本発明によれば、ALUマイクロインストラクションワ
ードは多くのフィールドに分けられ、その各々が上記構
造の異なる局面を制御する。指令ワードの中で使用され
る全ビット数は36であり、(拡張ビット入力のために
はプラス1)及びフィールドを横切る最小限度のエンコ
ーディングが採用され、ハードウェア構成の最大限度の
柔軟性が維持される。指令ワードは下記に詳述するよう
に区画される。ディフォルトフィールドバリュー、つま
り、ALUもしくはレジスタファイルのステートを変更
しないものがイタリック体で示されている。
[Table 200] B. 3.7 "Microinstruction Words" According to the present invention, the ALU microinstruction words are divided into a number of fields, each controlling a different aspect of the structure. The total number of bits used in the command word is 36 (plus 1 for extended bit input) and minimal encoding across fields is employed to maintain maximum flexibility in hardware configuration. To be done. The command word is partitioned as detailed below. The default field value, that is, the one that does not change the state of the ALU or register file is shown in italics.

【1401】[1401]

【表201】 [Table 201]

【1402】[1402]

【表202】 [Table 202]

【1403】[1403]

【表203】 [Table 203]

【1404】[1404]

【表204】 [Table 204]

【1405】[1405]

【表205】 セクションB.4 「バッファマネージャ」 B.4.1 「序文」 本文書は本発明によるバッファマネージャの目的、動作
及び実装を説明する(bman)。
[Table 205] Section B. 4 “Buffer Manager” B. 4.1 "Introduction" This document describes the purpose, operation and implementation of the buffer manager according to the invention.

【1406】B.4.2 「展望」 バッファマネージャはDRAMインターフェース用に4
つのアドレスを提供する。これらのアドレスはDRAM
内のページアドレスである。DRAMインターフェース
はDRAM内に2つのFIFO、コード化データバッフ
ァとトークンデータバッファを維持する。従って、4つ
のアドレスのために、各バッファのためのリードアドレ
スとライトアドレスがある。
[1406] B. 4.2 "Perspective" The buffer manager has 4 for the DRAM interface.
Provide one address. These addresses are DRAM
Is the page address inside. The DRAM interface maintains two FIFOs in DRAM, a coded data buffer and a token data buffer. Therefore, for four addresses, there is a read address and a write address for each buffer.

【1407】B.4.3 「インターフェース」 バッファマネージャはDRAMインターフェースとマイ
クロプロセッサに対してのみ接続される。マイクロプロ
セッサはB.4.4において示される「初期設定レジス
タ」を設定するためだけに使用する必要がある。DRA
Mインターフェースを備えたインターフェースは、各ア
ドレスのためにREQuest/ACKnowledg
eプロトコールにより制御される4つの18ビットアド
レスである。(バッファマネージャはデータパスの中に
はないので、バッファマネージャは2線式インターフェ
ースが欠けている。) 更に、バッファマネージャはDRAMインターフェース
クロック発生器をオフにし、DRAMインターフェース
スキャンチェインをオンにする。
[1407] B. 4.3 "Interface" The buffer manager is only connected to the DRAM interface and the microprocessor. The microprocessor is B.M. It need only be used to set the "initialization register" shown in 4.4. DRA
Interface with M interface, REQuest / ACKnowledg for each address
There are four 18-bit addresses controlled by the e-protocol. (The buffer manager lacks a 2-wire interface because it is not in the data path.) In addition, the buffer manager turns off the DRAM interface clock generator and turns on the DRAM interface scan chain.

【1408】B.4.4 「アドレス計算」 各バッファ用のリードアドレス及びライトアドレスは9
個の18ビットレジスタから作られる:− 初期設定レジスタ(マイクロプロセッサからのRW) ・BASECB − コード化データバッファのベース
アドレス ・LENGTHCB − (コード化データバッファの
ページにおける)最大サイズ ・BASETB − トークンデータバッファのベース
アドレス LENGTHTB − トークンデータバッファの(ペ
ージにおける)最大サイズ ・LIMIT − DRAMの(ページにおける)サイ
ズ ダイナミックレジスタ(マイクロプロセッサからのR
O) ・READCB − BASECBに関するコード化デ
ータバッファリードポインタ ・NUMBERCB − READCBに関するコード
化データバッファライトポインタ ・READTB − BASETBに関するトークンデ
ータバッファリードポインタ ・NUMBERTB − READTBに関するトーク
ンデータバッファライトポインタ アドレスを計算するには:− readaddr=(BASE+READ)mod L
IMIT writeaddr=(((READ+NUMBER)
mod LENGTH)+BA SE)mod LIM
IT バッファがDRAMのまわりを包むことがあるので、m
od LIMITという用語が用いられる。
[1408] B. 4.4 "Address calculation" The read address and write address for each buffer are 9
Made from 18 18-bit registers: -initialization register (RW from microprocessor) -BASECB-base address of coded data buffer-LENGTHCB-maximum size (in pages of coded data buffer) -BASETB-token data buffer Base address LENGTHTB-maximum size of token data buffer (in page) LIMIT-size of DRAM (in page) dynamic register (R from microprocessor)
O) -Coded data buffer read pointer for READCB-BASECB-NUMBERCB-Coded data buffer write pointer for READCB-READTB-Token data buffer read pointer for BASETB-NUMBERTB-Token data buffer write pointer for READTB : -Readaddr = (BASE + READ) mod L
IMIT writeaddr = (((READ + NUMBER)
mod LENGTH) + BASE) mod LIM
Since the IT buffer may wrap around the DRAM, m
The term od LIMIT is used.

【1409】B.4.5 「ブロックの説明」 本発明では、バッファマネージャはスノーパがDRAM
インターフェース接合部を監視するリングの中で接続さ
れる3つのトップレベルのモジュールで構成される。モ
ジュールはbmprtize(プライオリティ)、bm
instr(指令)であり、bmrecalc(再計
算)はそのオーダーのリングの中に配置され、omsn
oop(スノーパ)はアドレス出力の上に配置される。
[1409] B. 4.5 “Block Description” In the present invention, the buffer manager is
It consists of three top-level modules connected in a ring that monitors the interface junction. Module is bmprize (priority), bm
instr (command), bmrecalc (recalculation) is placed in the ring of that order, omsn
oop is placed above the address output.

【1410】モジュール、BmprtizeはREQ/
ACKプロトコール、バッファ用のFULL/EMPT
Yフラグを処理し、各アドレスのステート、つまり、i
sit a valid address?を維持す
る。この情報から、それは(もしある場合)どのアドレ
スを再計算すべきであるかをbminstrに命じる。
更に、それはFULL/EMPTYフラグを示すBUF
CSR(status)マイクロプロセッサレジスタ
を操作し、またマイクロプロセッサライトアクセスをバ
ッファマネージャレジスタに対して制御する、buf
accessマイクロプロセッサレジスタを操作する。
[1410] Module, Bmprize is REQ /
ACK protocol, FULL / EMPT for buffer
The Y flag is processed and the state of each address, i.e. i
sit a valid address? To maintain. From this information, it tells bminstr which address (if any) should be recomputed.
In addition, it is a BUF indicating a FULL / EMPTY flag.
Buf, which manipulates CSR (status) microprocessor registers and also controls microprocessor write access to buffer manager registers
Access the microprocessor registers.

【1411】モジュール、Bminstrは、bmpr
tizeによりアドレスを計算するように命じられる
と、6つの指令(2サイクル毎に1つ)を出して、アド
レスを計算するためにbmrecalcを制御する。
[1411] Module, Bminstr, is bmpr
When commanded by the size to calculate the address, it issues six commands (one every two cycles) to control bmrecalc to calculate the address.

【1412】モジュール、Bmrecalcはbmin
strの指令の下、アドレスを再計算する。それは2サ
イクル毎に指令を動かし、初期設定レジスタ及びダイナ
ミックレジスタの全て及び加算、減算及びモジュラスが
できる単純なALUを含む。それはそれが検出するFU
LL/EMPTYステートのSbmprtizeを知ら
せ、それが完了すると、アドレスを計算する。
[1412] Module, Bmrecalc is bmin
The address is recalculated under the command of str. It runs commands every two cycles and includes all of the initialization and dynamic registers and a simple ALU capable of addition, subtraction and modulus. FU it detects
Notify Sbmprize of LL / EMPTY state and when it is done, calculate address.

【1413】B.4.6 「ブロック実装」 B.4.6.1 「Bmprtize」 リセットにおいて、buf accessマイクロプロ
セッサレジスタは1に設定され、初期設定レジスタの設
定を可能にする。buf accessが1を読み戻し
ている間は、如何なるアドレス計算も開始されない。な
ぜなら、有効な初期設定レジスタがなければ、それらの
計算は無意味だからである。
[1413] B. 4.6 "Block implementation" B. 4.6.1 "Bmprize" At reset, the buf access microprocessor register is set to 1, allowing the initialization register to be set. No address calculation is started while the buf access is reading back 1. Because, without a valid initialization register, those calculations are meaningless.

【1414】一度buf accessが完全認定され
る(それにゼロを書き込む)と、その目的は全ての4つ
のアドレスを有効にすることであるので、mbprti
zeは(それらを再計算して)全てのアドレスを有効に
するように務める。この段階で、バッファマネージャは
「スターティングアップ」であり(つまり、全てのアド
レスがまだ計算されていない)、こうして如何なるリク
エストも認定されない。全てのアドレスが一度有効にな
ると、スタートアップが終了し、全てのリクエストが認
定される。この時点から、アドレスが無効になる(一度
使用され認識されているので)と、それは再計算される
ことになる。
[1414] Once the buf access is fully qualified (writing a zero to it), its purpose is to enable all four addresses, so mbprti
ze serves to validate all addresses (recalculating them). At this stage, the buffer manager is "starting up" (i.e., all addresses have not been calculated) and thus no requests are qualified. Once all addresses are valid, the startup will be terminated and all requests will be qualified. From this point on, if the address becomes invalid (since it has been used and recognized once), it will be recalculated.

【1415】アドレス間に優先順位を付けることは必要
ではない。なぜなら、バッファマネージャが12サイク
ル毎にアドレスを再計算することができる一方、DRA
Mインターフェースは最高の場合で、各17サイクル毎
にアドレスを使用することができるからである。従っ
て、スタートアップ後、一度に1つのアドレスだけが無
効となる。従って、bmprtizeは現在計算されて
いない無効アドレスを再計算するであろう。
[1415] It is not necessary to prioritize addresses. Because the buffer manager can recalculate the address every 12 cycles, while the DRA
This is because the M interface, in the best case, can use the address every 17 cycles. Therefore, after startup, only one address is invalid at a time. Therefore, bmprize will recalculate invalid addresses that are not currently calculated.

【1416】発明では、スタートアップはbuf ac
cessが認定される度に再入力されるので、マイクロ
プロセッサアクセス中は如何なるアドレスもDRAMイ
ンターフェースに供給されない。
[1416] In the invention, the startup is buf ac
No address is supplied to the DRAM interface during microprocessor access because the cess are re-entered each time it is qualified.

【1417】B.4.6.2 「Bminstr」 モジュール、BminstrはMOD12サイクルカウ
ンタ(アドレスを作るためにそれが取るサイクル数)を
含む。偶数サイクルが指令を開始するのに対して、奇数
サイクルが指令を終了することに注目。それがリードも
しくはライト計算であるか否かと共に、上位3ビットは
次のように、bmrecalcのための指令にデコード
される: リードアドレスのために:
[1417] B. 4.6.2 "Bminstr" Module, Bminstr contains a MOD12 cycle counter (the number of cycles it takes to create an address). Note that even cycles start the command, while odd cycles finish the command. The upper 3 bits, along with whether it is a read or write computation, are decoded into a command for bmrecal as follows: For the read address:

【1418】[1418]

【表206】 ライトアドレスのために:[Table 206] For write address:

【1419】[1419]

【表207】 注:最後のオペレーションの結果は常にアキュムレータ
の中に保持される。
[Table 207] Note: The result of the last operation is always kept in the accumulator.

【1420】再計算されるべきアドレスがない場合、サ
イクルカウンタはゼロで空転し、こうしてレジスタのい
ずれにも書き込まない指令を生じさせる。これは如何な
る影響も与えない。
If there are no addresses to be recomputed, the cycle counter spins at zero thus giving a command to not write to any of the registers. This has no effect.

【1421】B.4.6.3 「Bmrecalc」 モジュール、Bmrecalcは2クロックサイクル毎
に1つのオペレーションを遂行する。それは偶数カウン
タサイクル(start alu cyc)上のbmi
nstr(及びそのバッファとioタイプ)からの指令
の中でラッチし、奇数カウンタサイクル(end al
u cyc)上のオペレーション結果をラッチする。オ
ペレーション結果は常に、指令が明記するレジスタに加
えて、Accumレジスタの中に記憶される。更に、e
nd alu cyc上で、bmrecalcはたった
いま計算されたアドレスの使用がバッファをフルにする
か、エンプティにするかに関して、またいつアドレス及
びfull/emptyがうまく計算されるかに関して
bmprtizeに通知する(load addr)。
[1421] B. 4.6.3 The "Bmrecalc" module, Bmrecalc, performs one operation every two clock cycles. It is a bmi on an even counter cycle (start alu cyc)
Latch in command from nstr (and its buffer and io type) and
Latch the operation result on u cyc). The operation result is always stored in the Accum register in addition to the register specified by the command. Furthermore, e
On nd alu cyc, bmrecalc informs bmprize as to whether the use of the just calculated address fills or emptys the buffer, and when the address and full / empty are calculated successfully. addr).

【1422】Full/emptyはオペレーション結
果のサインビットを使用して計算される。
[1422] Full / empty is calculated using the sign bit of the operation result.

【1423】モジュラスオペレーションは真のモジュラ
スではないが、A mod Bが次のように実施され: (A>B? (A−B):A) しかしながら、これは次の場合に間違っているだけであ
り、 A>(2B−1) これは決して起こらない。
[1432] The modulus operation is not a true modulus, but A mod B is implemented as follows: (A> B? (AB): A) However, this is only wrong in the following cases: Yes, A> (2B-1) This never happens.

【1424】B.4.6.4 「Bmsnoop」 モジュール、BmsnoopはDRAMインターフェー
スに供給されるアドレスを監視する4つの18ビットス
ーパー・スノーパで構成される。スノーパは外部DRA
Mのオンチップテストを可能にするため、superで
なければならない(つまり、クロックラニングでアクセ
スできなければならない)。これらのスノーパはREQ
/ACKシステム上で作用しなければならず、従って、
装置上の他のものとは異なる。
[1424] B. 4.6.4 "Bmsnoop" module, Bmsnoop consists of four 18-bit super snowpers that monitor the address supplied to the DRAM interface. Snowpa is an external DRA
It must be super (ie, must be accessible by clock running) to allow on-chip testing of M. These snowpas are REQ
Must work on the / ACK system, and therefore
Different from the others on the device.

【1425】REQ/ACKは、2線式プロトコールに
対抗するものとして、このインターフェース上で使用さ
れる。なぜなら、情報をセンダーに送り返す(つまり受
取を知らせる)ことが必須であり、アクセプトはそれを
しないからである。従って、これはFIFOポインタを
厳密に監視する。
REQ / ACK is used on this interface as opposed to the 2-wire protocol. Because it is essential to send the information back to the sender (that is, to acknowledge receipt), and accept does not. Therefore, it closely monitors the FIFO pointer.

【1426】B.4.7 「レジスタ」 初期レジスタへのマイクロプロセッサのライトアクセス
を得るために、bufaccessに1を書き込むべき
であり、buf accessが1を読み返す時にアク
セスが得られる。逆に、マイクロプロセッサのライトア
クセスを放棄するために、ゼロをbuf access
に書き込むべきである。buf accessがゼロを
読み返す時にアクセスが得られる。buf acces
sは1にリセットされることに注目。
[1426] B. 4.7 "Register" In order to gain microprocessor write access to the initial register, a 1 should be written to buaccess and access is gained when buf access reads back 1. Conversely, it zeroes out the buf access to relinquish the microprocessor's write access.
Should write to. Access is gained when the buf access reads back zero. buf acces
Note that s is reset to 1.

【1427】本発明のダイナミックレジスタ及び初期設
定レジスタはいつでも読むことができるが、ダイナミッ
クレジスタがマイクロプロセッサを変化させていないこ
とを保証するため、ライトアクセスを得なければならな
い。
Although the dynamic and initialization registers of the present invention can be read at any time, write access must be obtained to ensure that the dynamic registers are not changing the microprocessor.

【1428】初期設定レジスタは一度だけ書き込まれる
ことが意図されている。それらを書き直すことにより、
バッファを間違って操作させることになるかもしれな
い。しかしながら、オン・ザ・フライのバッファの長さ
を増加させ、適時にバッファマネージャに新しい長さを
使用させることが企図されている。初期設定レジスタ内
のバリューが、例えば、バッファがオーバーラップしな
いことを感じられるかどうかを見るために如何なるチェ
ックも今まで行われてはいない。これはユーザーの責任
である。
The Initialization Register is intended to be written only once. By rewriting them,
You might get the buffer manipulated incorrectly. However, it is contemplated to increase the length of the buffer on the fly and have the buffer manager use the new length in a timely manner. No checking has been done to date to see if the value in the initialization register, for example, feels that the buffers do not overlap. This is the user's responsibility.

【1429】[1429]

【表208】 表中、Dがレジスタビットを指示し、xは如何なるレジ
スタビットも示さない。
[Table 208] In the table, D indicates a register bit and x does not indicate any register bit.

【1430】[1430]

【表209】 [Table 209]

【1431】[1431]

【表210】 [Table 210]

【1432】[1432]

【表211】 B.4.8 「照合」 確認は小さなFIFO’sをダミーのDRAMインター
フェースの上に置き、Lsimにおいて、またトップレ
ベルのチップシミュレーションの一部としてC−コード
において実施された。
[Table 211] B. 4.8 "Verification" Verification was performed in Lsim and in C-code as part of the top-level chip simulation, with small FIFO's placed on the dummy DRAM interface.

【1433】B.4.9 「テスト」 bmanに対するテストカバリッジはbmsnoop内
のスノーパ、ダイナミックレジスタ(B.4.4に示し
た)を通してであり、DRAMインターフェーススキャ
ンチェインの一部であるスキャンチェインを用いて行わ
れる。 セクションB.5 「逆モデラ」 B.5.1 「序文」 本文書は本発明による逆モデラ(imodel)及びト
ークンフォマッティング(hsppk)の目的、動作及
び実行について説明する。
[1433] B. 4.9 "Test" Test coverage for bman is through a snowpaer in bmsnoop, a dynamic register (shown in B.4.4) and is done using a scan chain that is part of the DRAM interface scan chain. Section B. 5 "Reverse Modeler" B. 5.1 "Introduction" This document describes the purpose, operation and execution of the inverse modeler and token formatting (hspk) according to the present invention.

【1434】注:hsppkはハフマンデコーダの階層
型部分であるが、機能的には逆モデラの一部である。従
って、本セクションで論じた方がよい。
Note: hsppk is a hierarchical part of the Huffman decoder, but functionally part of the inverse modeler. Therefore, it is better discussed in this section.

【1435】B.5.2 「展望」 トークンバッファは、imodelとhsppkの間に
あり、多量のデータを全てオフチップDRAMに包含す
ることができる。このメモリーの効率的な使用を確実に
するため、データは16ビットフォーマットでなければ
ならない。トークンフォマッティングはハフマンデコー
ダからのデータをトークンバッファのためにこのフォー
マットに「パック」する。従って、逆モデラはトークン
バッファフォーマットからデータを「取り出す」(アン
パック)。
[1435] B. 5.2 "Perspective" The token buffer lies between the model and hspk and can contain large amounts of data all in off-chip DRAM. To ensure efficient use of this memory, the data must be in 16 bit format. Token formatting "packs" the data from the Huffman Decoder into this format for the token buffer. Therefore, the inverse modeler "fetches" (unpacks) data from the token buffer format.

【1436】しかしながら、逆モデラの主な機能は、
「ラン/レベル」コードからゼロデータのランに、そし
てレベルに拡張することである。それに加えて、逆モデ
ラはデータトークンが少なくとも64の係数を持ち、ス
タートアップクライテリアを満たしていないストリーム
を停止させるための「ゲート」を提供することを保証す
る。
[1436] However, the main function of the reverse modeler is
To extend from a "run / level" code to a run of zero data, and then to levels. In addition, Inverse Modeler ensures that the data token has a factor of at least 64 and provides a "gate" for stopping streams that do not meet the startup criteria.

【1437】B.5.3 「インターフェース」 B.5.3.1 「Hsppk」 本発明では、Hsppkは入力としてハフマンデコーダ
を、そして出力としてトークンバッファを持つ。両イン
ターフェースは2線式タイプのものであり、入力は17
ビットのトークンポートであり、出力は16ビットの
「パックされたデータ」プラスFLUSH信号である。
それに加えて、Hsppkはハフマンクロック発生器か
らクロックされるので、ハフマンスキャンチェインに接
続される。 B.5.3.2 「Imodel」 Imodelは入力としてトークンバッファスタートア
ップ出力ゲートロジック(bsogl)を持ち、出力と
して逆量子化器を持つ。トークンバッファからの入力は
16ビットの「パックされたデータ」プラスblock
end信号であり、bsoglからの入力は1つのw
irestream enableである。出力は11
ビットのトークンポートである。全てのインターフェー
スは2線式プロトコールにより制御される。Imode
lはそれ自体のクロック発生器とスキャンチェインを持
つ。
[1437] B. 5.3 "Interface" B. 5.3.1 "Hsppk" In the present invention, Hsppk has a Huffman decoder as input and a token buffer as output. Both interfaces are of 2-wire type, and input is 17
It is a bit token port and the output is a 16-bit "packed data" plus a FLUSH signal.
In addition, Hsppk is clocked from the Huffman clock generator and is therefore connected to the Huffman scan chain. B. 5.3.2 "Imodel" The Imodel has a token buffer start-up output gate logic (bsogl) as an input and an inverse quantizer as an output. Input from token buffer is 16-bit "packed data" plus block
end signal and the input from bsogl is one w
It is an irestream enable. Output is 11
Bit token port. All interfaces are controlled by a 2-wire protocol. Imode
l has its own clock generator and scan chain.

【1438】両ブロック共その出力においてスノーパだ
けに対するマイクロプロセッサアクセスを持つ。
Both blocks have microprocessor access to the snowpaer only at their outputs.

【1439】B.5.4 「ブロックの説明」 B.5.4.1 「Hsppk」 Hsppkはハフマンから17ビットデータを受け取
り、トークンバッファに16ビットデータを出力する。
これはまず入力データを12ビットワードに切り捨てる
かスプリットし、次にこれらのワードを16ビットのフ
ォーマットにパックすることにより達成される。
[1439] B. 5.4 “Explanation of Blocks” B. 5.4.1 “Hsppk” Hsppk receives 17-bit data from Huffman and outputs 16-bit data to the token buffer.
This is accomplished by first truncating or splitting the input data into 12 bit words and then packing these words into a 16 bit format.

【1440】B.5.4.1.1 「スプリッティン
グ」 Hsppkは逆ハフマンから17ビットデータを受け取
る。このデータは以下のフォーマットを使って17ビッ
トにフォーマットされる。
[1440] B. 5.4.1.1 "Splitting" Hsppk receives 17-bit data from inverse Huffman. This data is formatted to 17 bits using the following format.

【1441】Fはフォーマットを指定し;Eは拡張ビッ
ト;Rはランビット;Lはレングスビット(サインマグ
ニチュードで示した)あるいはnon−データトークン
ビット;xはdon’t careである。
F specifies format; E is extension bit; R is run bit; L is length bit (shown in sign magnitude) or non-data token bit; x is don't care.

【1442】 通常のトークンは底部12ビットを占めるだけであり、
以下の形態を取る: ExxxxxxLLLLLLLLLLL しかしながら、データトークンは以下の形態で各ワード
の中にラン及びレベルを持つ: ERRRRRRLLLLLLLLLLL これは次のフォーマットに分けられる: ERRRRRRLLLLLLLLLLL−>FRRRRRR00000 Format 1、ELLLLLLLLLLLFormat 0a あるいは、ランがゼロフォーマットであれば、0が使用
され: E000000LLLLLLLLLLL−>FLLLLLLLLLLL Format 0 フォーマット0において、拡張ビットが失われ、1であ
ると仮定されることが解る。従って、拡張がゼロである
場合、それは使用できない。この場合、フォーマット1
は無条件に使用できる。
[1442] Normal tokens only occupy the bottom 12 bits,
Take the following form: ExxxxxxLLLLLLLLLLL However, the data token has the run and level in each word in the following forms: ERRRRRRLLLLLLLLLLL which is divided into the following format: ERRRRRRLLLLLLLLLLL-> FRRRRRR00000 Format 1, ELLLLLLLLLLLFormat 0a or run is If it is zero format then 0 is used: E000000LLLLLLLLLLLL-> FLLLLLLLLLLL Format 0 In format 0 it is seen that the extension bit is lost and is assumed to be 1. Therefore, if the extension is zero, it cannot be used. In this case, format 1
Can be used unconditionally.

【1443】B.5.4.1.2 「パッキング」 スプリッティングの後、全てのデータワードは12ビッ
ト幅である。4つの全ての12ビットワードは3つの1
6ビットワードに「パック」される:
[1443] B. 5.4.1.2 "Packing" After splitting, all data words are 12 bits wide. All four 12-bit words are three 1s
"Packed" into a 6-bit word:

【1444】[1444]

【表212】 B.5.4.1.3 「バッファのフラッシング」 本発明のDRAMインターフェースはブロック、32の
16ビット「パック済み」ワードを集め、バッファに書
き込む。これは、ブロックが部分的にしか完了していな
い場合、データをストリームの終わりでDRAMインタ
ーフェースの中に張り付けることができることを意味し
ている。従って、フラッシングメカニズムが必要であ
る。従って、.Hsppkは現在の部分的完了ブロック
を無条件に書き込むようにDRAMインターフェースに
信号を送る。
[Table 212] B. 5.4.1.3 "Buffer Flushing" The DRAM interface of the present invention collects blocks, 32 16-bit "packed" words, and writes them to the buffer. This means that data can be pasted into the DRAM interface at the end of the stream if the block is only partially completed. Therefore, a flushing mechanism is needed. Therefore ,. Hspk signals the DRAM interface to unconditionally write the current partially completed block.

【1445】 B.5.4.2.1 「Imup(アンパッカー)」 Imupは3つの機能を果たす: 4)その16ビットのフォーマットからのデータを12
ビットワードにアンパックする。
B. 5.4.2.1 “Imup” The Imup performs three functions: 4) 12 data from its 16-bit format.
Unpack into bitwords.

【1446】[1446]

【表213】 5)トークンバッファのフラッシングの間正しいデータ
を維持する。
[Table 213] 5) Maintain correct data during flushing token buffer.

【1447】現在の部分的完了ブロックを無条件に書き
込むことにより、DRAMインターフェースがフラッシ
ュする時、役に立たないデータはブロックに残ったまま
である。Imupはブロックの終わりまで、役に立たな
いデータを、つまりフラッシュトークンからの全てのデ
ータを削除しなければならない。
By unconditionally writing the current partially completed block, useless data remains in the block when the DRAM interface flashes. Imup has to delete the useless data, ie all the data from the flash token, until the end of the block.

【1448】6)スタートアップクライテリアが満たさ
れるまで、データを引き留める。ブロックからのデータ
出力は、「有効な」(stream enable)が
バッファスタートアップから各々の異なるストリームの
ためにアクセプトされるという条件付きである。従っ
て、12ビットデータがhsppkに出力される。 B.5.4.2.2 「Imex (EXpande
r)」 本発明では、Imexは全てのランレングスコードをゼ
ロのランと、それに続くレベルに拡張する。
[1468] 6) Hold data until startup criteria are met. The data output from the block is conditional that a "stream enable" is accepted for each different stream from the buffer startup. Therefore, 12-bit data is output to hspk. B. 5.4.2.2 “Imex (Expande
r) ”In the present invention, Imex extends all run-length codes to a run of zeros and subsequent levels.

【1449】 B.5.4.2.3 「Impad(PADder)」 Impadは全てのデータトークンボディが64(もし
くはそれ以上)のワードを含むことを確実にする。それ
はトークンの最後のワードをゼロでパディングすること
により行われる。データトークンはボディにおいて64
以上のワードを持つためにチェックされない。
[1449] B. 5.4.2.3 "Impad (PADder)" Impad ensures that all data token bodies contain 64 (or more) words. It does this by padding the last word of the token with zeros. 64 data tokens in body
Not checked for having more words.

【1450】B.5.5 「ブロック実行」 B.5.5.1 「Hsppk」 典型的に、1サイクルにおいてスプリッティングとパッ
キングが行われる。
[1450] B. 5.5 "Block execution" B. 5.5.1 "Hsppk" Typically, splitting and packing are performed in one cycle.

【1451】B.5.5.1.1 「スプリッティン
グ」 まず、フォーマットが決定される: IF (datatoken) IF (lastformat==1) use format 0a; ELSE IF (run==0) use format 0; ELSE use format 1; そしてフォーマットビットが決定される: format 0 format bit = 0; format 0a format bit = extension bi t; format 1 format bit = 1; format 1が使用される場合、コードレベルがま
だ出力されなければならないので、次のサイクルにおい
て新しいデータをアクセプトすべきではない。 B.5.5.1.2 「パッキング」 パッキング手順は4つの有効なデータ入力毎に循環す
る。16ビットワードの出力は保持されている最後の有
効なワードとそれに続くワードから形成される。これが
有効でない場合、出力も有効ではない。手順は以下の通
りである:
[1451] B. 5.5.1.1 “Splitting” First, the format is determined: IF (datatoken) IF (lastformat == 1) use format 0a; ELSE IF (run == 0) use format 0; ELSE use format 1; Then the format bits are determined: format 0 format bit = 0; format 0a format bit = extension bit; format 1 format bit = 1; if format 1 is used, the code level must still be output at the code level. No new data should be accepted in the next cycle. B. 5.5.1.2 “Packing” The packing procedure cycles through every four valid data entries. The output of the 16-bit word is formed from the last valid word held, followed by the word. If this is not valid then the output is not valid either. The procedure is as follows:

【1452】[1452]

【表214】 表中、xは未定義のビットを指示する。[Table 214] In the table, x indicates an undefined bit.

【1453】有効なサイクル0の間、如何なるワードも
有効ではないので出力されない。
During valid cycle 0, no word is output because it is not valid.

【1454】有効なサイクルナンバーがリングカウンタ
によって維持される。それはスプリッタからの有効なデ
ータ及びアクセプトされた出力によって増分される。
[1454] A valid cycle number is maintained by the ring counter. It is incremented by the valid data from the splitter and the accepted output.

【1455】FLUSH(またはpicture en
d)トークンが受け取られ、トークン自体が出力の準備
が整うと、フラッシュ信号がDRAMインターフェース
に出力され、有効なサイクルをゼロにリセットする。フ
ラッシュトークンがサイクル3以外のものに到達する
と、トークン自体が出力することを保証するため、フラ
ッシュ信号は有効なサイクルを遅らせなければならな
い。
[1455] FLUSH (or picture en
d) When the token is received and the token itself is ready for output, a flash signal is output to the DRAM interface, resetting the valid cycles to zero. When the flush token arrives in something other than cycle 3, the flush signal must delay the valid cycle to ensure that the token itself outputs.

【1456】B.5.5.2 「Imodel」 B.5.5.2.1 「Imup(アンパッカー)」 パッカーの場合と同様に、最後の有効な入力が記憶さ
れ、次の入力と組み合わされて、アンパッキングを可能
にする。
[1456] B. 5.5.2 "Imodel" B.I. 5.5.2.1 "Imup" As in the packer case, the last valid input is stored and combined with the next input to allow unpacking.

【1457】[1457]

【表215】 表中、xは未定義のビットを指示する。[Table 215] In the table, x indicates an undefined bit.

【1458】有効なサイクルナンバーがリングカウンタ
によって維持される。アンパック済みデータはトークン
のデータ、フラッシュ及びそれからデコードされたピク
チャエンドを含む。それに加えて、フォーマット及び拡
張ビットがアンパック済みデータからデコードされる。
[1458] A valid cycle number is maintained by the ring counter. The unpacked data includes token data, flash and picture end decoded from it. In addition, the format and extension bits are decoded from the unpacked data.

【1459】formatbit is extn=
(lastformat==1) 11 databo
dy format=databody && (forma
tbit && lastformatbit) トークンデコーディングのため、またimexに送られ
るために。
[1459] format bit is extn =
(Lastformat == 1) 11 databo
dy format = databody && (format
tbit && lastformatbit) For token decoding and to be sent to imex.

【1460】FLUSH(またはpicture en
d)トークンがアンパックされ、imexに出力され、
ブロック・エンド信号がDRAMインターフェースから
受け取られるまで、全てのデータが削除される(Val
idは低くされる)。
[1460] FLUSH (or picture en
d) The token is unpacked and output to imex,
All data is deleted until the block end signal is received from the DRAM interface (Val
id will be lowered).

【1461】B.5.5.2.2 「Imex (EX
pander)」 本発明によれば、imexはラン/レベルコードを外へ
拡大するための、4つのステートマシーンである。ステ
ートマシーンは次の通りである: ・ステート0:ランカウントをランコードからロードす
る。
[1461] B. 5.5.2.2 "Imex (EX
According to the present invention, the image is a four state machine for expanding run / level codes out. The state machine is as follows: State 0: Load runcount from runcode.

【1462】・ステート1:ランカウントを減少させ、
ゼロを出力する。
[1462] State 1: Decrease the run count,
Outputs zero.

【1463】・ステート2:入力データ及び出力レベ
ル;ディフォルトステート。
[1463] State 2: Input data and output level; default state.

【1464】・ステート3:不法なステート。[1464] State 3: Illegal state.

【1465】 B.5.5.2.3 「Impad(PADder)」 Impadはimexにより、データトークンヘッダに
関して知らされる。次に、それがトークンボディの中の
係数の数をカウントする。64の係数になる前に、トー
クンが終了すると、ゼロ係数がトークン・エンドで挿入
され、それを64係数になるように完了させる。例え
ば、未拡張データヘッダがそれらの後に挿入された64
のゼロ係数を持っている。64以上の係数を持つデータ
トークンはimpadによって影響されない。
B. 5.5.2.3 "Impad (PADder)" Impad is signaled by imex regarding the data token header. Then it counts the number of coefficients in the token body. When the token ends, before the 64 coefficient, a zero coefficient is inserted at the token end, completing it to the 64 coefficient. For example, 64 with unextended data headers inserted after them.
Has a zero coefficient of. Data tokens with a coefficient greater than 64 are not affected by impad.

【1466】B.5.6 「レジスタ」 本発明のimodel及びhsppkはそれらのスノー
パを除き、マイクロプロセッサレジスタを持たない。
[1466] B. 5.6 "Registers" The imodel and hspk of the present invention do not have microprocessor registers, except for their snowpers.

【1467】[1467]

【表216】 表中、V=有効ビット;A=アクセプトビット;E=拡
張ビット;D=データビット。
[Table 216] In the table, V = valid bit; A = accept bit; E = extended bit; D = data bit.

【1468】B.5.7 「照合」 選択されたストリームはLsimシミュレーションを通
して流れる。
[1468] B. 5.7 "Match" The selected stream flows through the Lsim simulation.

【1469】B.5.8 「テスト」 入力におけるimodelに対するテストカバリッジは
トークンバッファ出力スノーパを通してであり、出力に
おいては、imodel自体のスノーパを通してであ
る。ロジックはimodel自体のスキャンチェインで
カバーされる。
[1469] B. 5.8 "Test" The test coverage for the imodel at the input is through the token buffer output snowper, and at the output is through the snowper of the imodel itself. The logic is covered by the scan chain of the imodel itself.

【1470】hsppkの出力はハフマン出力スノーパ
を通してアクセスできる。ロジックはハフマンスキャン
チェインを通して見ることができる。 セクションB.6 「バッファスタートアップ」 B.6.1 「序文」 本セクションは本発明によるバッファスタートアップの
方法及び実行について説明する。
The output of hspk can be accessed through the Huffman Output Snowpa. Logic can be seen through the Huffman scan chain. Section B. 6 “Buffer startup” B. 6.1 "Preface" This section describes the method and implementation of buffer startup according to the present invention.

【1471】B.6.2 「展望」 ピクチャ・ストリームを円滑にかつ連続的に表示できる
ことを保証するため、デコーディングを開始できる前
に、一定量のデータを集めなければならない。これをス
タートアップ条件と呼ぶ。コーディングスタンダードは
ほぼ集められることが必要なデータ量に翻訳され得るV
BVディレイを指定する。全てのストリームはそのデー
タがトークンバッファから進み、デコーディングを可能
にする前に、そのスタートアップ条件を満たすことを確
実にすることが、「バッファスタートアップ」の目的で
ある。それは、トークンバッファの出力(つまり、逆モ
デラ)において、概念的なゲート(出力ゲート)により
バッファの中に保持される。そのスタートアップ条件が
一度満たされると、このゲートはストリームのために開
かれるだけである。
[1471] B. 6.2 "Perspective" In order to ensure that the picture stream can be displayed smoothly and continuously, a certain amount of data must be collected before decoding can begin. This is called the startup condition. Coding standards can be translated into almost any amount of data that needs to be collected V
Specify the BV delay. It is the purpose of "buffer start-up" to ensure that all streams meet their start-up conditions before their data travels out of the token buffer and allows decoding. At the output of the token buffer (ie, the inverse modeler), it is held in the buffer by a conceptual gate (output gate). This gate is only opened for streams once its startup conditions are met.

【1472】B.6.3 「インターフェース」 Bscntbit(バッファスタートアップビットカウ
ンタ)はデータパスの中にあり、2線式インターフェー
スにより通信し、マイクロプロセッサに接続される。更
に、それは2線式インターフェースでbsogl(バッ
ファスタートアップ出力ゲートロジック)に分岐する。
Bsoglは2線式インターフェースを介して、出力ゲ
ートを実行するimup(逆モデラアンパッカー)を制
御する。 B.6.4 「ブロック構造」 Bscntbitはスタートコード検出器とコード化デ
ータバッファとの間のデータパスにある。この1つのサ
イクルブロックはブロックを出る有効なデータワードを
カウントし、この数をマイクロプロセッサからロードさ
れるであろうスタートアップ条件(またはターゲット)
と比較する。ターゲットが満たされると、bsoglが
伝えられる。データはbscntbitによって影響さ
れない。Bsoglはbscntbitとimup(逆
モデラ内)の間にある。事実上、それはストリームがそ
れらのターゲットを満たしたことを示すインジケータの
列である。列は別の「インジケータ」がimupにアク
セプトされる時に、バッファを出るストリーム(つま
り、imupでデータストリーム内に受け取られるフラ
ッシュトークン)によって動かされる。列が空であれば
(つまり、そのスタートアップターゲットを満たしたバ
ッファにストリームがなければ)、imup内のストリ
ームは立ち往生させられる。
[1472] B. 6.3 "Interface" The Bscntbit (buffer startup bit counter) is in the data path and communicates via a two wire interface and is connected to the microprocessor. In addition, it branches to bsogl (buffer start-up output gate logic) on a two wire interface.
Bsogl controls an imup (inverse modeler unpacker) that implements an output gate via a two-wire interface. B. 6.4 "Block Structure" The Bscntbit is in the data path between the start code detector and the coded data buffer. This one cycle block counts the valid data words that leave the block, and this number is the startup condition (or target) that will be loaded from the microprocessor.
Compare with. When the target is filled, bsogl is delivered. The data is unaffected by bscntbit. Bsogl lies between bscntbit and imup (in the reverse modeler). In effect, it is a string of indicators that the streams have met their targets. The column is moved by the stream that exits the buffer (ie, the flush token received in the data stream at the imup) when another "indicator" is accepted by the imup. If the column is empty (that is, if there are no streams in the buffer that filled its startup target), the stream in imup is stalled.

【1473】その列は有限の深さを持つだけであるが、
これはbsoglの中の列を壊すことによって無限に拡
大でき、マイクロプロセッサがその列を監視できるよう
にする。これらの列のメカニズムは内部列及び外部列と
各々称される。
[1473] The sequence only has a finite depth,
It can be expanded indefinitely by breaking a row in bsogl, allowing the microprocessor to monitor that row. The mechanisms of these columns are referred to as the inner and outer columns, respectively.

【1474】B.6.5 「ブロック実行」 B.6.5.1 「Bsbitcnt(バッファスター
トアップビットカウンタ)」 Bscntbitはバッファスタートアップに入力され
る全ての有効なワードをカウントする。カウンタ(bs
ctr)は16〜24ビット幅のプログラム可能カウン
タである。更に、bsctrはそれに充分な速度を与え
るためにキャリールックアヘッド回路を具備する。Bs
ctrの幅はced bs prescaleによって
プログラムされる。それはビットを8〜16高くするこ
とにより行われ、それにより常にキャリーが送られるよ
うになる。従って、それらのビットは効果的に使用され
ないままである。bsctrの上位8ビットがターゲッ
ト(ced bs target)との比較のために使
用される。
[1474] B. 6.5 “Block execution” B. 6.5.1 "Bsbitcnt (Buffer Startup Bit Counter)" The Bscntbit counts all valid words input to the buffer startup. Counter (bs
ctr) is a programmable counter 16 to 24 bits wide. In addition, the bsctr comprises a carry look ahead circuit to give it sufficient speed. Bs
The width of ctr is programmed by ced bs prescale. It does this by raising the bit 8 to 16 so that it always carries a carry. Therefore, those bits remain effectively unused. The upper 8 bits of bsctr are used for comparison with the target (ced bs target).

【1475】比較(ced bs count≧ced
bs target)がbscmpにより行われる。
[1475] Comparison (ced bs count ≧ ced
bs target) is performed by bscmp.

【1476】ターゲットはストリームがハフマンデコー
ダの中にあり、マイクロプロセッサにより計算される時
に、ストリームから引き出される。従って、それはスト
リーム・スタート後に設定されるだけであろう。スター
トアップ前に、targetvalidは低く設定され
る。ced bs targetへの書き込みはtar
get validを高く設定し、bscmpにおける
比較が行われるようにする。比較がced bs co
unt≧ced bs targetであることを示す
と、target validは低く設定される。ター
ゲットは満たされた。
The target is derived from the stream when it is in the Huffman decoder and is calculated by the microprocessor. Therefore it will only be set after the stream start. Before startup, targetvalid is set low. Writing to ced bs target is tar
Set get valid high so that the comparison in bscmp is done. Comparison is ced bs co
When unt ≧ ced bs target is shown, the target valid is set low. The target is satisfied.

【1477】ターゲットが満たされると、カウントがリ
セットされる。それはストリーム・エンドでリセットし
ないことに注意。それに加えて、それがストリーム・エ
ンドの前であれば、カウンティングはターゲットが満た
された後に不能化される。カウントは255で飽和す
る。
[1477] When the target is full, the count is reset. Note that it does not reset at the stream end. In addition, counting is disabled after the target is filled if it is before the stream end. The count saturates at 255.

【1478】ストリーム・エンド(つまり、フラッシ
ュ)がbsbitcntにおいて検出されると、abs
flush eventが作られる。ターゲットが満
たされる前にストリームが終了すると、追加イベント
(bs flush before target m
et event)が作られる。これらのイベントが発
生すると、ブロックは立ち往生させられる。これによ
り、ユーザーは次のストリームのターゲットサーチをや
り直すことができ、あるいはbs flush bef
ore target met eventイベントの
場合、次のいずれかである: 1)target metを強いるであろうゼロのター
ゲットを書き込むあるいは 2)ターゲットが満たされず、最後のストリームと組み
合わされたこれがターゲットに達するまで、次のストリ
ームを進ませることに注目。この次のストリームのため
のターゲットはそれに応じて調整されるべきである。
If a stream end (ie flush) is detected at bsbitcnt, then abs
A flush event is created. If the stream ends before the target is filled, an additional event (bs flush before target m
et event) is created. When these events occur, the block is stranded. This allows the user to redo the target search for the next stream, or bs flush bef
For an ore target met event event, one of the following: 1) Write a zero target that will compel the target met, or 2) the target is unfilled and until combined with the last stream reaches the target. Note the advancing next stream. The target for this next stream should be adjusted accordingly.

【1479】B.6.5.2 「BSOGL(バッファ
スタートアップ出力ゲートロジック)」 前述したように、Bsoglはストリームがそのターゲ
ットを満たしたことを指示するインジケータ列である。
列タイプはced bs queue(内部(0)また
は外部(1))によって設定される。これは内部列を選
択するためのリセットである。列の深さはコード化デー
タバッファ、ハフマン及びトークンバッファにおいて存
在できる満たされたストリームの最大数を決定する。こ
の数に達すると(つまり、列が一杯になると)、bso
glはデータパスをbsbitcntで立ち往生させ
る。
[1479] B. 6.5.2 "BSOGL (Buffer Startup Output Gate Logic)" As described above, Bsogl is an indicator string indicating that the stream has satisfied its target.
The column type is set by ced bs queue (internal (0) or external (1)). This is a reset to select internal columns. The row depth determines the maximum number of filled streams that can exist in the coded data buffer, Huffman and token buffers. When this number is reached (that is, the row is full), bso
gl stalls the datapath with bsbitcnt.

【1480】内部列の使用はマイクロプロセッサからの
如何なる動作も必要としない。しかしながら、列の深さ
を増加させる必要があれば、(設定されるべきced
bsqueueへのアクセスを得るためにced bs
accessを設定し、target met ev
ent及びstream end eventが可能化
され、アクセスが放棄されることにより)外部列を設定
できる。
[1480] The use of internal columns does not require any action from the microprocessor. However, if you need to increase the depth of the row, (ced to be set
ced bs to get access to bsqueue
set access, target met ev
ent and stream end event are enabled and external columns can be set (by abandoning access).

【1481】外部列(マイクロプロセッサにより維持さ
れるカウント)は内部列に挿入される。外部列は2つの
イベント:target met event及びst
ream end eventにより維持される。これ
らは単に各々servicequeue input、
service queue output、及びレジ
スタced bs enable nxt strea
mと称される。事実上、target met eve
ntは列を供給する内部列のアップストリーム・エンド
である。同様に、ced bs enable nxt
streamは列を消費する内部列のダウンストリー
ム・エンドである。同様に、stream end e
ventはダウンストリーム列を供給するためのリクエ
ストであり;stream end eventはce
d bs enable nxt streamをリセ
ットする。2つのイベントは次のようにサービスされる
べきである: /*TARGET MET EVENT*/ j= micro read(CED BS ENABLE NXT STM ): if(j==0)/*Is next stream enabled?*/ (/*no, enable it*/ micro write (CED BS ENABLE NXT STM,1); printf(”enable next stream (queue =0x%x)\n”,(context−>queue)); } else /*yes, increment the queue of ”target met” streams*/ { queue++; printf(”stream already enabled (queue=0x%x)\n”,(context−>queue)); } /*STREAM EVENT*/ if(queue>0) /*are there any ”target mets” left?*/ (/*yes, decrement the queue and enable another stream*/queue−−; micro write (CED BS ENABLE NXT STM,1); printf(”enable next stream (queue =0x%x)\n”,(context−>queue)); } else printf(”queue empty cannot enable next stream (queue=0x%x)\ n”,queue); micro write (CED EVENT 1,1 << BS STREAM END EVENT); /*clear event*/ 列タイプは随時(上述の手段により)内部から外部へと
変更することができるが、外部列が(上記”queue
==0から)空である時は、リセットされるべきced
bs queueへのアクセスを得るため、ced
bs accessを設定し、target met
event及びstream endeventをマス
クし、アクセスを放棄することにより、外部から内部へ
と変更することだけができる。
[1485] The outer column (count maintained by the microprocessor) is inserted into the inner column. The outer row has two events: target met event and st.
Maintained by the ream end event. These are just the servicequeue input,
service queue output, and register ced bs enable nxt stream
It is called m. In effect, target met eve
nt is the upstream end of the internal column that supplies the column. Similarly, ced bs enable nxt
stream is the downstream end of the internal column that consumes the column. Similarly, stream end e
Vent is a request for supplying a downstream stream; stream end event is ce.
Reset the dbs enable nxt stream. Two events should be serviced as follows: / * TARGET MET EVENT * / j = micro read (CED BS ENABLE NXT STM): if (j == 0) / * Is next stream enabled? * / (/ * No, enable * / micro write (CED BS ENABLE NXT STM, 1); printf (“enable next stream (queue = 0x% x) \ n”, (context->queeel); / * Yes, increment the queue of "target met" streams * / {queue ++; printf ("stream address ready enabled (queeue = 0x% x) \ n" / ST) * (context)) (context). if (queue> 0) / * are there any "target mets" left? * / (/ * yes, decrement the queue and enable anano ther stream * / queue ---; micro write (CED BS ENABLE NXT STM, 1); queue empty cannot enable next stream (queue = 0x% x) \ n ", queue; micro write (CED EVENT 1,1 << BS STREAM END EVENT) means / * * ar means / * cear; You can change from inside to outside, but the outside column (from "queue" above)
Ced to be reset when empty (from == 0)
ced to get access to bs queue
Set bs access, target get
It is only possible to change from outside to inside by masking the event and the stream end and giving up access.

【1482】他方、ストリームスタートアップ条件のチ
ェックを不能にし、ced bsqueue(外部)を
設定し、target met event及びstr
eam end eventをマスクし、ced bs
enable nxtstreamを設定する。この
方法で、全てのストリームが常に可能化される。B.
6.6 「マイクロプロセッサレジスタ」
[1482] On the other hand, the stream start-up condition check is disabled, ced bqueue (external) is set, and target met event and str are set.
mask end end event, ced bs
Set enable nxtstream. In this way all streams are always enabled. B.
6.6 "Microprocessor Register"

【1483】[1483]

【表217】 [Table 217]

【1484】[1484]

【表218】 表中、 ・Dはレジスタビットであり、 ・xは存在しないレジスタビットであり、 ・rは予約済みレジスタビットであり、 ・これらのレジスタへのアクセスを得るため、割り込み
サービスルーチンの場合でなければ、ced bs a
ccessは1に設定され、それが1を読み戻すまで登
録されなければならない。ced bs access
をゼロに設定することによりアクセスが放棄される。
[Table 218] In the table, D is a register bit, x is a nonexistent register bit, r is a reserved register bit, and, unless it is an interrupt service routine, to gain access to these registers. , Ced bs a
ccess is set to 1 and must be registered until it reads back 1. ced bs access
Access is relinquished by setting to zero.

【1485】 セクションB.7 「DRAMインターフェース」 B.7.1 「展望」 本発明において、空間デコーダ、時間デコーダ及びビデ
オフォーマッティング部は各々その特別なチップのため
にDRAMインターフェースブロックを含む。3つの装
置全てにおいて、DRAMインターフェースの機能は、
チップから外部DRAMへのデータ伝送、及びアドレス
発生器により供給されるブロックアドレスを介して外部
DRAMからチップへのデータ伝送である。
[1485] Section B. 7. “DRAM Interface” B. 7.1 "Perspective" In the present invention, the spatial decoder, the temporal decoder and the video formatting unit each include a DRAM interface block for its special chip. The function of the DRAM interface in all three devices is
Data transfer from the chip to the external DRAM and data transfer from the external DRAM to the chip via the block address supplied by the address generator.

【1486】DRAMインターフェースは典型的に、ア
ドレス発生器に対して、またそれを通してデータが送ら
れる様々なブロックのクロックに対して非同期であるク
ロックから操作する。しかしながら、クロックはほぼ同
じ周期で操作するので、この非同期性は容易に処理でき
る。
The DRAM interface typically operates from a clock that is asynchronous to the address generator and to the clocks of the various blocks through which data is sent. However, this asynchrony is easy to handle because the clocks operate at about the same period.

【1487】データは通常DRAMインターフェースと
64バイトのブロック内の残りのチップとの間に伝送さ
れる(唯一の例外は時間デコーダにおける予測データで
ある)。伝送は「スイングバッファ」として知られる装
置によって発生する。これは本質的にダブルバッファー
ド構成において操作される一対のDRAMであり、DR
AMインターフェースが1つのRAMを満たしたり、あ
るいは空にする一方、チップの別の部分が他のRAMを
空にしたり、満たしたりする。アドレス発生器からアド
レスを運ぶ別のバスが各スイングバッファと連合する。
The data is normally transferred between the DRAM interface and the rest of the chips in a block of 64 bytes (the only exception being the prediction data in the temporal decoder). The transmission occurs by a device known as a "swing buffer". This is essentially a pair of DRAMs operated in a double buffered configuration, and DR
The AM interface fills or empties one RAM, while another part of the chip empties and fills another RAM. Another bus carrying the address from the address generator is associated with each swing buffer.

【1488】各チップは4つのスイングバッファを持つ
が、これらのスイングバッファの機能は各々の場合によ
り異なる。空間デコーダの場合、1つのスイングバッフ
ァがコード化データをDRAMに伝送するために使用さ
れ、別のスイングバッファがDRAMからコード化デー
タを読むために使用され、三番目のスイングバッファが
トークン化されたデータをDRAMに伝送するために使
用され、四番目のスイングバッファがDRAMからトー
クン化されたデータを読むために使用される。時間デコ
ーダにおいては、1つのスイングバッファがイントラも
しくは予測されたピクチャデータをDRAMに書き込む
ために使用され、二番目のバッファがDRAMからイン
トラもしくは予測されたピクチャデータを読むために使
用され、他の2つのバッファが予測データを前方及び後
方に読むために使用される。ビデオフォーマッティング
部においては、1つのスイングバッファがデータをDR
AMに伝送するために使用され、他の3つのスイングバ
ッファがDRAMからデータを読むために使用され、各
々がルミナンス(Y)、赤及び青の色差データ(各々C
r及びCb)のためである。
Each chip has four swing buffers, but the functions of these swing buffers differ in each case. For a spatial decoder, one swing buffer was used to transfer the coded data to the DRAM, another swing buffer was used to read the coded data from the DRAM, and a third swing buffer was tokenized. It is used to transfer data to DRAM and a fourth swing buffer is used to read tokenized data from DRAM. In a temporal decoder, one swing buffer is used to write intra or predicted picture data to DRAM, a second buffer is used to read intra or predicted picture data from DRAM, and the other two. One buffer is used to read the prediction data forward and backward. In the video formatting section, one swing buffer DR data
The other three swing buffers are used to read data from the DRAM, each of which is used for transmitting to AM and each of which has luminance (Y), red and blue color difference data (each C.
for r and Cb).

【1489】以下のセクションは本発明によるDRAM
インターフェースのオペレーションを説明し、それは空
間デコーダDRAMインターフェースのオペレーション
と本質的に同じである、1つのライトスイングバッファ
と1つのリードスイングバッファを持っている。これは
図140の「DRAMインターフェース」に図示してい
る。
The following section is a DRAM according to the present invention.
The operation of the interface is described, which has one write swing buffer and one read swing buffer, which is essentially the same as the operation of the spatial decoder DRAM interface. This is illustrated in "DRAM Interface" in FIG.

【1490】 B.7.2 「一般的なDRAMインターフェース」 図140において、アドレス発生器に対するインターフ
ェース、及びデータを供給し、データを取るブロックに
対するインターフェースは全て2線式インターフェース
である。アドレス発生器は制御トークンの受取の結果と
してアドレスを発生させるか、あるいは単にアドレスの
固定シーケンスを発生させることができる。DRAMイ
ンターフェースは特別の方法で、アドレス発生器と連合
する2線式インターフェースを処理する。アドレスを受
け取る準備ができた時にアクセプトラインを高く保持す
る代わりに、DRAMインターフェースはアドレス発生
器が有効なアドレスを供給し、そのアドレスを処理し、
1つのクロック周期の間アクセプトラインを高く設定す
る。こうして、リクエスト/アクノレッジ(REQ/A
CK)プロトコールを実行する。
[1490] B. 7.2 “General DRAM Interface” In FIG. 140, the interface for the address generator and the interface for the block that supplies data and takes data are all two-wire interfaces. The address generator can generate an address as a result of receipt of a control token, or simply generate a fixed sequence of addresses. The DRAM interface handles the two-wire interface associated with the address generator in a special way. Instead of holding the accept line high when it is ready to receive an address, the DRAM interface provides that the address generator supplies a valid address and processes it.
Set the accept line high for one clock period. Thus, the request / acknowledge (REQ / A
CK) Run the protocol.

【1491】DRAMインターフェースの独得の特徴
は、アドレス発生器及び他のブロックとは完全に別個に
データを提供/アクセプトするブロックと連絡する能力
である。例えば、アドレス発生器はライトスイングバッ
ファにおいてデータと関連するアドレスを発生させるこ
とができるが、ライトスイングバッファが外部DRAM
に書き込まれる用意が整ったデータブロックがあること
を合図しないとどのような行動も取らないであろう。し
かしながら、アドレス発生器からの適当なバスにアドレ
スが供給されない限り、どのような行動も取られない。
更に、ライトスイングバッファ内のRAMの1つが一度
データで満たされると、他のRAMもデータ入力が立ち
往生させられる(2線式インターフェースアクセプト信
号が低く設定される)前に、完全に満たされ、DRAM
インターフェースに「スイング」される。
A unique feature of the DRAM interface is the ability to communicate with the block that provides / accepts data completely separate from the address generator and other blocks. For example, the address generator may generate the address associated with the data in the write swing buffer, but the write swing buffer may generate an external DRAM.
It will not take any action unless it signals that there is a data block ready to be written to. However, no action will be taken unless the address is supplied to the appropriate bus from the address generator.
Furthermore, once one of the RAMs in the write swing buffer is filled with data, the other RAMs are also completely filled before the data input is stuck (the 2-wire interface accept signal is set low) and the DRAM
"Swinged" by the interface.

【1492】本発明のDRAMインターフェースのオペ
レーションを理解する際に注目すべき重要なことは、適
切に構成されたシステムにおいて、少なくともスイング
バッファと残りのチップ間の全ての平均データ速度の合
計と同程度に速く、DRAMインターフェースがスイン
グバッファと外部DRAMの間にデータを伝送すること
ができることである。
[1494] An important note in understanding the operation of the DRAM interface of the present invention is that, in a properly configured system, at least as much as the sum of all average data rates between the swing buffer and the rest of the chip. Very fast, the DRAM interface can transfer data between the swing buffer and the external DRAM.

【1493】各DRAMインターフェースは次にサービ
スするのはどのスイングバッファかを決定する方法を含
む。一般に、これは「ラウンドロビン」であるか、もし
くはプライオリティエンコーダのいずれかであり、ラウ
ンドロビンの場合、サービスされるスイングバッファが
最近めったに順番が回ってこなかった次に利用できるス
イングバッファであり、プライオリティエンコーダの場
合、いくつかのスイングバッファが他のバッファより高
い優先順位を持つ。両方の場合において、他の全てのリ
クエストより高い優先順位を持つリフレッシュリクエス
ト発生器から追加リクエストが来るであろう。リフレッ
シュリクエストはマイクロプロセッサインターフェース
を介してプログラム可能なリフレッシュカウンタから発
生される。
Each DRAM interface includes a method to determine which swing buffer to service next. In general, this is either "round-robin" or a priority encoder, which in the case of round-robin is the next available swing buffer whose serviced swing buffer has recently come out of order, In the case of encoders, some swing buffers have higher priority than others. In both cases, additional requests will come from the refresh request generator, which has a higher priority than all other requests. The refresh request is generated from a programmable refresh counter via the microprocessor interface.

【1494】B.7.2.1 「スイングバッファ」 図141はライトスイングバッファを示す。オペレーシ
ョンは次の通りである: 1)有効なデータは入力(data in)において表
示される。各データ片がアクセプトされるにつれて、そ
れはRAM1に書き込まれ、アドレスが増分される。
[1494] B. 7.2.1 “Swing buffer” FIG. 141 shows a write swing buffer. The operations are as follows: 1) Valid data is displayed at data in. As each piece of data is accepted, it is written to RAM1 and the address is incremented.

【1495】2)RAM1が一杯である時、入力データ
は制御をあきらめ、RAM1が読み出される準備ができ
たことを指示するためリードサイドに信号を送る。この
信号は2つの非同期クロックレジームの間を通り、従っ
て3つの同期フリップフロップを通過する。
2) When RAM1 is full, the input data gives up control and sends a signal to the read side to indicate that RAM1 is ready to be read. This signal passes between two asynchronous clock regimes and therefore three synchronous flip-flops.

【1496】3)入力サイドに到着すべき次のデータア
イテムは、まだ空であるRAM2に書き込まれる。
3) The next data item to arrive on the input side is written to RAM2, which is still empty.

【1497】4)ラウンドロビンもしくはプライオリテ
ィエンコーダが、このスイングバッファを読む番である
ことを指示すると、DRAMインターフェースはRAM
1の内容を読み、それらを外部DRAMに書き込む。そ
うすれば、(2)と同様に、信号が非同期インターフェ
ースを横切って送り返され、RAM1にもう一度書き込
む準備ができたことを指示する。
4) If the round robin or priority encoder indicates that it is the turn to read this swing buffer, the DRAM interface will use the RAM
Read the contents of 1 and write them to the external DRAM. Then, as in (2), a signal is sent back across the asynchronous interface indicating that it is ready to be written to RAM1 again.

【1498】5)DRAMインターフェースがRAM1
を空にし、入力サイドがRAM2を満たす前にそれを
「スイング」すれば、データは連続的にスイングバッフ
ァによりアクセプトされることができ、そうでなけれ
ば、RAM2が満たされた時、RAM1が入力サイドに
より使用されるために「スイングバック」されるまで、
スイングバッファはそのアクセプト信号を低く設定する
であろう。
5) DRAM interface is RAM1
Empty, and "swing" it before the input side fills RAM2, the data can be continuously accepted by the swing buffer, otherwise RAM1 will be input when RAM2 is full. Until "swinged back" for use by the side,
The swing buffer will set its accept signal low.

【1499】6)このプロセスは無限に繰り返される。6) This process is repeated indefinitely.

【1500】リードスイングバッファのオペレーション
も同様であるが、入力と出力のデータバスが逆である。
[1500] The operation of the read swing buffer is similar, but the input and output data buses are reversed.

【1501】B.7.2.2 「外部DRAM及びスイ
ングバッファのアドレシング」 DRAMインターフェースは利用可能なメモリー帯域幅
を最大にするように設計される。従って、各8×8デー
タブロックが同じDRAMページに記憶されるように配
置される。この方法で、DRAM高速ページアクセスモ
ードを完全に使用でき、その場合1つのローアドレスが
供給され、続いて多くのカラムアドレスが供給される。
それに加えて、外部DRAMに対するデータバスが8、
16、または32ビット幅にでき、使用されるDRAM
量が特別なアプリケーションのサイズ及び帯域幅の要件
に適合できるようにするための便宜が提供される。
[1501] B. 7.2.2 “External DRAM and Swing Buffer Addressing” The DRAM interface is designed to maximize the available memory bandwidth. Therefore, each 8x8 data block is arranged to be stored in the same DRAM page. In this way, the DRAM fast page access mode can be fully used, where one row address is provided, followed by many column addresses.
In addition, there are 8 data buses for external DRAM,
DRAM that can be 16 or 32 bits wide and is used
Convenience is provided to allow the quantity to fit the size and bandwidth requirements of a particular application.

【1502】(空間デコーダ上のDRAMインターフェ
ースがどのように作用するかを示す)この例では、アド
レス発生器は、リードスイングバッファとライトスイン
グバッファの各々のために、DRAMインターフェース
にブロックアドレスを提供する。このアドレスはDRA
M用のローアドレスとして使用される。カラムアドレス
の6ビットはDRAMインターフェース自体により供給
され、これらのビットは更にスイングバッファRAM用
のアドレスとしても使用される。スイングバッファに対
するデータバスは32ビット幅であり、従って、外部D
RAMに対するバス幅が32ビットより狭い場合、次の
ワードがライトスイングバッファから読まれる前に、あ
るいは次のワードがリードスイングバッファに書き込ま
れる前に(リード及びライトは外部DRAMに対する伝
送方向に関係する)、2つから4つの外部DRAMアク
セスが行われなければならない。
In this example (showing how the DRAM interface on the spatial decoder works), the address generator provides the block address to the DRAM interface for each of the read swing buffer and the write swing buffer. . This address is DRA
Used as row address for M. The 6 bits of the column address are provided by the DRAM interface itself and these bits are also used as the address for the swing buffer RAM. The data bus for the swing buffer is 32 bits wide, so the external D
If the bus width for the RAM is less than 32 bits, before the next word is read from the write swing buffer or before the next word is written to the read swing buffer (read and write are related to the transmit direction to the external DRAM). ) Two to four external DRAM accesses must be made.

【1503】時間デコーダ及びビデオフォーマッティン
グ部の場合は、状況はもっと複雑である。これらについ
ては下記において別に説明する。
[1503] For the temporal decoder and video formatting part, the situation is more complicated. These will be described separately below.

【1504】 B.7.3 「DRAMインターフェースタイミング」 本発明において、DRAMインターフェースタイミング
ブロックは、DRAM信号のエッジをシステムクロック
周期の正確に1/4に置くためにタイミングチェインを
使用する。フェイズロックループからの2つの直角クロ
ックが使用される。これらは概念的な2xクロックを形
成するために組み合わされる。いずれか1つのチェイン
が、2xクロックの反対のフェイズ上で並列する2つの
シフトレジスタから作られる。
[1504] B. 7.3 "DRAM Interface Timing" In the present invention, the DRAM interface timing block uses a timing chain to place the edges of the DRAM signal exactly 1/4 of the system clock period. Two quadrature clocks from the phase lock loop are used. These are combined to form a conceptual 2x clock. Any one chain is made up of two shift registers in parallel on opposite phases of the 2x clock.

【1505】まず最初に、ページスタートサイクルのた
めに1つのフェイズがあり、リード/ライト/リフレッ
シュサイクルのために別のフェイズがある。各サイクル
の長さはマイクロプロセッサインターフェースを介して
プログラム可能であり、その後ページスタートチェイン
が固定長を持ち、サイクルチェインの長さはページスタ
ート中に適当に変化する。
[1505] First, there is one phase for the page start cycle and another for the read / write / refresh cycle. The length of each cycle is programmable via the microprocessor interface, after which the page start chain has a fixed length, the length of the cycle chain changing appropriately during page start.

【1506】リセットされると、チェインはクリアさ
れ、パルスが作られる。このパルスはチェインに沿って
移動し、DRAMインターフェースからのステート情報
により方向付けられる。DRAMインターフェースクロ
ックはこのパルスにより発生される。各DRAMインタ
ーフェースクロック周期はDRAMの1サイクルに対応
する。このように、DRAMサイクルが異なる長さを持
つので、DRAMインターフェースクロックは一定速度
ではない。
[1506] When reset, the chain is cleared and a pulse is created. This pulse travels along the chain and is directed by state information from the DRAM interface. The DRAM interface clock is generated by this pulse. Each DRAM interface clock cycle corresponds to one DRAM cycle. Thus, the DRAM interface clocks are not at a constant rate because the DRAM cycles have different lengths.

【1507】更に、タイミングチェインは上記チェイン
からのパルスをDRAMインターフェースからの情報と
組合せ、出力ストローブ及びイネーブル(notca
s、notras、notwe、notoe)を発生さ
せる。
In addition, the timing chain combines the pulses from the above chains with the information from the DRAM interface to provide output strobes and enables (notca).
s, notras, notwe, notee).

【1508】セクションB.8 「逆量子化器」 B.8.1 「序文」 本文書は本発明による逆量子化器(iq)の目的、動作
及び実行について説明する。
[1508] Section B. 8 "Inverse Quantizer" B. 8.1 "Introduction" This document describes the purpose, operation and implementation of the inverse quantizer (iq) according to the invention.

【1509】B.8.2 「展望」 逆量子化器は量子化された係数からの係数、量子化重
量、及びステップサイズを再構築し、その全てがデータ
ストリーム内で送信される。
[1509] B. 8.2 "Perspective" The dequantizer reconstructs the coefficients from the quantized coefficients, the quantization weight, and the step size, all of which are transmitted in the data stream.

【1510】B.8.3 「インターフェース」 Iqはデータパスにおいて逆モデラと逆DCTの間にあ
り、マイクロプロセッサに接続される。データパス接続
は2線式インターフェースを介して行われる。入力デー
タは10ビット幅であり、出力データは11ビット幅で
ある。
[1510] B. 8.3 "Interface" Iq is in the data path between the inverse modeler and the inverse DCT and is connected to the microprocessor. The data path connection is made via a two wire interface. The input data is 10 bits wide and the output data is 11 bits wide.

【1511】B.8.4 「逆量子化器の演算」 B.8.4.1 「H261式」[1511] B. 8.4 “Inverse Quantizer Operation” B. 8.4.1 "H261 formula"

【1512】[1512]

【数1】 B.8.4.2 「JPEG式」[Equation 1] B. 8.4.2 "JPEG type"

【1513】[1513]

【数2】 B.8.4.3 「MPEG式」[Equation 2] B. 8.4.3 “MPEG type”

【1514】[1514]

【数3】 B.8.4.4 「JPEGバリエーション式」[Equation 3] B. 8.4.4 "JPEG variation formula"

【1515】[1515]

【数4】 B.8.4.5 「他の全てのトークン」 データトークン以外の全てのトークンは量子化されない
iqを通過しなければならない。そこで: Floor(a)は整数を次のように戻す: (a−1)<floor(a)≦a a≧0, a≦floor(a)<(a+i) a≦0 Qiは量子化係数である。
[Equation 4] B. 8.4.5 "All other tokens" All tokens except data tokens must pass through the unquantized iq. Therefore: Floor (a) returns an integer as follows: (a-1) <floor (a) ≦ a a ≧ 0, a ≦ floor (a) <(a + i) a ≦ 0 Qi is a quantization coefficient.

【1516】Ciは再構築された係数である。[1516] Ci is the reconstructed coefficient.

【1517】Wi,jは量子化テーブルマトリックスにお
ける値である。
[1517] Wi, j is a value in the quantization table matrix.

【1518】iはジグザグに沿った係数インデックスで
ある。
[1518] i is a coefficient index along the zigzag.

【1519】jは量子化テーブルマトリックスナンバー
(0≦j≦3)である。
[1519] j is the quantization table matrix number (0≤j≤3).

【1520】B.8.4.6 「結合されるマルチプル
スタンダード」 上記スタンダード及びそれらのバリエーションの全て
(更にiqによって変更されてはならない制御データ)
は1つの式にマップできる: OUTPUT =(2INPUT+k)(xy)/16 以下の追加ポスト逆量子化機能がある: ・1024を加算する ・サインマグニチュードから2の補数表示への変換 ・全ての偶数をゼロに向かって最も近い奇数にラウンド
する ・結果を+2047または−2048に飽和させる。
[1520] B. 8.4.6 "Multiple Standards Combined" All of the above standards and variations thereof (control data not further modified by iq)
Can be mapped to one expression: OUTPUT = (2INPUT + k) (xy) / 16 with the following additional post dequantization features: -Add 1024-Convert sine magnitude to 2's complement notation-Every even number Round to the nearest odd towards zero • Saturate the result to +2047 or -2048.

【1521】スタンダードの各バリエーションのための
変数k、x及びy、及びそれらが使用するその関数は表
219、表220に示す。
The variables k, x and y for each variation of the standard, and the functions they use, are shown in Tables 219 and 220.

【1522】B.8.4.6 「結合されるマルチプル
スタンダード」
[1522] B. 8.4.6 “Multiple standards combined”

【1523】[1523]

【表219】 [Table 219]

【1524】[1524]

【表220】 B.8.5 「ブロック構造」 段落B.8.4.6及び表219、表220から、マル
チスタンダード逆量子化器用に1つの構造を使用できる
ことが解る。その算術的ブロック線図を図142「算術
的ブロック」に示す:算術的ブロック用の制御は2つの
セクションに機能的に分割することができる: ・ステータスレジスタまたは量子化テーブルにロードす
るためのトークンのデコーディング、 ・ステータスレジスタの制御信号へのデコーディング。
[Table 220] B. 8.5 “Block Structure” Paragraph B. It can be seen from 8.4.6 and Tables 219 and 220 that one structure can be used for the multi-standard dequantizer. Its arithmetic block diagram is shown in Figure 142 "Arithmetic Blocks": The control for an arithmetic block can be functionally divided into two sections: A token for loading into a status register or quantization table. Decoding to the control signal of the status register.

【1525】トークンは次のサイクル、つまりレジスタ
のiqcbのバンクを制御するiqcaにおいてデコー
ドされる。それは更にigram内の4つの量子化テー
ブルへのアクセスを制御する。算術、つまり、2つの乗
算器とポスト関数はiqarithにある。iq用の完
全なブロック線図を図143に示す。
The token is decoded in the next cycle, iqca, which controls the bank of iqcb of registers. It also controls access to the four quantization tables in igram. Arithmetic, the two multipliers and the post function are in iqarith. The complete block diagram for iq is shown in FIG.

【1526】B.8.6 「ブロック実行」 B.8.6.1 「Iqca」 発明において、iqcaはトークンをigram及びi
qcb内のレジスタ用制御信号にデコードするために使
用されるステートマシーンである。ステートマシーンは
各々の新しいトークンによってリセットされるので、各
トークン用のステートマシーンとして説明した方がよ
い。例えば: QUANT SCALE(B.8.7.4、QUANT
SCALEを参照)及びQUANT TABLE
(B.8.7.6 QUANT TABLEを参照)用
のコードは以下の通りである: if (tokenheader==QUANT SCALE) { sprintf(preport, "QUANT SCALE"); reg addr=ADDR IQ QUANT SCALE; rnotw=WRITE; enable=1; } if(tokenheader==QUANT TABLE) /*QUANT TABLE token*/ switch(substate) { case 0: /*quantisation table header*/ sprintf(preport, "QUANT TABLE %s s0", (headerextn ? "(full)" : "(empty)")); nextsubstate=1; insertnext=(headerextn ? 0:1); reg addr=ADDR IQ COMPONENT; rnotw=WRITE; enable=1; break; case 1: /*quantisation table body*/ sprintf(preport, "QUANT TABLE %s s1", (headerextn ? "(full)" : "(empty)")); nextsubstate=1; insertnext=(headerextn ? 0 : (qtm addr 63==0)); reg addr=USE QTM; rnotw=(headerextn ? WRITE : READ); enable=1; break; default: sprintf(preport, ERROR in iq quantisation table tokendecoder (substate %x)\n, substate); break; } } サブステートがトークン内のステートである場合、QU
ANT SCALEは、例えば1つのサブステートだけ
を持つ。しかしながら、QUANT TABLEは2つ
のサブステートを持ち、1つはヘッダであり、他の1つ
はトークンボディである。
[1526] B. 8.6 “Block execution” B. 8.6.1 "Iqca" In the invention, iqca is the token igram and i
It is a state machine used for decoding into control signals for registers in qcb. The state machine is reset with each new token, so it should be described as a state machine for each token. For example: QUANT SCALE (B.8.7.4, QUANT)
(See SCALE) and QUANT TABLE
The code for (see B.8.7.6 QUANT TABLE) is as follows: if (tokenheader == QUANT SCALE) {printf (report, "QUANT SCALE"); reg addr = ADDR IQ QUAN; QUANT. rnotw = WRITE; enable = 1;} if (tokenheader == QUANT TABLE) / * QUANT TABLE Token * / switch (substate) BL {case terpure resp. , (Headerextn? "(Full)": "(empty)")); nextsubstate = 1; insertne t = (headerextn? 0: 1); reg addr = ADDR IQ COMPONENT; rnotw = WRITE; enable = 1; break; case 1: / * quantification table body * sTA * print (QR); headerextn? "(full)": "(empty)")); nextsubstate = 1; insertnext = (headerextn? 0: (qtm addr 63 == 0)); reg addr = USE twen wertn (wr qn; r). READ); enable = 1; break; default: printf (report, ERROR in iq quanti) ation table tokendecoder (substate% x) \n, substate); break; case}} substate is state in the token, QU
The ANT SCALE has only one substate, for example. However, QUANT TABLE has two sub-states, one for the header and one for the token body.

【1527】ステートマシーンはPLAとして実装され
る。未認識トークンは如何なるワードラインも発生させ
ないし、PLAにもディフォルト(無害な)制御を出力
させない。
The State Machine is implemented as a PLA. The unrecognized token does not generate any word lines and does not cause the PLA to output default control.

【1528】従って、iqcaはBodyWordカウ
ンタからアドレスをigramに供給し、例えば未拡張
QUANT TABLE(B.8.7.4を参照)にお
いて、ワードをストリームに挿入する。これは出力を有
効に保つ一方で、入力を立ち往生させることによって達
成される。続くブロック(iqcbまたはiqarit
h)において正しいデータでワードを満たすことができ
る。
Therefore, iqca supplies the address to the igram from the BodyWord counter and inserts the word into the stream, eg, in the unextended QUANT TABLE (see B.8.7.4). This is accomplished by stalling the input while keeping the output valid. Subsequent block (iqcb or iqarit
The word can be filled with the correct data in h).

【1529】iqcaは2線式インターフェースによっ
て制御されるデータパス内の1サイクルである。
[1529] iqca is one cycle in the data path controlled by the two-wire interface.

【1530】B.8.6.2 「iqcb」 発明において、iqcbはiqステータスレジスタを保
持する。iqcaの制御下、iqcbはこれらをデータ
パスから/へとロードもしくはアンロードする。
[1530] B. 8.6.2 “iqcb” In the invention, iqcb holds an iq status register. Under the control of iqca, iqcb loads or unloads them from / to the datapath.

【1531】ステータスレジスタは、XY乗算器ターム
及びポスト量子化機能を制御するため、iqarith
のために制御ワイヤにデコードされる(表219、表2
20を参照)。
The status register controls the XY multiplier term and the post-quantization function.
To the control wire for (Table 219, Table 2
20).

【1532】データパスのサインビットはここで分離さ
れ、ポスト量子化機能に送られる。更に、データパス上
のゼロバリューワードがここで検出される。その後算術
は無視され、ゼロがデータパスにマックスされる。これ
はiqの「ゼロイン;ゼロアウト」スペックに従う最も
簡単な方法である。
[1532] The sign bit of the data path is now separated and sent to the post-quantization function. In addition, zero value words on the data path are detected here. Then the arithmetic is ignored and zeros are maxed out in the datapath. This is the simplest way to follow the iq "zero-in;zero-out" spec.

【1533】ステータスレジスタは、レジスタiq a
ccessが1に設定され、1を読み戻す時にのみ、マ
イクロプロセッサからアクセス可能である。この状況で
は、iqcbはデータパスを停止させ、こうしてレジス
タが安定したバリューを持ち、如何なるデータもデータ
パスにおいて転換されない。
The status register is the register iq a.
ccess is set to 1 and is accessible to the microprocessor only when 1 is read back. In this situation, iqcb stalls the datapath, thus the register has a stable value and no data is diverted in the datapath.

【1534】Iqcbは2線式インターフェースによっ
て制御されるデータパス内の1サイクルである。
Iqcb is one cycle in the data path controlled by the two wire interface.

【1535】B.8.6.3 「Iqram」 Iqramは各々が648ビットである4つの量子化テ
ーブルマトリックス(QTM)に対して支持しなければ
ならない。従って、それはサイクル毎に1リードまたは
1ライトが可能な、2568ビットの6トランジスター
RAMである。RAMはその制御を受け取る2線式イン
ターフェースロジックにより囲まれ、iqcaからデー
タを書き込む。それはiqarithにデータを読み出
す。同様に、igramはiqcbと同じデータパス内
のサイクルを占める。
[1535] B. 8.6.3 "Iqram" Iqram shall support for four Quantization Table Matrices (QTM), each of 648 bits. Therefore, it is a 2568-bit 6-transistor RAM capable of 1 read or 1 write per cycle. The RAM is surrounded by 2-wire interface logic that receives its control and writes data from iqca. It reads the data to iqarith. Similarly, igram occupies cycles in the same datapath as iqcb.

【1536】RAMはiq accessが1を読み返
す時、マイクロプロセッサから読み出され、書き込まれ
る。RAMはキーホールレジスタ、iq qtm ke
yholeの背後に置かれ、iq qtm keyho
le addrによってアドレスされる。iq qtm
keyholeへのアクセスはiq qtm key
hole addr内に保持される、それが指すアドレ
スを増分させるであろう。同様に、iq qtm ke
yhole addrは直接書き込むことができる。
The RAM is read and written by the microprocessor when iq access reads back 1. RAM is a keyhole register, iq qtm ke
placed behind yhole, iq qtm keyho
Addressed by le addr. iq qtm
Access to keyhole is iq qtm key
It will increment the address it points to, held in the hole addr. Similarly, iq qtm ke
Yhole addr can be written directly.

【1537】B.8.6.4 「iqarith」 iqarithは3つのサイクルに亙ってパイプライン
でつながれ、スプリットされる3つの機能があることに
注意。機能については下記において論じる(図140を
参照)。
[1537] B. 8.6.4 "iqarith" Note that iqarith has three functions that are pipelined and split over three cycles. Functions are discussed below (see Figure 140).

【1538】B.8.6.4.1 「XY乗算器」 これはデータパス乗算器に供給される5(X)x8
(Y)ビットのキャリセーブ未サイン乗算器である。乗
数及び被乗数はiqcbからの制御ワイヤで選択され
る。乗法は第1サイクルにあり、分解アダーは第2サイ
クルにある。
[1538] B. 8.6.4.1 "XY Multiplier" This is the 5 (X) x8 supplied to the datapath multiplier.
(Y) bit carry-save unsigned multiplier. The multiplier and multiplicand are selected on the control wire from iqcb. The multiplicative is in the first cycle and the decomposition adder is in the second cycle.

【1539】乗算器への入力において、iqramから
のデータはQUANT TABLEをデータパスに読み
出すために、データパスにマックスされ得る。
At the input to the multiplier, the data from iqram can be muxed into the datapath to read the QUANT TABLE into the datapath.

【1540】 B.8.6.4.2 「(XY)*データパス乗算器」 この13(XY)×12(データパス)ビットのキャリ
セーブ未サイン乗算器はブロックの3サイクルに亙って
スプリットされる。第1サイクルに3つの部分積、第2
サイクルに7つ、第3サイクルに残りの2つである。
[1540] B. 8.6.4.2 “(XY) * Datapath Multiplier” This 13 (XY) × 12 (datapath) bit carry-save unsigned multiplier is split over three cycles of the block. 3 partial products in 1st cycle, 2nd
There are seven in the cycle and the remaining two in the third cycle.

【1541】乗算器からの全ての出力は2047以下
(non coefficient)であるか、あるい
は+2047/−2048に飽和されるので、上位12
ビットは分解される必要がない。従って、分解アダーは
たった2ビット幅である。高いオーダーのビットの残り
に関して、ゼロ検出がサチュレーション信号として充分
である。
[1541] All outputs from the multiplier are 2047 or less (non coefficient) or saturated to + 2047 / −2048, so the upper 12
The bits do not have to be decomposed. Therefore, the decomposition adder is only 2 bits wide. For the rest of the high order bits, zero detection is sufficient as the saturation signal.

【1542】B.8.6.4.3 「ポスト量子化機
能」 ポスト量子化機能は、 ・1024を加算する ・サインマグニチュードから2の補数表示に変換する ・全ての偶数をゼロに向かって最も近い奇数にラウンド
する ・結果を+2047または−2048に飽和させる ・出力をゼロに設定する(B.8.6.2を参照)。
[1542] B. 8.6.4.3 "Post-quantization function" The post-quantization function: -Adds 1024-Converts from sine magnitude to two's complement notation-Rounds all even numbers toward zero to the nearest odd number • Saturate the result to +2047 or -2048 • Set the output to zero (see B.8.6.2).

【1543】最初の3つの機能は12ビットアダーで実
行される(第2と第3のサイクルにパイプラインでつな
がれる)。このことから、各機能が必要とするものが何
であるかが解り、これらは1つのアダーの上に結合され
る。
The first three functions are performed with a 12-bit adder (pipelined to the second and third cycles). From this, we know what each function needs, and they are combined on one adder.

【1544】[1544]

【表221】 当業者なら認識するであろうが、これらの機能は結合さ
れた時に互いに依存し合うので、これらを再プルグラミ
ングする際に注意しなければならない。
[Table 221] As one of ordinary skill in the art will recognize, care must be taken in re-programming these features as they depend on each other when combined.

【1545】サチュレーションバリュー、ゼロ及びゼロ
+1024は第3のサイクルの終わりでデータパスにマ
ックスされる。
Saturation value, zero and zero + 1024 are muxed into the data path at the end of the third cycle.

【1546】B.8.7 「逆量子化器トークン」 以下の説明は逆量子化器が応答する各トークンtpのた
めの、逆量子化器の行為を定義する。全ての場合に、ト
ークンは逆量子化器の出力に送られる。ほとんどの場
合、トークンは下記に記す例外を除き、逆量子化器によ
って修正されない。全ての未認識トークンは逆量子化器
の出力に未修正のまま送られる。
[1546] B. 8.7 "Dequantizer Token" The following description defines the action of the dequantizer for each token tp to which the dequantizer responds. In all cases, the token is sent to the output of the dequantizer. In most cases, tokens are not modified by the dequantizer with the exceptions noted below. All unrecognized tokens are sent unmodified to the output of the dequantizer.

【1547】B.8.7.1 「シーケンススタート」 このトークンはレジスタiq prediction
mode[1:0]及びiq mpeg indire
ction[1:0]がゼロに設定されるようにする。
[1547] B. 8.7.1 "Sequence Start" This token is stored in the register iq prediction.
mode [1: 0] and iq mpeg index
Ensure that ction [1: 0] is set to zero.

【1548】 B.8.7.2 「コーディングスタンダード」 このトークンはデコードされる現在のスタンダード(M
PEG、JPEGまたはH.261)に基づいて、iq
standard[1:0]に適切なバリューがロー
ドされるようにする。
[1548] B. 8.7.2 "Coding Standard" This token is the current standard (M
PEG, JPEG or H.264. 261), based on iq
Ensure that the appropriate value is loaded into standard [1: 0].

【1549】B.8.7.3 「予測モード」 このトークンはiq prediction mode
[1:0]をロードする。予測モードトークンは2つ以
上のビットを所有するが、逆量子化器は2つの最低オー
ダーのビットへのアクセスを必要とするだけである。こ
れらはブロックがイントラコード化されているか否かを
判断する。
[1549] B. 8.7.3 "Prediction Mode" This token is iq prediction mode.
Load [1: 0]. The prediction mode token possesses more than one bit, but the dequantizer only needs access to the two lowest order bits. These determine if the block is intra-coded.

【1550】B.8.7.4 「量子化スケール」 このトークンはiq quant scale[4:
0]をロードする。
[1550] B. 8.7.4 "Quantization Scale" This token is iq quant scale [4:
0] is loaded.

【1551】B.8.7.5 デーt 本発明では、このトークンは実際の量子化係数を所有す
る。トークンヘッドは色成分を識別する2つのビットを
含み、これらはiq component[1:0]に
ロードされる。次の64のトークンワードは量子化係数
を含む。これらは逆量子化プロセスの結果として修正さ
れ、再構築された係数と置き換えられる。
[1551] B. 8.7.5 Date In the present invention, this token owns the actual quantized coefficients. The token head contains two bits that identify the color components, which are loaded into iq component [1: 0]. The next 64 token words contain the quantized coefficients. These are modified as a result of the dequantization process and replaced with the reconstructed coefficients.

【1552】正確に64の拡張ワードがトークン内に存
在しない場合、逆量子化器の行為は限定されない。
If exactly 64 expansion words are not present in the token, the dequantizer's behavior is unlimited.

【1553】逆量子化器の入力におけるデータトークン
は量子化係数を所有する。これらはサイン・マグニチュ
ードフォーマットにおいて11ビット(10ビット+サ
インビット)で表示される。バリュー「マイナスゼロ」
は使用されるべきではないが、正確にゼロと解釈され
る。
The data token at the input of the dequantizer owns the quantized coefficient. These are represented by 11 bits (10 bits + sign bit) in the sign magnitude format. Value "minus zero"
Should not be used, but is interpreted exactly as zero.

【1554】逆量子化器の入力におけるデータトークン
は再構築された係数を所有する。これらは2の補数フォ
ーマットにおいて12ビット(11ビット+サインビッ
ト)で表示される。入力におけるデータトークンは、逆
量子化器の入力において持ったのと同じ数のトークン拡
張ワードを持つであろう。
The data token at the input of the dequantizer owns the reconstructed coefficients. These are represented in 12 bits (11 bits + sign bit) in 2's complement format. A data token at the input will have the same number of token expansion words as it had at the input of the dequantizer.

【1555】B.8.7.6 「量子化テーブル(QU
ANT TABLE)」 このトークンは新しい量子化テーブルをロードするた
め、あるいは現在のテーブルを読み出すために使用でき
る。逆量子化器においては、典型的に、トークンはビッ
トストリームからデコードされた新しいテーブルをロー
ドするために使用されるであろう。現在のテーブルを読
み出す動作は、そのテーブルがビットストリームにおい
てエンコードされることになる場合、エンコーダの前方
の量子化器において有用である。
[1555] B. 8.7.6 “Quantization table (QU
ANT TABLE) "This token can be used to load a new quantization table or read the current table. In the inverse quantizer, the token will typically be used to load a new table decoded from the bitstream. The operation of reading the current table is useful in the quantizer in front of the encoder if that table is to be encoded in the bitstream.

【1556】トークンヘッドは使用されることになるテ
ーブルナンバーを特定する2つのビットを含む。これら
はiq component[1:0]の中に置かれ
る。このレジスタは今では色成分ではなく、「テーブル
ナンバー」を含んでいることに注意。
The token head contains two bits that specify the table number to be used. These are placed in iq component [1: 0]. Note that this register now contains the "table number", not the color component.

【1557】トークンヘッドの拡張ビットが1である場
合、逆量子化器はそこに正確に64の拡張トークンワー
ドがあることを期待する。各々が量子化テーブルバリュ
ーとして解釈され、ロケーションゼロで始まる適切なテ
ーブルの連続するロケーションの中に置かれる。各拡張
トークンワードの9番目のビットが無視される。トーク
ンは更に通常の方法で、未修正のまま、逆量子化器の出
力にも送られる。
If the extension bit in the token head is 1, then the inverse quantizer expects there to be exactly 64 extension token words. Each is interpreted as a quantized table value and placed in successive locations in the appropriate table starting at location zero. The 9th bit of each extended token word is ignored. The tokens are also sent unmodified to the output of the dequantizer in the usual way.

【1558】トークンヘッドの拡張ビットがゼロである
場合、逆量子化器はロケーションゼロで始まる適切なテ
ーブルの連続するロケーションを読み出すであろう。各
ロケーションは拡張トークンワードになる(9番目のビ
ットはゼロになる)。このオペレーションの終わりで、
トークンは正確に64の拡張トークンワードを含むであ
ろう。
If the extension bit of the token head is zero, the dequantizer will read consecutive locations in the appropriate table starting at location zero. Each location becomes an extended token word (9th bit becomes zero). At the end of this operation,
The token will contain exactly 64 extended token words.

【1559】このトークンに答える逆量子化器のオペレ
ーションは、ゼロと64を除く全ての拡張ワードナンバ
ーのために限定されない。
The operation of the dequantizer answering this token is not limited for all extended word numbers except zero and 64.

【1560】 B.8.7.7 「JPEGテーブルセレクト」 このトークンはiq jpeg indirectio
nへの/からのテーブルナンバーに対して、色成分の翻
訳をロードする/アンロードするために使用される。こ
れらの翻訳はJPEG及び他のスタンダードにおいて使
用される。
[1560] B. 8.7.7 “JPEG Table Select” This token is iq jpeg indirectio
Used to load / unload translations of color components for table numbers to / from n. These translations are used in JPEG and other standards.

【1561】トークンヘッドは現在関心のある色成分を
特定する2つのビットを含む。これらはiq comp
onent[1:0]に置かれる。
The token head contains two bits that identify the color component of current interest. These are iq comp
placed in onent [1: 0].

【1562】トークンヘッドの拡張ビットが1である場
合、トークンは1つの拡張ワード、iq jpeg i
ndirection[2iq component
[1:0]+1:2iq component[1:
0]]ロケーションに書き込まれる最も低い2ビットを
含む。たった今読み出されたばかりのバリューがトーク
ン拡張ワードになる(上位7ビットがゼロになる)。こ
のオペレーションの終了時に、トークンは正確に1つの
トークン拡張ワードを含むであろう。
If the extension bit of the token head is 1, then the token is one extension word, iq jpeg i
ndirection [2iq component
[1: 0] +1: 2 iq component [1:
0]] contains the lowest 2 bits written to the location. The value just read is the token expansion word (the upper 7 bits are zero). At the end of this operation, the token will contain exactly one token expansion word.

【1563】[1563]

【表222】 B.8.7.8 「MPEGテーブルセレクト」 このトークンはMPEGスタンダードを介してのプロセ
シングの間に、ディフォルトもしくはユーザーが限定す
る量子化テーブルを使用するか否かを定義するために使
用される。トークンヘッドは2ビットを含む。ヘッダー
のビット0はiq mpeg indirection
が書き込まれる場合どちらのビットに書き込まれるかを
決定する。ビット1はそのロケーションに書き込まれ
る。
[Table 222] B. 8.7.8 "MPEG Table Select" This token is used during processing via the MPEG standard to define whether to use the default or user-defined quantization table. The token head contains 2 bits. Bit 0 of the header is iq mpeg direction
Determines which bit is to be written. Bit 1 is written to that location.

【1564】iq mpeg indirection
[1:0]レジスタはシーケンススタートトークンによ
ってクリアされるので、ユーザー限定量子化テーブルが
ビットストリーム内に送られた場合、このトークンを使
用することだけが必要であろう。
[1564] iq mpeg direction
The [1: 0] register is cleared by the sequence start token, so it would only be necessary to use this token if the user-only quantization table was sent in the bitstream.

【1565】 B.8.8 「マイクロプロセッサレジスタ」 B.8.8.1 「iq access」 いずれかのiqレジスタへのマイクロプロセッサアクセ
スを得るために、iqaccessは1に設定されなけ
ればならず、それが1を読み返すまで登録されなければ
ならない(B.8.6.2を参照)。これをすることを
怠ると、読まれているレジスタがデータパスによってま
だ制御されている状態になり、安定しない。igram
の場合、アクセスはロックアウトされ、ゼロを読み戻
す。
B. 8.8 "Microprocessor Register" B. 8.8.1 "iq access" To get microprocessor access to any iq register, iqaccess must be set to 1 and must be registered until it reads back 1 (B.8). See 6.2). Failure to do this will result in the register being read still being controlled by the datapath and not stable. igram
, The access is locked out and reads back zero.

【1566】iq accessに0を書き込むと、制
御をデータパスに手放すことになる。
Writing a 0 to iq access releases control to the datapath.

【1567】B.8.8.2 「Iq coding
standard[1:0]」 このレジスタは逆量子化器によって実行されるコーディ
ングスタンダードを保持する。
[1567] B. 8.8.2 “Iq coding
standard [1: 0] ”This register holds the coding standard implemented by the inverse quantizer.

【1568】[1568]

【表223】 このレジスタはコーディングスタンダードバリューによ
ってロードされる。
[Table 223] This register is loaded with the Coding Standard Value.

【1569】これは2ビットレジスタではあるが、現在
メモリーマップに8ビットが割り当てられており、将来
の実装では上記スタンダード以上のものを処理すること
ができるようになろう。
Although this is a 2-bit register, 8 bits are currently allocated in the memory map, and future implementations will be able to handle more than the above standards.

【1570】B.8.8.3 「Iq mpeg in
direction[1:0]」 この2ビットレジスタはMPEGデコーディングオペレ
ーションの間に、どの量子化テーブルが使用される予定
であるかを記録するために使用される。
[1570] B. 8.8.3 “Iq mpeg in
direction [1: 0] "This 2-bit register is used during the MPEG decoding operation to record which quantization table is to be used.

【1571】Iq mpeg indirection
[0]はイントラコード化ブロックのために使用される
テーブルを制御する。それが0であれば、量子化テーブ
ル0が使用され、ディフォルト量子化テーブルを含むこ
とが期待される。それが1であれば、量子化テーブル2
が使用され、ユーザー限定量子化テーブルを含むことが
期待される。
[1571] Iq mpeg direction
[0] controls the table used for intra-coded blocks. If it is 0, then quantization table 0 is used and expected to contain the default quantization table. If it is 1, quantization table 2
Is used and is expected to contain a user-specific quantization table.

【1572】このレジスタはMPEG TABLE S
ELECTトークンによってロードされ、シーケンスス
タートトークンによって0に設定される。
[1572] This register is an MPEG TABLE S
It is loaded by the ELECT token and set to 0 by the sequence start token.

【1573】B.8.8.4 「Iq jpeg in
direction[7:0]」 この8ビットレジスタはJPEGスキャンにおいて発生
する4つの可能な色成分の各々のために、どの4つの量
子化テーブルを使用するかを決定する。
[1573] B. 8.8.4 “Iq jpeg in
direction [7: 0] "This 8-bit register determines which four quantization tables to use for each of the four possible color components that occur in the JPEG scan.

【1574】・ビット[1:0]は成分0のために使用
されるテーブルナンバーを保持する。
[1574] Bits [1: 0] hold the table number used for component 0.

【1575】・ビット[3:2]は成分1のために使用
されるテーブルナンバーを保持する。
[1575] Bits [3: 2] hold the table number used for component 1.

【1576】・ビット[5:4]は成分2のために使用
されるテーブルナンバーを保持する。
Bits [5: 4] hold the table number used for component 2.

【1577】・ビット[7:6]は成分3のために使用
されるテーブルナンバーを保持する。
[1577] Bits [7: 6] hold the table number used for component 3.

【1578】このレジスタはJPEG TABLE S
ELECTトークンによって影響される。
[1580] This register is a JPEG TABLE S
Affected by the ELECT token.

【1579】B.8.8.5 「iq quant s
cale[4:0]」 このレジスタは量子化スケール関数の現在のバリューを
保持する。このレジスタはQUANT SCALEトー
クンによってロードされる。
[1579] B. 8.8.5 “iq quant s
calle [4: 0] ”This register holds the current value of the quantization scale function. This register is loaded by the QUANT SCALE token.

【1580】B.8.8.6 「iq compone
nt[1:0]」 このレジスタは量子化テーブルマトリックス(QTM)
ナンバーに翻訳されるバリューを保持する。それはトー
クンナンバーによってロードされる。
[1580] B. 8.8.6 “iq compone
nt [1: 0] ”This register is a quantization table matrix (QTM)
Holds the value translated into a number. It is loaded by token number.

【1581】データトークンヘッダはこのレジスタに処
理されようとしているブロックの色成分がロードされる
ようにする。この情報はQTMナンバーを決定するた
め、JPEG及びJPEGバリエーションにおいてのみ
使用され、それはreference to iq j
peg indirection[7:0]で処理す
る。他のスタンダードでは、iq component
[1:0]が無視される。JPEGテーブルセレクトト
ークンはこのレジスタに色成分をロードさせる。その
後、それはトークンボディによってアクセスされるiq
jpeg indirection[7:0]へのイ
ンデックスとして使用される。
The data token header causes this register to be loaded with the color component of the block being processed. This information is used only in JPEG and JPEG variations to determine the QTM number, which is the reference to iq j.
Process with peg direction [7: 0]. Other standards include iq component
[1: 0] is ignored. The JPEG table select token causes this register to be loaded with color components. Then it is iq accessed by the token body
Used as an index into jpeg_indirection [7: 0].

【1582】量子化スケールトークンはこのレジスタに
QTMナンバーをロードさせる。このテーブルはその後
(トークンの拡張フォームが使用される場合)、トーク
ンからロードされるか、または適当に拡張されたトーク
ンを形成するためにテーブルから読み出される。
The quantizer scale token causes this register to be loaded with the QTM number. This table is then loaded (if an expanded form of token is used) from the token or read from the table to form an appropriately expanded token.

【1583】B.8.8.7 「iq predict
ion mode[1:0]」 この2ビットレジスタはそれに続くブロックのために使
用される予測モードを保持する。逆量子化器がこの情報
を利用する唯一の利用法は、イントラコーディングが使
用されるか否かを決定することである。レジスタの両ビ
ット共0であれば、次のブロックはイントラコード化さ
れている。
[1583] B. 8.8.7 “iq predict
ion mode [1: 0] ”This 2-bit register holds the prediction mode used for the following blocks. The only use for the inverse quantizer to make use of this information is to determine whether intra coding is used. If both bits of the register are 0, the next block is intra-coded.

【1584】このレジスタは予測モードトークンによっ
てロードされる。このレジスタはシーケンススタートト
ークンによって0に設定される。
[1584] This register is loaded with the Prediction Mode Token. This register is set to 0 by the sequence start token.

【1585】Iq prediction mode
[1:0]はJPEG及びJPEGバリエーションモー
ドにおけるオペレーションに何の影響も与えない。
[1585] Iq prediction mode
[1: 0] has no effect on operation in JPEG and JPEG variation modes.

【1586】B.8.8.8 「Iq jpeg in
direction[7:0]」 Iq jpeg indirectionはQTMナ
ンバーに色成分を翻訳するためのルックアップ表として
使用される。従って、iq componentは、表
222に示すように、iq jpeg indirec
tionに対するインデックスとして使用される。
[1586] B. 8.8.8 “Iq jpeg in
direction [7: 0] "Iq jpeg direction is used as a lookup table to translate the color components into QTM numbers. Therefore, the iq component is, as shown in Table 222, iq jpeg indirec
It is used as an index for a section.

【1587】このレジスタロケーションは、トークンの
拡張フォームが使用される場合、JPEGテーブルセレ
クトトークンによって直接書き込まれる。
This register location is directly written by the JPEG table select token if the expanded form of the token is used.

【1588】このレジスタロケーションは、トークンの
非拡張フォームが使用される場合、JPEGテーブルセ
レクトトークンによって直接読み出される。
This register location is directly read by the JPEG table select token if the non-extended form of the token is used.

【1589】B.8.8.9 「Iq quant t
able[3:0][63:0][7:0]」 4つの量子化テーブルがあり、各々が64のロケーショ
ンを持つ。各ロケーションは8ビットバリューである。
バリュー0は如何なるロケーションにおいても使用され
るべきではない。
[1589] B. 8.8.9 “Iq quant t
[3: 0] [63: 0] [7: 0]] There are four quantization tables, each having 64 locations. Each location is an 8-bit value.
Value 0 should not be used in any location.

【1590】これらのレジスタはB.8.6.3のIg
ramにおいて説明したRAMとして実装される。
[1590] These registers are Ig of 8.6.3
It is implemented as the RAM described in ram.

【1591】これらのテーブルは量子化テーブルトーク
ンを用いてロードできる。
[1591] These tables can be loaded using quantization table tokens.

【1592】これらのテーブル内のデータはジグザグス
キャンオーダーで記憶されることに注意。多くの文書は
方形の8×8のナンバーアレイとして量子化テーブルバ
リューを表示している。通常、DCタームは左上位にあ
り、水平の周波数が左から右へと増加し、垂直の周波数
が上から下へと増加する。該かるテーブルは、ナンバー
が連続するiを持つ量子化テーブルの中に置かれるにつ
れて、ジグザグスキャンパスに沿って読まれなければな
らない。
Note that the data in these tables is stored in zigzag scan order. Many documents display the quantized table values as a square 8x8 number array. The DC term is typically on the upper left, with horizontal frequencies increasing from left to right and vertical frequencies increasing from top to bottom. The Karl table must be read along a zigzag scan path as the numbers are placed in a quantization table with consecutive i's.

【1593】 B.8.9 「マイクロプロセッサレジスタマップ」B. 8.9 "Microprocessor Register Map"

【1594】[1594]

【表224】 B.8.10 「試験」 入力における逆量子化器に対するテストカバリッジは逆
量子化器の出力スノーパを通してであり、出力において
は逆量子化器自体のスノーパを通してである。ロジック
は逆量子化器自体のスキャンチェインによってカバーさ
れる。
[Table 224] B. 8.10 "Test" The test coverage for the dequantizer at the input is through the output quantizer of the dequantizer and at the output through the snowpacker of the dequantizer itself. The logic is covered by the scan chain of the dequantizer itself.

【1595】ramtest信号が認定されると、iq
accessに関係なくigramに対するアクセス
が得られる。 セクションB.9 「IDCT」 B.9.1 「序文」 逆離散コサイン変換(IDCT)ブロックをここで説明
する目的は、IDCT用のエンジニアリング情報源を提
供することである。それは以下の情報を含む。 ・IDCTの目的及び主な特徴 ・それがどのように設計され、実証されたか ・構造 更に、その目的はそうした説明が以下の作業を容易にす
る、あるいは助けるために当業者に充分な情報を提供す
ることである。
When the ramtest signal is recognized, iq
Access to igram can be obtained regardless of access. Section B. 9 “IDCT” B. 9.1 "Introduction" The purpose of describing the Inverse Discrete Cosine Transform (IDCT) block here is to provide an engineering source for IDCT. It contains the following information: -The purpose and main features of the IDCT-How it was designed and validated-Structure In addition, its purpose is to provide those skilled in the art with sufficient information for such an explanation to facilitate or aid the following tasks: It is to be.

【1596】 ・「シリコンマクロ関数」としてのIDCTの認識 ・別の装置へのIDCTの統合 ・IDCTシリコン用のテストプログラムの開発 ・IDCTの修正、再設計もしくは維持 ・順方向DCTブロックの開発 B.9.2 「展望」 離散コサイン変換/ジグザグ(DCT/ZZ)はピクセ
ルのブロック上で変換を行い、各ブロックは高さ8ピク
セル×幅8ピクセルのスクリーンエリアを表示する。変
換の目的は、周波数によって分類される周波数領域にお
いてピクセルブロックを表示することである。目はピク
チャ内のDC成分に敏感であるが、高周波成分に対して
はあまり敏感ではないので、周波数データは目の感度に
従って、各成分が別個にマグニチュードを減少させるよ
うにする。マグニチュード減少プロセスは量子化として
知られている。量子化プロセスはピクチャに含まれる情
報を減少させる、つまり、量子化プロセスは損失性であ
る。損失性プロセスはある種の情報を削除することによ
り全体的なデータ圧縮を行う。周波数データは高周波が
0に量子化されやすくするように分類され、全てが連続
して現れる。連続する0は、ランレングスコーディング
は一般的に損失性のプロセスではないが、ランレングス
コーディング計画を使用することにより量子化されるデ
ータをコーディングすることが、更なるデータ圧縮を生
じさせることを意味する。
[1596] -Recognizing the IDCT as a "silicon macro function" -Integrating the IDCT into another device-Developing a test program for the IDCT silicon-Modifying, redesigning or maintaining the IDCT-Developing a forward DCT block B. 9.2 “Perspective” The Discrete Cosine Transform / Zig Zag (DCT / ZZ) transforms on blocks of pixels, each block displaying a screen area 8 pixels high by 8 pixels wide. The purpose of the transform is to display the pixel blocks in the frequency domain, which is sorted by frequency. Since the eye is sensitive to the DC components in the picture, but less sensitive to the high frequency components, the frequency data allows each component to reduce magnitude separately according to the eye sensitivity. The magnitude reduction process is known as quantization. The quantization process reduces the information contained in the picture, i.e. the quantization process is lossy. Lossy processes provide overall data compression by removing some information. The frequency data is classified so that high frequencies are easily quantized to 0, and all appear consecutively. The consecutive 0s mean that coding run-length coding is not a lossy process in general, but coding data that is quantized by using a run-length coding scheme results in further data compression. To do.

【1597】IDCTブロック(これは実際に逆ジグザ
グRAMまたはIZZ、及びIDCTを含む)が分類さ
れる周波数データを取り、それを空間的データに変換す
る。この逆分類プロセスはIZZの機能である。
Takes the frequency data into which the IDCT block (which actually contains the inverse zigzag RAM or IZZ, and the IDCT) is classified and transforms it into spatial data. This inverse classification process is a function of IZZ.

【1598】IDCTブロックがその一部を形成するピ
クチャ減圧システムは、ピクセルを整数として指定す
る。これはIDCTブロックが整数値を取り、また整数
値を生じなければならないことを意味する。しかしなが
ら、IDCTの関数は整数に基づいていないので、内部
のナンバー表示は内部精度を維持するため分数部分を使
用する。完全な浮動小数点計算が好ましいが、ここに記
載する実装では固定小数点計算を使用する。固定小数点
計算を使用すると少しばかり精度の損失があるが、この
実装に関する精度はH.261及びIEEEによって指
定される精度を越えている。
[1598] The picture decompression system of which the IDCT block forms a part specifies pixels as integers. This means that the IDCT block takes an integer value and must produce an integer value. However, since the IDCT function is not based on integers, the internal number representation uses the fractional part to maintain internal precision. Although full floating point arithmetic is preferred, the implementation described here uses fixed point arithmetic. There is a slight loss of precision when using fixed point arithmetic, but the precision for this implementation is H.264. 261 and the precision specified by IEEE is exceeded.

【1599】B.9.3 「デザイン目標」 本発明によれば、主なデザイン目標は最小のシリコンエ
リアを使用する機能的に正確なIDCTブロックを設計
することであった。更に、デザインは指定された操作条
件の下で30MHzのクロック速度でランすることが求
められていたが、更に将来に対する適用性も持つべきで
あると考えられた。より高いクロック率が将来必要とな
るであろうし、デザインの構造は可能な所ではこれを可
能にするものである。
[1599] B. 9.3 "Design Goals" According to the present invention, the main design goal was to design a functionally accurate IDCT block that uses a minimum of silicon area. Furthermore, although the design was required to run at a clock rate of 30 MHz under specified operating conditions, it was thought that it should also have future applicability. Higher clock rates will be needed in the future, and the design's architecture will allow this wherever possible.

【1600】 B.9.4 「IDCTインターフェースの説明」 IDCTブロックは以下のインターフェースを持ってい
る。
[1600] B. 9.4 “Description of IDCT interface” The IDCT block has the following interfaces.

【1601】 ・12ビット幅のトークンデータ入力ポート ・ビット幅のトークンデータ出力ポート ・マイクロプロセッサインターフェースポート ・システムサービス入力ポート ・テストインターフェース ・再同期信号 両トークンデータポートは前述した標準の2線式インタ
ーフェース型である。図示した幅はポートの全ワイヤ数
ではなく、データ表示におけるビット数を指している。
それに加えて、入力トークンデータポートに連合するの
は、前のブロックの出力に対する再同期のために使用さ
れるクロック信号及びリセット信号である。更に、出力
トークンデータポートに連合し、次に続くブロックによ
って使用される2つの再同期クロックがある。
[1601] 12-bit width token data input port-Bit width token data output port-Microprocessor interface port-System service input port-Test interface-Resync signal Both token data ports are the standard 2-wire interface described above It is a type. The width shown refers to the number of bits in the data representation, not the total number of wires in the port.
Additionally associated with the input token data port are the clock and reset signals used for resynchronization to the output of the previous block. In addition, there are two resync clocks associated with the output token data port and used by the blocks that follow.

【1602】マイクロプロセッサインターフェースは標
準であり、4ビットのアドレスを使用する。更に、3つ
の外部的にデコードされるセレクト入力があり、それら
はイベント、内部レジスタ、及びテストレジスタ用のア
ドレススペースを選択するために使用される。このメカ
ニズムはIDCTアドレススペースを異なるチップ内の
異なる位置にマップするためのフレキシビリティを提供
する。更に、1つのイベント出力、idctevent
と、2つのi/o信号、n derrdとnserrd
があり、それらはIDCT及びマイクロプロセッサの非
データバスの適当なビットに外部的に接続されるイベン
トトライステートデータワイヤである。
[1602] The microprocessor interface is standard and uses a 4-bit address. In addition, there are three externally decoded select inputs, which are used to select the address space for events, internal registers, and test registers. This mechanism provides the flexibility to map the IDCT address space to different locations within different chips. In addition, one event output, idcevent
And two i / o signals, n derrd and n serrd
There are event tristate data wires that are externally connected to the appropriate bits of the IDCT and microprocessor non-data buses.

【1603】システムのサービスポートは標準のクロッ
ク信号とリセット入力信号、及び2フェイズオーバーラ
イドクロック及び関連するクロックオーバーライドモー
ドセレクト入力で構成される。
The system service port consists of a standard clock signal and a reset input signal, and a two phase override clock and associated clock override mode select input.

【1604】テストインターフェースはJTAGクロッ
ク信号及びリセット信号、スキャンパスデータ、制御信
号及びramtestとchiptest入力で構成さ
れる。
[1606] The test interface includes a JTAG clock signal, a reset signal, scan path data, a control signal, and ramtest and chiptest inputs.

【1605】通常のオペレーションでは、IDCTがそ
の指定された機能を果たすためにマイクロプロセッサの
アクセスを必要としないので、マイクロプロセッサポー
トは不活性である。同様に、テストインターフェースは
テストもしくは確認が必要な場合にのみ活性である。
[1605] In normal operation, the microprocessor port is inactive because the IDCT does not require microprocessor access to perform its designated function. Similarly, test interfaces are only active when testing or verification is required.

【1606】 B.9.5 「離散コサイン変換用の演算的基盤」 ビデオ帯域幅圧縮において、入力データはピクチャの方
形部分を表示する。従って、適用される変換は二次元で
なければならない。二次元変換は効果的に計算するのは
困難であるが、二次元DCTは分離できるプロパティを
持っている。分離可能な変換は他の次元とは別に各次元
に沿って計算され得る。これを実行するには、ハードウ
ェアにマッピングするために特に設計される一次元のI
DCTアルゴリズムを使用し;そのアルゴリズムはソフ
トウェアモデルには適切ではない。一次元アルゴリズム
は二次元の結果を得るために連続的に適用される。
[1606] B. 9.5 “Arithmetic Basis for Discrete Cosine Transform” In video bandwidth compression, the input data represents the rectangular part of the picture. Therefore, the transformation applied must be two-dimensional. Two-dimensional transforms are difficult to calculate effectively, but two-dimensional DCTs have the property of being separable. Separable transformations can be calculated along each dimension separately from the other dimensions. To do this, a one-dimensional I specially designed for mapping to hardware is used.
It uses the DCT algorithm; it is not suitable for software models. One-dimensional algorithms are applied sequentially to obtain two-dimensional results.

【1607】N×Nのピクセルブロック用の二次元DC
Tの演算的定義は以下の通りである:
Two-dimensional DC for N × N pixel block
The arithmetic definition of T is as follows:

【1608】[1608]

【数5】 上記定義は演算的に、かけ算の間にマトリックス互換を
行い、2つのN×Nマトリックスを連続して二度掛ける
のに等しい。一次元DCTは演算的に2つのNNマトリ
ックスを掛けるのに等しい。演算的に、二次元の場合
は: Y=[XC]TC 式中、Cはコサインの項のマトリックスである。
[Equation 5] The above definition is arithmetically matrix equivalent during multiplication and is equivalent to multiplying two N × N matrices twice in succession. One-dimensional DCT is equivalent to multiplying two NN matrices arithmetically. Operationally, in the two-dimensional case: Y = [XC] TC where C is a matrix of cosine terms.

【1609】このように、DCTは時にはマトリックス
操作の項で説明されることがある。マトリックスの説明
は変換の演算的約分のために便利であるが、これは記法
を簡単にするだけであることを強調しておかなければな
らない。2/Nの項がDCレベルを支配することに注
意。定数c(j)及びc(k)は正規化関数として知ら
れている。
[1609] Thus, the DCT is sometimes described in terms of matrix operations. It should be emphasized that the description of the matrix is convenient because of the arithmetic reduction of the transformation, but this only simplifies the notation. Note that the 2 / N term dominates the DC level. The constants c (j) and c (k) are known as normalization functions.

【1610】 B.9.6 「IDCT変換アルゴリズム」 下記に続けて詳細に説明するように、実際のIDCT変
換を計算するために使用されるアルゴリズムは「高速」
アルゴリズムであるべきである。使用されるアルゴリズ
ムは効率的なハードウェア構造及び実装のために最適化
される。アルゴリズムの主な特徴は、1つの乗法を取り
除くための〓2スケーリングの使用、及び上位及び下位
セクションの間により大きな対称を生じさせるために設
計されるアルゴリズムの変換である。この対称は最も高
価な演算部の多くを効率的に再使用できるようにする。
[1610] B. 9.6 "IDCT Transform Algorithm" The algorithm used to compute the actual IDCT transform is "fast", as will be described in more detail below.
Should be an algorithm. The algorithms used are optimized for efficient hardware structure and implementation. The main features of the algorithm are the use of 〓2 scaling to remove one multiplication, and the transformation of the algorithm designed to produce greater symmetry between the upper and lower sections. This symmetry allows many of the most expensive computing parts to be efficiently reused.

【1611】アルゴリズムを示す線図(図145)にお
いて、上位半分と下位半分の間の対称は中間部分で明ら
かである。アダーとサブトラクターの最後のカラムも対
称部分を有しており、アダーとサブトラクターは比較的
低価格で組み合わせることができる(4つのアダー/サ
ブトラクターは図示されるような4つのアダーと4つの
サブトラクターよりかなり小さくなる)。
In the diagram showing the algorithm (FIG. 145), the symmetry between the upper and lower halves is apparent in the middle part. The last column of adders and subtractors also has a symmetric part, allowing the adders and subtractors to be combined at a relatively low cost (4 adders / subtractors are 4 adders and 4 adders as shown). Much smaller than a subtractor).

【1612】一次元変換の全ての出力は〓2によって概
算されることに注目。これは最後の二次元の答えが2に
よって概算されることを意味する。これは最終的なサチ
ュレーション及びシフティングによるラウンディングス
テージにおいて容易に訂正できる。
[1612] Note that all outputs of the one-dimensional transform are estimated by 〓2. This means that the last two-dimensional answer is estimated by 2. This can be easily corrected in the final saturation and shifting rounding stage.

【1613】図示されたアルゴリズムは二倍精度浮動小
数点Cにおいてコード化され、この結果は(明瞭なマト
リックス乗法を用いて)基準IDCTと比較された。次
のステージはC(タイミング情報は含まれない)におけ
るアルゴリズムのビット正確整数バージョンをコード化
するために使用され、それはアルゴリズムがシリコン上
に実装されるであろう時に、アルゴリズムの性能及び精
度を確認するために使用できたであろう。許容できる変
換の間違いはH.261スタンダードにおいて明記され
ており、この方法はビット正確モデルを実行し、伝えら
れる精度を測定するために使用される。
The illustrated algorithm was coded in double precision floating point C and the results were compared (using unambiguous matrix multiplication) to the reference IDCT. The next stage is used to encode a bit-accurate integer version of the algorithm in C (no timing information included), which verifies the performance and accuracy of the algorithm when it will be implemented on silicon. Could have been used to An acceptable conversion error is H.264. 261 standard, this method is used to implement a bit-accurate model and measure the accuracy conveyed.

【1614】図146は上位セクションと下位セクショ
ン間の共通性を図示する方法で、全体的なIDCT構造
を示し、更に中間結果を記憶することが必要なポイント
を示している。回路は上位セクション及び下位セクショ
ンが別個に計算されるようにするため時分割多重化され
ている。
FIG. 146 shows the overall IDCT structure in a way that illustrates the commonality between the upper and lower sections, and shows the points at which intermediate results need to be stored. The circuit is time division multiplexed so that the upper and lower sections are calculated separately.

【1615】B.9.7 「IDCT変換構造」 前述したように、IDCTアルゴリズムは効率的な構造
のために最適化される。その結果生じる構造の主な特徴
は次の通りである: ・高価な演算操作の重要な再使用 ・少数の乗算器、全てが多目的というよりむしろ一定係
数である(乗算器サイズを減少させ、別の係数記憶の必
要性を除去する) ・少数のラッチ、構造をパイプラインでつなぐためにわ
ずかに必要である ・パイプラインステージ毎に1つの分解操作だけが必要
であるようにオペレーションが配置される ・自然のオーダーで結果を生じるように配置できる ・複雑なクロスバースイッチングもしくは重要なマルチ
プレクシングがない(両者共、最終的な実装において高
価である) ・2つのキャリセーブオペレーション(1つは加算、1
つは減算)を取り除くために、分解結果から引き出され
る利点 ・各ステージが4クロックサイクルを取る、つまり非常
に高速の(大きな)演算操作の必要性を除去することを
可能にする構造 ・小さくて遅い波及的桁上げから、大きくて高速のキャ
リルックアヘッドバージョンへと単に分解操作を変更す
ることにより、現行の30MHzピクセルクロックオペ
レーションよりはるかに高速のオペレーションを支持す
るであろう構造。分解操作は各ステージにおいて必要な
時間の最大部分を必要とするので、これらのオペレーシ
ョンだけをスピードアップすることは全体的なオペレー
ションスピードに重大な影響を及ぼす一方、変換の全体
的なサイズの増加は比較的小さくてすむ。更に、速度の
増加はパイプライニングの深さを増加させることによっ
ても達成できる。
[1615] B. 9.7 "IDCT Transform Structure" As mentioned above, the IDCT algorithm is optimized for an efficient structure. The main features of the resulting structure are: -significant reuse of expensive arithmetic operations-a small number of multipliers, all of which are constant factors rather than multi-purpose (reducing multiplier size, separate Eliminates the need for coefficient storage of a small number of latches, slightly needed to pipeline the structure, operations are arranged so that only one decomposition operation is required per pipeline stage Can be arranged to produce results in natural order No complex crossbar switching or significant multiplexing (both expensive in final implementation) Two carry save operations (one add, one add, 1
The advantage that is derived from the decomposition result is to remove (one is subtraction) the structure that allows each stage to take 4 clock cycles, thus eliminating the need for very fast (large) arithmetic operations. A structure that would support much faster operation than current 30MHz pixel clock operation by simply changing the decomposition operation from a slow ripple carry to a large, fast carry look ahead version. While decomposing operations require the largest part of the time required in each stage, speeding up only these operations has a significant impact on overall operational speed, while increasing the overall size of the transformation Can be relatively small. In addition, increased speed can also be achieved by increasing the depth of the pipe lining.

【1616】・変換データフローの制御は非常に明瞭で
あり、効率的である。
[1616] The control of the conversion data flow is very clear and efficient.

【1617】一次元変換微細構造の線図(図150)
は、アルゴリズムが小さな一組のハードウェア資源にマ
ップされ、必要な性能が得られる方法を示している。こ
の構造の制御は「制御シフトレジスタ」をデータフロー
パイプラインに適合させることにより達成される。この
制御はデザインに対して明瞭であり、シリコンレイアウ
トにおいて効率的である。
[1617] Diagram of one-dimensional conversion fine structure (FIG. 150)
Show how the algorithm can be mapped to a small set of hardware resources to achieve the required performance. Control of this structure is achieved by adapting a "control shift register" to the data flow pipeline. This control is clear to the design and efficient in the silicon layout.

【1618】図150上で指名される制御信号(lat
ch,sel byp等)は、ラッチを制御するために
使用される様々なイネーブル信号であり、信号が流れ
る。ラッチに対するクロック信号は図示されていない。
[1618] The control signal (lat) specified in FIG.
ch, sel byp, etc.) are the various enable signals used to control the latches, through which the signals flow. The clock signal for the latch is not shown.

【1619】変換構造が変換サイズを最小にしながら、
必要な精度基準を満たせるようにするという点から、幾
つかの実装に関する詳細が重要となる。一般に使用され
る技術は主として2つのクラスに分かれる。
[1619] While the transformation structure minimizes the transformation size,
Some implementation details are important in terms of meeting the required accuracy criteria. Commonly used techniques fall into two main classes.

【1620】・固定小数点位置を個々に制御することに
より、各々の中間状態で固定ワード幅を持つ最大ダイナ
ミックレンジの保持。
[1620] -Maintaining the maximum dynamic range with a fixed word width in each intermediate state by controlling the fixed point position individually.

【1621】・(変換全体のワード幅を単に増加させる
ことによる精度増加ではなく)演算オペレーションの選
択操作により精度を達成するために、精度要件の統計的
定義の利用。
Use the statistical definition of accuracy requirements to achieve accuracy by selecting operations of arithmetic operations (rather than increasing accuracy by simply increasing the word width of the entire conversion).

【1622】変換を設計する明瞭な方法は、精度を達成
するために充分な大きさにされた固定ワード幅で単に固
定小数点を実行することから成ったであろう。不運なこ
とに、このアプローチは結果的により大きなワード幅を
生じさせ、従って大きな変換を生じさせる。本発明にお
いて使用されるアプローチは、特別の中間値のために利
用できるダイナミックレンジを最大限利用する方法で、
変換を通じて固定小数点位置が変化できるようにし、最
大限可能な精度を達成する。
A clear way to design a transform would consist of simply performing a fixed point with a fixed word width sized large enough to achieve precision. Unfortunately, this approach results in larger word widths and thus large conversions. The approach used in the present invention is to maximize the available dynamic range for a particular intermediate value,
Allow the fixed-point position to change through the transformation to achieve the maximum possible precision.

【1623】利用できる結果が統計的に明記されるの
で、全体的な精度を改善するためにどの中間値に対して
も選択的調整が行われ得る。選択される調整はLSB計
算の単なる操作であり、それはほとんど費用のかからな
いものである。この技術の代替案としては、ワード幅を
増やすことがあるが、かなりの費用がかかる。調整は最
終的な結果が以前に所定の方向と反対方向に行く傾向が
見い出されていれば、効果的にその結果に対して所定の
方向に加重値を与えることである。結果の断片的な部分
を調整することにより、これらの結果の全体的な平均を
効果的にシフトすることができる。
Since the available results are statistically specified, selective adjustments can be made to any intermediate value to improve the overall accuracy. The adjustment selected is just a manipulation of the LSB calculation, which is almost non-expensive. An alternative to this technique is to increase the word width, but at a significant cost. The adjustment is to effectively weight the results in a given direction, if the final result was previously found to tend to go in the opposite direction. Adjusting the fractional portion of the results can effectively shift the overall average of these results.

【1624】 B.9.8 「IDCTブロック線図の説明」 IDCTのブロック線図はトークンストリームのプロセ
シングに関連する全てのブロックを示す。この線図、図
147はクロッキング、テスト及びマイクロプロセッサ
アクセス、及びイベントメカニズムを詳細には示してい
ない。テストアクセスを提供するために使用されるスノ
ーパブロックは線図において図示されていない。
[1624] B. 9.8 "Description of IDCT Block Diagram" The block diagram of the IDCT shows all the blocks related to the processing of the token stream. This diagram, FIG. 147, does not detail the clocking, test and microprocessor access, and event mechanisms. The snowpa block used to provide test access is not shown in the diagram.

【1625】 B.9.8.1 「データ誤差チェッカー」 最初のブロックはデータ誤差チェッカー及びコレクター
であり、12ビット幅のトークンストリームを選び/作
り出し、このストリームを分析し、データトークンをチ
ェックするdecheckと呼ばれる。他の全てのトー
クンは無視され、直接送られる。遂行されるチェックは
64に等しくない拡張数を持つデータトークンのために
行われる。可能な誤差はdeficient(不足)
(<64拡張)、いdct too few even
t、及びsupernumerary(過剰)(>64
拡張)、idct too many eventと呼
ばれる。該かる誤差は標準のイベントメカニズムで合図
されるが、ブロックもトークンストリームの操作により
簡単な誤差リカバリを試みる。不足誤差の場合、データ
トークンは「0」バリュー拡張が詰められ(入力受け入
れを停止し、挿入を実行する)、正確な64拡張を作り
上げる。過剰誤差の場合、拡張ビットは64番目の拡張
に「0」が強制され、全ての余分な拡張はトークンスト
リームから取り除かれる。
[1625] B. 9.8.1 “Data Error Checker” The first block is the data error checker and collector, called decheck, which selects / creates a 12-bit wide token stream, analyzes this stream and checks the data tokens. All other tokens are ignored and sent directly. The check performed is for data tokens with an extension number not equal to 64. Possible error is deficient
(<64 extension), i dct too few even
t, and supernumerary (excess) (> 64)
Extension), called idct to many event. The error is signaled by a standard event mechanism, but the block also attempts a simple error recovery by manipulating the token stream. In the case of a missing error, the data token is padded with "0" value extensions (stops accepting inputs and performs inserts), creating the correct 64 extension. In the case of excess error, the extension bit is forced to a "0" at the 64th extension and all extra extensions are removed from the token stream.

【1626】B.9.8.2 「逆ジグザグ」 空間デコーダの次のブロックは逆ジグザグRAM、iz
zであり、これも12ビット幅のトークンストリームを
選び/作り出す。他の全てのブロックと同様、ストリー
ムは分析されるが、データトークンだけが認識される。
他の全てのトークンは変更されずに送られる。データト
ークンも送られるが、拡張オーダーが変更される。この
ブロックは正確なデータトークン(つまり、64拡張の
み)を頼りとする。これが真実のものでなければ、オペ
レーションは指定されない。再配置は標準の逆ジグザグ
パターンに従って行われ、IDCT出力において水平に
走査されるデータを提供するためにディフォルトによっ
て行われる。更に垂直に走査される出力を提供するため
オーダリングを変更することも可能である。標準のIZ
Zオーダリングに加えて、このブロックは各8ワードロ
ーの余分な再配置を実行する。これはIDCT一次元変
換ブロックの特別な要件の故に行われ、(0、1、2、
3、4、5、6、7)というオーダーではなく、(1、
3、5、7、0、2、4、6)というオーダーで出力さ
れるローを生じる。
[1626] B. 9.8.2 “Inverse Zigzag” The next block of the spatial decoder is the inverse zigzag RAM, iz
z, which also selects / creates a 12-bit wide token stream. As with all other blocks, the stream is parsed but only data tokens are recognized.
All other tokens are sent unchanged. A data token is also sent, but the expansion order is changed. This block relies on the correct data token (ie, 64 extensions only). If this is not true then no operation is specified. The relocation is done according to the standard inverse zigzag pattern, by default to provide the data to be horizontally scanned at the IDCT output. It is also possible to change the ordering to provide more vertically scanned output. Standard IZ
In addition to Z-ordering, this block performs an extra relocation of every 8 word rows. This is done because of the special requirements of the IDCT one-dimensional transform block, (0, 1, 2,
Not the order of 3, 4, 5, 6, 7), but (1,
3,5,7,0,2,4,6) results in rows being output.

【1627】 B.9.8.3 「入力フォーマッティング部」 次のブロックは入力フォーマッティング部、ip fm
tであり、それはIDCT変換の第1次元のためにデー
タ入力を形成する。このブロックは12ビット幅のトー
クンストリーム入力と22ビット幅のトークンストリー
ム出力を持つ。データトークンはIDCT変換標準22
ビット幅ワードにおける正しい有効へと整数部分を動か
すために、左にシフトされ、分数部分は0に設定され
る。これはこのポイントにおいて10ビット分数がある
ことを意味する。他の全てのトークンはシフトされず、
余分な未使用のビットは単に0に設定される。
B. 9.8.3 “Input Formatting Unit” The next block is the input formatting unit, ip fm.
t, which forms the data input for the first dimension of the IDCT transform. This block has a 12-bit wide token stream input and a 22-bit wide token stream output. Data token is IDCT conversion standard 22
To move the integer part to the correct valid in the bit-width word, it is shifted left and the fractional part is set to zero. This means that there is a 10-bit fraction at this point. All other tokens are not shifted,
The extra unused bits are simply set to 0.

【1628】 B.9.8.4 「1次元変換 − 第1次元」 図示されている次のブロックは最初の1次元IDCT変
換ブロック、onedである。これは22ビット幅のト
ークンストリームを入力/出力し、いつものように、ス
トリームは分析され、データトークンが認識される。他
の全てのトークンは無変更のまま送られる。データトー
クンは、8x8の逆離散コサイン変換の1次元実行を果
たす、パイプラインでつながれたデータパスを通過す
る。第1次元の出力には、データワード内に7ビット分
数がある。他の全てのトークンは単にデータ変換待ち時
間に適合し、出力前にトークンストリームに組み換えら
れる単なるシフトレジスタデータパスを通過する。
B. 9.8.4 "One-Dimensional Transform-First Dimension" The next block shown is the first one-dimensional IDCT transform block, oned. It inputs / outputs a 22-bit wide token stream, and as usual the stream is parsed and the data tokens are recognized. All other tokens are sent unchanged. The data tokens pass through a pipelined data path that performs a one-dimensional implementation of an 8x8 inverse discrete cosine transform. The first dimension output has a 7-bit fraction in the data word. All other tokens simply pass the data conversion latency and go through a simple shift register datapath that is recombined into a token stream before output.

【1629】B.9.8.5 「転置RAM」 転置RAMtramはそれがトークンストリームを処理
する方法において、逆ジグザグRAMと多くの面で似て
いる。処理されるトークンの幅(22ビット)及び遂行
される再配置は異なるが、他の面では同じように作用
し、実際にその制御ロジックの多くを共有する。ここで
も、ローはカラムのローへの基本的スワッピングと共
に、次のIDCT次元の要件のために付加的に再配置さ
れる。
[1629] B. 9.8.5 "Transpose RAM" The transpose RAMtram is similar in many ways to the inverse zigzag RAM in the way it handles token streams. The width of the token processed (22 bits) and the relocations performed are different, but they work the same in other respects and actually share much of their control logic. Again, the rows are additionally rearranged for the next IDCT dimension requirement, with basic swapping of columns into rows.

【1630】 B.9.8.6 「1次元変換−第2次元」 図示されている次のブロックは1次元IDCT変換ブロ
ックの別の例であり、全ての面で第1次元と同じであ
る。この次元の出力には、4ビット分数がある。 B.9.8.7 「ラウンドとサチュレーション」 ラウンド・サチュレーションブロック、rasは22ビ
ット固定小数点フォーマットのデータ拡張を含む22ビ
ット幅のトークンストリームを選び、9ビット幅のトー
クンストリームを出力するが、その場合データ拡張は
(+ve無限大に向かって)整数にラウンドされ、9ビ
ットの2の補数表示に飽和されており、他の全てのトー
クンは直接送られる。
[1630] B. 9.8.6 "One-Dimensional Transform-Second Dimension" The next block shown is another example of a one-dimensional IDCT transform block, which is the same as the first dimension in all respects. There are 4 bit fractions in the output of this dimension. B. 9.8.7 "Rounds and Saturations" The round saturation block, ras, selects a 22-bit wide token stream containing a 22-bit fixed-point format data extension and outputs a 9-bit wide token stream. The extension is rounded to an integer (towards + ve infinity), saturated to a 9-bit two's complement representation, and all other tokens are sent directly.

【1631】 B.9.9 「ブロックのハードウェア解説」 B.9.9.1 「標準のブロック構造」 トークンストリームを処理する全てのブロックのため
に、図148に示すような標準の概念的な構造がある。
これはトークンストリームの操作を遂行するセクション
から2線式インターフェースラッチを分離する。この構
造上のバリエーションには、余分な内部ブロック(RA
Mコア等)が含まれる。図示した幾つかのブロックで
は、全ての「データパス」ロジックを一緒にグルーピン
グするという要件のため、その構造は(今も実際に存在
するにもかかわらず)概略図においてあまり明瞭にはさ
れず、これを全ての標準のセルロジックから分離する。
ras等の非常に簡単なブロックの場合、論理的操作を
せずに、ラッチされたoutacceptを直接入力2
線式ラッチに置くことができる。
[1631] 9.9 “Block hardware description” B. 9.9.1 “Standard Block Structure” For all blocks that process a token stream, there is a standard conceptual structure as shown in FIG.
This separates the 2-wire interface latch from the section that performs the operations on the token stream. An extra internal block (RA
M cores, etc.) are included. In some of the blocks shown, the structure is not very clear in the schematic (although it still exists) due to the requirement that all "datapath" logic be grouped together, Separate this from all standard cell logic.
In the case of a very simple block such as ras, the latched outaccept is directly input 2 without any logical operation.
Can be placed in a wire latch.

【1632】B.9.9.2 「Decheck−デー
タ誤差チェッキング/リカバリ」 トークンストリーム内の最初のブロックは、ブロック線
図展望セクションで明記したように、データチェッキン
グと訂正を行う。検出される誤差は標準のイベントメカ
ニズムで処理され、それはイベントにマスクすることが
でき、ブロックは誤差が検出される時、リカバリ手順で
続けるか、あるいはイベントマスクステータス次第で停
止することができる。IDCTは正しくないデータトー
クンを見るべきではないので、それが試みるリカバリは
重大な問題であるかもしれないものを含もうとするかな
り簡単な試みにすぎない。
[1632] B. 9.9.2 “Decheck-Data Error Checking / Recovery” The first block in the token stream does data checking and correction as specified in the Block Diagram Perspective section. The detected error is handled by a standard event mechanism, which can be masked to an event and the block can either continue in the recovery procedure or stop depending on the event mask status when the error is detected. Since the IDCT should not see incorrect data tokens, the recovery it attempts is just a fairly straightforward attempt to include what might be a serious problem.

【1633】このブロックは2ステージのパイプライン
の深さがあり、zcellsにおいて完全に実行され
る。入力2線式インターフェースラッチは「フロント」
タイプのものであり、(IDCTの前にある)このブロ
ックがその前にあるものとは別の電源組織の上にある
時、全ての入力がトランジスタゲートに到達して安全な
オペレーションができるようにすることを意味してい
る。このブロックはトークンストリームを分析し、非デ
ータトークンを直接送ることによって作用する。データ
トークンが発見されると、カウントはヘッダの後見つけ
られた拡張数からスタートする。カウントが63ではな
い時、拡張ビットが「0」であると見い出されると、誤
差信号が発せられ(それはイベントロジックに行き)、
そのイベント用のマスクビットの状態次第で、dech
eckが停止される(つまり、もはや入力をアクセプト
しないか、出力を発しない)か、あるいは誤差リカバリ
を開始する。deficient誤差用のリカバリメカ
ニズムは、正しい拡張数のトークンストリームへの挿入
を制御するためにカウンタを使用する(挿入されるバリ
ューは常に「0」である)。明らかに、入力はアクセプ
トされないが、一方でこの挿入は続けられる。64番目
の拡張の拡張ビットが「0」ではないと見い出される
と、supernumerary誤差が発せられ、デー
タトークンは拡張ビットを「0」に強制することによっ
て完了され、「1」に設定された拡張ビットを持つ全て
の後に続くワードは、データをアクセプトし続けるが出
力を無効にすることによって、トークンストリームから
削除される。
This block has a two stage pipeline depth and is fully executed in zcells. Input 2-wire interface latch is "front"
Type, and when this block (before the IDCT) is on a different power supply than the one before it, all inputs reach the transistor gates for safe operation. It means to do. This block works by parsing the token stream and sending non-data tokens directly. When a data token is found, the count starts with the number of extensions found after the header. When the extension bit is found to be "0" when the count is not 63, an error signal is emitted (it goes to the event logic),
Depending on the state of the mask bit for that event, dec
eck is stopped (i.e. no longer accepts inputs or emits outputs) or initiates error recovery. The recovery mechanism for the defensive error uses a counter to control the insertion of the correct extension number into the token stream (the inserted value is always "0"). Obviously, no input is accepted, but this insertion continues. If the extension bit of the 64th extension is found not to be a "0", a supernumerary error is emitted and the data token is completed by forcing the extension bit to "0" and the extension bit set to "1". All subsequent words with a are removed from the token stream by continuing to accept data but invalidating the output.

【1634】2つの誤差信号は(ブロックが停止されな
い限り)永続的ではなく、つまり誤差信号だけが、リカ
バリが完了するまで、誤差が検出されるポイントから活
性のまま残る。これは最低限度の1つの完全なサイクル
であり、無限大に過剰なデータトークンの場合に永久に
存続する。
The two error signals are not permanent (unless the block is stopped), that is, only the error signal remains active from the point where the error is detected until recovery is complete. This is a minimum of one complete cycle and will last forever in the case of an infinite excess of data tokens.

【1635】B.9.9.3 「Izzとtram−R
AMの再配置」 izz(逆ジグザグRAM)及びtram(転置RA
M)は、同じ機能のバリエーションを遂行し、違いより
類似性の方を多く持っているので、ここでは一緒に考慮
する。これらのブロックはトークンストリームを選び、
他の全てのトークンを無変更のまま送る一方で、データ
トークンの拡張を再配置する。処理される拡張幅及び再
配置のシーケンスは異なるが、各RAM用の制御ロジッ
クの大きなセクションは同じであり、実際に各RAM用
の概略図において例証される「コモン制御」ブロックに
組織化される。幅の違いはこの制御セクションには何の
影響も及ぼさないので、RAMコア及び適当な幅の2線
式インターフェースブロックと共に、各RAM用に異な
る「シーケンスアドレス発生器」を使用することだけが
必要である。
[1635] B. 9.9.3 "Izz and tram-R
Relocation of AM ”izz (inverse zigzag RAM) and tram (transpose RA)
M) carry out variations of the same function and have more similarities than differences, so they are considered together here. These blocks choose token streams,
Rearrange the data token extension while sending all other tokens unchanged. Although the expanded width and the sequence of relocations processed are different, the large section of control logic for each RAM is the same and is actually organized into the "common control" blocks illustrated in the schematic for each RAM. . Since the difference in width has no effect on this control section, it is only necessary to use a different "sequence address generator" for each RAM with a RAM core and a 2-wire interface block of appropriate width. is there.

【1636】各RAMの全体的な行為は本質的にFIF
Oのものと同じである。このことはトークンレベルにお
いて本当であり、出力オーダーに対する特別な修正はデ
ータトークンの拡張ワードのために行われる。FIFO
の深さは128ステージである。これはデータトークン
の出力スタートが検出された後FIFOの出力が支持さ
れるので、システムを通じて持続できる30MHzのた
めの要件を満たすことが必要である。これは、使用され
る再配置シーケンスの特徴が、再配置出力を始めること
ができる前に、FIFOに完全な64拡張ブロックが集
められることを要求しているからである。より正確に言
えば、逆ジグザグと転置シーケンス用の必要な最低限の
数が異なっており、両者の場合64より幾分少ない。し
かしながら、2のベキではない長さを持つFIFOを制
御するという複雑性は、RAMコアにおける小さな節約
が、必要な制御ロジックの付加的な複雑さより重要であ
ろうということを意味する。RAMコアは1つの30M
Hzサイクルにおいて(同じアドレスまたは別のアドレ
スへの)リード及びライトができるようにするデザイン
で実行される。これはRAMが内部60MHzのサイク
ル時間で効果的に操作することを意味する。再配置オペ
レーションは0〜63の範囲で、しかし自然のオーダー
ではなく、リードアドレスの特別なシーケンスを発生さ
せることにより(sequenceaddress g
eneration)遂行される。必要なシーケンスは
(8回の水平または垂直スキャニングのための)標準ジ
グザグシーケンスによって、あるいは通常のマトリック
ス転置のために必要なシーケンスによって指定される。
これらの標準シーケンスは、IDCT変換1次元ブロッ
クの要件の故に、奇数/偶数フォーマット内で各ローを
出力するための要件(つまり、(0、1、2、3、4、
5、6、7)ではなく(1、3、5、7、0、2、4、
6))によってその後更に再配置される。
The overall behavior of each RAM is essentially a FIF
Same as O's. This is true at the token level and special modifications to the output order are made for the expansion word of the data token. FIFO
Depth is 128 stages. This is necessary to meet the requirement for 30 MHz which can be sustained throughout the system as the output of the FIFO is supported after the start of output of the data token is detected. This is because the relocation sequence feature used requires that the complete 64 extension blocks be collected in the FIFO before relocation output can begin. To be more precise, the minimum number required for inverse zigzag and transpose sequences is different, some less than 64 in both cases. However, the complexity of controlling FIFOs with non-power-of-two lengths means that the small savings in the RAM core will outweigh the additional complexity of the required control logic. 30M RAM core
Performed in a design that allows reading and writing (to the same address or another address) in Hz cycles. This means that the RAM operates effectively with an internal 60 MHz cycle time. Relocation operations range from 0 to 63, but are not in natural order, but by generating a special sequence of read addresses (sequenceaddress g
is performed. The required sequence is specified by the standard zigzag sequence (for 8 horizontal or vertical scannings) or by the sequence required for normal matrix transposition.
These standard sequences are due to the requirement of outputting each row in odd / even format due to the requirement of IDCT transform one-dimensional block (ie (0,1,2,3,4,
(5, 6, 7), not (1, 3, 5, 7, 0, 2, 4,
6)) and then rearranged further.

【1637】転置アドレスシーケンス発生はアルゴリズ
ム的に全く明瞭である。直接的な転置シーケンス発生は
単にロー及びカラムアドレスの別々の発生を必要とする
だけであり、それらは共にカウンタで実行される。ロー
再配置の要件は単に、ローアドレスが自然のカウンタで
はなく、、むしろ簡単な特殊なステートマシーンで発生
されるということを意味する。
The transposed address sequence generation is algorithmically quite clear. Direct transpose sequence generation only requires separate generation of row and column addresses, both of which are performed in a counter. The requirement for row relocation simply means that the row address is generated by a simple special state machine rather than a natural counter.

【1638】逆ジグザグシーケンスはアルゴリズム的に
発生するため、あまり明瞭ではない。この事実の故に、
アドレスの全64ビットバリューを保持するために小さ
なROMが使用され、これは水平と垂直のスキャンモー
ド間で変化するために、スワップされ得るローとカラム
のカウンタでアドレスされる。ROMベースの発生器は
非常に素早く設計され、順方向ジグザグ(ROM再プロ
グラム)を実行するか、もしくは他の代替的なシーケン
スを将来加えることは些細なことであるという利点をも
有する。
The inverse zigzag sequence occurs algorithmically and is not very clear. Because of this fact
A small ROM is used to hold the full 64-bit value of the address, which is addressed by row and column counters that can be swapped because it changes between horizontal and vertical scan modes. ROM-based generators are designed very quickly and also have the advantage that performing forward zigzag (ROM reprogramming) or adding other alternative sequences in the future is trivial.

【1639】B.9.9.4 「“Oned”−1次元
IDCT変換」 このブロックは20ステージのパイプライン深さを持
ち、パイプラインは失速されると硬くなる。この剛性は
デザインを大きく簡略化し、パイプラインの深さはそれ
ほど大きくないので、全体的な力に過度に影響を及ぼす
べきではなく、両次元は一定量のバッファリングを提供
するRAMの後を引き継ぐ。
[1639] B. 9.9.4 "" Oned "-1D IDCT Transform" This block has a pipeline depth of 20 stages, and the pipeline becomes stiff when stalled. This stiffness should greatly simplify the design and the pipeline depth should not be too great, so it should not unduly affect the overall force, both dimensions take over after the RAM which provides a certain amount of buffering. .

【1640】ブロックは標準構造に従うが、(プロセス
されるべき)データトークン拡張及び無変更のまま送ら
れるべき他の全てのアイテムのために、内部的に別のパ
スを有する。概略図は特別な方法で描かれていることに
注意。まず、全てのデータパスロジックを一緒にグルー
プ分けするという要件の故に、次に、自動的に編集され
たコード発生を可能にするという要件(これはトップレ
ベルで制御ロジックを説明する)の故に。
The block follows the standard structure, but internally has a separate path for the data token extension (to be processed) and all other items to be sent unchanged. Note that the schematics are drawn in a special way. Firstly, because of the requirement to group all datapath logic together, and secondly because of the requirement to allow automatically edited code generation (which describes the control logic at the top level).

【1641】トークンはいつもの通り分析され、それか
らデータ拡張とその他のバリューが、出力2線式インタ
ーフェースラッチブロックの前のマルチプレクサで組換
えされる前に、2つの異なる並列パスを通って各々送ら
れる。変換データパスを通してバリューを無変更のまま
送ることはできないので、並列パスが必要である。変換
データパスの待ち時間は、トークンストリームの残りを
処理するために、簡単なシフトレジスタと適合される。
The tokens are analyzed as usual and then the data extension and other values are each sent through two different parallel paths before being recombined in the multiplexer in front of the output 2-wire interface latch block. . A parallel path is required because the value cannot be sent unchanged through the conversion data path. The latency of the transform data path is matched with a simple shift register to handle the rest of the token stream.

【1642】onedの制御セクションはトークンスト
リームを分析し、トークンのスプリッティングと組換え
を制御する必要がある。その他の主なセクションは変換
データパスを制御する。このデータパスの制御用の主メ
カニズムはデータパスパイプラインを適合させる制御シ
フトレジスタであり、データパスパイプラインの各ステ
ージ用に必要な制御信号を提供するためにタップが外さ
れる。
The oned control section needs to analyze the token stream and control token splitting and recombination. The other main section controls the conversion datapath. The main mechanism for controlling this datapath is a control shift register that adapts the datapath pipeline and is tapped to provide the necessary control signals for each stage of the datapath pipeline.

【1643】onedブロックはデータ拡張の完全なロ
ー、つまり8のグループに関するオペレーションをスタ
ートすることだけができるという要件を持つ。ローの中
間で無効なデータ(Gaps)を処理することはできな
いが、事実上、izz及びtramのオペレーションは
完全なデータブロックが64の有効な拡張バリューの割
り込みなしのシーケンスとして出力されることを保証す
る。
The oned block has the requirement that it can only start an operation on a complete row of data expansion, ie a group of 8. Although it is not possible to handle invalid data (Gaps) in the middle of a row, the IZZ and tram operations virtually guarantee that the complete block of data will be output as an uninterrupted sequence of 64 valid extended values. To do.

【1644】B.9.9.4.1 「変換データパス」 変換データパスの微細構造、t dpは図150におい
て以前に図示した。一部の詳細(例えばクロッキング、
シフト等)は図示していないことに注意。しかしなが
ら、この線図はパイプラインのどのステージにおいて
も、データパスが4つのバリューに関して同時に操作す
る方法を図示している。基本的なデータパスのサブ構
造、つまり、3つの主要セクション(例えば、プリコモ
ン、コモン、ポストコモン)も、演算及びラッチリソー
スが必要になるにつれて、見ることができる。指名され
た制御信号は制御シフトレジスタステートのデコードで
順序付けされるパイプラインラッチ(及び加算/減算セ
レクタ)用のイネーブルである。各パイプラインステー
ジは長さにおいて実際に4つのクロックサイクルである
ことに注意。
[1644] B. 9.9.4.1 "Transformed Data Path" The fine structure of the transformed data path, t dp, was previously illustrated in FIG. Some details (eg clocking,
Note that shifts etc.) are not shown. However, this diagram illustrates how, at any stage of the pipeline, the datapath operates on four values simultaneously. The basic datapath substructure, the three main sections (eg, precommon, common, postcommon) can also be seen as the arithmetic and latch resources are needed. The named control signal is an enable for pipelined latches (and add / subtract selectors) ordered in the decoding of the control shift register states. Note that each pipeline stage is actually four clock cycles in length.

【1645】変換データパス内に、入力を集め、パイプ
ラインに中間結果を記憶し、出力を順番に並べることが
必要な多くのラッチステージがある。幾つかのラッチは
マックシングタイプ、つまりそれらは条件付きで1つ以
上のソースからロードされ得る。全てのラッチは可能化
タイプのものである、つまり、別々のクロックとイネー
ブル入力がある。これは作られたクロックスキームが適
用された場合に生じるであろう不均斉という問題を考慮
しなければならないというより、正しいタイミングでイ
ネーブル信号を発生させることの方がたやすいことを意
味する。
There are many latch stages in the conversion datapath that need to collect inputs, store intermediate results in the pipeline, and order the outputs. Some latches are of the maxsing type, that is, they can be conditionally loaded from more than one source. All latches are enable type, that is, they have separate clock and enable inputs. This means that it is easier to generate the enable signal at the correct timing, rather than having to consider the problem of asymmetry that would occur if the clocking scheme created was applied.

【1646】必要とされる主要な演算要素は次の通りで
ある。
The main arithmetic elements required are as follows:

【1647】 ・多数の固定化係数乗算器(キャリセーブ出力) ・キャリセーブアダー ・キャリセーブサブトラクター ・分解アダー ・分解アダー/サブトラクター 全ての演算は2の補数表示で行われる。これは通常の
(分解された)形態もしくはキャリセーブの形態(つま
り、その合計が実際のバリューを表示する2つの数字)
であってよい。全ての数字は記憶の前に分解され、これ
は時間の点から最も高価なオペレーションであるので、
1つの分解オペレーションだけがパイプラインステージ
毎に行われる。分解オペレーションはここで行われ、全
てのオペレーションが簡単な波及的桁上げを使用する。
これは分解器が非常に小さいが、比較的遅いことを意味
する。分解は各ステージにおいて全体の時間を支配する
ので、高速分解演算装置を使用して全体の変換をスピー
ドアップする機会が明らかにある。
-Multiple fixed coefficient multipliers (carry save output) -Carry save adder-Carry save subtractor-Decomposition adder-Decomposition adder / subtractor All calculations are performed in 2's complement notation. This is the normal (disassembled) form or carry-save form (ie two numbers whose total represents the actual value).
May be All numbers are broken down before memory, as this is the most expensive operation in terms of time,
Only one decomposition operation is done per pipeline stage. Decomposition operations are performed here and all operations use simple ripple carry.
This means that the decomposer is very small, but relatively slow. Since the decomposition dominates the overall time at each stage, there is clearly an opportunity to use a fast decomposition arithmetic unit to speed up the overall conversion.

【1648】B.9.9.5 「“Ras”−ラウンデ
ィングとサチュレーション」 本発明では、rasブロックは第2次元onedの出力
から22ビットの固定小数点ナンバーを選択し、これら
を正確にラウンドされ飽和された必要な9ビットのサイ
ン済み整数結果に変えるという仕事を果たす。このブロ
ックは更に、スキーム(2/Nターム)内の固有の必要
な4で割る作業を遂行し、更に2次元の各々において遂
行される〓2のプリスケーリングを補うために必要な2
で割る作業を遂行する。この8で割る作業は固定小数点
位置が予測された以上に残された3ビットであると解釈
される、つまりその結果を15ビットの整数表示と(4
ビット分数ではなくむしろ)7ビット分数として処理す
ることを含蓄している。実行されるラウンディングモー
ドは「正の無限大にラウンドする」、つまり、正確に
0.5の分数に1を加算することである。これは実行す
るための最も簡単なラウンディングモードであるので、
基本的に行われる。ラウンディング(整数部分の条件付
き増分)が完了した後、9ビットのサイン済み結果がこ
の範囲内において最大または最小バリューに飽和される
必要があるかどうかを見るために、この結果が検査され
る。これは元の整数バリューの上位ビットと共に実施さ
れる増分の検査によって行われる。
[1648] B. 9.9.5 "" Ras "-Rounding and Saturation" In the present invention, the ras block selects 22-bit fixed point numbers from the output of the 2nd dimension oned, which are exactly rounded to the desired saturation. It does the job of turning it into a 9-bit signed integer result. This block also performs the necessary divide-by-four work inherent in the scheme (2 / N term) and also the two required to supplement the pre-scaling of 2 performed in each of the two dimensions.
Carry out the work divided by. This division by 8 is interpreted as the remaining 3 bits beyond what the fixed point position was expected to be, ie the result is a 15-bit integer representation (4
It implies processing as a 7-bit fraction (rather than a bit fraction). The rounding mode performed is "round to positive infinity", that is, adding 1 to a fraction of exactly 0.5. This is the easiest rounding mode to run, so
Basically done. After the rounding (conditional increment of the integer part) is complete, this result is examined to see if the 9-bit signed result needs to be saturated to the maximum or minimum value within this range. . This is done by an incremental check performed with the high order bits of the original integer value.

【1649】いつものように、トークンストリームは分
析され、ラウンドとサチュレーションオペレーションが
データトークン拡張値に対してのみ適用される。ブロッ
クは深さが2ステージのパイプラインを持ち、完全にz
cellsで実行される。
As usual, the token stream is parsed and round and saturation operations are applied only to the data token extension values. The block has a pipeline with a depth of 2 stages and is completely z
It is executed in cells.

【1650】B.9.9.6 「Idctsels −
IDCTレジスタセレクトデコーダ」 このブロックは4つのマイクロプロセッサインターフェ
ースアドレスライン及びsel test入力を、個々
のブロックテストアクセス用のセレクトライン(スノー
パ及びRAM)にデコードする簡単なデコーダである。
ブロックはzcells結合ロジックのみで構成され
る。デコードされるセレクトは表227に示す。
[1650] B. 9.9.6 "Ictctels-
IDCT Register Select Decoder "This block is a simple decoder that decodes four microprocessor interface address lines and sel test inputs into select lines (snooper and RAM) for individual block test access.
The block consists only of zcells combining logic. The decoded selections are shown in table 227.

【1651】[1651]

【表225】 [Table 225]

【1652】[1652]

【表226】 B.9.9.7 「Idctregs−IDCT制御レ
ジスタとイベント」 発明のこのブロックはデータの不足誤差及び過剰誤差、
及びIDCT出力が垂直に走査されるように、izz再
配置変更を行うために使用できる単一メモリーマップ済
みビットvscanを処理する標準イベントロジックブ
ロックの例を含む。このビットはバリュー「0」にリセ
ットされる、つまりディフォルトモードが水平にスキャ
ンアウトされる。2つの可能なイベントは割り込みとし
て使用できるidctevent信号を形成するため
に、共にORされる。レジスタ及びイベントのアドレス
及びビット位置に関しては、セクションB.9.10を
参照せよ。
[Table 226] B. 9.9.7 "Idctregs-IDCT Control Registers and Events" This block of the invention provides data under and over errors,
And an example of a standard event logic block processing a single memory mapped bit vscan that can be used to make an izz relocation change such that the IDCT output is scanned vertically. This bit is reset to the value "0", that is, the default mode is horizontally scanned out. The two possible events are ORed together to form the idcevent signal which can be used as an interrupt. For registers and event addresses and bit positions, see Section B. See 9.10.

【1653】B.9.9.8 「クロック発生器」 IDCTにおいて2つの「標準」タイプ(clkge
n)のクロック発生器が使用される。これは2つの別々
のスキャンパスがあるように実施される。クロック発生
器はidctcga及びidctcgbと称される。機
能的に、唯一の違いはidctcgbがnotrstl
信号を発生させる必要がないことである。2つのクロッ
ク発生器におけるクロックとリセット出力の各々のため
のバッファリング量は、各々のクロックもしくはリセッ
トによって駆動される実際のロードに適合するように個
々に調整される。適合されるロードは最終レイアウトの
ゲート及びトラックキャパシタンスから実際に測定され
た。
[1653] B. 9.9.8 “Clock Generator” Two “standard” types (clkge) in IDCT
The clock generator of n) is used. This is done so that there are two separate scan paths. The clock generators are referred to as idctcga and idctcgb. Functionally, the only difference is that idctcgb is notrstl
It is not necessary to generate a signal. The amount of buffering for each of the clock and reset outputs in the two clock generators is individually adjusted to suit the actual load driven by each clock or reset. The adapted load was actually measured from the gate and track capacitance of the final layout.

【1654】IDCTトップレベルのBlock Pl
ace and Route(BPR)が実行された時
の利点は、これらのトラックは有効電流を運ぶので、よ
り重く負荷されたクロック(ph0 bとph1 b)
用のクロック分配ツリーの最初のセクションのトラック
幅を増加させるために、対話式大域ルーティング特徴の
能力から引き出された。
[1654] IDCT Top-level Block Pl
The advantage when ace and Route (BPR) is implemented is that these tracks carry active currents, so the heavier loaded clocks (ph0 b and ph1 b).
Derived from the ability of the interactive global routing feature to increase the track width of the first section of the clock distribution tree for.

【1655】 B.9.9.9 「JTAG制御ブロック」 IDCTが2つの別個のスキャンチェインと2つのクロ
ック発生器を持つので、標準JTAG制御ブロック、j
spctleには2つの場合がある。これらはテストポ
ートと2つのスキャンパス間をつなぎ合わせる。
[1655] B. 9.9.9 "JTAG Control Block" Since the IDCT has two separate scan chains and two clock generators, the standard JTAG control block, j
There are two cases for speckle. These connect the test port and the two scan paths.

【1656】 B.9.10 「イベント及び制御レジスタ」 IDCTは2つのイベントを発生させることができ、1
つの制御ビットを持つ。2つのイベントとは、不正確な
データトークンが検出された場合に、IDCTの前のd
echeckブロックによって発生されるいdct t
oo feweventとidct too many
eventである。1つの制御ビットは垂直に走査さ
れる出力でIDCTを操作することが必要な場合に設定
されるvscanである。従って、このビットはizz
ブロックを制御する。全てのイベントロジック及びミモ
リーマップ制御ビットはブロックidctregsの中
に置かれる。
[1656] B. 9.10 “Event and Control Register” The IDCT can generate two events,
Has one control bit. Two events are d before IDCT when an incorrect data token is detected.
The dct t generated by the check block
oo feevent and idct too many
event. One control bit is vscan which is set when it is necessary to operate the IDCT with vertically scanned output. Therefore, this bit is izz
Control the block. All event logic and mimory map control bits are placed in the block idctregs.

【1657】IDCTの観点から、これらのレジスタは
次のロケーションに置かれる。トライステートi/oワ
イヤはn derrdであり、これらのロケーションを
適宜にリード及びライトするためにn serrdが使
用される。
From the IDCT perspective, these registers are located at the following locations: The tristate i / o wire is n errd, and n servd is used to read and write these locations accordingly.

【1658】[1658]

【表227】 [Table 227]

【1659】[1659]

【表228】 B.9.11 「実行」 B.9.11.1 「ロジックデザインアプローチ」 全てのIDCTブロックのデザインにおいて、発明によ
れば、統一された簡単なロジックデザイン戦略があり、
それは素早く明瞭な方法で「安全な」設計を行うことが
可能であるということを意味したであろう。多数の制御
ロジックのために、マスター・スレーブだけを用いる簡
単なスキームが採用された。非同期的なセット/リセッ
ト入力だけが正しいシステムリセットに接続された。同
じ機能をより効率的に遂行するために利口な非標準型回
路構成を提供することも可能であったかもしれないが、
このスキームは次のような利点を持っている。
[Table 228] B. 9.11. “Execution” B. 9.11.1 "Logic design approach" According to the invention, there is a unified and simple logic design strategy in the design of all IDCT blocks.
It would have meant that it was possible to make a "safe" design in a quick and clear way. Due to the large number of control logic, a simple scheme with only master / slave was adopted. Only the asynchronous set / reset input was connected to the correct system reset. It could have been possible to provide intelligent non-standard circuitry to perform the same function more efficiently,
This scheme has the following advantages.

【1660】・概念的にシンプルである ・設計しやすい ・操作速度はかなり明らかであり(ラッチ→ロジック→
ラッチ→ロジックスタイルのデザイン参照)、自動分析
に従う ・グリッチは問題ではない(SRラッチを参照) ・初期設定のためにシステムリセットだけを使用する ・スキャンパスが正しく作用できるようにする ・自動的に従うCコード発生を可能にする 透明なd−タイプのラッチが使用された多数の場所があ
り、これらは下記に記した。
[1660] ・ Conceptually simple ・ Easy to design ・ Operating speed is fairly clear (latch → logic →
Latch → see logic-style design), follow automatic analysis ・ Glitch is not a problem (see SR Latch) ・ Use only system reset for initialization ・ Allow scan path to work correctly ・ Automatically follow There are a number of places where transparent d-type latches were used which allow C code generation and are described below.

【1661】B.9.11.1.1 「2線式インター
フェースラッチ」 スタンダードブロック構造は入力及び出力の2線式イン
ターフェースのためにラッチを使用する。出力2線式ラ
ッチと次に続く入力2線式ラッチの間にはロジックは存
在しない。
[1661] B. 9.11.1.1 “2-wire interface latch” The standard block structure uses a latch for the input and output 2-wire interface. There is no logic between the output 2-wire latch and the following input 2-wire latch.

【1662】 B.9.11.1.2 「ROMインターフェース」 ROM回路のタイミング要件の故に、ラッチはROMの
出力におけるIZZシーケンス発生器において使用され
る。
B. 9.11.1.2 "ROM Interface" Due to the timing requirements of the ROM circuit, latches are used in the IZZ sequence generator at the output of the ROM.

【1663】B.9.11.1.3 「変換データパス
及び制御シフトレジスタ」 完全なマスター・スレーブ装置としてあらゆるパイプラ
イン記憶ステージを実装することが可能であるが、必要
とされる記憶量の故に、ラッチを使用することにより得
られる重大な節約がある。しかしながら、このスキーム
はユーザーが幾つかの要素を考慮することを求めてい
る。
[1663] B. 9.11.1.3 "Translation Datapath and Control Shift Register" It is possible to implement any pipeline storage stage as a complete master-slave device, but use latches because of the amount of storage required. There are significant savings to be gained by doing. However, this scheme requires users to consider several factors.

【1664】・制御シフトレジスタはイネーブルとして
使用されるため、両フェイズの制御信号を作り出さなけ
ればならない(つまり、このシフトレジスタにおいてラ
ッチを使用する必要) ・タイミング分析はラッチの使用により複雑になる ・1つのラッチが同じフェイズの別のラッチに出力する
ので、t postcはもはや自動的に編集済みコード
を作り出さないであろう(イネーブルのタイミングの故
に、これは回路の問題ではない) にもかかわらず、ラッチの使用により節約されるエリア
は本発明においてこれらの要素を受け入れることを価値
のあるものにしている。
The control shift register is used as an enable, so it must produce control signals for both phases (ie the need to use a latch in this shift register). Timing analysis is complicated by the use of latches. Even though t postc will no longer automatically produce edited code because one latch outputs to another in the same phase (due to the timing of the enable, this is not a circuit issue) The area saved by the use of latches makes it worthwhile to accommodate these elements in the present invention.

【1665】B.9.11.1.4 「マイクロプロセ
ッサインターフェース」 本インターフェースの性質のため、イベント及びレジス
タブロックidctregs及びRAMコア用のキーホ
ールロジックにおいて、ラッチ(及びリシンクロナイザ
ー)のための要件がある。
[1665] B. 9.11.1.4 "Microprocessor Interface" Due to the nature of this interface, there is a requirement for latches (and resynchronizers) in the keyhole logic for event and register blocks idctregs and RAM cores.

【1666】 B.9.11.1.5 「JTAGテスト制御」 これらのスタンダードブロックはラッチを利用する。B. 9.11.1.5 “JTAG Test Control” These standard blocks utilize latches.

【1667】 B.9.11.2 「回路デザインの問題」 IDCTデザイン(スタンダードセル、データパスライ
ブラリ、RAM、ROM等)において使用されたライブ
ラリセルのデザインにおいて為された仕事は別にして、
IDCTにおいてトランジスタレベル回路デザインのた
めの要件はない。(Hspiceを用いる)回路シミュ
レーションは変換データパスにおいて幾つかの公知のク
リティカルパスの中から実行され、Hspiceは更に
許容される最大長に近いパスの場合に、クリティカルパ
スアナリシス(CPA)ツールの結果を確認するために
も使用された。
B. 9.11.2 "Circuit design issues" Apart from the work done in the design of the library cells used in the IDCT design (standard cells, datapath libraries, RAM, ROM, etc.)
There are no requirements for transistor level circuit design in IDCT. Circuit simulation (using Hspice) is performed from among several known critical paths in the transform datapath, and Hspice can also provide critical path analysis (CPA) tool results for paths near the maximum allowed length. It was also used to confirm.

【1668】IDCTは通常のオペレーションにおいて
完全に静的である(つまり、我々はシステムクロックを
無期限に停止することができる)が、テストクロックが
停止される(または非常に低速にされる)時に衰えるで
あろう走査可能なラッチに動的なノードがあることに注
意。Vt降下(例えば、マックス出力)を呈する幾つか
のノードの非再生性のために、IDCTは静的な場合に
「マイクロ・パワー」ではないであろう。
The IDCT is completely static in normal operation (ie we can stop the system clock indefinitely) but when the test clock is stopped (or made very slow). Note that there are dynamic nodes in scannable latches that will fail. Due to the non-regenerative nature of some nodes that exhibit Vt drops (eg, max output), the IDCT will not be "micro power" in the static case.

【1669】 B.9.11.3 「レイアウトアプローチ」 本発明のレイアウト実行に対する全体的アプローチは、
多くのzcellと少数のマクロブロックで構成された
完全なIDCTをレイアウトするために、BPR(幾つ
かのマニュアル干渉)を使用することであった。これら
のマクロブロックは手動編集されたレイアウト(例え
ば、RAM、ROM、クロック発生器、データパス)で
あったか、もしくはonedブロックの場合、更なるz
cell及びデータパスからBPRを使用して構築され
ていた。
B. 9.11.3 "Layout Approach" The overall approach to layout implementation of the present invention is:
It was to use BPR (some manual interference) to lay out a complete IDCT composed of many zcells and few macroblocks. These macroblocks were manually edited layouts (eg RAM, ROM, clock generator, datapath) or, in the case of oned blocks, additional z
It was built using BPR from the cell and datapath.

【1670】データパスはkdplibセルから構築さ
れた。それに加えて、kdplibセルの局部的に限定
されたレイアウトバリエーションが定義され、これが価
値のあるサイズベネフィットを提供すると認められた場
合に使用された。各々のonedブロック、oned
dにおいて使用されるデータパスは、デザインの中のず
ばぬけて最大の1エレメントであり、このデータパスの
サイズ(高さ)を最適化するためにかなりの努力が払わ
れた。
The datapath was constructed from kdplib cells. In addition, locally limited layout variations of kdplib cells were defined and used where this was found to provide a valuable size benefit. Each oned block, oned
The datapath used in d is by far the largest element in the design and considerable effort has been made to optimize the size (height) of this datapath.

【1671】データパス内のエレメントの正確なオーダ
リングが相互連絡が処理される方法に影響を及ぼすの
で、変換データパスの組織、t dpはむしろ決定的で
ある。最大許容値(理想的には8、非常に不便であるが
10も可能である)があるので、最も密集したポイント
で発生するovers(サブブロックに接続しない垂直
ワイヤ)の数を最小にすることが重要である。データパ
スは3つの主要なサブセクションに論理的にスプリット
され、こうしてデータパスレイアウトが実行される。各
サブセクションにおいて、現に4つの並列するデータフ
ローがあり(それは様々なポイントで組み合わされ)、
従って、各サブセクション内でデータ・フロー(そし
て、全てのエレメントの位置)を組織する多くの方法が
ある。各サブセクション内のブロックのオーダリング、
及び論理バスの物理的バスピッチへの割当は、正確に接
続されるであろうレイアウトを達成することを可能にす
るために、レイアウトが始まる前に注意深く算出され
た。
The organization of the transformed datapath, t dp, is rather deterministic, as the exact ordering of the elements in the datapath affects the way the interconnection is handled. Minimize the number of overs (vertical wires that do not connect to sub-blocks) that occur at the most congested points, as there is a maximum allowed value (ideally 8 and very inconvenient but 10 is possible) is important. The datapath is logically split into three major subsections, thus performing the datapath layout. In each subsection there are actually four parallel data flows (which are combined at various points),
Therefore, there are many ways to organize the data flow (and the location of all elements) within each subsection. Block ordering within each subsection,
And the assignment of logical buses to physical bus pitches was carefully calculated before the layout began, in order to be able to achieve the layout that would be connected correctly.

【1672】B.9.12 「照合」 IDCTの照合はアルゴリズムのトップレベルの照合か
ら最終レイアウトチェックまで、多くのレベルにおいて
為された。
[1672] B. 9.12. “Matching” IDCT matching was done at many levels, from the algorithm's top-level matching to the final layout check.

【1673】変換構造に関する初期作業はCにおいて行
われ、完全精度及びビット正確整数モデルが開発され
た。H.261精度規格に対する適合性を立証し、変換
構造内の計算のダイナミックレンジを測定するため、ビ
ット正確モデルに関して様々なテストが実施された。
The initial work on the transform structure was done in C and full-precision and bit-accurate integer models were developed. H. Various tests have been performed on the bit-accurate model to demonstrate conformance to the 261 accuracy standard and to measure the dynamic range of calculations within the transform structure.

【1674】多くの場合Mを書くことによって、デザイ
ンはサブブロックの行動科学的説明(例えば、データパ
ス及びRAMの制御)を前進させた。該かる説明は、そ
のブロックの概略的説明のデザインに移動する前に、L
simにおいてシミュレートされた。ある場合(例え
ば、RAM、クロック発生器)には、行動科学的説明は
トップレベルのシミュレーションのためにも使用され
た。
By writing M in most cases, the design has advanced the behavioral explanation of sub-blocks (eg, datapath and RAM control). Before moving on to the design of the general description of the block,
Simulated in sim. In some cases (eg RAM, clock generators) behavioral science was also used for top-level simulations.

【1675】ロジックシミュレーションを遂行するため
の戦略は、そのレベルで適切にシミュレートするであろ
う全てのもののために概略図をシミュレートすることで
あった。ローレベルのライブラリセル(つまり、zce
ll及びkdplib)は、この結果がはるかに小さく
素早いシミュレーションであるので、主としてその行動
科学的説明を用いてシミュレートされた。それに加え
て、行動科学的ライブラリセルはある回路の構造問題を
強調することができるタイミングチェックという特徴を
提供する。信頼チェックとして、ライブラリセルのトラ
ンジスタ解説を用いて、あるシミュレーションが実施さ
れた。全てのロジックシミュレーションはゼロディレイ
方式で行われ、従って機能上の性能を照合することが意
図されていた。リアルタイミングの行動の照合は他の技
術を用いて行われた。
The strategy for performing a logic simulation was to simulate a schematic for everything that would properly simulate at that level. Low-level library cell (ie zce
11 and kdplib) were primarily simulated with their behavioral explanations, as this result is a much smaller and faster simulation. In addition, behavioral library cells offer a feature of timing checking that can highlight structural problems in certain circuits. As a confidence check, a simulation was performed using the library cell transistor description. All logic simulations were done in a zero-delay fashion and were therefore intended to verify functional performance. Real-time behavioral matching was done using other techniques.

【1676】タイミング性能の部分的照合として、(R
C Timingモードを用いて)Lsimスイッチレ
ベルシミュレーションが行われたが、更に他の潜在的な
トランジスタレベルの問題(例えば、グリッチ高感度回
路)のためのチェックを提供する。
As a partial collation of timing performance, (R
Lsim switch level simulations (using the C Timing mode) were performed, but provide a check for yet other potential transistor level problems (eg, glitch sensitive circuits).

【1677】タイミング問題をチェックするための主な
照合技術はCPAツール、datechk用のpath
オプションの使用であった。これはより長い信号パスを
識別する(あるものはすでに知られていた)ために使用
され、ある重大な場合にCPA分析を照合するためにH
spiceが使用された。
The main matching technique for checking timing problems is the CPA tool, path for datechk.
Was the use of options. It is used to identify longer signal paths (some were already known), and to match CPA analysis in certain critical cases H
spice was used.

【1678】IDCT行為のバルクは装置を通じてトー
クンのフローにより訓練されているので、ほとんどのL
simシミュレーションは標準のソース→ブロック→シ
ンク方法論で行われた。マイクロプロセッサインターフ
ェース(構成、イベント及びテストロジック)を通して
アクサスされる特徴、及びJTAG/スキャンを介して
アクセスされるテスト特徴をテストするために、付加的
なシミュレーションも必要である。
The bulk of the IDCT act is trained by the flow of tokens through the device, so most L
The sim simulation was done with a standard source->block-> sink methodology. Additional simulations are also required to test features that are accessed through the microprocessor interface (configuration, events and test logic) and test features that are accessed via JTAG / scan.

【1679】編集済みコードシミュレーションは、やは
り標準のソース→ブロック→シンク方法及びLsim照
合において使用された同じトークンストリームの多くを
用いて、全IDCTのために当業者によって容易に達成
され得る。
Edited code simulation can be easily accomplished by one of ordinary skill in the art for full IDCT, again using the standard source->block-> sink method and many of the same token streams used in Lsim matching.

【1680】 B.9.13 「テスティング及びテストサポート」 本セクションはテスティング用及び各々のブロックが如
何にテストされるかの分析用に提供されるメカニズムを
扱う。
[1680] B. 9.13 Testing and Testing Support This section deals with the mechanisms provided for testing and analysis of how each block is tested.

【1681】テストアクセス用に提供される3つのメカ
ニズムは次の通りである: ・RAMコアへのマイクロプロセッサアクセス ・スノーパブロックへのマイクロプロセッサアクセス ・制御及びデータパスロジックへのスキャンパスアクセ
ス IDCTには2つの「スノーパ」ブロックと1つの「ス
ーパースノーパ」ブロックがある。図149はスノーパ
ブロックの位置と他のマイクロプロセッサのテストアク
セスを示している。
The three mechanisms provided for test access are: microprocessor access to RAM cores microprocessor access to snowpaper blocks scan path access to control and datapath logic. Has two "Snowpa" blocks and one "Super Snowpa" block. FIG. 149 shows the position of the snowpaper block and the test access of other microprocessors.

【1682】これらと2つのRAMブロックを用いて、
トークンフローに関するそれらの行動をテストする目的
で、各々の主要ブロックを隔離することが可能である。
マイクロプロセッサアクセスを用いて、如何なるブロッ
クに対するトークン入力をも制御し、隔離されているそ
のブロックのトークンポート出力を観察することが可能
である。更に、各ブロックの制御セクションにおける
(ほとんど)全てのフリップフロップとラッチを通過
し、またoned変換データパスパイプラインの場合に
データパスラッチの一部を通過する2つの別々のスキャ
ンパスがある。2つのスキャンパスはaとbと表示さ
れ、前者はdecheckブロックからipfmtブロ
ックへと動き、後者は最初のonedブロックからra
sブロックへと動く。
[1682] Using these and two RAM blocks,
It is possible to isolate each major block for the purpose of testing their behavior on the token flow.
Microprocessor access can be used to control the token input to any block and observe the token port output of that block being isolated. In addition, there are two separate scan paths that pass through (almost) all flip-flops and latches in the control section of each block and through some of the data path latches in the case of the oned conversion data path pipeline. The two scan paths are labeled a and b, the former moving from the decheck block to the ipfmt block, and the latter from the first oned block to ra.
Move to s block.

【1683】スノーパに対するアクセスは通常の方法で
適切なメモリーマップされたロケーションをアクセスす
ることにより可能である。(適当なものとしてramt
est入力を用いて)RAMコアの場合にも同じことが
言える。スキャンパスは通常の方法でJTAGポートを
通してアクセスされる。
Access to the Snowpa is possible by accessing the appropriate memory-mapped location in the usual way. (As appropriate, ramt
The same is true for RAM cores (using the est input). The scan campus is accessed through the JTAG port in the usual way.

【1684】様々なテスト問題に関連して各ブロックを
論じる。
Each block is discussed with respect to various test questions.

【1685】B.9.13.1 「Decheck」 このブロックは入力と出力の2線式インターフェース用
の2つのラッチがプロセシングブロックを囲む標準構造
(図148を参照)を持つ。いつものように、これらの
2線式ラッチは可能化される時はいつでも単にデータを
通り過ぎ、テストされるロジックの深さを持たないの
で、如何なる走査も2線式ラッチに対して行われない。
このブロックでは、「制御」セクションは全てがスキャ
ンパスaの上にあるzcellの1ステージパイプライ
ンから成る。制御セクション内のロジックは比較的シン
プルであり、ほとんどの複雑なパスはおそらく6ビット
増分器が使用されるデータ拡張カウントの発生において
である。
[1685] B. 9.13.1 "Decheck" This block has a standard structure (see Figure 148) in which two latches for the input and output two-wire interface surround the processing block. As always, no scanning is done to the 2-wire latches because these 2-wire latches simply pass by the data whenever they are enabled and do not have the depth of logic to be tested.
In this block, the "control" section consists of a one-stage pipeline of zcells, all above scan path a. The logic in the control section is relatively simple and most of the complicated paths are probably in the generation of data extension counts where a 6 bit incrementer is used.

【1686】B.9.13.2 「Izz」 このブロックは標準構造の変形であり、2線式インター
フェースラッチと制御セクションに加えられるRAMコ
アブロックを含む。制御セクションはアドレスシーケン
ス発生のために使用されるzcellと小さなROMで
実装される。全てのzcellはスキャンパスa上にあ
り、ROMアドレスへのアクセス及びzcellラッチ
を介したデータがある。更に、ロジック、例えばナンバ
ーの発生プラス増分または減少する能力のためのロジッ
クがある。それに加えて、リードアドレス発生のために
使用される7ビットのフルアダーがある。RAMコアは
キーホールレジスタを通して、マイクロプロセッサイン
ターフェースを介してアクセス可能である。表225、
表226を参照。
[1686] B. 9.13.2 "Izz" This block is a variant of the standard structure and contains a RAM core block added to the 2-wire interface latch and control section. The control section is implemented with a zcell and a small ROM used for address sequence generation. All zcells are on scan path a, with access to the ROM address and data via the zcell latch. In addition, there is logic, eg, for the generation of numbers plus the ability to increment or decrement. In addition, there is a 7-bit full adder used for read address generation. The RAM core is accessible via the microprocessor interface through the keyhole register. Table 225,
See Table 226.

【1687】B.9.13.3 「lp fmt」 このブロックも標準構造を持っている。制御ロジックは
かなり簡単なzcellロジック(全てがスキャンパス
a上にある)で実装されるが、ここでのロジックは非常
に浅くシンプルであるので、データのラッチング及びシ
フティング/マックシングは、直接的なアクセスなしに
データパスにおいて行われる。
[1687] B. 9.13.3 "lp fmt" This block also has a standard structure. The control logic is implemented in a fairly simple zcell logic (all on scan path a), but the logic here is very shallow and simple, so the data latching and shifting / maxing is straightforward. In the data path without any access.

【1688】B.9.13.4 「Oned」 ここでも、このブロックは標準構造に従い、ランダムロ
ジックとデータパスセクションに分かれる。zcell
ロジックは比較的明瞭であり、全てのzcellがスキ
ャンパスa上にある。変換パイプラインデータパス用の
制御信号は、スキャンパス上にあるzcellラッチで
構成される長いシフトレジスタから引き出される。それ
に加えて、幾つかのパイプラインラッチがスキャンパス
上にあり、これはパイプラインの幾つかのステージ(例
えば、乗算器とアダー)間のロジックがかなり深いもの
であることから行われる。非データトークンはシフトレ
ジスタに沿って送られ、データパスとして実装され、こ
れらのステージのいずれに対するテストアクセスも存在
しない。
[1688] B. 9.13.4 “Oned” Again, this block follows a standard structure and is divided into a random logic and a data path section. zcell
The logic is relatively clear and all zcells are on scan path a. The control signal for the transform pipeline data path is derived from a long shift register consisting of a zcell latch on the scan path. In addition, some pipeline latches are on the scan path, because the logic between some stages of the pipeline (eg, multiplier and adder) is fairly deep. Non-data tokens are sent along the shift register, implemented as a data path, and there is no test access to any of these stages.

【1689】B.9.13.5 「Tram’」 このブロックはizzブロックと酷似している。しかし
ながら、この場合、アドレスシーケンスアドレス発生に
おいて使用されるROMはない。これはアルゴリズム的
に実行される。全てのzcell制御ステートはデータ
パスb上にある。
[1689] B. 9.13.5 "Tram '" This block is very similar to the izz block. However, in this case no ROM is used in the address sequence address generation. This is done algorithmically. All zcell control states are on datapath b.

【1690】B.9.13.6 「Rras’」 このブロックは標準構造に従い、完全にzcellで実
行される。最も複雑な論理機能はラウンディングアップ
時に使用される8ビット増分器である。他の全てのロジ
ックはかなりシンプルである。全てのステートはスキャ
ンパスb上にある。
[1690] B. 9.13.6 "Rras'" This block follows a standard structure and is implemented entirely in zcell. The most complex logic function is the 8-bit incrementer used at round up. All other logic is pretty simple. All states are on scan path b.

【1691】 B.9.13.7 「他のトップレベルのブロック」 IDCTのトップレベルに現れる他の幾つかのブロック
がある。スノーパはJTAG制御ブロックであるのと同
様、明らかにテストアクセスロジックの一部でもある。
更に、特別なテストアクセスを持たない2つのクロック
発生器がある(但し、それらは様々なテスト特徴を支持
している)。ブロックidctselsはマイクロプロ
セッサアドレスをデコーディングするための組合わせz
cellロジックであり、ブロックidctregsは
マイクロプロセッサアクセス可能イベント、及びIDC
T関連制御ビットを含む。
[1691] B. 9.13.7 “Other top-level blocks” There are several other blocks that appear at the top level of the IDCT. The Snowpa is obviously part of the test access logic as well as the JTAG control block.
In addition, there are two clock generators that do not have special test access (though they support various test features). The block idctsels is a combination z for decoding microprocessor addresses.
cell logic, block idctregs is a microprocessor accessible event, and IDC
Includes T-related control bits.

【1692】セクション B.10 「序文」 B.10.1 「時間デコーダの展望」 本発明による時間デコーダの内部構造を図151に示
す。
[1692] Section B. 10 "Introduction" B. 10.1 “Perspective of Time Decoder” FIG. 151 shows the internal structure of the time decoder according to the present invention.

【1693】チップ・ブロック間の全てのデータフロー
(及びブロック内の多くのデータフロー)は2線式イン
ターフェースによって制御され(詳細については技術参
考書及びセクションを参照)、図151内の各々の矢印
は2線式インターフェースを表す。入ってくるトークン
ストリームは、外部システムクロックからのデータをフ
ェイズロックループ(ph0/ph1)から引き出され
る内部クロックに同期させる入力インターフェースを通
過する。トークンストリームは次にトップフォークを介
して2つのパスにスプリットされる;1つのストリーム
はアドレス発生器に進み、他のストリームは256ワー
ドFIFOに進む。FIFOはデータをバッファする一
方、前のIまたはPフレームからのデータはDRAMか
ら引き出され、予測アダー(P及びBフレーム)内の空
間デコーダからの入力誤差データに加えられる前に、予
測フィルタにおいてプロセスされる。MPEGデコーデ
ィングの間に、出力フレームが正しいオーダーにあるよ
うに、フレーム再配置データがI及びPフレームのため
に引き出されなければならない。再配置されたデータは
リードラダーブロック内のストリームに挿入される。
[1693] All data flow between chips and blocks (and many data flows within a block) are controlled by a 2-wire interface (see Technical References and Sections for details) and each arrow in FIG. 151. Represents a two-wire interface. The incoming token stream passes through an input interface that synchronizes the data from the external system clock with the internal clock derived from the phase locked loop (ph0 / ph1). The token stream is then split into two passes via the top fork; one stream goes to the address generator and the other stream goes to the 256 word FIFO. The FIFO buffers the data while the data from the previous I or P frame is extracted from the DRAM and processed in the prediction filter before being added to the input error data from the spatial decoder in the prediction adder (P and B frames). To be done. During MPEG decoding, frame relocation data must be extracted for I and P frames so that the output frames are in the correct order. The rearranged data is inserted into the stream in the read ladder block.

【1694】アドレス発生器はフォワード及びバックワ
ード予測、再配置、リード及びライトバックのために別
々のアドレスを発生させ、ライトバックされるデータは
ライトラダーブロック内のストリームからスプリットさ
れる。最後に、データは出力インターフェースブロック
内の外部クロックに再同期化される。
The address generator generates separate addresses for forward and backward prediction, relocation, read and writeback, and the data written back is split from the stream in the write ladder block. Finally, the data is resynchronized to the external clock in the output interface block.

【1695】時間デコーダ内の全ての主要ブロックは内
部マイクロプロセッサインターフェース(UPI)バス
に接続される。これはマイクロプロセッサインターフェ
ースブロック内の外部マイクロプロセッサインターフェ
ース(MPI)から引き出される。このブロックはそれ
に関連するチップ内の様々なブロックのためにアドレス
デコードを持つ。更に、マイクロプロセッサインターフ
ェースと連合するのはイベントロジックである。
All main blocks in the Time Decoder are connected to the Internal Microprocessor Interface (UPI) Bus. It is derived from the external microprocessor interface (MPI) in the microprocessor interface block. This block has address decodes for the various blocks within its associated chip. Also associated with the microprocessor interface is the event logic.

【1696】時間デコーダの残りのロジックは基本的に
テスト関連である。第1に、IEE1149.1(JT
AG)インターフェースがJTAGバウンダリスキャン
特徴に対すると共に、内部スキャンパスに対するインタ
ーフェースを提供する。第2に、テストモードの間に、
マイクロプロセッサインターフェースを介してデータフ
ローに対する侵入的アクセスを可能にする2線式インタ
ーフェースステージが、パイプライン構造内の戦略ポイ
ントに含まれる。
The rest of the time decoder logic is basically test related. First, IEEE 1149.1 (JT
AG) interface provides an interface to the JTAG boundary scan feature as well as to the internal scan path. Second, during test mode,
A two wire interface stage that allows intrusive access to the data flow through the microprocessor interface is included at a strategic point within the pipeline structure.

【1697】セクション B.11 「クロッキング、
テスト及び関連問題」 B.11.1 「クロック様式」 チップ内の個々の機能的ブロックを考慮する前に、チッ
プ内のクロック様式及びそれらの関係を認識することが
有益であろう。
[1697] Section B. 11 "Clocking,
Testing and related issues "B. 11.1 "Clock Style" Before considering the individual functional blocks within a chip, it may be useful to be aware of the clock styles within a chip and their relationships.

【1698】通常のオペレーションの間に、チップのほ
とんどのブロックはフェイズロックループ(PLL)か
らの信号pllsysclkに同期して動く。これに対
する例外はDRAMインターフェースであり、そのタイ
ミングはiftimeサブブロックに同期する必要によ
って支配され、このサブブロックはDRAM制御信号
(notwe、notoe、notcas、notra
s)を発生させる。このブロックのコアは2フェイズ・
ノンオーバーラッピングクロックclk0とclk1に
よりクロックされ、それらはPLL cki0、cki
1及びclkg0、ckg1から別個に供給されるクア
ドラチュア2フェイズクロックから引き出される。
During normal operation, most blocks of the chip move synchronously with the signal pllsysclk from the Phase Locked Loop (PLL). The exception to this is the DRAM interface, the timing of which is governed by the need to synchronize to the iftime sub-block, which sub-block has DRAM control signals (notwe, notoe, notcas, notra).
s) is generated. The core of this block is 2 phases
Clocked by non-overlapping clocks clk0 and clk1, which are PLL cki0, cki.
1 and clkg0, derived from a quadrature 2 phase clock supplied separately from ckg1.

【1699】clk0、clk1 DRAMインターフ
ェースクロックが残りのチップ内のクロックに同期する
ので、DRAMインターフェースと残りのチップ間のイ
ンターフェースにおいて、(実際上可能な限り)準安定
行為の可能性を除去するための対応策が取られた。同期
化は2つの領域で発生する:アドレス発生器の出力イン
ターフェースにおいて(addrgen/predre
ad/psgsync、addrgen/ip wrt
2/sync18及びaddrgen/iprd2/s
ync18)、及びDRAMインターフェース内のスイ
ング・バッファーRAMの「スインギング」を制御する
ブロックにおいてである(DRAMインターフェースに
関するセクション参照)。各々の場合に、同期化プロセ
スは3つの直列準安定ハードフリップフロップによって
達成される。注意すべきことは、これはclk0/cl
k1がアドレス発生器の出力ステージにおいて使用され
ることを意味することである。
Clk0, clk1 Since the DRAM interface clock is synchronized to the clock in the rest of the chip, to eliminate the possibility of metastable behavior (as much as practical) at the interface between the DRAM interface and the rest of the chip Countermeasures were taken. Synchronization occurs in two areas: (addrgen / predre) at the output interface of the address generator.
ad / psgsync, addrgen / ip wrt
2 / sync18 and addrgen / iprd2 / s
sync18), and in the block that controls the "swinging" of the swing buffer RAM in the DRAM interface (see section on DRAM interface). In each case, the synchronization process is achieved by three series metastable hard flip-flops. Note that this is clk0 / cl
It means that k1 is used in the output stage of the address generator.

【1700】これらの完全に同期したクロック様式に加
えて、pllsysclkから2フェイズ・ノンオーバ
ーラッピングクロック(ph0、ph1)を発生させる
多くの別個のクロック発生器がある。アドレス発生器、
予測フィルタ及びDRAMインターフェースは各々自身
のクロック発生器を持っており;残りのチップはコモン
クロック発生器から離れて動かされる。こうした理由に
は2つの部分がある。第1に、個々のクロック発生器に
かかる容量性負荷を減少させ、より小さなクロックドラ
イバと減少したクロックルーティング幅を可能にする。
第2に、各々のスキャンパスはクロック発生器によって
制御され、従って、クロック発生器の数の増加により短
いスキャンパスを使用できるようになる。
In addition to these fully synchronized clock schemes, there are many separate clock generators that generate two phase non-overlapping clocks (ph0, ph1) from pllsysclk. Address generator,
The predictive filter and the DRAM interface each have their own clock generator; the remaining chips are driven away from the common clock generator. There are two parts to this reason. First, it reduces the capacitive loading on the individual clock generators, allowing smaller clock drivers and reduced clock routing widths.
Second, each scan path is controlled by the clock generator, thus increasing the number of clock generators allows the use of shorter scan paths.

【1701】これらのクロック様式バウンダリを横切っ
て動かされる信号を再同期化することが必要である。な
ぜなら、異なるクロック発生器から引き出されるノンオ
ーバーラッピングクロック間の重要でないスキューがイ
ンターフェースにおいてアンダーラップが発生したこと
を意味するであろうからである。各「スノーパ」ブロッ
ク(セクション B.11.4を参照)に内蔵された回
路が、こうしたことが発生しないことを保証し、スノー
パブロックは、トークンデコードブロックにおいて再同
期化が行われるアドレス発生器の前を除いて、全てのク
ロック様式間の境界に置かれた。
It is necessary to re-synchronize the signals that are moved across these clock style boundaries. This is because an insignificant skew between non-overlapping clocks derived from different clock generators would mean that an underlap has occurred at the interface. Circuitry built into each "Snowpa" block (see Section B.11.4) ensures that this does not occur, and the Snowpa block is an address generator where resynchronization takes place in the token decode block. Was placed at the boundary between all clock formats except before.

【1702】B.11.2 「クロックの制御」 各標準クロック発生器は通常のモード及びスキャンテス
トモードで、オペレーションができるようにする多くの
異なるクロックを発生させる。スキャンテストモードで
のクロックの制御は他のセクションで詳細に説明する
が、注目すべきことは、クロック発生器(tph0、t
ph1、tckm、tcks)により発せられるクロッ
クの幾つかは、通常概略図の原始記号に加えられない。
これはこれらのクロックを正確に接続するポストプロセ
ッサにより、スキャンパスが自動的に作られるからであ
る。機能的な観点から見ると、ポストプロセッサが概略
図に示されたものとは異なるクロックを接続したという
事実は無視することができる;行為は同じである。
[1702] B. 11.2 "Clock Control" Each standard clock generator generates many different clocks that enable operation in normal mode and scan test mode. Controlling the clock in scan test mode is described in detail in other sections, but it should be noted that the clock generators (tph0, tph0, tph0
Some of the clocks issued by ph1, tckm, tcks) are usually not added to the primitive symbols in the schematic.
This is because the scan path is automatically created by the post processor that connects these clocks correctly. From a functional point of view, the fact that the post-processor has connected a different clock than the one shown in the schematic can be ignored; the behavior is the same.

【1703】通常のオペレーション中に、マスタークロ
ックは多くの異なる方法で引き出すことができる。表2
29はピンpllselect及びオーバーライドのス
テートにより様々なモードを選択できる様子を示してい
る。
[1703] During normal operation, the master clock can be derived in many different ways. Table 2
Reference numeral 29 indicates that various modes can be selected depending on the state of the pin pllselect and the override.

【1704】[1704]

【表229】 B.11.3 「2線式インターフェース」 2線式インターフェースの全体的な機能性については技
術参考書において詳細に説明する。しかしながら、2線
式インターフェースは時間デコーダ内の全てのブロック
間の通信のために使用され、ほとんどのブロックは多く
のパイプラインステージで構成され、その全ては2線式
インターフェースステージである。従って、多くの概略
図を解釈できるためには、2線式インターフェースの内
部実装を理解することが重要である。一般的に、これら
の内部パイプラインステージは図152に示すように構
成される。
[Table 229] B. 11.3 "2-Wire Interface" The overall functionality of the 2-wire interface is described in detail in the technical reference. However, the 2-wire interface is used for communication between all the blocks in the temporal decoder, most blocks are made up of many pipeline stages, all of which are 2-wire interface stages. Therefore, it is important to understand the internal implementation of the two-wire interface in order to be able to interpret many schematics. In general, these internal pipeline stages are configured as shown in FIG.

【1705】図152はラッチ−ロジック−ラッチ表示
を示しており、これが通常使用される配置である。しか
しながら、多くのステージが一緒に置かれる時、「ステ
ージ」をラッチ−ラッチ−ロジック(多くの技術者にと
って良く知られているモード)と考えることも有効であ
る。ラッチ−ロジック−ラッチ配置の使用は全てのブロ
ック間通信が、ブロックを送る際にも受け取る際にも、
ロジックを間に挟まずに、ラッチ対ラッチであるように
できる。
[1705] Figure 152 shows a latch-logic-latch display, which is the commonly used arrangement. However, when many stages are placed together, it is also useful to think of "stages" as latch-latch-logic (a mode well known to many engineers). The use of a latch-logic-latch arrangement ensures that all inter-block communications, whether sending or receiving blocks,
It can be a latch-to-latch without interposing logic.

【1706】再び図152において、ロジックブロック
を取り除き、データと有効信号を直接ラッチ間に接続し
out validとout acceptがゲートさ
れるのと同様に、入力上のNORゲートに直接ラッチさ
れたin validをinacceptラッチに接続
することにより、簡単な2線式インターフェースFIF
Oステージが構築できる。データと有効信号は次に対応
するアクセプト信号が高い時に伝搬する。図示した方法
でin validをout acceptregでO
Rイングすることにより、データはout accep
t regが低くても、in validが低い場合に
アクセプトされる。この方法で、ストール(低い信号を
アクセプトする)が発生する時はいつでも、gaps
(有効なビットが低いデータ)がパイプラインから取り
除かれる。
[1706] Referring again to FIG. 152, the logic block is removed and the data and valid signals are directly connected between the latches, and the in valid directly latched into the NOR gate on the input is the same as the out valid and out accept gated. A simple 2-wire interface FIF by connecting the
O stage can be constructed. The data and valid signals propagate when the next corresponding accept signal is high. In valid with out illustrated by the method shown in the figure
By ringing, the data is out accept
Even if t reg is low, it is accepted when in valid is low. This way, whenever a stall (accepting a low signal) occurs, gaps
(Data with low valid bits) is removed from the pipeline.

【1707】図152に示すように、ロジックブロック
を挿入し、in acceptとout validは
データもしくはブロックのステートに従属できる。図示
した配置では、ブロック内のあらゆるステートが、ph
1によって可能化されるマスターと、ph0によって可
能化されるスレーブを備えた、マスター・スレーブ装置
内に保持されることが標準である。
As shown in FIG. 152, a logic block is inserted, and in accept and out valid can depend on the state of data or block. In the arrangement shown, every state in the block is
It is standard to be held in a master-slave device with a master enabled by 1 and a slave enabled by ph0.

【1708】B.11.4 「スノーパブロック」 スノーパブロックはチップ内の様々なポイントにおいて
マイクロプロセッサインターフェースを介してデータス
トリームへのアクセスを可能にする。スノーパブロック
には2つのタイプがある。普通のスノーパはクロックが
直接制御され得るテストモードにおいてのみアクセス可
能である。「スーパースノーパ」は、クロックが動いて
いる間もアクセス可能であり、マイクロプロセッサバス
からの非同期データを内部チップクロックに同期化させ
る回路を包含している。表230は時間デコーダ内の全
てのスノーパのロケーションとタイプを記載している。
[1708] B. 11.4 "Snowpabloc" Snowpabloc allows access to a data stream through a microprocessor interface at various points within the chip. There are two types of snow pave locks. Normal snowpapers are only accessible in test mode, where the clock can be controlled directly. A "super snowpa" contains circuitry that is accessible while the clock is running and that synchronizes asynchronous data from the microprocessor bus to the internal chip clock. Table 230 lists the location and type of all snowpaers in the temporal decoder.

【1709】[1709]

【表230】 両スノーパの使用に関する詳細はテストセクションに記
載する。JTAGインターフェースのオペレーションの
詳細はJTAG文書に記載する。
[Table 230] Details on the use of both snowpaers are given in the test section. Details of the operation of the JTAG interface are described in the JTAG document.

【1710】セクション B.12 「機能ブロック」 B.12.1 「トップフォーク」 本発明によれば、トップフォークは2つの異なる機能を
果たす。第1に、データストリームを2つの異なるスト
リームに分岐する:1つはアドレス発生器に、他の1つ
をFIFOに、第2に、チップを配置できるように、チ
ップのスターティング手段及びストッピング手段を提供
する。
[1710] Section B. 12 “Function block” B. 12.1 “Top Fork” According to the invention, the top fork serves two different functions. First, it branches the data stream into two different streams: one for the address generator, the other for the FIFO, and second, the starting means and stopping of the chip so that the chip can be placed. Provide the means.

【1711】構成要素のフォーク部分の局面は非常に簡
単である。同じデータがアドレス発生器とFIFOに表
示され、アクセプトが前のステージに送り返される前に
両ブロックによってアクセプトされていなければならな
い。このように、フォークの2つのブランチのvali
dsが他のブランチからのアクセプトに従属する。チッ
プが停止状態にある場合、両ブランチに対するvali
dsは低く保たれる。チップは配置ビットが高く設定さ
れるまで、in acceptが低く保たれる状態でパ
ワーアップする。これはユーザーがチップを配置してし
まうまで如何なるデータもアクセプトされないことを保
証する。ユーザーが他の時にチップを配置する必要があ
る場合、ユーザーは配置ビットを設定し、チップが現在
のストリームを完了してしまうまで待たなければならな
い。ストッピングプロセスは次の通りである: 1)配置ビットが設定されていれば、トップフォークに
よってフラッシュトークンが検出された後、如何なるデ
ータもアクセプトされない。
[1711] The aspects of the fork portion of the component are very simple. The same data is presented to the address generator and FIFO and must be accepted by both blocks before the accept is sent back to the previous stage. Thus, the vali of the two branches of the fork
ds depends on accepts from other branches. If the chip is in a stalled state, vali for both branches
ds is kept low. The chip powers up with inaccept held low until the configuration bit is set high. This guarantees that no data will be accepted until the user has placed the chip. If the user needs to place the chip at other times, the user must set the place bit and wait until the chip has completed the current stream. The stopping process is as follows: 1) If the placement bit is set, no data is accepted after the flush token is detected by the top fork.

【1712】2)フラッシュトークンがリードラダーに
到達する時には、チップはストリームのプロセシングを
完了しているであろう。これは信号seq doneを
高くさせる。
2) When the Flash Token reaches the Read Ladder, the chip will have finished processing the stream. This causes the signal seq done to go high.

【1713】3)seq doneが高くなると、マイ
クロプロセッサが読むことができるイベントビットを設
定する。イベント信号はイベントブロックによってマス
クされ得る。
3) Set the event bit readable by the microprocessor when seq done goes high. The event signal may be masked by the event block.

【1714】B.12.2 「アドレス発生器」 本発明では、アドレス発生器(addrgen)はフレ
ーム内のブロック数をカウントし、DRAMデータ伝送
用の正しいアドレスシーケンスを発生させる責任があ
る。アドレス発生器の入力は(トップフォークを介して
の)トークン入力ポートからのトークンストリームであ
り、DRAMインターフェースに対するその出力は、リ
クエスト/アクノレッジプロトコールにより制御される
アドレス及び他の情報から成る。
[1714] B. 12.2 "Address Generator" In the present invention, the address generator (addrgen) is responsible for counting the number of blocks in a frame and generating the correct address sequence for DRAM data transmission. The input of the address generator is the token stream from the token input port (via the top fork) and its output to the DRAM interface consists of the address and other information controlled by the request / acknowledge protocol.

【1715】アドレス発生器の基本的なセクションは以
下の通りである: ・トークンデコード ・ブロックカウンティング及びDRAMブロックアドレ
スの発生 ・モーションベクトルデータのアドレスオフセットへの
変換 ・予測伝送用のリクエスト及びアドレス発生器 ・再配置リードアドレス発生器 ・ライトアドレス発生器 B.12.2.1 「トークンデコード(tokde
c)」 トークンデコーダにおいて、コーディングスタンダード
に連合するトークン、フレーム、ブロック情報、及びモ
ーションベクトルがデコードされる。ストリームから抽
出される情報は一連のレジスタに記憶され、それはup
iを介してアクセスされ得る。データトークンヘッダの
検出は次のブロックに合図され、ブロックカウンティン
グ及びアドレス発生を可能化する。JPEGを動かして
いる時は何も起こらない。
[1715] The basic sections of the address generator are as follows: -Token decoding-Block counting and DRAM block address generation-Motion vector data conversion to address offset-Request and address generator for predictive transmission -Relocation read address generator-Write address generator B. 12.2.1 “Token Decoding (tokde
c)] At the token decoder, the tokens, frames, block information, and motion vectors associated with the coding standard are decoded. The information extracted from the stream is stored in a series of registers that up
It can be accessed via i. Detection of the data token header is signaled to the next block, enabling block counting and address generation. Nothing happens when running JPEG.

【1716】デコードされるトークンリスト ・コーディングスタンダード ・データ ・DEFINE MAX SAMPLING ・DEFINE SAMPLING ・HORIZONTAL MBS ・MVD BACKWARDS ・MVD FORWARDS ・ピクチャスタート ・ピクチャタイプ ・予測モード このブロックは更にリクエスト発生器からの情報を組み
合わせて、フレームポインタのトグリングを制御し、入
力ストリームをストール(失速)させる。新しいフレー
ムが(ピクチャスタートトークンの形態で)入力に現れ
ると、ストリームはストールされるが、前のフレームに
関連するライトバックもしくは再配置リードは不完全で
ある。
[1716] Decoded Token List-Coding Standard-Data-DEFINE MAX SAMPLING-DEFINE SAMPLING-HORIZONTAL MBS-MVD BACKWARDS-MVD FORWARDS-Picture Start-Picture Type-Prediction Mode This block further combines information from the request generator. Control the frame pointer toggling to stall the input stream. When a new frame appears at the input (in the form of a picture start token), the stream is stalled, but the writeback or relocation read associated with the previous frame is incomplete.

【1717】B.12.2.2 「マクロブロックカウ
ンタ(mblkcntr)」 本発明のマクロブロックカウンタはフレーム内のマクロ
ブロックの水平位置及び垂直位置を指す4つの基本的カ
ウンタから成る。時間の始まりにおいて、また各ピクチ
ャスタートに際して、全てのカウンタは0に設定され
る。データトークンヘッダが到着すると、カウンタは増
分し、トークンヘッダ及びフレーム構造内の色成分ナン
バーに従ってリセットされる。このフレーム構造はトー
クンデコーダ内のサンプリングレジスタによって説明さ
れる。
[1717] B. 12.2.2 "Macroblock Counter (mblkcntr)" The macroblock counter of the present invention consists of four basic counters that point to the horizontal and vertical position of the macroblock within the frame. At the beginning of time and at the start of each picture, all counters are set to zero. When the data token header arrives, the counter is incremented and reset according to the color header number in the token header and frame structure. This frame structure is explained by the sampling register in the token decoder.

【1718】所定の色成分のために、カウンティングは
次のように進行する。水平ブロックカウントはマクロブ
ロックの幅に達するまで、同じ成分の新しいデータトー
クンの各々に増分され、その後リセットする。垂直ブロ
ックカウントはマクロブロックの高さに達するまで、こ
のリセットによって増分され、その後リセットする。こ
れが発生すると、次の色成分を待つ。従って、このシー
ケンスはマクロブロック − おそらく各成分によって
異なるでろう、マクロブロックの水平と垂直のサイズに
おける成分の各々に対して繰り返される。ある成分に対
して、期待されるより少ないブロックが受け取られた場
合でも、カウントは誤差なしに次の成分へと進むであろ
う。
For the given color component, counting proceeds as follows. The horizontal block count is incremented for each new data token of the same component until the width of the macroblock is reached, then reset. The vertical block count is incremented by this reset until it reaches the macroblock height, then reset. When this happens, it waits for the next color component. Therefore, this sequence is repeated for each of the components in the macroblock-probably different for each component, in the horizontal and vertical sizes of the macroblock. Even if less than the expected block is received for one component, the count will proceed to the next component without error.

【1719】データトークンの色成分が期待されたバリ
ューより少ない場合、水平マクロブロックカウントが増
分される。(所定の色成分に対して期待された以上のブ
ロック数が現れた時にも、カウンタはより高い成分イン
デックスを期待しているので、こうしたことが発生する
であろう。)この水平カウントはカウントがマクロブロ
ック内のピクチャ幅に達する時にリセットされる。この
リセットは垂直マクロブロックカウントを増分させる。
If the color component of the data token is less than the expected value, then the horizontal macroblock count is incremented. (This will happen because the counter is expecting a higher component index when more blocks than are expected for a given color component appear.) This horizontal count is Reset when the picture width in a macroblock is reached. This reset increments the vertical macroblock count.

【1720】更に、H.261 CIFフォーマット内
のマクロブロックをカウントする能力がある。この場
合、マクロブロックとブロック・グループと呼ばれるピ
クチャとの間の特別レベルの階層がある。これは11マ
クロブロック幅と3マクロブロックの深さであり、ピク
チャは常に2グループ幅である。トークンデコーダはピ
クチャタイプトークンからCIFビットを引出し、これ
をマクロブロックカウンタに送り、ブロック・グループ
をカウントするよう指示する。成分毎にブロック数が少
ないか、もしくは多すぎる場合、上記のような反応が引
き起こされるであろう。
[1720] Furthermore, H.264. It is capable of counting macroblocks in the 261 CIF format. In this case, there is an extra level of hierarchy between macroblocks and pictures called block groups. This is 11 macroblocks wide and 3 macroblocks deep, and the picture is always 2 groups wide. The token decoder extracts the CIF bit from the picture type token and sends it to the macroblock counter, instructing it to count the block group. If the number of blocks is too low or too high for each component, the above reaction will be triggered.

【1721】B.12.2.3 「ブロック計算(bl
kcalc)」 ブロック計算はマクロブロック及びマクロブロック内ブ
ロックの座標をピクチャ内のブロックの位置用座標に変
換する、つまり階層レベルをノックアウトする。もちろ
ん、これは異なる色成分のサンプリング率を考慮しなけ
ればならない。 B.12.2.4 「ベースブロックアドレス(bsb
lkadr)」 blkcalcからの情報は色成分オフセットと共に、
線形DRAMアドレス空間内のブロックアドレスを計算
するために使用される。本質的に、所定の色成分のため
に、線形ブロックアドレスは垂直ブロック数xピクチャ
幅+水平ブロック数である。これはベースブロックアド
レスを形成するために色成分オフセットに加算される。
[1721] 12.2.3 “Block calculation (bl
kcalc) "block calculation transforms the coordinates of a macroblock and blocks within a macroblock into coordinates for the position of a block within a picture, that is, knocking out hierarchical levels. Of course, this must take into account the sampling rates of the different color components. B. 12.2.4 “Base block address (bsb
lkadr) ”information from blkcalc, along with the color component offset,
Used to calculate the block address in the linear DRAM address space. In essence, for a given color component, the linear block address is the number of vertical blocks x picture width + number of horizontal blocks. This is added to the color component offset to form the base block address.

【1722】B.12.2.5 「ベクトルオフセット
(vec pipe)」 トークンデコーダによって表示されるモーションベクト
ル情報は、水平及び垂直のピクセルオフセット座標の形
態である。つまり、フォワード及びバックワードベクト
ルの各々のために、それが予測されているブロックに形
成されるブロックから半ピクセルの転置を与える(x、
y)がある。これらの座標は正または負であってよいこ
とに注意。それらはまず各色成分のサンプリングに従っ
て概算され、ブロック及び新しいピクセルオフセット座
標を形成するために使用される。図154において、陰
部分が形成されつつあるブロックを表す。点線の輪郭は
そこからそれが来ることが予測されているブロックであ
る。大きな矢印はブロックオフセット−予測ブロックの
オリジンを含むDRAMブロックへの水平及び垂直のベ
クトル、この場合(1、4)を示す。小さな矢印は新し
いピクセルオフセット−そのDRAMブロック内の予測
ブロックオリジンの位置を示す。DRAMブロックが8
×8バイトであるので、ピクセルオフセットは(7、
2)であるように見える。
[1722] B. 12.2.5 "Vector Offset" The motion vector information displayed by the token decoder is in the form of horizontal and vertical pixel offset coordinates. That is, for each of the forward and backward vectors, give the transpose of a half pixel from the block formed into the block in which it is predicted (x,
y). Note that these coordinates can be positive or negative. They are first estimated according to the sampling of each color component and used to form the block and new pixel offset coordinates. In FIG. 154, a block in which a shadow part is being formed is shown. The dotted outline is the block from which it is predicted to come. The large arrows indicate the block offset-horizontal and vertical vectors to the DRAM block containing the origin of the prediction block, in this case (1,4). The small arrow indicates the new pixel offset-the position of the predicted block origin within that DRAM block. 8 DRAM blocks
Since it is × 8 bytes, the pixel offset is (7,
It seems to be 2).

【1723】乗算器アレイvmarrlaは次にブロッ
クベクトルオフセットを線形ベクトルオフセットに変換
する。ピクセル情報は(x、y)座標(pix inf
o)として予測リクエスト発生器に送られる。
The multiplier array vmarrla then converts the block vector offset into a linear vector offset. The pixel information is (x, y) coordinates (pix inf
o) to the prediction request generator.

【1724】B.12.2.6 「予測リクエスト」 フレームポインタ、ベースブロックアドレス、及びベク
トルオフセットは加算されて、DRAM(Inblka
d3)から引き出されるアドレスを形成する。ピクセル
オフセットが0であれば、1つのリクエストだけが発せ
られる。x、またはy次元のいずれかにおいてオフセッ
トがあれば、2つのリクエスト−オリジナルブロックア
ドレス、及びすぐ右かあるいは真下のもののいずれか−
が発せられる。x及びyの両方にオフセットがあれば、
4つのリクエストが発せられる。チップクロック様式と
DRAMインターフェースクロック様式間の同期は第1
の加算(Inblkad3)と、適当なリクエストを発
するステートマシーンとの間で起きる。このように、ス
テートマシーン(psgstate)はDRAMインタ
ーフェースクロックによってクロックされ、その走査さ
れたエレメントはDRAMインターフェーススキャンチ
ェインの一部を形成する。
[1724] B. 12.2.6 “Prediction Request” The frame pointer, base block address, and vector offset are added to each other, and the DRAM (Inblka)
Form the address derived from d3). If the pixel offset is 0, only one request will be issued. If there is an offset in either the x or y dimension, then two requests-the original block address, and either the one right or just below-
Is emitted. If there is an offset in both x and y,
Four requests are issued. The synchronization between the chip clock mode and the DRAM interface clock mode is the first.
Occurs (Inblkad3) and the state machine issuing the appropriate request. Thus, the state machine (psgstate) is clocked by the DRAM interface clock and its scanned elements form part of the DRAM interface scan chain.

【1725】B.12.2.7 「再配置リードリクエ
スト及びライトリクエスト」 ここではピクセルオフセットが含まれないので、各アド
レスは関連フレームポインタにベースブロックアドレス
を加算することにより形成される。再配置リードは予測
及びデータが他のフレーム記憶装置に書き戻されるの
で、同じフレーム記憶装置を使用する。各ブロックはリ
ード及びライトデータの伝送が対応するアドレスにおけ
る予測伝送を遅らせる傾向があるので、アドレスを記憶
するため短FIFOを具備する。(これはリード/ライ
トデータが予測データよりチップデータフローに沿った
ストリームと相互作用するからである。)更に、各ブロ
ックはチップクロックとDRAMインターフェースクロ
ック間の同期化を含む。
[1725] B. 12.2.7 “Relocation Read Request and Write Request” Since the pixel offset is not included here, each address is formed by adding the base block address to the associated frame pointer. Relocation reads use the same frame store because the predictions and data are written back to another frame store. Each block is equipped with a short FIFO for storing addresses, as the transmission of read and write data tends to delay the expected transmission at the corresponding address. (This is because the read / write data interacts with the stream along the chip data flow rather than the predicted data.) In addition, each block contains synchronization between the chip clock and the DRAM interface clock.

【1726】B.12.2.8 「オフセット」 DRAMは2つのフレーム記憶装置として配置され、各
々が3つの色成分を含む。フレーム記憶装置ポインタ及
び各フレーム内の色成分オフセットがupiを介してプ
ログラムされなければならない。
[1726] B. 12.2.8 "Offset" DRAMs are arranged as two frame stores, each containing three color components. The frame store pointer and the color component offset within each frame must be programmed via upi.

【1727】B.12.2.9 「スノーパ」 本発明では、スノーパは次のように配置される: ・blkcalcとbsblkadrの間−このインタ
ーフェースは水平と垂直のブロック座標、適切な色成分
オフセット、及び(その成分用の)ブロック内のピクチ
ャ幅から成る。
[1727] B. 12.2.9 "Snowpas" In the present invention, snowpaas are arranged as follows: Between blkcalc and bsblkadr-this interface provides horizontal and vertical block coordinates, appropriate color component offsets, and (for that component) Picture width within a block).

【1728】・bsblkadrの後−ベースブロック
アドレス。
[1728] After bsblkadr-base block address.

【1729】・vec pipeの後−線形ブロックオ
フセット、予測モード、色成分及びH.261オペレー
ションに関する情報と共に、ブロック内のピクセルオフ
セット。
After vec pipe-linear block offset, prediction mode, color components and H.264. Pixel offset within the block, along with information about H.261 operations.

【1730】・Inblkad3の後−「予測リクエス
ト」の項で説明したように、物理的ブロックアドレス スーパースノーパは、外部DRAMのテスト中に使用す
るため、再配置リード及びライトリクエスト発生器の中
に置かれる。詳細についてはDRAMインターフェース
セクションを参照。
After Inblkad3-As explained in the "Predictive Requests" section, the physical block address supersnooper is in the relocation read and write request generator for use during external DRAM testing. Placed. See the DRAM Interface section for details.

【1731】B.12.2.10 「走査」 addrgenブロックはそれ自体のスキャンチェイン
を持っており、そのクロッキングはブロック自体のクロ
ック発生器(adclkgen)により制御される。ブ
ロックの後端にあるリクエスト発生器はDRAMインタ
ーフェースクロック様式の範囲内にあることに注意。
[1731] B. 12.2.10 The "scan" addrgen block has its own scan chain and its clocking is controlled by the block's own clock generator (adclkgen). Note that the request generators at the end of the block are within the DRAM interface clock scheme.

【1732】B.12.3 「予測フィルタ」 本発明による予測フィルタの全体的な構造は図155に
示す。フォワード及びバックワードフィルタは同じもの
であり、MPEGフォワード/バックワード予測ブロッ
クをフィルタリングする。H.261モードではフォワ
ードフィルタだけが使用される(バックワードフィルタ
のh261 on入力はH.261ストリームがバック
ワード予測を含まないので、永久的に低くあるべきであ
る)。全体的な予測フィルタブロックは2線式インター
フェースステージのパイプラインで構成される。
[1732] B. 12.3 “Prediction Filter” The overall structure of the prediction filter according to the present invention is shown in FIG. The forward and backward filters are the same, filtering MPEG forward / backward predictive blocks. H. Only the forward filter is used in H.261 mode (the h261 on input of the backward filter should be permanently low as the H.261 stream does not include backward prediction). The overall prediction filter block consists of a pipeline of 2-wire interface stages.

【1733】B.12.3.1 「予測フィルタ」 各予測フィルタは他の予測フィルタとは完全に独立して
作用し、有効データがその入力に現れるとすぐにデータ
を処理する。図156から明らかなように、予測フィル
タは4つの別個のブロックから成り、その内の2つは同
じものである。これらのブロックのオペレーションにつ
いてはMPEG及びH.261のオペレーションのため
に独立して説明する方がよいであろう。H.261は最
も複雑であるので、最初に説明する。
[1733] B. 12.3.1 "Prediction Filters" Each prediction filter operates completely independently of the other prediction filters and processes the data as soon as valid data appears at its input. As is clear from FIG. 156, the prediction filter consists of four separate blocks, two of which are the same. The operation of these blocks is described in MPEG and H.264. It would be better to describe it independently for the operation of 261. H. 261 is the most complex and will be described first.

【1734】 B.12.3.1.1 「H.261オペレーション」 使用される1次元フィルタ式は以下の通りである: Fi =(xi+1+2xi+xi-1)/4 (i≦i≦6) Fi = xi (その他のi) これはx予測フィルタにより8×8ブロックの各ローに
適用され、y予測フィルタにより各カラムに適用され
る。これが達成されるメカニズムは図157に図示する
が、それは基本的にpfltldd概略図を表す。フィ
ルタは3つの2線式インターフェースパイプラインステ
ージから成る。ローの最初と最後のピクセルのために、
レジスタAとCがリセットされ、データはレジスタB、
D、Fを無変更のまま通過する(BとDの内容は0に加
えられる)。B×2muxの制御はレジスタbの出力が
1だけ左にシフトされるようにセットされる。このシフ
ティングはどのイベントにおいても常にシフトされる1
つの場所に加えられるものである。こうして、全ての値
に4が(後にこれ以上が)掛けられる。他の全てのピク
セルのために、xi+1がレジスタCにロードされ、xiが
レジスタBに、そしてxi-1がレジスタAにロードされ
る。図157から解るように、その後H.261フィル
タ式が実行される。垂直フィルタリングが3つの水平グ
ループにおいて遂行されるので(下記のディメンション
バッファに関するノートを参照)、ローにおける最初と
最後のピクセルを別個に処理する必要がない。ロー内の
ピクセルの制御及びカウンティングは各1次元フィルタ
に関連する制御ロジックによって遂行される。その結果
が4で割られていないことに注意すべきである。演算上
の精度が失われないように、水平及び垂直のフィルタリ
ングが行われた後、予測フィルタアダー(セクション
B.12.4.2)の入力において、16で割る(4だ
け右にシフトする)作業が行われる。レジスタDA、D
D、DFが制御情報をパイプラインに送る。これはh2
61 onとlast byteを含む。
[1734] B. 12.3.1.1 "H.261 Operation" The one-dimensional filter equation used is as follows: Fi = (xi + 1 + 2xi + xi-1) / 4 (i≤i≤6) Fi = xi (others I) It is applied by the x prediction filter to each row of the 8x8 block and by the y prediction filter to each column. The mechanism by which this is achieved is illustrated in Figure 157, which basically represents a pfltldd schematic. The filter consists of three 2-wire interface pipeline stages. For the first and last pixel of the row,
Registers A and C are reset, data is in register B,
Pass through D and F unchanged (the contents of B and D are added to 0). The control of B × 2 mux is set so that the output of register b is shifted left by one. This shifting is always shifted at any event 1
It is added to one place. Thus, all values are multiplied by 4 (later than this). For all other pixels, xi + 1 is loaded into register C, xi is loaded into register B, and xi-1 is loaded into register A. As can be seen from FIG. 261 filter expressions are executed. Since vertical filtering is performed in three horizontal groups (see note on dimension buffer below), it is not necessary to process the first and last pixels in a row separately. The control and counting of pixels within a row is performed by the control logic associated with each one-dimensional filter. Note that the result is not divided by 4. After horizontal and vertical filtering, the prediction filter adder (section
B. At the input of 12.4.2), the work of dividing by 16 (shifting to the right by 4) is performed. Register DA, D
D and DF send control information to the pipeline. This is h2
61 on and last byte are included.

【1735】予測フィルタ内に見つけられる他のブロッ
クの内、フォーマッティングの機能は単にデータが正し
いオーダーでx−フィルタに表示されることを確実にす
ることである。上記から解るように、これには単に3ス
テージのシフトレジスタが必要であり、第1のステージ
はレジスタCの入力に接続され、第2のステージはレジ
スタBに、第3のステージはレジスタAに接続される。
Of the other blocks found in the prediction filter, the function of formatting is simply to ensure that the data is displayed in the x-filter in the correct order. As can be seen from the above, this simply requires a three stage shift register, the first stage connected to the input of register C, the second stage to register B and the third stage to register A. Connected.

【1736】xフィルタとyフィルタの間で、ディメン
ションバッファがデータをバッファリングし、3つの垂
直ピクセルのグループがy−フィルタに表示されるよう
にする。これら3つのグループはまだ水平に処理される
が、予測フィルタ内では如何なる転置も発生しない。図
158に関連して、ピクセルがディメンションバッファ
から出力されるシーケンスを表231、表232に示
す。
Between the x and y filters, a dimension buffer buffers the data so that groups of three vertical pixels are displayed in the y-filter. These three groups are still processed horizontally, but no transposition occurs in the prediction filter. With reference to FIG. 158, the sequence in which pixels are output from the dimension buffer is shown in Tables 231 and 232.

【1737】[1737]

【表231】 [Table 231]

【1738】[1738]

【表232】 B.12.3.1.2 「MPEGオペレーション」 MPEGオペレーションの間に、予測フィルタは簡単な
半ピクセル補間を行う: Fi =(xi+xi+1)/2 (0≦i≦8,半ピクセル) Fi = xi (0≦i≦7,整数ピクセ
ル) h261 on入力が低くなければ、これはディフォル
トフィルタオペレーションである。1次元フィルタへの
信号dimが低ければ、整数ピクセル補間が実行される
であろう。従って、h261 onが低く、xdim及
びydimが低ければ、全てのピクセルはフィルタリン
グを行わずに直接送られる。1次元フィルタへのdim
信号が高い時に、ロー(またはカラム)が8ピクセル幅
(もしくはそれ以上)になることが明らかな必要条件で
ある。これは表233において要約されている。
[Table 232] B. 12.3.1.2 "MPEG Operation" During MPEG operation, the predictive filter performs a simple half-pixel interpolation: Fi = (xi + xi + 1) / 2 (0≤i≤8, half-pixel) Fi = xi (0 ≦ i ≦ 7, integer pixel) h261 on If input is not low, this is the default filter operation. If the signal dim to the one-dimensional filter is low, integer pixel interpolation will be performed. Thus, if h261 on is low and xdim and ydim are low, then all pixels are sent directly without filtering. Dim to one-dimensional filter
It is a clear requirement that the row (or column) be 8 pixels wide (or more) when the signal is high. This is summarized in Table 233.

【1739】[1739]

【表233】 図157、「1次元予測フィルタ」において、1次元フ
ィルタのオペレーションは、H.261のローにおける
最初と最後のピクセルのためであるのと同様、MPEG
インターピクセルのためである。MPEG半ピクセルオ
ペレーションのために、レジスタAは永久的にリセット
され、レジスタCの出力は1だけ左にシフトされる(レ
ジスタBの出力は常に1だけ左にシフトされる)。こう
して、2個のクロックの後、レジスタFは(2B+2
C)を含み、それは必要な結果の4倍であるが、これは
xフィルタ及びyフィルタを通過した数が4だけ右にシ
フトされる予測フィルタアダーの入力において処理され
る。
[Table 233] In FIG. 157, “One-dimensional prediction filter”, the operation of the one-dimensional filter is H.264. MPEG as well as for the first and last pixels in the 261 rows
This is because of interpixels. Due to the MPEG half-pixel operation, register A is permanently reset and the output of register C is left shifted by 1 (the output of register B is always left shifted by 1). Thus, after two clocks, register F becomes (2B + 2
C), which is four times the desired result, but is processed at the input of the predictive filter adder where the number passed through the x and y filters is shifted right by 4.

【1740】フォーマッティング及びディメンションバ
ッファの機能はMPEGにおいてもシンプルである。フ
ォーマッティングは2個の有効なピクセルを集め、それ
らを半ピクセル補間のためにx−フィルタに送らなけれ
ばならない;ディメンションバッファは1つのローをバ
ッファすることだけが必要である。注目に値すること
は、データがx−フィルタを通過した後、フィルタリン
グオペレーションが9−ピクセルローを8−ピクセルロ
ーに変換するので、ローの中に8個のピクセルだけが存
在することである。「失われた」ピクセルはデータスト
リーム内のギャップで置き換えられる。半ピクセル補間
を遂行する時、x−フィルタは各ローの終わりに(各8
個のピクセルの後に)ギャップを挿入し;y−フィルタ
はブロックの終わりに8個のギャップを挿入する。この
ことは、ブロックの終わりで、8個もしくは9個のギャ
ップ・グループがデータトークンヘッダ、及びFIFO
から来るストリーム内のデータトークン間の他のトーク
ンと整列することから、重要である。これは9x9のブ
ロックがフィルタリングされる時に発生する、チップを
通じて最悪の場合を最小限に抑える。
The formatting and dimension buffer functions are simple in MPEG. Formatting must collect the two valid pixels and send them to the x-filter for half-pixel interpolation; the dimension buffer need only buffer one row. It is worth noting that after the data has passed the x-filter, the filtering operation transforms the 9-pixel row into an 8-pixel row so that there are only 8 pixels in the row. "Lost" pixels are replaced by gaps in the data stream. When performing half-pixel interpolation, the x-filter is at the end of each row (8 each).
Insert gaps (after pixel); y-filter inserts 8 gaps at the end of the block. This means that at the end of the block, 8 or 9 gap groups will have a data token header, and a FIFO.
It is important because it aligns with other tokens between data tokens in the stream coming from. This minimizes the worst case through the chip, which occurs when 9x9 blocks are filtered.

【1741】 B.12.3.2 「予測フィルタアダー」 MPEGオペレーションの間に、初期のピクチャ、後期
のピクチャ、または両者の平均を用いて予測が形成され
る。初期のフレームから形成される予測はフォワード予
測と呼ばれ、後期のフレームから形成される予測はバッ
クワード予測と呼ばれる。予測フィルタアダー(pfa
dd)の機能は、どちらのフィルター済み予測値を使用
するか(フォワード、バックワードもしくはその両
方)、そしてフォワードまたはバックワードフィルター
ド予測もしくは両者の平均のいずれを通過するかを決定
することである(正の無限大に向かってラウンドされ
る)。
[1741] B. 12.3.2 "Prediction Filter Adder" During MPEG operation, a prediction is formed using the early pictures, late pictures, or the average of both. The prediction formed from the early frames is called forward prediction, and the prediction formed from the later frames is called backward prediction. Prediction filter adder (pfa
The function of dd) is to determine which filtered predictor to use (forward, backward or both) and whether to pass forward or backward filtered prediction or an average of both. (Rounded to positive infinity).

【1742】予測モードはブロック間で、つまりパワー
アップ時に、もしくは現在の予測ブロックの最後のバイ
トを指示するfwd 1st byte及び/もしくは
bwd 1st byte信号が活性になった後、変更
できるだけである。現在のブロックがフォワード予測で
あれば、fwd 1st byteだけが調べられる。
もしそれがバックワード予測であれば、bwd 1st
byteだけが調べられる。もしそれが二方向性の予
測であれば、fwd 1st byte及びbwd 1
st byteが調べられる。
The prediction mode can only be changed between blocks, ie at power-up or after the fwd 1st byte and / or bwd 1st byte signals indicating the last byte of the current prediction block become active. If the current block is forward prediction, only the fwd 1st byte is examined.
If it is backward predictive, bwd 1st
Only bytes are examined. If it is a bidirectional prediction, fwd 1st byte and bwd 1
The st byte is examined.

【1743】信号fwd on及びbwd onはどの
予測値を使用するかを決定する。随時、これらの信号の
両方が活性であっても、もしくは両方共活性でなくとも
よい。スタートアップ時に、あるいは、ブロックの入力
に有効なデータが存在しない時にギャップがあれば、ブ
ロックはどちらの信号も活性でない時にステートに入
る。
The signals fwd on and bwd on determine which prediction value to use. At any time, both of these signals may be active, or both may not be active. If there is a gap at start-up or when there is no valid data at the block's inputs, the block will enter state when neither signal is active.

【1744】次のブロックのための予測モードを決定す
るのに2つの基準が使用される:フォワードブロックも
しくはバックワードブロックのいずれが二方向性の予測
ペアの一部であるかを指示する信号fwd ima t
winとbwd ima twin、及びバスfwd
p num[1:0]及びbwd p num[1:
0]である。これらのバスは各々の新しい予測ブロック
もしくは予測ブロックペアのために、1だけ増分する数
字を含む。これらのブロックが必要であるのは、例え
ば、2つのフォワード予測ブロックとそれに続く二方向
性の予測ブロックがある場合、第2のフォワード予測ブ
ロックの前に予測フィルタアダーの入力に到達するよう
に、DRAMインターフェースは充分以前に二方向性予
測のバックワードブロックを引き出すことができるから
である。同様に、他のシーケンスのバックワード及びフ
ォワード予測も予測フィルタアダーの入力においてシー
ケンスから出ることができる。このように、次の予測モ
ードは次のように決定される: 1)有効フォワードデータが存在し、fwd ima
twinが高ければ、ブロックは有効バックワードデー
タがbwd ima twinセットと共に到着するま
でストールし、それから各予測バリューペアを平均化す
るブロックを通過する。
Two criteria are used to determine the prediction mode for the next block: signal fwd indicating whether the forward or backward block is part of a bidirectional prediction pair. imat
win and bwd ima twin, and bus fwd
p num [1: 0] and bwd p num [1:
0]. These buses contain a number that increments by 1 for each new prediction block or prediction block pair. These blocks are needed, for example, if there are two forward prediction blocks followed by a bidirectional prediction block, so that the input of the prediction filter adder is reached before the second forward prediction block, This is because the DRAM interface can retrieve backward blocks for bidirectional prediction long ago. Similarly, backward and forward predictions of other sequences can leave the sequence at the input of the prediction filter adder. Thus, the next prediction mode is determined as follows: 1) There is valid forward data and fwd ima
If twin is high, the block stalls until valid backward data arrives with the bwd ima twin set, then passes through the block averaging each predicted value pair.

【1745】2)有効バックワードデータが存在し、b
wd ima twinが高ければ、ブロックは有効フ
ォワードデータがfwd ima twinセットと共
に到着するまでストールし、それから上述のように進
む。フォワード及びバックワードデータが共に有効であ
れば、ストールは行われない。
2) There is valid backward data and b
If wd ima twin is high, the block stalls until valid forward data arrives with the fw ima twin set, then proceeds as described above. If both the forward and backward data are valid, the stall is not performed.

【1746】3)有効フォワードデータは存在するが、
fwd ima twinが設定されなければ、fwd
p numが調べられる。これが(pred num
に記憶されている)前の予測+1からの数字と等しけれ
ば、予測モードがフォワードに設定される。
[1746] 3) Effective forward data exists, but
If the fwdima twin is not set, the fwd
p num is examined. This is (pred num
The prediction mode is set to forward if it is equal to the number from the previous prediction + 1 (stored in).

【1747】3)有効バックワードデータは存在する
が、bwd ima twinが設定されなければ、b
wd p numが調べられる。これが(pred n
umに記憶されている)前の予測+1からの数字と等し
ければ、予測モードがバックワードに設定される。
3) If valid backward data exists but bwd ima twin is not set, b
The wd p num is examined. This is (pred n
If equal to the number from the previous prediction + 1 (stored in um), the prediction mode is set to backward.

【1748】パイプライン内の1ステージ後方からのe
arly valid信号が使用され、新しいブロック
からの最初のデータが到着する前に予測フィルタアダー
モードを設定することができることに注意。これはパイ
プラインに如何なるストールも導入されないことを保証
する。
[1748] e from one stage behind in the pipeline
Note that the early valid signal can be used to set the predictive filter adder mode before the first data from the new block arrives. This ensures that no stalls are introduced into the pipeline.

【1749】ima twin及びpred num信
号はフィルタリングされたデータと共に、フォワード及
びバックワード予測フィルタパイプラインに沿って送ら
れない。これは以下の理由からである: 1)これらの信号は、fwd 1st byte及び/
もしくはbwd 1st byteが有効である時にの
み調べられる。それにより、各予測フィルタにおいて約
25の3ビットパイプラインステージを節約できる。
The ima twin and pred num signals are not sent along with the filtered data along the forward and backward predictive filter pipelines. This is for the following reasons: 1) These signals are fwd 1st byte and /
Alternatively, it is checked only when bwd 1st byte is valid. This saves about 25 3-bit pipeline stages in each prediction filter.

【1750】2)ブロック中を通じて信号は有効なまま
であるので、fwd 1st byte及び/もしくは
bwd 1st byteが予測フィルタアダーに到着
する時に、有効である。
2) Since the signal remains valid throughout the block, it is valid when the fwd 1st byte and / or bwd 1st byte arrive at the prediction filter adder.

【1751】3)信号は、いずれにしてもデータが到着
する1クロック前に調べられる。
[1761] 3) The signal is checked in any case one clock before the arrival of data.

【1752】 B.12.4 「予測アダー及びFIFO」 予測アダー(パダー)は予測フィルタからのデータを誤
差データに加算することにより、予測済みフレームを形
成する。アドレス発生器、DRAMインターフェース及
び予測フィルタを通る入力からのディレイを補償するた
め、誤差データはパダーに達する前に256ワードFI
FO(sfifo)を通過する。
[1752] B. 12.4 "Predictive Adder and FIFO" The predictive adder (padder) forms a predicted frame by adding the data from the prediction filter to the error data. To compensate for the delay from the input through the address generator, DRAM interface and prediction filter, the error data is 256 word FI before reaching the padder.
Pass through FO (sfifo).

【1753】コーディングスタンダードトークン、予測
モードトークン、及びデータトークンは、いつ予測ブロ
ックが形成されるかを決定するためにデコードされる。
8ビットの予測データはデータトークン内の9ビットの
2の補数誤差データに加算される。その結果は0〜25
5の範囲に制限され、次のブロックに進む。このデータ
制限はJPEGを含む全てのイントラコード化データに
も適用されることに注意。
[1753] Coding Standard tokens, prediction mode tokens, and data tokens are decoded to determine when a prediction block is formed.
The 8-bit prediction data is added to the 9-bit 2's complement error data in the data token. The result is 0-25
It is limited to the range of 5 and proceeds to the next block. Note that this data limitation also applies to all intra-coded data, including JPEG.

【1754】本発明の予測アダーは更に、FIFO及び
予測フィルタから到着するデータにおける不整合を検出
するためのメカニズムを含む。理論上は、フィルタから
のデータ量は、予測を含むFIFOからのデータトーク
ン数に正確に対応していなければならない。重大な機能
不全の場合、パダーがリカバリを試みる。
The prediction adder of the present invention further includes a mechanism for detecting inconsistencies in the data arriving from the FIFO and the prediction filter. Theoretically, the amount of data from the filter should correspond exactly to the number of data tokens from the FIFO containing the prediction. In the event of a major malfunction, the padder will attempt recovery.

【1755】FIFO及びフィルタからのデータブロッ
クの終わりがin extn及びf1 last入力に
よって、各々マークされる。フィルタデータの終わりが
データトークンの終了前に検出された場合、残りのトー
クンは変更されずに出力を続ける。他方、フィルタブロ
ックがデータトークンより長い場合、全ての過剰フィル
タデータがアクセプトされ、捨てられるまで入力はスト
ールされる。
The end of the data block from the FIFO and filter is marked by the in extn and f1 last inputs, respectively. If the end of the filter data is detected before the end of the data token, the remaining tokens continue to output unchanged. On the other hand, if the filter block is longer than the data token, then all excess filter data is accepted and the input is stalled until discarded.

【1756】トークン入力ポートからのデータを直接こ
れらのブロックに送り、またトークン出力ポートにこれ
らの出力を直接送るようにチップが構成されるので、F
IFOもしくは予測アダーのいずれにもスノーパはな
い。
The chip is configured to send data from the token input port directly to these blocks, and to these outputs directly to the token output port.
There are no snowpaers in either the IFO or the predictive adders.

【1757】 B.12.5 「ライト及びリードラダー」 B.12.5.1 「ライトラダー(wrudde
r)」 ライトラダーは予測アダーから来る全てのトークンをリ
ードラダーに送る。更に、それはMPEGのIまたはP
ピクチャ内の全てのデータブロック、及びH.261と
DRAMインターフェース内の全てのデータブロックを
送るので、アドレス発生器の制御下に外部フレーム記憶
装置にそれらをライトバックすることができる。ライト
バックデータはDRAMインターフェースに行く途中の
スノーパを通過するが、全ての基本的な機能性は1つの
2線式インターフェースステージ内に包含される。
B. 12.5 "Write and Read Ladder" B. 12.5.1 "Light ladder
r) ”The light ladder sends all tokens coming from the predicted adder to the read ladder. In addition, it is MPEG I or P
All data blocks in the picture and H.264. It sends all the data blocks in 261 and the DRAM interface so that they can be written back to the external frame store under the control of the address generator. The writeback data passes through the snowpaer on its way to the DRAM interface, but all the basic functionality is contained within one 2-wire interface stage.

【1758】ライトラダーは以下のトークンをデコード
する:
The Light Ladder decodes the following tokens:

【1759】[1759]

【表234】 データトークンヘッダが検出された後、全てのデータバ
イトがDRAMインターフェースに出力される。データ
トークンの終わりは低くなるin extnによって検
出され、これはフラッシュ信号をDRAMインターフェ
ーススイングバッファに送るようにする。通常のオペレ
ーションでは、これはスイングバッファがとにかくスイ
ングするであろうポイントと整列するであろうが、デー
タトークンが64バイトのデータを含んでいなければ、
これはリカバリメカニズムを提供する(但し、次の2〜
3の出力ピクチャが不正確であるかもしれない)。
[Table 234] After the data token header is detected, all data bytes are output on the DRAM interface. The end of data token is detected by a low in extn, which causes the flash signal to be sent to the DRAM interface swing buffer. In normal operation this would be aligned with the point where the swing buffer would swing anyway, but if the data token does not contain 64 bytes of data,
It provides a recovery mechanism (but the next two
3 output pictures may be incorrect).

【1760】B.12.5.2 「リードラダー(rr
udder)」 本発明のリードラダーは次の3つの機能を持ち、主要な
2つの機能はMPEGにおけるピクチャシーケンス再配
置に関するものである: 1)外部フレーム記憶装置からリードバックされたデー
タを正しい位置でトークンストリームに挿入すること。
[1760] B. 12.5.2 "Lead ladder (rr
The read ladder of the present invention has the following three functions, and the two main functions relate to the picture sequence rearrangement in MPEG: 1) The data read back from the external frame store at the correct position. Insert into the token stream.

【1761】2)Iピクチャ及びPピクチャ内のピクチ
ャヘッダ情報を再配置すること。
[1761] 2) Rearrange the picture header information in the I picture and P picture.

【1762】3)フラッシュトークンを検出することに
より、トークンストリームの終わりを検出すること(セ
クション B.12.1「トップフォーク」を参照)。
3) Detecting the end of the token stream by detecting a flush token (see Section B.12.1, "Top Fork").

【1763】リードラダーの構造は図159に図示され
ている。全体のブロックは標準2線式インターフェース
技術から作られる。入力インターフェースラッチ内のト
ークンはデコードされ、これらのデコードはブロックオ
ペレーションを決定する:
The structure of the lead ladder is shown in FIG. The entire block is made from standard 2-wire interface technology. The tokens in the input interface latch are decoded and these decodes determine the block operation:

【1764】[1764]

【表235】 再配置機能はマイクロプロセッサインターフェースを介
して始められるが、レジスタのステートに関わらず、コ
ーディングスタンダードがMPEGでなければ禁じられ
る。同じMPIレジスタがアドレス発生器が再配置アド
レスを発生しているかどうかを制御し、このように再配
置はこのブロックからの出力である。リードラダーがど
のように作用するかを理解するため、トークンのシーケ
ンスが以下の通りであることを念頭において、入力と出
力の制御ロジックを別々に考慮する: ・コーディングスタンダード ・シーケンススタート ・ピクチャスタート ・時間標準 ・ピクチャタイプ ・データトークンと他のトークンを含むピクチャ ・ピクチャエンド ・... ・ピクチャスタート ・... B.12.5.2.1 「入力制御ロジック」 パワーアップから、全てのトークンは、IもしくはPピ
クチャ用の最初のピクチャタイプトークンに遭遇するま
で、FIFO1(現在の入力FIFOと呼ばれる)に進
む。次に、FIFO2が現在の入力FIFOになり、I
もしくはPピクチャ用の次のピクチャタイプに遭遇する
まで全ての入力がそれに向けられ、FIFO1が再び現
在の入力FIFOになる。I及びPピクチャ内で、デー
タトークンを除き、ピクチャタイプとピクチャエンドの
間の全てのトークンが捨てられる。これは何の意味も持
たないであろう再配置されたストリームにおいて、モー
ションベクトルが間違ったピクチャと連合することを防
止する。
[Table 235] The relocation function is initiated via the microprocessor interface, but is prohibited unless the coding standard is MPEG, regardless of the register state. The same MPI register controls whether the address generator is generating the relocation address, thus the relocation is the output from this block. To understand how the read ladder works, consider the input and output control logic separately, keeping in mind that the sequence of tokens is as follows: Coding Standards Sequence Start Picture Start Time standard-Picture type-Picture containing data token and other tokens-Picture end-. . .・ Picture Start ・. . . B. 12.5.2.1 “Input Control Logic” From power-up, all tokens go to FIFO1 (referred to as the current input FIFO) until the first picture type token for an I or P picture is encountered. Then FIFO2 becomes the current input FIFO and I
Or all inputs are directed to it until the next picture type for a P picture is encountered, making FIFO1 the current input FIFO again. In I and P pictures, all tokens between the picture type and the picture end are discarded, except for data tokens. This prevents the motion vector from associating with the wrong picture in the relocated stream, which would have no meaning.

【1765】3ビットコードがトークンストリームと共
にFIFOに挿入され、特定のトークンヘッダの存在を
指示する。これによりFIFOの出力に関するトークン
デコーディングを行う必要がなくなる。
A 3-bit code is inserted in the FIFO along with the token stream to indicate the presence of a particular token header. This eliminates the need to perform token decoding on the output of the FIFO.

【1766】 B.12.5.2.2 「出力制御ロジック」 パワーアップから、ピクチャスタートコードに遭遇する
まで、トークンはFIFO1(現在の出力FIFOと呼
ばれる)アクセプトされ、その後FIFO2が現在のF
IFOになる。セクション B.12.5.2.1にお
いて、この段階で3つのピクチャヘッダトークン、ピク
チャスタート、時間標準、ピクチャスタートがFIFO
1に保持されていることが解る。現在の出力FIFOは
IもしくはPフレームにおいてピクチャスタートコード
と遭遇する度にスワップされる。従って、3つのピクチ
ャヘッダトークンは次のIもしくはPフレームまで記憶
され、次のIもしくはPフレームでは、それらは正確に
再配置されたデータと連合するようになるであろう。B
ピクチャは再配置されず、如何なるトークンも捨てられ
ずに通り過ぎる。ピクチャエンドを含む最初のピクチャ
内の全てのトークンが捨てられる。
B. 12.5.2.2.2 “Output Control Logic” From power-up, until a picture start code is encountered, the token is accepted by FIFO1 (called the current output FIFO), after which FIFO2 is the current F.
Become an IFO. Section B. In 12.5.2.1, at this stage, three picture header tokens, picture start, time standard and picture start are FIFO.
It can be seen that it is held at 1. The current output FIFO is swapped each time it encounters a picture start code in an I or P frame. Therefore, the three picture header tokens will be stored until the next I or P frame, at which time they will become associated with the correctly relocated data. B
The picture is not rearranged and any tokens pass by without being discarded. All tokens in the first picture, including the picture end, are discarded.

【1767】I及びPピクチャの間に、トークンストリ
ームのデータトークンに含まれるデータはDRAMイン
ターフェースからの再配置されたデータで置き換えられ
る。最初のピクチャの間、「再配置された」データは再
配置されたデータ入力に存在する。なぜなら、アドレス
発生器がDRAMインターフェースにそれを引き出すよ
うに要請するからである。これはハッシュと考えられ、
捨てられる。
During the I and P pictures, the data contained in the data token of the token stream is replaced with the relocated data from the DRAM interface. During the first picture, the "relocated" data is present at the relocated data input. This is because the address generator requests the DRAM interface to bring it out. This is considered a hash,
Be thrown away.

【1768】 セクション B.13 「DRAMインターフェース」 B.13.1 「展望」 本発明では、空間デコーダ、時間デコーダ及びビデオフ
ォーマッティングは各々その特別なチップのためにDR
AMインターフェースブロックを具備する。3つ全ての
装置において、DRAMインターフェースの機能は、チ
ップからのデータを外部DRAMに伝送し、アドレス発
生器により供給されるブロックアドレスを介して、外部
DRAMからのデータをチップ内へと伝送することであ
る。
[1768] Section B. 13 "DRAM Interface" B. 13.1 "Perspective" In the present invention, the spatial decoder, temporal decoder and video formatting are each DR for its particular chip.
It has an AM interface block. In all three devices, the function of the DRAM interface is to transfer the data from the chip to the external DRAM and to transfer the data from the external DRAM into the chip via the block address provided by the address generator. Is.

【1769】典型的に、DRAMインターフェースはア
ドレス発生器、及びデータがそれを通って送られる様々
なブロックのクロックに非同期的であるクロックから操
作する。しかしながら、クロックはほぼ同じ周波数で操
作するので、この非同期化は容易に処理される。
The DRAM interface typically operates from an address generator, and a clock that is asynchronous to the clocks of the various blocks through which data is sent. However, this desynchronization is easily handled because the clocks operate at about the same frequency.

【1770】通常、データはDRAMインターフェース
と64バイトのブロック内の残りのチップとの間に伝送
される(唯一の例外は、時間デコーダ内の予測データで
ある)。伝送は「スイングバッファ」として知られる装
置によって行われる。これは本質的にダブルバッファさ
れた配置において操作される一組のRAMであり、DR
AMインターフェースが1つのRAMを詰めるか空にし
ている間に、別のチップ部分が他のRAMを空にする
か、詰めている。アドレス発生器からアドレスを運ぶ別
のバスが各々のスイングバッファと連合する。
Normally, data is transferred between the DRAM interface and the rest of the chips in a block of 64 bytes (the only exception being prediction data in the temporal decoder). The transmission is done by a device known as a "swing buffer". This is essentially a set of RAM operated in a double buffered arrangement,
Another chip portion empties or stuffs another RAM while the AM interface stuffs or empties one RAM. Another bus carrying the address from the address generator is associated with each swing buffer.

【1771】各チップは4つのスイングバッファを持つ
が、これらのスイングバッファの機能は各々の場合で異
なる。空間デコーダにおいて、コード化データをDRA
Mに伝送するために1つのスイングバッファが使用さ
れ、DRAMからコード化データを読むために別のスイ
ングバッファが使用され、トークン化データをDRAM
に伝送するために3番目のスイングバッファが、またD
RAMからトークン化データを読むために4番目のスイ
ングバッファが使用される。時間デコーダにおいては、
イントラもしくは予測されたピクチャデータをDRAM
に書き込むために1つのスイングバッファが使用され、
DRAMからイントラもしくは予測されたピクチャデー
タを読むために2番目のスイングバッファが使用され、
他の2つはフォワード及びバックワード予測データを読
むために使用される。ビデオフォーマッティングにおい
ては、1つのスイングバッファがDRAMにデータを伝
送するために使用され、他の3つがDRAMからデータ
を読むために使用されるが、それは各々輝度(Y)、及
び赤と青の色差データ(各々Cr及びCb)である。D
RAMインターフェースの一般的な特徴のオペレーショ
ンについては、空間デコーダー文書において記載してい
る。次のセクションは時間デコーダに特有の特徴につい
て説明する。
Each chip has four swing buffers, but the functions of these swing buffers differ in each case. DRA coded data in spatial decoder
One swing buffer is used to transfer to M, another swing buffer is used to read the coded data from the DRAM, and the tokenized data is transferred to the DRAM.
3rd swing buffer for transmitting to D
A fourth swing buffer is used to read the tokenized data from RAM. In the time decoder,
DRAM for intra or predicted picture data
One swing buffer is used to write to
A second swing buffer is used to read intra or predicted picture data from DRAM,
The other two are used to read forward and backward prediction data. In video formatting, one swing buffer is used to transfer data to DRAM, and the other three are used to read data from DRAM, which are luminance (Y) and color difference between red and blue, respectively. Data (Cr and Cb, respectively). D
The operation of the general features of the RAM interface is described in the Spatial Decoder document. The next section describes features specific to temporal decoders.

【1772】B.13.2 「時間デコーダDRAMイ
ンターフェース」 セクション B.13.1で述べたように、時間デコー
ダは4つのスイングバッファを持ち:2つはデコード化
イントラ及び予測化(I及びP)ピクチャデータをリー
ド/ライトするために使用され、これらは上述したよう
に操作する。他の2つは予測データを引き出すために使
用される。
[1772] B. 13.2 “Time Decoder DRAM Interface” Section B. As mentioned in 13.1, the temporal decoder has four swing buffers: two are used to read / write decoded intra and predictive (I and P) picture data, which are as described above. To operate. The other two are used to derive the prediction data.

【1773】一般に、予測データはx及びyにおけるモ
ーションベクトルによって指定されるように処理される
ブロックの位置からオフセットしているであろう。この
ように、引き出されるべきデータブロックは一般にそれ
がエンコードされた(そしてDRAMに書き込まれた)
ようにデータのブロック境界に対応してはいないであろ
う。これは図160に図示しているが、陰領域は形成さ
れつつあるブロックを表している。点線の輪郭はそこか
らそれが予測されているブロックを示す。アドレス発生
器は大きな矢印で示すように、ブロックオフセット(ブ
ロックの全数)に対するモーションベクトルによって指
定されるアドレスを変換し、小さな矢印で示すように、
ピクセルオフセットに対するモーションベクトルによっ
て指定されるアドレスを変換する。
In general, the prediction data will be offset from the position of the block being processed as specified by the motion vectors in x and y. Thus, the data block to be retrieved is generally the one in which it was encoded (and written to DRAM).
So it would not correspond to a block boundary of data. This is illustrated in FIG. 160, where the shaded areas represent the blocks that are being formed. The dotted outline shows the block from which it is predicted. The address generator translates the address specified by the motion vector to the block offset (total number of blocks), as shown by the large arrow, and as shown by the small arrow,
Translates the address specified by the motion vector to pixel offset.

【1774】アドレス発生器において、フレームポイン
タ、ベースブロックアドレス、及びベクトルオフセット
はDRAMから引き出されるブロックのアドレスを形成
するために加算される。ピクセルオフセットが0であれ
ば、1つのリクエストだけが発せられる。xまたはy次
元のいずれかにおいてオフセットがあれば、2つのリク
エスト−オリジナルブロックアドレス、及びすぐ右かあ
るいは真下のもののいずれか−が発せられる。x及びy
の両方にオフセットがあれば、4つのリクエストが発せ
られる。引き出されるべき各々のブロックのために、ア
ドレス発生器はスタート/ストップアドレスのパラメー
ターを計算し、それらをDRAMインターフェースに送
る。これらのスタート/ストップアドレスの使用につい
ては、下記において概略するように実例によって説明す
るのが良いであろう。
At the address generator, the frame pointer, base block address, and vector offset are added to form the address of the block to be fetched from DRAM. If the pixel offset is 0, only one request will be issued. If there is an offset in either the x or y dimension, then two requests will be issued-the original block address and either the immediate right or the one directly below. x and y
If both have an offset, four requests are issued. For each block to be fetched, the address generator calculates the start / stop address parameters and sends them to the DRAM interface. The use of these start / stop addresses may be illustrated by example as outlined below.

【1775】図161において陰領域で示すように、
(1、1)のピクセルオフセットを考えてみよう。アド
レス発生器は、図においてAからDのラベルが貼られた
4つのリクエストをする。解決すべき問題は求められる
ローアドレスのシーケンスを如何にすばやく提供するか
である。解決法は「スタート/ストップ」技術を使用す
ることであり、これについて説明する。
As shown by the shaded area in FIG. 161,
Consider a pixel offset of (1,1). The address generator makes four requests, labeled A to D in the figure. The problem to be solved is how to quickly provide the required sequence of row addresses. The solution is to use a "start / stop" technique, which will be described.

【1776】図161のブロックAを考えてみよう。リ
ーディングは位置(1、1)でスタートし、位置(7、
7)で終了しなければならない。しばらく、1バイトが
一度に(つまり、8ビットのDRAMインターフェー
ス)読まれていると仮定する。座標ペアのxバリューは
アドレスの3LSBを形成し、yバリューは3つのMS
Bを形成する。x及びyのスタートバリューは共に1で
あり、アドレス9を与える。データはこのアドレスから
読まれ、xバリューは増分される。プロセスはxバリュ
ーがそのストップバリューに達するまで繰り返される。
この時点で、yバリューは1だけ増分され、xスタート
バリューは再ロードされ、アドレス17を与える。デー
タの各バイトが読まれるにつれて、xバリューはストッ
プバリューに達するまで再び増分される。xとyバリュ
ーが共にそのストップバリューに達するまで、プロセス
が繰り返される。こうして、9、10、11、12、1
3、14、15、17、...23、25、...、3
1、33、...、...、57、...、63のアド
レスシーケンスが生成される。
[1773] Consider block A in FIG. Reading starts at position (1,1) and starts at position (7,
You must finish in 7). For the moment, assume that one byte is being read at a time (ie, an 8-bit DRAM interface). The x-value of the coordinate pair forms the 3 LSBs of the address and the y-value is the 3 MSs.
Form B. The start values of x and y are both 1 and give the address 9. Data is read from this address and the x value is incremented. The process is repeated until the x value reaches its stop value.
At this point, the y value is incremented by 1 and the x start value is reloaded, giving address 17. As each byte of data is read, the x value is incremented again until the stop value is reached. The process is repeated until both the x and y values reach their stop value. Thus, 9, 10, 11, 12, 1
3, 14, 15, 17 ,. . . 23, 25 ,. . . Three
1, 33 ,. . . ,. . . , 57 ,. . . , 63 address sequences are generated.

【1777】同様にして、ブロックB用のスタート/ス
トップ座標は:(1、0)及び(7、0)であり、ブロ
ックC用には:(0、1)及び(0、7)であり、ブロ
ックD用には:(0、0)及び(0、0)である。
Similarly, the start / stop coordinates for block B are: (1,0) and (7,0), and for block C: (0,1) and (0,7). , For block D: (0,0) and (0,0).

【1778】次の問題はこのデータをどこに書くべきか
ということである。明らかに、ブロックAを見ると、ア
ドレス9から読まれるデータはスイングバッファのアド
レス0に書かれるべきであり、アドレス10から読まれ
るデータはスイングバッファのアドレス15に書かれる
べきである等である。同様に、ブロックBのアドレス8
から読まれるデータはスイングバッファのアドレス15
に書かれるべきであり、アドレス16から読まれるデー
タはスイングバッファのアドレス15に書かれるべきで
ある。この機能は下記に概略するように、非常に簡単な
実行であることが解る。
The next issue is where to write this data. Obviously, looking at block A, the data read from address 9 should be written to address 0 of the swing buffer, the data read from address 10 should be written to address 15 of the swing buffer, and so on. Similarly, address 8 of block B
The data read from is swing buffer address 15
, And the data read from address 16 should be written to address 15 of the swing buffer. It turns out that this function is a very simple implementation, as outlined below.

【1779】ブロックAを考えてみよう。リーディング
のスタートにおいて、スイングバッファアドレスレジス
タには、ストープバリューの逆がロードされ、y逆スト
ップバリューは3つのMSBを形成し、x逆ストップバ
リューは3つのLSBを形成する。この場合、DRAM
インターフェースが外部DRAM内のアドレス9を読ん
でいる間、スイングバッファアドレスは0である。その
後、外部DRAMアドレスレジスタが増分されるにつれ
て、表236に図示するように、スイングバッファアド
レスレジスタが増分される:
[1779] Consider Block A. At the start of reading, the swing buffer address register is loaded with the inverse of the stope value, the y-reverse stop value forms 3 MSBs, and the x-reverse stop value forms 3 LSBs. In this case, DRAM
The swing buffer address is 0 while the interface reads address 9 in the external DRAM. Then, as the external DRAM address register is incremented, the swing buffer address register is incremented, as illustrated in Table 236:

【1780】[1780]

【表236】 今までの議論は8ビットのDRAMインターフェースを
中心にしていた。16または32ビットのインターフェ
ースの場合、少しばかり修正をしなければならない。ま
ず、ピクセルオフセットベクトルはそれが16または3
2ビットバイナリーを指すように「クリップ」されなけ
ればならない。今まで使用してきた例において、ブロッ
クA用に、最初のDRAMリードはアドレス0を指し、
アドレス0〜3の中のデータが読まれるであろう。次
に、望まれていないデータは捨てられなければならな
い。これは全てのデータをスイングバッファに書き込み
(これは今では8ビットの場合に必要であったものより
物理的に大きくなっているにちがいない)、オフセット
で読むことによって遂行される。MPEG半ピクセル補
間を行う時、x及び/yの中の9バイトがDRAMイン
ターフェースから読まれなければならない。この場合、
アドレス発生器は適切なスタートとストップアドレスを
提供し、DRAMインターフェース内の幾つかの追加ロ
ジックが使用されるが、DRAMインターフェースが操
作する方法には基本的な変更はない。
[Table 236] The discussion so far has centered around 8-bit DRAM interfaces. For 16- or 32-bit interfaces, some modifications have to be made. First, the pixel offset vector is 16 or 3
Must be "clipped" to point to a 2-bit binary. In the example used so far, for block A, the first DRAM read points to address 0,
The data in addresses 0-3 will be read. Then the unwanted data must be discarded. This is accomplished by writing all the data into the swing buffer (which must be physically larger than what was required in the 8 bit case now) and reading at the offset. When performing MPEG half pixel interpolation, 9 bytes in x and / y must be read from the DRAM interface. in this case,
The address generator provides the appropriate start and stop addresses and some additional logic within the DRAM interface is used, but there is no fundamental change in the way the DRAM interface operates.

【1781】時間デコーダDRAMインターフェースに
関して注意すべき最後のポイントは、データに関してど
のようなプロセシングが求められているかを指示するた
め、予測フィルタに追加情報を提供しなければならない
ことである。これには次の点が含まれる: ・(64、72または81バイトの)伝送の最後のバイ
トを指示する「最後のバイト」信号 ・H.261フラグ ・二方向性の予測フラグ ・ブロックの次元を指示する2ビット(x及びyにおけ
る8または9バイト) ・ブロックのオーダーを指示するための2ビットのナン
バー 最後のバイトフラグはデータがスイングバッファから読
まれる時に生成される。他の信号はアドレス発生器から
引き出され、予測フィルタブロックによってスイングバ
ッファから読まれるにつれて、それらが正しいデータブ
ロックと連合するように、DRAMインターフェースを
通してパイプ接続される。
[1781] The last point to note about the temporal decoder DRAM interface is that additional information must be provided to the predictive filter to dictate what processing is desired for the data. This includes the following: "Last Byte" signal indicating the last byte of the transmission (of 64, 72 or 81 bytes). 261 flag ・ Bidirectional prediction flag ・ 2 bits that indicate the dimension of the block (8 or 9 bytes in x and y) ・ 2 bit number that indicates the order of the block Generated when read from. The other signals are derived from the address generator and piped through the DRAM interface so that they associate with the correct data block as it is read from the swing buffer by the predictive filter block.

【1782】セクション B.14 「UPI文書化」 B.14.1 「序文」 本文書は本発明によるマイクロプロセッサインターフェ
ースのオペレーションの正しい認識を読者に与えること
を目的とする。インターフェースは基本的に空間デコー
ダ及び時間デコーダに関するものと同じであり、唯一の
違いはアドレスラインの数である。
[1782] Section B. 14 "UPI Documentation" B. 14.1 "Introduction" This document is intended to give the reader a proper understanding of the operation of the microprocessor interface according to the invention. The interface is basically the same as for the spatial and temporal decoders, the only difference being the number of address lines.

【1783】ここに記載されるロジックは純粋にマイク
ロプロセッサ内部ロジックである。関連概略図は以下の
通りである: UPI UPI101 UPI102 DINLOGIC DINCELL UPIN TDET MONOVRLP WRTGEN READGEN VREFCKT 回路UPI、UPI101、UPI102は、UPI0
1が7ビットのアドレス入力を持ち、8番目のビットが
大地にハードワイヤードされる一方、他の2つが8ビッ
トのアドレス入力を持つこと以外は総て同じである。 入力/出力信号 ここで説明する信号は(UPIに関して定義された)U
PIモジュールに対する全ての入力及び出力のリストで
あり、これらの信号のソースもしくは目的地を詳細に記
す注を付記している: NOTRSTInputGlobalチップリセット、
活性低、パッド入力ドライバから。
The logic described herein is purely microprocessor internal logic. The relevant schematics are as follows: UPI UPI101 UPI102 DINLOGIC DINCELL UPIN TDET MONOVRLP WRTGEN READGEN VREFCKT Circuits UPI, UPI101, UPI102, UPI0
All the same except that one has a 7-bit address input and the 8th bit is hardwired to ground while the other two have an 8-bit address input. Input / Output Signals The signals described here are U (defined in terms of UPI).
A list of all inputs and outputs to the PI module, with notes detailing the source or destination of these signals: NOTRSTInputGlobal chip reset,
Active low, from pad input driver.

【1784】E1InputEnable信号1、活性
低、パッド入力ドライバから(Schmitt)。
[1780] E1InputEnable signal 1, active low, from pad input driver (Schmitt).

【1785】E2InputEnable信号2、活性
低、パッド入力ドライバから(Schmitt)。
[1780] E2InputEnable signal 2, active low, from pad input driver (Schmitt).

【1786】RNOTWInputRead not
Write信号、パッド入力ドライバから(Schmi
tt)。
[1786] RNOTWInputRead not
Write signal from pad input driver (Schmi
tt).

【1787】ADDRIN[7:0]InputAdd
ress bus信号、パッド入力ドライバから(Sc
hmitt)。
[1787] ADDRIN [7: 0] InputAdd
From the res bus signal, pad input driver (Sc
hmitt).

【1788】NOTDIN[7:0]InputInp
ut data bus、二方向性マイクロプロセッサ
データピンの入力パッドドライバから(TTLin)。
[1788] NOTDIN [7: 0] InputInp
ut data bus, from bidirectional microprocessor data pin input pad driver (TTLin).

【1789】INT RNOTWOutputThe
Read not Write信号、マイクロプロセッ
サインターフェースによりアクセスされる内部回路へ
(メモリーマップ参照)。
[1789] INT RNOTW OutputThe
Read not Write signal, to internal circuitry accessed by microprocessor interface (see memory map).

【1790】INT ADDR[7:0]Output
The Internal Address Bus、
マイクロプロセッサインターフェースによりアクセスさ
れる全ての回路へ(メモリーマップ参照)。
[1790] INT ADDR [7: 0] Output
The Internal Address Bus,
To all circuits accessed by the microprocessor interface (see memory map).

【1791】INTDBUS[7:0]Input/O
utputThe Internal Data bu
s、マイクロプロセッサインターフェースによりアクセ
スされる全ての回路へ(メモリーマップ参照)及びマイ
クロプロセッサデータ出力パッドへ。内部データバスは
チップのピン上のデータと逆であるデータを伝送する。
[1791] INTDBUS [7: 0] Input / O
outputThe Internal Data bu
s, to all circuits accessed by the microprocessor interface (see memory map) and to microprocessor data output pads. The internal data bus carries data that is the opposite of the data on the pins of the chip.

【1792】READ STROutputAnはデバ
イスメモリーマップ内のロケーションの読み取りを指示
する内部タイミング信号である。
[1792] READ STROUTAn is an internal timing signal that directs the reading of a location in the device memory map.

【1793】WRITE STROutputAnは内
部メモリーマップ内のロケーションの書き込みを指示す
る内部信号である。
[1793] WRITE STROutputAn is an internal signal which instructs writing of a location in the internal memory map.

【1794】TRISTATEDPADOutputA
nはそれらがトライステートであるべきことを指示する
マイクロプロセッサデータ出力パッドに接続する内部信
号である。 一般的なコメント:UPI概略図は6個の小さなモジュ
ールで構成される:NONOVRLP、UPIN、DI
NLOGIC、VREFCKT、READGEN、WR
TGEN。信号の全体的なリストから注意すべきこと
は、チップ上の他の全てのタイミング信号と同期するマ
イクロプロセッサバスタイミング信号以外のマイクロプ
ロセッサインターフェースと連合するクロック信号はな
いということである。従って、マイクロプロセッサのオ
ペレーション、及び外部制御により強制することができ
るもの以外の残りのデバイスのオペレーションとの間
に、如何なるタイミング関係も仮定されるべきではな
い。例えば、テストシステム上でのマイクロプロセッサ
インターフェースへのアクセシングに対して、外部シス
テムクロックのストッピング。
[1794] TRISTATED PADOutputA
n is an internal signal connected to the microprocessor data output pad which indicates that they should be tri-stated. General comments: The UPI schematic consists of 6 small modules: NONOVRLP, UPIN, DI
NLOGIC, VREFCKT, READGEN, WR
TGEN. It should be noted from the general list of signals that there is no clock signal associated with the microprocessor interface other than the microprocessor bus timing signal which is synchronous with all other timing signals on the chip. Therefore, no timing relationship should be assumed between the operation of the microprocessor and the operation of the rest of the devices other than those that can be forced by external control. For example, stopping the external system clock for access to the microprocessor interface on the test system.

【1795】UPIにおいてクロックを持たない他の密
接な関係は、幾つかの内部タイミングがセルフタイムで
あることである。つまり、ある信号のディレイはUPI
ブロックに対して内部的に制御される。
Another close relationship without clocks in UPI is that some internal timing is self-timed. In other words, the delay of a certain signal is UPI
Controlled internally for the block.

【1796】UPIの全体的な機能は、外部世界からア
ドレス、データ、イネーブル、及びリード/ライト信号
を取り、それらが内部回路を正しく動かすことができる
ようにそれらをフォーマットすることである。メモリー
マップに対するアクセスを定義する内部信号は、INT
RNOTW INT ADDR[...]、INTD
BUS[...]、及びREAD STRとWRITE
STRである。これらの信号のタイミング関係は、リ
ードサイクルとライトサイクル用に下記に示す。データ
シート定義及び下記の線図は常にチップイネーブルサイ
クルを示しているが、回路オペレーションはイネーブル
が低く保持され、アドレスは連続的リードまたはライト
オペレーションを行うために循環され得るようになって
いることに注意すべきである。この機能はアドレス遷移
回路の故に可能である。
The UPI's overall function is to take address, data, enable, and read / write signals from the outside world and format them so that they can operate their internal circuitry correctly. The internal signal that defines access to the memory map is INT
RNOTW INT ADDR [. . . ], INTD
BUS [. . . ], And READ STR and WRITE
STR. The timing relationships of these signals are shown below for read and write cycles. Although the data sheet definition and the diagram below always show a chip enable cycle, circuit operations are kept enabled low so that addresses can be cycled to perform continuous read or write operations. You should be careful. This function is possible because of the address transition circuit.

【1797】更に、INT RNOTW及びREAD
STR、WRITE STRの存在は幾らかの冗長度を
反映している。それは内部回路が別々のREAD ST
RとWRITE STRのいずれかを使用する(そして
INT RNOTWを無視する)、あるいはINT R
NOTWと別個のストローブ信号(ストローブ信号はR
EAD STR及びWRITE STRのORから引き
出される)を使用することができるようにする。
[1797] Furthermore, INT RNOTW and READ
The existence of STR and WRITE STR reflects some degree of redundancy. It is a READ ST with separate internal circuits.
Use either R or WRITE STR (and ignore INT RNOTW), or INT R
Strobe signal separate from NOTW (strobe signal is R
(Derived from the OR of EAD STR and WRITE STR) can be used.

【1798】内部データバスはリードサイクルの間高く
プレチャージされ、それは更に内部データバスが駆動さ
れていない時、延長された期間の間、0XFF状態にデ
ィフォルトするように抵抗型プルアップを持つ。内部デ
ータバスはピン上のデータの逆であるので、これはそれ
らが可能化される時、外部ピン上の0x00に翻訳す
る。これは、メモリーマップ内のホールであるレジスタ
もしくはレジスタのビットに外部サイクルがアクセスす
る場合、出力データは限定され、Lowであることを意
味する。
The internal data bus is precharged high during the read cycle, which also has a resistive pull-up to default to the 0XFF state for an extended period when the internal data bus is not being driven. This translates to 0x00 on the external pins when they are enabled because the internal data bus is the inverse of the data on the pins. This means that when an external cycle accesses a register or a register bit that is a hole in the memory map, the output data is limited and is Low.

【1799】回路の詳細: UPIN − この回路は全体的な変化検出ブロックである。それは1
ビットの変化検出回路であるTDETと呼ばれるサブ回
路を含む。UPINは各アドレスビットのためにTDE
Tモジュールを、そして各々のイネーブル信号のために
rnotwを持つ。UPINは更に、変化検出回路の出
力を共にゲートするためにある種の結合ロジックを含
む。このゲーティングは以下の信号を発生させる: TRAN− 入力信号の1つへの遷移を指示する、そし
て UPD DONE− 遷移が完了し、サイクルが実行さ
れ得ることを指示する。
[1799] Circuit Details: UPIN-This circuit is the overall change detection block. It is 1
It includes a sub circuit called TDET which is a bit change detection circuit. UPIN is TDE for each address bit
T module, and rnotw for each enable signal. UPIN further includes some sort of coupling logic to gate the outputs of the change detection circuit together. This gating produces the following signals: TRAN-indicating a transition to one of the input signals, and UPD DONE-indicating that the transition is complete and the cycle can be executed.

【1800】CHIP EN− チップが選択されたこ
とを指示する。
[1800] CHIP EN-Indicates that the chip has been selected.

【1801】TDET− これは1ビット変化検出回路である。2つのラッチと2
つの専用ORゲートから成る。第1のラッチは信号SA
MPLEによってクロックされ、第2のラッチは信号U
PDATEによってクロックされる。これら2つのノン
オーバーラッピング信号はモジュールNONOVRLP
から来る。一般的なオペレーションは入力遷移がCHA
NGEを生じさせ、次にそれがSAMPLEを生じさせ
るように行われる。SAMPLEが高い間に全ての入力
変化がアクセプトされ、入力変化が止まる時に、CHA
NGEが低くなり、SAMPLEが低くなり、それはU
PDATEを高くさせ、それは次にデータを出力ラッチ
に伝送し、UPD DONEを指示する。
[1801] TDET- This is a 1-bit change detection circuit. Two latches and two
It consists of two dedicated OR gates. The first latch is the signal SA
Clocked by MPLE, the second latch is signal U
Clocked by PDATE. These two non-overlapping signals are stored in the module NONOVRLP.
come from. In general operation, input transition is CHA
This is done to give rise to NGE, which in turn gives rise to SAMPLE. When all input changes are accepted while SAMPLE is high, and when the input changes stop, CHA
NGE is low, SAMPLE is low, which is U
Bring PDATE high, which in turn transfers data to the output latch, indicating UPD DONE.

【1802】NONOVRLP− この回路は基本的に、TRANを入力し、SMAPLE
とUPDATEを発生させるノンオーバーラッピングク
ロック発生器である。UPDATEの出力上の外部ゲー
ティングはライトパルスが完了してしまうまで、UPD
ATEが高くなるのを停止させる。
[1802] NONOVRLP- This circuit basically inputs TRAN and outputs SMAPLE.
Is a non-overlapping clock generator that generates UPDATE. External gating on the UPDATE output is UPD until the write pulse is complete.
Stop ATE going high.

【1803】DINLOGIC− このモジュールはデータ入力回路DINCELLの8段
階と、TRISTATEPAD信号を駆動させる幾つか
のゲーティングで構成される。これは出力データポート
がEnable1が低く、Enable2が低く、Rn
otWが高く、内部read strが高い場合にのみ
駆動するであろうことを指示する。
[1803] DINLOGIC-This module is composed of 8 stages of the data input circuit DINCELL and some gating for driving the TRISTATADEP signal. This is because the output data port has Enable1 low, Enable2 low, and Rn
Indicates that it will only drive if otW is high and the internal read str is high.

【1804】DINCELL− この回路はデータ入力ラッチと内部データバスを駆動さ
せるトライステートドライバから成る。信号DATAH
OLDが高く、Enable1とEnable2の両方
が低い時に、入力パッドからのデータがラッチされる。
トライステートドライバは内部信号INT RNOTW
が低い時にはいつでも、内部データバスを駆動する。内
部データバスはトランジスタをプレチャージし、バスプ
ルアップもこのモジュールに含まれる。
DINCELL-This circuit consists of a data input latch and a tri-state driver that drives the internal data bus. Signal DATAH
When OLD is high and both Enable1 and Enable2 are low, the data from the input pad is latched.
The tri-state driver uses the internal signal INT RNOTW
Drives the internal data bus whenever is low. The internal data bus precharges the transistors, and bus pullups are also included in this module.

【1805】WRTGEN− このモジュールはWRITE STRと、データラッチ
のためにラッチ信号DATAHOLDを発生させる。ラ
イトストローブはセルフタイム信号であるが、セルフタ
イムディレイはVREFCKTにおいて定義される。タ
イミング回路RESETWRITEからの出力はWRI
TE STR信号を終了させるために使用される。レジ
スタに書き込む実際のライトパルスはアクセスサイクル
が終わった後にのみ生じることに注意すべきである。こ
れはチップに対するデータ入力がサイクルのバックエッ
ジの上でのみサンプルされるからである。従って、デー
タは通常のアクセスサイクルが終了した後でのみ有効で
ある。
WRTGEN-This module generates the WRITE STR and the latch signal DATAHOLD for data latching. The write strobe is a self-time signal, but the self-time delay is defined by VREFCKT. The output from the timing circuit RESETWRITE is WRI
Used to terminate the TE STR signal. It should be noted that the actual write pulse that writes to the register only occurs after the access cycle is over. This is because the data input to the chip is sampled only on the back edge of the cycle. Therefore, the data is only valid after the normal access cycle has ended.

【1806】READGEN− この回路は、その名前が示す通り、READ STRを
発生させ、更に、内部データバスをプレチャージするた
めに使用されるPRECH信号を発生させる。PREC
H信号もセルフタイム信号であり、その期間はVREF
CKT、及び内部データバスの電圧に依存する。REA
D STRはセルフタイムではないが、プレチャージ期
間の終わりからサイクルの終わりまで続く。プレチャー
ジ回路はインバータを使用するが、その伝送特徴はそれ
らが逆相にする前に供給電圧のほぼ75%の電圧を必要
とするように、バイアスされる。この回路はREAD
STRが始まる前に、内部バスが正しくプレチャージさ
れることを保証する。内部バスが既にプレチャージされ
ている場合、ゼロ幅になる傾向があるPRECHパルス
を停止させるために、タイミング回路は信号RESET
READを介して、最低の幅を保証する。
READGEN-This circuit, as the name implies, generates a READ STR and also a PRECH signal which is used to precharge the internal data bus. PREC
The H signal is also a self-time signal, and VREF is applied during that period.
It depends on the voltage of CKT and the internal data bus. REA
D STR is not self-time, but lasts from the end of the precharge period to the end of the cycle. The precharge circuits use inverters, but their transmission characteristics are biased so that they require a voltage of approximately 75% of the supply voltage before they are out of phase. This circuit is READ
Ensure that the internal bus is properly precharged before the STR begins. If the internal bus is already precharged, the timing circuit will stop the PRECH pulse, which tends to be zero width, by the signal RESET.
Guarantee the minimum width via READ.

【1807】VREFCKT− VREFCKTはインターフェースのセルフタイミング
を制御する唯一の回路である。両ディレイ、WRITE
STRの1/Width及びPRECHの2/Wid
thはPトランジスタを通る電流によって制御される。
このPトランジスタのゲートは信号VREFによって制
御され、この電圧は25kΩの拡散型トランジスタによ
って設定される。
VREFCKT- VREFCKT is the only circuit that controls the self-timing of the interface. Both delays, WRITE
1 / Width of STR and 2 / Wid of PRECH
th is controlled by the current through the P-transistor.
The gate of this P-transistor is controlled by the signal VREF and this voltage is set by a diffusion transistor of 25 kΩ.

【1808】セクションC.1 「展望」 C.1.1 「序文」 本発明によるイメージフォーマッティング部の構造を図
164に示す。1つはライティング用、1つはリーディ
ング用に2個のアドレス発生器、2個のアドレス発生器
を管理し、フレーム率変換を提供するバッファマネージ
ャ、垂直及び水平のアンサンプラを含むデータプロセシ
ングパイプライン、色空間変換及びガンマ補正、そして
プロセシングパイプラインの出力を調整する最終制御ブ
ロックがある。
[1808] Section C. 1 "Prospect" C. 1.1 “Introduction” The structure of the image formatting unit according to the present invention is shown in FIG. Two address generators, one for writing, one for reading, a buffer manager that manages two address generators, provides frame rate conversion, and a data processing pipeline that includes vertical and horizontal ensamplers There is a final control block that regulates the output of the processing pipeline, color space conversion and gamma correction, and.

【1809】C.1.2 「バッファマネージャ」 イメージフォーマッティング部の入力に到達するトーク
ンはFIFOにおいて緩衝され、バッファマネージャに
伝送される。このブロックは新しいピクチャの到着を検
出し、各ピクチャを記憶するべきバッファの利用可能性
を判断する。利用できるバッファがあれば、それが到着
するピクチャに割り当てられ、そのインデックスがライ
トアドレス発生器に伝送される。利用できるバッファが
なければ、入ってくるピクチャはいずれかのバッファが
利用できるようになるまでストールされる。全てのトー
クンはライトアドレス発生器に送られる。
[1809] C. 1.2 "Buffer Manager" Tokens arriving at the input of the image formatter are buffered in the FIFO and transmitted to the buffer manager. This block detects the arrival of new pictures and determines the availability of buffers to store each picture. If there is a buffer available, it is assigned to the arriving picture and its index is transmitted to the write address generator. If no buffers are available, incoming pictures are stalled until one is available. All tokens are sent to the write address generator.

【1810】リードアドレス発生器がVSYNC信号を
ディスプレイシステムから受け取る度に、新しいディス
プレイバッファインデックスのためにバッファマネージ
ャに対してリクエストが為される。完全なピクチャデー
タを含むバッファがあれば、そしてそのピクチャが表示
のための準備が整ったと思われる場合、バッファのイン
デックスがディスプレイアドレス発生器に送られる。そ
うでなければ、バッファマネージャは表示されるべき最
後のバッファインデックスを送る。スタートアップ時
に、最初のバッファが一杯になるまでインデックスとし
て0が送られる。(各ピクチャが入力される時に計算さ
れる)ピクチャの数が、エンコーディングフレーム率が
与えられるディスプレイ(提示数)で予測されるピクチ
ャ数より大きいか等しい場合、ピクチャは表示のための
準備が整っている。予測される数はピクチャクロックパ
ルスをカウントすることにより決定され、その場合ピク
チャクロックはクロック分配器により局部的に、あるい
は外部で発生させることができる。この技術はフレーム
率変換(例えば、2−3プルダウン)を可能にする。
Each time the read address generator receives a VSYNC signal from the display system, a request is made to the buffer manager for a new display buffer index. If there is a buffer containing the complete picture data, and the picture appears to be ready for display, the index of the buffer is sent to the display address generator. Otherwise, the buffer manager sends the last buffer index to be displayed. At startup, 0 is sent as an index until the first buffer is full. A picture is ready for display if the number of pictures (calculated as each picture is input) is greater than or equal to the number of pictures expected on the display (presentation) given the encoding frame rate. There is. The expected number is determined by counting the picture clock pulses, where the picture clock can be generated locally by the clock distributor or externally. This technique allows frame rate conversion (eg 2-3 pulldown).

【1811】外部DRAMはバッファのために使用さ
れ、その数は2個であっても3個であってもよい。フレ
ーム率変換が行われることになっている場合は3個必要
である。
The external DRAM is used for the buffer, and the number thereof may be two or three. If the frame rate conversion is to be performed, three are required.

【1812】C.1.3 「ライトアドレス発生器」 ライトアドレス発生器はバッファマネージャからトーク
ンを受け取り、各々の新しいデータトークンの到着を検
出する。各データトークンが到着するにつれて、アドレ
ス発生器は到着するブロックを記憶するためのDRAM
インターフェース用に新しいアドレスを計算する。生の
データはその後DRAMインターフェースに送られ、そ
こでスイングバッファに書き込まれる。DRAMアドレ
スはブロックアドレス、及びDRAM内のピクチャまた
はブロックのラスターとして組織されるピクチャであ
る。しかしながら、入ってくるピクチャデータは実際に
組織化されるマイクロプロセッサのシーケンスであるの
で、アドレス発生アルゴリスムはマイクロプロセッサ内
のブロックの下位ローのための(ブロック内)ライン幅
オフセットを考慮しなければならない。
[1812] C. 1.3 "Write Address Generator" The write address generator receives tokens from the buffer manager and detects the arrival of each new data token. As each data token arrives, the address generator has a DRAM to store the arriving block.
Calculate a new address for the interface. The raw data is then sent to the DRAM interface where it is written to the swing buffer. DRAM addresses are block addresses and pictures organized as a raster of pictures or blocks in DRAM. However, since the incoming picture data is actually a sequence of organized microprocessors, the address generation algorithm must account for (intra-block) linewidth offsets for the lower rows of blocks within the microprocessor. .

【1813】バッファマネージャにより提供される到着
バッファインデックスは記憶されるピクチャ全体のため
にアドレスオフセットとして使用される。更に、各成分
は指定されたバッファ内の別のエリアに記憶されるの
で、成分オフセットは計算の中でも使用される。
The arrival buffer index provided by the buffer manager is used as an address offset for the entire stored picture. In addition, the component offsets are also used in the calculations because each component is stored in a separate area within the designated buffer.

【1814】C.1.4 「リードアドレス発生器」 リードアドレス発生器(dispaddr)はトークン
の受取及び発生を行わず、アドレスだけを発生させる。
VSYNCに答え、アドレス発生器はfield in
fo、read start、sync mode、及
びlsb invertに応じて、バッファマネージャ
からのバッファインデックスを要請する。インデックス
を受け取ると、3セットのアドレス、各成分用に、ラス
ターオーダーで読み込まれる現在のピクチャ用に1つづ
つのアドレスを発生させる。異なるセットアップは:イ
ンターレース/順送り型ディスプレイ、及び/もしくは
垂直のアンサンプリング、及び(インターレースディス
プレイに対する)フィールド同期化を可能にする。下位
レベルでは、リードアドレス発生器はベースアドレスを
ブロックアドレス、及びDRAMのページ構造と互換性
のある3つの成分の各々のためのバイトカウントのシー
ケンスに変換する。DRAMインターフェースに提供さ
れるアドレスはブロックスタート及びブロックエンドカ
ウントと共にページ及びラインアドレスである。
[1814] C. 1.4 "Read Address Generator" The read address generator (dispaddr) does not receive or generate tokens, but only generates addresses.
Answer VSYNC, address generator field in
Request the buffer index from the buffer manager according to fo, read start, sync mode, and lsb_invert. Upon receipt of the index, it generates three sets of addresses, one for each component, one for the current picture read in raster order. Different setups allow: interlaced / forward display, and / or vertical unsampling, and field synchronization (for interlaced displays). At the lower level, the read address generator translates the base address into a block address and a sequence of byte counts for each of the three components compatible with the DRAM page structure. The addresses provided to the DRAM interface are page and line addresses along with block start and block end counts.

【1815】C.1.5 「出力パイプライン」 DRAMインターフェースからのデータは出力パイプラ
インに供給される。3つの成分ストリームはまず垂直に
補間され、次に水平に補間される。補間の後、3つの成
分は等しい割合(4:4:4)になっていなければなら
ず、色空間変換器及び色ルックアップ表/ガンマ補正に
送られる。出力インターフェースはディスプレイがHS
YSCに達するまでこの時点でストリームを保持するこ
とができる。その後、出力コントローラは3つの成分を
必要に応じて多重送信し、1つ、2つまたは3つの8ビ
ットバスに向ける。
[1815] C. 1.5 "Output Pipeline" Data from the DRAM interface is provided to the output pipeline. The three component streams are first interpolated vertically and then horizontally. After interpolation, the three components must be in equal proportion (4: 4: 4) and sent to the color space converter and color look-up table / gamma correction. The output interface is HS display
The stream can be held at this point until YSC is reached. The output controller then multiplexes the three components as needed and directs them to one, two or three 8-bit buses.

【1816】C.1.6 「タイミング様式」 基本的に、イメージフォーマッティング部と連合する2
つの主要なタイミング様式がある。第1に、チップのフ
ロントエンド(アドレス発生器及びバッファマネージ
ャ、プラスDRAMインターフェースのフロントエン
ド)のためにタイミングを提供するシステムクロックが
ある。第2に、バックエンド(DRAMインターフェー
ス出力、及び出力パイプライン全体)のために全てのタ
イミングを駆動させるピクセルクロックがある。
[1816] C. 1.6 “Timing style” Basically, it is associated with the image formatting section 2
There are one major timing style. First, there is the system clock that provides the timing for the front end of the chip (address generator and buffer manager, plus front end of the DRAM interface). Second, there is a pixel clock that drives all timing for the back end (DRAM interface outputs, and the entire output pipeline).

【1817】2つの前述のクロックの各々は多くのオン
チップクロック発生器を駆動させる。FIFO、バッフ
ァマネージャ、及びリードアドレス発生器は同じクロッ
ク(DΦ)から操作し、ライトアドレス発生器は同様
の、しかし別個のクロック(WΦ)を用いる。データは
内部DRAMインターフェースクロック(outΦ)上
のDRAMインターフェースにクロックされる。DΦ、
WΦ、及びoutΦは全てsyscikから発生され
る。
Each of the two aforementioned clocks drives many on-chip clock generators. The FIFO, buffer manager, and read address generator operate from the same clock (DΦ), and the write address generator uses a similar but separate clock (WΦ). Data is clocked to the DRAM interface on the internal DRAM interface clock (outΦ). DΦ,
WΦ and outΦ are all generated from syscik.

【1818】リード及びライトアドレスはDRAMイン
ターフェース自体のクロックによってDRAMインター
フェースにクロックされる。
The read and write addresses are clocked into the DRAM interface by the clock of the DRAM interface itself.

【1819】データはbifRΦ上のDRAMインター
フェースから読み出され、NEΦによって表示されるク
ロック上で操作する、bushy ne(その物理的ロ
ケーションの故に、ノースイースト)と呼ばれる出力パ
イプラインのセクションに伝送される。前方のガンマR
AMからのパイプラインセクションは別ではあるが類似
したクロック(RΦ)上でクロックされる。bifR
Φ、NEΦ、RΦは全てピクセルクロック、pixin
から引き出される。
The data is read from the DRAM interface on bifRΦ and transmitted to a section of the output pipeline called bushyne (because of its physical location, Northeast) that operates on the clock represented by NEΦ. . Gamma R in front
The pipeline section from the AM is clocked on a separate but similar clock (RΦ). bifR
Φ, NEΦ, RΦ are all pixel clocks, pixin
Drawn from.

【1820】テストのため、ブロック間の主要なインタ
ーフェースの全ては付属のスノーパもしくはスーパース
ノーパの何れかを持っている。これはタイミング様式と
必要なアクセスのタイプに依存する。別個ではあるが類
似したタイミング様式間のブロック境界はそれに連合す
るリタイミングラッチを持っている。
[1820] For testing purposes, all major interfaces between blocks have either an attached Snowpa or a Super Snowpa. This depends on the timing modality and the type of access required. Block boundaries between separate but similar timing schemes have associated retiming latches.

【1821】セクションC.2 「バッファ管理」 C.2.1 「序文」 本発明によるバッファ管理ブロックの目的は、ピクチャ
データのライティング及びリーディング用に2つか3つ
の外部バッファを特定するインデックスをアドレス発生
器に供給することである。これらのインデックスの割当
ては、各々がオペレーションにおいてタイミング様式の
1つの影響を表す3つの主要な要素により影響される。
これらはピクチャデータがイメージフォーマッティング
部への入力に到着する率(コード化データ率)、データ
が表示される率(表示データ率)、及びエンコード化ビ
デオシーケンスのフレーム率(提示率)である。
[1821] Section C. 2 “Buffer management” C. 2.1 "Introduction" The purpose of the buffer management block according to the invention is to provide the address generator with an index identifying two or three external buffers for writing and reading picture data. The allocation of these indexes is affected by three main elements, each representing one effect of the timing modality on the operation.
These are the rate at which the picture data arrives at the input to the image formatting unit (coded data rate), the rate at which the data is displayed (display data rate), and the frame rate of the encoded video sequence (presentation rate).

【1822】C.2.2 「機能的展望」 3バッファシステムは、システムのタイミング束縛があ
るとすれば、最善の可能なフレームシーケンスを達成す
るために、フレームが必要に応じて繰り返されるかスキ
ップされるように、提示率及び表示率が異なる(例え
ば、2−3プルダウン)ようにできる。ピクチャがデコ
ードするため利用可能な表示時間より長くかかる場合、
他の全てが「キャッチアップ」する間、前のフレームが
繰り返されるように、デコーディングにおける困難さを
表すピクチャを同じような方法で収容することができ
る。2バッファシステムでは、3つのタイミング様式が
ロックされなければならない−それはスラックを処理す
るためのフレキシビリティを提供する第3のバッファで
ある。
[1822] C. 2.2 "Functional Perspective" A three-buffer system, given the timing constraints of the system, ensures that frames are repeated or skipped as necessary to achieve the best possible frame sequence. The presentation rate and the display rate can be different (for example, 2-3 pulldown). If the picture takes longer than the available display time to decode,
Pictures that represent the difficulty in decoding can be accommodated in a similar manner so that the previous frame is repeated while all others "catch up". In a two-buffer system, three timing modalities must be locked-it is the third buffer that provides the flexibility to handle slack.

【1823】バッファマネージャは各々の外部バッファ
と連合する特定のステータス情報を維持することにより
操作する。これはバッファが使用中であるか、バッファ
にデータが一杯詰まっているか、あるいは表示の準備が
できているかを指示するフラグ、またバッファにおいて
現在記憶されているピクチャシーケンス内のピクチャ数
を指示するフラグを含む。提示数も記録されるが、これ
はピクチャクロックパルスが受け取られる度に増分する
数であり、エンコード化シーケンスのフレーム率に基づ
いて表示されることが現在予測されているピクチャ数を
表す。
The buffer manager operates by maintaining specific status information associated with each external buffer. This is a flag that indicates whether the buffer is in use, is full of data, or is ready to be displayed, and a flag that indicates the number of pictures in the picture sequence currently stored in the buffer. including. The number of presentations is also recorded, which is a number that increments each time a picture clock pulse is received and represents the number of pictures currently predicted to be displayed based on the frame rate of the encoded sequence.

【1824】アライバルバッファ(入ってくるデータが
書き込まれるバッファ)は、ピクチャスタートトークン
が入力において検出される度に割り当てられる。このバ
ッファにはその後IN USEのフラグが付けられる。
ピクチャエンドに達すると、アライバルバッファは割当
から外され(0にリセットされ)、ピクチャ数と提示数
の間の関係に応じて、FULLもしくはREADYのフ
ラグが付けられるバッファとなる。
The 1818 arrival buffer (the buffer into which incoming data is written) is allocated each time a picture start token is detected at the input. This buffer is then flagged as IN USE.
When the picture end is reached, the arrival buffer is de-allocated (reset to 0) and becomes a buffer that is flagged as FULL or READY, depending on the relationship between the number of pictures and the number of presentations.

【1825】ディスプレイアドレス発生器は、2線式イ
ンターフェースを介して、vsyncの度に一度、新し
いディスプレイバッファをリクエストする。READY
というフラグが付けられたバッファがあれば、それはバ
ッファマネージャによって表示されるために割り当てら
れるであろう。READYバッファがなければ、前に表
示されたバッファが繰り返される。
The display address generator requests a new display buffer once every vsync via the 2-wire interface. READY
If there is a buffer flagged with, it will be allocated for display by the buffer manager. If there is no READY buffer, the previously displayed buffer is repeated.

【1826】提示数が変化する度に、それは検出され、
そのピクチャナンバーと提示数の間の関係を調べること
により、完全なピクチャを含むあらゆるバッファのRE
ADY−nessがテストされる。バッファは順番に考
慮される。あるバッファがREADYであると思われる
時、これは自動的に前にREADYというフラグが付け
られていたバッファのREADY−nessをキャンセ
ルする。その後、前のバッファにはEMPTYというフ
ラグが付けられる。後に考慮されるバッファにおいて、
割当計画によって後のピクチャ数が記憶されるので、こ
うしたことがうまく行く。
[1826] Each time the number of presentations changes, it is detected,
By examining the relationship between its picture number and presentation number, the RE of any buffer containing the complete picture
ADY-ness is tested. The buffers are considered in order. When a buffer appears to be READY, it automatically cancels the READY-ness of the buffer that was previously flagged as READY. The previous buffer is then flagged as EMPTY. In a buffer that will be considered later,
This works because the allocation plan stores the number of later pictures.

【1827】入力ストリーム内のスキップされたピクチ
ャが指示されると、H.261内の時間標準トークンが
バッファのピクチャ数を修正させる。しかしながら、こ
うした特徴は、企図されてはいるが、現在のところ含ま
れてはいない。同様に、MPEG内の時間標準も何の影
響も持たない。
[1827] When a skipped picture in the input stream is designated, the H.264 standard is specified. The time standard token in 261 modifies the number of pictures in the buffer. However, such features, although contemplated, are not currently included. Similarly, the time standard within MPEG has no effect.

【1828】フラッシュトークンは全てのバッファがE
MPTYであるか、あるいはディスプレイバッファとし
て割り当てられるまで、入力をストールさせる。その
後、提示数とピクチャ数がリセットされ、新しいシーケ
ンスを始めることができる。
[1828] All tokens in the flash token are E
Stall the input until it is MPTY or allocated as a display buffer. After that, the number of presentations and the number of pictures are reset and a new sequence can be started.

【1829】C.2.3 「アーキテクチュア C.2.3.1 「インターフェース」 C.2.3.1.1 「bm frontに対するイン
ターフェース」 全てのデータは入力FIFO、bm frontからバ
ッファマネージャに入力される。この伝送は2線式イン
ターフェースを介して行われ、データは8ビット幅プラ
ス拡張ビットである。バッファマネージャに到着する全
てのデータは完全なトークンであると保証される。これ
は提示数の連続プロセシング、及びデータストリーム内
に有効ギャップがある場合のディスプレイバッファリク
エストのための必要条件である。
[1829] C. 2.3 “Architecture C. 2.3.1“ Interface ”C. 2.3.1.1 “Interface to bm front” All data is input to the buffer manager from the input FIFO, bm front. This transmission is done via a 2-wire interface and the data is 8 bits wide plus an extension bit. All data arriving at the buffer manager is guaranteed to be a complete token. This is a requirement for continuous processing of the number of presentations and for display buffer requests when there are valid gaps in the data stream.

【1830】C.2.3.1.2 「waddrgen
に対するインターフェース」 トークン(8ビットデータ、1ビット拡張)は2線式イ
ンターフェースを介してライトアドレス発生器に伝送さ
れる。ピクチャスタートトークンがwaddrgenに
到着すると同時に、正しいインデックスがアドレス発生
器のために利用できるように、アライバルバッファイン
デックスも同じインターフェース上で伝送される。
[1830] C. 2.3.1.2 "waddrgen
Interface to Token "(8-bit data, 1-bit extension) is transmitted to the write address generator via a 2-wire interface. As soon as the picture start token arrives at waddrgen, the arrival buffer index is also transmitted on the same interface so that the correct index is available for the address generator.

【1831】C.2.3.1.3 「dispaddr
に対するインターフェース」 リードアドレス発生器へのインターフェースは、「リク
エスト」と「アクノレッジ」信号として各々行動すると
考えられる2つの別々の2線式インターフェースから成
る。しかしながら、いずれかの端にある2つの2線式ベ
ースのステートマシーンの故に、単線式は適当ではな
い。
[1831] C. 2.3.1.3 "dispaddr
The interface to the read address generator consists of two separate 2-wire interfaces which are considered to act as "request" and "acknowledge" signals, respectively. However, single wire is not suitable because of the two two wire based state machines at either end.

【1832】イベントのシーケンスは通常以下のように
dispaddrインターフェースと連合する。まず、
dis−paddrはバッファマネージャへのdrq
valid入力を認定することにより、表示装置からv
syncに答えるリクエストを呼び出す。次に、バッフ
ァマネージャがそのステートマシーン内の適切なポイン
トに達すると、バッファマネージャはリクエストをアク
セプトし、表示されるバッファの割当に努める。その
後、disp validワイヤが認定され、バッファ
インデックスが伝送されるが、これは典型的に、dis
paddrによって直ちにアクセプトされる。更に、現
在のインデックスと連合するフィールド数が前のフィー
ルド数と無関係にリセットされなければならないことを
指示する、この最後の2線式インターフェース(rst
fld)と連合する追加ワイヤがある。
The sequence of events is usually associated with the dispaddr interface as follows. First,
dis-paddr is drq to the buffer manager
By validating valid input, v from the display device
Invoke a request to answer sync. Then, when the buffer manager reaches the appropriate point in its state machine, it accepts the request and tries to allocate the buffer to be displayed. The disp valid wire is then certified and the buffer index is transmitted, which is typically dis
Immediately accepted by paddr. In addition, this final two-wire interface (rst) indicates that the number of fields associated with the current index must be reset independently of the number of previous fields.
There are additional wires associated with fld).

【1833】C.2.3.1.4 「マイクロプロセッ
サインターフェース」 バッファマネージャブロックは8ビットのデータバス及
びリード/ライトストローブと共に、4ビットのマイク
ロプロセッサアドレススペースを使用する。2つのセレ
クト信号があり、1つはユーザーアクセス可能ローケー
ションを指示し、他方は通常の操作状態の下でアクセス
を必要とすべきではないテストロケーションを指示す
る。
[1833] C. 2.3.1.4 "Microprocessor Interface" The buffer manager block uses a 4-bit microprocessor address space with an 8-bit data bus and read / write strobe. There are two select signals, one indicating user accessible location and the other indicating a test location which should not require access under normal operating conditions.

【1834】C.2.3.1.5 「イベント」 バッファマネージャは2つの異なるイベント、インデッ
クスファウンドとレイトアライバルを作り出すことがで
きる。この内最初のものは、ピクチャが到着した時に認
定され、そのピクチャスタート拡張バイト(ピクチャイ
ンデックス)はセットアップ時にBU BM TARG
ET IXレジスタに書き込まれる値と適合する。第2
のピクチャ数は現在の提示数より小さい、つまりバッフ
ァマネージャまでのシステムパイプラインにおけるプロ
セシングは提示要件を満たして行くように処理してはい
ない。
[1834] C. 2.3.1.5 "Events" The buffer manager can create two different events: index found and late arrival. The first of these is identified when the picture arrives, and its picture start extension byte (picture index) is BU BM TRG at setup.
Matches the value written to the ET IX register. Second
The number of pictures in is less than the current number of presentations, that is, the processing in the system pipeline up to the buffer manager is not processing to meet the presentation requirements.

【1835】 C.2.3.1.6 「ピクチャクロック」 本発明では、ピクチャクロックは提示数カウンタに対す
るクロック信号であり、オンチップで発生されるか、あ
るいは外部ソース(通常はディスプレイシステム)から
引き出される。バッファマネージャはこれらの信号の両
方をアクセプトし、pclk ext(バッファマネー
ジャの制御レジスタ内のビット)の値に基づいて1つを
選択する。この信号は更に、イメージフォーマッティン
グ部がそれ自体のピクチャクロックを生じさせている場
合、この信号もチップからの出力として利用できるよう
に、パッドpicoutpad用のイネーブルとして作
用する。
[1835] C. 2.3.1.6 "Picture Clock" In the present invention, the picture clock is the clock signal for the presentation counter and is either generated on-chip or derived from an external source (usually a display system). The buffer manager accepts both of these signals and selects one based on the value of pclk ext (bit in the buffer manager's control register). This signal also acts as an enable for pad picoutpad so that if the image formatter is producing its own picture clock, this signal is also available as an output from the chip.

【1836】C.2.3.2 「主要なブロック」 以下のセクションはバッファマネージャ概略図(bml
ogic)を作成する様々なハードウェアブロックにつ
いて説明する。
[1836] C. 2.3.2 “Main Blocks” The following section is a buffer manager schematic (bml
The various hardware blocks that create

【1837】C.2.3.2.1 「入力/出力ブロッ
ク(bm input)」 このモジュールはバッファマネージャの4つの2線式イ
ンターフェース(入力データと出力データ、drq v
alid/accept及びdisp valid/a
ccept)と連合するハードウェアの全てを含む。入
力データレジスタはそれに付属する幾つかのトークンデ
コーディングハードウェアと共に図示した。bm to
kdecに対する入力にある信号vheaderは、ヘ
ッダが有効であろう(つまり、トークンのまん中ではな
い)ポイントでのみトークンデコーダ出力が認定される
ことを確実にするために使用される。rtimdブロッ
クは、パイプライン内の次のブロック用の二重の入力デ
ータレジスタに隣接する出力データレジスタとして作用
する。これは異なるクロック発生器故のタイミング差を
説明する。信号goとngoはデータvalid、ac
cept及びnotstoppedのANDに基づいて
おり、入力もしくは出力において何かが「大破」された
場合を指示するため、ステートマシーン内のどこかで使
用される。このモジュールのディスプレイインデックス
部分はデータに関する等価「ゴー」信号と共に、2線式
インターフェースから成る。rst fldビットもこ
こで発生し、これは設定された場合、disp val
idが1サイクルのために高くなるまで高いままである
信号である。その後、それはリセットされる。それに加
えて、フラッシュトークンがディスプレイバッファによ
って、全ての外部バッファにEMPTYまたはIN U
SEのフラグを付けさせた後、rst fldがリセッ
トされる。これはピクチャ数と提示数の両方がリセット
されるのと同じポイントである。
[1837] C. 2.3.2.1 “Input / Output Block (bm input)” This module is a buffer manager's four 2-wire interface (input data and output data, drq v
alid / accept and disp valid / a
ccept) and all of the hardware associated with it. The input data register is shown with some token decoding hardware attached to it. bm to
The signal vheader at the input to kdec is used to ensure that the token decoder output is qualified only at the point where the header will be valid (ie not in the middle of the token). The rtimd block acts as an output data register adjacent to the dual input data register for the next block in the pipeline. This accounts for timing differences due to different clock generators. Signals go and ngo are data valid, ac
It is based somewhere on the state machine, based on an AND of cept and notstopped, to indicate when something is "wrecked" at the input or output. The display index portion of this module consists of a two wire interface with an equivalent "go" signal for the data. The rst_fld bit also occurs here, which, if set, causes disp_val.
A signal that remains high until id goes high for one cycle. Then it is reset. In addition to that, the flash token can be EMPTY or IN U to all external buffers by the display buffer.
After having the SE flagged, rst_fld is reset. This is the same point where both the number of pictures and the number of presentations are reset.

【1838】階層の次のレベルに現れる入力データレジ
スタと連合する少量の追加回路がある。この回路は入力
データレジスタがBU BM TARGIXに書き込ま
れるものと等しい値を持ち、それがイベント発生のため
に使用されることを指示する信号を作り出す。
There are a small amount of additional circuitry associated with the input data registers that appear at the next level in the hierarchy. This circuit produces a signal that indicates that the input data register has a value equal to that written to BU BM TARGIX and that it is used for event generation.

【1839】C.2.3.2.2 「インデックスブロ
ック(bm index)」 インデックスブロックは主として、様々な戦略的バッフ
ァインデックスを表示する2ビットレジスタから成る。
これらはarr buf、到着するピクチャデータが書
き込まれるバッファ、disp buf、そこからピク
チャデータが表示のために読み出されるバッファ、及び
rdy buf、バッファがdispaddrによって
リクエストされた場合、表示され得るほとんどの現在ま
でのピクチャを含むバッファインデックスである。更
に、buf ixを含むレジスタがあり、これはバッフ
ァに対する一般的なポインタとして使用される。このレ
ジスタは増分され(マックスにD入力)、それらのステ
ータスを調べるバッファを通って循環する、あるいはス
テータスを変更する必要がある場合、arr buf、
disp buf、またはrdy bufの1つの値が
指定される。これらのレジスタ(ph0バージョン)の
全ては、テストアドレススペースの一部として、マイク
ロプロセッサからアクセス可能である。old ixは
buf ixのリタイムドバージョンであり、バッファ
ステータス及びim stusブロック内のピクチャ数
レジスタを可能化するために使用される。buf ix
及びold ixは共にこのブロックから出力される3
つの信号(各々が値1〜3を保持することができる)に
デコードされる。他の出力はbuf ixがarr b
ufもしくはdisp bufのいずれかと同じ値を持
っているかどうかを指示し、またrdy buf及びd
isp bufのいずれかが値0を持っているかどうか
を指示する。0はバッファに対する参照符号ではない。
それは単に現在割り当てられるarrival/dis
play/readyバッファがないことを指示するだ
けである。
[1839] C. 2.3.2.2 "bm index" The index block mainly consists of 2-bit registers that represent the various strategic buffer indexes.
These are arr buf, the buffer into which the incoming picture data is written, disp buf, the buffer from which the picture data is read for display, and rdy buf, most of the present that can be displayed if the buffer is requested by dispaddr. Is a buffer index including a picture of. In addition, there is a register containing the buf ix, which is used as a general pointer to the buffer. This register is incremented (D input to max) and cycled through the buffers examining their status, or if the status needs to be changed, arr--buf,
One value of disp buf or rdy buf is specified. All of these registers (ph0 version) are accessible to the microprocessor as part of the test address space. old ix is a retimed version of buf ix and is used to enable the buffer status and picture number registers in the im stus block. buf ix
And old ix are both output from this block 3
Decoded into two signals, each of which can hold the values 1-3. Other outputs are buf ix and arr b
indicates whether it has the same value as either uf or disp buf, and also rdy buf and d
Indicate whether any of the isp buf has the value 0. 0 is not the reference code for the buffer.
It is simply the currently assigned arrival / dis
It just indicates that there is no play / ready buffer.

【1840】arr buf及びdisp bufは各
々の2線式インターフェース出力アクセプトレジスタに
よって可能化される。
The arr--buf and disp--buf are enabled by respective 2-wire interface output accept registers.

【1841】bmlogicレベルの追加回路は現在の
バッファインデックス(buf ix)がセットアップ
時に制御レジスタに書き込まれる値によって限定される
ように、使用中の最大インデックスに等しいか否かを判
断するために使用される。制御レジスタ内の「1」は3
バッファシステムを指示し、「0」は2バッファシステ
ムを指示する。
[1187] An additional circuit at the bmlogic level is used to determine if the current buffer index (buf ix) is equal to the maximum index in use, as limited by the value written to the control register during setup. It "1" in the control register is 3
It indicates a buffer system, and "0" indicates a 2-buffer system.

【1842】 C.2.3.2.3 「バッファステータス」 バッファステータス内の主要な成分はステータスと各々
のバッファ用のピクチャ数レジスタである。3つのグル
ープの各々はマスター・スレーブ配置であり、その場
合、スレーブは3つのレジスタのバンクであり、マスタ
ーはその出力が(レジスタenablesを使用して、
old ixによって切り換えられる)スレーブの1つ
に向けられる1つのレジスタである。マスターに対する
可能な入力の1つは(bmlogicレベルでbuf
ixによってインデックスされる)異なるスレーブ出力
の間で多重送信される。bmlogicレベルでデコー
ドされるバッファステータスはステートマシーンロジッ
クにおいて使用されるため、表237に示された値のい
ずれをも取ることができ、あるいはその前の値を再循環
させることができる。ピクチャ数は前の値または1だけ
(または1+デルタ、H.261の場合に実際のものと
予測される時間リファレンス間の差)増分された前の値
を取ることができる。この値はブロックに存在する8ビ
ットアダーによって供給される。このアダーに対する最
初の入力はthis pnum、現在書き込まれている
データのピクチャ数である。
[1842] C. 2.3.2.3 "Buffer status" The main components in the buffer status are the status and the picture number register for each buffer. Each of the three groups is a master-slave arrangement, where the slave is a bank of three registers and the master has its output (using register enables,
One register directed to one of the slaves (switched by old ix). One of the possible inputs to the master is (buf at bmlogic level)
Multiplexed between different slave outputs (indexed by ix). Since the buffer status decoded at the bmlogic level is used in the state machine logic, it can take any of the values shown in Table 237 or it can recycle the previous value. The number of pictures can take the previous value or the previous value incremented by 1 (or 1 + delta, the difference between the actual and predicted temporal reference in the case of H.261). This value is supplied by the 8-bit adder present in the block. The first input to this adder is this pnum, the number of pictures of the data currently being written.

【1843】[1843]

【表237】 3バッファピクチャ数レジスタのいずれも、(殆ど常に
時代遅れになっている)それら自身の前のピクチャ数で
はなく、現在(または前の)ピクチャ数に基づいて容易
に更新できるように、これは別個に(それ自身のマスタ
ー・スレーブ配置に)記憶される必要がある。this
pnumは−1にリセットされ、最初のピクチャが到
着する時、アダーから出力に加算されるので、最初のバ
ッファピクチャ数レジスタへの入力は0である。
[Table 237] This is separate so that any of the three-buffer picture number registers can be easily updated based on the current (or previous) picture number rather than their own previous picture number (which is almost always obsolete). It needs to be stored (in its own master-slave arrangement). this
The pnum is reset to -1, and when the first picture arrives, it is added to the output from the adder, so the input to the first buffer picture number register is zero.

【1844】現在のバージョンにおいては、その値を供
給すべき時間リファレンスブロックの欠如により、デル
タは0に接続される。
In the current version, the delta is tied to 0 due to the lack of a time reference block to supply its value.

【1845】C.2.3.2.4 「提示数」 8ビット提示数レジスタは、提示数が最後に調べられて
から変化していることを指示するため、ステートマシー
ンにおいて使用される関連提示フラグを持つ。こうした
ことが必要であるのは、ピクチャクロックが本質的に同
期的であり、如何なるステートにおいても活性であり得
るからであり、これらが提示数に関係するからではな
い。本ブロック内の回路の残りはピクチャクロックパル
スが発生したことを検出し、この事実を「覚えておく」
ことに関係する。この方法で、提示数は更新することが
有効である時に更新することができる。イベントの代表
的シーケンスを図165に示す。信号incr prn
はリタイムドピクチャクロックライジングエッジの1サ
イクル後に活性となり、ステートが入ってくるまで持続
し、その間に提示数を修正することができる。これは信
号en prnumによって指示される。特定のステー
トの間にのみ提示数の更新ができるようにした理由は、
それが信号rdystを提供するためのstandar
d−cell、not−very−fast8ビットア
ダーを含むロジックのかなりの量を駆動させるために使
用されるからである。従って、それは次に続くステート
がその結果を使用していないステートの間にのみ変更さ
れなければならない。
[1845] C. 2.3.2.4 "Presentation Number" The 8-bit presentation number register has an associated presentation flag used in the state machine to indicate that the presentation number has changed since it was last examined. This is necessary because the picture clocks are synchronous in nature and can be active in any state, not because they relate to the number of presentations. The rest of the circuitry in this block detects that a picture clock pulse has occurred and "remembers" this fact.
Related to that. In this way, the number of offers can be updated when it is valid to update. A representative sequence of events is shown in FIG. Signal incr prn
Becomes active one cycle after the retimed picture clock rising edge and lasts until a state comes in, during which the number of presentations can be modified. This is indicated by the signal en prnum. The reason why the number of presentations can be updated only during a specific state is
Standar for it to provide the signal rdyst
It is used to drive a significant amount of logic, including d-cell, not-very-fast 8-bit adders. Therefore, it should only be changed while the next succeeding state is not using the result.

【1846】 C.2.3.2.5 「時間リファレンス」 本発明による時間リファレンスブロックは、イメージフ
ォーマッティング部の現在の態様からは省略されている
が、仕上げのためにそのオペレーションについてここで
説明する。
[1846] 2.3.2.5 "Time Reference" The time reference block according to the present invention has been omitted from the current aspect of the image formatting section, but its operation is now described for finishing.

【1847】本ブロックの機能はデルタ、H.261デ
ータストリーム内のトークンにおいて受け取った時間リ
ファレンスバリューと、「予測された」時間リファレン
ス(1+前のバリュー)の間の差を計算することであ
る。これによりH.261においてフレームをスキップ
することができる。時間リファレンストークンは全ての
non−H.261ストリームにおいて無視される。計
算されたバリューはバッファ用のピクチャ数を計算する
ためにステータスブロックにおいて使用される。bml
ogicからのブロックを省略する効果は、H.261
ストリームが幾つかのピクチャ数をスキップすべきであ
ると指示しても、ピクチャ数がどのシーケンスにおいて
も常に連続していることである。
The function of this block is delta, H.264. Calculating the difference between the time reference value received at the token in the 261 data stream and the “predicted” time reference (1 + previous value). As a result, H. At 261 the frame can be skipped. The time reference token is used for all non-H. Ignored in the H.261 stream. The calculated value is used in the status block to calculate the number of pictures for the buffer. bml
The effect of omitting blocks from the H. 261
Even if the stream indicates that some pictures should be skipped, the number of pictures is always continuous in any sequence.

【1848】(概略図bm trefにおいて見ること
ができる)ブロックの主要な成分はtr、exptr及
びデルタ用のレジスタである。発明においては、trは
0にリセットされ、適当な場合に入力データレジスタか
らロードされるものである。同様に、exptrは−1
にリセットされ、時間リファレンスステートのシーケン
スの間に、1またはデルタだけ増分される。それに加え
て、デルタは0にリセットされ、他の2つのレジスタの
間の差がロードされる。3つの全てのレジスタはフラッ
シュトークンの後リセットされる。このブロック内のア
ダーはデルタとexptrの両方の計算のために、つま
り減算及び加算操作のために各々使用され、信号del
ta calcによって制御される。
The main components of the block (which can be seen in the schematic bm tref) are the registers for tr, exptr and delta. In the invention, tr is reset to 0 and loaded from the input data register when appropriate. Similarly, exptr is -1
, And incremented by 1 or delta during the sequence of time reference states. In addition to that, the delta is reset to 0 and the difference between the other two registers is loaded. All three registers are reset after the flush token. The adders in this block are used for both delta and exptr calculations, ie for subtraction and addition operations, respectively, and the signal del
controlled by ta calc.

【1849】C.2.3.2.6 「制御レジスタ(b
m uregs)」 バッファマネージャ用の制御レジスタはブロックbm
urgesにある。これらはアクセスビットレジスタ、
(外部バッファの最大数及び内部/外部ピクチャクロッ
クを限定する)セットアップレジスタ、及びターゲット
インデックスレジスタである。アクセスビットは予測さ
れたように同期化される。信号stopd 0、sto
pd 1、及びnstopd 1はアクセスビットのO
R及び2個のイベントストップビットから引き出され
る。全てのbmlogic用のUpiアドレスデコーデ
ィングはブロックbm udecによって行われ、それ
はイメージフォーマッティング部のトップレベルのアド
レスデコードからの2つのセレクト信号と共に、upi
データバスの下位4ビットを取る。
[1849] C. 2.3.2.6 Control register (b
control registers for the buffer manager are in block bm
in urges. These are the access bit registers,
A setup register (which limits the maximum number of external buffers and the internal / external picture clock) and a target index register. The access bits are synchronized as expected. Signal stopp 0, sto
pd 1 and nstopd 1 are access bit O
It is derived from R and the two event stop bits. Upi address decoding for all bmllogic is done by the block bm udec, which, along with the two select signals from the top level address decode of the image formatter, upi.
Take the lower 4 bits of the data bus.

【1850】 C.2.3.2.7 「制御用ステートマシーン」 ステートマシーンロジックは元々それ自体のブロック、
bm stateを占有していた。しかしながら、コー
ド発生理由のため、今では平板化され、bmlogic
概略図のシート2の上にある。
[1850] 2.3.2.7 "Control State Machine" The state machine logic is originally its own block,
Occupies the bm state. However, because of the code generation, it is now flattened and
It is on sheet 2 of the schematic.

【1851】このロジックの主要セクションは同じであ
る。これはデコーディング、他のbmlogicブロッ
クの制御用のロジック信号の発生、及びステートマシー
ンを通るルートを選択するために使用されるフラグ、f
rom ps及びfromflを含む新しいステートエ
ンコーディングを含む。bm stus及びbmind
ex用にマックス制御信号を作るための別個のブロック
がある。
The main sections of this logic are the same. This is a flag used to decode, generate logic signals for control of other blogic blocks, and select routes through the state machine, f
Includes new state encodings including rom ps and fromfl. bm stus and bmind
There is a separate block for making the max control signal for ex.

【1852】ステートマシーンハードウェアにおける信
号には、タイピング及び参照のしやすさのために簡単な
アルファベット名を与えてきた。それらの全てを、それ
らが表すロジック表現と共に表238〜表241にリス
トアップする。更にそれらはbmlogicの行動M.
解説(bmlogic.M)におけるコメントとしても
現されている。
[1852] Signals on state machine hardware have been given simple alphabetic names for ease of typing and reference. All of them are listed in Tables 238-241 along with the logic expressions they represent. Furthermore, they are mblogic behaviors M.
It is also shown as a comment in the commentary (bmllogic.M).

【1853】[1853]

【表238】 [Table 238]

【1854】[1854]

【表239】 [Table 239]

【1855】[1855]

【表240】 [Table 240]

【1856】[1856]

【表241】 C.2.3.2.8 「モニタリングオペレーション
(bminfo)」 本発明では、バッファステータス情報、インデックスバ
リュー、及び提示数をシミュレーション中に観察できる
ように、モジュール、bminfoが含まれる。それは
Mの中に書き込まれ、その入力の1つが変化する度に出
力を生じさせる。
[Table 241] C. 2.3.2.8 "Monitoring Operation (bminfo)" In the present invention, a module, bminfo, is included so that buffer status information, index values, and the number of presentations can be observed during simulation. It is written into M and produces an output each time one of its inputs changes.

【1857】 C.2.3.3 「レジスタアドレスマップ」 バッファマネージャのアドレススペースは2つのエリ
ア、ユーザー・アクセシブルとテストにスプリットされ
る。従って、トップレベルにおけるレンジデコードから
引き出される2つの別個のイネーブルワイヤがある。表
242はユーザー・アクセシブルレジスタを示し、表2
43はテストスペースの内容を示す。
[1857] C. 2.3.3 “Register Address Map” The buffer manager address space is split into two areas, user accessible and test. Therefore, there are two separate enable wires derived from range decoding at the top level. Table 242 shows the user accessible registers and Table 2
43 shows the contents of the test space.

【1858】[1858]

【表242】 [Table 242]

【1859】[1859]

【表243】 C.2.4 「ステートマシーンのオペレーション」 表244に詳述するように、バッファマネージャのステ
ートマシーンには19のステートがある。これらは図1
66に示すように、また行動解説bmlogic.Mに
も記載するように相互作用する。
[Table 243] C. 2.4 State Machine Operation As detailed in Table 244, there are 19 states in the buffer manager state machine. These are shown in Figure 1.
66, the behavioral explanation bmllogic. They interact as described in M.

【1860】[1860]

【表244】 C.2.4.1 「リセットステート」 リセットステートはPRES0であり、主ループが初期
に循環されるように、フラグは0に設定される。
[Table 244] C. 2.4.1 "Reset State" The reset state is PRES0 and the flag is set to 0 so that the main loop circulates initially.

【1861】C.2.4.2 「主ループ」 ステートマシーンの主ループが図167に示すようなス
テート(主な線図−図166において強調している)か
ら成る。ステートPRES0とPRES1は信号pre
sflgを介してピクチャクロックを検出することに関
係する。2個のサイクルはそれらが全てrdyst、
C.2.3.2.4において説明したアダー出力信号の
バリューに依存するので、テスト用に含めることができ
る。提示フラグが検出された場合、全てのバッファは可
能な「レディネス」のために調べられ、そうでなけれ
ば、ステートマシーンはステートDRQに進む。PRE
S0−PRES1ループの回りの各サイクルは異なるバ
ッファを調べ、フル及びレディ条件をチェックする。こ
れらが満たされると、前のレディバッファ(もし存在し
ていれば)がクリアされ、新しいレディバッファが割り
当てられ、そのステータスが更新される。このプロセス
は全てのバッファが調べられる(インデックス==ma
x buf)まで繰り返され、それからステートが前進
する。以下のいずれかが当てはまれば、バッファは表示
される準備が整ったと考えられる: (pic num>pres num) &&(pic num−pres num)>=128) or (pic num<pres num) &&(pres num−pic num)<=128) or pic num==pres num ステートDRQはディスプレイバッファ用のリクエスト
(drq validreg && disp acc
reg)をチェックする。もし如何なるリクエストも
なければ、ステートは(通常は、後述するように、ステ
ートTOKENに)進む。そうでなければ、ディスプレ
イバッファインデックスが以下のように発せられる。レ
ディバッファがなければ、前のインデックスが再発行さ
れ、あるいは、前のディスプレイバッファがなければ、
ゼロインデックス(ゼロ)が発せられる。バッファが表
示される準備が整っていれば、そのインデックスが出さ
れ、そのステートが更新される。必要であれば、前のデ
ィスプレイバッファがクリアされる。ステートマシーン
はその後以前のように前進する。
[1861] C. 2.4.2 "Main Loop" The main loop of the state machine consists of the states shown in Figure 167 (main diagram-highlighted in Figure 166). State PRES0 and PRES1 are signal pre
Relates to detecting the picture clock via sflg. The two cycles are all rdyst,
C. Since it depends on the value of the adder output signal described in 2.3.2.4, it can be included for testing. If the offer flag is detected, all buffers are examined for possible "readiness", else the state machine goes to state DRQ. PRE
Each cycle around the S0-PRES1 loop checks a different buffer for full and ready conditions. When these are filled, the previous ready buffer (if any) is cleared, a new ready buffer is allocated, and its status is updated. This process examines all buffers (index == ma
x buf) and then the state advances. A buffer is considered ready to be displayed if any of the following is true: (pic num> pres num) && (pic num-pres num)> = 128) or (pic num <pres num) && (pres. num-pic num) <= 128) or pic num == pres num The state DRQ is a request for the display buffer (drq validreg && disp acc).
Check reg). If there is no request, the state proceeds (usually to state TOKEN, as described below). Otherwise, the display buffer index is emitted as follows: If there is no ready buffer, the previous index is reissued, or if there is no previous display buffer,
Zero index (zero) is emitted. If the buffer is ready to be displayed, its index is raised and its state is updated. If necessary, the previous display buffer is cleared. The state machine then proceeds as before.

【1862】ステートTOKENは主ループを完了させ
るための典型的なオプションである。有効な入力があ
り、出力がストールされていなければ、トークンは(後
のセクションで説明する)戦略的バリューのために調べ
られ、そうでなければ、制御はステートPRES0に戻
る。
State TOKEN is a typical option for completing the main loop. If there are valid inputs and the output is not stalled, the token is examined for strategic value (discussed in a later section), otherwise control returns to state PRES0.

【1863】制御はある条件が満たされる時に、主ルー
プから分岐するだけである。これらについては以下のセ
クションにおいて説明する。
Control only branches from the main loop when certain conditions are met. These are described in the sections below.

【1864】C.2.4.3 「レディバッファインデ
ックスの割当」 PRES0−PRES1ループの間に、バッファがレデ
ィであると判断されれば、前のレディバッファは空にさ
れる。なぜなら、いつでも1つだけのバッファがレディ
と指定され得るからである。ステートVACATE R
DYはそのステートをVACANTに設定することによ
り、古いレディバッファをクリアし、制御がPRES0
ステートに戻る時、全てのバッファのレディネスがテス
トされるように、バッファインデックスを1にリセット
する。こうすることの理由は、インデックスが今では前
のレディバッファを指しており(それをクリアする目
的)、我々の意図する新しいレディバッファインデック
スの記録がないからである。従って、全てのバッファを
再テストすることが必要である。
[1864] C. 2.4.3 "Assigning Ready Buffer Index" If the buffer is determined to be ready during the PRES0-PRES1 loop, the previous ready buffer is emptied. This is because only one buffer can be designated as ready at any given time. State VACATE R
DY clears the old ready buffer by setting its state to VACANT and control goes to PRES0.
When returning to state, the buffer index is reset to 1 so that all buffer readiness is tested. The reason for doing this is that the index now points to the previous ready buffer (for the purpose of clearing it) and there is no record of our new ready buffer index. Therefore, it is necessary to retest all buffers.

【1865】C.2.4.4 「ディスプレイバッファ
インデックスの割当」 ディスプレイバッファインデックスの割当はステートD
RQ(ステートUSERDY)から直接、あるいは古い
ディスプレイバッファステートをクリアするステートV
ACATE DISPを介して行われる。選ばれたディ
スプレイバッファはIN USEというフラグが付けら
れ、rdy bufのバリューが0に設定され、ステー
トDRQに戻るためにインデックスは1にリセットされ
る。更に、disp bufに必要なインデックスが与
えられ、2線式インターフェースワイヤ(disp v
alidとdrq acc)がそれに応じて制御され
る。ステートTOKEN、FLUSH、ALLOC間の
決定がステートUSE RDYにおいて為される必要が
ないようにするためだけに、制御はステートDRQに戻
る。
[1865] C. 2.4.4 “Display buffer index allocation” Display buffer index allocation is State D
State V to clear old display buffer state directly from RQ (state USERDY)
This is done via ACATE DISP. The selected display buffer is flagged as IN USE, the value of rdy_buf is set to 0, and the index is reset to 1 to return to state DRQ. Furthermore, the necessary index is given to the disp buf, and the two-wire interface wire (disp v
alid and drq acc) are controlled accordingly. Control simply returns to state DRQ only so that a decision between states TOKEN, FLUSH, ALLOC need not be made in state USER RDY.

【1866】C.2.4.5 「ピクチャエンドを受け
取った時のオペレーション」 ピクチャエンドトークンを受け取ると、制御はステート
TOKENからステートピクチャエンドに移り、そこ
で、インデックスがまだ現在のアライバルバッファを指
していない場合、そこを指すように設定され、そのステ
ートが更新され得る。out acc reg及びen
fullが当てはまると仮定すれば、ステータスを後
述するように更新することができる。そうでなければ、
制御はそれらが共に当てはまるまでステートピクチャエ
ンドに残る。en full信号がライトアドレス発生
器によって供給され、スイングバッファがスイングした
ことを、つまり最後のブロックがうまく書き込まれ、従
ってバッファステータスを更新しても安全であることを
指示する。
[1866] C. 2.4.5 "Operation on receipt of picture end" Upon receipt of the picture end token, control transfers from state TOKEN to state picture end, where the index is not already pointing to the current arrival buffer. It can be set to point and its state updated. out acc reg and en
Assuming full is true, the status can be updated as described below. Otherwise,
Controls remain at the state picture end until they fit together. The en full signal is provided by the write address generator to indicate that the swing buffer has swung, that is, the last block has been successfully written and thus it is safe to update the buffer status.

【1867】完了したばかりのバッファのレディネスが
テストされ、テストの結果に応じてステータスFULL
またはREADYのいずれかが与えられる。それがレデ
ィであれば、rdy bufにそのインデックスのバリ
ューが与えられ、set la ev信号(レイトアラ
イバルイベント)が高く設定される(予測されるディス
プレイがデコーディングの適時に前に進んだことを指示
する)。arr bufの新しいバリューは今は0であ
り、前のレディバッファがそのステータスをクリアする
必要があれば、インデックスはそこを指すように設定さ
れ、制御はステートVACATE RDYに移動する。
そうでなければ、インデックスは1にリセットされ、制
御は主ループのスタートに戻る。
[1867] The just completed buffer is tested for readability and status FULL is returned depending on the test result.
Alternatively, either READY is given. If it is ready, the rdy buf is given the value of that index and the set la ev signal (late arrival event) is set high (indicating that the expected display has advanced forward in time for decoding). To). The new value of arr_buf is now 0, and if the previous ready buffer needed to clear its status, the index is set to point to it and control moves to state VACATE RDY.
If not, the index is reset to 1 and control returns to the start of the main loop.

【1868】C.2.4.6 「ピクチャスタートを受
け取った時のオペレーション(アライバルバッファの割
当)」 ピクチャスタートトークンがステートTOKENの間に
到着すると、フラグfrom psが設定され、ステー
トTOKENの代わりにステートALLOCを巡視する
ように、ベーシックステートマシーンループを変更させ
る。ステートALLOCはアライバルバッファ(その中
に到着するピクチャデータを書き込むことができる)の
割当に関係し、そのステータスがVACANTであるも
のを見つけるまでバッファを通って循環する。バッファ
はデータ2線式インターフェースの上に出力されるの
で、out acc regが高い場合にのみ割り当て
られる。従って、ループのまわりの循環はこれが本当に
そうした場合になるまで続くであろう。適当なアライバ
ルバッファが見つけられると、インデックスはarrb
ufに割り当てられ、そのステータスにはIN USE
というフラグが付けられる。インデックスは1に設定さ
れ、フラグfrom psがリセットされ、ステートは
NEW EXP TRに進む用に設定される。(ピクチ
ャスタートに続くワードに含まれる)ピクチャのインデ
ックスがチェックされ、それがtarg ix(セット
アップで指定されたターゲットインデックス)と同じで
あるか否かが判断され、もしそうであれば、set i
f+ ev(インッデクスファウンドイベント)が高く
設定される。
[1868] C.I. 2.4.6 "Operation when picture start is received (allocation buffer allocation)" When the picture start token arrives during the state TOKEN, the flag fromps is set, and the state ALLOC is patroled instead of the state TOKEN. To change the basic state machine loop. State ALLOC concerns the allocation of an arrival buffer (in which picture data arriving in it can be written) and cycles through it until it finds one whose status is VACANT. Since the buffer is output on the data 2-wire interface, it is allocated only if out acc reg is high. Therefore, the circulation around the loop will continue until this is really the case. If a suitable arrival buffer is found, the index is arrb
assigned to uf and its status is IN USE
Is added. The index is set to 1, the flag fromps is reset, and the state is set to go to NEW EXP TR. The index of the picture (contained in the word following the picture start) is checked to determine if it is the same as targ ix (the target index specified in the setup), and if so, set i
f + ev (index found event) is set high.

【1869】3つのステータスNEW EXP TR、
SET ARR IX、及びNEWPIC NUMが新
しく予測される時間リファレンス及び入ってくるデータ
用のピクチャ数を設定する。正しいピクチャ数レジスタ
が更新される(thispnumも更新されることに注
意)ように、中間ステートはインデックスをarr b
ufに設定する。その後制御は、低い拡張に遭遇するま
で、(好ましい2線式インターフェース信号を仮定し
て)データを出力するステートOUTPUTTAILに
進む。この時点で、主ループは再スタートされる。これ
は全データブロック(64アイテム)が出力されること
を意味し、その間に提示フラグもしくはディスプレイリ
クエスト用のテストは行われない。
[1869] Three statuses NEW EXP TR,
SET ARR IX and NEWPIC NUM set the new predicted time reference and the number of pictures for the incoming data. The intermediate state updates the index arr b so that the correct picture number register is updated (note that the hispnum is also updated).
Set to uf. Control then proceeds to the state OUTPUTTAIL which outputs data (assuming the preferred 2-wire interface signal) until a low extension is encountered. At this point the main loop is restarted. This means that all data blocks (64 items) will be output, during which no testing for presentation flags or display requests is done.

【1870】 C.2.4.7 「フラッシュを受け取った時の動作」 データストリーム内のフラッシュトークンはシーケンス
情報(提示数、ピクチャ数、rst fld)をリセッ
トすべきことを指示する。これはFLUSHに導く全て
のデータが正しく処理された時にのみ発生することがで
きる。従って、FLUSHを受け取った後、全てのフレ
ームがディスプレイに手渡された、つまり、1つのバッ
ファを除いて全てのバッファがステータスEMPTYを
持ち、その1つのバッファが(ディスプレイバッファと
して)IN USEであることが確実になるまで、バッ
ファの全てのステータスを監視することが必要である。
その時点で、「新しいシーケンス」を安全に使用するこ
とができる。
[1870] C. 2.4.7 "Action when flash is received" The flash token in the data stream indicates that the sequence information (presentation number, picture number, rst_fld) should be reset. This can only occur when all the data leading to FLUSH has been processed correctly. Therefore, after receiving FLUSH, all frames have been handed to the display, that is, all but one buffer has the status EMPTY and that one buffer is IN USE (as a display buffer). It is necessary to monitor all the status of the buffer until
At that point, the "new sequence" can be safely used.

【1871】フラッシュトークンがステートトークンに
おいて検出されると、フラグfrom flが設定さ
れ、ステートトークンの代わりにステートフラッシュを
巡視するように、ベーシックステートマシーンループを
変更させる。ステートFLUSHは各バッファのステー
タスを順に調べ、それがVACANTもしくはディスプ
レイとしてIN USEになるのを待つ。ステートマシ
ーンは条件が当てはまるまで、単にループのまわりを循
環し、それからそのインデックスを増分して、全てのバ
ッファを訪問してしまうまでプロセスを繰り返す。最後
のバッファが条件を満たすと、提示数、ピクチャ数、及
び全ての時間リファレンスレジスタがそれらのリセット
値rst fldが1に設定されると仮定する。フラグ
fromflがリセットされ、通常の主ループオペレー
ションが再び始められる。
When a flush token is detected in the state token, the flag from fl is set, causing the basic state machine loop to change to patrol the state flush instead of the state token. State FLUSH examines the status of each buffer in turn and waits for it to become VACANT or IN USE as a display. The state machine simply cycles around the loop until the condition is met, then increments its index and repeats the process until all buffers have been visited. Assume that the presentation number, the number of pictures, and all temporal reference registers have their reset value rst_fld set to 1 if the last buffer satisfies the condition. The flag fromfl is reset and normal main loop operation is restarted.

【1872】 C.2.4.8 「時間標準を受け取った時の動作」 時間標準トークンに遭遇すると、H.261ビットのチ
ェックが行われ、設定されると、4つのステートTEM
P REF0〜TEMP REF3を巡視する。これら
は次のオペレーションを遂行する。
[1872] C. 2.4.8 “Operation when a time standard is received” When a time standard token is encountered, H.264 A 261 bit check is performed and set, four states TEM
Patrol P REF0 to TEMP REF3. These perform the following operations.

【1873】TEMP REF0:temp ref=
in data reg; TEMP REF1:delta=temp ref−
exp tr;index=arr buf; TEMP REF2:exp tr=delta+ex
p tr; TEMP REF3:pic num[i]=this
pnum+delta;index=1. C.2.4.9 「他のトークンとテール」 ステートトークンは上記において概略したもの以外の全
ての場合において、ステートOUTPUT TAILに
制御を送る。最後のトークンワードに遭遇する(in
extn regが低い)まで制御はここに留まり、主
ループはそれから再突入される。
[1873] TEMP REF0: temp ref =
in data reg; TEMP REF1: delta = temp ref-
exp tr; index = arr buf; TEMP REF2: exp tr = delta + ex
p tr; TEMP REF3: pic num [i] = this
pnum + delta; index = 1. C. 2.4.9 "Other Tokens and Tail" State tokens send control to state OUTPUT TAIL in all cases other than those outlined above. Encounter the last token word (in
Control remains here until the extn reg is low) and the main loop is then reentry.

【1874】C.2.5 「アプリケーションノート」 C.2.5.1 「バッファマネージャ入力をストール
するステートマシーン」 この要件はピクチャクロックとディスプレイバッファリ
クエストの「同期的」タイミングイベントを繰り返しチ
ェックする。これらのチェックの間に、バッファマネー
ジャ入力をストールさせることの必要性は、バッファマ
ネージャの入力に連続的なデータ供給がある時、バッフ
ァマネージャを通るデータ率に制限があることを意味す
る。典型的なステートシーケンスはPRES0、PRE
S1、DRQ、TOKEN、OUTPUT TAILで
あり、OUTPUT TAILを除き、各々が1サイク
ル続く。これは各64データアイテムのブロックのため
に、入力がストールされている間(ステートPRES
0、PRES1、DRQの間)3サイクルのオーバーヘ
ッドがあり、それによって3/64もしくはほぼ5%だ
けライト速度を遅くさせることを意味する。このオーバ
ーヘッドの数は、ステートマシーンの補助ブランチが最
悪の場合の条件下で実行される時、時には13サイクル
まで増加させることができる。このように多くのオーバ
ーヘッドはフレーム毎に一度のベースで適用できるだけ
であることに注意。
[1874] C. 2.5 "Application Note" C. 2.5.1 "State Machine Stalling Buffer Manager Input" This requirement repeatedly checks for "synchronous" timing events for picture clocks and display buffer requests. The need to stall the buffer manager input during these checks means that there is a limit to the rate of data through the buffer manager when there is a continuous supply of data at the buffer manager input. Typical state sequence is PRES0, PRE
S1, DRQ, TOKEN, OUTPUT TAIL, each of which lasts 1 cycle except for OUTPUT TAIL. This is for each block of 64 data items while the input is stalled (state PRES
It means that there is an overhead of 3 cycles (between 0, PRES1, DRQ) and thereby slowing down the write speed by 3/64 or almost 5%. This number of overheads can be increased, sometimes up to 13 cycles, when the auxiliary branch of the state machine is executed under worst case conditions. Note that this much overhead can only be applied on a frame-by-frame basis.

【1875】 C.2.5.2 「アクセス中の提示数行為」 C.2.3.2.4に示す概略図により図示されるbm
presの特別な態様は、提示数がupiアクセス中
に自由に動くことを意味する。アクセスを廃棄する時の
提示数がアクセスを得た時の提示数と同じであることが
求められる場合、これはアクセスが認められた後の提示
数を読み、それをアクセスが廃棄される直前に書き戻す
ことによって成し遂げられる。注意すべきことは、これ
は非同期的であり、従って更に効果性を確かめるため
に、そのアクセスを数回繰り返すことが望ましいことで
ある。
[1875] 2.5.2 "Presentation act during access" Bm illustrated by the schematic shown in 2.3.2.4
A special aspect of pres means that the number of offers is free to move during upi access. If the number of offers when revoking access is required to be the same as the number of offers when gaining access, this is done by reading the number of offers after access is granted, and just before the access is revoked. It can be achieved by writing back. Note that this is asynchronous, so it is desirable to repeat the access a few times in order to see more effectiveness.

【1876】 C.2.5.3 「H261時間リファレンス数」 モジュールbm tref(図示せず)はbmlogi
cの中に含まれるべきである。H.261時間リファレ
ンスバリューは、bmtrefからのデルタ入力をbm
stusモジュールに向けさせることにより正しく処
理される。デルタ入力は、フレームが常に連続する場合
に0に結び付けることができる。
[1876] 2.5.3 “H261 hour reference number” module bm tref (not shown)
should be included in c. H. 261 Hour Reference Value is bm delta input from bmtref
It is processed correctly by directing it to the stus module. The delta input can be tied to 0 if the frames are always consecutive.

【1877】 セクションC.3 「ライトアドレス発生」 C.3.1 「序文」 本発明によるライトアドレス発生ハードウェアの機能
は、バッファに書き込むべきデータ用のブロックアドレ
スを作り出すことである。これはバッファのベースアド
レス、ストリーム内で指示される成分、マクロブロック
内の水平と垂直のサンプリング、ピクチャディメンショ
ン及びコーディングスタンダードを考慮する。データは
マクロブロックの形態で到着するが、ディスプレイのた
めにラインを容易に検索できるように記憶されなければ
ならない。
[1877] Section C. 3 “Write address generation” C. 3.1 "Introduction" The function of the write address generation hardware according to the present invention is to create a block address for the data to be written to the buffer. This takes into account the base address of the buffer, the components pointed to in the stream, horizontal and vertical sampling in macroblocks, picture dimensions and coding standards. Data arrives in the form of macroblocks but must be stored so that the line can be easily retrieved for display.

【1878】C.3.2 「機能的展望」 新しいブロックが(データトークンが指示する)データ
ストリームに到着する度に、ライトアドレス発生器は新
しいブロックアドレスを作るように要請される。アドレ
スが実際に必要になる前に、64までのデータワードを
(スイングバッファ内の)DRAMインターフェースに
よって記憶することができるので、直ちにアドレスを作
ることが必要ではない。これは様々なアドレス成分を連
続サイクル内の現在の合計に加算することができ、従っ
て如何なるハードウェア乗算器のための必要事項をも除
去することができることを意味する。マクロブロックカ
ウンタ機能は戦略的終末値を記憶し、各ブロックアドレ
ス計算の後の比較及び条件付き更新用のオペランドであ
る、レジスタファイル内のカウントを動かすことによっ
て達成される。
[1878] C. 3.2 "Functional Perspective" Each time a new block arrives in the data stream (indicated by the data token), the write address generator is required to create a new block address. Up to 64 data words can be stored by the DRAM interface (in the swing buffer) before the address is actually needed, so it is not necessary to build the address immediately. This means that the various address components can be added to the running sum in consecutive cycles, thus eliminating the need for any hardware multiplier. The macroblock counter function stores the strategic end value and is accomplished by running a count in the register file, which is the operand for comparison and conditional update after each block address calculation.

【1879】図170に示したピクチャフォーマットを
考えてみると、予測されるアドレスシーケンスは標準の
データストリーム及びH.261のようなデータストリ
ームの双方から引き出すことができる。これらを下記に
示す。スライスが充分な幅を持たない(11よりむしろ
3マクロブロックである)が、ここでは便利さのために
同じ「半ピクチャ幅スライス」コンセプトを使用し、シ
ーケンスは「H.261タイプ」のものであると仮定す
るので、フォーマットは実際にはH.261規定に準じ
てはいないことに注意。データはフルマクロブロック、
図示した例では4:2:0として到着し、各成分は指定
されたバッファのそれ自身のエリアに記憶される。 標準アドレスシーケンス: 000,001,00C,00D,100,200; 002,003,00E,00F,101,201; 004,005,010,011,102,202; 006,007,012,013,103,203; 008,009,014,015,104,105; 00A,00B,016,017,105,205; 018,019,024,025,106,107; 01A,01B,026,..... ..... 080,081,08C,08D,122,222; 082,083,08E,08F,123,223; H.261型シーケンス: 000,001,00C,00D,100,200; 002,003,00E,00F,101,201; 004,005,010,011,102,202; 018,019,024,025,106,107; 01A,01B,026,027,107,207; 01C,01D,028,029,108,208; 030,031,03C,03D,10C,20C; 032,033,03E,03F,10D,20D; 034,035,040,041,10E,20E; 006,007,012,013,103,203; 008,009,014,015,104,105; 00A,00B,016,017,105,205; 01E,01F,02A,02B,109,209; 020,021,02C,02D,10A,20A; 022,023,02E,02F,10B,20B; 036,037,042,043,10F,20F; 038,039,044,045,110,210; 03A,03B,046,047,111,211; 048,049,054,055,112,212; 04A,04B,056,..... ..... 06A,06B,076,077,11D,21D; 07E,07F,08A,08B,121,221; 080,081,08C,08D,122,222; 082,083,08E,08F,123,223; C.3.3 「アーキテクチュア」 C.3.3.1 「インターフェース」 C.3.3.1.1 「バッファマネージャに対するイ
ンターフェース」 バッファマネージャはデータ及びバッファインデックス
を直接ライトアドレス発生器に出力する。これは2線式
インターフェースの制御下に行われる。ある方法では、
ライトアドレス発生器ブロックをバッファマネージャの
拡張と考えることができる。なぜなら、その両者が非常
に密接につながれるからである。しかしながら、それら
は2つの別個の(しかし類似した)クロック発生器から
操作する。
Considering the picture format shown in FIG. 170, the predicted address sequences are standard data stream and H.264. Can be derived from both data streams such as H.261. These are shown below. The slices are not wide enough (3 macroblocks rather than 11), but here we use the same "half picture width slice" concept for convenience, and the sequence is "H.261 type". As such, the format is actually H.264. Note that it does not comply with 261 regulations. Data is full macroblock,
In the example shown, it arrives as 4: 2: 0 and each component is stored in its own area of the designated buffer. Standard address sequence: 000,001,00C, 00D, 100,200; 002,003,00E, 00F, 101,201; 004,005,010,011,102,202; 006,007,012,013,103, 203; 008, 009, 014, 015, 104, 105; 00A, 00B, 016, 017, 105, 205; 018, 019, 024, 025, 106, 107; 01A, 01B, 026 ,. . . . . . . . . . 080,081,08C, 08D, 122,222; 082,083,08E, 08F, 123,223; 261 type sequence: 000,001,00C, 00D, 100,200; 002,003,00E, 00F, 101,201; 004,005,010,011,102,202; 018,019,024,025,106, 107; 01A, 01B, 026, 027, 107, 207; 01C, 01D, 028, 029, 108, 208; 030, 031, 03C, 03D, 10C, 20C; 032, 033, 03E, 03F, 10D, 20D; 03, 035, 040, 041, 10E, 20E; 006, 007, 012, 013, 103, 203; 008, 009, 014, 015, 104, 105; 00A, 00B, 016, 017, 105, 205; 01E, 01F, 02A, 02B, 109, 209; 020, 02 , 02C, 02D, 10A, 20A; 022, 023, 02E, 02F, 10B, 20B; 036, 037, 042, 043, 10F, 20F; 038, 039, 044, 045, 110, 210; 03A, 03B, 046. , 047, 111, 211; 048, 049, 054, 055, 112, 212; 04A, 04B, 056 ,. . . . . . . . . . 06A, 06B, 076, 077, 11D, 21D; 07E, 07F, 08A, 08B, 121, 221; 080, 081, 08C, 08D, 122, 222; 082, 083, 08E, 08F, 123, 223; 3.3 “Architecture” C.I. 3.3.1 “Interface” C. 3.3.1.1 “Interface to Buffer Manager” The buffer manager outputs data and buffer index directly to the write address generator. This is done under the control of a two wire interface. In one way,
The write address generator block can be thought of as an extension of the buffer manager. Because the two are very closely connected. However, they operate from two separate (but similar) clock generators.

【1880】C.3.3.1.2 「dramifに対
するインターフェース」 ライトアドレス発生器はDRAMインターフェース用の
データとアドレスを提供する。これらの各々はそれら自
身の2線式インターフェースを持ち、dramifは異
なるクロック様式においてその各々を使用する。特に、
アドレスはライトアドレス発生器クロックに関連しない
クロック上でdramifにクロックされる。従って、
それは出力において同期化される。
[1880] C. 3.3.1.2 "Interface to dramif" The write address generator provides the data and address for the DRAM interface. Each of these has its own two wire interface and dramif uses each of them in a different clocking scheme. In particular,
The address is clocked dramif on a clock that is not related to the write address generator clock. Therefore,
It is synchronized at the output.

【1881】C.3.3.1.3 「マイクロプロセッ
サインターフェース」 ライトアドレス発生器は8ビットのデータバス及びリー
ド/ライトストローブと共に、3ビットのマイクロプロ
セッサアドレススペースを使用する。レジスタアクセス
用に1つのセレクトビットがある。
[1881] C. 3.3.1.3 "Microprocessor Interface" The write address generator uses a 3-bit microprocessor address space with an 8-bit data bus and read / write strobe. There is one select bit for register access.

【1882】C.3.3.1.4 「イベント」 ライトアドレス発生器は5個の異なるイベントを作り出
すことができる。2個はデータストリーム(hmbsと
vmbs)に現れるピクチャサイズ情報に答え、3個は
DEFINE SAMPLINGトークン(各成分のた
めに1イベント)に答える。
[1882] C. 3.3.1.4 "Event" The write address generator can generate 5 different events. Two respond to the picture size information appearing in the data stream (hmbs and vmbs) and three respond to the DEFINE SAMPLING token (one event for each component).

【1883】C.3.3.2 「基本構造」 ライトアドレス発生器の構造を概略図waddrge
n.schに示す。それはデータパス、幾つかの制御ロ
ジック、及びスノーパと同期化から成る。
[1883] C. 3.3.2 “Basic structure” Schematic diagram of the structure of the write address generator
n. Shown on sch. It consists of a data path, some control logic, and snowpapers and synchronization.

【1884】C.3.3.2.1 「データパス(bw
adpath)」 データパスは本文書のC.5章において説明したタイプ
のものであり、18ビットのアダー/サブトラクター、
及びレジスタファイル(C.3.3.4を参照)から成
り、制御ロジックにおいて使用するため(アダーの出力
に基づく)ゼロフラグを作り出す。
[1884] C. 3.3.2.1 “Data path (bw
datapath is the C. 18-bit adder / subtractor of the type described in Chapter 5,
And a register file (see C.3.3.4) to produce a zero flag (based on the output of the adder) for use in the control logic.

【1885】C.3.3.2.2 「制御ロジック」 本発明の制御ロジックはレジスタファイルロード及びド
ライブ信号、アダー制御信号、2線式インターフェース
信号の全てを発生させるため、ハーデウェアで構成さ
れ、更に書き込み可能制御レジスタを含む。
[1885] C. 3.3.2.2 "Control Logic" The control logic of the present invention is configured by hardware to generate all register file load and drive signals, adder control signals, and two-wire interface signals, and a writable control register. including.

【1886】 C.3.3.2.3 「スノーパ及び同期化」 スーパースノーパがデータとアドレスポートの両方に存
在する。データパス内のスノーパはzcellsからの
スノーパとして制御される。アドレスはライトアドレス
発生器クロックとdramifのclk様式との間で同
期化を持つ。Syncifsは2線式インターフェース
信号用のzcellsにおいて使用され、簡略化された
シンクロナイザーがアドレス用のデータパスにおいて使
用される。
[1868] 3.3.2.3 “Snowpa and Sync” Supersnowpa exists on both data and address ports. Snowpas in the datapath are controlled as snowpas from zcells. The address has synchronization between the write address generator clock and the dramif clk format. Syncifs are used in zcells for 2-wire interface signals, and a simplified synchronizer is used in the datapath for addresses.

【1887】C.3.3.3 「制御ロジック及びステ
ートマシーン」 C.3.3.3.1 「入力/出力ブロック(wa i
nout)」 このブロックは(トークンデコード用の)入力データ用
ラッチ及び(4つの方法でデコーディングするための)
アライバルバッファインデックスと共に、入力と2つの
出力の2線式インターフェースを含む。
[1887] C. 3.3.3 “Control logic and state machine” C.I. 3.3.3.1 “Input / output block (wa i
nout) ”This block is a latch for input data (for token decoding) and (for decoding in four ways)
Includes an input and two output 2-wire interface with arrival buffer index.

【1888】C.3.3.3.2 「2つのサイクル制
御ブロック(wa fc)」 フラグfc(最初のサイクル)がここに維持され、ステ
ートマシーンが2サイクルオペレーション(つまり、加
算を含むオペレーション)の中間にあるかどうかを指示
する。
[1888] C. 3.3.3.2 "Two Cycle Control Blocks (wa fc)" Flag fc (first cycle) is maintained here and is the state machine in the middle of a two cycle operation (ie an operation involving an add)? Instruct me.

【1889】C.3.3.3.3 「成分カウント(w
a comp)」 別のアドレスが各成分内のデータブロックのために必要
とされ、このブロックは入力ストリームにおいて受け取
られるデータヘッダのタイプに基づいて考慮中の現在の
成分を維持する。
[1889] C. 3.3.3.3 “Component count (w
a comp) "Another address is required for the data block within each component, which keeps the current component under consideration based on the type of data header received in the input stream.

【1890】C.3.3.3.4 「モジュロ−3制御
(wa mod3)」 H.261データストリーム用のアドレスシーケンスを
発生させる時、スクリーンに沿って半分までマクロブロ
ックの3つのローをカウントする必要がある(C.3.
2を参照)。これはマクロブロックの新しいローが巡視
される度に増分されるモジュロ−3カウンタを維持する
ことによって達成される。
[1890] C. 3.3.3.4 "Modulo-3 control (wa mod3)" When generating an address sequence for a H.261 data stream, it is necessary to count three rows of macroblocks up to half along the screen (C.3.
2). This is accomplished by maintaining a modulo-3 counter that is incremented each time a new row of macroblocks is traversed.

【1891】C.3.3.3.5 「制御レジスタ(w
a uregs)」 モジュールwa uregsはステップアップレジスタ
及びコーディングスタンダードレジスタを含み、後者は
データストリームからロードされる。セットアップレジ
スタは3ビット:QCIF(1sb)と、データストリ
ーム内で予測される最大量の成分(ビット1及び2)を
使用する。更に、アクセスビットはこのブロックにあり
(いつものように同期化され)、「ストップド」ビット
はアクセスビット及びイベントストップビットのORと
して、階層(walogic)の次の上のレベルにおい
て引き出される。マイクロプロセッサアドレスデコーデ
ィングは、リード及びライトストローブ、セレクトワイ
ヤ、及びアドレスバスの低い方の2ビットを取るブロッ
クwa udecによって行われる。
[1891] C. 3.3.3.5 “Control register (w
a uregs) ”module wa uregs includes step-up registers and coding standard registers, the latter being loaded from the data stream. The setup register uses 3 bits: QCIF (1sb) and the maximum amount of components expected in the data stream (bits 1 and 2). In addition, the access bits are in this block (synchronized as usual) and the "stopped" bit is extracted as the OR of the access bit and the event stop bit at the next higher level of the logic. Microprocessor address decoding is performed by the block wa dec which takes the lower 2 bits of the read and write strobes, the select wire and the address bus.

【1892】C.3.3.3.6 「制御ステートマシ
ーン(wa state)」 このブロック内のロジックは幾つかの別個のエリアに分
けられる。ステートデコード、新しいステートエンコー
ド、「中間」ロジック信号の起源、データパス制御信号
(drivea、driveb、load、アダー制御
及びセレクト信号)、乗算器制御、2線式インターフェ
ース制御、及び5つのイベント信号である。
[1892] C. 3.3.3.6 "Control state machine" The logic within this block is divided into several distinct areas. State decode, new state encode, origin of "intermediate" logic signals, datapath control signals (drive, drive, load, adder control and select signals), multiplier control, 2-wire interface control, and 5 event signals. .

【1893】C.3.3.3.7 「イベント発生」 5つのイベントビットは入力に達する特定のトークンの
結果として発生される。重要なことは、各々の場合に、
イベントサービスルーチンが新しく受け取ったバリュー
に基づいて計算を行うので、イベントが発生される前に
全トークンが受け取られることである。このため、各々
のビットはイベントハードウェアに入力される前に全サ
イクルによって遅延される。
[1893] C. 3.3.3.7 "Event Occurrence" Five event bits are generated as a result of the particular token reaching the input. What is important is that in each case,
All tokens will be received before the event is fired, as the event service routine will calculate based on the newly received value. Because of this, each bit is delayed by the full cycle before entering the event hardware.

【1894】 C.3.3.4 「レジスタアドレスマップ」 ライトアドレス発生器ブロックには2セットのレジスタ
がある。これらは標準のセルセクションに置かれるトッ
プレベルのセットアップタイプのレジスタであり、キー
ホールデータパスレジスタである。これらを表245及
び表246〜表256に各々リストアップする。
[1894] 3.3.4 “Register Address Map” There are two sets of registers in the write address generator block. These are the top-level setup type registers located in the standard cell section, the keyhole datapath registers. These are listed in Table 245 and Tables 246 to 256, respectively.

【1895】[1895]

【表245】 [Table 245]

【1896】[1896]

【表246】 [Table 246]

【1897】[1897]

【表247】 [Table 247]

【1898】[1898]

【表248】 [Table 248]

【1899】[1899]

【表249】 [Table 249]

【1900】[1900]

【表250】 [Table 250]

【1901】[1901]

【表251】 [Table 251]

【1902】[1902]

【表252】 [Table 252]

【1903】[1903]

【表253】 [Table 253]

【1904】[1904]

【表254】 [Table 254]

【1905】[1905]

【表255】 [Table 255]

【1906】[1906]

【表256】 キーホールレジスタは広く2つの範疇に分かれる。それ
は、アドレス計算の前にピクチャサイズパラメータをロ
ードしなければならないものと、様々な(水平及び垂直
の)ブロック及びマクロブロックカウントの現在の合計
を含むものである。ピクチャサイズパラメータはライト
アドレス発生器により発生される割り込みに答えてロー
ドされ得る、つまり、ピクチャサイズまたはサンプリン
グトークンのいずれかがデータストリームに現れる時に
ロードされ得る。あるいは、ピクチャサイズがデータス
トリームを受け取る前に知られている場合、リセット後
にそれらを書き込むことができる。セットアップの例を
セクションC.13に記すが、ピクチャサイズパラメー
タレジスタについては次のセクションにおいて定義す
る。
[Table 256] Keyhole registers are broadly divided into two categories. It contains the picture size parameter that must be loaded before address calculation and the running sum of various (horizontal and vertical) block and macroblock counts. The picture size parameter may be loaded in response to an interrupt generated by the write address generator, that is, when either the picture size or the sampling token appears in the data stream. Alternatively, if the picture size is known before receiving the data stream, they can be written after reset. Setup example Section C. As described in 13, the picture size parameter register is defined in the next section.

【1907】C.3.4 「ライトアドレス発生器のプ
ログラミング」 次のデータパスレジスタは、アドレス計算が進行される
前に、正しいピクチャサイズ情報を含んでいなければな
らない。それらを図171に図示する。
[1907] C. 3.4 "Programming the Write Address Generator" The next datapath register must contain the correct picture size information before the address calculation can proceed. They are shown in FIG. 171.

【1908】1)WADDR HALF WIDTH
IN BLOCKS:これはブロックにおいて、入って
くるピクチャの半分の幅を定義する。
[1908] 1) WADDR HALF WIDTH
IN BLOCKS: This defines the width, in blocks, of half the incoming picture.

【1909】2)WADDR MBS WIDE:これ
はマクロブロックにおいて、入ってくるピクチャの幅を
定義する。
2) WADDR MBS WIDE: This defines the width of the incoming picture in macroblocks.

【1910】3)WADDR MBS HIGH:これ
はマクロブロックにおいて、入ってくるピクチャの高さ
を定義する。
3) WADDR MBS HIGH: This defines the height of the incoming picture in the macroblock.

【1911】4)WADDR LAST MB IN
ROW:これはマクロブロックの1つの全幅のローにお
ける最後のマクロブロックの左上位のブロックのブロッ
ク数を定義する。ブロックナンバリングは左端のマクロ
ブロックの左上コーナーの0からスタートし、フレーム
を横切って各ブロック毎に増加し、マクロブロックロー
内の次のブロック・ローへと続く。
[1911] 4) WADDR LAST MB IN
ROW: This defines the number of blocks in the upper left block of the last macroblock in one full width row of the macroblock. Block numbering starts at 0 in the upper left corner of the leftmost macroblock, increments for each block across the frame, and continues to the next block row within the macroblock row.

【1912】5)WADDR LAST MB IN
HALF ROW:これは前のアイテムと同様である
が、マクロブロックの半幅のローにおける最後のマクロ
ブロックの左上位のブロックのブロック数を定義する。
[1912] 5) WADDR LAST MB IN
HALF ROW: This is similar to the previous item, but defines the block number of the block to the left of the last macroblock in the halfwidth row of the macroblock.

【1913】6)WADDR LAST ROW IN
MB:これはマクロブロックのロー内の最後のブロッ
クのローにおける左端のブロックのブロック数を定義す
る。 7)WADDR BLOCKS PER MB RO
W:これはマクロブロックの1つの全幅のローに含まれ
る全ブロック数を定義する。
[1913] 6) WADDR LAST ROW IN
MB: This defines the block number of the leftmost block in the row of the last block within the row of macroblocks. 7) WADDR BLOCKS PER MB RO
W: This defines the total number of blocks contained in one full width row of the macroblock.

【1914】8)WADDR LAST MB RO
W:これはピクチャ内のマクロブロックの最後のローに
おける左端のマクロブロックの左上位のブロックアドレ
スを定義する。
[1914] 8) WADDR LAST MB RO
W: This defines the upper left block address of the leftmost macroblock in the last row of macroblocks in the picture.

【1915】9)WADDR HBS:これは入ってく
るピクチャのブロックの幅を定義する。
919) WADDR HBS: This defines the width of the block of incoming pictures.

【1916】10)WADDR MAXHB:これは1
つのマクロブロック内のブロックのローにおける右端の
ブロックのブロック数を定義する。
[1916] 10) WADDR MAXHB: This is 1
Defines the block number of the rightmost block in a row of blocks within one macroblock.

【1917】11)WADDR MAXVB:これはブ
ロックにおける、1つのマクロブロックの高さ−1を定
義する。
11) WADDR MAXVB: This defines the height-1 of one macroblock in the block.

【1918】それに加えて、DRAMの組織を定義する
レジスタをプログラムしなければならない。これらのレ
ジスタは3バッファベースのレジスタ、及びn成分オフ
セットレジスタであり、この場合、nはデータストリー
ムにおいて予測される成分数である(それはデータスト
リームにおいて定義することができ、1最小限及び3最
大限であり得る)。
In addition to that, the registers that define the organization of the DRAM must be programmed. These registers are 3 buffer based registers, and n component offset registers, where n is the expected number of components in the data stream (it can be defined in the data stream, 1 min and 3 max). Can be the limit).

【1919】多くのパラメータがブロック数もしくはブ
ロックアドレスを指定することに注意。これは最終アド
レスがブロックアドレスであると予測され、計算は累積
アルゴリズムに基づくからである。
[1919] Note that many parameters specify the number of blocks or block addresses. This is because the final address is expected to be a block address and the calculation is based on a cumulative algorithm.

【1920】図171に図示するスクリーン構成は次の
レジスタバリューを生じる: 1)WADDR HALF WIDTH IN BLO
CKS=0x16 2)WADDR MBS WIDE=0x16 3)WADDR MBS HIGH=0x12 4)WADDR LAST MB IN ROW=0x
2A 5)WADDR LAST MB IN HALF R
OW=0x14 6)WADDR LAST ROW IN MB=0x
2C 7)WADDR BLOCKS PER MB ROW
=0x58 8)WADDR LAST MB ROW=0x5D8 9)WADDR HBS=0x2C 10)WADDR MAXVB=1 11)WADDR KAXHB=1 C.3.5 ステートマシーンのオペレーション バッファマネージャのステートマシーンには19のステ
ートがあり、詳細は表257、表258に記す。これら
は図173に示すように、また行動解説、bmlogi
c.Mにおいて説明するように相互作用する。
The screen configuration illustrated in Figure 171 yields the following register values: 1) WADDR HALF WIDTH IN BLO
CKS = 0x16 2) WADDR MBS WIDE = 0x16 3) WADDR MBS HIGH = 0x12 4) WADDR LAST MB IN ROW = 0x
2A 5) WADDR LAST MB IN HALF R
OW = 0x14 6) WADDR LAST ROW IN MB = 0x
2C 7) WADDR BLOCKS PER MB ROW
= 0x58 8) WADDR LAST MB ROW = 0x5D8 9) WADDR HBS = 0x2C 10) WADDR MAXVB = 1 11) WADDR KAXHB = 1 C.I. 3.5 State Machine Operations There are 19 states in the buffer manager state machine, details of which are given in Tables 257 and 258. These are as shown in FIG. 173.
c. Interact as described in M.

【1921】[1921]

【表257】 [Table 257]

【1922】[1922]

【表258】 C.3.5.1 「アドレスの計算」 ライトアドレス発生器ステートマシーンの主セクション
については、図173の左側に図示している。データト
ークンを受け取ると、ステートマシーンはステートID
LEからステートADDR1に、そして順にステートA
DDR5へと移動し、そこから2線式インターフェース
の制御で18ビットのブロックアドレスを出力する。ス
テートADDR1〜ADDR5により遂行される計算は
以下の通りである: BU WADDR SCRATCH=BU BUFFE
Rn BASE+BU COMPm OFFSET; BU WADDR SCRATCH=BU WADDR
SCRATCH+BU WADDR VMBADD
R; BU WADDR SCRATCH=BU WADDR
−SCRACTH+BU WADDR HMBADD
R; BU WADDR SCRATCH=BU+WADDR
SCRACTH+BU WADDR VBADDR; out addr=BU WADDR SCRACTH
+BU WADDR HB; 1)BU WADDR VMBADDR:マクロブロッ
クのローの左端のマクロブロックの(左上位のブロッ
ク)ブロックアドレス、そこにアドレスが計算されるブ
ロックが含まれる。
[Table 258] C. 3.5.1 Address Calculation The main section of the write address generator state machine is illustrated on the left side of FIG. Upon receipt of the data token, the state machine sends the state ID.
From LE to state ADDR1 and then state A
It moves to DDR5 and outputs an 18-bit block address from there under the control of the 2-wire interface. The calculations performed by states ADDR1 to ADDR5 are as follows: BU WADDR SCRATCH = BU BUFFE
Rn BASE + BU COMPm OFFSET; BU WADDR SCRATCH = BU WADDR
SCRATCH + BU WADDR VMBADD
R; BU WADDR SCRATCH = BU WADDR
-SCRACTH + BU WADDR HMBADD
R; BU WADDR SCRATCH = BU + WADDR
SCRACTH + BU WADDR VBADDR; out addr = BU WADDR SCRACTH
+ BU WADDR HB; 1) BU WADDR VMBADDR: The block address of the leftmost macroblock of the macroblock row (upper left block), which contains the block whose address is calculated.

【1923】2)BU WADDR HMBADDR:
マクロブロックのカラムの上位マクロブロックの(左上
位のブロック)ブロックアドレス、そこにアドレスが計
算されるブロックが含まれる。
2192) BU WADDR HMBADDR:
The block address of the upper macroblock (upper left block) of the column of the macroblock, and the block whose address is calculated are included therein.

【1924】3)BU WADDR VBADDR:ブ
ロックのローの左端の、マクロブロックロー内のブロッ
クアドレス、そこにアドレスが計算されるブロックが含
まれる。
3) BU WADDR VBADDR: The block address within the macroblock row at the left end of the row of the block, which contains the block whose address is calculated.

【1925】4)BU WADDR HB:アドレスが
計算されるブロックの、マクロブロック内の水平ブロッ
ク数。
4) BU WADDR HB: The number of horizontal blocks in the macroblock of the block whose address is calculated.

【1926】5)BU WADDR SCRATCH:
中間結果の一時的記憶のために使用されるスクラッチレ
ジスタ。
[1926] 5) BU WADDR SCRATCH:
A scratch register used for temporary storage of intermediate results.

【1927】図172を考慮し、例えば、そのアドレス
が0x62Dであるブロックの計算を取り上げると、以
下の計算シーケンスが発生する: スクラッチ=BUFFERn BASE+COMPm
OFFSET;(0と仮定) スクラッチ=0+0x5D8; スクラッチ=0x5D8+0x28; スクラッチ=0x600+0x2C; ブロックアドレス=0x62C+1=0x62D; 様々なレジスタの内容を図に示す。
Considering FIG. 172, for example, taking the calculation of a block whose address is 0x62D, the following calculation sequence occurs: scratch = BUFFERn BASE + COMPm.
OFFSET; (assumed to be 0) Scratch = 0 + 0x5D8; Scratch = 0x5D8 + 0x28; Scratch = 0x600 + 0x2C; Block address = 0x62C + 1 = 0x62D; The contents of various registers are shown in the figure.

【1928】C.3.5.2 「新しいスクリーンロケ
ーションパラメータの計算」 アドレスが出力されたら、ステートマシーンは上記の様
々なスクリーンロケーションパラメータを更新するため
に計算を実行し続ける。ステートHB及びMB0〜MB
6が計算を行い、あるポイントにおいてステートデータ
に制御を伝送し、ステートデータからデータトークンの
残りが出力される。
[1928] C. 3.5.2 Calculate New Screen Location Parameter When the address is output, the state machine continues to perform calculations to update the various screen location parameters above. State HB and MB0-MB
6 performs the calculation and at some point transfers control to the state data, which outputs the rest of the data token.

【1929】これらのステートはペアで進行し、第1の
ペアは現在のカウントとその終末値との差を計算し、0
フラグを発生させる。第2のペアはレジスタをリセット
するか、あるいは(スクリーンサイズから引き出される
セットアップレジスタにおけるバリューに基づいて)固
定オフセットを加算する。いずれの場合にも、考慮中の
カウントがその終末値に達すると(つまり、0フラグが
設定されると)、制御はステートのMBシーケンスを下
方へと続ける。そうでなければ、全てのカウントは正し
い(次のアドレス計算の準備が整っている)とみなさ
れ、制御はステートデータを伝送する。
[1945] These states progress in pairs, the first pair calculates the difference between the current count and its ending value, and
Generate a flag. The second pair either resets the register or adds a fixed offset (based on the value in the setup register derived from the screen size). In either case, when the count under consideration reaches its terminal value (ie, the 0 flag is set), control continues down the MB sequence of states. Otherwise all counts are considered correct (ready for the next address calculation) and the control transmits state data.

【1930】加算もしくは減算の使用を含む全てのステ
ートは、完了するため(標準のリップル・キャリアダー
の使用を許す)2つのサイクルを取り、これはアダーベ
ースのステートのために1と0の間で交替するフラグ、
fc(最初のサイクル)の使用により達成される。
All states, including the use of additions or subtractions, take two cycles (allowing the use of the standard ripple carrier) to complete, which is between 1 and 0 for adder-based states. Flag to be replaced by,
This is achieved by using fc (first cycle).

【1931】アドレス計算及びスクリーンロケーション
計算ステートの全てが、好ましい2線式インターフェー
ス条件を仮定して、データが出力されるようにする。
All of the address calculation and screen location calculation states allow the data to be output assuming the preferred 2-wire interface conditions.

【1932】C.3.5.2.1 「規格用の計算
(MPEG−スタイル)シーケンス」 オペレーションのシーケンスは以下の通りである(0フ
ラグはアダーの出力に基づく): ステートHB及びMB0: スクラッチ=hb−maxhb; if (z) hb=0; else { hb=hb + 1 new state=DATA; } ステートMB1及びMB2: スクラッチ=vb addr−last row in mb; if (z) vb addr=0; else { vb addr=vb addr + width in blocks; new state=DATA; } ステートMB3及びMB4: スクラッチ=hmb addr−last mb in row; if (z) hmb addr=0; else { hmb addr=hmb addr + maxhb; new state=DATA; } ステートMB5及びMB6: スクラッチ=vmb addr−last mb row; if (!z) vmb addr=vmb addr + blocks per mb row; (vmb addrは、ピクチャエンドが計算から推論
される時より、ピクチャスタートトークンが検出された
後に、リセットされる。) C.3.5.2.2 「H.261用計算シーケンス」 H.261計算用シーケンスはステートMB4における
標準シーケンスから分岐する: ステートHB及びMB0:上記の通り ステートHB1及びMB2:上記の通り ステートHB3及びMB4: スクラッチ=hmb addr−last mb in row; if(z&(mod3==2))/*end of slice on right of screen*/ { hmb addr=0; new state=MB5; } else if(z)/*end of row on right of screen*/ { hmb addr=half width in blocks; new state=MB4A; } else { スクラッチ=hmb addr −last mb in half row; new state=MB4B; } ステートMB4A: vmb addr=vmb addr + blocks per mb row; new state=DATA; ステート(MB4)及びMB4B: (scratch=hmb addr −last mb in half row;) if(z&(mod3==2))/*end of slice on left of screen*/ { hmb addr=hmb addr + maxhb; new state=MB4C; } else if(z) /*end of row on left of screen*/ { hmb addr=0; new state=MB4A; } else { hmb addr=hmb addr + maxhb; new state=DATA; } ステートMB4C及びMB4D: vmb addr=vmb addr −blocks per mb row; vmb addr=vmb addr −blocks per mb row; new state=DATA; ステートMB5及びMB6:上記の通り C.3.5.3 「ピクチャスタートトークン上のオペ
レーション」 ピクチャスタートトークンを受け取ると、制御はステー
トPIC ST1にに進み、そこでvb addrレジ
スタ(BU WADDR VBADDR)が0にリセッ
トされる。ステートPIC ST2及びPIC ST3
の各々が各成分のために一度づつ巡視され、hmb a
ddrとvmb addrを各々リセットする。次に制
御はステートOUTPUT TAILを介してIDLE
に戻る。 C.3.5.4 「DEFINE SAMPLINGト
ークン上のオペレーション」 DEFINE SAMPLINGトークンを受け取る
と、成分レジスタには最も重要でない2ビットの入力デ
ータがロードされる。それに加えて、ステートHSAM
P及びVSAMPを介して、その成分用のmaxhbレ
ジスタ及びmaxvbレジスタがロードされる。更に、
適切な定義サンプリングイベントビットがトリガーされ
る(全トークンが書き込まれるようにするため1サイク
ルだけ遅延される)。
[1932] C. 3.5.2.1 “Calculations for standards
(MPEG-style) sequence ”The sequence of operations is as follows (0 flag is based on the output of the adder): State HB and MB0: scratch = hb-maxhb; if (z) hb = 0; else {hb = hb + 1 new state = DATA;} states MB1 and MB2: scratch = vb addr-last row in mb; if (z) vb addr = 0; else {vb addr = vb addr; width in new blocks; } States MB3 and MB4: scratch = hmb addr-last mb in row; if (z) hmb addr = 0; else {hmb addr = hmb addr + maxhb; new state = DATA } State MB5 and MB6: scratch = vmb addr-last mb row; if (! Z) vmb addr = vmb addr + blocks per mb row; (vmb addr is the picture start from the time when the picture end is inferred from the calculation. Reset after token is detected.) C. 3.5.2.2 "Calculation sequence for H.261" The H.261 calculation sequence branches from the standard sequence in state MB4: states HB and MB0: as described above states HB1 and MB2: as described states HB3 and MB4: scratch = hmb addr-last mb in row; if (z & (mod3). == 2)) / * end of slice on right of screen * / {hmb addr = 0; new state = MB5;} else if (z) / * end of row on rainbow = adh = * in blocks; new state = MB4A;} else {scratch = hmb addr-last mb in half row; new state = MB4B;} state MB4A: v b addr = vmb addr + blocks per mb row; new state = DATA; state (MB4) and MB4B: (scratch = hmb addr-last mb in half row;) if (z & (mod3 = d) == 2) slice on left of screen * / {hmb addr = hmb addr + maxhb; new state = MB4C;} else if (z) / * end of row on left; else {hmb addr = hmb addr + maxhb; new state = DATA;} State MB4C and MB4D: vmb addr = vmb addr-blocks er mb row; vmb addr = vmb addr -blocks per mb row; new state = DATA; state MB5 and MB6: as above C. 3.5.3 "Operation on Picture Start Token" Upon receipt of the picture start token, control proceeds to state PIC ST1 where the vb addr register (BU WADDR VBADDR) is reset. State PIC ST2 and PIC ST3
Each is visited once for each component, hmb a
Reset ddr and vmb addr respectively. Control then passes through state OUTPUT TAIL to IDLE
Return to. C. 3.5.4 Operation on DEFINE SAMPLING Token Upon receipt of a DEFINE SAMPLING token, the component register is loaded with the least significant 2 bits of input data. In addition to that, State HSAM
The maxhb and maxvb registers for that component are loaded via P and VSAMP. Furthermore,
Appropriately defined sampling event bits are triggered (delayed by one cycle to ensure that all tokens are written).

【1933】C.3.5.5 「HORIZONTAL
MBS及びVERTICAL MBS上のオペレーシ
ョン」 HORIZONTAL MBS及びVERTICAL
MBSの各々が到着すると、トークンに含まれる14ビ
ットバリューが2つのサイクルで適切なレジスタに書き
込まれる。関連イベントビットがトリガーされ、1サイ
クル分遅延される。
[1933] C. 3.5.5 "HORIZONTAL
Operation on MBS and VERTICAL MBS "HORIZONTAL MBS and VERTICAL
When each MBS arrives, the 14-bit value contained in the token is written to the appropriate register in two cycles. The related event bit is triggered and delayed by one cycle.

【1934】C.3.5.6 「他のトークン」 コーディングスタンダードトークンが検出され、トップ
レベルのBU WADDR COD STDレジスタに
入力データが書き込まれるようにする。これがデコード
され、(H261ではなく)nh261フラグがバッフ
ァマネージャブロックにハードワイヤードされる。他の
全てのトークンが制御をステートOUTPUT TAI
Lに動かし、トークンが完了するまでそのステートがデ
ータをアクセプトする。しかしながら、それは如何なる
データも実際には出力しないことに注意。
[1934] C. 3.5.6 "Other Tokens" Coding standard tokens are detected and the input data is written to the top level BU WADDR COD STD register. This is decoded and the nh261 flag (rather than H261) is hardwired into the buffer manager block. All other tokens are in control of the state OUTPUT TAI
Move L and the state accepts data until the token is complete. However, note that it does not actually output any data.

【1935】 セクションC.4 「リードアドレス発生器」 C.4.1 「展望」 本発明のリードアドレス発生器は4つのステートマシー
ン/データパスブロックから成る。まず、dlineが
ラインアドレスを発生させ、それらを他の3つの(各成
分用に1つづつの)同じページ/ブロックアドレス発生
器、dramctlsに分配する。全てのブロックは2
線式インターフェースによってつながれる。オペレーシ
ョンモードは飛び越し/順送り型、最初のフィールド上
位/下位、及び上位/下位/両方のフレームスタートの
全ての組合せを含む。表259、表260はdispa
dr制御レジスタの名前、アドレス、及びリセットステ
ートを示し、セクションC.13において両アドレス発
生器用のプログラミングの例を示す。
[1935] Section C. 4 "Read Address Generator" C.I. 4.1 "View" The read address generator of the present invention consists of four state machine / datapath blocks. First, the dline generates line addresses and distributes them to the other three (one for each component) same page / block address generator, dracctls. All blocks are 2
Connected by wire interface. The operation modes include interlaced / forward, first field upper / lower, and all combinations of upper / lower / both frame start. Tables 259 and 260 are dispa
dr control register name, address, and reset state are shown in Section C. In 13 an example of programming for both address generators is given.

【1936】 C.4.2 「ラインアドレス発生器(dline)」 このブロックは各成分のためにラインアドレス発生器を
計算する。表259、表260はdlineにおける1
8ビットのデータパスレジスタを示す。
[1936] C.I. 4.2 "Line Address Generator (dline)" This block calculates the line address generator for each component. Tables 259 and 260 show 1 in dline.
An 8-bit data path register is shown.

【1937】DISP register name及
びADDR register name DISP
nameレジスタの区別はdispaddrのみにおい
てであり、DRAMから読み出される表示エリアに対し
てそのレジスタが特別であることを意味する。ADDR
nameはそのレジスタが外部バッファの構造に関す
る何かを説明することを意味する。
[1937] DISP register name and ADDR register name DISP
The name register is distinguished only in dispaddr, which means that the register is special for the display area read from the DRAM. ADDR
name means that the register describes something about the structure of the external buffer.

【1938】オペレーション リピート等の全てのモードを無視する、dlineの基
本的オペレーションは: if (vsync start)/*first active cycle of vsync*/ { comp=0 DISP VB CNT COMP[comp]=0; LINE[comp]=BUFFER BASE[comp]+0; LINE[comp]=LINE[comp] +DISP COMP OFFSET[comp]; while (VB CNT COMP[comp] <DISP VBS COMP[comp]) { while (line count[comp]<8) { { while (comp<3) { →OUTPUT LINE[comp] to dramctl[comp] line[comp]=LINE[comp] +ADDR HBS COMP[comp]; comp=comp+1; } line count[comp]=line count[comp] +1; } VB CNT COMP[comp]=VB CNT COMP[comp] +1; line count[comp]==0; } }
Operation [1938] The basic operation of dline, ignoring all modes such as repeat, is: if (vsync start) / * first active cycle of vsync * / {comp = 0 DISP VB CNT COMP [comp] = 0; LINE. [Comp] = BUFFER BASE [comp] +0; LINE [comp] = LINE [comp] + DISP COMP OFFSET [comp]; while (VB CNT COMP [comp] <DISP VBS COMP [comp]) {while (line count) ] <8) {{while (comp <3) {→ OUTPUT LINE [comp] to dramctl [comp] line [comp] = LINE [ comp] + ADDR HBS COMP [comp]; comp = comp + 1;} line count [comp] = line count [comp] +1;} VB CNT COMP [comp] = VB CNT COMP [comp] +1; line count [comp] == 0;}}

【1939】[1939]

【表259】 [Table 259]

【1940】[1940]

【表260】 C.4.3 「Dline制御レジスタ」 上記オペレーションは下記の表に示すdispaddr
制御レジスタにより修正される。
[Table 260] C. 4.3 "Dline Control Register" The above operation is performed by the dispaddr shown in the table below.
It is modified by the control register.

【1941】[1941]

【表261】 C.4.3.1 「LINES IN LAST RO
W[成分]」 これら3つのレジスタは、各成分のために、読まれるこ
とになっているブロックの最後のローの中のライン数を
決定する。このように、リードウインドーの高さは任意
のライン数であってよい。ウインドーの上端、左端及び
右端がブロック境界上にあり、出力コントローラが余分
なラインをクリップする(捨てる)ことができるので、
これはバックアップの特徴である。
[Table 261] C. 4.3.1 "LINES IN LAST RO
W [component] These three registers determine for each component the number of lines in the last row of the block to be read. Thus, the height of the lead window may be any number of lines. Since the top, left and right edges of the window are on the block boundaries and the output controller can clip (discard) extra lines,
This is a backup feature.

【1942】 C.4.3.2 「DISPADDR ACCESS」 これはdispaddr全体のためのアクセスビットで
ある。このロケーションに「1」を書き込むと、dis
paddrがクロックに同期して停止される。このステ
ートに達すると、全てのdispaddrレジスタに対
する非同期upiアクセスを遂行しても安全である。ア
クセスビットが「1」になるまで、upiがデータパス
レジスタから能動的に締め出されることに注意。現在の
表示またはデータパスオペレーションを崩壊させること
なくdispaddrに対するアクセスを達成するため
に、アクセスは以下の状況下でのみ与えられ、リリース
される。
[1942] C. 4.3.2 "DISPDDR ACCESS" This is an access bit for the entire dispaddr. If you write "1" to this location, dis
The paddr is stopped in synchronization with the clock. Once this state is reached, it is safe to perform an asynchronous upi access to all dispaddr registers. Note that upi is actively locked out of the datapath register until the access bit is '1'. To achieve access to dispaddr without disrupting the current display or datapath operations, access is granted and released only under the following circumstances:

【1943】ストッピング:データパスがその現在の2
サイクルオペレーションを完了した場合(1回のオペレ
ーションを行った場合)、そして出力コントローラから
の「安全」信号が高い場合にのみアクセスが認められる
であろう。この信号は表示ウインドの下のスクリーン上
のエリアを表し、出力コントローラ(dispaddr
ではない)においてプログラムされる。従って、dis
paddrに対するアクセスを得ようとする前に、出力
コントローラをプログラムすることが必要であることに
注意。
[1943] Stopping: Data path is currently 2
Access will only be granted if the cycle operation has been completed (one operation has been performed) and if the "safe" signal from the output controller is high. This signal represents the area on the screen below the display window and is used by the output controller (dispaddr).
Is not programmed). Therefore, dis
Note that it is necessary to program the output controller before trying to gain access to paddr.

【1944】スターティング・アクセスは「安全性」が
高い時、もしくはvsyncの間にのみリリースされる
であろう。これは表示が活性ウインドーにあまりに近付
いてスタートしないことを保証する。
[1945] Starting Access will only be released when "safe" or high during vsync. This ensures that the display does not start too close to the active window.

【1945】このスキームは制御ソフトウェアがアクセ
ス、ディスプレイ・エンドまで登録、dispaddr
を修正、及びアクセスをリリース等をリクエストできる
ようにする。ソフトウェアがあまりに遅く、vsync
の後までアクセスビットをリリースしない場合、dis
paddrは次の安全な期間までスタートしないであろ
う。ボーダーカラーは(がらくたというよりむしろ)こ
の「失われた」ピクチャの間に表示されるであろう。 C.4.3.3 「DISPADDR CTLO[7:
0]」 以下の説明を読む際に、飛び越しデータと飛び越し表示
の間の区別を理解することが重要である。
[1945] This scheme is accessed by the control software, registered up to the display end, and dispaddr
Modify, and access can be requested to be released. The software is too slow, vsync
If the access bit is not released until after
paddr will not start until the next safe period. Border color will be displayed during this "lost" picture (rather than junk). C. 4.3.3 “DISPDDR CTLO [7:
0] ”When reading the description below, it is important to understand the distinction between interlaced data and interlaced display.

【1946】飛び越しデータには2つの形態があり得
る。トップレベルレジスタはフィールド・ピクチャ(各
々のバッファが1つのフィールドを含む)とフレーム
(飛び越されていようとなかろうと、各々のバッファが
全体のフレームを含む)を支持する。
[1946] There may be two forms of interlace data. The top-level registers support field pictures (each buffer contains one field) and frames (each buffer contains the entire frame, whether interlaced or not).

【1947】DISPADDR CTL0[7:0]は
以下の制御ビットを含む: SYNC MODE[1:0] 飛び越し表示では、トップからボトムフィールドに言及
するvsyncsはfield infoピンによって
区別される。このような状況では、fieldinfo
=HIGHがトップフィールドを意味する。これら2つ
の制御ビットが、どのvsyncs dispaddr
がバッファマネージャから新しいディスプレイバッファ
をリクエストするかを決定し、こうして(データが飛び
越された場合)バッファ内のフィールドをディスプレイ
上のフィールドと同期化する: 0:トップフィールド上の新しいディスプレイバッファ 1:ボトムフィールド 2:両フィールド 3:両フィールド スタートアップ時に、dispaddrはあらゆるvs
ync上のバッファマネージャからバッファを要請する
であろう。バッファが準備できるまで、dispadd
rは0(ノーディスプレイ)バッファを受け取るであろ
う。最終的に良いバッファインデックスを受け取ると、
dispaddrはそれがディスプレイ上のどこにある
かに関して何の知識も持っていない。従って、ディスプ
レイスタートアップを正しいvsyncと同期させる必
要があるかもしれない。
DISPADDR CTL0 [7: 0] contain the following control bits: SYNC MODE [1: 0] In interlaced display, the vsyncs that refer to the top-to-bottom field are distinguished by the field info pin. In such a situation, fieldinfo
= HIGH means the top field. These two control bits indicate which vsyncs dispaddr
Determines whether to request a new display buffer from the buffer manager, thus synchronizing the fields in the buffer (when data is skipped) with the fields on the display: 0: new display buffer on top field 1: Bottom field 2: Both fields 3: Both fields At startup, dispaddr is any vs
Will request a buffer from the buffer manager on ync. Until the buffer is ready, dispadd
r will receive a 0 (no display) buffer. When finally receiving a good buffer index,
dispaddr has no knowledge of where it is on the display. Therefore, it may be necessary to synchronize the display startup with the correct vsync.

【1948】READ START スタートアップ時の飛び越し表示のために、このビット
はどのvsyncディスプレイ上で実際スタートするか
を決定する。更に、ディスプレイバッファインデックス
を受け取った後、dispaddrはディスプレイ上の
フィールドをバッファ内のフィールドと整列させるため
に、現在のvsyncを「居残らせ」てもよい。
[1948] READ START For interlaced display at startup, this bit determines which vsync display actually starts. Further, after receiving the display buffer index, dispaddr may "leave out" the current vsync to align the fields on the display with the fields in the buffer.

【1949】 INTERLACED/PROGRESSIVE 0:Progressive(順送り型) 1:Interlaced(飛び越し) 順送りモードでは、全てのラインがバッファのディスプ
レイエリアから読まれる。飛び越しモードでは、交互の
ラインが読まれる。リーディングが最初のラインからス
タートするか、二番目のラインからスタートするかはf
ield info次第である。(飛び越し)フィール
ド・ピクチャでは、システムが各バッファからの全ての
ラインを読みたいと望むので、このビットのセッティン
グは順送り型であろうということに注意。field
infoと第1/第2のライン間のマッピングはlsb
invert(歴史的な理由からそう名付けられた)
により反転されてもよい。
INTERLACED / PROGRESSIVE 0: Progressive 1: Interlaced In progressive mode, all lines are read from the display area of the buffer. In interlaced mode, alternating lines are read. Whether reading starts from the first line or the second line f
It depends on the field info. Note that for (interlaced) field pictures, the setting of this bit will be progressive, as the system wants to read all the lines from each buffer. field
The mapping between info and the first / second line is lsb
invert (so named for historical reasons)
May be reversed by.

【1950】LSB INVERT 設定されると、このビットはラインカウンタによって見
られるfield info信号を反転する。このよう
に、リーディングはフレームの正しいライン上でスター
トされ、エンコーダ、ディスプレイ、またはトップレベ
ルレジスタが採用する規定に関わりなく、ディスプレイ
に整列させられてもよい。
[1950] LSB INVERT When set, this bit inverts the field info signal seen by the line counter. In this way, readings may start on the correct line of the frame and be aligned to the display regardless of the convention adopted by the encoder, display, or top-level register.

【1951】LINE RPT[2:0] 設定されると、各々のビットは対応する成分のラインを
二度読ませる(ビット0が成分0に影響を与える等)。
これは垂直のアンサンプリングの最初の部分を形成す
る。それはQFIFから601への変換のために要求さ
れる8回の色アンサンプリングに使用される。
LINE RPT [2: 0] When set, each bit causes the line of the corresponding component to be read twice (bit 0 affects component 0, etc.).
This forms the first part of the vertical unsampling. It is used for the eight color unsamplings required for the QFIF to 601 conversion.

【1952】COMPOHOLD このビットは成分1及び2のライン数に対する、成分0
のため(表示されるものに対立するものとして)読まれ
るライン数の比率をプログラムするために使用される。
[1952] COMPOHOLD This bit corresponds to the number of lines of components 1 and 2 and component 0.
Used to program the ratio of the number of lines read (as opposed to what is displayed).

【1953】0:同じライン数、つまりバッファ内の
4:4:4のデータ 1:成分0ラインの二倍、つまり4:2:0。
0: The same number of lines, that is, data of 4: 4: 4 in the buffer 1: Double of 0 line of component, that is, 4: 2: 0.

【1954】 ページ/ブロックアドレス発生器(dramctls) ラインアドレスを通過する時、これらのブロックは一連
のページ/ラインアドレス、及びラインに沿って読むべ
きブロックを発生させる。8ブロックの最低ページ幅が
常に仮定され、結果的に生じる出力はページアドレス、
3ビットライン数、3ビットブロックスタート、及び3
ビットブロックストップアドレスで構成される。(ライ
ン数はdlineによって計算され、無修正のdram
ctlsを通して送られる。)このように、ライン5の
48ピクセルを読み取ることは、左から3番目のブロッ
ク(任意のラインに沿った任意のポイント)から始まる
ページ0xaaを形成し、DRAMインターフェースに
送られるアドレスは以下の通りであろう: ページ =0xaa ライン =5 ブロック・スタート=2 ブロック・ストップ=7 これら3つのマシーンの各々は5個のデータパスレジス
タを持つ。これらを表259、表260に示す。各dr
amct1の基本行動は以下の通りである: ブロック・スタート=2 ブロック・ストップ=7 これら3つのマシーンの各々は5個のデータパスレジス
タを持つ。これらを表259、表260に示す。各dr
amct1の基本行動は以下の通りである: while (true) { CNT LEFT=0; GET A NEW LINE ADDRESS from dline; BLOCK ADDR=input block addr+0; PAGE ADDR=input page addr+0; CNT LEFT=DISP HBS+0; while (CNT LEFT>BLOCKS LEFT) { BLOCKS LEFT=8−BLOCK ADDR; →output PAGE ADDR, start=BLOCK ADDR , stop=7. PAGE ADDR=PAGE ADDR+1; BLOCK ADDR=0; CNT LEFT=CNT LEFT−BLOCKS LEFT: } /*Last Page of line*/ CNT LEFT=CNT LEFT+BLOCK ADDR; CNT LEFT=CNT LEFT−1; → output PAGE ADDR, start=BLOCK ADDR, stop=CNT LEFT }
Page / Block Address Generators (dracmtls) When passing line addresses, these blocks generate a series of page / line addresses and blocks to read along the line. A minimum page width of 8 blocks is always assumed and the resulting output is the page address,
3 bit line number, 3 bit block start, and 3
It consists of a bit block stop address. (The number of lines is calculated by dline.
sent through ctls. ) Thus, reading 48 pixels on line 5 forms page 0xaa starting from the third block from the left (any point along any line), and the address sent to the DRAM interface is: Would be: page = 0xaa line = 5 block start = 2 block stop = 7 Each of these three machines has 5 datapath registers. These are shown in Table 259 and Table 260. Each dr
The basic behavior of amct1 is as follows: Block Start = 2 Block Stop = 7 Each of these three machines has five datapath registers. These are shown in Table 259 and Table 260. Each dr
The basic behavior of amct1 is as follows: while (true) {CNT LEFT = 0; GET A NEW LINE ADDRESS from dline; (CNT LEFT> BLOCKS LEFT) {BLOCKS LEFT = 8−BLOCK ADDR; → output PAGE ADDR, start = BLOCK ADDR, stop = 7. PAGE ADDR = PAGE ADDR + 1; BLOCK ADDR = 0; CNT LEFT = CNT LEFT-BLOCKS LEFT:} / * Last Page of line * / CNT LEFT = CNT LEFT + BLOCK ADDR; CNT LEFT = CNT LEFT-1; → output PAGE ADDR, start = BLOCK ADDR, stop = CNT LEFT}

【1955】[1955]

【表262】 [Table 262]

【1956】[1956]

【表263】 プログラミング 次の15のdispaddrレジスタはオペレーション
を開始する前にプログラムされなければならない。
[Table 263] Programming The next fifteen dispaddr registers must be programmed before initiating an operation.

【1957】 BUFFER BASE0,1,2 DISP COMP OFFSET0,1,2 DISP VBS COMP0,1,2 ADDR HBS COMP0,1,2 DISP COMP0,1,2 HBS dispaddr制御レジスタのリセットステートの使
用は、4:2nの飛び越しディスプレイを与え、ライン
リピートは同期化されず、トップフィールド(fiel
d info=HIGH)でスタートするであろう。図
168、「SIF(22x18のマクロブロック)ピク
チャを含むバッファ0」は典型的なSIFピクチャ用の
バッファセットアップを示す。(この例については、
C.13章で詳細に説明する)。この例において、DI
SP HBS COMPnはADDR HBS COM
Pnに等しく、同様に垂直のレジスタDISP VBS
COMPn及び等価ライトアドレス発生器レジスタが等
しい、つまり、読まれるべきエリアは全バッファである
ことに注意。
BUFFER BASE0,1,2 DISP COMP OFFSET0,1,2 DISP VBS COMP0,1,2 ADDR HBS COMP0,1,2 DISP COMP0,1,2 The use of the reset state of the HBS dispaddr control register is 4: 2n. Interlaced display, line repeats are not synchronized, and the top field (field
d info = HIGH). FIG. 168, “Buffer 0 with SIF (22 × 18 macroblock) picture” shows a buffer setup for a typical SIF picture. (For this example,
C. Details will be given in Chapter 13.) In this example, DI
SP HBS COMPn is ADDR HBS COM
Pn, also a vertical register DISP VBS
Note that COMPn and Equivalent Write Address Generator registers are equal, that is, the area to be read is the entire buffer.

【1958】 リードアドレス発生器を用いてのウインドー処理 バッファの一部(ウインドー)のみを読むようにdis
paddrをプログラムすることが可能である。ウイン
ドーのサイズは、レジスタDISP HBS、DISP
VBS、COMPONENT OFFSET、及びL
INES INLAST ROWにより各成分のために
プログラムされる。図169、「ディスプレイウインド
ーを備えたSIF成分0」は、これが如何にして(成分
0だけのために)達成されるかを示している。
[1958] Window processing using read address generator Disabling only part of the buffer (window) to be read
It is possible to program the paddr. The size of the window is the register DISP HBS, DISP
VBS, COMPONENT OFFSET, and L
Program for each component by INES INLAST ROW. Figure 169, "SIF component 0 with display window," shows how this is achieved (for component 0 only).

【1959】この例では、レジスタセッティングは以下
の通りであろう: BUFFER BASE0=0x00 DISP COMP OFFSET0=0x2D DISP VBS COMP0=0x22 ADDR HBS COMP0=0x2C DISP HBS COMP0=0x2A 注: ・ウインドーはブロック境界上でのみスタート及びスト
ップできる。本例では、7に等しいLINES IN
LAST ROWを残した(全てが8であることを意味
する)。
In this example, the register settings would be: BUFFER BASE0 = 0x00 DISP COMP OFFSET0 = 0x2D DISP VBS COMP0 = 0x22 ADDR HBS COMP0 = 0x2C DISP HBS COMP0 = 0x2A. You can only start and stop. In this example, LINES IN equal to 7
Remaining LAST ROW (meaning all 8's).

【1960】・本例は4:4:4のデータ以外のもので
は実用的ではない。調和するために、他の2つの成分の
ためのウインドーエッジはブロック境界上に存在するこ
とができないであろう。
[1960] This example is not practical for data other than 4: 4: 4. To be in harmony, window edges for the other two components would not be able to lie on block boundaries.

【1961】・色空間変換はそれが受け取るデータが
4:4:4ではない場合に停止するであろう。これはこ
れらのリードウインドーがアンサンプラと共に、これを
達成するようにプログラムされなければならないことを
意味する。 セクションC.5 「アドレス発生用のデータパス」 dispaddr及びwaddrgenにおいて使用さ
れるデータパスは構造及び幅(18ビット)が同じであ
り、レジスタ数、ある種のマスキング、及びステートマ
シーンに戻されるフラグが異なるだけである。1スライ
スの回路を図174、「データパスのスライス」に示
す。レジスタは唯一ドライブAまたはBバスに指定さ
れ、それらはコントローラにおいて最大限活用されて、
使用(指定)される。全てのレジスタはCバスからロー
ド可能であるが、全ての「ロード」信号が駆動されるわ
けではない。アダーを含む全てのオペレーションはアダ
ーに通常の波及的桁上げを持たせる2つのサイクルをカ
バーする。図175、「データパスの2サイクルオペレ
ーション」において、Aバスレジスタにロードバックさ
れる2個のレジスタの2個のサイクルの合計に対するタ
イミングを示す。様々なフラグがccode発生を可能
にするために、データパス内でph0化される。同じ理
由から、データパス概略図の構造は少しばかり異常であ
る。(A及びBバス上への)全てのレジスタ用のトライ
ステートは、セル内の結合パスを除去する1つのブロッ
クにおいてであるので、より良いccode発生を可能
にする。データパスに対するupiアクセスを得るため
に、アクセスビットはこれがなければupiがロックア
ウトされるように設定されなければならない。Upiア
クセスはリード及びライトとは異なる: ・ライティング:アクセスビットが設定されると、全て
のロード信号は不能化され、一連の3バイトアドレスド
ライトストローブの1つがレジスタの1つの適切なバイ
トに動かされる。Upiデータバスはデータパスを垂直
に進み(複写される、2−8−8ビット)、18ビット
レジスタが3個の別のバイトライトとして書き込まれ
る。
The color space conversion will stop if the data it receives is not 4: 4: 4. This means that these lead windows, along with the ensampler, must be programmed to achieve this. Section C. 5 “Data Path for Address Generation” The data paths used in dispaddr and waddrgen have the same structure and width (18 bits), but differ only in the number of registers, some masking, and the flags returned to the state machine. is there. A circuit for one slice is shown in FIG. 174, “Slice of data path”. Registers are only assigned to drive A or B buses, which are optimized in the controller,
Used (specified). All registers can be loaded from the C bus, but not all "load" signals are driven. All operations, including adders, cover the two cycles that allow adders to have normal ripple carry. FIG. 175, "Two Cycle Operation of Data Path", shows the timing for the sum of the two cycles of the two registers loaded back into the A bus register. Various flags are ph0'd in the datapath to allow ccode generation. For the same reason, the structure of the datapath schematic is a bit unusual. The tristates for all registers (on the A and B buses) allow for better ccode generation because they are in one block that removes the coupling paths within the cell. To get upi access to the datapath, the access bit must be set so that the upi would otherwise be locked out. Upi access is different from read and write: • Writing: When the access bit is set, all load signals are disabled and one of a series of 3 byte addressed write strobes is moved to one appropriate byte of the register. . The Upi data bus travels vertically through the data path (copied, 2-8-8 bits) and the 18-bit register is written as three separate byte writes.

【1962】・リーディング:これはA及びBバスを使
用して行われる。ここでも、アクセスビットが設定され
なければならない。アドレスレジスタはAまたはBバス
上に動かされ、upiバイトセレクトが関連バスからバ
イトを取り上げ、それをupiバス上へと動かす。
Reading: This is done using the A and B buses. Again, the access bit must be set. The address register is moved on the A or B bus and the upi byte select picks a byte from the associated bus and moves it onto the upi bus.

【1963】ダブルサイクルデータパスオペレーション
がA及びBバスにそれらの値を保持するように要求し、
upiアクセスがこれらを崩壊させるので、アクセスは
いずれかのデータパスオペレーションのスタート前に、
ステートマシーンを制御することによってのみ与えられ
なければならない。
[1963] Double cycle datapath operations require the A and B buses to hold their values,
Before the start of any datapath operation, the access is
It must be given only by controlling the state machine.

【1964】両アドレス発生器内の全てのデータパスレ
ジスタは、トップレベルアドレス0x28(msb)の
9ビット幅のキーホールを通して、キーホール用には0
x29(lsb)であり、データ用には0x2Aを通し
てアドレスされる。キーホールアドレスを表282〜表
300に示す。
All data path registers in both address generators pass through a 9-bit wide keyhole of top level address 0x28 (msb) and 0 for the keyhole.
x29 (lsb) and is addressed through 0x2A for data. The keyhole addresses are shown in Tables 282-300.

【1965】注: 1)アドレス発生器(dispaddrとwaddrg
en)内の全てのアドレスレジスタはブロック化アドレ
スを包含する。ピクセルアドレスは決して使用されず、
ラインアドレスを包含する唯一のレジスタは、3個のL
INES INLAST ROWレジスタである。
[1965] Note: 1) Address generators (dispaddr and waddrg)
All address registers in en) contain blocked addresses. Pixel addresses are never used,
The only register that contains the line address is 3 L
INES INLAST ROW register.

【1966】2)幾つかのレジスタはアドレス発生器間
で重複される、例えば、BUFFER BASE0はd
ispaddrとwaddrgen用のアドレススペー
スにおいて発生する。これらは両方共ローディングを必
要とする2個の別々のレジスタである。これにより、表
示ウインドー処理(表示記憶装置の一部だけを読む)が
可能となり、3成分ビデオ以外のフォーマット表示が容
易になる。
2) Some registers are duplicated between address generators, eg BUFFER BASE0 is d
Occurs in the address space for ispaddr and waddrgen. These are two separate registers, both of which require loading. This allows display window processing (reading only part of the display storage) and facilitates display of formats other than three component video.

【1967】セクションC.6 「DRAMインターフ
ェース」 C.6.1 「展望」 本発明においては、空間デコーダ、時間デコーダ、及び
ビデオフォーマッティング部がその特別なチップのため
に各々データトークンブロックを含む。3個全ての装置
において、DRAMインターフェースの機能はチップか
ら外部DRAMへ、そして外部DRAMからチップへ
と、アドレス発生器により供給されるブロックアドレス
を介してデータを伝送することである。
[1967] Section C. 6 “DRAM interface” C.I. 6.1 "Perspective" In the present invention, the spatial decoder, the temporal decoder, and the video formatting unit each include a data token block for that particular chip. In all three devices, the function of the DRAM interface is to transfer data from the chip to the external DRAM and from the external DRAM to the chip via the block address provided by the address generator.

【1968】DRAMインターフェースは典型的に、ア
ドレス発生器に対して、そしてそれを通してデータが送
られる様々なブロックのクロックに対して、非同期的で
あるクロックから操作する。しかしながら、この非同期
性はクロックがほぼ同じ周波数で操作するので、容易に
処理される。
The DRAM interface typically operates from a clock that is asynchronous to the address generator and to the clocks of the various blocks through which data is sent. However, this asynchrony is easily handled because the clocks operate at about the same frequency.

【1969】データは通常DRAMインターフェースと
64バイトのブロック内の残りのチップとの間で伝送さ
れる(唯一の例外は時間デコーダ内の予測データであ
る)。伝送は「スイングバッファ」として知られる装置
によって行われる。これは本質的にダブルバッファされ
た配置で操作される一対のRAMであり、DRAMイン
ターフェースが1つのRAMを詰めるか空にしている間
に、チップの他の部分が他のRAMを空にするか詰めて
いる。アドレス発生器からアドレスを運ぶ別のバスが各
々のスイングバッファと連合する。
Data is normally transferred between the DRAM interface and the rest of the chips in a block of 64 bytes (the only exception being the predictive data in the temporal decoder). The transmission is done by a device known as a "swing buffer". This is essentially a pair of RAMs operated in a double-buffered arrangement, whether the DRAM interface packs or empties one RAM while another part of the chip empties the other RAM. I'm packing. Another bus carrying the address from the address generator is associated with each swing buffer.

【1970】各々のチップは4つのスイングバッファを
持つが、これらのスイングバッファの機能は各々の場合
により異なる。空間デコーダにおいて、コード化データ
をDRAMに伝送するために1つのスイングバッファが
使用され、DRAMからコード化データを読むために別
のスイングバッファが使用され、トークン化データをD
RAMに伝送するために3番目のスイングバッファが、
またDRAMからトークン化データを読むために4番目
のスイングバッファが使用される。時間デコーダにおい
ては、イントラもしくは予測されたピクチャデータをD
RAMに書き込むために1つのスイングバッファが使用
され、DRAMからイントラもしくは予測されたピクチ
ャデータを読むために2番目のスイングバッファが使用
され、他の2つはフォワード及びバックワード予測デー
タを読むために使用される。ビデオフォーマッティング
部においては、1つのスイングバッファがDRAMにデ
ータを伝送するために使用され、他の3つがDRAMか
らデータを読むために使用されるが、それは各々輝度
(Y)、及び赤と青の色差データ(各々Cr及びCb)
である。
[1970] Each chip has four swing buffers, but the functions of these swing buffers differ in each case. In the spatial decoder, one swing buffer is used to transfer the coded data to the DRAM, another swing buffer is used to read the coded data from the DRAM, and the tokenized data is D
The third swing buffer for transmitting to RAM,
A fourth swing buffer is also used to read the tokenized data from DRAM. In the temporal decoder, the intra or predicted picture data is D
One swing buffer is used to write to RAM, a second swing buffer is used to read intra or predicted picture data from DRAM, and the other two are used to read forward and backward prediction data. used. In the video formatting section, one swing buffer is used to transfer data to the DRAM and the other three are used to read data from the DRAM, which are luminance (Y) and red and blue respectively. Color difference data (Cr and Cb respectively)
Is.

【1971】DRAMインターフェースの一般的な特徴
のオペレーションについては、空間デコーダー文書にお
いて記載している。次のセクションは本発明によるDR
AMインターフェースの特徴、特にビデオフォーマッテ
ィング部に特有の特徴について説明する。
The operation of the general features of the DRAM interface is described in the Spatial Decoder Document. The next section is the DR according to the invention.
The characteristics of the AM interface, especially the characteristics unique to the video formatting section will be described.

【1972】C.6.2 「ビデオフォーマッティング
部DRAMインターフェース」 ビデオフォーマッティング部において、データはブロッ
クで外部DRAMに書き込まれるが、ラスターオーダー
で読み出される。ライティングは空間デコーダに関して
既に説明したことと正確に同じであるが、リーディング
は少々複雑である。
[1972] C. 6.2 "Video Formatting Unit DRAM Interface" In the video formatting unit, data is written in blocks to the external DRAM, but is read in raster order. The lighting is exactly the same as that already described for the spatial decoder, but the reading is a bit more complicated.

【1973】ビデオフォーマッティング部外部RAM内
のデータは少なくとも8ブロックのデータが1ページに
収まるように組織化される。これら8ブロックは8個の
連続的な水平ブロックである。ラスター化する際に、8
個の連続ブロックの各々から8バイトを読み出し、それ
をスイングバッファに書き込む(つまり、8ブロックの
各々に同じロー)ことが必要である。
[1973] Video Formatting Unit The data in the external RAM is organized so that at least 8 blocks of data fit on one page. These 8 blocks are 8 consecutive horizontal blocks. 8 when rasterizing
It is necessary to read 8 bytes from each of the contiguous blocks and write it to the swing buffer (ie the same row for each of the 8 blocks).

【1974】トップフローを考えてみる(そしてバイト
幅のインターフェースを仮定する)と、xアドレス(3
LSB)が0に設定され、yアドレス(3MSB)も同
様である。xアドレスは次に、最初の8バイトの各々が
読み出されるにつれて増分される。この時点で、アドレ
スの上位部分(ビット6以上−LSB=ビット0)が増
分され、xアドレス(3LSB)は0にリセットされ
る。このプロセスは64バイトが読み出されるまで繰り
返される。外部DRAMに対する16または32ビット
幅のインターフェースでは、xアドレスは1の代わりに
2または4だけ単に増分される。
[1974] Considering the top flow (and assuming a byte wide interface), the x address (3
LSB) is set to 0, and so is the y address (3MSB). The x-address is then incremented as each of the first 8 bytes is read. At this point, the upper part of the address (bit 6 and above-LSB = bit 0) is incremented and the x-address (3 LSB) is reset to zero. This process is repeated until 64 bytes have been read. For a 16 or 32 bit wide interface to external DRAM, the x address is simply incremented by 2 or 4 instead of 1.

【1975】アドレス発生器は8バイトの倍数が常に読
まれるが、64以下のバイトが読まれるべきである(こ
れはラスターラインの始まりまたは終わりにおいて要求
される)という信号をDRAMインターフェースに送る
ことができる。これはスタート及びストップバリューを
使用して行われる。スタートバリューはアドレスの上位
部分(6ビット以上)のために使用され、ストップバリ
ューがこれと比較され、リーディングをストップすべき
であることを指示する信号が発せられる。
The address generator can signal the DRAM interface that multiples of 8 bytes are always read, but no more than 64 bytes should be read (this is required at the beginning or end of the raster line). it can. This is done using start and stop values. The start value is used for the upper part (6 bits or more) of the address, the stop value is compared with this, and a signal is issued indicating that the reading should be stopped.

【1976】 セクションC.7 「垂直アップサンプリング」 C.7.1 「序文」 1つの色成分のピクセルのラスタースキャンがその入力
にあるとすれば、本発明による垂直アンサンプラは高さ
の2倍の出力スキャンを提供することができる。モード
セレクションにより、出力ピクセルバリューを多くの方
法で形成することができる。
[1976] Section C. 7. “Vertical Upsampling” C.I. 7.1 "Introduction" Given a raster scan of pixels of one color component at its input, a vertical ensampler according to the invention can provide an output scan of twice the height. With mode selection, the output pixel value can be formed in many ways.

【1977】C.7.2 「ポート」 入力2線式インターフェース: ・in valid ・in accept ・in data[7:0] ・in lastpel ・in lastline 出力2線式インターフェース: ・out valid ・out accept ・out data[9:0] ・out last mode[2:0] nupdata[7:0]、upaddr、upsel
[3:0]、uprstr、upwstr ramtest tdin、tdout、tph0、tckm、tcks ph0、ph1、notrst0 C.7.3 「モード」 入力バスモード[2:0]により選択。
[1977] C.I. 7.2 "Port" Input 2-wire interface: -in valid-in accept-in data [7: 0] -in lastpel-in lastline Output 2-wire interface: -out valid-out accept-out data [9: 0] -out last mode [2: 0] nupdata [7: 0], upaddr, upsel
[3: 0], upstrstr, upwstr ramtest tdin, tdout, tph0, tckm, tcks ph0, ph1, notrst0 C.I. 7.3 “Mode” Selectable according to the input bus mode [2: 0].

【1978】モードレジスタバリュー1及び7は使用さ
れない。
[1978] Mode register values 1 and 7 are not used.

【1979】上記モードの各々において、出力ピクセル
は10ビットバリューとして表示され、バイトとしては
表示されない。ラウンディングもしくは打ち切りはこの
ブロックでは行われない。必要に応じて、バリューは同
じ範囲を使用するために左にシフトされる。
In each of the above modes, the output pixel is displayed as a 10-bit value, not as a byte. No rounding or censoring is done in this block. If necessary, the value is shifted left to use the same range.

【1980】C.7.3.1 「モード0:Fifo」 ブロックは単にFIFO記憶装置として作用する。出力
ピクセル数は入力ピクセル数と全く同じである。バリュ
ーは2だけ左にシフトされる。
[1980] C. 7.3.1 The "Mode 0: Fifo" block simply acts as a FIFO storage device. The number of output pixels is exactly the same as the number of input pixels. The value is shifted left by 2.

【1981】 C.7.3.2 「モード2:Repeat」 入力スキャン内のあらゆるラインは高さの2倍の出力ス
キャンを作るために繰り返される。ここでも、ピクセル
バリューは2だけ左にシフトされる。
[1981] C.I. 7.3.2 "Mode 2: Repeat" Every line in the input scan is repeated to make an output scan of twice the height. Again, the pixel value is shifted left by 2.

【1982】A→ABACBDBCCDD C.7.3.3 「モード4:Lower」 各入力ラインは2つの出力ラインを作り出す。この「下
位」モードでは、これら2つのラインの2番目のもの
(ディスプレイ上の下の方)が入力ラインと同じであ
る。ペアの最初のものは現在の入力ラインと前の入力ラ
インの平均である。前のラインが使用されていない場合
の最初の入力ラインの場合、入力ラインが繰り返され
る。
[1982] A → ABACBDB CCDD C.I. 7.3.3 “Mode 4: Lower” Each input line produces two output lines. In this "lower" mode, the second of these two lines (lower on the display) is the same as the input line. The first of the pair is the average of the current and previous input lines. The input line is repeated for the first input line if the previous line was not used.

【1983】これは彩度サンプルが下位輝度サンプルと
共に配置される場所を選択すべきである。
[1983] This should select where the chroma samples are located with the sub-luminance samples.

【1984】A→ABAC(A+B)/2DB(B+
C)/2C(C+D)/2D C.7.3.4 「モード5:Upper」 「下位」モードと同様であるが、この場合入力ラインは
出力ペアの上位を形成し、下位は隣接する入力ラインの
平均である。最後の出力ラインは最後の入力ラインの繰
り返しである。
[1984] A → ABAC (A + B) / 2DB (B +
C) / 2C (C + D) / 2D C.I. 7.3.4 "Mode 5: Upper" Similar to "Lower" mode, but in this case the input lines form the upper part of the output pair and the lower part is the average of the adjacent input lines. The last output line is a repeat of the last input line.

【1985】これは彩度サンプルが上位輝度サンプルと
共に配置される場所を選択すべきである。
[1985] This should select where the chroma samples are placed with the upper luma samples.

【1986】A→AB(A+B)/2CBD(B+C)
/2C(C+D)/2DD C.7.3.5 「モード6:Central」 この「中央」モードは彩度サンプルが輝度サンプルとの
中間にある状況に対応する。出力彩度ピクセルを輝度ピ
クセルと共に配置するために、重み付き平均を使用して
出力ラインを形成する。
[1986] A → AB (A + B) / 2CBD (B + C)
/ 2C (C + D) / 2DD C.I. 7.3.5 "Mode 6: Central" This "center" mode corresponds to the situation where the chroma sample is in the middle of the luma sample. A weighted average is used to form the output line for placing the output chroma pixels with the luma pixels.

【1987】A→ AB(3A+B)/4C(A+3
B)/4D(3B+C)/4(B+3C)/4
(3C+D)/4(C+3D)/4D C.7.4 「作用の仕方」 想像上aとbで指定される2つのラインストアがある。
FIFO及びrepeatモードでは、ラインストアa
だけが使用される。各ストアは512ピクセルまでのラ
インを収容できる(垂直アップサンプリングは水平アッ
プサンプリングの前に行われるべきである)。FIFO
モードにはラインの長さに関する制約がない。
[1987] A → AB (3A + B) / 4C (A + 3
B) / 4D (3B + C) / 4 (B + 3C) / 4
(3C + D) / 4 (C + 3D) / 4D C.I. 7.4 "Method of operation" There are two line stores that are imaginarily designated by a and b.
In FIFO and repeat mode, line store a
Only used. Each store can accommodate lines up to 512 pixels (vertical upsampling should be done before horizontal upsampling). FIFO
The mode has no line length restrictions.

【1988】in lastpel及びin last
line内の入力信号は、入力ラインの終わりとピクチ
ャの終わりを指示するために使用される。in las
tpelにおいては、入力信号は各ラインの最後のピク
セルと強く一致すべきである。in lastline
においては、入力信号はピクチャの最後のラインの最後
のピクセルと強く一致すべきである。
[1988] in lastpel and in last
The input signal in the line is used to indicate the end of the input line and the end of the picture. in las
At tpel, the input signal should strongly match the last pixel in each line. in lastline
In, the input signal should strongly coincide with the last pixel of the last line of the picture.

【1989】出力信号out lastは各出力ライン
の最後のピクセルと強く一致する。repeatモード
では、各ラインはストアaに書き込まれる。ラインは次
に2度読み出される。2度目に読み出される時、次のラ
インの書き込みをスタートしてもよい。
The output signal out last strongly matches the last pixel of each output line. In repeat mode, each line is written to store a. The line is then read twice. When reading the second time, writing of the next line may be started.

【1990】lower、upper及びcentra
lモードでは、ラインはストアa及びbに交互に書き込
まれる。ピクチャの最初のラインは常にストアaに書き
込まれる。2個の小さなステートマシーン、各ストア用
に1つづつ、が各々のストアに何があるか、そしてどの
出力ラインが形成されているかを記憶する。これらのス
テートからリードとライトのリクエスト、及び次のライ
ンをいつ現在のデータにオーバーライトするかを決定す
る信号がラインストアRAMに発せられる。
[1990] lower, upper, and centra
In l mode, lines are written alternately to stores a and b. The first line of the picture is always written to store a. Two small state machines, one for each store, store what is in each store and which output lines are formed. From these states, read and write requests, and signals that determine when to overwrite the next line with the current data are issued to the line store RAM.

【1991】in lastpelが高い時、レジスタ
(lastaddr)がライトアドレスを記憶し、それ
によって、出力ラインの形成のためにライン長を提供す
る。 C.7.5 「UPI」 このブロックは2個の512x8ビットのRAMアレイ
を含み、それは典型的な方法でマイクロプロセッサイン
ターフェースを介してアクセスされ得る。マイクロプロ
セッサアクセスを持つレジスタはない。
[1991] When in lastpel is high, a register (lastaddr) stores the write address, thereby providing the line length for the formation of the output line. C. 7.5 "UPI" This block contains two 512x8 bit RAM arrays, which can be accessed via the microprocessor interface in a typical manner. No registers have microprocessor access.

【1992】 セクションC.8 「水平アップ・サンプラ」 C.8.1 「展望」 本発明においては、トップレベルレジスタは、各色成分
のために1つづつ、3個の同じ水平アップ・サンプラを
具備する。3個全ては別々に制御されるので、1つだけ
についてここで説明する。ユーザーの観点から、唯一の
違いは各水平アップ・サンプラがメモリーマップ内の異
なるアドレスセットにマップされることである。
[1992] Section C. 8 “Horizontal Up Sampler” C.I. 8.1 "View" In the present invention, the top level register comprises three identical horizontal up-samplers, one for each color component. All three are controlled separately, so only one will be described here. From the user's perspective, the only difference is that each horizontal upsampler is mapped to a different set of addresses in the memory map.

【1993】水平アップ・サンプラは複製とフィルタリ
ングを組み合わせたオペレーションを遂行する。全てに
おいて、4つのオペレーションモードがある。
[1993] The horizontal up sampler performs an operation that combines duplication and filtering. In all, there are four modes of operation.

【1994】[1994]

【表264】 C.8.2 「水平アップ・サンプラの使用」 各水平アップ・サンプラ用のアドレスマップは12個の
13ビット係数レジスタと1個の2ビットモードレジス
タに対応する25のロケーションから構成される。モー
ドレジスタに書き込まれるナンバーが、表264に概略
するように、オペレーションモードを決定する。モード
に応じて、一部または全部の係数レジスタを使用でき
る。等価FIRフィルタについて下記に説明する。
[Table 264] C. 8.2 "Use of Horizontal Up-Sampler" The address map for each horizontal up-sampler consists of 25 locations corresponding to 12 13-bit coefficient registers and 1 2-bit mode register. The number written to the mode register determines the operation mode, as outlined in Table 264. Depending on the mode, some or all coefficient registers can be used. The equivalent FIR filter will be described below.

【1995】オペレーションモードに応じて、入力、X
nは1、2、または4クロック期間の間一定に保持され
る。各モードのためにプログラムされる実際の係数は以
下の通りである:
[1995] Input, X, depending on the operation mode
n is held constant for 1, 2, or 4 clock periods. The actual coefficients programmed for each mode are:

【1996】[1996]

【表265】 [Table 265]

【1997】[1997]

【表266】 [Table 266]

【1998】[1998]

【表267】 特定のモードで使用されない係数は、そのモードで操作
する時にはプログラムする必要がない。
[Table 267] Coefficients not used in a particular mode do not need to be programmed when operating in that mode.

【1999】均整のとれたフィルタリングを行うために
各ラインの最初と最後のピクセルがフィルタリングの前
に繰り返される。例えば、2によってアップ・サンプリ
ングをする場合、各ラインの最初と最後のピクセルが2
度ではなく、4度複製される。フィルタ内の残留データ
が各ラインの終わりで捨てられるので、ピクセル数の出
力は常に正確に入力ストリーム内の数字の1倍、2倍ま
たは4倍である。
The 1999 first and last pixels of each line are repeated before filtering to provide balanced filtering. For example, when upsampling by 2, the first and last pixels of each line are 2
Not four times, but four times. Since the residual data in the filter is discarded at the end of each line, the pixel number output is always exactly one, two or four times the number in the input stream.

【2000】係数値に応じて、出力サンプルは入力サン
プルと一致して置かれるか、あるいは入力サンプルから
シフトされて置かれる。あるサンプルモードでの係数値
の幾つかの例を下記に記す。“−”は係数値が「気にし
なくてよい」であることを指示する。全ての値を16進
法で示す。
[2000] Depending on the coefficient values, the output samples are placed either coincident with the input samples or shifted from the input samples. Some examples of coefficient values in a certain sample mode are described below. "-" Indicates that the coefficient value is "don't worry." All values are shown in hexadecimal.

【2001】[2001]

【表268】 C.8.3 「水平アップ・サンプラの説明」 水平アップ・サンプラのデータパスを図177に示す。[Table 268] C. 8.3 “Description of Horizontal Up Sampler” The data path of the horizontal up sampler is shown in FIG. 177.

【2002】オペレーションは×4アップ・サンプルの
場合を取り上げ、下記に概略する。それに加えて、×2
アップ・サンプリングと×1フィルタリング(モード2
及び1)はこれの変質ケースであり、全フィルタを迂回
し(モード0)、データは図示するように、入力ラッチ
から出力ラッチへと最後のマックスを介して直接進む。
The operation takes the case of x4 up sample and is outlined below. In addition to that, × 2
Up-sampling and x1 filtering (mode 2
And 1) are degenerate cases of this, bypassing the entire filter (mode 0) and the data goes directly from the input latch to the output latch via the final mux, as shown.

【2003】 1)有効なデータが入力においてラッチされる場合 ラッチ(L)、それは4クロック期間の間保持される。1) When valid data is latched at the input Latch (L), it is held for 4 clock periods.

【2004】2)(C/OE/FFというラベルが貼ら
れた)係数レジスタは、それぞれ順番に、4個の(PI
PEというラベルが貼られた)パイプラインレジスタの
2セットがクロックされるのと同時に、1クロック期間
の間乗算器の上に多重送信される。こうして、入力デー
タXnのために、最初のPIPEにバリューc00.X
n、c01.Xn、c02.Xn、c03.Xnが詰められ
るであろう。
2) The coefficient registers (labeled C / OE / FF) each have four (PI)
At the same time that two sets of pipeline registers (labeled PE) are clocked, they are multiplexed onto the multiplier for one clock period. Thus, for the input data Xn, the value c00. X
n, c01. Xn, c02. Xn, c03. Xn will be packed.

【2005】3)同様に、第2の乗算器が順にその係数
にXnを掛け、第3の乗算器が順にその係数全てにXnを
掛けるであろう。
3) Similarly, the second multiplier will in turn multiply its coefficients by Xn, and the third multiplier will in turn multiply all its coefficients by Xn.

【2006】出力は表269に示した形態のものであろ
うことが解るであろう。
It will be appreciated that the output will be in the form shown in Table 269.

【2007】[2007]

【表269】 出力の観点から、各クロック期間は個々のピクセルを作
り出す。各出力ピクセルが12入力ピクセルの重み付き
バリューに依存するので(3つしか異なるバリューは存
在しないが)、これは×4アップ・サンプルされた入力
ピクセル上に12タップフィルタを実装するものとして
考えられる。
[Table 269] In terms of output, each clock period produces an individual pixel. Since each output pixel depends on the weighted value of 12 input pixels (though there are only 3 different values), this is considered as implementing a 12-tap filter on the x4 up-sampled input pixels. .

【2008】×2アップサンプリングにとっても、オペ
レーションは本質的に同じであるが、入力データが2ク
ロック期間の間だけ保持されることが異なる。更に、2
個だけの係数が使用され、PIPEブロックは図示した
乗算器によって短くされる。×1フィルタリング用に、
入力は1クロック期間の間だけ保持される。期待される
ように、1つの係数と1つのPIPEステージが使用さ
れる。
For x2 upsampling, the operation is essentially the same, except that the input data is held for only two clock periods. Furthermore, 2
Only one coefficient is used and the PIPE block is shortened by the multiplier shown. For x1 filtering,
The input is held only for one clock period. As expected, one coefficient and one PIPE stage is used.

【2009】次に、本発明における実装の特異性に関し
て少々説明する。
Next, the peculiarity of the mounting in the present invention will be explained a little.

【2010】1)色空間コンバータ用に設計されたよう
に、データパス幅及び係数幅(13ビットの2の補数)
が選ばれ、同じ乗算器を使用することができる。これら
の幅は水平アップ・サンプラのためにこれ以上適切なも
のはない。
1) Datapath width and coefficient width (13 bit 2's complement) as designed for the color space converter.
, And the same multiplier can be used. These widths are no more suitable for horizontal up samplers.

【2011】2)係数を乗算器上に多重送信するマルチ
プレクサは、UPIリードバックと共有される。これは
概略図の構造において(基本的にCCODE発生におけ
る困難さの故に)ある種の複雑さを導き出すが、実際の
回路はそれより小さなものである。
2) The multiplexer that multiplexes the coefficients onto the multiplier is shared with the UPI readback. This leads to some complexity in the schematic structure (basically due to the difficulty in CCODE generation), but the actual circuit is smaller.

【2012】3)色空間コンバータにおけるように、キ
ャリセーブ乗算器が使用され、その結果は終わりの時点
で分解されるだけである。
3) As in the color space converter, a carry-save multiplier is used, the result of which is only decomposed at the end.

【2013】水平アップ・サンプラ全体用の制御は、そ
の入力上にある時、入力におけるデータ量の2倍もしく
は4倍の量を作り出すことができる1つの2線式インタ
ーフェースステージと見なすことができる。UPIを介
してプラグラムされるモードが、プログラム可能シフト
レジスタ(bob)の長さを決定する。選択されるモー
ドはクロック期間毎、2クロック期間毎、あるいは4ク
ロック期間毎に出力パルスを生み出す。次にこれは主ス
テートマシーンを制御するが、そのステートは更に(2
線式インターフェース用に)in valid、out
accept、及び信号in lastによって決定
される。この信号は垂直アップ・サンプラから送られ、
各ラインの最後のピクセル用に高くなる。これは各ライ
ンの最初と最後のピクセルが2度複製されるようにし、
(ラインが完了した直後に、パイプラインが部分的に処
理された冗長データを含む)ライン間のパイプラインを
クリアする。
The control for the entire horizontal up-sampler can be viewed as a single two-wire interface stage that, when on its input, can produce twice or four times the amount of data at the input. The mode programmed via UPI determines the length of the programmable shift register (bob). The mode selected produces an output pulse every clock period, every two clock periods, or every four clock periods. This in turn controls the main state machine, but that state is further (2
In line, out (for wireline interface)
acceptance, and the signal in last. This signal comes from the vertical up sampler,
High for the last pixel in each line. This makes the first and last pixels of each line duplicated,
Clear the pipeline between lines (immediately after the line is complete, the pipeline contains partially processed redundant data).

【2014】セクションC.9 「色空間コンバータ」 C.9.1 「展望」 本発明における色空間コンバータ(CSC)は入ってく
る9ビットデータに3×3マトリックスのかけ算を行
い、その後加算を行う:
[2014] Section C. 9 “Color Space Converter” C.I. 9.1 “Perspective” The color space converter (CSC) in the present invention multiplies incoming 9-bit data by a 3 × 3 matrix and then adds:

【2015】[2015]

【数6】 x0−2が入力データである場合、y0−2が出力デー
タとなり、cnmが係数である。概略図において名前は
信号名に対応するので、マトリックス係数に関して、少
々型破りのネーミングは慎重にするべきである。
[Equation 6] When x0-2 is input data, y0-2 is output data, and cnm is a coefficient. In the schematic, names correspond to signal names, so some unconventional naming should be used with caution with respect to matrix coefficients.

【2016】CSCは多くの異なる色空間の間の変換を
実行することができるが、これらの変換の限定されたセ
ットがトップレベルレジスタにおいて使用される。デザ
イン色空間変換は以下の通りである: ER,EG,EB → Y,CR,CB R,G,B → Y,CR,CB Y,CR,CB → ER,EG,EB Y,CR,CB → R,G,B 式中、R、G及びBは範囲(0..511)内にあり、
他の全ての量は(32..470)の範囲にある。トッ
プレベルレジスタCSCに対する入力は、Y、CR、CB
であるので、これらの式の内3番目と4番目の式だけが
関連する。
Although the CSC can perform conversions between many different color spaces, a limited set of these conversions are used in the top level registers. Design color space conversion is as follows: ER, EG, EB → Y, CR, CB R, G, B → Y, CR, CB Y, CR, CB → ER, EG, EB Y, CR, CB → R, G, B where R, G and B are in the range (0.5.511),
All other quantities are in the range (32 ... 470). Inputs to the top level register CSC are Y, CR, CB.
Therefore, only the third and fourth of these equations are relevant.

【2017】CSCデザインでは、係数の精度は、9ビ
ットデータ用には、全ての出力がアルゴリズムの全浮動
小数点シミュレーションにより作られるバリューの+1
または−1ビット以内であるように選ばれた(これは達
成し得る最良の精度である)。これはcx0−cx3用
に13ビットの2の補数係数を与え、cx4用に14ビ
ットの2の補数係数を与えた。全てのデザイン変換用の
係数を下記に、10進法と6進法の両方で記す。
[2017] In the CSC design, the coefficient precision is +1 of the value that all outputs are created by full floating point simulation of the algorithm for 9-bit data.
Or chosen to be within -1 bit (this is the best accuracy that can be achieved). This gave a 13-bit two's complement coefficient for cx0-cx3 and a 14-bit two's complement coefficient for cx4. All design conversion coefficients are given below in both decimal and hexadecimal.

【2018】[2018]

【表270】 [Table 270]

【2019】[2019]

【表271】 これら全てのナンバーは以下の基本式: Y=0.299ER+0.587EG+0.0114EB そして、以下の色差式から計算される: CR=ER−Y CB=EB−Y R、G及びBにおける式はこれらの量の全範囲を考慮し
た後、これらから引き出される。
[Table 271] All these numbers have the following basic formula: Y = 0.299ER + 0.587EG + 0.0114EB and are calculated from the following color difference formulas: CR = ER-Y CB = EB-Y The formulas in R, G and B are these These are drawn after considering the full range of quantities.

【2020】C.9.2 「色空間コンバータの使用」 リセット後、c01、c12、c23が1に設定され、
他の全ての係数が0に設定される。こうして、y0=x
0、y1=x1、y2=x2、及び全てのデータが無変
更のまま送られる。色空間変換を選択するには、単に
(例えば、表270、表271からの)適当な係数をア
ドレスマップ内に指定されるロケーションに書き込むだ
けでよい。
[2020] C. 9.2 “Use of color space converter” After reset, c01, c12, and c23 are set to 1,
All other coefficients are set to zero. Thus, y0 = x
0, y1 = x1, y2 = x2, and all data is sent unchanged. To select a color space conversion, simply write the appropriate coefficient (eg, from Table 270, Table 271) to the location specified in the address map.

【2021】概略図において、x0..2はin da
ta0..2に対応し、y0..2はout data
0..2に対応する。ユーザーはCSCに対する入力デ
ータを4:4:4にアップ・サンプルしなければならな
いことを覚えておくべきである。これを怠ると、色空間
変換が何の意味も持たなくなるばかりでなく、チップも
ロックするであろう。
In the schematic diagram, x0. . 2 is in da
ta0. . 2 corresponds to y0. . 2 is out data
0. . Corresponds to 2. The user should remember that the input data to the CSC must be upsampled 4: 4: 4. Failure to do this will not only make the color space conversion make no sense, but will also lock the chip.

【2022】注意すべきことは、各々の出力が係数と入
力プラス(またはマイナス)定数の可能な組み合わせか
ら形成され得ることである。このように、所定の色空間
変換のために、出力オーダーを変換マトリックス(係数
が書き込まれるアドレス)内のローをスワッピングする
ことにより変更できる。
It should be noted that each output can be formed from a possible combination of coefficients and input plus (or minus) constants. Thus, for a given color space conversion, the output order can be modified by swapping the rows in the conversion matrix (address where the coefficients are written).

【2023】表270、表271における全ての変換の
ために、CSCが作動することは保証されている。他の
変換を用いる場合、ユーザーは以下の事項を覚えておか
ねばならない: 1)計算の中間結果が(サインビットを除き)10ビッ
ト以上の精度を要求する場合、ハードウェアは作動しな
いであろう。
For all the conversions in Table 270 and Table 271, CSC is guaranteed to work. With other transformations, the user must remember the following: 1) If the intermediate result of the calculation requires more than 10 bits of precision (excluding sign bits), the hardware will not work. .

【2024】2)CSCの出力は0と511にサチュレ
ートされる。つまり、0以下の数が0で置き換えられ、
511以上の数が511で置き換えられる。サチュレー
ションロジックの実行は、結果がわずかに511を越え
ているか、わずかに0以下であると仮定する。CSCが
不正確にプログラムされた場合、出力が常に(あるいは
ほとんどの場合)サチュレートするように見えることが
共通のきざしであろう。
2) The CSC output is saturated to 0 and 511. In other words, numbers less than or equal to 0 are replaced by 0,
Numbers 511 and above are replaced with 511. Saturation logic execution assumes that the result is just above 511 or just below 0. It would be a common sign that the output would always (or most often) appear to saturate if the CSC was programmed incorrectly.

【2025】C.9.3 「CSCの説明」 CSCの構造を図178に図示するが、スペース上の制
約から、3つの「コンポーネント」の内2つだけを示し
た。図中、「レジスタ」もしくはRはマスター・スレー
ブレジスタを示し、「ラッチ」もしくはLは透明ラッチ
を示す。
[2025] C. 9.3 “Explanation of CSC” The structure of CSC is illustrated in FIG. 178, but due to space limitations, only two of the three “components” are shown. In the figure, "register" or R indicates a master / slave register, and "latch" or L indicates a transparent latch.

【2026】全ての係数は図において明示されていない
リード・ライトUPIレジスタにロードされる。オペレ
ーションを理解するために、左端の「コンポーネント」
(出力out data0を作り出す)に関して、以下
のシーケンスを考慮する: 1)データは入力x0−2(in data0−2)に
到達する。これは入力色空間における1つのピクセルを
表す。これがラッチされる。
[2026] All coefficients are loaded into the read / write UPI registers not explicitly shown in the figure. To understand the operation, the leftmost "component"
For (producing output out data0) consider the following sequence: 1) Data arrives at input x0-2 (in data0-2). It represents a pixel in the input color space. This is latched.

【2027】2)x0にc01を掛け、最初のパイプラ
インレジスタにラッチする。x1及びx2が1つのレジ
スタ上を移動する。
2) Multiply x0 by c01 and latch it in the first pipeline register. x1 and x2 move over one register.

【2028】3)x1にc02を掛け、それを(x1.
c01)に加算し、次のパイプラインレジスタにラッチ
する。x2が1つのレジスタ上を移動する。
3) Multiply x1 by c02 and multiply it by (x1.
c01) and latched in the next pipeline register. x2 moves over one register.

【2029】4)x2にc03を掛け、それを(3)の
結果に加算し、(x1.c01+x2.c02+x3.
c03)を生み出す。その結果を次のパイプラインレジ
スタにラッチする。
4) x2 is multiplied by c03, which is added to the result of (3) to obtain (x1.c01 + x2.c02 + x3.
c03) is produced. The result is latched in the next pipeline register.

【2030】5)(4)の結果をc04に加算する。デ
ータは乗算器を通してキャリセーブフォーマットの中に
保持されているので、このアダーも乗算器チェインから
のデータを分解するために使用される。その結果を次の
パイプラインレジスタにラッチする。
5) The result of (4) is added to c04. This adder is also used to decompose the data from the multiplier chain because the data is held in carry-save format through the multiplier. The result is latched in the next pipeline register.

【2031】6)最終的なオペレーションはデータをサ
チュレートすることである。これを行うために、部分的
結果が分解アダーからサチュレートブロックに送られ
る。
6) The final operation is to saturate the data. To do this, the partial result is sent from the decomposition adder to the saturating block.

【2032】このセクションの開始時点のマトリックス
式において明記したように、その結果がy0であること
が解る。同様に、y1とy2が同じ方法で形成される。
It can be seen that the result is y0, as specified in the matrix equation at the beginning of this section. Similarly, y1 and y2 are formed in the same way.

【2033】係数を被乗数とし、データを乗数として、
3個の乗算器を使用した。これにより効率的なレイアウ
トを達成でき、部分的結果がデータパスを下り、同じ入
力データが各出力に1つづつの3つの並列する同じデー
タパスを横切って送られた。セクションC.9.2にお
いて説明したリセットステートを達成するために、3つ
の「コンポーネント」の各々を異なる方法でリセットし
なければならない。3セットの概略図と3つのわずかに
異なるレイアウトを持つことを避けるため、これはトッ
プレベルで高または低につながれるUPIレジスタに対
する入力を持つことにより達成される。
[2033] The coefficient is the multiplicand and the data is the multiplier.
Three multipliers were used. This allowed an efficient layout to be achieved, with partial results going down the datapath and the same input data being sent across three parallel parallel datapaths, one at each output. Section C. In order to achieve the reset state described in 9.2, each of the three "components" must be reset differently. To avoid having three sets of schematics and three slightly different layouts, this is accomplished by having inputs to the UPI registers tied high or low at the top level.

【2034】CSCはそれに関連する制御をほとんど持
たない。にもかかわらず、各々のパイプラインステージ
は2線式インターフェースステージであるので、それら
の関連制御(in accept=out accep
t r+lin validr)を持つ有効ラッチ及び
アクセプトラッチのチェインがある。従って、CSCは
5ステージの深さの2線式インターフェースであり、ス
トールされた場合10レベルのデータを保持することが
できる。
The CSC has little control associated with it. Nevertheless, since each pipeline stage is a two-wire interface stage, their associated control (in accept = out accept
There is a chain of valid latches and accept latches with tr + lin validr). Thus, the CSC is a five stage deep, two wire interface that can hold 10 levels of data when stalled.

【2035】出力パイプに於ける次の機能が異なるクロ
ック発生器から外れるので、CSCの出力は再同期化ラ
ッチを含む。
[2035] The output of the CSC includes a resynchronization latch, as the next function in the output pipe deviates from the different clock generator.

【2036】 セクション C.10 「出力コントローラ」 C.10.1 「序文」 本発明による出力コントローラは以下の機能を果たす: ・3モードの1つにおいてデータを提供する ・24ビット 4:4:4 ・16ビット 4:2:2 ・8ビット 4:2:2 ・vsyncとhsyncパルスにより、またプログラ
ムされたタイミングレジスタにより定義されるビデオ表
示ウインドーにデータを整列させる ・必要に応じて、ビデオウインドーのまわりのボーダー
を加える C.10.2 「ポート」 入力2線式インターフェース: ・in valid ・in accept ・in data[23:0] 出力2線式インターフェース: ・out valid ・out accept ・out data[23:0] ・out active ・out window ・out comp[1:0] in vsync、in hsync nupdata[7:0]、upaddr[4:0]、
upsel、rstr、wstr、tdin、tdou
t、tph0、tckm、tcks chiptes
t、ph0、ph1、notrst0、notrst1 C.10.3 「アウトモード」 出力のフォーマットはopmodeレジスタに書き込む
ことにより、選択される。
[2036] Section C. 10 “Output controller” C.I. 10.1 "Introduction" The output controller according to the present invention performs the following functions: -Provides data in one of three modes-24 bits 4: 4: 4 16 bits 4: 2: 2 8 bits 4: 2: 2 • Align data to video display window defined by vsync and hsync pulses and by programmed timing registers. • Add border around video window, if desired. 10.2 “Port” Input 2-wire interface: ・ in valid ・ in accept ・ in data [23: 0] Output 2-wire interface: ・ out valid ・ out accept ・ out data [23: 0] ・ out active ・out window-out comp [1: 0] in vsync, in hsync nupdata [7: 0], upaddr [4: 0],
upsel, rstr, wstr, tdin, tdou
t, tph0, tckm, tcks chipses
t, ph0, ph1, notrst0, notrst1 C.I. 10.3 "Out Mode" The output format is selected by writing to the opmode register.

【2037】C.10.3.1 「モード0」 このモードは24ビットの4:4:4RGBもしくはY
CrCbである。入力データは直接出力に進む。
[2037] C. 10.3.1 “Mode 0” This mode is 24-bit 4: 4: 4 RGB or Y.
It is CrCb. Input data goes directly to output.

【2038】C.10.3.2 「モード1及び2」 これらのモードは4:2:2のYCrCbを表す。In
data[23:16]がYであると仮定すると、i
n data[15:8]はCrであり、indata
[7:0]はCbである。
[2038] C. 10.3.2 "Modes 1 and 2" These modes represent 4: 2: 2 YCrCb. In
Assuming data [23:16] is Y i
n data [15: 8] is Cr, and in data
[7: 0] is Cb.

【2039】C.10.3.2.1 「モード1」 16ビットのYCrCbにおいて、Yはout dat
a[15:8]上に表示される。CrとCbはout
data[7:0]上で、Cbを最初にして、時分割多
重化される。Out data[23:16]は使用さ
れない。
[2039] C. 10.3.2.1 "Mode 1" In 16-bit YCrCb, Y is out dat
a [15: 8]. Cr and Cb are out
Time division multiplexing is performed on data [7: 0], with Cb first. Out data [23:16] is not used.

【2040】C.10.3.2.2 「モード2」 8ビットのYCrCbにおいて、Y、Cr及びCbはC
b、Y、Cr、Yのオーダーで、out data
[7:0]上で時分割多重化される。Out data
[23:16]は使用されない。
[2040] C. 10.3.2.2 “Mode 2” In 8-bit YCrCb, Y, Cr and Cb are C
b, Y, Cr, Y order, out data
Time division multiplexing is performed on [7: 0]. Out data
[23:16] is not used.

【2041】C.10.3.3 「出力タイミング」 ビデオディスプレイウインドーにデータを置くために、
以下のレジスタが使用される。
[2041] C. 10.3.3 "Output Timing" To put data in the video display window,
The following registers are used.

【2042】・Vdelay−ビデオまたはボーダーの
最初のラインの前に、vsyncパルスに続くhsyn
cパルス数 ・hdelay−hsyncと、ビデオまたはボーダー
の最初のピクセルとの間のクロックサイクル数 ・height−ラインにおけるビデオウインドーの高
さ ・width−ピクセルにおけるビデオウインドーの幅 ・north、south−ラインにおけるビデオウイ
ンドーの上及び下の各々のボーダーの高さ、 ・west、east−ピクセルにおけるビデオウイン
ドーの左及び右に対する 各々のボーダー幅 最小のvdelayは0である。最初のhsyncは最
初の活動的ラインである。hdelayにプログラムさ
れ得る最小値は2である。しかしながら、inhsyn
cから最初の活動的出力ピクセルまでの実際のディレイ
はhdelay+1サイクルであることに注意。
Vdelay-hsyn following the vsync pulse before the first line of video or border.
c number of pulses-number of clock cycles between hdelay-hsync and the first pixel of the video or border-height of the video window at the height-line-width-width of the video window at the pixel-north, south-line The height of each border above and below the video window at, respectively: the border width for the left and right of the video window at the waist, east-pixels. The minimum vdelay is 0. The first hsync is the first active line. The minimum value that can be programmed into hdelay is 2. However, inhsyn
Note that the actual delay from c to the first active output pixel is hdelay + 1 cycles.

【2043】ボーダーの縁はバリュー0を持つことがで
きる。ボーダーの色はレジスタにborder r、b
order g、及びborder bを書くことによ
って選択される。ボーダーの外側のエリアの色はレジス
タにblank r 、blank g、blank
bを書くことによって選択される。出力モード1及び2
において遂行されるマルチプレクシングもボーダー及び
ブランクコンポーネントに影響を与えるであろう。つま
り、これらのレジスタのバリューはin data[2
3:16]、in data[15:8]、及びin
data[7:0]に対応する。
[2043] The border edge may have a value of 0. The color of the border is registered in the register as border r, b
It is selected by writing order g and border b. The color of the area outside the border is displayed in the registers blank r, blank g, blank.
Selected by writing b. Output modes 1 and 2
The multiplexing performed in will also affect the border and blank components. That is, the value of these registers is in data [2
3:16], in data [15: 8], and in
This corresponds to data [7: 0].

【2044】C.10.4 「出力フラグ」 ・out activeは出力データが活性ウインド
ー、つまりビデオデータまたはボーダーの一部であるこ
とを指示する。
[2044] C. 10.4 "Output Flag" -out active indicates that the output data is part of the active window, ie the video data or border.

【2045】・out windowは出力データがビ
デオウインドーの一部であることを指示する。
[2045] -out window indicates that the output data is part of the video window.

【2046】・out comp[1:0]は色成分が
出力モード1及び2のout data[7:0]の上
に存在することを指示する。モード1においては、0=
Cb、1=Crである。モード2においては、0=Y、
1=Cr、2=Cbである。 C.10.5 「2線式モード」 本発明の2線式モードは2線式レジスタに1を書き込む
ことによって選択される。それはリセットに引き続いて
は選択されない。2線式モードでは、出力タイミングレ
ジスタとsync信号が無視され、ブロックを通るデー
タフローはout acceptによって制御される。
通常のオペレーションでは、out acceptは両
方につながれるべきであることに注意。
Out comp [1: 0] indicates that the color component is present on out data [7: 0] of output modes 1 and 2. In mode 1, 0 =
Cb, 1 = Cr. In mode 2, 0 = Y,
1 = Cr and 2 = Cb. C. 10.5 "2-Wire Mode" The 2-wire mode of the present invention is selected by writing a 1 to the 2-wire register. It is not selected following a reset. In the 2-wire mode, the output timing register and sync signal are ignored and the data flow through the block is controlled by out accept.
Note that in normal operation, out accept should be tied to both.

【2047】C.10.6 「スノーパ」 出力フラグへのアクセスを含むブロックの出力上にスー
パースノーパがある。 C.10.7 「作用の仕方」 2個の同じダウンカウンタがディスプレイにおける現在
の位置を覚えている。Vcountはhsyncs上で
減少し、vsync上の、あるいはその終末カウントに
おける適当なタイミングレジスタからロードする。Hc
ountはあらゆるピクセル上で減少し、hsync上
で、あるいはその終末カウントにおいてロードする。出
力モード2では、1つのピクセルが2個のクロックサイ
クルに対応することに注意。
[2047] C. 10.6 Super Snowpa is on the output of the block that contains access to the "Snowpa" output flag. C. 10.7 "How it works" Two identical down counters remember their current position on the display. Vcount decreases on hsyncs and loads from the appropriate timing register on vsync or at its terminal count. Hc
outt decreases on every pixel and loads on hsync or at its terminal count. Note that in output mode 2, one pixel corresponds to two clock cycles.

【2048】 セクション C.11 「クロック分周器」 C.11.1 「展望」 本発明におけるトップレベルレジスタは、1つはPIC
TURE CLKを発生させるため、1つはAUDIO
CLKを発生させるために、2個の同じクロック分周
器を含む。クロック分周器は同じであり、別々に制御さ
れる。従って、1つだけをここで取り上げて説明する。
ユーザーの観点から、唯一の違いは各クロック分周器の
除数レジスタがメモリーマップ内のアドレスの異なるセ
ットにマップされることである。
[2048] Section C. 11 "Clock divider" C.I. 11.1 “Perspective” One of the top-level registers in the present invention is PIC
One is AUDIO to generate TURE CLK
It includes two identical clock dividers to generate CLK. The clock divider is the same and is controlled separately. Therefore, only one will be discussed here.
From the user's perspective, the only difference is that the divisor register of each clock divider is mapped to a different set of addresses in the memory map.

【2049】クロック分周器の機能は4Xsysclk
分配クロック周波数を提供することであり、偶数のマー
ク対スペース比のための要件はない。
[2049] The function of the clock divider is 4Xsysclk.
It provides a distributed clock frequency and there is no requirement for an even mark to space ratio.

【2050】除数は〜0から〜16、000、000の
範囲にあることが求められるので、最小除数が16であ
るという制約付きで24ビットを用いて表すことができ
る。これはクロック分周器が除数/2を用いて、(1つ
のsysclkサイクル内に)等しいマーク対スペース
比を接近させるであろうからである。利用できる最大ク
ロック周波数はsysclkであるので、利用できる最
大分配周波数はsysclk/2である。更に、4個の
カウンタが縦続で使用されるので、除数/2は決して8
以下であってはならず、そうでなければ分配されるクロ
ック出力は正のパワーレールに駆動されるであろう。
Since the divisor is required to be in the range of 0 to 16,000,000, it can be expressed using 24 bits with the constraint that the minimum divisor is 16. This is because the clock divider will use the divisor / 2 to approximate equal mark to space ratios (within one sysclk cycle). The maximum clock frequency that can be used is sysclk, so the maximum distribution frequency that can be used is sysclk / 2. Furthermore, since 4 counters are used in cascade, the divisor / 2 is never 8
Must not be less than, otherwise the clock output distributed will be driven to the positive power rail.

【2051】C.11.2 「クロック分周器の使用」 各クロック分周器用のアドレスマップは3個の8ビット
除数レジスタと1個の1ビットアクセスレジスタに対応
する4つのロケーションから構成される。クロック分周
器は無活動のものをパワーアップし、その除数レジスタ
に対するアクセス完了によって活性化される。
[2051] C. 11.2 "Use of Clock Divider" The address map for each clock divider consists of four locations corresponding to three 8-bit divisor registers and one 1-bit access register. The clock divider powers up the inactive one and is activated upon completion of access to its divisor register.

【2052】除数レジスタは表272のアドレスマップ
に従ったオーダーで書き込まれてよい。クロック分周器
はそのアクセスビットにおける同期化0〜1遷移を感知
することにより活性化される。遷移が初めて感知される
と、クロック分周器はリセット状態から出て、分配され
たクロックを発生させる。(除数も変更されていると仮
定して)それに続く遷移は、クロック分周器を単にその
新しい周波数on−the−flyにロックさせるであ
ろう。一度活性化されると、クロック分周器を停止させ
る方法はチップRESET以外にない。
The divisor register may be written in the order according to the address map in Table 272. The clock divider is activated by sensing the synchronization 0-1 transition on its access bits. When the transition is first sensed, the clock divider exits the reset state and generates the distributed clock. Subsequent transitions (assuming the divisor is also changed) will simply cause the clock divider to lock to its new frequency on-the-fly. Once activated, the only way to stop the clock divider is with the chip RESET.

【2053】[2053]

【表272】 16〜16、777、216の範囲の除数値が使用でき
る。
[Table 272] Divisor values in the range 16-16, 777, 216 can be used.

【2054】C.11.3 「クロック分周器の説明」 クロック分周器は、1カウンタが桁上げするにつれて、
それが次のカウンタを順に活性化させるように縦続され
る4個の22ビットカウンタとして実装される。カウン
タは桁上げの前に除数/4のバリューをカウントダウン
するので、各カウンタがそれを順に取り上げ、分配クロ
ック周波数のパルスを発生させるであろう。
[2054] C. 11.3 "Explanation of clock divider" The clock divider is
It is implemented as four 22-bit counters cascaded to activate the next counter in turn. Since the counters count down the divisor / 4 value before the carry, each counter will take it in turn and generate a pulse at the distributed clock frequency.

【2055】桁上げの後、カウンタは除数/8を再びロ
ードし、これがカウントダウンされてほぼ等しいマーク
対スペース比分配クロックを作り出す。各々のカウンタ
が前のカウンタにより活性化される時、除数レジスタか
ら再ロードするにつれて、これは単に除数の内容を変更
することによって、分配クロック周波数をオン・ザ・フ
ライで変更することができるようにする。
After the carry, the counter reloads the divisor / 8, which is counted down to produce approximately equal mark to space ratio distribution clocks. As each counter is activated by the previous counter, as it reloads from the divisor register, this allows the distributed clock frequency to be changed on the fly by simply changing the contents of the divisor. To

【2056】各カウンタはカウンタ間のクロックスキュ
ーを正確に制御し、各カウンタが別個のクロックセット
によってクロックされ得るようにするため、それ自身の
独立したクロック発生器によってクロックされる。
Each counter is clocked by its own independent clock generator to precisely control the clock skew between the counters and to allow each counter to be clocked by a separate clock set.

【2057】ステートマシーンは除数/4及び除数/8
バリューの発生器を制御し、更にPLLからクロック発
生器へと正しいソースクロックを多重送信する。カウン
タは除数のバリューに応じて異なるクロックによりクロ
ックされる。これは異なる除数バリューが、PLLから
提供されるクロックの異なる組合せを用いてそのエッジ
が配置される分配クロックを作り出すであろうからであ
る。
[2057] State machine is divisor / 4 and divisor / 8
It controls the value generator and also multiplexes the correct source clock from the PLL to the clock generator. The counter is clocked by different clocks depending on the value of the divisor. This is because different divisor values will produce distributed clocks whose edges are placed using different combinations of clocks provided by the PLL.

【2058】C.11.4 クロック分周器のテスト CHIPTEST Highでチップをパワーアップす
ることによりクロック分周器をテストすることができ
る。これはPLLによって発生されるクロックに対抗す
るものとして、sysclkによりクロックされるクロ
ック分周器におけるクロック化ロジックの全てを強制す
る効果を持つ。
[2058] C. 11.4 Clock Divider Testing The clock divider can be tested by powering up the chip with CHIPTEST High. This has the effect of forcing all of the clocking logic in the clock divider clocked by sysclk as opposed to the clock generated by the PLL.

【2059】クロック分周器はフルスキャンを持つよう
に設計されているので、チップが上記のように動かされ
る限り、標準のJTAGアクセスを用いて引続きテスト
され得る。
Since the clock divider is designed to have a full scan, it can be subsequently tested using standard JTAG access as long as the chip is run as described above.

【2060】装置が通常のオペレーションで動いている
一方、CHIPTESTがHighに保持される場合、
クロック分周器の機能性は保証されない。
[2060] If CHIPTEST is held high while the device is operating in normal operation,
The functionality of the clock divider is not guaranteed.

【2061】 セクション C.12 「アドレスマップ」 C.12.1 「トップレベルアドレスマップ」 注:− 1)表273〜表281に記載するトップレベルアドレ
スマップ用のレジスタはデザインの中で使用される名前
である。それらは必ずしもデータシートに現れる名前で
なくてもよい。
[2061] Section C. 12 “Address Map” C.I. 12.1 "Top Level Address Map" Note: -1) The registers for the top level address maps described in Tables 273 to 281 are names used in the design. They do not necessarily have to appear in the data sheet.

【2062】2)これはフルアドレスマップであるの
で、ここにリストアップするロケーションの多くはテス
ト用のみのロケーションを含む。
2) Since this is a full address map, many of the locations listed here include locations for testing only.

【2063】[2063]

【表273】 [Table 273]

【2064】[2064]

【表274】 [Table 274]

【2065】[2065]

【表275】 [Table 275]

【2066】[2066]

【表276】 [Table 276]

【2067】[2067]

【表277】 [Table 277]

【2068】[2068]

【表278】 [Table 278]

【2069】[2069]

【表279】 [Table 279]

【2070】[2070]

【表280】 [Table 280]

【2071】[2071]

【表281】 C.12.1 「アドレス発生器キーホールスペース」 アドレス発生器キーホール表に関する注: 1)アドレス発生器キーホール内の全てのレジスタは、
それらの幅に関わらず、4バイトのアドレススペースを
取る。省略アドレス(0x00、0x04等)は常に0
を読み返す。
[Table 281] C. 12.1 “Address Generator Keyhole Space” Note on Address Generator Keyhole Table: 1) All registers in the address generator keyhole are
It takes 4 bytes of address space regardless of their width. Omitted addresses (0x00, 0x04, etc.) are always 0
Read back.

【2072】2)関連ブロック(dispaddrまた
はwaddrgen)のアクセスビットはこのキーホー
ルにアクセスする前に設定されなければならない。
2) The access bit of the associated block (dispaddr or waddrgen) must be set before accessing this keyhole.

【2073】[2073]

【表282】 [Table 282]

【2074】[2074]

【表283】 [Table 283]

【2075】[2075]

【表284】 [Table 284]

【2076】[2076]

【表285】 [Table 285]

【2077】[2077]

【表286】 [Table 286]

【2078】[2078]

【表287】 [Table 287]

【2079】[2079]

【表288】 [Table 288]

【2080】[2080]

【表289】 [Table 289]

【2081】[2081]

【表290】 [Table 290]

【2082】[2082]

【表291】 [Table 291]

【2083】[2083]

【表292】 [Table 292]

【2084】[2084]

【表293】 [Table 293]

【2085】[2085]

【表294】 [Table 294]

【2086】[2086]

【表295】 [Table 295]

【2087】[2087]

【表296】 [Table 296]

【2088】[2088]

【表297】 [Table 297]

【2089】[2089]

【表298】 [Table 298]

【2090】[2090]

【表299】 [Table 299]

【2091】[2091]

【表300】 [Table 300]

【2092】[2092]

【表301】 [Table 301]

【2093】[2093]

【表302】 [Table 302]

【2094】[2094]

【表303】 [Table 303]

【2095】[2095]

【表304】 [Table 304]

【2096】[2096]

【表305】 [Table 305]

【2097】[2097]

【表306】 [Table 306]

【2098】[2098]

【表307】 セクション C.13 「ピクチャサイズパラメータ」 C.13.1 「序文」 以下の様式化されたコード片は、ライトアドレス発生器
からのピクチャサイズ割り込みに答えるために必要なプ
ロセシングを示す。ピクチャサイズパラメータは、HO
RIZONTAL MBSトークン、VERTICAL
MBSトークン、及び(各コンポーネントのために)
DEFINE SAMPLINGトークンを送り、その
結果としてライトアドレス発生器割り込みを生じさせる
ことにより、on−the−flyで変更できることに
注意。これらのトークンは如何なるオーダーで到着して
もよく、一般的に、いずれもがピクチャサイズパラメー
タの全ての再計算を必要とするべきである。しかしなが
ら、セットアップ時に、計算を実行する前に、全てのイ
ベントの到着を検出する方が効率的であろう。
[Table 307] Section C. 13 “Picture Size Parameter” C.I. 13.1 "Introduction" The following stylized code snippet shows the processing required to answer the picture size interrupt from the write address generator. The picture size parameter is HO
RIZONTAL MBS token, VERTICAL
MBS token, and (for each component)
Note that it can be changed on-the-fly by sending a DEFINE SAMPLING token, resulting in a write address generator interrupt. These tokens may arrive in any order, and generally they should all require a recalculation of the picture size parameter. However, at setup, it would be more efficient to detect the arrival of all events before performing the calculations.

【2099】セットアップ時に、ピクチャサイズパラメ
ータレジスタに特別なバリューを書き込むことができる
ので、トークンに答える割り込み処理に依存する必要が
ない。このため、SIFピクチャ用の適当なレジスタバ
リューも与えられる。
[2099] Since a special value can be written in the picture size parameter register at the time of setup, it is not necessary to rely on interrupt processing for answering a token. Therefore, an appropriate register value for SIF picture is also given.

【2100】C.13.2 ピクチャサイズパラメータ
用の割り込み処理 5個のピクチャサイズイベントがあり、各々の応答の主
たるものを下記に記す: それに加えて、一貫したピクチャサイズパラメータを保
持するためには、以下の計算が必要である: if (hmbs event||vmbs event|| def samp0 event||def samp1 event|| def samp2 event) { for (i=0; i<max component; i++) { hbs[i]=addr hbs[i]= (maxhb[i]+1) mbs wide; half width in blocks[i]= ((maxhb[i]+1) mbs wide)/2; last mb in row[i]= hbs[i]−(maxhb[i]+1); last mb in half row[i]= half width in blocks[i] −(maxhb[i]+1); last row in mb[i]= hbs[i] maxvb[i]; blocks per mb row[i]= last row in mb[i] + hbs[i]; last mb row[i]= blocks per mb row[i] (mbs high−1); ピクチャサイズパラメータに答えて、(表示ウインドー
サイズ等の)dispaddrレジスタバリューを修正
することが厳密に必要であるが、これはアプリケーショ
ンの必要条件に依存することが望ましい。
[2100] C. 13.2 Interrupt handling for picture size parameters There are 5 picture size events, the main one of each response is listed below: In addition, the following calculations are required to maintain a consistent picture size parameter: if (hmbs event || vmbs event || def samp1 event || def samp2 event) {for (I = 0; i <max component; i ++) {hbs [i] = addr hbs [i] = (maxhb [i] +1) mbs wide; half width in blocks [i] = ((maxhb [i] +1) last mb in row [i] = hbs [i]-(maxhb [i] +1); last mb in half row [i] = half width in blocks [i]-(maxhb [i] +1 ); Las rows in mb [i] = hbs [i] maxvb [i]; blocks per mb row [i] = last row in mb [i] + hbs [i]; last mb row [i] = blocks per mb row ] (Mbs high-1); It is strictly necessary to modify the dispaddr register value (such as the display window size) in response to the picture size parameter, which is preferably dependent on the application requirements. .

【2101】C.13.3 「SIFピクチャ用のレジ
スタバリュー」 SIF用の上記割り込み処理の後、全てのピクチャサイ
ズレジスタに含まれるバリュー、4:2:0ストリーム
は以下の通りである: C.13.3.1 「一次バリュー」 BU WADDR MBS WIDE=0x16 BU WADDR MBS HIGH=0x12 BU WADDR COMP0 MAXHB=0x01 BU WADDR COMP1 MAXHB=0x00 BU WADDR COMP2 MAXHB=0x00 BU WADDR COMP0 MAXVB=0x01 BU WADDR COMP1 MAXVB=0x00 BU WADDR COMP2 MAXVB=0x00 C.13.3.2 「二次バリュー−計算後」 BU WADDR COMP0 HBS=0x2C BU WADDR COMP1 HBS=0x16 BU WADDR COMP2 HBS=0x16 BU ADDR COMP0 HBS=0x2C BU ADDR COMP1 HBS=0x16 BU ADDR COMP2 HBS=0x16 BU WADDR COMP0 HALF WIDTH
IN BLOCKS=0x16 BU WADDR COMP1 HALF WIDTH
IN BLOCKS=0x03 BU WADDR COMP2 HALF WIDTH
IN BLOCKS=0x03 BU WADDR COMP0 LAST MB IN
ROW=0x2A BU WADDR COMP1 LAST MB IN
ROW=0x15 BU WADDR COMP2 LAST MB IN
ROW=0x15 BU WADDR COMP0 LAST MB IN
HALF ROW=0x14 BU WADDR COMP1 LAST MB IN
HALF ROW=0x0A BU WADDR COMP2 LAST MB IN
HALF ROW=0x0A BU WADDR COMP0 LAST ROW I
N MB=0x2C BU WADDR COMP1 LAST ROW I
N MB=0x0 BU WADDR COMP2 LAST ROW I
N MB=0x0 BU WADDR COMP0 BLOCKS PER
MB ROW=0x58 BU WADDR COMP1 BLOCKS PER
MB ROW=0x16 BU WADDR COMP2 BLOCKS PER
MB ROW=0x16 BU WADDR COMP0 LAST MB RO
W=0x5D8 BU WADDR COMP1 LAST MB RO
W=0x176 BU WADDR COMP2 LAST MB RO
W=0x176 これらのバリューがセットアップ時にはっきりと書き込
まれることになっている場合、ほとんどのロケーション
の多重バイト特性を考慮に入れなければならないことに
注意。
[2101] C. 13.3 “Register Value for SIF Pictures” After the above interrupt processing for SIF, the values included in all picture size registers and the 4: 2: 0 stream are as follows: 13.3.1 “Primary Value” BU WADDR MBS WIDE = 0x16 BU WADDR MBS HIGH = 0x12 BU WADDR COMP0 MAXHB = 0x01 BU WADDR COMPB0BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * BAD * B * W * A * B * B * A * B * W * A * B * B * W * A * B * B * W * A * B * B * A. 0x00 BU WADDR COMP2 MAXVB = 0x00 C.I. 13.3.2 “Secondary Value-Post-Calculation” BU WADDR COMP0 HBS = 0x2C BU WADDR COMP1 HBS = 0x16 BU WADDR COMP2 HBS = 0x16 BU ADDR COMP0 HBS = 0x2C BU ADDR COMPxHDR = 0 COMP0 HBS = 0 WADDR COMP0 HALF WIDTH
IN BLOCKS = 0x16 BU WADDR COMP1 HALF WIDTH
IN BLOCKS = 0x03 BU WADDR COMP2 HALF WIDTH
IN BLOCKS = 0x03 BU WADDR COMP0 LAST MB IN
ROW = 0x2A BU WADDR COMP1 LAST MB IN
ROW = 0x15 BU WADDR COMP2 LAST MB IN
ROW = 0x15 BU WADDR COMP0 LAST MB IN
HALF ROW = 0x14 BU WADDR COMP1 LAST MB IN
HALF ROW = 0x0A BU WADDR COMP2 LAST MB IN
HALF ROW = 0x0A BU WADDR COMP0 LAST ROW I
N MB = 0x2C BU WADDR COMP1 LAST ROW I
N MB = 0x0 BU WADDR COMP2 LAST ROW I
N MB = 0x0 BU WADDR COMP0 BLOCKS PER
MB ROW = 0x58 BU WADDR COMP1 BLOCKS PER
MB ROW = 0x16 BU WADDR COMP2 BLOCKS PER
MB ROW = 0x16 BU WADDR COMP0 LAST MB RO
W = 0x5D8 BU WADDR COMP1 LAST MB RO
W = 0x176 BU WADDR COMP2 LAST MB RO
W = 0x176 Note that if these values are to be written explicitly at setup time, the multi-byte nature of most locations must be taken into account.

【2102】上述してきた本発明のパイプラインシステ
ムは、長い間望まれてきたプロセシングステージにおけ
る制御及び/もしくはデータ機能のための、複数のプロ
セシングステージ及び対話式インターフェイシングトー
クンの形態での万能順応装置を持つ改良システムであ
り、それによってプロセシングステージは構成及びプロ
セシングのフレキシビリティを高められる。
[2102] The pipeline system of the present invention described above is a universal adaptation in the form of multiple processing stages and interactive interfacing tokens for control and / or data functions in the processing stages that have long been desired. It is an improved system with devices that allows the processing stage to be more flexible in configuration and processing.

【2103】改良システムはパイプラインプロセシング
マシーンとして配置される2線式インターフェースによ
り相互接続される複数のステージを持つ、多標準ビデオ
減圧装置を具備する。制御トークン及びデータトークン
はトークンフォーマットで制御とデータの両方を運ぶた
めに1つの2線式インターフェースを通過する。トーク
ンデコード回路は、そのステージに関する制御トークン
として特定のトークンを認識し、パイプラインに沿って
未認識の制御トークンを送るために、特定のステージに
配置される。再配置プロセシング回路は選ばれたステー
ジに配置され、特定されたデータトークンを処理するた
めに該かるステージを再配置するための認識済み制御ト
ークンに反応する。該かるシステムを実装するために、
広範囲に亙る独特なサブ支持システム回路とプロセシン
グ技術を開示する。
The improved system comprises a multi-standard video decompressor with multiple stages interconnected by a two-wire interface arranged as a pipeline processing machine. Control tokens and data tokens pass through a single two-wire interface to carry both control and data in token format. The token decode circuit is placed at a particular stage to recognize the particular token as the control token for that stage and send the unrecognized control token along the pipeline. A relocation processing circuit is placed in the selected stage and is responsive to the recognized control token to relocate the identified data token to process the identified data token. To implement the system,
A wide range of unique sub-support system circuits and processing techniques are disclosed.

【2104】上述したことから、発明の特別な形態を図
示して説明してきたが、発明の精神及び範囲を逸脱する
ことなく、様々な修正が可能であることが自明であろ
う。従って、添付クレームによる制限以外は、図示した
形態によって本発明が制限されるものではない。
From the foregoing, although particular forms of the invention have been illustrated and described, it will be obvious that various modifications can be made without departing from the spirit and scope of the invention. Therefore, the present invention is not limited to the embodiments shown in the drawings except for the limitation of the appended claims.

【2105】[2105]

【発明の効果】以上説明したように、本発明によれば、
複数の処理ステージと、処理ステージの中で制御、デー
タ機能を実行する相互作用インターフェース制御トーク
ンの形態のユニバーサル適応ユニットを具備し、処理ス
テージが構成、処理において向上した柔軟性を与えられ
ているパイプラインシステムが提供される。
As described above, according to the present invention,
A pipe with multiple processing stages and a universal adaptation unit in the form of an interactive interface control token that performs control and data functions within the processing stages, the processing stages being provided with increased flexibility in configuration and processing. A line system is provided.

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

【図1】2個の内部制御信号の異なる組み合わせのため
の6段パイプラインの6サイクルを示す図。
FIG. 1 shows 6 cycles of a 6-stage pipeline for different combinations of 2 internal control signals.

【図2】パイプラインステージがパイプライン内の遅延
に応答して圧縮、及び伸長が出来る方法を示すために各
ステージが二次データ格納部を含むパイプラインを示す
図。
FIG. 2 is a diagram illustrating a pipeline in which each stage includes a secondary data store to illustrate how the pipeline stage can compress and decompress in response to delays in the pipeline.

【図3】パイプラインステージがパイプライン内の遅延
に応答して圧縮、及び伸長が出来る方法を示すために各
ステージが二次データ格納部を含むパイプラインを示す
図。
FIG. 3 is a diagram showing a pipeline in which each stage includes a secondary data store to show how the pipeline stage can compress and decompress in response to delays in the pipeline.

【図4】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 4 is a diagram showing control of data transfer between stages in a preferred embodiment of a pipeline using a two wire interface and a polyphase clock.

【図5】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 5 is a diagram showing control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a polyphase clock.

【図6】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 6 is a diagram showing control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a polyphase clock.

【図7】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 7 illustrates control of data transfer between stages in a preferred embodiment of a pipeline using a two wire interface and a polyphase clock.

【図8】2配線インターフェースが組み込まれたパイプ
ラインステージの基本的実施例及び2配線転送制御を有
する2個の連続するパイプライン処理ステージを示すブ
ロック図。
FIG. 8 is a block diagram showing a basic embodiment of a pipeline stage incorporating a 2-wire interface and two consecutive pipeline processing stages with 2-wire transfer control.

【図9】図8に示すパイプラインステージで使用される
タイミング信号と、入出力データと、内部制御信号間の
関係を示すタイミング図の一例。
9 is an example of a timing diagram showing a relationship among timing signals used in the pipeline stage shown in FIG. 8, input / output data, and internal control signals.

【図10】図8に示すパイプラインステージで使用され
るタイミング信号と、入出力データと、内部制御信号間
の関係を示すタイミング図の一例。
10 is an example of a timing diagram showing a relationship among timing signals used in the pipeline stage shown in FIG. 8, input / output data, and internal control signals.

【図11】拡張ビットの制御下でその状態を維持するパ
イプラインステージの一例を示すブロック図。
FIG. 11 is a block diagram illustrating an example of a pipeline stage that maintains its state under the control of extension bits.

【図12】ステージ起動データワードを復号化するパイ
プラインステージのブロック図。
FIG. 12 is a block diagram of a pipeline stage for decoding stage activation data words.

【図13】データ二重化パイプラインステージの一例で
の2配線転送制御の使用を示すブロック図。
FIG. 13 is a block diagram illustrating the use of two wire transfer control in an example data duplex pipeline stage.

【図14】データ二重化パイプラインステージの一例で
の2配線転送制御の使用を示すブロック図。
FIG. 14 is a block diagram illustrating the use of two wire transfer control in an example data duplex pipeline stage.

【図15】図13と図14に例示する実施例で使用され
る2相クロックと、2配線転送制御信号と、その他の内
部データ及び制御信号を示すタイミング図の一例。
FIG. 15 is an example of a timing diagram showing a two-phase clock, a two-wire transfer control signal, and other internal data and control signals used in the embodiments illustrated in FIGS. 13 and 14;

【図16】図13と図14に例示する実施例で使用され
る2相クロックと、2配線転送制御信号と、その他の内
部データ及び制御信号を示すタイミング図の一例。
16 is an example of a timing diagram showing a two-phase clock, a two-wire transfer control signal, and other internal data and control signals used in the embodiments illustrated in FIGS. 13 and 14;

【図17】再構成可能な処理ステージのブロック図。FIG. 17 is a block diagram of a reconfigurable processing stage.

【図18】空間デコーダのブロック図。FIG. 18 is a block diagram of a spatial decoder.

【図19】時間デコーダのブロック図。FIG. 19 is a block diagram of a time decoder.

【図20】ビデオフォーマッタのブロック図。FIG. 20 is a block diagram of a video formatter.

【図21】マクロブロックの第1の構成を示すメモリマ
ップ。
FIG. 21 is a memory map showing a first configuration of a macro block.

【図22】マクロブロックの第2の構成を示すメモリマ
ップ。
FIG. 22 is a memory map showing a second configuration of a macro block.

【図23】マクロブロックの別の構成を示すメモリマッ
プ。
FIG. 23 is a memory map showing another configuration of a macro block.

【図24】ありうるテーブル選択値のベン図。FIG. 24 is a Venn diagram of possible table selection values.

【図25】本発明で使用する画像データの可変長を示す
図。
FIG. 25 is a diagram showing a variable length of image data used in the present invention.

【図26】予測フィルタを含む一時的デコーダのブロッ
ク図。
FIG. 26 is a block diagram of a temporal decoder that includes a prediction filter.

【図27】予測フィルタ処理を絵で示した図。FIG. 27 is a diagram showing a picture of prediction filter processing.

【図28】マクロブロックの構造を示す一般的な図。FIG. 28 is a general diagram showing the structure of a macroblock.

【図29】開始コード検出器の一般的なブロック図。FIG. 29 is a general block diagram of a start code detector.

【図30】データストリーム内の開始コードを例示する
図。
FIG. 30 is a diagram exemplifying a start code in a data stream.

【図31】フラグ発生器と、復号化インデックスと、ヘ
ッダ発生器と、追加ワード発生器と、出力ラッチの関係
を示すブロック図。
FIG. 31 is a block diagram showing the relationship among a flag generator, a decoding index, a header generator, an additional word generator, and an output latch.

【図32】空間デコーダDRAMインターフェースのブ
ロック図。
FIG. 32 is a block diagram of a spatial decoder DRAM interface.

【図33】書込みスイングバッファのブロック図。FIG. 33 is a block diagram of a write swing buffer.

【図34】処理中のブロックからの予測データオフセッ
トを示す挿絵図。
FIG. 34 is an illustration showing a predicted data offset from the block being processed.

【図35】(1、1)の予測データオフセットを示す
図。
FIG. 35 is a diagram showing (1, 1) predicted data offsets.

【図36】ハフマンデコーダと空間デコーダの分割状態
装置を示すブロック図。
FIG. 36 is a block diagram showing a split state machine of a Huffman decoder and a spatial decoder.

【図37】予測フィルタのブロック図。FIG. 37 is a block diagram of a prediction filter.

【図38】典型的なデコーダシステムを示す図。FIG. 38 shows an exemplary decoder system.

【図39】JPEG静止画像デコーダを示す図。FIG. 39 is a diagram showing a JPEG still image decoder.

【図40】JPEGビデオデコーダを示す図。FIG. 40 is a diagram showing a JPEG video decoder.

【図41】多重規格ビデオデコーダを示す図。FIG. 41 is a diagram showing a multi-standard video decoder.

【図42】トークンの開始と終了を示す図。FIG. 42 is a diagram showing the start and end of a token.

【図43】トークンアドレスとデータフィールドを示す
図。
FIG. 43 is a diagram showing a token address and a data field.

【図44】8ビットより広いインターフェース上のトー
クンを示す図。
FIG. 44 shows a token on an interface wider than 8 bits.

【図45】マクロブロックを示す図。FIG. 45 is a diagram showing a macro block.

【図46】2配線インターフェースプロトコルを示す
図。
FIG. 46 is a diagram showing a two-wire interface protocol.

【図47】外部2配線インターフェースの位置を示す
図。
FIG. 47 is a view showing a position of an external 2-wiring interface.

【図48】クロック伝搬を示す図。FIG. 48 is a diagram showing clock propagation.

【図49】2配線インターフェースのタイミングを示す
図。
FIG. 49 is a diagram showing a timing of a two-wiring interface.

【図50】アクセス構造を例示する。FIG. 50 illustrates an access structure.

【図51】読出し転送サイクルを示す図。FIG. 51 is a diagram showing a read transfer cycle.

【図52】アクセス開始タイミングを示す図。FIG. 52 is a diagram showing access start timing.

【図53】2回の書込み転送のアクセス例を示す図。FIG. 53 is a diagram showing an access example of two write transfers.

【図54】読出し転送サイクルを示す図。FIG. 54 is a diagram showing a read transfer cycle.

【図55】書込み転送サイクルを示す図。FIG. 55 is a diagram showing a write transfer cycle.

【図56】リフレシュサイクルを示す図。FIG. 56 is a view showing a refresh cycle.

【図57】32ビットデータバスと256kビットの深
さを持つDRAM(9ビットアドレス)の例を示す図。
FIG. 57 is a diagram showing an example of a DRAM (9-bit address) having a 32-bit data bus and a depth of 256 kbits.

【図58】ストローブ信号用のタイミングパラメータを
示す図。
FIG. 58 is a diagram showing timing parameters for strobe signals.

【図59】どの2個のストローブ信号間のタイミングパ
ラメータを示す図。
FIG. 59 is a diagram showing timing parameters between any two strobe signals.

【図60】バスとストローブ信号間のタイミングパラメ
ータを示す図。
FIG. 60 is a diagram showing timing parameters between a bus and a strobe signal.

【図61】バスとストローブ信号間のタイミングパラメ
ータを示す図。
FIG. 61 is a diagram showing timing parameters between a bus and a strobe signal.

【図62】MPI読出しタイミングを示す図。FIG. 62 is a diagram showing MPI read timing.

【図63】MPI書込みタイミングを示す図。FIG. 63 is a diagram showing MPI write timing.

【図64】メモリマップの大きな整数の配置を示す図。FIG. 64 is a diagram showing the arrangement of large integers in the memory map.

【図65】典型的なデコーダクロック形態を示す図。FIG. 65 shows a typical decoder clock configuration.

【図66】入力クロック要件を示す図。FIG. 66 is a diagram showing input clock requirements.

【図67】空間デコーダを示す図。FIG. 67 is a diagram showing a spatial decoder.

【図68】入力回路の入出力を示す図。FIG. 68 is a diagram showing input / output of an input circuit.

【図69】符号化ポートプロトコルを示す図。FIG. 69 is a diagram showing an encoding port protocol.

【図70】開始コード検出器を示す図。FIG. 70 shows a start code detector.

【図71】検出された開始コードと変換されたトークン
を示す図。
FIG. 71 is a diagram showing detected start codes and converted tokens.

【図72】開始コード検出器がトークンを通すところを
示す図。
FIG. 72 shows the start code detector passing a token.

【図73】MPEG開始コード(バイト整列)の重なり
を示す図。
FIG. 73 is a diagram showing the overlap of MPEG start codes (byte alignment).

【図74】MPEG開始コード(非バイト整列)の重な
りを示す図。
FIG. 74 is a diagram showing overlap of MPEG start codes (non-byte aligned).

【図75】2個のビデオ系列間のジャンプを示す図。FIG. 75 is a diagram showing a jump between two video sequences.

【図76】追加のトークンの挿入処理を示す図。FIG. 76 is a diagram showing a process of inserting an additional token.

【図77】デコーダ起動制御を示す図。FIG. 77 is a diagram showing decoder activation control.

【図78】出力前にキューされたイネーブルされたスト
リームを示す図。
FIG. 78 shows an enabled stream queued before output.

【図79】空間デコーダバッファを示す図。FIG. 79 is a diagram showing a spatial decoder buffer.

【図80】バッファポインタを示す図。FIG. 80 is a diagram showing a buffer pointer.

【図81】ビデオデマルチプレックサを示す図。FIG. 81 is a diagram showing a video demultiplexer.

【図82】画像構造を示す図。FIG. 82 is a diagram showing an image structure.

【図83】4:2:2マクロブロックの構造を示す図。FIG. 83 is a diagram showing the structure of a 4: 2: 2 macroblock.

【図84】マクロブロックの大きさ画素の大きさから計
算する方法を示す図。
FIG. 84 is a diagram showing a method of calculating from the size of a macroblock size pixel.

【図85】空間デコーダを示す図。FIG. 85 is a diagram showing a spatial decoder.

【図86】H.261逆量子化の概観を示す図。FIG. 86 is a diagram showing an overview of H.261 inverse quantization.

【図87】JPEG逆量子化の概観を示す図。FIG. 87 is a diagram showing an overview of JPEG inverse quantization.

【図88】MPEG逆量子化の概観を示す図。FIG. 88 is a diagram showing an overview of MPEG dequantization.

【図89】量子化テーブルメモリマップを示す図。FIG. 89 is a diagram showing a quantization table memory map.

【図90】JPEGベースライン系列構造の概観を示す
図。
FIG. 90 is a diagram showing an overview of a JPEG baseline sequence structure.

【図91】トークンされたJPEG画像を示す図。FIG. 91 shows a tokenized JPEG image.

【図92】時間デコーダを示す図。FIG. 92 shows a time decoder.

【図93】画像バッファ仕様を示す図。FIG. 93 is a diagram showing image buffer specifications.

【図94】MPEG画像系列(m=3)を示す図。FIG. 94 is a diagram showing an MPEG image sequence (m = 3).

【図95】「I」画像がどのようにして格納出力される
かを示す図。
FIG. 95 is a diagram showing how an “I” image is stored and output.

【図96】「P」画像がどのようにして格納出力される
かを示す図。
FIG. 96 is a diagram showing how a “P” image is stored and output.

【図97】「B」画像がどのようにして格納出力される
かを示す図。
FIG. 97 is a diagram showing how a “B” image is stored and output.

【図98】ピクチャあバッファを示す図。FIG. 98 is a view showing a picture buffer.

【図99】H.261予測形式を示す図。FIG. 99 is a diagram showing an H.261 prediction format.

【図100】H.261系列を示す図。FIG. 100 is a diagram showing an H.261 series.

【図101】H.261シンタックスの階層を示す図。101 is a diagram showing a hierarchy of H.261 syntax. FIG.

【図102】H.261画像層を示す図。102 is a diagram showing an H.261 image layer. FIG.

【図103】ブロック群のH.261配置を示す図。103 is a diagram showing an H.261 arrangement of block groups. FIG.

【図104】H.261「スライス」層を示す図。FIG. 104 shows an H.261 “slice” layer.

【図105】マクロブロックのH.261配置を示す
図。
FIG. 105 is a diagram showing an H.261 arrangement of macroblocks.

【図106】H.261ブロック系列を示す図。FIG. 106 is a diagram showing an H.261 block sequence.

【図107】H.261マクロブロック層を示す図。FIG. 107 is a diagram showing an H.261 macroblock layer.

【図108】画素のH.261配置を示す図。108 is a diagram showing an H.261 arrangement of pixels. FIG.

【図109】MPEGシンタックスの階層を示す図。Fig. 109 is a diagram showing a hierarchy of MPEG syntax.

【図110】MPEG系列層を示す図。FIG. 110 is a diagram showing an MPEG sequence layer.

【図111】MPEG群の画像層を示す図。FIG. 111 is a diagram showing an image layer of an MPEG group.

【図112】MPEG画像層を示す図。FIG. 112 is a diagram showing an MPEG image layer.

【図113】MPEG「スライス」層を示す図。FIG. 113 shows an MPEG “slice” layer.

【図114】MPEG系列のブロックを示す図。FIG. 114 is a diagram showing a block of an MPEG series.

【図115】MPEGマクロブロック層を示す図。FIG. 115 is a diagram showing an MPEG macroblock layer.

【図116】「オープンGOP」の例を示す図。FIG. 116 is a diagram showing an example of “open GOP”.

【図117】アクセス構造の例を示す図。FIG. 117 is a diagram showing an example of an access structure.

【図118】アクセス開始タイミングを示す図。FIG. 118 is a diagram showing access start timing.

【図119】高速ページ読出しサイクルを示す図。FIG. 119 is a diagram showing a fast page read cycle.

【図120】高速ページ書込みサイクルを示す図。FIG. 120 shows a fast page write cycle.

【図121】リフレシュサイクルを示す図。FIG. 121 is a view showing a refresh cycle.

【図122】チップアドレスからいかにして行及び列ア
ドレスを抽出するかを示す図。
FIG. 122 is a diagram showing how to extract row and column addresses from a chip address.

【図123】ストローブ信号用のタイミングパラメータ
を示す図。
FIG. 123 is a diagram showing timing parameters for strobe signals.

【図124】どの2個のストローブ信号間のタイミング
パラメータを示す図。
FIG. 124 is a diagram showing timing parameters between any two strobe signals;

【図125】バスとストローブ信号間のタイミングパラ
メータを示す図。
FIG. 125 is a diagram showing timing parameters between a bus and a strobe signal.

【図126】バスとストローブ信号間のタイミングパラ
メータを示す図。
FIG. 126 is a diagram showing timing parameters between a bus and a strobe signal.

【図127】ハフマンデコーダとパーザーを示す図。FIG. 127 is a diagram showing a Huffman decoder and a parser.

【図128】H.261とMPEG AC係数復号化フ
ローチャートを示す図。
FIG. 128 is a diagram showing a flowchart of H.261 and MPEG AC coefficient decoding.

【図129】JPEG(ACとDC)係数復号化のブロ
ック図。
FIG. 129 is a block diagram of JPEG (AC and DC) coefficient decoding.

【図130】JPEG(ACとDC)係数復号化の流れ
図を示す図。
FIG. 130 shows a flow chart for JPEG (AC and DC) coefficient decoding.

【図131】ハフマントークンフォーマッタのインタフ
ェースを示す図。
FIG. 131 is a diagram showing an interface of a Huffman token formatter.

【図132】トークンフォーマッタのブロック図。FIG. 132 is a block diagram of a token formatter.

【図133】H.261とMPEG AC係数復号化を
示す図。
133 is a diagram showing H.261 and MPEG AC coefficient decoding; FIG.

【図134】ハフマンALUのインタフェースを示す
図。
FIG. 134 is a diagram showing an interface of a Huffman ALU.

【図135】ハフマンALUの基本的構造を示す図。FIG. 135 is a view showing the basic structure of Huffman ALU.

【図136】バッファマネージャを示す図。FIG. 136 is a diagram showing a buffer manager.

【図137】imodelとhsppkのブロック図。FIG. 137 is a block diagram of imodel and hspk.

【図138】imex状態を示す図。FIG. 138 is a view showing an image state.

【図139】バッファスタートアップを示す図。FIG. 139 is a diagram showing buffer startup.

【図140】DRAMインターフェースを示す図。FIG. 140 is a view showing a DRAM interface.

【図141】書込みスイングバッファを示す図。FIG. 141 is a diagram showing a write swing buffer.

【図142】演算ブロックを示す図。FIG. 142 is a view showing a calculation block.

【図143】iqのブロック図。FIG. 143 is a block diagram of iq.

【図144】iqcaステートマシンを示す図。FIG. 144 shows an iqca state machine.

【図145】IDCT 1−D変換アルゴリズムを示す
図。
FIG. 145 is a diagram showing an IDCT 1-D conversion algorithm.

【図146】IDCT 1−D変換構造を示す図。FIG. 146 is a diagram showing an IDCT 1-D conversion structure.

【図147】トークンストリームのブロック図。FIG. 147 is a block diagram of a token stream.

【図148】標準のブロック図。FIG. 148 is a standard block diagram.

【図149】マイクロプロセッサテストアクセスを示す
ブロック図。
FIG. 149 is a block diagram illustrating microprocessor test access.

【図150】1−D変換マイクロ構造を示す図。FIG. 150 is a diagram showing a 1-D conversion microstructure.

【図151】時間デコーダのブロック図。FIG. 151 is a block diagram of a time decoder.

【図152】2配線インターフェースステージの構造を
示す図。
FIG. 152 is a diagram showing the structure of a two-wiring interface stage.

【図153】アドレス発生器のブロック図。FIG. 153 is a block diagram of an address generator.

【図154】ブロックと画素のオフセットを示す図。FIG. 154 is a diagram showing an offset between a block and a pixel.

【図155】複数の予測フィルタを示す図。FIG. 155 is a diagram showing a plurality of prediction filters.

【図156】予測フィルタを示す図。FIG. 156 is a diagram showing a prediction filter.

【図157】1−D予測フィルタを示す図。FIG. 157 is a diagram showing a 1-D prediction filter.

【図158】1ブロックの画素を示す図。FIG. 158 is a diagram showing pixels in one block.

【図159】読出しラダーの構造を示す図。FIG. 159 is a view showing a structure of a read ladder.

【図160】ブロックと画素のオフセットを示す図。FIG. 160 is a diagram showing block and pixel offsets.

【図161】予測例を示す図。FIG. 161 is a diagram showing a prediction example.

【図162】読出しサイクルを示す図。162 is a diagram showing a read cycle. FIG.

【図163】書込みしサイクルを示す図。FIG. 163 is a view showing a writing cycle.

【図164】タイミングを参照可能なトップレベルレジ
スタ群のブロック図。
FIG. 164 is a block diagram of a top-level register group that can refer to timing.

【図165】プレゼンテーション番号を増加させる制御
を示す図。
FIG. 165 is a diagram showing a control for increasing the presentation number.

【図166】バッファマネジャステートマシーンを示す
図。
FIG. 166 is a diagram showing a buffer manager state machine.

【図167】ステートマシーンのメインループを示す
図。
FIG. 167 is a diagram showing a main loop of a state machine.

【図168】SIF(22×18のマクロブロック)を
含むバッファ0を示す図。
FIG. 168 is a diagram showing a buffer 0 including an SIF (22 × 18 macroblock).

【図169】表示窓を持つSIF成分0を示す図。FIG. 169 is a diagram showing an SIF component 0 having a display window.

【図170】格納ブロックアドレスを示す画像フォーマ
ット例を示す図。
FIG. 170 is a diagram showing an example of an image format showing a storage block address.

【図171】SIF(22×18のマクロブロック)を
含むバッファ0を示す図。
FIG. 171 is a diagram showing a buffer 0 including an SIF (22 × 18 macroblock).

【図172】アドレス計算例を示す図。FIG. 172 is a diagram showing an example of address calculation.

【図173】書込みアドレス発生状態を示す図。FIG. 173 is a diagram showing a write address generation state.

【図174】データ路のスライスを示す図。FIG. 174 is a diagram showing a slice of a data path.

【図175】データ路の2サイクル操作を示す図。FIG. 175 is a diagram showing a 2-cycle operation of a data path.

【図176】モード1のフィルタ処理を示す図。FIG. 176 is a diagram showing filtering processing in mode 1;

【図177】水平アップサンプラデータ路を示す図。FIG. 177 is a view showing a horizontal upsampler data path;

【図178】色ー空間変換器の構造を示す図。FIG. 178 is a diagram showing a structure of a color-space converter.

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

33…トークンデコーダ、34…入力ラッチ、36…プ
ロセッシングユニット、39…アクション識別部、41
…出力ラッチ、43,44…レジスタ。
33 ... Token decoder, 34 ... Input latch, 36 ... Processing unit, 39 ... Action identification section, 41
... output latches, 43, 44 ... registers.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/41 B 7/015 7/24 H04N 7/13 Z (72)発明者 マルティン ウィリアム ソザラン イギリス国、ジーエル11 6ビーディー、 グローセスターシアー、ダーズレイ、ステ ィンチコーム、ウィク レーン、ザ ライ ディングス(番地なし) (72)発明者 ウィリアム フィリップ ロビンス イギリス国、ジーエル11 5ピーイー、グ ローセスターシアー、カム、スプリングヒ ル 19─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical display location H04N 1/41 B 7/015 7/24 H04N 7/13 Z (72) Inventor Martin William Sozaran United Kingdom Nation GL 1 1 6 B D, Grossester Sheer, Dursley, Stench Comb, Wik Lane, The Ridings (no street number) (72) Inventor William Philip Robins England, GL 1 1 5 PEE, Grosester Sheer, Kam , Spring Hill 19

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 入力と、出力と、前記入力と出力との間
にある複数の処理ステージを有するパイプラインシステ
ムにおいて、 前記複数の処理ステージはパイプラインに沿ってトーク
ンを伝送するための2線式のインターフェースにより相
互接続され、 制御トークン、データトークンはパイプラインの中の全
ての処理ステージとインターフェースし、パイプライン
の中の選択された処理ステージと相互作用するユニバー
サル適応ユニットの形態であり、 パイプラインの処理ステージは構成と処理において向上
した柔軟性を与えられていることを特徴とするパイプラ
インシステム。
1. A pipeline system having an input, an output, and a plurality of processing stages between the input and the output, wherein the plurality of processing stages are two wires for transmitting a token along the pipeline. Control tokens, data tokens, interconnected by an expression interface, are a form of universal adaptation unit that interfaces with all processing stages in the pipeline and interacts with selected processing stages in the pipeline. A pipeline system characterized in that the processing stages of the line are given increased flexibility in configuration and processing.
【請求項2】 単一のビットストリーム中に伝達され、
制御コードと対応するデータとがそれぞれ符号化された
対を有し、ディジタルビットのシリアルビットストリー
ムとしての複数の符号化ビットストリームを扱うため
の、2線インターフェースにより複数の処理ステージが
相互接続されたパイプラインシステムにおいて、 単一のシリアルビットストリームに応答し制御トークン
とデータトークンを発生し、2線インターフェースに与
えるスタートコード検出手段と、 所定の処理ステージに設けられ、前記トークンを該ステ
ージに特有な制御トークンとして認識し、パイプライン
に沿って不認識の制御トークンを通過させるトークンデ
コード手段と、 識別されたデータトークンを扱うために、認識された制
御トークンに応答し特定のステージを再構成する再構成
デコード・パーザー処理手段とを具備することを特徴と
するパイプラインシステム。
2. Transmitted in a single bitstream,
A plurality of processing stages are interconnected by a two-wire interface for handling a plurality of encoded bitstreams as digital bit serial bitstreams, each pair having an encoded encoded control code and corresponding data. In a pipeline system, a start code detecting means for generating a control token and a data token in response to a single serial bit stream, and providing the two-wire interface with the start code detecting means, the token being provided in a predetermined processing stage, the token being unique to the stage. Token decoding means that recognizes as control tokens and passes unrecognized control tokens along the pipeline, and reconfigures to respond to the recognized control tokens and reconfigure certain stages to handle the identified data tokens. Configuration decoding parser processing means and Pipeline system characterized by comprising.
【請求項3】 2線インターフェースバスにより相互接
続された複数の再構成可能な処理ステージを有するパイ
プラインシステムにおいて、 前記処理ステージのいずれかは空間デコーダ手段であ
り、 前記処理ステージの他は制御トークンとデータトークン
をを発生し前記2線インターフェースを通過させるトー
クン発生手段であり、 所定の処理ステージに設けられ、前記トークンのいずれ
かを該空間デコーダ手段に特有な制御トークンとして認
識し、前記制御トークンに続く前記データトークンを空
間的にデコードするために前記空間デコーダ手段を第1
の復号化フォーマットに構成するトークンデコード手段
とを具備することを特徴とするパイプラインシステム。
3. A pipeline system having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus, wherein any one of the processing stages is a spatial decoder means, and the other processing stages are control tokens. And token generating means for generating a data token and passing through the two-wire interface, provided in a predetermined processing stage, and recognizing one of the tokens as a control token unique to the spatial decoder means, The spatial decoder means for spatially decoding the data token following
And a token decoding unit configured in the above decoding format.
【請求項4】 単一のビットストリーム中に伝達され、
制御コードと対応するデータとがそれぞれ符号化された
対を有し、ディジタルビットのシリアルビットストリー
ムとしての複数の符号化ビットストリームを扱うため
の、2線インターフェースにより複数の処理ステージが
相互接続されたパイプラインシステムにおいて、 単一のシリアルビットストリームに応答し制御トークン
とデータトークンを発生し、2線インターフェースに与
えるスタートコード検出手段と、 所定の処理ステージに設けられ、前記トークンを該ステ
ージに特有な制御トークンとして認識し、パイプライン
に沿って不認識の制御トークンを通過させるトークンデ
コード手段と、 識別されたデータトークンを扱うために、認識された制
御トークンに応答し時間デコードステージを再構成し、
8×8画素ブロックのデータが該時間デコーダの中を2
線インターフェースに沿って移動する再構成時間デコー
ダ手段と、 ブロックの境界に沿ったブロックを格納し検索するアド
レス手段とを具備することを特徴とするパイプラインシ
ステム。
4. Transmitted in a single bitstream,
A plurality of processing stages are interconnected by a two-wire interface for handling a plurality of encoded bitstreams as digital bit serial bitstreams, each pair having an encoded encoded control code and corresponding data. In a pipeline system, a start code detecting means for generating a control token and a data token in response to a single serial bit stream, and providing the two-wire interface with the start code detecting means, the token being provided in a predetermined processing stage, the token being unique to the stage. Token decoding means that recognizes as control tokens and passes unrecognized control tokens along the pipeline, and reconfigures the time decoding stage in response to the recognized control tokens to handle the identified data tokens,
The data of 8 × 8 pixel block is 2 in the time decoder.
A pipeline system comprising reconstruction time decoder means for moving along a line interface and addressing means for storing and retrieving blocks along block boundaries.
【請求項5】 入力と、出力と、前記入力と出力との間
にある複数の処理ステージを有するパイプラインシステ
ムにおいて、 ユニバーサル適応ユニットを定義し、前記処理ステージ
の中で制御、データ機能を実行する相互作用インターフ
ェース制御トークンを具備し、 前記処理ステージは分散タスクの機能において向上した
柔軟性を与えられていることを特徴とするパイプライン
システム。
5. In a pipeline system having an input, an output, and a plurality of processing stages between the input and the output, a universal adaptive unit is defined, and control and data functions are executed in the processing stage. Pipeline system, characterized in that it comprises an interactive interface control token to enable the processing stages to be provided with increased flexibility in the functioning of distributed tasks.
【請求項6】 入力と、出力と、前記入力と出力との間
にある複数の処理ステージを有するパイプラインシステ
ムにおいて、 ユニバーサル適応ユニットを定義し、前記処理ステージ
の中でデータ機能を実行する相互作用メタモロフィクイ
ンターフェースデータトークンを具備し、 前記処理ステージはデータの処理において向上した柔軟
性を与えられていることを特徴とするパイプラインシス
テム。
6. In a pipeline system having an input, an output and a plurality of processing stages between the input and the output, a mutual adaptation unit defining a universal adaptation unit and performing a data function in the processing stage. A pipeline system comprising a working metamorphic interface data token, wherein said processing stage is provided with increased flexibility in processing the data.
JP7090012A 1994-03-24 1995-03-24 Pipeline system Pending JPH0897725A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9405914A GB9405914D0 (en) 1994-03-24 1994-03-24 Video decompression
GB9405914.4 1995-02-28
GB9504046A GB2288520B (en) 1994-03-24 1995-02-28 Pipeline
GB9504046.5 1995-02-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002137983A Division JP3423942B2 (en) 1994-03-24 2002-05-14 Data processing system

Publications (1)

Publication Number Publication Date
JPH0897725A true JPH0897725A (en) 1996-04-12

Family

ID=26304580

Family Applications (2)

Application Number Title Priority Date Filing Date
JP7090012A Pending JPH0897725A (en) 1994-03-24 1995-03-24 Pipeline system
JP2002137983A Expired - Lifetime JP3423942B2 (en) 1994-03-24 2002-05-14 Data processing system

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2002137983A Expired - Lifetime JP3423942B2 (en) 1994-03-24 2002-05-14 Data processing system

Country Status (5)

Country Link
JP (2) JPH0897725A (en)
KR (1) KR100304511B1 (en)
CN (1) CN1114489A (en)
CA (1) CA2145423A1 (en)
GB (1) GB2288520B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536816A (en) * 2004-05-04 2007-12-13 クゥアルコム・インコーポレイテッド Method and apparatus for weighted prediction in prediction frames
US8401073B2 (en) 2007-03-28 2013-03-19 Panasonic Corporation Inverse quantization circuit, inverse quantization method and image reproducing apparatus
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263807B2 (en) * 1996-09-09 2002-03-11 ソニー株式会社 Image encoding apparatus and image encoding method
US20030159152A1 (en) 2001-10-23 2003-08-21 Shu Lin Fast motion trick mode using dummy bidirectional predictive pictures
KR100711088B1 (en) * 2005-04-13 2007-04-24 광주과학기술원 Integer Transform Device for Moving Picture Encoder
US8194977B2 (en) * 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
US20150049098A1 (en) 2013-08-13 2015-02-19 Mediatek Inc. Data processing apparatus for transmitting/receiving compressed pixel data groups via multiple display ports of display interface and related data processing method
GB2534420B (en) * 2015-01-26 2021-01-13 Advanced Risc Mach Ltd Data processing systems
CN112817889A (en) * 2019-11-15 2021-05-18 合肥美亚光电技术股份有限公司 Data acquisition method and system
CN111064912B (en) * 2019-12-20 2022-03-22 江苏芯盛智能科技有限公司 Frame format conversion circuit and method
CN113747060B (en) * 2021-08-12 2022-10-21 荣耀终端有限公司 Image processing method, device and storage medium
CN114580628A (en) * 2022-03-14 2022-06-03 北京宏景智驾科技有限公司 Efficient quantization acceleration method and hardware circuit for neural network convolution layer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (en) * 1992-06-30 1999-06-02 Discovision Associates Data pipeline system
GB2059724B (en) * 1979-09-28 1984-04-04 Racal Datacom Ltd Data transmission systems
JPS61194989A (en) * 1985-02-22 1986-08-29 Mitsubishi Electric Corp Still picture transmitter
US4680581A (en) * 1985-03-28 1987-07-14 Honeywell Inc. Local area network special function frames
GB8618060D0 (en) * 1986-07-24 1986-12-17 Gec Avionics Data processing apparatus
EP0255767A3 (en) * 1986-07-31 1990-04-04 AT&T Corp. Selective broadcasting arrangement for local area networks
JPH0695986A (en) * 1992-06-19 1994-04-08 Westinghouse Electric Corp <We> Real-time data imaging network system and operating method thereof
FR2695278B1 (en) * 1992-08-26 1994-10-14 Euro Cp Sarl Method for exchanging information, in particular between equipment in a room, and functional unit and installation relating thereto.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards
JP2007536816A (en) * 2004-05-04 2007-12-13 クゥアルコム・インコーポレイテッド Method and apparatus for weighted prediction in prediction frames
JP4659823B2 (en) * 2004-05-04 2011-03-30 クゥアルコム・インコーポレイテッド Method and apparatus for weighted prediction in prediction frames
US8731054B2 (en) 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US8401073B2 (en) 2007-03-28 2013-03-19 Panasonic Corporation Inverse quantization circuit, inverse quantization method and image reproducing apparatus
JP5352448B2 (en) * 2007-03-28 2013-11-27 パナソニック株式会社 Inverse quantization circuit, inverse quantization method, and image reproduction apparatus

Also Published As

Publication number Publication date
KR950033894A (en) 1995-12-26
GB2288520B (en) 1998-10-14
CN1114489A (en) 1996-01-03
JP2003143018A (en) 2003-05-16
KR100304511B1 (en) 2001-12-01
JP3423942B2 (en) 2003-07-07
GB9504046D0 (en) 1995-04-19
GB2288520A (en) 1995-10-18
CA2145423A1 (en) 1995-09-25

Similar Documents

Publication Publication Date Title
US6263422B1 (en) Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
US20020066007A1 (en) Multistandard video decoder and decompression system for processing encoded bit streams including pipeline processing and methods relating thereto
JP3302527B2 (en) Reconfigurable processing system
EP0674443A2 (en) Start code detector for image sequences
JP3170744B2 (en) Start code detector
JP3423942B2 (en) Data processing system