JP3302538B2 - Start code detector - Google Patents

Start code detector

Info

Publication number
JP3302538B2
JP3302538B2 JP26675495A JP26675495A JP3302538B2 JP 3302538 B2 JP3302538 B2 JP 3302538B2 JP 26675495 A JP26675495 A JP 26675495A JP 26675495 A JP26675495 A JP 26675495A JP 3302538 B2 JP3302538 B2 JP 3302538B2
Authority
JP
Japan
Prior art keywords
data
token
stage
signal
pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP26675495A
Other languages
Japanese (ja)
Other versions
JPH08228345A (en
Inventor
フィリップ ワイズ エイドリアン
ローズマリー フィンチ ヘレン
フィリップ ロビンス ウィリアム
ジェームズ ボイド ケビン
ウィリアム ソザラン マルティン
Original Assignee
ディスコビジョン アソシエイツ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB9405914A external-priority patent/GB9405914D0/en
Application filed by ディスコビジョン アソシエイツ filed Critical ディスコビジョン アソシエイツ
Publication of JPH08228345A publication Critical patent/JPH08228345A/en
Application granted granted Critical
Publication of JP3302538B2 publication Critical patent/JP3302538B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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
    • 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

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、複数の異なる符号化
入力信号を復号及び/又は伸長するように機能する伸長
方法及び装置のシステムに関する。以下に記載する実施
例は説明的なものとして選択されたものであり、複数の
符号映像の標準を符号化に関する。特に、この実施例は
JPEG、MPEG及びH.261として知られる公知
の標準の一つの復号化に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a decompression method and apparatus system that functions to decode and / or decompress a plurality of different encoded input signals. The embodiments described below have been selected as illustrative and relate to encoding a plurality of encoded video standards. In particular, this embodiment relates to the decoding of one of the known standards known as JPEG, MPEG and H.261.

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

【0003】[0003]

【従来の技術】従来技術の一つに、米国特許第5,21
6,724号明細書に記載されているものがある。この
装置は複数の計算モジュールから成り、好ましい実施例
では、合計4個の計算モジュールが並列に接続されてい
る。個々の計算モジュールは、処理装置と、デュアルポ
ートメモリと、スクラッチパッドメモリと、アービトレ
ーション機構で構成されている。第1のバスはこれらの
計算モジュールとホストプロセッサを接続する。この装
置は、ホストプロセッサと計算モジュールに第2のバス
を介して接続された共用メモリを有する。
2. Description of the Related Art One of the prior arts is disclosed in U.S. Pat.
There is one described in US Pat. No. 6,724. The apparatus comprises a plurality of calculation modules, in a preferred embodiment a total of four calculation modules are connected in parallel. Each calculation module is composed of a processing unit, a dual port memory, a scratch pad memory, and an arbitration mechanism. A first bus connects these computing modules and the host processor. The apparatus has a shared memory connected to the host processor and the 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 disk medium and decoded at conventional video frame rates. During compression, regions of the frame are individually analyzed to select the optimal fill coding method specific to each region. Estimate the region decoding time and optimize the compression threshold. Area description codes indicating the size and position of the area are grouped in a first segment of the data stream.
The area fill codes indicating the pixel amplitude of the area are grouped by the type of fill code and placed in other segments of the data stream. Each data stream segment has a variable length encoded 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 as determined by the inverse frame sequence analysis, providing an average number selected to minimize pauses during playback of the compact disc. This avoids the unpredictable seek mode waiting time characteristics of the compact disc. The decoder includes a variable length decoder responsive to codestream statistical information for separately variable length coding 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 (eg, relative value, absolute value, binomial, and DPCM) of the fill code. . The decoded area pixels are stored in a bitmap format for later display.

【0005】米国特許第4,922,341明細書に
は、ディジタルTV信号用の画像データをシーン・モデ
ルを利用して縮小する方法が開示されている。ここで
は、順次供給される画像信号は符号化され、時間t−1
で既に符号化されているシーンからの前フレームは基準
として画像格納部に存在し、フレームからフレームの情
報は増幅係数、移動係数及び適応的に得られたクアド
(4本)ツリー分割構造からなる。システムが初期化さ
れると、均一な、所定の階調値又は規定の輝度値として
ハーフ・トーン表現された画像が送信機側のコーダの画
像格納部及び受信機側のデコーダの画像格納部に全ての
画素(ピクセル)に対して同様にして書き込まれる。コ
ーダの画像格納部及びデコーダの画像格納部の両方はそ
れぞれに対するフィードバックにより、コーダ及びデコ
ーダ内の画像格納部の内容が可変サイズのブロックで読
み出され、輝度値1より大きいかそれ未満の係数により
増幅され、この画像格納部の別のアドレスに書き込み可
能に動作する。それにより、可変サイズのブロックは公
知のクアドツリー構造に応じて編成される。
US Pat. No. 4,922,341 discloses a method for reducing image data for a digital TV signal using a scene model. Here, the sequentially supplied image signals are encoded, and the time t-1
The previous frame from the scene which has already been encoded in the above exists in the image storage unit as a reference, and the information of the frame from frame to frame consists of an amplification coefficient, a movement coefficient, and an adaptively obtained quad (four) tree division structure. . When the system is initialized, a uniform, predetermined tone value or a halftone representation image as a specified luminance value is stored in the image storage unit of the coder on the transmitter side and the image storage unit of the decoder on the receiver side. Writing is similarly performed for all pixels. Both the image storage of the coder and the image storage of the decoder are fed back to each other, so that the contents of the image storage in the coder and the decoder are read out in blocks of variable size, and the coefficients are greater than or less than one luminance value. It is amplified and operates so that it can be written to another address of this image storage unit. Thereby, blocks of variable size are organized according to a 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 comprises a high-quality video source signal for providing a hierarchically structured 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 the A priority selection circuit responsive to the coded words CW and T decomposes the coded word CW into a high priority and a low priority coded word sequence, so that the high and low priority coded word sequences are respectively used for image reproduction. On the other hand, it will correspond to compressed video data of relatively high and low importance. Transfer processors responsive to the high priority and low priority coded word strings form high priority and low priority transfer blocks of 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 check circuit which supplies additional error check data. The high-priority and low-priority data are then provided to the modem to quadrature amplitude modulate the corresponding transmission carrier.

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

【0008】米国特許第5,168,356号明細書に
は、符号化されたビデオデータを信号送信用の転送ブロ
ックに分割するビデオ信号符号化システムが開示されて
いる。送信されたデータが紛失又は壊れたときに受信機
がデータストリームへの再進入ポイントを決定可能にす
るヘッダデータ提供のおかげで、その転送ブロックフォ
ーマットは受信機側での信号回復を向上させる。再進入
ポイントは、対応する転送ブロック内の符号化ビデオデ
ータ中に挿入される二次的転送ヘッダを提供することに
より最大になる。
[0008] US Patent No. 5,168,356 discloses a video signal encoding system that divides encoded video data into transfer blocks for signal transmission. Its transport block format improves signal recovery at the receiver, thanks to the provision of header data that allows the receiver to determine the point of re-entry into the data stream when transmitted data is lost or corrupted. The re-entry point is maximized by providing a secondary transport header 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 the decimation, interpolation and shaping functions. A method is disclosed. This is realized by an array conversion processor or the like used in the JPEG compression system. The block of data samples is transformed by a discrete even cosine transform (DECT) in both the decimation and interpolation processes,
Thereafter, the number of frequency terms is changed. In the case of decimation, the number of frequency terms is reduced, after which an inverse transform is performed to produce a reduced size matrix of sample points representing the original data block. In the case of the interpolation process, zero additional frequency components are inserted into the frequency component array, and the subsequent inverse transformation produces a series of enlarged data samples without increasing the spectral bandwidth. In the case of a shaping process implemented by convolution or filtering with a 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 equal the number of samples in the data block. This is followed by the formation of a discrete odd cosine transform (DOCT) of the zero-inserted kernel matrix.

【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 log map video images over a telephone line band limited analog channel. The pixel configuration in the log map image is adapted to match the geometric arrangement of the human eye sensor where the pixels are more concentrated in the center. The transmitter divides the frequency band into channels and assigns one or two pixels to each channel. For example, a 3KHz voice quality telephone line is divided into 768 channels, each with an interval of 3.9Hz. 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 pixel are directly connected to a group of oscillators and the receiver can continuously receive each channel, the receiver does not need to synchronize with the transmitter. F
The FT algorithm performs a fast discrete approximation for the case of continuous operation in which the receiver synchronizes with the first frame and then obtains 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. In a pilot video call,
Four frames are transmitted per second, and orthogonal coding is performed on 1440 pixel log map images, and a speed of 40,000 per second is obtained.
An effective data transfer rate of 0 bits or more was obtained.

【0011】米国特許第5,185,819号明細書に
は、奇数及び偶数フィールドのビデオ信号がフレーム内
圧縮モードとフレーム間圧縮モードで順番に独立して圧
縮された奇数及び偶数フィールドのビデオ信号を有する
ビデオ圧縮システムが開示されている。独立して圧縮さ
れたデータの奇数及び偶数フィールドは、フレーム内偶
数フィールドが圧縮されたデータはフレーム内奇数フィ
ールドが圧縮された連続するフィールド間の途中で発生
するように送信のためにインターリーブされる。受信機
にとっては、インターリーブされた一連のフィールドに
より、送信データ量を増やすことなく符号化のための信
号への進入ポイント数が2倍になる。
US Pat. No. 5,185,819 discloses an odd and even field video signal in which odd and even field video signals are sequentially and independently compressed in an intra-frame compression mode and an inter-frame compression mode. Are disclosed. The odd and even fields of the independently compressed data are interleaved for transmission such that the compressed data of the even fields in the frame occurs halfway between successive fields of the compressed odd fields in the frame. . For the receiver, the interleaved sequence of fields doubles the number of entry points into the signal for encoding 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 apparatus comprises a plurality of calculation modules, in a preferred embodiment a total of four calculation modules are connected in parallel. Each calculation module is composed of a processing unit, a dual port memory, a scratch pad memory, and an arbitration mechanism. A first bus connects these computing modules and the host processor. Finally, the device has a shared memory connected to the host processor and the computing module via a second bus. In this method, each processing unit performs partial allocation of an image for processing.

【0013】米国特許第5,231,484号明細書に
は、提案されているISO/IECMPEG基準の使用
に適している開示される。これには、協動する3個の構
成要素又はサブシステムが含まれる。その画像に割り付
けられたビット数を考慮して最適の視覚品質を提供する
ために、この3個の構成要素又はサブシステムは入力さ
れるディジタル動画列を可変順応的に前処理し、ビット
を画像に順番に割り付けし、変換係数を画像の異なる領
域にビデオ順に適応的に量子化する。
US Pat. No. 5,231,484 discloses a suitable use of the proposed ISO / IEC MPEG standard. This includes three components or subsystems that work together. The three components or subsystems pre-process the incoming digital video sequence in a variable adaptive manner to provide the optimal visual quality taking into account the number of bits allocated to the image, , And the 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 of a moving image sequence in a computer system. The method comprises the steps of detecting a first scene change in a video sequence and generating a first key frame containing complete scene information for the first image. In the preferred embodiment, this first keyframe is known as a "forward" keyframe or intraframe and is typically present in CCITT compliant compressed video data. The process includes the step of generating at least one intermediate compressed frame, wherein the at least one intermediate compressed frame is a second temporally compressed image of the at least one image subsequent to the first image in the video sequence. It contains difference information from one image. This at least one image is known as an interframe. Finally, there is a step of detecting a second scene change in the moving image sequence and a step of generating a second key frame including complete scene information for an image displayed immediately before the second scene change. This second keyframe is known as a "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. When an image is played forward, the intra-frame may be used to generate complete scene information. When this scene is played back, a backward keyframe is used to play back the complete scene information.

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

【0016】米国特許第5,283,646号明細書に
は、リアルタイムビデオ符号化システムに画像を一度だ
け符号化しながら、フレーム毎に所望数のビットを精確
に送出させ、例えば通信チャンネルを介して送信される
画像を表わす係数を量子化するのに使用される量子化ス
テップサイズを更新する方法と装置が開示されている。
このデータは、複数のブロックを有するセクタに分割さ
れる。このブロックは、例えばDCT符号化を用いて符
号化され、各ブロック毎に係数列を発生する。この係数
は量子化され、データを記述するのに要するビット数は
量子化ステップに依っては、かなり変動する。各セクタ
のデータの送信の終了時には、この特定グループのデー
タと関連する選ばれた数のセクタに対して、使用された
実際の累積ビット数は、使用される所望の累積ビット数
と比較される。本システムは、例えば画像を表わす複数
のセクタに対して最終的所望のデータビット数を得るた
めに、量子化ステップサイズを再調整する。量子化ステ
ップサイズを再新して所望のビット割り付けを決定する
ため様々な方法が開示されている。
US Pat. No. 5,283,646 teaches a real-time video encoding system to precisely encode a picture once while accurately transmitting the desired number of bits per frame, eg, via a communication channel. A method and apparatus for updating a quantization step size used to quantize coefficients representing a transmitted image is disclosed.
This data is divided into sectors having a plurality of blocks. This block is coded using, for example, DCT coding, and generates a coefficient sequence 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 each sector of data, for a selected number of sectors associated with this particular group of data, the actual accumulated number of bits used is compared to the desired accumulated number of bits used. . The system re-adjusts the quantization step size, for example, to obtain the final desired number of data bits for the sectors representing the 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 Archi
tecture for Digital Image Processing)には、画像処
理に特に設計されたリアルタイムでの信号処理システム
が開示されている。具体的には、固定長のアドレスフィ
ールドを有する固定の1ワード長であるトークンをベー
スにしたデータフローアーキテクチャが開示されてい
る。トークンはデータフィールド、制御フィールド、お
よびタグから構成されている。トークンのタグフィール
ドは、更に、プロセッサアドレスフィールドおよび識別
子フィールドとに分けられる。プロセッサアドレスフィ
ードは、トークンを正しくデータプロセッサに送出する
ために用いられ、識別子フィールドは、データプロセッ
サにどのような処理を行うべきかを知らされるためにデ
ータにラベルを付ける目的に用いられる。この様にし
て,識別子フィールドは、データプロセッサに対しての
指示として作用する。システムは各トークンを、モジュ
ール番号(MN)を使って特定のデータフロープロセッ
サに送る。このMNが特別なステージのMNと一致する
場合は、適切な演算をデータに対して行う。もし一致し
ない場合は、トークンは出力データバスに送られる。
Wescon Technical Pa
pers) No. 2, October / November 1984, Yong M.
A paper by Chong, Yong M, “Data Flow Architecture for Digital Image Processing” (A Data-Flow Archi
(Tecture for Digital Image Processing) discloses a real-time signal processing system specifically designed for image processing. Specifically, a data flow architecture based on a fixed one word long token having a fixed length address field is disclosed. The token is composed of a data field, a control field, and a tag. The tag field of the token 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 to inform the data processor what to do. In this way, the identifier field acts as an indication to the data processor. The system sends each token to a specific data flow processor using a module number (MN). If this MN matches the special stage MN, an appropriate operation is performed on the data. If not, the token is sent to the output data bus.

【0018】IEEE J固体回路(Solid−St
ate Circuits)のVol.23、No.
1、1988年2月号の、キモリ(Kimori)他著
の「自己調整回路による弾性パイプライン機構」(An
Elastic Pipeline Mechani
sm by Self−Timed Circuit
s)では、自己調整回路を有する弾性パイプラインが開
示されている。非同期のパイプラインは複数のパイプラ
インステージを具備する。各パイプラインステージは、
パイプラインステージ特有の論理演算を行う組み合わせ
論理回路に続いて設けられている。入力データッラチグ
ループにより構成される。データラッチには、このパイ
プラインステージに伴うデータ転送制御回路から生成さ
れるトリガ信号が同時に供給される。データ転送制御回
路は相互に連結してチェーンを形成し、これを介して送
信信号線並びに肯定応答信号線により、後段のパイプラ
イン間のデータ転送をハンドシェークモードに制御して
いる。また、現在のパイプラインステージのオペランド
に対して行う演算を選択するために、通常デコーダが各
ステージに設けられている。更に、複雑な復号処理を予
めコード処理するために、また、論理回路にとって重大
な1経路の問題を軽減するために、前段にデコーダを配
置することもできる。サブモジュール間の相互作用は完
全に局所化した決定に基づき決められ、また、各サブモ
ジュールが独自にデータバッファリング及び自己調整デ
ータ転送を同時に行えるので、パイプラインの柔軟性に
より、いかなる集中制御も除去される。最後に、パイプ
ラインの柔軟性を増すために、空のパイプラインステー
ジを、占有されているパイプラインステージ間に設け、
各ステージ間での信頼性のあるデータ転送を確保してい
る。
An IEEE J solid circuit (Solid-St)
ate Circuits), Vol. 23, no.
1, February 1988, Kimori et al., "Elastic Pipeline Mechanism with Self-Adjusting Circuit" (An
Elastic Pipeline Mechani
sm by Self-Timed Circuit
In s), an elastic pipeline with a self-regulating circuit is disclosed. An asynchronous pipeline has multiple pipeline stages. Each pipeline stage is
It is provided following a combinational logic circuit that performs a logical operation unique to the pipeline stage. It is composed of input data latch groups. A trigger signal generated from a 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, and control the data transfer between the subsequent pipelines to the handshake mode via the transmission signal line and the acknowledgment signal line. A normal decoder is provided at each stage to select an operation to be performed on the operand of the current pipeline stage. Furthermore, a decoder can be arranged at the preceding stage in order to code a complicated decoding process in advance and to reduce a problem of one path which is important for a logic circuit. Interactions between sub-modules are determined based on completely localized decisions, and each sub-module has its own data buffering and self-adjusting data.
Since data transfer can occur simultaneously, the flexibility of the pipeline eliminates any centralized control. Finally, to increase pipeline flexibility, empty pipeline stages are provided between occupied pipeline stages,
Reliable data transfer between each stage is ensured.

【0019】米国特許第5,278,646号明細書は
各サブブロックに含まれる係数の数が選択可能であり、
各レイヤ内の係数の数を示すコードが各符号化ビデオシ
ーケンスの始めのビットストリーム挿入されている改良
されたデコード技術を開示している。この技術によれ
ば、選択された数の係数から連続スキャンに沿って各ス
ケールについてのサブブロックを形成することにより、
最も高位の解像度(resolution)レイヤにおけるゼロ係数
のオリジナルのランを不変とすることができる。これら
のサブブロックは逆離散コサイン変換を適当なゼロ埋め
込み(padding)により、あるいは各スケールから余分な
係数を廃棄することにより得られた正方形のサブブロッ
クに適用することにより標準形態で復号化される。この
技術は、さらに、明白なエンドオブブロック信号を分離
ブロックに与え、大部分の場合、明白なエンドオブブロ
ック信号を復号することを不要とすることにより復号効
率を向上する。
US Pat. No. 5,278,646 allows the number of coefficients contained in each sub-block to be selected,
Disclosed is an improved decoding technique in which a code indicating the number of coefficients in each layer has been inserted into the bitstream at the beginning of each encoded video sequence. According to this technique, by forming a sub-block for each scale along a continuous scan from a selected number of coefficients,
The original run of zero coefficients in the highest resolution layer can be unchanged. These subblocks are decoded in standard form by applying an inverse discrete cosine transform to the square subblocks obtained by appropriate zero padding or by discarding extra coefficients from each scale. . This technique further improves decoding efficiency by providing a distinct end-of-block signal to the separation block and, in most cases, eliminating the need to decode the distinct end-of-block signal.

【0020】米国特許第4,903,018号明細書は
構造的に関連した多重データシーケンスを圧縮/伸長す
る方法、及びデータ処理システムを開示する。データシ
ーケンス中の所定数の連続するデータ要素に共通な特性
を示すために分析が構造についてなされているデータセ
ットに特有のものである。データ要素の代わりに、拡張
の間に再び復号化されるコードが使われる。共通の特性
は、データシーケンスの数において同じ次数を有するデ
ータ要素を分析することにより求められる。拡張の期
間、コードを復号化することにより得られたデータ要素
はこれらのデータ要素の次数に基づいたこれらのデータ
シリーズの次数に基づいてデータシリーズ中で位づけら
れる。この方法を実行するデータ処理システムは格納マ
トリクス26と、関連するラインシーケンスにおいて格
納マトリクス26のラインアドレスを有するインデック
ス格納28とを具備する。
US Pat. No. 4,903,018 discloses a method for compressing / decompressing structurally related multiple data sequences and a data processing system. An analysis is specific to a data set whose structure has been analyzed to exhibit properties common to a predetermined number of consecutive data elements in a data sequence. Instead of a data element, a code that is decoded again during the extension is used. Common properties are determined by analyzing data elements having the same order in the number of data sequences. During the expansion, the data elements obtained by decoding the code are ranked in the data series based on the order of these data series based on the order of these data elements. A data processing system for performing this method comprises a storage matrix 26 and an index store 28 having the line address of the storage matrix 26 in the associated line sequence.

【0021】米国特許第4,334,246号明細書は
伝送、格納のための前もった圧縮にに続いてビデオを圧
縮する回路、及び方法を開示する。ここでは、ラスタ入
力スキャナにより発生されたオリジナルビデオは2ライ
ンの1ショット予測器によって動作し、ランレングス符
号化を用いて4、8、または12ビットのコードワード
に符号化され、1ビットデータワードにパックされる。
そして、伸長器は16ビットデータワードを結合しデー
タをアンパックし、各コードワードに分離し、コードワ
ードを全てが0の4ビットの多数のニブルに変換し、デ
コードデータを構成する1、または複数のビット1を有
するニブルを終端し、デプレディクタビットを生成する
ために現在スキャン中のラインの実際のビデオと現在の
ラインの以前のビデオビットとを調べ、最終的な実際の
ビデオを生成するためにデコードデータとデプレディク
タビットとを比較する。
US Pat. No. 4,334,246 discloses a circuit and method for compressing video following pre-compression for transmission and storage. Here, the original video generated by the raster input scanner is operated by a two-line one-shot predictor, encoded using run-length encoding into a 4, 8, or 12-bit codeword, and a 1-bit data word. Packed in.
Then, the decompressor combines the 16-bit data words, unpacks the data, separates each code word, converts the code words into a number of 4-bit nibbles, all of which are zero, and forms one or more of the decoded data. To terminate the nibble with bit 1 of the current line and examine the actual video of the line currently being scanned and the previous video bits of the current line to generate a depredictor bit to produce the final actual video The decoded data is compared with the predictor bit.

【0022】米国特許第5,060,242号明細書
は、どんなデータの損失もなく伝送効率を高めるために
隙間なく強固にパックされる可変長コードワードを生成
するために信号をDPCM符号化し、そして信号をハフ
マン、ランレングス符号化する画像信号処理装置を開示
する。この強固にパックされたワードを処理する装置は
バレルシフタ(barrel shifter)を有し、そのシフトモジ
ュラスはアキュムレータ受信コードワード長情報により
制御される。ORゲートがシフタに接続され、レジスタ
はゲートに接続される。この強固にパックされ相関を無
くされたディジタル信号を処理する装置はアンパッキン
グのためのバレルシフタ、アキュムレータと、ハフマン
デコーダ、ランレングスデコーダと、逆DCPMでコー
ダを具備する。
US Pat. No. 5,060,242 DPCM encodes a signal to produce a tightly packed variable length codeword without any data loss and to increase transmission efficiency without gaps. An image signal processing apparatus for performing Huffman and run-length encoding on a signal is disclosed. The robust packed word processing device has a barrel shifter, the shift modulus of which is controlled by the accumulator receive codeword length information. The OR gate is connected to the shifter, and the register is connected to the gate. An apparatus for processing this strongly packed and decorrelated digital signal comprises a barrel shifter for unpacking, an accumulator, a Huffman decoder, a run length decoder, and a coder with inverse DCPM.

【0023】米国特許第5,168,375号明細書
は、JPEG圧縮システムで採用されているようなアレ
イ変換プロセッサを使用して達成されるデシメーショ
ン、補間、シャープニングの1つ、または複数の機能を
提供するために、画像データサンプルのフィールドを処
理する方法を開示する。データサンプルのブロックはデ
シメーション、補間処理の両方において離散偶数コサイ
ン変換(DECT)により変換される。その後、周波数
項の数が変更される。デシメーションの場合は、周波数
項の数は減少され、その後、オリジナルデータブロック
を表わす減縮されたサイズのサンプルポイントを生成す
るために逆変換される。補間の場合は、ゼロ値を有する
付加的な周波数成分が周波数成分のアレイに挿入され
る。その後の逆変換はスペクトラム帯域を増加すること
なく拡大されたデータサンプリングセットを生成する。
データの変換と周波数領域におけるフィルタカーネルと
の乗算を含むコンボリューション、あるいはフィルタリ
ング操作により実現されるシャープニングの場合は、処
理済みのデータサンプルのブロックセットに帰する逆変
換処理を含む。ブロックは重複され、指定されたサンプ
ルが節約され、重複部分から余分なサンプルが捨てられ
る。線形位相フィルタについてのカーネルの空間表現は
成分数を減少することにより変更される。データブロッ
クのサンプル数を等しくするためにゼロが埋め込まれ
る。この後、埋め込まれたカーネルマトリックスの離散
奇数コサイン変換が行なわれる。
US Pat. No. 5,168,375 describes one or more of the decimation, interpolation, and sharpening functions achieved using an array conversion processor such as that employed in the JPEG compression system. Discloses a method of processing fields of an image data sample to provide Blocks of data samples are transformed by a discrete even cosine transform (DECT) in both the decimation and interpolation processes. Thereafter, the number of frequency terms is changed. In the case of decimation, the number of frequency terms is reduced and then inversely transformed to produce reduced size sample points representing the original data block. In the case of interpolation, additional frequency components with zero values are inserted into the array of frequency components. Subsequent inverse transforms produce an expanded data sampling set without increasing the spectrum bandwidth.
In the case of convolution involving data transformation and multiplication with a filter kernel in the frequency domain, or in the case of sharpening realized by a filtering operation, it involves an inverse transformation process resulting in a block set of processed data samples. The blocks are duplicated, saving designated samples and discarding extra samples from the overlap. The spatial representation of the kernel for a linear phase filter is modified by reducing the number of components. Zeros are padded to equalize the number of samples in the data block. Thereafter, a discrete odd cosine transform of the embedded kernel matrix is performed.

【0024】米国特許第5,231,486号明細書
は、高レベル、低レベルのプライオリティ可変長符号化
データワードを含むビットストリームを処理する高解像
度ビデオシステムを開示する。コードデータはそれぞれ
のデータパッキングユニットにより高プライオリティデ
ータパックと低プライオリティデータパックに分離され
る。コードデータは両パッキングユニットに連続して供
給される。コードデータの高プライオリティ成分長と低
プライオリティ成分長を表わす高プライオリティ長デー
タと低プライオリティ長データは高プライオリティデー
タパッカー、低プライオリティデータパッカーにそれぞ
れ供給される。高プライオリティデータが第1の出力パ
スを介して出力されるためにパックされる時、低プライ
オリティデータはゼロとされる。低プライオリティデー
タが第2の出力パスを介して出力されるためにパックさ
れる時、高プライオリティデータはゼロとされる。
US Pat. No. 5,231,486 discloses a high resolution video system for processing a bit stream containing high level, low level priority variable length encoded data words. The code data is separated into a high priority data pack and a low priority data pack by respective data packing units. Code data is continuously supplied to both packing units. The high priority length data and the low priority length data representing the high priority component length and the low priority component length of the code data are supplied to the high priority data packer and the low priority data packer, respectively. When the high priority data is packed for output via the first output path, the low priority data is zeroed. When the low priority data is packed for output via the second output path, the high priority data is zeroed.

【0025】米国特許第5,287,178号明細書
は、符号化ビデオデータをヘッダ部とデータパック部と
を有するトランスポートブロックに分割する信号処理部
を含むビデオ信号符号化システムを開示する。このシス
テムは記述されたシーケンスを始める信号処理をイネー
ブル化するために、記述された非同時位相シーケンスに
おいて、グローバルリセットの後に、システム構成要素
のリセットを解除するリセット制御回路も具備する。位
相リセット解除シーケンスは有効データがデータライン
を送信されていることが検出されると開始する。
US Pat. No. 5,287,178 discloses a video signal encoding system including a signal processing unit for dividing encoded video data into transport blocks having a header part and a data pack part. The system also includes a reset control circuit that releases the reset of system components after a global reset in the described non-concurrent phase sequence to enable signal processing to begin the described sequence. The phase reset release sequence starts when it is detected that valid data is being transmitted on the data line.

【0026】米国特許第5,124,790号(Nakayam
a)明細書は、イメージメモリとともに使用される逆量子
化器を開示する。逆量子化器は差分予測符号化(DPC
M)符号データを復号するために通常の使い方で使用さ
れる。
No. 5,124,790 (Nakayam
a) The specification discloses an inverse quantizer for use with an image memory. The inverse quantizer performs differential prediction coding (DPC
M) Used in normal usage to decode coded data.

【0027】米国特許第5,136,371号(Savatie
r et al.)明細書は、バッファのフル状態により決定さ
れ、可変であるアジャスタブル量子化レベルを有する逆
量子化器に関する。この従来技術の特徴は、最大のアジ
ャスタブルなデータレートを達成できることである。バ
ッファのオーバーフロー、あるいはアンダーフローは各
ブロックが符号化された後に再計算される量子化レベル
を用いて量子化器152、逆量子化器156の量子化ス
テップサイズを適応させることにより回避できる。量子
化レベルは、全バッファサイズに対するフレームについ
て既に符号化されたデータの量の関数として計算され
る。このように、量子化レベルはデコーダによって好ま
しく再計算され、伝送されることはない。
No. 5,136,371 (Savatie
r et al.) The specification relates to an inverse quantizer having an adjustable quantization level that is determined by the full state of the buffer and is variable. A feature of this prior art is that a maximum adjustable data rate can be achieved. Buffer overflow or underflow can be avoided by adapting the quantization step size of the quantizer 152 and the inverse quantizer 156 using the quantization level recalculated after each block is encoded. The quantization level is calculated as a function of the amount of data already encoded for the frame for the total buffer size. In this way, the quantization levels are preferably recalculated by the decoder and are not transmitted.

【0028】米国特許第5,142,380号(Sakagam
i et al.)明細書は、固体撮像素子を用いた電子スチル
カメラにより撮影されたような静止画についての画像圧
縮装置を開示する。ここで、用いられる量子化器は輝度
信号Yについての量子化マトリックスの閾値を格納する
記憶手段と、クロミナンス信号I,Qについての量子化
マトリックスの閾値を格納するROM15に接続され
る。
No. 5,142,380 (Sakagam
i et al.) discloses an image compression apparatus for a still image as captured by an electronic still camera using a solid-state imaging device. Here, the quantizer used is connected to storage means for storing the threshold value of the quantization matrix for the luminance signal Y and ROM 15 for storing the threshold value of the quantization matrix for the chrominance signals I and Q.

【0029】米国特許第5,193,002号(Guichar
d et al.)明細書は、CCITT規格H.261に関連
し、リアルタイムで画像信号を符号化/復号化する装置
を開示する。ディジタル信号プロセッサはダイレクト量
子化、逆量子化を行なう。
No. 5,193,002 (Guichar)
d et al.) The specification is based on CCITT standard H. 261, an apparatus for encoding / decoding an image signal in real time is disclosed. The digital signal processor performs direct quantization and inverse quantization.

【0030】米国特許第5,241,383号(Chen et
al.)明細書は、量子化パラメータを調整することによ
り実現される疑似コンスタントビットレートビデオ符号
化装置を開示する。量子化器32で用いられる量子化パ
ラメータは符号化回路により発生されるコードビットの
量を増加、または減少させるために周期的に調整され
る。次のピクチャグループを符号化するための量子化パ
ラメータの変化量は以前のピクチャグループの推定コー
ドビット数における以前のピクチャグループに対して符
号化回路により発生される実際のコードビット数の間で
測定された偏差によって決められる。符号化回路により
発生されるコードビット数は量子化ステップサイズを制
御することにより制御される。一般に、小さい量子化ス
テップサイズは多いコードビット数をもたらし、大きな
量子化ステップサイズは少ないコードビット数をもたら
す。
No. 5,241,383 (Chen et.
al.) The specification discloses a pseudo-constant bit-rate video encoding device implemented by adjusting the quantization parameter. The quantization parameters used in the quantizer 32 are adjusted periodically to increase or decrease the amount of code bits generated by the encoding circuit. The amount of change in the quantization parameter for encoding the next picture group is measured between the actual number of code bits generated by the encoding circuit for the previous picture group in the estimated number of code bits of the previous picture group. Determined by the deviations made. The number of code bits generated by the encoding circuit is controlled by controlling the quantization step size. In general, a small quantization step size results in a large number of code bits, and a large quantization step size results in a small number of code bits.

【0031】米国特許第5,113,255号明細書(N
agata et al.)、米国特許第5,126,842号明細
書(Andrews et al.)、米国特許第5,253,058号
明細書(Gharavi)、米国特許第5,260,782号明
細書(Hui)、米国特許第5,212,742号明細書(No
rmile et al.)は背景技術と一般的な技術の説明のため
に引用される。
No. 5,113,255 (N
agata et al.), U.S. Patent No. 5,126,842 (Andrews et al.), U.S. Patent No. 5,253,058 (Gharavi), U.S. Patent No. 5,260,782. (Hui), US Pat. No. 5,212,742 (No.
rmile et al.) are cited for background and general technical description.

【0032】[0032]

【発明が解決しようとする課題】本発明は、入力と、出
力と、前記入力と出力との間にある複数の処理ステージ
を有するパイプラインシステムにおいて、複数の処理ス
テージはパイプラインに沿ってトークンを伝送する2線
式のインターフェースにより相互接続され、制御トーク
ン、データトークンはパイプラインの中の全ての処理ス
テージとインターフェースし、パイプラインの中の選択
された処理ステージと相互作用するユニバーサル適応ユ
ニットの形態であり、パイプラインの処理ステージは構
成と処理において向上した柔軟性を与えられていること
を特徴とする改良されたパイプラインシステムに関す
る。本発明によれば、処理ステージは少なくとも1つの
トークンの認識に応答するように構成される。1つの処
理ステージは入力を受けてトークンを発生/変換するス
タートコード検出器である。
SUMMARY OF THE INVENTION The present invention is directed to 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 tokenized along the pipeline. The control token and the data token are interconnected by a two-wire interface that transmits all the processing stages in the pipeline and interact with the selected processing stages in the pipeline. Embodiments relate to an improved pipeline system, characterized in that the processing stages of the pipeline are provided with increased flexibility in construction and processing. According to the invention, the processing stage is configured to respond to recognition of at least one token. One processing stage is a start code detector that receives input and generates / converts a token.

【0033】本発明のトークンは、ピクチャのスタート
が次のデータトークンに後くことを指示するピクチャス
タートコードトークン、個々のピクチャのエンドを指示
するピクチャエンドトークン、バッファをクリアしシス
テムをリセットするフラッシュトークン、複数のピクチ
ャ圧縮/伸長規格のうちの選択された1つに従って処理
を実施するためにシステムを調整するコーディングスタ
ンダードトークンである。さらに、本発明は、ハフマン
デコーダと、インデックス/データ(ITOD)ステー
ジと、演算論理ユニット(ALU)と、システムの直後
に続くデータバッファ手段とを具備し、データサイズが
変化するビデオピクチャのための時間間隔が制御可能で
ある、ビデオデータの復号化のためのパイプラインシス
テムに関する。本発明によれば、処理ステージは入力デ
ータストリームを受信し、特定のビットストリームパタ
ーンを認識する手段を具備し、処理ステージはランダム
アクセスとエラー回復を容易にする。さらに、本発明
は、ピクチャデータデコーディングに対して明確な終了
を達成し、ピクチャのエンドを指示し、パイプラインを
クリアするピクチャストップアフタオペレーションを行
なう手段を具備する。改良されたパイプラインシステム
は、固定サイズかつ固定幅のバッファと、バッファを通
って任意の数のビットを通過させるためにバッファをパ
ディングする手段を具備する。本発明は、さらに、ラン
レングスコードを含むデータストリームを有し、ランレ
ベルコードを1つのレベルによって後続されるゼロデー
タの1つのランまで拡張するために、トークンからのデ
ータストリームによって作動化される逆モデラ手段を具
備し、指定された数の値によって各トークンが表現され
る。さらに、本発明は逆モデラステージと、逆離散コサ
イン変換ステージと、逆モデラステージと逆離散コサイ
ン変換ステージとの間に配置され、データ処理のための
トークン表に応答する処理ステージとを具備する。
The token of the present invention includes a picture start code token indicating that a picture starts after a next data token, a picture end token indicating the end of an individual picture, and a flash for clearing a buffer and resetting a system. Token, a coding standard token that adjusts the system to perform processing according to a selected one of a plurality of picture compression / decompression standards. Further, the invention comprises a Huffman decoder, an index / data (ITOD) stage, an arithmetic logic unit (ALU), and data buffer means immediately following the system, for video pictures of varying data size. The present invention relates to a pipeline system for decoding video data, wherein a time interval is controllable. According to the invention, the processing stage comprises means for receiving an input data stream and recognizing a particular bit stream pattern, the processing stage facilitating random access and error recovery. Further, the present invention comprises means for achieving a clear end to picture data decoding, indicating the end of a picture, and performing a picture stop after operation to clear the pipeline. The improved pipeline system comprises a fixed size and fixed width buffer and means for padding the buffer to pass any number of bits through the buffer. The invention further has a data stream comprising a run length code, and is activated by the data stream from the token to extend the run level code to one run of zero data followed by one level. It has an inverse modeler, and each token is represented by a specified number of values. Further, the present invention comprises an inverse modeler stage, an inverse discrete cosine transform stage, and a processing stage located between the inverse modeler stage and the inverse discrete cosine transform stage and responsive to a token table for data processing.

【0034】さらに、本発明は改良されたパイプライン
システムにおいて、H.261、JPEGまたはMPE
G規格いずれかのハフマンコード化条件に基づいてコー
ド化されたデータワードをデコードするハフマンデコー
ド手段を具備し、データワードは、それに基づいてデー
タワードがコード化されたハフマンコード規格を識別す
る識別子を含み、さらに、ハフマンコード化データワー
ドを受け取る手段と、受信したデータワードのハフマン
コード化をどの規格が管理したかを決定するために識別
子を読む手段と、必要に応じて、ハフマンコード化デー
タワードをH.261又はMPEGハフマンコード化済
みであると識別する識別子の読み取りに応答して、ハフ
マンコード化データワード受信手段に作動可能に接続さ
れ、指数生成手段から指数を受け取り、各JPEGハフ
マンコード化データワードと関連した指数を生成する手
段と、JPEGハフマン表情報を伝達するためにJPE
G規格に基づいて使用されたフォーマットを持つハフマ
ンコード表を含む参照用表を操作し、受信した指数に対
応してデコードされたデータワードを出力する手段とを
具備する。
Further, the present invention relates to an improved pipeline system, comprising: 261, JPEG or MPE
Huffman decoding means for decoding a data word coded based on any of the Huffman coding conditions of the G standard, wherein the data word has an identifier for identifying a Huffman code standard in which the data word is coded based on the Huffman decoding means. Means for receiving a Huffman coded data word; means for reading an identifier to determine which standard governed the Huffman coding of the received data word; and optionally, a Huffman coded data word. To H. In response to reading an H.261 or MPEG Huffman coded identifier, the Huffman coded data word is operatively connected to the Huffman coded data word receiving means for receiving an exponent from the exponent generation means, Means for generating an associated index, and a JPE to convey JPEG Huffman table information
Means for operating a look-up table including a Huffman code table having a format used in accordance with the G standard and outputting a decoded data word corresponding to the received exponent.

【0035】[0035]

【課題を解決するための手段】簡単に且つ一般的に、本
発明は、 入力と、 出力と、 前記入力と出力との間にある
複数の処理ステージであって、パイプラインに沿ってト
ークンを伝送するために2線インターフェースにより相
互接続されている複数の処理ステージと、 ユニバーサル
適応ユニットの形態である制御トークン及び/又はデー
タトークンであって、パイプライン内の全ての処理ステ
ージと相互作用し且つ制御のためにパイプライン内の選
択された処理ステージと相互作用する制御トークン及び
/又はデータトークンと、 処理ステージの間のデータ機
能及び/又は組合せ制御データ機能と、を提供し、 これ
により、パイプライン内の処理ステージには、構成及び
処理において向上した柔軟性を与えられる。
SUMMARY OF THE INVENTION Briefly and generally, a book
The invention resides between an input, an output, and the input and the output.
Multiple stages of processing, along the pipeline
Two-wire interface to transmit the
Multiple interconnected processing stages and universal
Control tokens and / or data in the form of adaptation units
Data tokens and all processing steps in the pipeline.
In the pipeline for interacting with and controlling
A control token that interacts with the selected processing stage; and
Data machine between data token and / or processing stage
Provides the ability and / or a combination control data function, which
With the processing stages in the pipeline, the configuration and
Provides increased flexibility in processing.

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

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

【0038】トークンは更に、このトークンに追加のワ
ードが存在することを示し、該トークン内の最終ワード
を識別する拡張ビットを含んでも良い。トークンのアド
レスフィールドは可変長でも良いし、典型的にはフマ
ン符号化されている。
The token may further include an extension bit that indicates that there are additional words in the token and identifies the last word in the token. Address field of the token may be a variable length, typically being hard fumarate <br/> down coding.

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

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

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

【0042】本発明によれば、1つのステージは入力を
受信しトークンを発生/変換するように構成されたスタ
ートコード検出器であり、スタートコード検出器はデー
タに応答し、トークンを生成し、スタートコードを検
索、検出し、その結果に応答してトークンを発生し、重
複スタートトークンを検出可能であり、第1のスタート
コードが無視され、第2のスタートコードがスタートコ
ードトークンの生成のために使われる。
According to the present invention, one stage is a start code detector configured to receive input and generate / convert a token, wherein the start code detector is responsive to data and generates a token; A start code is searched and detected, a token is generated in response to the result, a duplicate start token can be detected, the first start code is ignored, and the second start code is used for generating the start code token. Used for

【0043】スタートコード検出器ステージは検索モー
ドでは入力データを検索し、選択されたスタートコード
を見つける。検出器は入力データストリーム中の中断を
検索し、検索は外部のデータソースからのデータに対し
て行なわれる。スタートコード検出器ステージはスター
トコードトークン、ピクチャスタートトークン、スライ
ススタートトークン、ピクチャエンドトークン、シーケ
ンススタートトークン、シーケンスエンドトークン、お
よび/またはグループスタートトークンを生成する。ス
タートコード検出器ステージはトークンの最後のワード
にビットを埋め込むパディング機能を実行する。
In the search mode, the start code detector stage searches the input data to find the selected start code. The detector searches for interruptions in the input data stream, and the search is performed on data from external data sources. The start code detector stage generates a start code token, a picture start token, a slice start token, a picture end token, a sequence start token, a sequence end token, and / or a group start token. The start code detector stage performs a padding function that embeds bits in the last word of the token.

【0044】スタートコード検出器は、ディジタルビッ
トの直列ビットストリームとして配列されて別々にコー
ド化された複数のビットストリームを扱い、そして別々
にコード化されたスタートコードの対および前記直列ビ
ットストリームによって運ばれるデータを有するマシン
において、直列接続された第1、第2、第3ステージを
有するスタートコード検出器サブシステムを具備し、レ
ジスタの各々はビットストリームから異なる数のビット
を記憶し、第1のレジスタは1つの値を記憶し、第2レ
ジスタ及び第1レジスタに含まれる値と関連したスター
トコードを識別する第1のデコード手段と、この値を第
3レジスタの予め決められたエンドにシフトする回路手
段と、第3レジスタからデータを並列に受け入れるため
に配列された第2のデコード手段とを具備する。
The start code detector treats a plurality of separately coded bit streams arranged as a serial bit stream of digital bits, and carries a separately coded start code pair and the serial bit stream. A start code detector subsystem having first, second, and third stages connected in series, each of the registers storing a different number of bits from a bit stream; The register stores a value, first decoding means for identifying a start code associated with the second register and the value contained in the first register, and shifts the value to a predetermined end of the third register. Circuit means and a second array arranged to receive data from the third register in parallel. It includes a decode unit.

【0045】第2デコード手段に応答し、スタートコー
ドに関連した値のデコードの結果として記憶されている
1、または複数の制御トークンを出力するメモリを具備
する。レジスタらのデータの有効性を示すタグを扱う
複数のタグシフトレジスタが設けられている。システム
は、さらに、マイクロプロセッサインターフェース
の入力データストリームをアクセスする手段と、データ
ストリームをフォーマッティング/組織化する手段を具
備する。
A memory is provided for outputting one or a plurality of control tokens stored as a result of decoding the value associated with the start code in response to the second decoding means. Multiple tags shift register to handle the tag indicating the effectiveness of the register or these data are provided. The system further comprises means for accessing the input data stream of the microprocessor interface or al, means for formatting / organizing data stream.

【0046】本発明によれば、スタートコード検出器は
異なって復号化されたビットストリームに関連する可変
幅のスタートコードを識別する。検出器は入力データス
トリームから複数のデータトークンを発生する。システ
ムはパイプラインシステムであり、スタートコード検出
器はパイプラインシステムの第1ステージとして配置さ
れる。
According to the invention, the start code detector identifies a variable width start code associated with a differently decoded bit stream. The detector generates a plurality of data tokens from the input data stream. The system is a pipeline system and the start code detector is located as the first stage of the pipeline system.

【0047】本発明は、複数の処理ステージと、処理ス
テージ間における制御機能及び/又はデータ機能のため
の相互作用インタフェーストークンの形態の万能適応ユ
ニットを具備し、トークンはピクチャのスタートが次の
データトークンにおいて後続することを指示するピクチ
ャスタートコードトークンであるシステムを提供する。
The invention comprises a plurality of processing stages and a universal adaptation unit in the form of an interaction interface token for control and / or data functions between the processing stages, wherein the token is the next data start of the picture. Provide a system that is a picture start code token that indicates what follows in the token.

【0048】トークンは個々のピクチャのエンドを指示
するピクチャエンドトークンである。
The token is a picture end token indicating the end of each picture.

【0049】トークンはバッファをクリアし、入力から
出力までシステムを下流に進行するつれてシステムを
リセットするフラッシュトークンである。フラッシュト
ークンはパイプラインを下流側に進行するにつれてステ
ージを可変的にリセットする。トークンがは数のピクチ
ャ圧縮/伸長規格のうちの選択された1つに従って処理
を実施するためにシステムを調整するコーディングスタ
ンダードトークンである。
[0049] token clears the buffer, a flash token to reset the system brought in traveling through the system downstream from the input to the output. The flush token variably resets the stage as it proceeds down the pipeline. The token is a coding standard token that coordinates the system to perform processing according to a selected one of a number of picture compression / decompression standards.

【0050】コーディングスタンダードトークンはピク
チャ規格としてJPEG、及び/又は他の適当な規格を
指示する。少なくともいくつかの処理ステージはコーデ
ィングスタンダードトークンに応答して再構成される。
The coding standard token indicates JPEG as a picture standard and / or other suitable standards. At least some processing stages are reconfigured in response to the coding standard token.

【0051】システムの処理ステージの1つはハフマン
デコーダ・パーザーであり、コーディングスタンダード
トークンに応答して、パーザーはコーディングスタンダ
ードトークンにより指定されるピクチャ規格を扱うプロ
グラムの位置に対応したアドレス位置にリセットされ
る。リセットアドレスはハフマンデコーダ・パーザーを
テストするために使われるメモリ位置に対応するコーデ
ィングスタンダード制御トークンにより選択可能であ
る。
One of the processing stages of the system is a Huffman decoder parser, which, in response to the coding standard token, resets the parser to an address location corresponding to the location of the program that handles the picture standard specified by the coding standard token. You. The reset address is selectable by a coding standard control token corresponding to the memory location used to test the Huffman decoder parser.

【0052】ハフマンデコーダはデコードステージと、
インデックス/データステージとを具備し、パーザース
テージは、特別に識別されたコーディング標準に必要な
テーブルを選択するためにインデックス/データステー
ジに指示を送り、入来したデータが反転されたか否かを
示す。
The Huffman decoder has a decoding stage,
An index / data stage, wherein the parser stage sends instructions to the index / data stage to select the tables required for the specially identified coding standard, indicating whether the incoming data has been inverted. .

【0053】上述したトークンは相互作用メタモルフィ
クインターフェーストークンであってもよい。
The token described above may be an interacting metamorphic interface token.

【0054】本発明は、ハフマンデコーダ、インデック
ス/データユニット、演算論理ユニット、システムの直
後に続くデータバッファ手段とを具備し、データサイズ
が変化するビデオピクチャのための時間間隔が制御可能
であるビデオデータデコードシステムを提供する。
The present invention comprises a Huffman decoder, an index / data unit, an arithmetic logic unit, and data buffer means immediately following the system, wherein the time interval for video pictures of varying data size is controllable. Provide a data decoding system.

【0055】本発明は、処理ステージを相互接続する2
線インタフェースを具備し、インタフェースはデータに
関する直列処理および制御に関する並列処理を可能にす
る空間デコーダを提供する。
The present invention provides a method for interconnecting processing stages.
It has a line interface, which provides a spatial decoder that enables serial processing for data and parallel processing for control.

【0056】上述したように、本発明のシステムは複数
のピクチャ規格の各々に対して記憶された個別のプログ
ラムを持つROMを具備し、プログラムはトークンによ
って選択可能であり、複数のピクチャ規格に対する処理
の実施を容易にする。
As described above, the system of the present invention comprises a ROM having a separate program stored for each of a plurality of picture standards, the programs being selectable by tokens and processing for a plurality of picture standards. Facilitates the implementation of

【0057】本発明の空間デコーダシステムはトークン
をフォーマットするトークンフォーマッタを具備し、そ
の結果、データトークンが作成される。
The spatial decoder system of the present invention comprises a token formatter for formatting the token, so that a data token is created.

【0058】本発明のシステムは、デコードステージ
と、識別された特定のコーディング規格に対して必要な
表を選択するためのインストラクションをインデックス
/データユニットに送るパーザーステージを具備し、パ
ーザーステージは入来するデータが反転されるか否かを
指示する。表は、適当なテーブルを多重使用を可能とす
るメモリ内に配列されている。
The system of the present invention comprises a decode stage and a parser stage that sends instructions to the index / data unit to select the required table for the particular coding standard identified, the parser stage being the incoming. Indicates whether the data to be inverted is inverted. The tables are arranged in a memory that allows multiple use of the appropriate tables.

【0059】本発明は、入力データストリームを有し、
入力データストリームを受信する処理ステージを具備
し、処理ステージは指定されたビットストリームパター
ンを認識する手段を具備し、ランダムアクセス及びエラ
ー回復が容易であるパイプラインシステムを提供する。
本発明によれば、処理ステージはスタートコード検出器
であり、ビットストリームパターンはスタートコードを
含む。そのため、本発明はランダムアクセス及び強化さ
れたエラー回復を行なうために単一の直列データストリ
ームとして配列された異なる符号化データストリームを
探索するサーチモード手段を具備する。
The invention comprises an input data stream,
The present invention includes a processing stage for receiving an input data stream, the processing stage including means for recognizing a designated bit stream pattern, and provides a pipeline system that facilitates random access and error recovery.
According to the invention, the processing stage is a start code detector and the bit stream pattern comprises a start code. Therefore, the present invention comprises a search mode means for searching for different encoded data streams arranged as a single serial data stream for random access and enhanced error recovery.

【0060】本発明は、ピクチャデータデコーディング
に対して明確な終了を実現するためにピクチャアフタス
トップオペレーションを行い、ピクチャエンドを指示
し、パイプラインをクリアする手段を具備し、この手段
はピクチャエンドトークンとフラッシュトークンとの組
合せを発生するパイプラインマシンを提供する。
The present invention comprises means for performing a picture after stop operation to indicate a clear end to picture data decoding, indicating a picture end, and clearing the pipeline. Provide a pipeline machine that generates a combination of a token and a flash token.

【0061】本発明のパイプラインマシンは、固定サイ
ズかつ固定幅のバッファと、バッファを通って任意の数
のビットを通過させるためにバッファをパディングする
手段を具備し、パディング手段はスタートコード検出器
である。
The pipeline machine of the present invention comprises a buffer of fixed size and fixed width, and means for padding the buffer to pass an arbitrary number of bits through the buffer, wherein the padding means comprises a start code detector. It is.

【0062】パディングはトークンの最後のワードに対
して行なわれ、パディングはワードサイズの均一性を確
実とする。本発明によれば、再構成ステージが空間デコ
ーダとして設けられ、パディング手段は空間デコーダに
よって処理されているピクチャデータに対して空間デコ
ーダの出力において各伸長ピクチャが同じビット長を持
つような充分な付加ビットを加える。
The padding is performed on the last word of the token, and the padding ensures word size uniformity. According to the invention, the reconstruction stage is provided as a spatial decoder, and the padding means adds enough to the picture data being processed by the spatial decoder that each decompressed picture has the same bit length at the output of the spatial decoder. Add a bit.

【0063】本発明は、ランレングスコードを含むデー
タストリームを有するシステムにおいて、トークンから
のデータストリームによって作動化され、ランレベルコ
ードを1つのレベルによって後続されるゼロデータの1
つのランまで拡張する逆モデラ手段を具備し、指定され
た数の値によって各トークンが表現されるシステムを提
供する。
The present invention, in a system having a data stream containing a run length code, is activated by the data stream from the token, and the run level code is replaced by one level of zero data followed by one level.
A system is provided that includes an inverse modeler means that extends to one run, and each token is represented by a specified number of values.

【0064】逆モデラ手段は所定数の値が欠けているト
ークンを遮断し、好ましい実施例では所定数は64係数
である。
The inverse modeler means blocks tokens that lack a predetermined number of values, and in the preferred embodiment the predetermined number is 64 coefficients.

【0065】本発明を実施する装置は、ランレングスコ
ードを有するデータトークンを受け入れ、ランレングス
コードをデコードする拡張回路を具備する。パダー回路
は拡張回路と通信することによりデータトークンが所定
の長さを持つか否かを判定し、データトークンが所定の
長さよりも短い場合には所定長さに到達するまでデータ
トークンにデータ単位を加える。バイパス回路はデータ
トークン以外のトークンを拡張回路およびパダー回路を
回避させる。
An apparatus embodying the present invention includes an extension circuit that accepts a data token having a run length code and decodes the run length code. The padder circuit communicates with the extension circuit to determine whether or not the data token has a predetermined length. If the data token is shorter than the predetermined length, the data unit is written in the data token until the data token reaches the predetermined length. Add. The bypass circuit allows tokens other than data tokens to bypass the expansion circuit and padder circuit.

【0066】本発明によれば、バッファを効率的に満た
すためにデータを処理する方法において、下記のフォー
マットのうちの少なくとも1つを有し、第1の所定幅を
持つ第1のタイプのトークンを提供する: フォーマットA ― ExxxxxxLLLLLLLLLLL フォーマットB ― ERRRRRRLLLLLLLLLLL フォーマットC ― E000000LLLLLLLLLLL ここで、E=拡張ビット、F=特定フォーマット、R=
ランビット、L=レングスビット又は非データトーク
ン、x=「ドントケア」ビットである。
According to the present invention, in a method for processing data to efficiently fill a buffer, a first type of token having a first predetermined width and having at least one of the following formats: Provide: Format A-ExxxxxxxLLLLLLLLLLLL Format B-ERRRRRRLLLLLLLLLLLL Format C-E00000000LLLLLLLLLLLL where E = extended bit, F = specific format, R =
Run bit, L = length bit or non-data token, x = “don't care” bit.

【0067】フォーマットAトークンをELLLLLL
LLLLLの形のフォーマット0aトークンに分割し、
フォーマットBトークンをFRRRRRR00000の
形のフォーマット1トークンおよびフォーマット0aデ
ータトークンに分割し、フォーマットCトークンをFL
LLLLLLLLLLの形のフォーマット0トークンに
分割し、フォーマット0、フォーマット0a、フォーマ
ット1トークンを第2の所定幅を有するバッファにパッ
クする。
Format A token is set to ELLLLLL
Divided into format 0a tokens in the form of LLLLLL,
The format B token is divided into a format 1 token and a format 0a data token in the form of FRRRRRRR00000 and the format C token is FL
Divide into format 0 tokens in the form LLLLLLLLLL and pack the format 0, format 0a, format 1 tokens into a buffer having a second predetermined width.

【0068】さらに、本発明は、ビデオ圧縮/伸長規格
に対応する圧縮されたピクチャのグループに遅延時間を
供給するための装置において、圧縮されたピクチャを含
むデータワードが計数回路によりカウントされ、計数回
路と通信し、ビデオ伸長に関する規格に従って始動情報
を受け取り、始動情報を計数回路に伝達するマイクロプ
ロセッサを具備する。
Further, the present invention is directed to an apparatus for providing a delay time to a group of compressed pictures corresponding to a video compression / decompression standard, wherein a data word including the compressed picture is counted by a counting circuit. A microprocessor communicates with the circuitry, receives start-up information in accordance with standards for video decompression, and communicates the start-up information to a counting circuit.

【0069】データワードを受け入れ、データワードを
遅延する逆モデラ回路が計数回路と逆モデラ回路の中間
にある制御回路と通信し、制御回路は始動情報とデータ
のカウント済みワードとを比較し、制御回路に合図す
る。制御回路は始動基準に適合したデータワードに対応
する信号を待ち行列に入れ、逆モデラ遅延機能を制御す
る。
An inverse modeler circuit for accepting and delaying the data word communicates with a control circuit intermediate the counting circuit and the inverse modeler circuit, the control circuit compares the start information with the counted words of the data, and Signal the circuit. The control circuit queues signals corresponding to data words that meet the start criteria and controls the inverse modeler delay function.

【0070】本発明は、逆モデラステージ及び逆離散コ
サイン変換ステージを有するパイプラインシステムにお
いて、逆モデラステージと逆離散コサイン変換ステージ
との間に配置され、データ処理のためのトークン表に応
答する処理ステージを特徴とする。
The present invention relates to a process which is arranged between an inverse modeler stage and an inverse discrete cosine transform stage in a pipeline system having an inverse modeler stage and an inverse discrete cosine transform stage and responds to a token table for data processing. Features a stage.

【0071】本発明のトークンは処理ステージから量子
化テーブルを発生させる量子化テーブルトークンであ
る。
The token of the present invention is a quantization table token for generating a quantization table from the processing stage.

【0072】本発明は、H.261、JPEGまたはM
PEG規格いずれかのハフマンコード化条件に基づいて
コード化されたデータワードをデコードする手段を具備
し、データワードは、それに基づいてデータワードがコ
ード化されたハフマンコード規格を識別する識別子を含
み、更にハフマンコード化データワードを受け取る手段
を具備し、受取り手段は、受信したデータワードのハフ
マンコード化をどの規格が管理したかを決定する識別子
を読む手段、必要に応じて、ハフマンコード化データワ
ードをH.261又はMPEGハフマンコード化済みで
あると識別する識別子の読み取りに応答して、データワ
ードをJPEGハフマンコード化したデータワードに変
換する手段を具備し、ハフマンコード化データワード受
信手段に作動可能に接続され、指数生成手段から指数を
受け取る各JPEGハフマンコード化データワードと関
連した指数を生成する手段と、JPEGハフマン表情報
を伝達するためにJPEG規格に基づいて使用されたフ
ォーマットを持つハフマンコード表を含む参照用表を操
作し、受信した指数に対応してデコードされたデータワ
ードを出力する手段とを具備するハフマンデコーダも提
供する。
The present invention relates to 261, JPEG or M
Means for decoding a data word coded based on a Huffman coding condition of any of the PEG standards, the data word including an identifier identifying the Huffman code standard on which the data word was coded based thereon; Further comprising means for receiving a Huffman coded data word, the receiving means comprising means for reading an identifier which determines which standard governed the Huffman coding of the received data word, optionally a Huffman coded data word. To H. Means for converting a data word to a JPEG Huffman coded data word in response to reading an identifier identifying the H.261 or MPEG Huffman coded, and operably connected to the Huffman coded data word receiving means. Means for generating an index associated with each JPEG Huffman coded data word receiving the index from the index generating means, and a Huffman code table having a format used in accordance with the JPEG standard to convey JPEG Huffman table information. Means for manipulating the look-up table containing the data and outputting a decoded data word corresponding to the received exponent.

【0073】さらに、本発明はH.261、JPEG、
または、MPEG規格いずれかのハフマンコード化条件
に基づいてコード化されたデータワードをデコードする
ための方法において、データワードはそれに基づいてコ
ード化されたハフマンコード規格を識別する識別子を含
むものとし、ハフマンコード化データワードを受け取る
過程を具備し、受け取る過程は、受信したデータワード
のハフマンコード化をどの規格が管理したかを決定する
識別子を読む過程、必要に応じて、H.261、また
は、MPEGハフマンコード化済みとしてハフマンコー
ド化データワードを識別する識別子の読み取りに応答し
てデータワードをJPEGハフマンコード化データワー
ドに変換する過程を含み、受信した各JPEGハフマン
コード化データワードと関連した指数を生成する過程
と、指数を受信する過程、受信した指数に対応してデコ
ードされたデータワードを生成する過程とを有し、JP
EGハフマン表情報を伝達するためにJPEG規格に基
づいて使用されたフォーマットを持つハフマンコード表
を含む参照用表を操作する過程とを具備することを特徴
とする。
Further, the present invention relates to H.264. 261, JPEG,
Alternatively, in the method for decoding a data word coded based on any of the Huffman coding conditions of the MPEG standard, the data word includes an identifier identifying the Huffman code standard coded based thereon. Receiving a coded data word, comprising the steps of: reading an identifier that determines which standard governed the Huffman coding of the received data word; 261 or each JPEG Huffman coded data word received, including converting the data word to a JPEG Huffman coded data word in response to reading an identifier that identifies the Huffman coded data word as MPEG Huffman coded. Generating an index associated with the index, receiving the index, and generating a data word decoded according to the received index.
And operating a look-up table including a Huffman code table having a format used in accordance with the JPEG standard to transmit the EG Huffman table information.

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

【0075】用語説明 ブロック:8行8列の画素のマトリックス、又は64D
CT係数(ソース、量子化又は逆量子化)。
Terminology block: matrix of 8 rows and 8 columns of pixels, or 64D
CT coefficients (source, quantization or inverse quantization).

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

【0077】符号化表記:符号化形態で表わされたデー
タエレメント。
Coding notation: A data element represented in coding form.

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

【0079】符号化順番:画像が送信され符号化される
順番。この順番は必ずしも表示順番と同一である必要は
無い。
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.

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

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

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

【0083】復号化(処理):本明細書での定義では、
入力された符号化ビットストリームを読みだし復号化さ
れた画像又は音声サンプルを発生する処理。
Decoding (processing): According to the definition in this specification,
A process of reading an input encoded bit stream and generating decoded image or audio samples.

【0084】表示順番:復号化画像が表示される順番。
一般的には、これは画像がエンコーダに入力された順番
と同じである。
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.

【0085】符号化(処理):本明細書では特定されて
いないが、入力画像列又は音声サンプルを読みだし、本
明細書で定義されている有効な符号化ビットストリーム
を発生する処理。
Coding (Processing): A process of reading an input image sequence or audio sample, which is not specified in this specification, and generating a valid coded bit stream defined in this specification.

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

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

【0088】マクロブロック: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 of 16 × 16 parts of the luminance component of the image (for 4: 2: 0 chroma format), four (4: 2: 2) Chroma format) or 8 (4:
Corresponding 8.times.8 block of chrominance data for 4: 4 chroma format). A macroblock may also refer to pixel data, and may refer to an encoded version of a pixel value and other data elements defined in a macroblock header of the syntax defined herein. There is also. For a person skilled in the art, its use is also clear from the context.

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

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

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

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

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

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

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

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

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

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

【0099】[0099]

【作用】本発明によれば、複数の処理ステージと、処理
ステージの中で制御、データ機能を実行する相互作用イ
ンターフェース制御トークンの形態のユニバーサル適応
ユニットを具備し、処理ステージが構成、処理において
向上した柔軟性を与えられているパイプラインシステム
が提供される。
According to the present invention, there are provided 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. A pipeline system is provided that has been given increased flexibility.

【0100】[0100]

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

【0101】本発明の好ましい実施例に用いられるパイ
プラインシステムに使われる最も一般的な機能に関する
概説として、図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 six cycles of a six stage pipeline. (As will be described in further detail below, the preferred embodiment of the pipeline includes some advantageous features not shown in FIG. 1.) Referring now to the drawings, wherein: Throughout the figures, the same reference numbers indicate the same or corresponding elements, and, more particularly, FIG. 1 is a six-cycle block diagram for implementing the present invention. Each row of the box represents one cycle, and each of the different stages is categorized as A to F, respectively.
Each hatched box indicates that the corresponding stage holds valid data, that is, data to be processed in one of the pipeline stages. After processing (which may include nothing but a simple transfer without manipulation of the data), the valid data is transferred from the pipeline as valid output data.

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

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

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

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

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

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

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

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

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

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

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

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

【0114】図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 the VALID signal 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. Thus, the ACCEPT signal from stage E to stage D is HIGH, while the ACCEPT signal from a device connected downstream of the pipeline to stage F is LOW.

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

【0116】再び図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, for example, valid output data. Similarly, the VALID signal supplied from this 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 do not contain valid data. At the start, the VALID signal to pipeline stage A is HIGH, meaning that the data on the transmission line to the pipeline is valid.

【0117】同様に、この時点において、パイプライン
ステージFへのACCEPT信号はLOWであり、従っ
て、有効であると有効でないとに拘わらず、ステージF
からデータは転送されない。有効および無効データがパ
イプラインステージ間において転送されることに注意さ
れたい。価値のないデータを保管する無効データは重ね
書きされ、それにより、無効データをパイプラインから
除去する。ただし、有効データは処理用または例えば、
パイプラインステージ、当該パイプラインからのデータ
を受け取るパイプラインに接続されたデバイスまたはシ
ステムのような下流のデバイスにおいて使用するために
保管されなければならないので、有効データは重ね書き
されてはならない。
Similarly, at this point, the ACCEPT signal to pipeline stage F is LOW, so that regardless of whether it is valid,
No data is transferred from. Note that valid and invalid data is transferred between pipeline stages. Invalid data that stores invaluable 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 because it must be stored for use in a downstream stage, such as a pipeline stage, a device or system connected to the pipeline that receives data from the pipeline.

【0118】図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. A device (not shown) contains the data D4 to be transferred to the pipeline and processed. In addition to the upstream devices, stages B, D, and E contain valid data, so the VALID signal from each of these stages or devices to the subsequent device is HIGH. However, VALI from stages A, C, and F
The D signal is LOW because these stages do not contain valid data.

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

【0120】同様に、ステージ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 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.

【0121】図に示す例において、下流のデバイスは、
サイクル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 devices are:
The ACCEPT signal to stage F is still LOW because it is not yet ready to accept new data in cycle two. Therefore, stage F cannot accept new data. The reason is that 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, as in the case of the ACCEPT signal from stage E to stage D,
The CEPT signal goes LOW. However, all stages from A to D can accept new data (either these stages do not contain valid data or these data shift their valid data downstream) , And can accept new data), and these stages transmit this condition immediately before to the immediately preceding adjacent stage by setting the corresponding ACCEPT signal to HIGH.

【0122】サイクル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 the cycle 2 during the period in which the row is classified as the cycle 3. As an example, assume that a 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 are still "blocked", but in cycle 3, stage D has received valid data D3 and the overwriting of invalid data previously at this stage is complete. ing. Since in stage 3 stage D cannot supply data D3, this stage cannot accept new data, and therefore the ACCEPT signal to stage C goes low.
Set to OW. However, stages AC are ready to accept new data, and transmit this by setting the corresponding ACCEPT signal to HIGH. Note that data D4 has been shifted from stage A to stage B.

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

【0124】最終のパイプラインステージ(この例では
ステージ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 steps data one step each cycle. Only shift. Therefore, data D1 included in stage F in cycle 4 is shifted from the pipeline to the next device in cycle 5,
And all other data is shifted downstream by one step.

【0125】ここで、ステージ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 means, again, that stages DF cannot accept new data, and that the ACCEPT signal from these stages to the immediately preceding adjacent stage is low.
W. Thus, data D2, D3, and D4 cannot be shifted downstream, but data D5 is. Thus, the corresponding state of the pipeline after cycle 5 is shown in FIG.

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

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

【0128】サイクル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 in stage D, the ACCEPT signal propagates up the four stages to stage C in the direction going back. ACCE to stage F in cycle 4
If the PT signal goes high, it propagates against the flow to stage C. In other words, AC
Changes in the CEPT signal must propagate backward through four stages. However, in the embodiment shown in FIG. 1, if there is an intermediate stage that can accept new data, the ACCEPT signal need not propagate all the way back to the beginning of the pipeline.

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

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

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

【0132】比較を容易にするために、図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, the input data and ACCEPT to the pipeline embodiment shown in FIGS.
The signals are the same as in the pipeline embodiment shown in FIG. Thus, stages E, D, and B, 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 uppermost line that can be a bus is a data line. The middle line is the line through which the VALID signal is transferred, and the bottom line is the line through which the ACCEPT signal is transferred. Further, as before, the ACCEPT signal to stage F remains LOW except during cycle 4. Furthermore,
In cycle 4, additional data D5 is provided to the pipeline.

【0133】図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 embodiment of the pipeline includes a primary and a second data storage element. Represented as one block. 2 and 3, the primary data storage is shown as the right half of each stage. It should be understood, however, that this description is for illustrative purposes only and is not intended to be so limited.

【0134】図2、図3に示すように、ステージへのA
CCEPT信号がHIGHである限り、データは、任意
の所定サイクル期間中に、当該ステージの一次記憶エレ
メントから、その次のステージの二次記憶装置エレメン
トに転送される。従って、ステージFへのACCEPT
信号はLOWであるが、全ての他のステージへのACC
EPT信号はHIGHであり、その結果、データD1、
D2、及びD3はサイクル2において1つのステージだ
け前方にシフトされ、そして、データD4は、第1のス
テージAにシフトされる。
As shown in FIGS. 2 and 3, A
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, resulting in data D1,
D2 and D3 are shifted one stage forward in cycle 2, and data D4 is shifted to the first stage A.

【0135】この点までは、図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 stage F to stage E is HIGH. As explained below, due to the secondary storage element,
It is not necessary for the LOW ACCEPT signal to propagate beyond stage F and upstream. 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 F to the secondary storage element. Since both the primary and secondary storage elements of stage F contain valid data that cannot be supplied in this state, the A from stage F to stage E
The CCEPT signal is set LOW. Thus, this indicates that the LOW ACCEPT signal propagates back only one stage relative to cycle 2, in which case the ACCEPT signal travels backwards through stage C in the embodiment shown in FIG. Must be propagated to Stages A-E can supply their data, so the ACCEPT signal from that stage to the immediately preceding stage is set HIGH. Therefore, data D3 and D4 are shifted right by one stage. As a result, in cycle 4, the data is:
Stage E and stage C are loaded into the primary data storage elements, respectively. Stage E now contains valid data D3 in its primary storage element, but its secondary storage element stores other data without the danger of overwriting any valid data. Can still be used to

【0136】ここにおいて、以前の場合と同様に、ステ
ージ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 downstream devices to which the pipeline supplies data are ready to accept data from the pipeline. However, since the ACCEPT signal of stage F is set to LOW, it indicates to stage E that stage F is not ready to accept new data. The ACCEPT signal in each cycle period indicates what happens in the next cycle, ie, what data is supplied (AC
CEPT HIGH) or whether data must remain in place (ACCEPT LO
W) Please consider showing Thus, between cycle 4 and cycle 5, data D1 is provided from stage F to the next device, and data D2 is shifted from the secondary storage of stage F to the primary storage, but at stage E. Is not transferred to the stage F. ACCE of the next stage
Since the PT signal is HIGH, data D4 and D5 can be transferred to the next pipeline stage as usual.

【0137】サイクル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 elements by comparing the state of the pipeline in cycles 4 and 5, the pipeline embodiment shown in FIGS. 2 and 3 can be expanded; That is, it can be seen that the data storage element is released so that valid data can be advanced therein. For example, the data of these data blocks cannot be transferred until the ACCEPT signal to the stage F becomes HIGH.
In, the data blocks D1, D2 and D3 form a "solid wall". However, once this signal is HIGH
, The data D1 is shifted out of the pipeline,
Data D2 is shifted into the primary storage element of stage F, and if the next device cannot receive data D2 and the pipeline must also once "compress", the second stage of stage F 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 provided from stage D to stage E as usual.

【0138】図4、図5、図6、図7は、パイプライン
の好ましい実施例を全体的に示す。この好ましい実施例
は、位相がφ0およびφ1の2相非重複クロックを用い
て、図2、図3に示す構造を実現する。2相クロックが
好ましいが、本発明の様々な実施例を、2相以上のクロ
ックを用いてドライブすることも可能であることを理解
されたい。
FIGS. 4, 5, 6 and 7 generally show a preferred embodiment 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 present invention can be driven with more than one phase clock.

【0139】図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 primary and secondary storage elements. In addition, 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. An ACCEP
The change of 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 an upward arrow. Similarly, a change from HIGH to LOW is indicated by a down arrow. The transfer of data from one storage element to another storage element is indicated by a large open arrow. The VALID signal from the primary or secondary storage element at any given stage is assumed to be HIGH whenever the storage element contains valid data.

【0140】図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 as comprising one full cycle of non-overlapping clock phases φ0 and φ1. As will be described in more detail below, data is transferred from the secondary storage elements (shown as left boxes in each stage) to the primary storage elements (shown as right boxes 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 next stage during the clock cycle φ0. Similarly, FIGS. 4, 5, 6, and 7 illustrate that the primary and secondary storage elements at each stage are stored in the same manner as the ACCEPT signal is provided from stage to stage.
Indicates that it is further connected via an internal receiving line to provide a CCEPT signal. In this way, the secondary storage element will know when it can supply its data to the primary storage element.

【0141】図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. FIG. During this cycle, data D1, D2, and D3, which have already been shifted to the secondary storage elements of stages E, D, and B, respectively, are shifted to the primary storage elements of each stage. Therefore, the configuration of the pipeline during the φ0 phase of cycle 1 is the same as that of cycle 1 in FIG. As before, the ACCEPT signal to stage F is assumed to be LOW. However, FIGS. 4, 5,
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 replaces the ACCEPT signal with its secondary storage element. Is set to HIGH.

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

【0143】ステージ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 in cycle 2, so the ACCEPT signal from the primary storage element to the secondary storage element of stage F remains HIGH. is there. Thus, during the φ0 phase period in cycle 2, data can be shifted one step further to the right, ie, from the secondary storage element to the primary storage element in each stage. However, once the valid data is
Loaded to the primary storage element of stage F, ACCEPT from downstream device to stage F is still LOW
, The data cannot be shifted from the secondary storage element of stage F without overwriting and destroying the valid data D1. Thus, the ACCEPT signal from the primary storage element to the stage F secondary storage element will be low. However, the secondary storage does not contain valid data and its ACCEPT
Since the signal output was HIGH, the data D2 can still be shifted to the secondary storage of stage F.

【0144】サイクル3のφ1位相期間中は、データは
それより前の全てのステージ内においてシフト可能であ
るが、データD2をステージFの一次記憶エレメント内
にシフトすることは出来ない。ただし、有効なデータ
が、一旦、二次記憶エレメント内にロードされると、ス
テージFはこのデータを供給することができない。ステ
ージFはこのイベントを、そのACCEPT信号をLO
Wの外にセットすることにより送信する。
During the φ1 phase of cycle 3, data can be shifted in all earlier 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
Transmit by setting outside W.

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

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

【0147】ここで、図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.
Assume that devices connected downstream of the pipeline can accept pipeline data. This device puts the ACCEPT signal into the pipeline stage F during the φ1 phase of cycle 4
Send this event by setting to H.
Here, the primary storage element of stage F shifts data to the right, and the primary storage element of stage F can accept new data as well. Thus, since data D1 has been shifted during the φ1 phase of cycle 5, the primary storage element of stage F no longer contains the data that must be saved. Thus, during the φ1 phase of cycle 5, data D2 is shifted from the secondary storage element to the primary storage element in stage F. Stage F secondary storage elements can accept new data and signals by setting the ACCEPT signal HIGH in the stage E primary storage element. During one stage, i.e. 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 stored in the primary storage element. Also retained, this data in the secondary storage element is overwritable without data loss. The same is true for data transfer from the primary storage element of one stage to the secondary storage element of the next stage.

【0148】ここにおいて、サイクル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, ACCE is applied to the primary storage element of stage F.
Assume that the PT signal goes LOW. This means that stage F cannot transfer data D2 from the pipeline. Therefore, the stage F performs an ACC from its secondary storage element to its temporary storage element to prevent overwriting of valid data D2.
Set the EPT signal to LOW. However, stage F
The data D2 stored in the secondary storage element cannot be overwritten without loss, and as a result, data D3 is stored in the secondary storage of stage F during the φ0 phase of cycle 6. Transferred within the element. Data D4 and D5 cannot be shifted downstream as normal. Once valid data D3 is stored in stage F together with data D2, as long as the ACCEPT signal to the primary storage element of stage F is LOW,
Any secondary storage element cannot accept new data, and the secondary storage element sends this by setting the ACCEPT signal to stage E LOW.

【0149】下流のデバイスからパイプラインへの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 storage element (either in the same stage or in the previous stage). Inside the pipeline stage). Furthermore, this change propagates upstream in the pipeline by one storage element block per clock phase.

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

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

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

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

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

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

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

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

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

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

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

【0161】入力データラッチLDINからの出力デー
タは、任意かつオプションとしての組み合わせ論理回路
B1を経て供給し、この組み合わせ論理回路は、入力ラ
ッチLDINからの出力データを中間データに変換する
ために提供されることもあり、次に、この中間データは
後で出力データラッチLDOUTにロードされ、この出
力データラッチは上記の一次記憶エレメントから成る。
The output data from the input data latch LDIN is supplied 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. This intermediate data may then be later loaded into an output data latch LDOUT, which consists of the primary storage element described above.

【0162】出力データラッチ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 as OUT data to the next device. The next device may be another pipeline stage or another device connected to the pipeline.

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

【0164】同様に、所定のステージの出力妥当性検査
信号QVOUTは、その次のステージの妥当性検査入力
ラッチQVINの入力へ、直接、又は、中間デバイス又
は論理回路を経て接続しても差し支えない。この場合の
デバイスは、妥当性検査信号を変更するデバイスであっ
ても差し支えない。この出力QVINは、同様に、論理
ゲート(以下に説明する)に接続され、この論理ゲート
の出力は、受入れ入力ラッチLAINの入力に接続され
る。受入れ出力ラッチLAOUTからの出力QAOUT
は、任意に他の論理ゲートを経て類似の論理ゲート(以
下に説明する)に接続される。
Similarly, the output validation signal QVOUT of a given stage can 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 changes 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 receiving output latch LAOUT
Is connected to a similar logic gate (described below), optionally via another logic gate.

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

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

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

【0168】 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 in both cases, the inverter INV1 and the NAND gate NAND
The combination of 1 is logic "1". Therefore, the gate N
AND1 and the inverter INV1 have one input coupled directly to the QAOUT output of the receiving latch LAOUT and another single input coupled to the inverse of the output signal QVIN of the validation input latch LVIN.
This can be realized by an R gate.

【0169】同様に、デジタル設計技術において周知で
あるように、妥当性検査及び受入れラッチとしての使用
に適する多くのラッチは、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 a validation and acceptance latch have two outputs, Q, and NOT.
(Q), that is, Q, and its logical inverse. Therefore, if you choose this type of latch,
One input to the OP gate (and therefore) can be coupled directly to the NOT (Q) output of the validation latch LVIN. Gate NAND1 and inverter INV
1 can be realized using a known conventional technique. However, depending on the architecture of the latch used, a latch that does not invert the output is used, and the gate NAND1 and the inverter IN are used instead.
It may be more efficient to provide V1. Both of these can likewise be efficiently implemented in silicon devices. Thus, any known arrangement can be used to generate the Q signal and / or its inverse.

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

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

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

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

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

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

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

【0177】データラッチへの入力データが有効である
場合には、妥当性検査信号IN VALIDが「1」ま
で上昇することによってこれを指示する。次に、対応す
る妥当性検査ラッチの出力は、各クロック位相信号のそ
の次の上昇端において「1」まで上昇する。例えば、ク
ロック位相信号PH0のその次の上昇端において、対応
するIN VALID信号かHIGHになる(すなわ
ち、「1」に上昇する)場合、ラッチLVINの妥当性
検査入力信号QVINは「1」に上昇する。
If the input data to the data latch is valid, this is indicated by the validity check signal IN VALID 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, if the corresponding IN VALID signal goes HIGH (ie, rises to “1”), latch LVIN validity input signal QVIN rises to “1”. I do.

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

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

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

【0181】パイプラインにおいて有効なデータを保持
するラッチの全てをリセットすることが必要ではないこ
とに注意されたい。図8に示すように、妥当性検査入力
ラッチLVINは、リセット信号NOTRESET0に
よって直接リセットされず、間接的にリセットされる。
リセット信号NOTRESET0が「0」に降下するも
のと仮定する。受入れ出力ラッチLAOUT(ゲートN
AND1を経て)への入力がHIGHになると、その以
前の状態には無関係に、妥当性検査出力信号QVOUT
も同様に「0」まで降下する。同様に、受入れ出力信号
QAOUTも「1」に上昇する。次に、このQAOUT
値「1」は、「1」として、妥当性検査入力信号QVI
N状態には無関係に、受入れ入力ラッチ入力LAINへ
転送される。次に、受入れ入力信号QAINは、Nクロ
ック信号PH1の次の立ち上がりエッジにおいて「1」
まで上昇する。妥当性検査信号IN VALIDが正し
く「0」にリセットされたと仮定すれば、妥当性検査ラ
ッチLVINが直接リセットされていたならば、実施さ
れた時に、クロック信号PH0の次の立ち上がりエッジ
において、妥当性検査ラッチLVINからの出力は
」になる。
Note that it is not necessary to reset all of the latches that hold 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 reset signal NOTRESET0 drops to "0". Acceptance output latch LAOUT (Gate N
When the input to (via AND1) goes high, regardless of its previous state, the validation output signal QVOUT
Also falls to “0”. Similarly, the acceptance output signal QAOUT also rises to "1". Next, this QAOUT
The value “1” is regarded as “1” and the plausibility check input signal QVI
Regardless of the N state, it is forwarded to the accept input latch input LAIN. Next, the acceptance input signal QAIN becomes “1” at the next rising edge of the N clock signal PH1.
To rise. Assuming that the validity check signal IN VALID has been correctly reset to "0", if the validity check latch LVIN had been directly reset , when performed, at the next rising edge of the clock signal PH0, The output from the test latch LVIN becomes " 0 ".

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

【0183】図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ワードト
ークンの例を伝送順に次に示す。 拡張ビットEは、各データワードへの追加(好ましく
は)として使われることに注意されたい。更にアドレス
フィールドの長さは可変であっても差し支えなく、そし
て、第1ワードの拡張ビットの直後に伝送されることが
好ましい。
FIGS. 9 and 10 show the non-overlapping clock signal PH.
The two sides of the pipeline stage in the embodiment shown in FIG. 8 for the relationship between 0, PH1, the effect of the reset signal, the retention of the data, and the different orders of the validation and acceptance signals, and This shows the transfer of data during that time. In the examples shown in the timing diagrams of FIGS. 9 and 10, it is assumed that the outputs from the data latches LDIN, LDOUT are provided without further manipulation 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 actually shown for the input data (for example,
HEX data words "aa", or "04") are likewise merely illustrative examples. As noted above, the width of the input data bus is arbitrary (and can be analog) 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-"Tokens" In the sample application shown in FIG. 8, each stage is all Process input data. To provide 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 bits correspond to one of the following three types: address bits (A), data bits (D), or extension bits (B). As an example only, without necessarily having a restrictive meaning,
Assume that it is transferred as a word over a 0-bit bus with a 1-bit extended bit line. An example of a four-word token is shown below in transmission order. Note that the 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 bits of the first word.

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

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

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

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

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

【0189】一方、これら2つのブロックの間が直接接
続されていない場合であっても、ステージAが情報をス
テージCに伝達することができることは非常に望まし
い。ステージAとCの通信はステージBをへる場合に限
られる。トークンの1つの利点は、トークンがこの種類
の通信を達成する能力を備えていることである。トーク
ンを認識しないあらゆる処理ステージは変更しないトー
クンをその次のブロックに単に供給するに過ぎない。
On the other hand, it is highly desirable that stage A can transmit 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 case of going 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 unchanged block to the next block.

【0190】この例によれば、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 ( (Which can be of any length).
According to this example, every token that contains an extension bit that is HIGH ("1") is followed by a subsequent word that is part of the same token. This subsequent word also has an extension bit, which indicates whether there are any more token words in the token. If the stage encounters a token word whose extension bit is LOW (one "0"), it knows that the token word is the last word of the token. Therefore, the next word is assumed to be the first word of the new token.

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

【0192】本発明の場合には、「0」にセットされた
拡張ビットを与えることにより所定のトークンの最後の
ワードを送信するために、拡張ビットの状態を使用する
必要はない。好ましい実現計画への1つの代替案は、ト
ークンの最後のワードの代りにトークンの第1のワード
を示すように拡張ビットを移動させることである。これ
は、符号復号化ハードウェアを適切に改造することによ
って達成できる。
In the present invention, it is not necessary to use the state of the extension bit to transmit 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 bits to indicate the first word of the token instead of the last word of the token. This can be achieved by appropriate adaptation of the decoding hardware.

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

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

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

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

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

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

【0199】従って、長いトークンの用途はあるが、経
験によれば、短いトークンの用途も多いことが判明して
いる。ここでは、好ましい拡張ビット案が有利である。
トークンの長さわずかの1ワードである場合には、こ
れを送信するために、わずか1ビットが必要とされる。
ただし、カウント案には、前記の場合と同じ10ビット
を必要とする。
Thus, 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 length of the token is only one word, only one bit is needed to transmit it.
However, the counting scheme requires the same 10 bits as in the above case.

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

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

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

【0203】本発明に基づき、可変長さのアドレスフィ
ールドを可能にするために、ランダムデータが後続する
短いアドレスが、長めのアドレスと決して混同されない
ようにアドレスが選定される。アドレスフィールドをコ
ード化するための好ましい技術(意図したパイプライン
ステージを作動化するための「コード」としても役立
つ)は、ハフマンによって最初に開示され通称「ハフマ
ンコード」と呼ばれる周知の技術である。ただし、当該
技術分野における通常の熟練者であれば、他の符号化案
を用いても成功するであろうと言うことは理解される筈
である。
According to the present invention, to enable a variable length address field, the addresses are chosen such that a short address followed by random data is never confused with a longer address. 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 that a person of ordinary skill in the art will find that other encoding schemes will be successful.

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

【0205】ハフマンコードは、記号列によって構成さ
れたワードから成る(例えば本発明のようなデジタルシ
ステムの文脈においては、記号は、一般に2進数字であ
る)。コードワードの長さは可変あり、そして、ハフ
マンコードワードの特殊な性質は、短めのコードワード
を形成する記号で始まる長めのコードワードは有り得な
いようにコードワードが選択されることである。本発明
に基づけば、トークンアドレスフィールドは、既知のハ
フマン符号化技術を用いて選定されることが(必ずしも
必要ではないが)好ましい。
Huffman codes consist of words composed of a sequence of symbols (eg, in the context of a digital system 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 selected such that no longer codewords starting with the symbols forming the shorter codeword are possible. According to the present invention, the token address field is preferably (although not necessarily) selected using known Huffman coding techniques.

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

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

【0208】本発明に基づくトークン計画案の主要な利
点は、予測されなかった必要性への適応性を備えている
ことである。例えば、新規なトークンが導入される場
合、この導入は極く少数のパイプラインステージにのみ
影響するのが一般的である。最も有り得る場合は、僅か
に2つのステージ、または回路ブロックが影響されるこ
とである。即ち、一方のブロックはまず第一にトークン
を生成し、そして、いま一方のブロック又はステージ
は、この新しいトークンを扱うために新規に設計、或い
は、修正されたものである。その他のパイプラインステ
ージは、一切改造する必要のないことに注意しされた
い。それどころか、これらのステージは、この新規なト
ークンを認識せず、従って、改造されないトークンを供
給するので、これらのステージの設計を改造することな
しに、新規なトークンを扱うことができる。
A major advantage of the token scheme according to the present invention is that it has the flexibility to accommodate unexpected needs. For example, when a new token is introduced, the 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 generates tokens first, and the other block or stage is newly designed or modified to handle this new token. Note that the other pipeline stages do not require any modifications. On the contrary, these stages do not recognize this new token, and thus supply unmodified tokens, so that new tokens can be handled without modifying the design of these stages.

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

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

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

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

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

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

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

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

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

【0218】この例において、ラッチ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]−M
D[3]ビットは全て「0」であり、そして、ビットM
D[2]は「1」であり、そして、ゼロ−ワン位置にお
けるビットはあらゆる任意の値を持つ。
In this example, the latch LEPREV is:
Provision is made for storing 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 non-overlapping clock phase signal PH1. Thus, 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 extended bit value on the next rising edge of the clock signal PH0, the same signal that activates the extended 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 digital design art. The name "NM
"D [m]" indicates a logical inversion of the bit m of the mid data word MD [7: 0]. Using known Boolean techniques, the previous extension bit is "0" (QPPEV =
"0"), this logical block (NOR1
Output signal SA is HIGH ("1").
It can be shown that It can be seen that the data word structure at the output of the non-inverting Q latch (original input word) LDIN is "000001xx". That is, the five high-order bits, MD [7] -M
The D [3] bits are all "0" and the bit M
D [2] is "1" and the bit at the zero-one position has any arbitrary value.

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

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

【0221】本発明に基づく状態従属パイプラインステ
ージの別の簡単な例を図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 uses the signal LA to indicate the value of the previous output extension bit OUTEXTN.
Generate STOUTEXTN. 2 to the current and last extension bit latches LEOUT and LEPPEV respectively
One of the two enable signals (at the CK input) indicates that the data is valid and that the Q outputs from the output validation and acceptance latches LVOUT and LAOUT are being accepted, respectively, HI
GH), derive from gate AND1 so that these latches load only the new values for these latches. In this way, these signals hold only 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 two-wire valid / acceptable logic includes OR1 and OR2 gates supplied with downstream accept signals and input signals comprising the non-inverted outputs of validation latches LVIN and LVOUT, respectively. This illustrates one way that the gates NAND1 / 2 and INV1 / 2 in FIG. 8 can be replaced if the latch has an inverted output.

【0222】これは、「状態従属」パイプラインステー
ジの非常に簡単な例、即ち、ただ1つの単一ビットの状
態に依存する例であるが、パイプラインステージ間にお
いてデータが実際に転送される場合に限り、状態情報を
保持する全てのラッチが更新されることは全体的に真で
ある。換言すれば、データが双方共有効であり、そし
て、その次のステージによって受け入れられつつある場
合に限られる。従って、この種のラッチが適切にリセッ
トされていることを保証するために、注意しなけばなら
ない。
This is a very simple example of a "state-dependent" pipeline stage, ie one that relies on the state of only one single bit, but the data is actually transferred between the pipeline stages. Only if it is 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.

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

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

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

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

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

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

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

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

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

【0232】二重化ステージにおいて、データラッチ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 if the intermediate accept signal (see "MID ACCEPT" in FIGS. 13 and 14) is set HIGH.

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

【0234】図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 supplied from the form input to the logic gate N.
Form the inputs to the group of OR1, NOR2, NAND18. The output signal from gate NAND18 is indicated as S1. Using well known Boolean algebra, the output signal QI
It can indicate that 1 is "1" and that signal S1 is "0" only when the MID data word has the following structure. "000001xx", that is, the upper 5 bits are all "0", the bit MID data [2] is "1", and the bit and the MID data [0] position in the MID data [1] are any arbitrary values. have. Therefore, the signal S1 has the structure in which the MID data signal is scheduled and the latch LI
Acts as a "token identification signal" which is low only if the output from 1 is "1". The nature of the latch LI1 and its output QI1 will be further described below.

【0235】ラッチ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 at 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 that forms signal S1. As already explained,
Signal S1 simply falls to "0" when signal QI1 is "1" (and the MID data signal has the expected structure). Thus, the signal S1 simply 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.

【0236】ラッチ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, together 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, Boolean techniques show that in this condition, these NAND gates operate in the same manner as the inverter. That is, signal Q12 from the output of latch LI2 is inverted in NAND 20, and then this signal is
2 to form a signal S2. In this case, since there are two logical inversions in this path, the signal S
2 has the same value as QI2.

【0237】また、ラッチLO2の出力における信号デ
ータトークンがLI2への入力を形成するということが
分かる。その結果、QH1及びS1は両方共HIGHで
あるという条件に留まる限り、信号データトークンは、
その状態(「0」、または「1」)を保持する。クロッ
ク信号PH0、及びPH1がラッチ(それぞれL12、
及びLO2)をクロックしつつある場合にも、これは真
である。信号QI1、及びS1の1つ、または双方共に
「0」である場合、データトークンの値は変化可能であ
るに過ぎない。
[0237] The signal DATA Token at the output of latch LO2 is seen that forms the input to LI2. As a result, as long as QH1 and S1 both remain HIGH, the signal data token is:
The state (“0” or “1”) is maintained. Clock signals PH0 and PH1 are latched (L12,
And LO2) is also clocking. If one or both of signals QI1 and S1 are "0", the value of the data token can only be changed.

【0238】既に早期に説明したように、前の拡張ビッ
トが「0」であった場合に信号QI1は「0」である。
従って、NIDデータ値がトークンの第1ワードである
場合には何時でも、前期の信号は「0」である(そし
て、当該トークン用のアドレスフィールドが含まれ
る)。この条件において、信号S1は、「0」または
「1」のいずれかである。既に早期に説明したように、
MIDデータワードがこの例においてはデータトークン
を示す予定された構造を持つ場合には、信号S1は
「0」である。MIDデータワードが他の構造を持つ場
合には(当該トークンがデータトークンでない他のトー
クンであることを示す)、S1は「1」である。
As described earlier, signal QI1 is "0" when the previous extension bit was "0".
Thus, whenever the NID data value is the first word of a 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 already mentioned earlier,
If the MID data word has a predetermined structure indicating a data token in this example, 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".

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

【0240】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 (even though it is another input to NAND 22 from the output of NAND 20) The signal S2 is "1". As a result, this "1" value is loaded into latch LO2 at the start of the next PH1 clock phase, and the data token signal becomes "1", indicating that the circuit is processing the data token. .

【0241】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 NAND24 to form signal S3. As before, using Boolean algebra, it can be seen that signal S3 is "0" only if both signals QI2 and QI3 are at 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, if there is no valid data token (QI2 = 0) or if the data word is not duplicated (QI3 = 0), signal S3 goes high.

【0242】ここで、データトークン信号が、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 more than one clock signal. The NOT DUPLICATE signal (QO3) is "feedback" to latch LI3 and the gate N
The output signal QO3 is "0" because it is inverted by AND24 (its other input QI2 is held HIGH).
Toggles between and "1". However, if there is no valid data token, signal QI2 is "0", and signal S3 and output QO3 are forced high until the DATE token signal again becomes "1". The output QO3 (NOT DUPLICATE signal) is likewise fed back and a series of logic gates (together together) whose outputs are "1" only if 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 (a gate NAND1 followed by a gate INV16)
The output from 6) is likewise accepted.
To form This acceptance signal, as already mentioned,
Used in a two-wire interface structure.

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

【0244】有効なデータトークンが在る(データトー
クン信号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 latch is activated and, at most, data is available over 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, over 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 a valid data token (QO2 HIGH) is present and the validation signal QVOUT is HIGH.

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

【0246】このように、最初には所定のMIDデータ
がLEOUTにロードされ、関連しているOUTEXT
Nがハイに強制されるが、2番目には、OUTEXTN
は信号QEINと同じである。ここで、QEINがロー
であることが既知である1つのトークンの最終ワードの
期間中における条件について考察することとする。第一
の期間中、MIDデータがLDOUTにロードされ、O
UTEXTNは「1」であり、そして、第2の期間中、
OUTEXTNは「0」であって、当該トークンの真の
終了を示す。
Thus, first, predetermined MID data is 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 for which QEIN is known to be low. During the first period, MID data is loaded into LDOUT and OID
UTEXTN is "1" and during the second period,
OUTEXTN is “0”, indicating the true end of the token.

【0247】妥当性検査ラッチ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 well-known Boolean techniques, signal S5 will be HIGH when either validation signal QVIN is HIGH, or when signal QI3 is low (indicating that data is duplicated). It can be seen that it is. The MID data is loaded into LDOUT, and the intermediate extension bit (signal S4) is loaded into LEOUT while the signal S
5 is loaded into the validation output latch LVOUT.
Similarly, signal S5 is output validity check signal OUT VA
Combined with signal QO2 (data token signal) at logic gates NAND30 and INV30 to form the LID. As already mentioned earlier, OUT VALID is HIGH only if there is a valid token and the validation signal QVOUT is high.
It is.

【0248】本発明において、MID ACCEPT信
号は、ラッチLO1、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 two enable signals for latches LO1, LO2, and LO3.
6 is combined with signal S5 in a series of logic gates (NAND 26 and INV 26) that perform a well-known AND function. MID ACCEPT signal is H
IGH and whether the validation signal QVIN is high or whether the token is duplicated (QI3
Is signal S6 in the case of a is) There Zureka "0" rises to "1". When the signal MID_ACCEPT is HIGH, whenever the valid input data is loaded at the input of the stage, the clock signal PH1 is high, or if the latched data is duplicated, the latch LO1- LO3 is enabled.

【0249】以上の検討から、図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. The exception is that, as in the previous embodiment, the output signal from the receiving latch LAIN on the input side is combined with a toggling duplex signal, so that the data word is ready for a new word. It is output twice before.

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

【0251】トークンの第1データワードが当該ワード
の第3位置に「1」を配置し、そして、5つの高位ビッ
トに「0」を配置するまでは、図に示すステージが遂行
する二重化機能は実施されないことに注意されい。
(勿論、他の論理ゲートおよび図に示すNOR1、NO
R2、NND18ゲート以外の接続を選定することによ
り、必要とされるパターンは容易に変更および設定可能
である。)更に、図13、図14に示すように、第1デ
ータワードが記述の構造を持たない限り、OUT VA
LID信号は、トークン全体の期間中に亙って、ローに
強制される。これは、二重化プロセスを起こさせる1つ
のトークンを除く全てのトークンがトークンの流れから
削除させるような効果を発揮する。その理由は、出力端
子(OUTDATA、OUTEXTN、及びOUT V
ALID)に接続されたデバイスは、これらのトークン
を有効なデータとして認識しないからである。以前と同
様に、当該ステージにおける双方の妥当性検査ラッチL
VIN、LVOUTは、1つの単一コンダクタNOTR
ESETO、及び下流ラッチ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 stage shown in the figure is stomach has been noted that not carried out.
(Of course, the other logic gates and the NOR1, NO
By selecting a connection other than the R2 and NND18 gates, the required pattern can be easily changed and set. 13) Further, as shown in FIGS. 13 and 14, unless the first data word has the structure of the description, OUT VA
The LID signal is forced low throughout the entire token. This has the effect of causing all but one token that causes the duplication process to be removed from the token stream. The reason is that the output terminals (OUT DATA , OUTEXTN, and OUT V)
This is because devices connected to the ALID do not recognize these tokens as valid data. As before, both validation latches L in that stage
VIN and LVOUT are one single conductor NOTR
ESETO and one single reset input R of the downstream latch LVOUT allow it to be reset using a backward propagating reset signal to force the upstream validation latch low in the next clock cycle. It is.

【0252】図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 data contained in the data token is duplicated by the circuit ACCE.
Note that the PT and VALID signals are operable, so that more data serves only as an example of leaving the pipeline stage than reaching that input. Similarly, to merely illustrate how the circuit can operate the VALID signal to remove data from the stream,
In the examples shown in FIGS. 13 and 14, all non-data tokens are removed. However, in the most typical applications, the pipeline stage simply supplies without modification any tokens that the pipeline stage does not recognize. As a result, other stages further down the pipeline can act on said tokens as needed. FIG. 15 and FIG.
15 illustrates an example of a timing diagram for the data duplication circuit illustrated in FIGS. 13 and 14. This timing diagram shows the relationship between a two-phase clock signal, various internal and external control signals, and the manner in which data is clocked between the input and output of the stage and the data is duplicated. Reference is now made to FIG. 17 in more detail, which illustrates a reconfigurable process stage according to one aspect of the present invention.

【0253】入力ラッチ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 receives an input via the first bus 31. A first output from input latch 34 is provided to token decode subsystem 33 via line 32. The second output from input latch 34 is provided as a first input via line 35 to processing unit 3.
6. A 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 via line 40 to an action identification unit 39. In addition, action identification unit 39 receives inputs from registers 43 and 44 via line 46. Registers 43 and 44 are
Maintain the state of the machine as a whole. This state is determined by the history of previously received tokens. The output from action identification unit 39 is provided via line 38 to processing unit 36 as a third input. An output from the processing unit 36 is supplied to an output latch 41. The output from the output latch 41 is supplied via a second bus 42.

【0254】ここで、図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に供給される。
Here, referring to FIG. 18, a start code detector (SCD) 51 receives an input through a two-wire interface 52. This input is either in the form of a data token or a data bit in the data stream. A first output from the start code detector 51 is provided via a line 53 to a first logical first in first out (FIFO) buffer 54. The output from the first FIFO 54 is
, Is logically supplied to the Huffman decoder 56 as a first input. The second output from the start code detector 51 is provided as a first input via line 57 as D
It is supplied to the RAM interface 58. Furthermore, D
RAM interface 58 is connected via line 60
Receives input from 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. A first output from DRAM interface 58 is provided as a first physical input to Huffman decoder 56 via line 62. Huffman decoder 56
The output from is routed via line 63 as input to the index up to data (ITOD) 64. Huffman decoder 56 and ITOD 64 operate together as one logical unit. The output from ITOD64 is
An arithmetic logic unit (ALU) 66 is provided via line 65. The first output from ALU 66 is line 70
Is supplied to a read-only memory (ROM) state machine 68 via the. 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 a token format unit (TF) 71 via a line 70.

【0255】本発明にかかるTF71からの第1出力
は、ライン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 from TF 71 according to the present invention
Is supplied to a second FIFO 73 via a line 72. The output from the second FIFO 73 is provided as a first input via line 74 to an inverse modeler 75. A second output from T / F 71 is provided as a third input via line 76 to DRAM interface 58.
Supplied to A third output from DRAM interface 58 is provided as a second input to inverse modeler 75 via line 77. The output from the reverse modeler 75 is
It is provided as an input to inverse quantizer 79 via line 78. The output from inverse quantizer 79 is provided via line 80 as an inverse input to inverse zigzag 81 (IZZ). The output from IZZ 81 is provided via line 82 as an input to discrete inverse cosine transform 83 (IDCT). The output from IDCT 83 is line 84
Is supplied to the time decoder (FIG. 19).

【0256】ここで、更に詳細に図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 to FIG. 19 in more detail, a temporal decoder according to the present invention is shown in this figure. Fork 91 receives as input an output from IDCT 83 (FIG. 18) via line 92. As a first output from fork 91, a control token, such as a motion vector or the like, is provided via line 93 to an address generator 94. Further, the data token is provided to an address generator 94 for counting purposes. This data is provided as a second output from fork 91 to FIFO 96 via line 95. Next, the output from FIFO 96 is 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 an external DRAM (not shown) via line 91. The first output from the DRAM interface 100 is provided to the prediction filter 103 via line 102. The output from prediction filter 103 is provided as a second input to 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
07, it is supplied to the DRAM interface 100 as a second input. DRAM interface 1
The second output from 00 is the second input as line 108
Is supplied to the output selector 104 via The output from the output selector 104 is supplied to the moving image formatting unit (FIG. 20) via a line 109.

【0257】ここにおいて、図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
に供給される。
Here, referring to FIG. 20, the fork 111 receives an input from the output selector 106 (FIG. 19) via the line 112. As a first output from fork 111, address generator 114 is supplied with a control token via line 113.
The output from the address generator 114 is as a first input
DRAM interface 116 via line 115
Supplied to The data from the fork 111 as the second output is provided via line 117 as the second input as D
It is supplied to the RAM interface 116. The signal is
DRAM interface 11 via line 118
6, the data is transmitted to and received from an external DRAM (not shown). The output from the DRAM interface 116 is sent via line 119 to the display pipe 120
Supplied to

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

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

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

【0261】ここにおいて、図23を参照することと
し、MPEG及びCIFの両方に関し、エンコーダの出
力は、データストリーム151の形をとることが分か
る。デコーダは、このデータストリーム151を受け取
る。次に、デコーダは、イメージを符号化するために使
われたフォーマットに応じてイメージを復元することが
できる。デコーダが、各規格に関するスタート及びエン
ドポイントを認識可能にするためには、データストリー
ム151は、33ブロック152の長さに分割される。
Referring now to FIG. 23, it can be seen that for both MPEG and CIF, the output of the encoder is in the form of a data stream 151. The decoder receives this data stream 151. Next, the decoder can reconstruct the image according to 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 in length.

【0262】図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 an area of values that can be selected from the table by the Huffman decoder 56 (FIG. 18) of the present invention. These values are based on the MPEG decoder and H.264. 2
This is a value that can be duplicated for a particular decoder and a particular H.61 decoder by one single table selection.
261 format is decoded.
Similarly, these values are duplicate values for the MPEG and JPEG decoders, indicating that one single table selection decodes both a particular MPEG and a particular JPEG format. Furthermore,
H. The 26l value and the JPEG value do not overlap, indicating that no single table selection exists to decode both formats by themselves.

【0263】さて、図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を処理するこ
とが可能となる。
Reference is now made to FIG. 25 in more detail, which shows an overview of variable length picture data based on the 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 includes a second picture start token 166, second picture information 16 of unlimited length.
7 and a second picture end token 168. Picture start tokens 162 and 166 are
The start of the pictures 161 and 165 for the processor is shown. Similarly, the picture end tokens 164 and 168 indicate the end of the pictures 161 and 165 to the processor. This allows the processor to:
The variable length picture images 163 and 167 can be processed.

【0264】図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 an input via line 172. Split 171
Is provided to address generator 174 via line 173. The address generated by the address generator 174 is output on line 175 via the DRA
M interface 176. Signals are sent and received by a DRAM interface 176 via line 177 to and from an external DRAM (not shown). A first output from the DRAM interface 176 is provided via line 178 to the prediction filter 17.
9. The output from prediction filter 179 is provided as a first input to adder 181 via line 180. The second output from split 171 is provided via line 182 to a first-in first-out buffer (FIFO).
O) Supplied as input to 183. FIFO 183
Is provided as a second input to summer 181 via line 184. The output from the adder 181 is supplied to a write signal generator 186 via a line 185. A first output from write signal generator 186 is provided to DRAM interface 176 via line 187. A second output from the write signal generator 186 is provided via a line 188 to the read signal generator 1.
Supplied as a first input to 89. A 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 connected to the line 19
1 to video formatting (not shown in FIG. 26).

【0265】図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 has, as a first input,
The signal is supplied to an adder 203 via 202. The backward prediction filter 204 has as its second input line 2
The signal is supplied to the adder 203 through the line 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. As a result, each macroblock 212 has four luminance luminance blocks 213,
And two chrominance blocks 214 and have information about the original 16 × 16 block of pixels. The size of each of the four luminance blocks 213 and two chrominance blocks 214 is 8 × 8 pixels. The four luminance blocks 213 are 1
Pixel Pixel has a pixel-by-pixel mapping of luminance (Y) information for the original 16x16 block of pixels. 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 includes the chrominance level of its color signal for the entire original 16 × 16 block of pixels.
Subsampled.

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

【0267】デコードレジスタ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ルックアップ
テーブル(図示されず)を用いて情報をトークンイメー
ジに変換する。インデック/トークンスコンバータ23
4によって生成されたトークンイメージは、ライン23
7を介して出力される。ライン237の幅は15ビット
であり、一度に15ビットの並列伝送が可能である。
The second output from decode register 224 is provided in series to value decode shift register 230 via line 229. The value decode shift register 230 can hold one data value image having a bit length of 15. Partial area 23
As indicated by 1, the 8-bit data value following the start code image is shifted to the right of the value decode shift register 230. As discussed below, this process eliminates duplication of start code images. A first output from the value decode shift register 230 is via line 232
The value is supplied to the value decoder 228. Line 232 is 15 bits wide, allowing for a parallel transmission of 15 bits at a time. The value decoder 228 decodes the value image using a first lookup table (not shown). Value decode shift register 23
The second output from 0 is provided via a line 235 to a value decoder 228 which provides a flag to the index / token converter 234. In addition, the value decoder 228 provides an index /
The information is supplied to the token converter 234. Information 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. Line 236 is 15 bits wide,
Enables 15 bit parallel transmission at a time. In the present invention, 15 bits were selected as the width in this case, but it should be understood that bits of other lengths could be used. Index / token converter 234 is provided in Table 12-3 of the user's manual.
The information is converted into a token image using a second lookup table (not shown) similar to the lookup table obtained. Index / Tokens Converter 23
The token image generated by line 4 is line 23
7 is output. The width of the line 237 is 15 bits, and parallel transmission of 15 bits at a time is possible.

【0268】図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 a 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 detects that the second start code image 24 that overlaps the first data value image 244 in length 246.
5 could 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.

【0269】図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ビットの並列伝送を可能にする。
Referring to FIG. 31, flag generator 251 includes:
Data is received via line 252 as a first input. Line 252 is 15 bits wide, 15 bits at a time.
Enables parallel transmission of bits. Similarly, flag generator 251 receives the flag as a second input via line 253 and receives an input valid image via a first two-wire interface 254. A first output from the flag generator 251 is provided via a line 255 to an input valid register (not shown). The second output from flag generator 521 is provided via line 256 to decode index 257. The decode index 257 produces the following four outputs.
That is, the picture start image is output via line 258, and the picture number image is output via line 259.
And the insert image is output on line 260
, And the replacement image is output via line 261. Data from the flag generator 251 is provided via line 262a. The header generator 263 uses a look-up table to generate a replacement image, which is provided via 262b. The extra word generator 264 outputs the MP to generate the insert image.
Using U, the insert image is provided via line 262c. Line 262a connects to output latch 265
To form the first input to the 262 line. Output latch 265 outputs data via line 266. Line 266 is 15 bits wide,
Enables 15 bit parallel transmission at a time.

【0270】入力有効レジスタ(図示されず)は、ライ
ン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 as a first input to first OR gate 267 via line 268. The insert image is provided via line 269 as a second input to first OR gate 267. The output from the first OR gate 267 is provided via line 271 as a first input to a first AND gate 270. The logical negation of the remove image is provided via line 272 to the first AND gate 27
0 as the second input to line 273
, As a second input to the output latch 265. Output latch 265 provides an output valid image via a second two-wire interface 274. The output accept image is the second two-wire interface 2
Via 74, it is received by the output accept latch 275. The output from the output accept latch 275 is
An output accept register (not shown) is provided via line 276.

【0271】出力アクセプトレジスタ(図示されず)
は、ライン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)
Is connected via a line 278 to the second OR
The image is supplied to the gate 277. The logical negation of the output from the input valid register is provided via line 279 to the second
It is provided as a second input to OR gate 277. The removed image is provided via line 280 as a third input to a second OR gate 277. The output from the second OR gate 277 is sent to the second
Provided as a first input to ND gate 281. The logical negation of the insert image is via line 283:
It is provided as a second input to a second AND gate 281. The output from the second AND gate 281 is
4 to the input accept latch 285. The output from the input accept latch 285 is provided via a first two-wire interface 254. Table 600 Format Received Image Token 1 H. H.261 Sequence start Sequence start MPEG picture start Group start JPEG None Picture start Picture data 2H. 261 None Picture end MPEG None Padding JPEG None Flash stop after picture As shown in Table 600 showing the relationship between the presence and absence of a standard signal in a specific machine independent control token, image detection by the start code detector 51 Generates a series of machine independent control tokens. Each image listed in the "Received Images" column starts generating all machine independent control tokens listed in the group in the "Generated Token" column. As shown in the first row of Table 600, H.264. "Sequence start" during 261 processing period
Whenever an image is received or a "picture start" image is received during PEC processing, a full group of four control tokens is generated, each with its corresponding one or more data. Followed by value. Further, as shown in the second row of table 600, a 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 One row of the table 601 showing the timing relationship between the transmitted picture and the displayed picture. Thus, picture frames are displayed in numerical order. However,
The frames are transmitted in a different order to reduce the number of frames that must be stored in memory. It is beneficial to start the analysis with intra-frames (I-frames). The I1 frames are transmitted in the order in which they are to be displayed. Next, the next predicted frame (P frame) P4 is transmitted. Next, any bidirectionally 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 and P4 frames, the next P frame, P7, is transmitted. Next, all B frames corresponding to B5 and B6 to be displayed between the P4 and P7 frames are transmitted. Next, 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. Transmitting frames in this order requires that only two frames be held in memory at any one time, and the transmission of the next P or I frame to display intermediate B frames. It does not require the decoder to wait.

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

【0273】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が周知であるので、これらの規格の詳細
な仕様について、ここでは繰り返さない。
[0273] 1. 1. Multi-standard configuration JPEG still image of the decrypted 3. 3. Decompression of video RAM memory map 5. 5. Characteristics of bit stream 6. Reconfigurable processing stage 7. Multi-standard coding 8. Multi-standard processing circuit-second operation mode 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 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 analysis system) Various discrete cosine transformers 27. Buffer manager Multi-Standard Configuration As shown in the aforementioned US Pat. No. 5,212,742, various compression standards, ie, JPEG, MPEG,
And H. Since H.261 is well known, detailed specifications of these standards will not be repeated here.

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

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

【0276】本発明にかかる好ましい多重規格動画デコ
ーダ実施例において、空間デコーダ及び時間デコーダ
は、MPEG符号化信号およびH.261動画符号復号
化システムの両方を実現することを必要とする。これら
双方のデバイスのDRAMインターフェースは、小さい
ピクチャフォーマットを用い、そして、低いコード化デ
ータレートにおいて運用している場合には、必要とされ
るDRAMの量を少なくするために構成可能である。こ
れらのDRAMの再構成については、DRAMインター
フェースに関連して以下において更に説明することとす
る。一般に、各々の時間デコーダ及び空間デコーダ回路
によって1つの単一4メガバイトDRAMが必要とされ
る。
[0276] In the preferred multi-standard video decoder embodiment of the present invention, the spatial decoder and the temporal decoder comprise an MPEG coded signal and an H.264 video signal. 261 video encoding and decoding system. The DRAM interface of both of these devices uses a small picture format and can be configured to reduce the amount of DRAM needed 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 megabyte DRAM is required for each temporal and spatial decoder circuit.

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

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

【0279】図18に関して以前に説明したように、デ
ータは、ハフマンデコーダ及びパーザーに先行するスタ
ートコード検出器、FIFO、第2のFIFOレジス
タ、逆モデラー、逆量子化器、逆ジグザグ及び逆DCT
を介して到着する。2つのFIFOは、チップ上に所在
する必要はない。一実施例において、データは、チップ
上に所在するFIFOを通って流れない。データは、D
RAMインターフェースに供給され、そして、FIFO
−IN記憶レジスタ及びFIFO−OUTレジスタは、
両方の場合に、チップ外に所在する。オペレーションが
規格とは完全に独立しているこれらのレジスタについて
は、続いて更に詳細に説明する。
As previously described with respect to FIG. 18, the data consists of 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.
Arriving through. The two FIFOs need not be located on the 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- OUT 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.

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

【0281】図19において、規格から独立したユニッ
トには、DRAMインターフェース100、フォーク9
1、FIFOレジスタ96、加算器98、及び出力セレ
クタ106が含まれる。規格従属ユニットは、H.26
1とMPECにおいて異なるアドレス発生器94、及び
H.261及びMPEGの両方に適合するように再構成
可能な予測フィルタ103である。JPEGデータは、
一切変更されない機械全体を通って流れる。
In FIG. 19, units independent of the standard include 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 H.264. 26
Address generator 94, which differs between H.1 and MPEC; The prediction filter 103 can be reconfigured to conform to both H.261 and MPEG. JPEG data is
It flows through the whole machine, which is not changed at all.

【0282】図20は、動画フォーマッティング部チッ
プのハイレベル構成図を示す。このチップの殆どの部分
は規格から独立している。規格によって影響される僅か
な項目は、MPEG又はJPEGと異なるH.261の
場合にはDRAMにデータが記入される方法であり、そ
して、H.261においては、全ての単一ピクチャをコ
ード化する必要はない。ピクチャを何時ディスプレイし
ようと意図するかに関するいくらかの情報を提供し、そ
して、動画フォーマッティング部におけるロジックのア
ドレス発生タイプによっても扱われる時間基準として参
照されるいくらかのタイミング情報がある。
FIG. 20 shows a high-level block diagram of the moving image formatting unit chip. Most parts of this chip are standard independent. The few items affected by the standard are H.264, which differs from MPEG or JPEG. In the case of H.261, data is written in the DRAM. In H.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 handled by the address generation type of the logic in the video formatting unit.

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

【0284】本発明のスタートコード検出器は圧縮規格
に依存し、この圧縮規格において、前記検出器は、当該
規格の各々に対して、ビットストリームにおける種々の
異なるスタートコードパターンを認識しなければならな
い。例えば、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 various different start code patterns in the bitstream for each of the standards. . For example, H. 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 circuitry that recognizes various different categories of markers, many of the operations are very similar between the three different compression standards.

【0285】次に示すユニットは、ハフマンデコーダ及
びパーザー内に位置するステートマシン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 (FIG. 1) located in the Huffman decoder and parser.
8). In this case, the actual circuit configuration is almost the same for each of the three compression standards. In fact, the only element affected by the standard in operation is the reset address of the machine. If the parser is simply reset, the parser will jump to a different address for each standard. In fact, there are four recognized standards. These standards are described in H.264. 261, JP
EG, MPEG, and one other standard, in the case of the last standard, the parser enters one code used for testing. The fact is that the circuit is the same in almost all aspects, only the microcode program for each standard is different. Therefore, one program is H.264. 261 and another different program is running,
There is no overlap between these programs. This is JP
The EG is also true, a third completely independent program.

【0286】次に示すユニットは、データインデックス
ユニット64と共に機能するハフマンデコーダ56であ
る。これら2つのユニットは、ハフマン復号化を遂行す
るために、協同作動する。この場合、ハフマン復号化の
ために使われるアルゴリズムは、圧縮規格に関係なく同
じである。変化は、どちらの表が用いられるかと言うこ
と、および、ハフマンデコーダに入来するデータが反転
されているかどうかと言うことである。更に、ハフマン
デコーダ自体、符号化規格のいくらかの態様を理解する
ステートマシンを含む。これらの異なるオペレーション
は、パーザーステートマシンから入来する命令に応答し
て選定される。パーザーステートマシンは、3つの圧縮
規格の各々に対して異なるプログラムによって作動し、
そして、作動中の規格に適合する異なる時点において、
正しい命令をハフマンデコーダに供給する。
The following unit is a Huffman decoder 56 which functions together 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 changes are 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 incoming instructions from the parser state machine. The parser state machine operates by a different program for each of the three compression standards,
And at different points in time to meet the operating standards,
Supply the correct instruction to the Huffman decoder.

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

【0288】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. 261 based on the address generation shown in FIG.
9 and not for each subsystem shown in FIG. 2 before or after the Huffman decoder shown in FIG.
The address generation method for generating an address for one FIFO does not change according to the coding standard. H. 261
In this case, the address generation occurring on the chip does not change. Essentially, the difference between these standards is M
The difference between PEG and JPEG, where 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 rows. M
In PEG, it is divided into slices and one slice may be one horizontal row A, one slice may be part of horizontal row B, or one slice If extending from one row to the next, C is also possible. Each of these slices is composed of a sequence of macroblocks.

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

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

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

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

【0293】ブロックのH.261グループとMPEG
スライスとの間に合致が存在するように回路が設計され
る。スタートコード検出器の後でH.261データが処
理される場合、各ブロックグループは、スライススター
トコードによって先行される。その次のブロックグルー
プは、その次のスライススタートコードによって先行さ
れる。この構造を通ってカウントするために時間デコー
ダ内においてカウントが行われる場合は、高さが1マク
ロブロックであって長さが33マクロブロックのグルー
プであるかのように見える。同様に回路は10間隔おき
にカウントするが、これで十分である。第11番目のマ
クロブロック又は第22番目のマクロブロックをカウン
トすると、幾つかのカウンタをリセットする。各マクロ
ブロックをカウントアップし、そして、11に到達する
と、ゼロにリセットする別のカウンタを備えた簡単な回
路によってこれが達成される。マイクロコードは、それ
を尋問し、そして、その作用を実施する。本発明の時間
デコーダにおける全ての回路は、マクロブロックの物理
的配置に関して、圧縮規格から本質的に独立している。
H. of the block 261 group and MPEG
The circuit is designed so that there is a match between the slices. H. 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. If 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. When the eleventh macroblock or the twenty-second macroblock is counted, some counters are reset. This is accomplished by a simple circuit with another counter that counts up each macroblock and, when it reaches 11, resets to zero. The microcode interrogates it and performs its actions. All circuits in the temporal decoder of the present invention are essentially independent of the compression standard with respect to the physical arrangement of macroblocks.

【0294】多重規格の適応性に関して多数の異なる表
が有り、そして、回路は、適切な時点において適切な規
格を適応するために適切な表を選定する。各規格は複数
の表を持ち、そして、回路は、任意の所定時点において
表の集合の中から選定する。任意の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 multi-standard adaptability, and the circuit selects the appropriate table to apply the appropriate standard at the appropriate time. Each standard has multiple tables, and the circuit selects from the set of tables at any given time. Within any one standard, the circuit selects one table at a time and another at another time. Within different standards, the circuit selects a different set of tables. As pointed out earlier in the discussion of FIG. 24, there is some intersection between these tables. For example, one of the tables used for MPEG is used for 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 H.261 set and the MPEG set. The tables used by these standards are quite common. There is a slight overlap between MPEG and JPEG; Since there is no overlap between H.261 and JPEG, these standards have a completely different set of tables.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【0311】MPEG符号化された信号を復号化するこ
との出来る多重規格回路においては、更に大きい論理D
RAMバッファは、MPEGに適合可能な更に大きい画
像フォーマットをサポートすることが要求される場合も
あり得る。
In a multiplex 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.

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

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

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

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

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

【0317】1.ピクチャの符号化されたデータ表示で
ある。
[0317] 1. 5 is an encoded data representation of a picture.

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

【0319】3.DRAMから読み出された既に復号化
済みのピクチャである。
[0319] 3. This is a decoded picture already read from the DRAM.

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

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

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

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

【0324】空間デコーダ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 keep track of the FIFO address. 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, a read / write operation to a predetermined word is enabled. If the end of the physical memory is reached during the course of a read or write operation, the address generator "wraps around" to the start of the physical memory.

【0325】要するに、どの符号化規格(MPEGまた
はH.261)が指定されていても、本発明にかかる時
間デコーダは、2つの完全なピクチャ又はフレームを記
憶することができなければならない。説明を簡易にする
ために、その中に2つのフレームを記憶しようとするD
RAMの物理的メモリーを2つの半分部分に分割するも
のとし、各半分は、それぞれ、(適切なポインタを用い
て)2つのピクチャのうちの特定の1つに対する専用と
する。
In short, no matter what coding standard (MPEG or H.261) is specified, the temporal decoder according to the present invention must be able to store two complete pictures or frames. For the sake of simplicity, D is 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.

【0326】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), prediction (P), and bidirectional interpolation (B). As already mentioned, a B picture is based on prediction from two pictures. One picture comes from the future, and the other comes from the past. I-pictures do not require further decoding by the temporal decoder, but must be stored in one of the two picture buffers for later use in decoding P and B pictures. Must. Decoding a P picture requires forming a prediction from already decoded P or I pictures. The decoded P picture is used for 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.

【0327】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 it is not output from the temporal decoder. Instead, the I and P pictures are stored in one of the picture buffers.
And the next I or P picture is read only if it arrives for decoding. In other words, as described further below in this section on flushing, the temporal decoder relies on the next P or I picture to flush the previous picture from the two picture buffers. In short, the spatial decoder can provide a false I or P at the end of a video sequence to flush a P or I picture. Consequently, when the next video sequence starts, this fake picture is flashed. Upon decoding a B picture, a load of peak memory bandwidth occurs. The worst case is when all predictions are made with half-pixel accuracy and a B-frame is formed from this type of prediction supplied from both picture buffers.

【0328】以前に記述したように、時間デコーダは、
MPEGピクチャの再順序付けを提供するように、構成
することができる。このピクチャ再順序付けにより、デ
ータストリーム内のその次のPまたはIピクチャの時間
デコーダによる復号化がスタートする時まで、P及びI
ピクチャの出力は遅延する。
As previously described, the temporal decoder is:
It can be configured to provide reordering of MPEG pictures. This picture re-ordering allows the P and I to stay until 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.

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

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

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

【0332】5.ビットストリームの特性 本発明にかかる空間デコーダを特に参照することとし、
符号化されたデーアストリームのビットストリーム特性
を再検討することは有用である。理由は、これらの特性
は、空間デコーダ及び時間デコーダの回路によって扱わ
れなければならないからである。例えば、1つ又は複数
の圧縮規格の下において、当該規格の圧縮比率は、1つ
のピクチャの複数のピクチャを符号化するために使用さ
れるビットの数を変えることによって達成される。ビッ
ト数は、広い範囲に亙って変化し得る。詳細には、この
ことは、1つのピクチャの基準ピクチャを符号化するた
めに使われるビットストリームの長さは、1つの単位長
さとして識別可能であり、他のピクチャは、多数の単位
の長さであっても差し支えなく、第3のピクチャが当該
単位の部分であることも可能である。
[0332] 5. 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 must be handled by the spatial and temporal decoder circuits. For example, under one or more compression standards, the compression ratio of the standard is achieved by changing 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, while the other pictures have the length of multiple units. However, the third picture may be a part of the unit.

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

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

【0335】空間デコーダの出力におけるデータストリ
ームは、所定のシーケンスに対して長さ(ビット数)が
同じであり、依然としてピクチャスタート、及びピクチ
ャエンドのピクチャから成る。ピクチャスタートとピク
チャエンドとの間の時間の長さは変化しても差し支えな
い。
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 picture start and picture end can vary.

【0336】動画フォーマッティング部は、時間的に不
均一なこれらのピクチャを受け取り、そして、ドライブ
されつつあるディスプレイのタイプによって決定される
固定ピクチャレートにおいて、これらをスクリーン上に
ディスプレイする。例えば、PAL−NTSCテレビジ
ョン規格のように種々異なるディスプレイレートが世界
中で使用されている。これは、独特の方法において、
クチャを選択的にドロッピングまたは反復することによ
って達成される。普通の「フレームレートコンバー
タ」、例えば、2−3プルダウンは、固定入力ピクチャ
レートによって動作するが、動画フォーマッティング部
は可変入力ピクチャレートを扱うことができる。
The video formatting unit 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. Different display rates are used worldwide, such as the PAL-NTSC television standard. This, in a unique way, is achieved by selectively dropping or repeating the pin <br/> puncturing. Normal "frame rate converters", e.g., 2-3 pulldown, operate with a fixed input picture rate, but the video formatting unit can handle variable input picture rates.

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

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

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

【0340】本発明において、トークンデコード回路3
3は、2線インターフェース42を経て現在入来中のト
ークンがデータトークンまたは制御トークンのいずれで
あるかを識別するために用いられる。トークンがトーク
ンデコーダ回路33によって調べられていることが認識
された場合には、実施されるべきアクションを示す適切
なインデックス信号またはフラグ信号によって、アクシ
ョン識別回路39に出力される。それと同時に、トーク
ンデコード回路33は、適切なフラグまたはインデック
ス信号を処理回路に供給し、アクション識別回路39に
よって扱われつつあるトークンの存在を処理回路に対し
て警告する。制御トークンも同様に処理されても差し支
えない。
In the present invention, the token decode circuit 3
3 is used to identify whether the token currently arriving via the two-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 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, and warns the processing circuit of the presence of the token being handled by the action identification circuit 39. Control tokens can be processed in a similar manner.

【0341】本発明において使用可能な様々なタイプの
トークンについては、この後において更に詳細に説明さ
れる。本明細書のこの部分に関しては、制御トークンに
よって運ばれるアドレスはデコーダ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 is sufficient to note that the address carried by the control token is decoded in the decoder 33 and is used to access the registers contained in the action identification circuit 39. . If the token being examined is a recognized control token, action identification circuit 39 uses its reconfigured state circuit to distribute control signals throughout the state machine. As already mentioned, this activates the state machine of the action identification decoder, which reconfigures itself. For example, the decoder may change the coding standard. In this way, the action identification circuit 39 decodes a required action for handling a specific standard being supplied via the state machine shown in FIG.

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

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

【0344】本発明に基づくトークン復号化およびデー
タ処理を示す。データ処理は、アクション識別回路39
によって構成されるように行われる。アクションは、条
件の数によって影響され、そして、既に復号化済みのト
ークンから全体的に得られた情報によって影響され、或
いは、更に詳細には、レジスタ43及び44において既
に復号化済みのトークンから記憶された情報、処理中の
現行トークン、及びアクション識別ユニット39がそれ
自身で獲得したステートおよびヒストリ情報によって影
響される。それによって制御トークンとデータトークン
との間の区別が示される。
[0344] The token decryption and data processing according to the present invention will be described. The data processing is performed by the action identification circuit 39.
It is performed as constituted by. Actions are affected by a number of conditions and by information obtained entirely from already decrypted tokens, or more particularly, from registers already decrypted tokens 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. This indicates the distinction between control tokens and data tokens.

【0345】あらゆる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 point. Another set of tokens is seen by RPS as data tokens. Such data tokens include information processed by the RPS in a manner as determined by the particular circuit design, already decoded tokens, and the state of the action identification unit 39.

【0346】特定のRPSは、特定のRPSコントロー
ルに対する或る特定のトークンの集合および他のトーク
ンの集合をデータとして識別するが、これは特定の当該
RPSのビューである。別のPPSは、同じトークンに
対して別の異なったビューを持つことが可能である。一
方においては、いくらかのトークンは、1つのRPSユ
ニットによってデータトークンとして見られ、他方にお
いては、別のRPSユニットによって実際に制御トーク
ンであるものとして決定されることが可能である。例え
ば、量子化表情報は、少なくともハフマンデコーダ及び
ステートマシンに関する限りにおいては、データであ
る。理由は、当該情報はその入力にコード化されたデー
タとして到着し、一連の8ビットワードに書式化され、
そして、処理パイプラインを下流に移動する量子化表ト
ークン(QUANTテーブル)と呼ばれるトークンに形
作られるからである。当該マシンに関する限りにおいて
は、全ての情報はデータであったはずであり、当該情報
はハンドリングデータであって、或る種のデータを別の
種類のデータに変換し、これは明らかに、当該マシンの
当該部分によって遂行される処理機能である。ただし、
当該情報が逆量子化器に到着すると、逆量子化器は、複
数のレジスタである当該トークン内にその情報を記憶す
る。実際、64個の8ビット数があり、そして、多数の
レジスタあるので、一般に、多数のレジスタが存在
るかも知れない。この情報は、制御情報として見なさ
れ、従って、情報は各データワードに乗算する数に影響
するので、当該制御情報は、その次のデータトークンに
おいて行われる処理に影響する。1つのステージは当該
トークンをデータであると見なし、そして、他のステー
ジは当該トークンを制御であると見なした例がある。
A particular RPS identifies a particular set of tokens for a particular RPS control and another set of tokens as data, which is a view of that particular RPS. Another PPS may have another different view for the same token. On the one hand, some tokens can be viewed as data tokens by one RPS unit, and on the other hand, determined by another RPS unit to be 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 at its input as coded data, which 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 the information would have been data, and that information was handling data, converting one type of data to another, which was clearly Is a processing function performed by the relevant part. 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 there are many registers, there will generally be many registers .
May be. This information is considered as control information, and thus affects the processing performed on the next data token, as the information affects the number by which each data word is multiplied. In some instances, one stage considers the token to be data and another stage considers the token to be control.

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

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

【0349】異なる規格によって2つの事柄が影響され
る。第1に、スタートマーカコードの長さを検出するた
めのシフトレジスタを再構成するためにビットストリー
ム内のビットのどのパターンが、スタートコード、また
はマーカーコードとして認識されるかが影響される。第
2に、当該スタートまたはマーカコードが何を意味する
かを表示する1つの情報がマイクロコード内に所在
る。ビットの符号化は、3つの規格の間で異なることを
思い出されたい。従って、マイクロコードは、そのコン
プレッサ規格に特有の表において、当該規格標準から独
立しているもの、即ち、入来コードを表すトークンのタ
イプを参照する。大抵の場合に、様々な規格の各々は、
当該規格が生成する特定のコードを提供するので、この
トークンは、一般に、当該規格から独立している。
Two things are affected by different standards
You. First, the length of the start marker code is detected.
Bitstream to reconfigure the shift register for
Which pattern of bits in the system
Is recognized as a marker code. No.
2. What does the start or marker code mean?
One piece of information that indicates the location is in the microcodeYou
You. Bit encoding differs between the three standards.
I want to be remembered. Therefore, the microcode
In tables specific to Pressa standards,
What is standing, that is, the token
See Ip. In most cases, each of the various standards
It provides a specific code generated by the standard,
Tokens are generally independent of the standard.

【0350】逆量子化器79は数処理能力を持つ。
量子化器は、乗算および加算を行い、そして、パラメー
タによって構成される3つ全ての圧縮規格を実行する能
力を持つ。例えば、制御装置内のROMにおけるフラグ
ビットは、逆量子化器に対して、定数Kを加えるかどう
かを告げる。別のフラグは、逆量子化器に対して、他の
定数を加えるかどうかを告げる。逆量子化器は、トーク
ンが量子化器によって供給される場合、レジスタ内にコ
ーディング・スタンダードトークンを記憶する。それ以
降にデータトークンが通過する場合には、逆量子化器
は、当該規格が何であるかを記憶し、そして、適切なオ
ペレーションを行うために処理エレメントに供給する必
要のあるパラメータを探索する。例えば、逆量子化器
は、特定の圧縮規格に対してKが0にセットされるか、
或いは、1にセットされるかを探索し、そして、その結
果をその処理回路に供給する。同様の意味において、ハ
フマンデコーダ56は、その中に多数の表を持ち、その
幾つかはJPEG用であり、その幾つかはH.261用
であり、その幾つかはMPEG用である。実際、これら
の表の大多数は、これらの圧縮規格の1つ以上に役立
つ。どの表が使われるかは、当該規格のシンタックスに
依存する。ハフマンデコーダは、どの表を使うかを告げ
るステートマシンか爐のコマンドを受け取ることによ
り、作動する。従って、ハフマンデコーダは、それに入
力され、記憶され、そして、どの符号化が実施されつつ
あるかを表明する1つの状態をそれ自体は直接持たな
い。そうでなくて、一緒になってそれらの中に情報を含
むパーザーステートマシンとハフマンデコーダの組み合
わせである。
[0350] The inverse quantizer 79 has a number physical capacity.
The quantizer performs multiplication and addition, and has the ability to implement all three compression standards configured by parameters. For example, a flag bit in the ROM in the controller tells the inverse quantizer whether to add a constant K. Another flag tells the dequantizer whether to add another constant. Inverse quantizer token stores coding standard token when, in registers supplied by the quantizer. If the data token subsequently passes, the inverse quantizer stores what the standard is and searches for the parameters that need to be supplied to the processing element for proper operation. For example, the inverse quantizer may set K to 0 for a particular compression standard, or
Alternatively, it is searched whether it is set to 1, and the result is supplied to the processing circuit. In a similar sense, the Huffman decoder 56 has a number of tables therein, some for JPEG and some for H.264. H.261, some of which 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 state machine or furnace command telling which table to use. Thus, the Huffman decoder does not itself have one state directly input to, stored in, and asserting what encoding is being performed. Rather, it is a combination of a parser state machine and a Huffman decoder that together contain the information in them.

【0351】本発明の空間デコーダに関しては、アドレ
ス生成は、改造され、そして、図17に示す場合に類似
し、多数の情報は、例えば符号化規格のようなトークン
から復号化される。同様に、符号化規格および付加的情
報はレジスタに記録され、そして、当該情報がシステム
内のマクロブロックを通過して、1つ1つカウントする
場合にはアドレス発生器ステートマシンの進行に影響す
る。最後のステージは、2つのモードH.261、また
はMPEGのどちらかで作動し、そして、容易に識別さ
れる予測フィルタ407−9(図26)である。
With respect to the spatial decoder of the present invention, the address generation is modified and similar to the case shown in FIG. 17, where a lot of information is decoded from tokens, for example coding 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 is two modes H. H.261, or MPEG, and is an easily identified prediction filter 407-9 (FIG. 26).

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

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

【0354】更に詳細には、MPEGスタートコード、
及びJPEGマーカにはは8ビットバリューが後続す
る。H.261スタートコードのは4ビットバリューが
後続する。この文脈において、スタートコード検出器5
1は、MPEGスタートコードか又はJPEGマーカー
のいずれかを検出することによって、次の8ビットがス
タートコードと関連している値を含むことを示す。次
に、前記検出器は、独立的に、MPEGスタートコード
またはJPEGマーカーのいずれであり、そして、H.
261スタートコードでないことを示す信号を作成する
ことがっできる。この第1の場合において、8ビットバ
リューはデコード回路に入力され、デコード回路の一部
は、当該回路を通過するトークンを扱うために現行回路
内において使用されるインデックス及びフラグを示す信
号を作成する。これは、その後においてどちらの規格が
扱われつつあるかを決定するために参照される制御トー
クンの部分を挿入するためにも使われる。この意味にお
いて、制御トークンは、MPEG規格、並びに、同伴デ
ータに作用するオペレーションのタイプを示す部分と関
係があることを示す部分を含む。既に検討したように、
この情報は、その目的のために作られた様々な規格によ
って必要とされる機能を遂行るために用いられる処理ス
テージを再構成するために、システムにおいて利用され
る。
More specifically, an MPEG start code,
And the JPEG marker are 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 a value associated with the start code by detecting either the MPEG start code or the JPEG marker. Next, the detector is independently either an MPEG start code or a JPEG marker;
A signal indicating that the signal is not a H.261 start code can be generated. In this first case, the 8-bit value is input to a decoding circuit, and a portion of the decoding circuit creates signals indicating the indexes and flags used in the current circuit to handle tokens passing through the circuit. . This is also used to insert the portion of the control token that is subsequently referenced to determine which standard is being addressed. In this sense, the control token includes a part indicating that it is related to the MPEG standard, as well as a part indicating 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.

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

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

【0357】8.多重規格プロセッシング回路―第2オ
ペレーションモード すでに述べたスタートコード検出器の形の圧縮規格従属
回路は、適切なバスを介して、圧縮規格から独立した回
路に適宜相互接続される。規格従属回路は、同じバス及
び付加的バスを介して、従属独立組み合わせ回路に接続
される。規格から独立した回路は、規格従属独立回路に
付加的入力を供給し、同時に、規格従属独立回路は規格
から独立した回路に情報を後方提供する。規格から独立
した回路からの情報は、他の適当なバスを介して、出力
に供給される。表600は、規格従属スタートコード検
出器51への入力に適用される多重規格には各符号化さ
れたビットストリーム内に規格従属的な意味を持つ特定
のビットストリームが含まれることを示す。
[0357] 8. Multi-standard processing circuit-second mode of operation The compression standard-dependent circuits in the form of the start code detectors already mentioned are suitably interconnected via appropriate buses to circuits independent of the compression standard. Standard dependent circuits are connected to dependent independent combinational circuits via the same bus and additional buses. Standard-independent circuits provide additional inputs to standard-dependent independent circuits, while standard-dependent independent circuits provide information back to standard-independent circuits. Information from the standard 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 specific bit stream having a standard dependent meaning in each encoded bit stream.

【0358】9.スタートコード検出器 既に述べたように、本発明に基づくスタートコード検出
器は、MPEG、JPEG、及びH.261ビットトリ
ームを扱い、そして、残りのデコーダにとって有意であ
る一連の所有権トークンを前記ストリームから生成する
ことができる。多重規格の復号化が達成される一例とし
て示せば、MPEG(1、及び2)ピクチャ・スタート
コード、H.261ピクチャ・スタートコード、及びJ
PEGスタートオブスキャン(SOS)マーカは、スタ
ートコード検出器によって等価として扱われ、そして、
これら全てが内部ピクチャ・スタートトークンを生成す
る。同様の方法において、MPEGシーケンススタート
コード、及びJPSG 501(スタートオブイメー
ジ)マーカは、両方共、マシンシーケンススタートトー
クンを生成する。ただし、H.261規格は等価スター
トコードを持たない。従って、スタートコード検出器
は、第1のH.261ピクチャ・スタートコードに応答
して、シーケンススタートトークンを生成する。
[0358] 9. Start Code Detector As already mentioned, the start code detector according to the present invention comprises MPEG, JPEG and H.264. A series of ownership tokens that handle 261 bit streams and are significant to the rest of the decoder can be generated from the stream. As an example in which multi-standard decoding is achieved, MPEG (1, and 2) picture start codes, 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 performs the first H.264. A sequence start token is generated in response to the H.261 picture start code.

【0359】前述のイメージは、いずれも、SCD以外
には、直接使用されない。むしろ、例えば、マシンピク
チャ・スタートトークンは、ビットストリームに含まれ
るピクチャ・スタートイメージに等価であると思われて
いる。更に、次の事柄を念頭に置かれたい、即ち、マシ
ンピクチャ・スタート自体は、規格におけるピクチャ・
スタートの直接的なイメージではない。むしろ、それ
は、各々の圧縮コード化規格におけるイメージのオペレ
ーションをエミュレートする規格から独立した復号化機
能を提供するために他の制御トークンと組み合わせて使
われる制御トークンである。制御トークンによって運ば
れた情報に基づく回路の再構成と結合した制御トークン
の組み合わせ、及び更に、それぞれのステートマシンの
トークン復号化回路部分によって生成されたインデック
ス及び/又はフラグとの組み合わせは、独特である。典
型的な再構成可能なステートマシンについては次に続い
て説明される。
[0359] None of the above-mentioned images are used directly except for the SCD. Rather, for example, a machine picture start token is considered to be equivalent to a picture start image included in the bitstream. In addition, we want to keep the following in mind: the machine picture start itself is
It is not a direct image of the start. Rather, it is a control token 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 the control token combined with the reconfiguration of the circuit based on the information carried by the control token, and furthermore, 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 is described subsequently.

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

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

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

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

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

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

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

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

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

【0369】スタート/マーカコードパターンは、ビッ
トストリーム全体を復号化することなしにパターンを識
別できるように設計される。従って、それらのパターン
は、エラー回復及びデコーダスタートを援助するために
本発明に基づいて使用できる。スタートコード検出器
は、コード化されたデータ構成内のエラーを検出し、そ
して、デコーダのスタートを援助するための、機能を提
供する。スタートコード検出器のエラー検出能力につい
ては、デコーダのスタート過程につれて、この後で詳細
に説明される。
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 assist in error recovery and decoder start. The start code detector provides functions to detect errors in the coded data structure and assist in starting the decoder. The error detection capability of the start code detector will be described later in detail as the decoder starts.

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

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

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

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

【0374】単独で、或いは、他の制御トークンと組合
わせることによって規格ビットストリームに含まれる非
データ情報をエミュレートするトークンの間の関係を理
解することが重要である。フラグ信号を含むインデック
ス信号の個別の集合は当該ステートマシン内におけるい
くらかの処理を扱うために各ステートマシンによって生
成される。規格に運ばれる値は、規格データ及び非デー
タ信号の扱いをエミュレートするようにマシンの従属制
御信号にアクセスするために使用できる。例えば、スラ
イススタートトークンは2ワードトークンであり、従っ
て、既に述べたように、2線インターフェースに入力さ
れる。
It is important to understand the relationship 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 the state machine. The values carried by the standard can be used to access the machine's dependent control signals to emulate the handling of standard data and non-data signals. For example, the slice start token is a two-word token, and thus is input to the two-wire interface as described above.

【0375】本発明のシステムへのデータ入力は、例え
ば、ディスク、テープ等のような、スタートコード検出
器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, such as a disk, tape, etc., that provides 8 bits of data to the first functional stage within start code detector 51 (FIG. 18). It can be a data source from the source. The start code detector has three shift registers, ie, the first
Are 8 bits wide, and the next is 24 bits.
Bit width, and then 15 bit width. Each register is part of a two-wire interface. Data from the data source is loaded into the first register as one single 8-bit byte during one timing cycle. Thereafter, the contents of the first shift register are decoded one bit at a time (second).
The data is shifted to the shift register. After 24 cycles, 2
The 4-bit register becomes full. Every eight 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 1 and therefore
After these three operations, or 24 cycles, there are still three bytes in the 24-bit register. The value decode shift register 230 is still empty.

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

【0377】検出シフトレジスタの内容はスタートコー
ドであると識別済みであるので、これ以上プロセシング
が起きないことを保証するために、これらの3バイトを
用いて、2線インターフェースから、この内容を除去し
なければならない。デコードレジスタは空にされ、そし
て、バリューデコードシフトレジスタ230は、当該値
がこの種レジスタまでシフトされるのを待つ。
Since the content of the detection shift register has been identified as a start code, these three 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 type of register.

【0378】この段階において、バリューデコードシフ
トレジスタの低位ビット位置の内容は、ピクチャ・スタ
ートと関連した値を含む。標準ピクチャ・スタート信号
と等価の空間デコーダは、SD ピクチャ・スタート信
号と呼ばれる。ここにおいて、SD ピクチャ・スター
ト信号自体はトークンヘッダに含まれようとしており、
そして、この値は、トークンヘッダに対する拡張ワード
に含まれようとしている。
At this stage, the contents of the low order bit position of the value decode shift register include 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.

【0379】10.トークン 本発明の実現に際して、トークンは、制御、及び/又
は、データ機能に対する対話型インターフェースメッセ
ンジャパッケージの形式の万能順応ユニットであり、そ
して、1つの認識済みトークンに応答して様々なオペレ
ーションを行うためにそれ自体を再構成する1つのステ
ージである再構成可能なプロセシングステージ(RP
S)と共に使用するために改作される。トークンは、様
々な機能を達成するために処理ステージに応じて位置従
属又は位置独立のいずれかであっても差し支えない。更
に、トークンは、処理ステージによって変化させられ、
その次に、更に別の機能を達成するためにパイプライン
を下流方向に供給されるので、変質性であっても差し支
えない。トークンは、ステージの全て又は全てよりも少
ない部分と対話し、そして、この観点からすれば、隣
接、及び/又は、非隣接のステージと対話する見なし
ても差し支えない。トークンは、幾つかの機能に対して
は位置従属であり、そして、他の機能に対しては位置独
立であっても差し支えなく、そして、或るステージとの
特定の対話は、当該ステージの以前における処理ヒスト
リによって調整可能である。
[0379] 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. The reconfigurable processing stage (RP) is one stage that reconfigures itself to
Adapted for use with S). Tokens can be either position dependent or position independent to achieve various functions, depending on the processing stage. Further, the token is changed by the processing stage,
Subsequently, the pipeline may be fed downstream to achieve yet another function, which may be alterable. Token interacts with all or any smaller portion than the stage, and, from this point of view, adjacent, and / or, be considered to interact with non-adjacent stages no problem. Tokens are position-dependent for some functions and may be position-independent for other functions, and certain interactions with a stage may take place before that stage. Can be adjusted by the processing history in.

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

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

【0382】サーチモードトークンは、ランダムアクセ
ス、及び強化されたエラー回復を可能にするMPEG、
JPEG、及びH.261データストリームを検索する
ための技術である。
The search mode token is an MPEG that enables random access and enhanced error recovery.
JPEG, and H.A. 261 is a technique for searching for a data stream.

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

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

【0385】本発明は、トークンおよび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 and data tokens in combination with a two-wire system facilitates the achievement of a multi-standard system that allows for having extended operating capabilities compared to systems that do not use control tokens.

【0386】制御トークンは、デコーダプロセッサの中
の回路よって生成され、そして、取り扱うために直列パ
イプラインプロセッサ内に供給する多数の異なるタイプ
の規格従属信号のオペレーションをエミュレートする。
直列プロセッサによる処理及び次に示す項目に関する考
察を行うために選定される多重規格の全てのパラメータ
を検討する技術が用いられる。即ち、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 standards-dependent signals that feed into the serial pipeline processor for handling.
A technique for examining all parameters of a multiplex standard selected to perform processing by a serial processor and to consider the following items is used. 1) their similarities, 2) their differences, 3) their needs and requirements, and 4) the correct token function to effectively process all standard signals sent to 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 for communicating control information via a pipeline processor.

【0387】先行該技術によるシステムにおいては、規
格を識別し、そして、マイクロプロセッサインターフェ
ースを用いることによって専用回路を作るために周知の
技術に従って専用マシンが設計される。マイクロプロセ
ッサからの信号は、専用下流コンポーネントを介してデ
ータの流れを制御するために用いられる。この伸長機能
の選択、タイミング、及び組織化は、マイクロプロセッ
サから入来する信号によって援助された固定論理回路に
よる制御の下に行われる。
In prior art systems, dedicated machines are designed according to well-known techniques to identify standards and to create dedicated circuits 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.

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

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

【0390】各トークンは、トークンの第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 is potentially possible to extend beyond multiple words. In the preferred embodiment, the length of the address is no more than 8 bits. However, this is not a limitation in the present invention, but rather the size of the process chosen to be achieved by the use of these tokens. If the extension bits in words 1 and 2 are one 1
Note that signifying the succession 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.

【0391】更に、トークンは可変ビット長さである。
例えば、9ビットのトークンワードに拡張ビットを加え
て合計10ビットが用いられる。本発明の設計におい
て、出力バスの幅は可変である。空間デコーダからの出
力の幅は9ビットであるか、または拡張ビット含まれる
場合には10ビットある。好ましい実施例において、
これらの余分なビットを利用する唯一のトークンはデー
タトークンであり、全ての他のトークンは、この余分な
ビットを無視する。これは、制限条件ではなく、単に実
施例に過ぎないことを理解されたい。
Further, the token has a variable bit length.
For example, a total of 10 bits are used by adding an extension bit to a 9-bit token word. In the design of the present invention, the width of the output bus is variable. Width of the output from the spatial decoder is 10 bits in the case of either a 9-bit, or include extension bit. In a preferred embodiment,
The only token that utilizes 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, but merely an example.

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

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

【0394】11.DRAMインターフェース 3個のデコーダチップの各々に1つの単一高性能構成可
能DRAMインターフェースが用いられる。一般に、各
チップ上のDRAMインターフェースは実質的に同じで
ある。ただし、インターフェースは、チャネル優先権を
扱う方法が、相互に異なる。このインターフェースは、
空間デコーダ、時間デコーダ、及び動画フォーマッティ
ング部によって使用される外部DRAMを直接ドライブ
するように設計されている。一般に、DRAMインター
フェースをこれらのシステムのDRAMに接続するに
は、外部のロジック、バッファ、またはコンポーネント
は必要でない。
[0397] 11. DRAM Interface A 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, interfaces are different from each other in the method of handling channel priority. This interface is
It is designed to directly drive an external DRAM used by a spatial decoder, a temporal decoder, and a video formatter. Generally, no external logic, buffers, or components are required to connect the DRAM interface to the DRAM in these systems.

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

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

【0397】一般に、DRAMインターフェースは、シ
ステム内の各々3つのチップ上で実現される規格から独
立したブロックである。再び、これらのチップは、空間
デコーダ、時間デコーダ、及び動画フォーマッティング
部である。図18、図19、図20を再度参照すること
とし、これらの図は、DRAMインターフェースと、そ
れぞれ、空間デコーダ、時間デコーダ、及び動画フォー
マッティング部の残りのブロックとの間の関係を表すブ
ロック図である。各チップにおいて、DRAMインター
フェースは外部DRAMにチップを接続する。現在で
は、必要とされる比較的大量のDRAMをチップ上に作
成することは実際的でないので、外部DRAMが使用さ
れる。(注記:各チップは、自身の外部DRAM及び自
身のDRAMインターフェースを持つ。)更に、DRA
Mインターフェイスが圧縮規格独立である場合には、多
重規格H.261、JPEG、及びMPEGの各々を実
現するように、インターフェースを構成しなければなら
ない。多重規格オペレーション用としてのDRAMイン
ターフェースをどのように再構成するかについては、後
で更に詳細に説明される。
In general, 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, the temporal decoder, and the video formatting unit. 18, 19, and 20, which are block diagrams showing 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 an external DRAM. Currently, external DRAMs are used because it is not practical to make the required relatively large amount of DRAM on a chip. (Note: Each chip has its own external DRAM and its own DRAM interface.)
When the M interface is independent of the compression standard, the multiplex 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 will be described in more detail later.

【0398】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 two-wire interface. is necessary.

【0399】一般に、名前が意味するように、アドレス
発生器は、DRAMをアドレスするために(例えば、D
RAM内の特定アドレスに対して読み書きを行う場合)
DRAMインターフェースが必要とするアドレスを生成
する。2線インターフェースを使用する場合、DRAM
インターフェースが(パイプラインにおける先行ステー
ジから)双方のデータ、及び有効なアドレス(アドレス
発生器から)を持つ場合に限り読むこと、及び書くこと
が起きる。個別のアドレス発生器の使用は、後で更に検
討するように、アドレス発生器及びDRAMインターフ
ェース両方の構成を簡素化する。
Generally, as the name implies, an address generator is used to address a DRAM (eg, D
When reading / writing to a specific address in RAM)
Generate the addresses required by the DRAM interface. When using 2-wire interface, DRAM
Reading and writing occur only if the 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 configuration of both the address generator and the DRAM interface, as discussed further below.

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

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

【0402】本発明において、各々のチップは、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, and the functions of these swing buffers are different in each case. In the spatial decoder,
One swing buffer stores coded data in D
One swing buffer is used to read coded data from the DRAM, and a third swing buffer is used to transfer the tokenized data to the DRAM. And
The fourth swing buffer stores the tokenized data in D
Used to read from RAM. However, in the time decoder, one swing buffer is used to write intra or predicted picture data to the DRAM, the second swing buffer is used to read an in-preparative La or predicted data from the DRAM, and,
The other two are used to read forward and backward prediction data. In the video formatting part, one swing buffer is used to transfer data to DRAM, and the other three are used to read data from DRAM, luminance (Y), and red and blue. 1 for color difference data (Cr and Cb, respectively)
Used one by one. One write swing buffer,
And the operation of one virtual DRAM interface with one read swing buffer will be described in the next section. Essentially, this is the same as the operation of the DRAM interface of the spatial decoder. The operation is shown in FIG.

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

【0404】DRAMインターフェース302の独特の
特徴は、アドレス発生器301、及びデータを供給、或
いは、受け入れるステージと独立して通信することので
きる能力である。例えば、アドレス発生器は、書込みス
イングバッファ(図33)におけるデータと関連してい
るアドレスを生成しても差し支えないか、しかし、書込
みスイングバッファが外部DRAMへの記入準備が整っ
たデータのブロックが存在することを送信する時までア
クションは行われない。同様に、書込みスイングバッフ
ァは、外部DRAMへの記入準備が整っているものデー
タのブロックを含んでも差し支えないが、アドレスが、
アドレス発生器301から当該バスに供給される時ま
で、アクションは行われない。更に、書込みスイングバ
ッファにおけるRAMの1つが一度データで満たされる
と、データ入力が停動される(2線インターフェース受
け入れ信号がLOWにセットされる)以前に、他のRA
Mは完全に満たされ、そして、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 accept 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 may be used to write a block of data ready for writing to an external DRAM. No action is taken until it sends a message that it exists. Similarly, the write swing buffer may contain blocks of data that are ready to be written to the external DRAM, but the address is
No action is taken until it is supplied from the address generator 301 to the bus. In addition, once one of the RAMs in the write swing buffer is full of data, the other RA may be activated before the data input is stalled (the 2-wire interface accept signal is set LOW ).
M can be completely filled and then "swinged" to the DRAM interface side.

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

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

【0407】ここで、図33を参照することとし、この
図には、書込みスイングバッファの構成図が示される。
書込みスイングバッファインターフェースには、第1R
AM311、及び第2RAM312の2つのブロックが
含まれる。ここで更に検討するように、データは、書込
みアドレス303、及び制御部314による制御の下
で、前のステージからRAM31及び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が再度満杯にされ
る準備が整っていることを示す。
Here, reference is made to FIG. 33, which shows a configuration diagram of the write swing buffer.
The write swing buffer interface has the first R
Two blocks, an AM 311 and a second RAM 312, are included. As will now be discussed further, the data is under the control of the write address 303, and a control unit 314, is entered from the previous stage in RAM 3 1 1 and RAM 312. Data is written from the RAM 311 and the RAM 312 to the DRAM 315. While writing data to the DRAM, as described further herein, the DRAM
The row address is provided by an address generator, and the column address is provided by a write address and control. In operation, valid data is provided at input 316 (data in). In general,
Data is received from a previous stage. As each data is accepted by the DRAM interface, the RAM 311 is written, and the write address control increments the RAM 311;
The next one data can be written in the RAM 311. The entry of data into the RAM 311 is continued until there is no more data or the RAM 311 is full. If the RAM 311 is full, the input side gives up control and sends a signal to the reader to indicate that the RAM 311 is ready to be read. Thus, this signal is provided between the two asynchronous clock regimes and is provided via three synchronization flip-flops. Assuming that the RAM 312 is empty, the next item of data arriving at the input is the RAM 312
Is filled in. Otherwise, this occurs when RAM 312 is empty. If the round robin or priority encoder indicates a swing buffer in the order in which it is read (depending on which is used by a particular chip), the DRAM interface will
Read the contents of AM311 and export them to external DRA
Fill in M. Next, a signal is sent back through the asynchronous interface, indicating that RAM 311 is ready to be refilled.

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

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

【0410】本発明の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
Stored on the page. In this way, the DRAM high-speed page access mode can be used completely. In this case, 1
One row address is provided, followed by a number of column addresses. In particular, the row address is provided by an address generator, while the column address is
Provided by the AM interface. In addition, a function is provided that allows the width of the data bus to the external DRAM to be 8, 16, or 32 bits. Thus, DRAM usage can be tailored to the size and bandwidth requirements of a particular application.

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

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

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

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

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

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

【0417】図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、1
0、11、12、13、14、15、17...23、
25、…、31、33、…、57、…、63のアドレス
シーケンスが生成される。
The block A in FIG. 35 will be considered. 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, an 8-bit DRAM interface). The x value in the coordinate pair is the three LS of the address
Form B and the y values form three MSBs. x and y
The start value is 1 for both, providing 9 for the address. Data is read from this address, and, x value is incremented main cement. The process is repeated until the x value reaches its stop value, at which point the y value is incremented by one, and the x start value is reloaded,
One address 17 is provided. As each byte of data is read, the x value is incremented again until it reaches the stop value. The process is repeated until both x and y values have reached their stop values. In this way, 9, 1
0, 11, 12, 13, 14, 15, 17. . . 23,
25,..., 31, 33,..., 57,.

【0418】同様の方法において、ブロック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 (0, 1) and (0,
7) and (0,0) for block D
And (0,0).

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

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

【0421】ここまでの説明は、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 concentrated on the 8-bit DRAM interface. In the case of a 16 or 32 bit interface, a few minor modifications have to 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 is read. Second, unnecessary data must be discarded. This is accomplished by writing all of the data to the swing buffer (in this case, the swing buffer must be physically larger than needed for the 8-bit case) and reading along with the offset. When performing 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. The last thing to note about the temporal decoder DRAM interface of the present invention is that additional information must be provided to the prediction filter to indicate what processing needs to be performed on the data. is there. The contents of the necessary processing are shown below.

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

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

【0424】双方向性予測フラグ。A bidirectional prediction flag.

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

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

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

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

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

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

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

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

【0433】まず第一に、ページスタートサイクル用と
して1つのチェーンがあり、そして、いま1つのチェー
ンは、リード/ライト/リフレッシュサイクル用であ
る。各サイクルの長さは、マイクロプロセッサインター
フェースを介してプログラム可能であり、その後におい
て、ページスタートチェーンは固定した長さを持ち、そ
して、ページスタートの期間中に、サイクルチェーンの
長さは適宜変化する。
First, there is one chain for the page start cycle, and another chain is 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, and during the page start, the length of the cycle chain changes accordingly .

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

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

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

【0437】本発明の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 prediction filters of the present invention is substantially the same. Reference is again made to FIGS. 17 and 505, and more particularly to FIG. The figure shows a block diagram of the structure of the prediction filter. Each prediction filter has four stages arranged in series. The data is input to the format stage 505-7 and is formatted for easy filtering. In the next stage 505-2, the ID prediction is
Performed on the X coordinate. After the required transport has been performed by the dimension buffer stage 505-3, the ID prediction is performed on the Y coordinate in stage 505-4. We will describe in more detail how the stage performs the filtering action. The conditions required for the filtration action are defined by compression standards. H. 26
In case 1, the actual filtering effect is similar to that of a low-pass filter.

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

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

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

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

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

【0443】15.MPIリードタイミング MPIリードタイミングダイアグラムのAC特性を、図
62に関して示す。図の各ラインは、対応する信号名に
よってラベル付され、そして、タイミングはナノセカン
ドで示す。完全なマイクロプロセッサインターフェース
のリードタイミング特性は、表41に関して示す。欄番
号は、特性欄に記載された信号名に対応する信号を示
す。MIN、及びMAXによって識別された欄は、当該
信号が利用可能な時間の最大量を示す時間の最小長さを
提供する。単位欄は、信号について説明するために用い
られた測定単位を示す。
[0443] 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 with respect to Table 41. The column number indicates a 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 that the signal is available. The unit column indicates a unit of measurement used to describe the signal.

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

【0445】17.キーホールアドレスロケーション 本発明において、アクセス頻度の小さいメモリーマップ
は、キーホールレジスタの後ろに配置されている。キー
ホールレジスタは、それと関連している2つのレジスタ
を持つ。第1のレジスタは、キーホールアドレスレジス
タであり、そして、第2のレジスタは、キーホールデー
タレジスタである。キーホールアドレスは、拡張アドレ
ススペース内の場所を指定する。キーホールデータレジ
スタへの読取りまたは書込みオペレーションは、キーホ
ールアドレスレジスタによって指定された場所にアクセ
スする。キーホールデータレジスタにアクセスした後
で、関連キーホールアドレスレジスタはインクリメント
する。拡張されたアドレススペース内のランダムアクセ
スは、各アクセスに対して、キーホールアドレスレジス
タに新しい値を書き込むことによってのみ可能である。
本発明の範囲内の回路は、複数のキーホールマップ持つ
こともあり得る。それにもかかわらず、異なるキーホー
ル間の対話はない。
[0445] 17. Keyhole Address Location In the present invention, the memory map with low access frequency is located behind 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 in the extended address space. A read or write operation to the keyhole data register accesses 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 extended 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 more than one keyhole map. Nevertheless, there is no interaction between the different keyholes.

【0446】18.ピクチャエンド 再び図18を参照することとし、この図には、本発明に
使われる空間デコーダの全般的な構成図を示す。ピクチ
ャ・エンドの機能に関する記述は、この構成図全体に亙
って適用される。ピクチャ・エンド機能は、H.261
符号化ピクチャ情報、MPEG及びJPEG信号を扱う
ことができるという多重規格における利点を有する。
[0446] 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 described in H.264. 261
It has the advantage of multiple standards that it can handle coded picture information, MPEG and JPEG signals.

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

【0448】一般に、本発明に基づくピクチャ・エンド
は、ピクチャ・エンド制御トークンを生成するスタート
コード検出器において開始する。ピクチャ・エンド制御
トークンは、スタートアップ制御回路を経て、変更され
ないまま、DRAMインターフェースに供給される。こ
の場合、前記トークンは、DRAMインターフェースに
おけるライトスイングバッファをフラッシュするために
用いられる。スイングバッファの内容は、このバッファ
が満杯になった場合に限りRAMに書き込まれることを
思い起こされたい。ただし、バッファが満杯でない点に
おいても終了し、ピクチャデータの固着を起こさせるこ
ともあり得る。ピクチャ・エンドトークンは、データを
スイングバッファの外に強制する。
Generally, a picture end according to the present invention starts at a start code detector that generates a picture end control token. The picture end control token is supplied unchanged to the DRAM interface via the start-up 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 the buffer is full. However, the processing is terminated even at a point where the buffer is not full, and the picture data may be stuck. The picture end token forces data out of the swing buffer.

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

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

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

【0452】ピクチャ・エンド機能の更に他の利点は、
エラー回復におけるその用途である。例えば、コード化
データバッファに保持されているデータの量が1つの単
一画像に関して空間情報を示すために一般的に用いられ
る量よりも少ないものと仮定すると、最後の画像は、ス
イングバッファが満杯になるまでデータバッファに保持
されるが、しかし、定義によれば、バッファは決して満
杯にならない。或る点において、マシンは、エラー条件
が退することを決定する。従って、ピクチャ・エンド
トークンは、復号化され、そして、コード化データバッ
ファにおけるデータがハフマンデコーダ及び動画デマル
チプレクサに供給されるように強制する範囲内におい
て、最後の画像は復号化可能であり、そして、情報はバ
ッファから空にされる。結果的に、マシンは、エラー回
復モードに入らず、そして、コード化されたデータの処
理を首尾よくし継続する。
A further advantage of the picture end function is that
Its use in error recovery. For example, assuming 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 have a full swing buffer. , But by definition, the buffer never fills. At some point, the machine determines that an error condition is removed by withdrawal. Thus, the picture end token is decoded, and to the extent that the data in the coded data buffer is forced to be provided to the Huffman decoder and the video demultiplexer, the last image is decodable, and , The information is emptied from the buffer. As a result, the machine does not enter error recovery mode and successfully processes the encoded data and continues.

【0453】ピクチャ・エンドトークンの用途の更に別
の利点は、直列パイプラインプロセッサが割り込みなし
データの処理を継続することである。ピクチャ・エンド
トークンを使用することにより、直列パイプラインプロ
セッサは、予測された量未満のデータを扱うように構成
され、そして、その結果として、処理を継続する。一般
に、先行技術によるマシンは、エラー条件に起因して停
止する。既に述べたように、コード化データバッファ
は、その記憶領域にマクロブロックが入来するにつれて
これらをカウントする。更に、ハフマンデコーダ及び動
画デマルチプレクサは、一般に、各画像を復号化する際
に予測される情報量を知っている、即ち、ハフマンデコ
ード及び動画デマルチプレクサのステートマシン部分
は、各画像回復サイクル期間中に処理するブロック数を
知っている。正しい数のブロックがコード化データバッ
ファから到着しない場合には、一般に、エラー回復ルー
チンが結果として成立する。ただし、ハフマンデコーダ
及び動画デマルチプレクサを再構成するピクチャ・エン
ド制御トークンを用いることにより、この制御トークン
は、再構成によって、マンデコーダ及び動画デマルチプ
レクサに実際に適切な量の情報を扱いつつあることを告
げるので、機能し続けることができる。
[0453] Yet another advantage of the use of picture end tokens is that the serial pipeline processor continues to process interruptless 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 stop due to an error condition. As already mentioned, the coded data buffer counts macroblocks as they arrive in its storage area. In addition, the Huffman decoder and video demultiplexer generally know the amount of information expected when decoding each image, i.e., the state machine portion of the Huffman decode and video demultiplexer during each image recovery cycle. Know the number of blocks to process. If the correct number of blocks do not arrive from the coded data buffer, an error recovery routine generally results. However, by using the picture end control token to reconstruct the Huffman decoder and the video demultiplexer, the control token is handling a practically appropriate amount of information for the man decoder and the video demultiplexer by reconstruction. So you can keep working.

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

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

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

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

【0458】21.ストップ・アフタ・ピクチャ ストップ・アフタ・ピクチャ機能は、そのオペレーショ
ンにおける論理的な点において直列パイプラインの伸長
回路を閉鎖するために用いられる。この時点において、
ピクチャ・エンドトークンが生成され、データがデータ
入力ラインからの入来を完了、そして、パディングオペ
レーションが完成したことを示す。パディング機能は、
空のデータトークンを部分的に満たす。次に、フラッシ
ュトークンは、生成され、直列パイプラインシステムを
通って供給し、そして、レジスタから全ての情報を押し
出し、、そして、レジスタがそれらの中立スタンバイ状
態に戻ることを強制する。次に、ストップ・アフタ・ピ
クチャイベントが生成され、そして、ユーザ又はシステ
ムのいずれかがこの状態をクリアする時まで、入力は受
け入れられない。換言すれば、ピクチャ・エンドトーク
ンはピクチャの終了を送信し、同時に、ストップ・アフ
タ・ピクチャオペレーションは、全ての現行処理が終わ
ったことを送信する。
[0458] 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, indicating that data has completed incoming from the data input line and that the padding operation has been completed. The padding function
Partially fill an empty data token. Next, a flush token is generated and fed through the serial pipeline system, and pushes all information out of the registers, forcing the registers to return to their neutral standby state. Next, 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 the picture, while the stop after picture operation sends the end of all current processing.

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

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

【0461】サーチモードのうちのいずれかがセットさ
れている場合、スタートコード検出器は、マシン独立ト
ークンを作るために適した入来するスタートイメージを
捜す。規格従属スタートイメージの識別以前にスタート
コード検出器に入来する全てのデータは、無意味であ
り、そして、マシンがこの情報を待っている場合にマシ
ンはアイドリング状態であとして、放棄される。
If any of the search modes are set, the start code detector looks for an incoming start image suitable for making 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 if the machine is waiting for this information, the machine is abandoned as idle.

【0462】スタートコード検出器は、数値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 a group 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 such an image is identified, the start code detector generates a group start token and the search mode is automatically reset.

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

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

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

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

【0467】IDTは、情報をコード化するために用
いられる各規格に応じて変化する画素復号化数を使う。
情報を正しく復号化するために、データがIDCT入り
を継続する以前に逆量子化器によって値1024がデコ
ード数に加算される。
[0467] ID C T, use the number of pixels decoded that varies depending on the standard used to encode the information.
To correctly decode the information, the value 1024 is added to the number of decodes by the inverse quantizer before the data continues to enter the IDCT.

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

【0469】データに付随する制御トークンが復号化さ
れ、そして、逆量子化器によって行われることが必要な
様々な標準化ルーチンは、以下において詳細に識別され
る。これらの「量子化後」機能は全て、回路の重複を回
避し、そして、ICが多重規格復号化データを扱うこと
ができるように実現される。
The various standardization routines that require the control token associated with the data to be decoded and performed by the inverse quantizer 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.

【0470】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 (Syntax Parser) Referring again to FIGS. 18 and 36, the spatial decoder includes a Huffman decoder for decoding Huffman-coded data according to various compression standards.
Standards JPBG, MPEG, and H.264. Each of the H.261 requires specific data to be Huffman coded, while the differences in Huffman decoding methods required by each standard have significant implications. 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 Creating a feature only once saves valuable die space. In addition, a sensible multi-part algorithm is used, that is, an algorithm that further strengthens the commonality of the aspects of each Huffman decoder that is common 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, an ALU 325, and a token formatting unit 326. As already mentioned, the connections between these blocks are managed by a two-wire interface. How these units work will be described in more detail subsequently, with a focus on particular aspects supporting the multi-standard operation of the Huffman decoder according to the invention. .

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

【0472】ハフマンデコーダは、ある種の制御機能も
遂行する。特に、ハフマンデコーダ321は、データイ
ンデックス部324及びALU325の特定の機能を制
御できるステートマシンを含む。ハフマンデコーダによ
るこれらのユニットの制御は、ブロックレベル情報を正
しく復号化するために必要である。パーザステートマシ
ン322にこれらの決定を行わせると時間がかかり過ぎ
る。
[0472] 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 would be too time consuming.

【0473】本発明のハフマンデコーダの重要な態様
は、データビットをハフマンデコーダに読み取る際にコ
ード化されたデータビットを反転する能力である。この
能力は、H.261ハフマンスタイルコードを復号化す
るために必要とされる。理由は、H.261(実質的に
は、MPEG)によって用いられる特定タイプのハフマ
ンコードは、JPEGによって用いられるコードと反対
の極性を持つことによる。従って、インバータを使用す
ることにより、ハフマンデコーダが使用する表と同一の
表を3つ全ての規格に対して実質的に使用可能にする。
ハフマンデコーダが3つ全ての規格を実現する方法の他
の態様については、「発明の更に詳細な説明」のセクシ
ョンにおいて更に詳細に説明する。
An important aspect of the Huffman decoder of the present invention is the ability to invert coded data bits when reading the data bits into the Huffman decoder. This ability is described in Required to decode H.261 Huffman style codes. The reason is H. The particular type of Huffman code used by H.261 (essentially MPEG) is due to having the opposite polarity to the code used by JPEG. Thus, by using an inverter, the same table used by the Huffman decoder is made substantially 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.

【0474】データインデックスユニット324は、多
重部品アルゴリズムの第2の部分を遂行する。このユニ
ットは、実際のハフマン復号化データを提供するルック
アップテーブル(参照用表)を含む。この表へのエント
リは、ハフマンデコーダによって生成されたインデクス
数に基づいて組織される。
Data index unit 324 performs the second part of the multi-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.

【0475】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. The use of this file describes in related to prediction filter section. In addition, the ALU includes a counter that counts through the structure of the picture being decoded by the spatial decoder. In particular, the dimensions of the picture are programmed into registers associated with the counter to facilitate detection of "picture start" and macro-block code start.

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

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

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

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

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

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

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

【0483】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, as the important applications of the present invention, in order to avoid unnecessary duplication of circuitry is this <br/> and constructed from a common Mathematical functions between standards. By using a particular scaling order, the symmetry between the upper and lower parts of the algorithm is increased, so that common mathematical functions can be reused and the circuit
The additional need for is eliminated.

【0484】IDCTは、多数の多重規格トークンに応
答する。IDCTの第1の部分は、処理に対してデータ
トークンのサイズが正しいことを保証するために、入来
データをチェックする。実際、エラーがさほど大きくな
いならば、トークンストリームは、条件により訂正可能
である。
The IDCT responds to a number of 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 is conditionally correctable.

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

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

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

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

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

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

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

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

【0493】説明の組織化、明瞭化および便利化のため
に、追加開示を以下のセクションに再度示すこととす
る。
For purposes of organization, clarity, and convenience of the description, additional disclosure will be re-presented in the following sections.

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

【0495】・トークン ・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.

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

【0497】トークンの名称 ワイヤネーム・アクティブハイ信号 ワイヤネーム・アクティブロー信号 レジスタネーム セクション 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 Wire Name Active High Signal Wire Name Active Low Signal Register Name Section A. 2 "Video decoder family" * 30MHz operation * Decode MPEG, JPEG & H.264 261 * Encoded 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 * Chroma sampling format with flexibility * Whole JPEG baseline decoding * Glueless page mode DRAMA interface * Pin PQFP package of 208 * Independent coded data and decoder clock * Reorder MPEG picture sequence Video decoder family Provides a low chip count solution to realize a high resolution digital video decoder. Currently, chip sets are available in three different video and picture coding systems: JPEG, MPE
G and H .; 261 can be configured.

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

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

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

【0501】A.2.1 「システムコンフィギュレー
ション」 A.2.1.1 「出力フォーマット化」 以下に示す各々の例において、出力フォーマッティング
部の形は、場合によっては、空間デコーダまたは時間デ
コーダの出力に供給されるデータを用いること、そし
て、コンピュータ又はディスプレイシステムに対してフ
ォーマットし直すことが要求される。このフォーマット
化の詳細は、アプリケーションにより異なる。一例とし
て簡単な場合には、デコーダチップによってブックフ
ォーマット化されたデータ出力を用いて、そして、その
データ出力をラスタ順に書込むためのアドレス発生器を
必要とするだけである。
A. 2.1 "System Configuration" 2.1.1 "Output Formatting" In each of the examples shown below, the form of the output formatting unit may be to use the data supplied to the output of the spatial or temporal decoder, and The system needs to be reformatted. The details of this formatting depend on the application. If BRIEF As an example, using the data output which is Bed locked formatted by the decoder chip and only requires an address generator for writing the data output in raster order.

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

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

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

【0505】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 and temporal decoders are based on H.261 decoding. Both are required to implement a H.261 video decoder. The DRAM interface on both devices requires the D D required for proper operation when operating at low coded data rates in small picture formats.
It can be configured so that the amount of RAM can be reduced. In general, each spatial and temporal decoder is
Requires one single 4Mb (eg, 512k × 8) DRAM.

【0506】A.2.1.5 「MPEG復号化」 MPEGオペレーションのために必要とされるコンフィ
ギュレーションは、H.261の場合と同じである。た
だし、当該技術分野における通常の熟練者であれば理解
できるように、MPEGにおいて利用可能な更に大きい
ピクチャフォーマットをサポートするためには、更に大
きいDRAMバッファが要求されることもあり得る。
A. 2.1.5 “MPEG Decoding” The configuration required for MPEG operation is described in H.264. 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.

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

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

【0509】各トークンは、それがトークンの第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 scalable over multiple words (although none of the current chips address more than 8 bits in length; Will understand that, again, the length of the address can be arbitrary).

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

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

【0512】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 connected directly to the input or output of a decoder or chipset. In most cases, it is sufficient to collect data tokens and detect a few tokens that provide synchronization information (eg, like PICTURE START). In this regard, see Section A. below. 16 "Connection to the output of the spatial decoder"; See Section 19, "Connecting to the Output of the Temporal Decoder".

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

【0514】更に、空間デコーダへのデータ入力は、コ
ード化されたデータのバイトとして、或いは、データト
ークンにおいて供給可能である(セクションA.10
「コード化データ入力」参照)。コード化データポー
ト、或いは、マイクロプロセッサインターフェースを介
してトークンを供給することは、デコーダチップ・セッ
トの多数の特徴がデータストリームから構成されること
を可能にする。これは、マイクロプロセッサインターフ
ェースを介してコンフィギュレーションを実施すること
の代替案を提供する。
Further, 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 an encoded data port or microprocessor interface allows many features of the decoder chip set to be composed of the data stream. This provides an alternative to performing configuration via a microprocessor interface.

【0515】[0515]

【表1】 [Table 1]

【0516】[0516]

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

【0517】[0517]

【表3】 [Table 3]

【0518】[0518]

【表4】 [Table 4]

【0519】[0519]

【表5】 [Table 5]

【0520】[0520]

【表6】 [Table 6]

【0521】[0521]

【表7】 [Table 7]

【0522】[0522]

【表8】 [Table 8]

【0523】[0523]

【表9】 [Table 9]

【0524】[0524]

【表10】 [Table 10]

【0525】[0525]

【表11】 A.3.5 「トークンにおいて送信される番号」 A.3.5.1 「成分識別番号」 本発明に基づく成分ID番号は、色成分を指定する2ビ
ット整数である。この2ビットフィールドは、一般に、
データトークンにおけるヘッダの一部分として配置され
る。MPEG、及びH.261の場合には、相互関係は
非常に簡単である。
[Table 11] A. 3.5 "Number sent in token" 3.5.1 “Component ID Number” A component ID number according to the present invention is a 2-bit integer that specifies 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 H.261, the correlation is very simple.

【0526】[0526]

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

【0527】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 types of colors, there is a specification regarding the number of blocks arranged horizontally and vertically in a macroblock. This specification includes two-bit integers that are one less than the number of blocks containing a two-bit integer. For example, 4: 2: 0 in MPEG (or H.261)
Table 1 shows the array of component IDs for chroma sampling (FIG. 45).
3 is shown.

【0528】[0528]

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

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

【0530】[0530]

【表14】 A.3.6 「特殊トークンフォーマット」 本発明に基づき、例えば、データトークン及びQUAN
Tテーブルトークンは、デコーダチップ・セット内にお
けるそれらの「拡張フォーム」に使用される。拡張フォ
ームにおいて、トークンは、いくらかのデータを含む。
データトークンの場合には、この種トークンは、コード
化データまたはピクセルデータを含むことができる。Q
UANTテーブルトークンの場合には、これらのトーク
ンは、量子化器表情報を含む。
[Table 14] A. 3.6 "Special Token Format" According to 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 extended form, the token contains some data.
In the case of a data token, such a token may include coded data or pixel data. Q
For UANT table tokens, these tokens include quantizer table information.

【0531】更に、これらのトークンの「非拡張形」
は、本発明においては「空である」として定義される。
このトークンフォーマットは、同一トークンの拡張バー
ジョンによって続いて満たされる場所をトークンストリ
ーム内に提供する。このフォーマットは、主としてエン
コーダに適用可能であり、従って、これについては、こ
れ以上詳しく説明しない。
[0531] Furthermore, the "non-extended 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, and therefore will not be described in further detail.

【0532】[0532]

【表15】 [Table 15]

【0533】[0533]

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

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

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

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

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

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

【0539】[0539]

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

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

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

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

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

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

【0545】A.4.5 「インターフェースタイミン
グ」
A. 4.5 “Interface timing”

【0546】[0546]

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

【0547】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 COMS inputs and outputs. VIHmin is about 70% of VDD, and VILmax is VIL
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.

【0548】[0548]

【表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 coded data port input to the spatial decoder is an exception. This is controlled by the encoding clock. The clock signal will be further described here.

【0549】セクション A.5 「DRAMインター
フェース」 A.5.1 「DRAMインターフェース」 1つの単一高性能、構成可能DRAMインターフェース
は、各々の動画デコーダチップにおいて使用される。一
般に、各チップ上のDRAMインターフェースは実質的
に同じである。ただし、インターフェースは、チャネル
優先権を扱う方法において相互に異なる。インターフェ
ースは、各々のデコーダチップによって使われるDRA
Mを直接ドライブするように設計されている。一般に、
外部の論理、バッファ、またはコンポーネントは、DR
AMインターフェースを大抵のシステムにおけるDRA
Mに接続するためには不必要である。
Section A. 5 "DRAM interface" 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 priority. The interface is the DRA used by each decoder chip
It is designed to drive M directly. In general,
External logic, buffers, or components are DR
DR interface on most systems with AM interface
Not required to connect to M.

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

【0551】[0551]

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

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

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

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

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

【0556】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 made only if no data transfer by the interface has been attempted. The interface is
Immediately after reset and before the value is entered in the refresh interval, this condition is placed. The interface can later be reconfigured, if necessary, only if no transfer has been attempted. The temporal decoder chip access register (A.18.3.1) and the spatial decoder buffer manager access register (A.13.1.
See 1).

【0557】A.5.3.3 「インターフェースタイ
ミングの構成」 本発明に基づき、インターフェースタイミング構成情報
の修正は、インターフェースタイミングアクセスレジス
タによって制御される。このレジスタに1を記入する
と、インターフェースタイミングレジスタ21に示す)
が修正可能になる。インターフェースタイミングアクセ
ス=1である間に、DRAMインターフェースは、その
以前のコンフィギュレーションにより作動し続ける。1
を記入した後で、任意のインターフェースタイミングレ
ジスタに記入する以前において、インターフェースタイ
ミングアクセスから1が読戻し可能になるまで、ユーザ
ーは待たねばならない。
A. 5.3.3 Interface Timing Configuration According to the present invention, the modification of the interface timing configuration information is controlled by an interface timing access register. When 1 is written in this register, it is shown 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 a 1 can be read back from the interface timing access before writing any interface timing registers after writing.

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

【0559】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 performs the refresh cycle continuously. This prevents any other data transfer. After the refresh interval has been filled, the data transfer can start.

【0560】当該技術分野においては周知であるよう
に、DRAMは、一般に、最初に電源を入れた後で、1
00マイクロ秒と500マイクロ秒との間に「ポーズ
(休止)」を必要とし、そして、正常作動が可能になる
前に、多数のリフレッシュサイクルが後続する。従っ
て、リフレッシュ・インターバルに値を記入する前に、
これらのDRAMスタート必要条件を満足させなければ
ならない。
As is well known in the art, DRAMs generally have a 1
It requires a "pause" 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.

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

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

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

【0564】A.5.5 「インターフェースレジス
タ」
A. 5.5 “Interface register”

【0565】[0565]

【表21】 [Table 21]

【0566】[0566]

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

【0567】* 読取り(リード) * 書込み(ライト) * リフレッシュ 各々のリード又はライトアクセスは、1から64バイト
までの1つのバーストを1つの単一DRAMページアド
レスへ転送する。リード及びライト転送は、1つの単一
アクセス内において混合されることなく、そして、連続
する各アクセスは、新しいDRAMページへのランダム
アクセスとして扱われる。
* Read (read) * Write (write) * Refresh Each read or write access transfers one burst of 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.

【0568】[0568]

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

【0569】* アクセススタート * データ転送 本発明においては、各アクセスはアクセススタートで始
まり、そして、1つ又は複数のデータ転送サイクルが後
続する。更に、アクセススタート及びデータ転送サイク
ルの両方のリード、ライト、及びリフレッシュ変形(バ
リアント)がある。
* Access Start * Data Transfer In the present invention, each access begins 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.

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

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

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

【0573】[0573]

【表24】 a;この値は、RASリフレッシュが起きる以前におけ
るCASを保証するために、RAS falling未
満でなくてはならない。 表A.5.5 DRAMインタフェースタイミングパラ
メータ 各々の場合に、RAS及び行アドレスのタイミングは、
レジスタRASフォーリング、及びページスタートレン
グスによって制御される。OE、及びDRAMデータ
[31:0]の状態は、前のデータ転送の終了からRA
Sが降下するまで保持される。アクセススタートの3つ
の異なるタイプは、RASが降下した場合に、これらが
OE及びDRAMデータ[31:0]をドライブする方
法が異なるに過ぎない。参照図52。
[Table 24] a; this value must be less than RAS falling to guarantee CAS before RAS refresh occurs. Table A. 5.5 DRAM Interface Timing Parameters In each case, the timing of the RAS and row address is
It is controlled by the register RAS falling and the page start length. The state of OE and DRAM data [31: 0] is RA
It is held until S drops. The three different types of access start differ only in the way they drive OE and DRAM data [31: 0] when RAS drops. Reference FIG.

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

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

【0576】更に、早期書込みサイクルが用いられる。
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.

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

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

【0579】RAS、AS、及びWEがハイ。[0579] RAS, C AS, and WE are high.

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

【0581】* addrは、安定した状態を維持す
る。
* Addr maintains a stable state.

【0582】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 data path of the AM interface to be configured. This allows DRAM costs to be minimized when used in small picture formats.

【0583】[0583]

【表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.

【0584】[0584]

【表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 selected for the row address. Because some configurations do not allow all internal address bits to be used, "hidden bits" are created.

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

【0586】[0586]

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

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

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

【0589】A.5.11 「DRAMインターフェー
スの作動可能化」 本発明においては、DRAMインターフェース上の全て
の出力信号を高インピーダンスにするためには2つの方
法がある。即ち、DRAMenableレジスタをセッ
トする方法及びDRAMenable信号による方法で
ある。DRAMインターフェース上のドライバを作動さ
せるためには、これらのレジスタ及び信号は、両方共
に、ロジック1でなければならない。どちらかがローで
あれば、インターフェースは高インピーダンスになる。
A. 5.11 Enabling the DRAM Interface 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 DRAM enable register and a method of using a DRAM enable signal. In order for the driver on the DRAM interface to work, both these registers and signals must be logic ones. If either is low, the interface is high impedance.

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

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

【0592】A.5.12 「リフレッシュ」 ノーリフレッシュ・レジスタに記入することにより無能
化しない限り、DRAMインターフェースは、レジスタ
リフレッシュ・インターバルによって決定されたインタ
バルおいて/RAS/リフレッシュサイクルの以前の/
CAS/を使用し、DRAMを自動的にリフッレシュす
る。ここで、/信号名/は信号の反転信号を示す。
A. 5.12 "Refresh" Unless disabled by writing to the no-refresh register, the DRAM interface will operate at the previous / RAS / 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.

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

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

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

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

【0597】[0597]

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

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

【0599】[0599]

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

【0600】[0600]

【表30】 [Table 30]

【0601】[0601]

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

【0602】[0602]

【表32】 [Table 32]

【0603】[0603]

【表33】 [Table 33]

【0604】[0604]

【表34】 [Table 34]

【0605】[0605]

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

【0606】[0606]

【表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, one of ordinary skill in the art will appreciate that microprocessor interfaces of other widths can be used as well. MPI operates synchronously with various decoder chip clocks.

【0607】A.6.1 「MPI信号」A. 6.1 “MPI signal”

【0608】[0608]

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

【0609】[0609]

【表38】 [Table 38]

【0610】[0610]

【表39】 [Table 39]

【0611】[0611]

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

【0612】[0612]

【表41】 [Table 41]

【0613】[0613]

【表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 want to observe. The event may indicate an error or may be beneficial to the user's software.

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

【0615】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, the value of which is set to 1 by a condition occurring in the circuit. The register is set to 1 even if the condition is only temporary and has now passed. Thus, the register is guaranteed to remain set to 1 (or the entire chip is reset) until reset by user software.

【0616】*レジスタは、値1を記入することにより
ゼロにセットされる。
* The register is set to zero by writing a value of one.

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

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

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

【0620】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 the generation of an interrupt request when the corresponding condition event register is set. If a condition event has already been set, an interrupt request is issued immediately when 1 is written in the condition mask.

【0621】*値1は割込みを可能にする。* Value 1 enables interrupts.

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

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

【0624】A.6.3.3 「イベント及びマスクビ
ット」 イベントビット、及びマスクビットは、メモリマップ内
の連続したバイト内の対応するビット位置に常にグルー
プとして配置される表61、表141参照)。これは、
どのイベントが割込みを生成したかを識別するために、
割込みサービスソフトウェアが、マスクとしてのマスク
レジスタから読み取られた値を、イベントレジスタ内の
値に対するマスクとして使用することを可能にする。
A. 6.3.3 Event and Mask Bits Event bits and mask bits are always arranged in groups at corresponding bit positions in consecutive bytes in the memory map (see Table 61, Table 141). this is,
To identify which event generated the interrupt,
Enables 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.

【0625】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 an OR of all on-chip events with 1 in their mask bits.

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

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

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

【0629】/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 an impedance of 00 ohms or less.

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

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

【0632】アクセスレジスタにおける値0は、当該ア
クセスレジスタと関連したレジスタのグループが修正さ
れてはならないことを示す。アクセスレジスタに1を記
入すると、ブロックが停止されることを要求する。ただ
し、ブロックは即座に停止しなくても差し支えなく、そ
して、当該ブロックのアクセスレジスタは、当該ブロッ
クが停止するまで、値0を保持する。
A value of 0 in an access register indicates that the group of registers associated with the access register must 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.

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

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

【0635】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 bytes not made for an order are written to the multi-byte register.

【0636】符号付き整数を保持するレジスタ内の未使
用ビットを除くメモリマップ内の未使用ビットは、読み
取りに際して0を返す。この場合、レジスタ内の最上位
のビットは符号拡張される。例えば、符号付きの12ビ
ットレジスタは、16ビットメモリマップ位置(2バイ
ト)を満たすために、符号拡張される。符号無し12ビ
ット整数を保持する16ビットメモリマップ位置は、そ
の最上位ビットから0を返す。
[0636] Unused bits in the memory map excluding unused bits in the register holding the signed integer return 0 upon reading. 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.

【0637】A.6.4.3 「キーホールされたアド
レス位置」 本発明において、アクセス頻度の小さいメモリマップ位
置は、「キーホール」の背後に配置される。「キーホー
ル」は、関連した2つのレジスタを持つ、即ち、キーホ
ールアドレスレジスタ、及びキーホールデータレジスタ
である。
A. 6.4.3 "Keyhole Address Location" In the present invention, the memory map location with a 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.

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

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

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

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

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

【0643】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 operation of the device.

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

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

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

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

【0648】[0648]

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

【0649】[0649]

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

【0650】[0650]

【表45】 [Table 45]

【0651】[0651]

【表46】 表A.7.4 クロック入力条件 A.7.3.1 「CMOSレベル」 クロック入力信号はCMOS入力である。VIHmin
はVDDの約70%であり、そして、VILmaxはV
DDの約30%である。表46に示す値は、それぞれV
DDの最悪条件におけるVIH及びVILの値である。
VDD=5.0±0.25V A.7.3.2 「クロックの安定性」 本発明において、DRAMインターフェース及びチップ
間インターフェースをドライブするために用いられるク
ロックは、入力クロック信号から得られる。これらのイ
ンターフェースのためのタイミング仕様は、入力クロッ
クタイミングが±100psの範囲以で安定している
ものと仮定する。
[Table 46] Table A. 7.4 Clock input condition 7.3.1 "CMOS level" The clock input signal is a CMOS input. VIHmin
Is about 70% of VDD and VILmax is V
It is about 30% of DD. The values shown in Table 46 are
These are the values of VIH and VIL under the worst condition of DD.
VDD = 5.0 ± 0.25V 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. Timing specifications for these interfaces assume that the input clock timing is stable in the following range of ± 100 ps.

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

【0653】規格は、デバイス上の各ディジタル信号ピ
ンを直列接続する境界スキャンチェーンを利用する。テ
スト回路は、正常作動状態においては即応型(透明)で
ある、しかし、テストモードにおいて境界スキャンチェ
ーンはテストパターンをシフトイン可能にし、そして、
デバイスのピンに供給可能にする。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 the test mode the boundary scan chain allows the test pattern to be shifted in and
Enable to supply to device pins. 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. With this method, the connection between components as well as the logic area on the circuit board can be tested.

【0654】全てのJTAGオペレーションは5つのピ
ンを有するテストアクセスポート(TAP)を介して実
施される。trst(テストリセット)ピンは、デバイ
スがテストモードにおいてはパワーアップしないことを
保証するためにJTAG回路をリセットする。tck
(テストクロック)ピンは、クロック直列テストパター
ンを、tdi(テストデータ入力)ピンへクロックし、
そして、tdo(テストデータ出力)ピンからクロック
するために用いられる。最後に、JTAG回路の操作モ
ードは、該当するビットのシーケンスをtms(テスト
モードセレクト)ピンへクロックすることによりセット
される。
All JTAG operations are performed through a test access port (TAP) having 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 used to clock from the tdo (test data output) pin. Finally, the mode of operation of the JTAG circuit is set by clocking the appropriate bit sequence to the tms (test mode select) pin.

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

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

【0657】A.8.1 「非JTAGシステムにおけ
るJTAGピンの接続」
A. 8.1 "JTAG pin connection in non-JTAG systems"

【0658】[0658]

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

【0659】[0659]

【表48】 [Table 48]

【0660】[0660]

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

【0661】[0661]

【表50】 [Table 50]

【0662】[0662]

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

【0663】[0663]

【表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 * Decoders 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 2.5 W power * Independent coded data and decoder clock * Uses standard page mode DRAM Spatial decoders are available in a variety of JPEG, MPEG, and H.264.
Configurable VLSI decoder chip for use in H.261 picture and video decoding applications.

【0664】オフチップDRAMを使用しない最小のコ
ンフィギュレーションにおいて、空間デコーダは、1つ
の単一チップ、高速JPEGデコーダである。DRAM
を加えることにより、空間デコーダがJPEG符号化動
画を復号化することを可能にする。720×480、3
0Hz、4:2:2「JPEG動画」が、リアルタイム
に復号化可能である。
In a minimal configuration without 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 × 480, 3
0 Hz, 4: 2: 2 “JPEG moving image” can be decoded in real time.

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

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

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

【0668】[0668]

【表53】 [Table 53]

【0669】[0669]

【表54】 [Table 54]

【0670】[0670]

【表55】 [Table 55]

【0671】[0671]

【表56】 [Table 56]

【0672】[0672]

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

【0673】A.9.1.2 「VDD、及びGNDピ
ン」 当該技術分野における通常の習熟者であれば理解される
ように、装備されている全ての DD 及びGNDピン
は、それぞれ該当する電源に接続されなければならな
い。全ての DD 及びGNDピンが正しく使用されてい
ない限り、デバイスの正しい作動は保証不可能である。
A. 9.1.2 "VDD, and GND pins" As will be appreciated by ordinary skill in the art, all of V DD and GND pins are equipped, have to be connected to the respective corresponding power supply Must. As long as all V DD and GND pins are not used correctly, the correct operation of the device is not possible guarantee.

【0674】A.9.1.3 「正常作動のためのテス
トピンの接続」 空間デコーダの9つのピンは、内部テスト用として予約
済みである。
A. 9.1.3 Connection of test pins for normal operation The nine pins of the spatial decoder are reserved for internal testing.

【0675】[0675]

【表58】 A.9.1.4 「正常作動のためのJTAGピン」 セクションA.8.1参照。[Table 58] A. 9.1.4 JTAG pins for normal operation Section A. See 8.1.

【0676】A.9.2 「空間デコーダメモリマッ
プ」
A. 9.2 “Spatial decoder memory map”

【0677】[0677]

【表59】 [Table 59]

【0678】[0678]

【表60】 [Table 60]

【0679】[0679]

【表61】 [Table 61]

【0680】[0680]

【表62】 [Table 62]

【0681】[0681]

【表63】 [Table 63]

【0682】[0682]

【表64】 [Table 64]

【0683】[0683]

【表65】 [Table 65]

【0684】[0684]

【表66】 [Table 66]

【0685】[0685]

【表67】 [Table 67]

【0686】[0686]

【表68】 [Table 68]

【0687】[0687]

【表69】 [Table 69]

【0688】[0688]

【表70】 [Table 70]

【0689】[0689]

【表71】 [Table 71]

【0690】[0690]

【表72】 [Table 72]

【0691】[0691]

【表73】 [Table 73]

【0692】[0692]

【表74】 [Table 74]

【0693】[0693]

【表75】 [Table 75]

【0694】[0694]

【表76】 [Table 76]

【0695】[0696]

【表77】 [Table 77]

【0696】[0696]

【表78】 [Table 78]

【0697】[0697]

【表79】 [Table 79]

【0698】[0698]

【表80】 [Table 80]

【0699】[0699]

【表81】 セクション A.10 「コード化データ入力」 本発明に基づくシステムは、処理するためにどの動画規
格が入力されつつあるかを知らなければならない。今
後、本システムは、先在しているトークン、又は、生バ
イトデータのいずれかを受け入れることができる。この
生バイトデータは、次に、スタートコード検出器によっ
てトークン内に配置可能である。
[Table 81] Section A. 10 "Coded Data Input" The system according to the present invention must know which moving picture standard is being input 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 a start code detector.

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

【0701】*コード化データ入力ポート *マイクロプロセッサインターフェース(MPI) 使用するルートの選定は、アプリケーション及びシステ
ム環境に依存する。例えば、データレートが低い場合に
は、デコーダチップ・セットを制御し、そして、システ
ムビットストリームを多重化する両方の目的のために、
1つの単一マイクロプロセッサを使用することが可能で
ある。この場合、MPIを介してコード化データを入力
をすることも可能である。代りに、コード化データレー
トが高い場合には、コード化データはコード化データポ
ートを介して供給されなければならない。
* Coded Data Input Port * Microprocessor Interface (MPI) The choice of the 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 possible to input the coded data via the MPI. Alternatively, if the coded data rate is high, the coded data must be provided via a coded data port.

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

【0703】A.10.1 「コード化データポート」A. 10.1 "Coded data port"

【0704】[0704]

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

【0705】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 manner, and accepts tokens under control of coded enable and coded accept. See Section A. for details on the electrical operation of this interface. See No. 4.

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

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

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

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

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

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

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

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

【0714】[0714]

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

【0715】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 are taken. Generally, the transfer of a token via any one route must be completed before switching mode.

【0716】[0716]

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

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

【0718】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 a 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 uses the coded clock
1 byte of the coded data is decoded every eight cycles. However, additional processing cycles may be required, such as when a non-data token is supplied or when a start code appears in the coded data. If such event occurs, the start code detector, over a short period of time, that Do impossible to accept any more information.

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

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

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

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

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

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

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

【0726】レジスタスタートコード検出器アクセス
は、スタートコード検出器を停止させ、ひいては、その
レジスタへのアクセスを可能にするために使用される。
スタートコード検出器は、割込みを生成した後で、停止
する。
Register start codeDetector access
Stops the start code detector and, consequently,
Used to allow access to registers.
Start code detector stops after generating interrupt
I do.

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

【0728】[0728]

【表85】 [Table 85]

【0729】[0729]

【表86】 [Table 86]

【0730】[0730]

【表87】 [Table 87]

【0731】[0731]

【表88】 [Table 88]

【0732】[0732]

【表89】 [Table 89]

【0733】[0733]

【表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 to the corresponding start code token. It is to be. In the simplest case, the data is provided 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 with the start code token interrupted.

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

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

【0736】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. This is configured via a register start code detector coding standard.

【0737】[0737]

【表91】 A.11.3.2 「スタートコードトークン均等物」 スタートコードを検出した場、スタートコード検出器
は、当該スタートコードと関連した値を検討し、そし
て、適切なトークンを生成する。一般に、トークンは、
関連MPEGシンタックスにちなんで命名される。ただ
し、当該技術分野における通常の習熟者であれば、トー
クンは、付加的ネーミングフォーマットに従うことを理
解するはずある。現在選定されている符号化規格は、ス
タートコード値と生成されたトークンとの間の関係を構
成する。この関係を表92に示す。
[Table 91] A. 11.3.2 Start Code Token Equivalent Upon detecting a start code, the start code detector considers the value associated with the start code and generates an appropriate token. Generally, the token is
Named after 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.

【0738】[0738]

【表92】 A.11.3.3 「符号化規格の拡張機能」 符号化規格は、符号化規格によればその使用が現在確定
していないデータストリーム内へのデータ埋め込みを可
能にする多数のメカニズムを提供する。これは、特定メ
ーカーに追加的な使い易さを提供する特定の「ユーザデ
ータ」アプリケーションと見なすことも可能であり、そ
の代りに、「拡張データ」と見なしても差し支えない。
符号化規格オーソリティとしては、将来において符号化
規格に機能を追加するために拡張データを使用する権利
を留保した。
[Table 92] A. 11.3.3 Enhancements to the coding standard The coding standard provides a number of mechanisms that allow the embedding of data into data streams whose use has not been determined by the coding standard. This can be viewed as a specific "user data" application that provides additional ease of use to a particular manufacturer, and can instead be viewed 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.

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

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

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

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

【0743】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, these table definitions are preceded by marker codes DNL and DQT. The start code detector generates tokens DHTMMARKER and DQTMMARKER when these marker codes are detected. These tokens indicate to the video demux that the subsequent data token contains coded data describing a Huffman or quantizer table (using the format described in JPEG).

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

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

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

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

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

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

【0750】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.

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

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

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

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

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

【0756】データセグメントはマーカコードをエミュ
レートする値を含むことができるので、JPEGコード
化動画を用いるこれらの技術を使用することには制限が
ある(A.11.8.1参照)。
There are limitations to using these techniques with JPEG coded video since data segments can contain values that emulate marker codes (see A.11.8.1).

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

【0758】ピクチャの終端がスタートコード検出器を
一旦供給すると、フラッシュトークンが生成され(A.
11.7.2)、割込みが生成され、そして、スタート
コード検出器が停止する。完成したばかりのピクチャ
は、通常の方法で復号化されることに注意されたい。ア
プリケーションによっては、デコーダチップ・セットの
出力に到着したフラッシュを検出することが適切である
場合もあり得る。この出力の到着は現行動画シーケンス
の終了を示す。例えば、ディスプレイは、最後のピクチ
ャ出力に固着することもあり得る。
Once the end of the picture has provided the start code detector, a flash token is generated (A.E.
11.7.2), an interrupt is generated and the start code detector stops. Note that the just completed picture 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.

【0759】スタートコード検出器が停止すると、メデ
ィアとデコードチップとの間にユーザによって実現され
たバッファに「トラップ」されている「古い」動画シー
ケンスからのデータもあり得る。レジスタdiscar
dallデータをセットすると、空間デコーダにこのデ
ータを消費させ、そして、破棄させる。これは、フラッ
シュトークンがスタートコード検出器に到達するか、或
いは、discardallデータがマイクロプロセッ
サインターフェースを介してリセットされる時まで、継
続する。
When the start code detector stops, there may also be data from an "old" video sequence that is "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 this data and discard it. This continues until the flash token reaches the start code detector or until the discardall data is reset via the microprocessor interface.

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

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

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

【0763】A.11.5.3 「新しいシーケンスの
開始」 或るコード化データ内のどこで新しいコード化動画シー
ケンスがスタートするかが未知である場合には、スター
トコード探索メカニズムを使用できる。このメカニズム
は、シーケンスのスタートに先行するあらゆる不必要な
データを放棄する。A.11.8を参照されたい。
A. 11.5.3 Start of New Sequence If it is not known 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 preceding the start of the sequence. A. See 11.8.

【0764】A.11.5.4 「シーケンス間のジャ
ンプ」 このセクションでは、前記の幾つかの技術のアプリケー
ションを示す。目的は、1つのコード化動画シーケンス
の一部分からもう他の部分へ「ジャンプする」ことであ
る。この例において、ファイリングシステムは、データ
の「ブロック」へのアクセスを可能にするに過ぎない。
このブロック構造は、ディスク又はブロックエラー補正
システムのセクタサイズから得ることも出来る。従っ
て、コード化動画データにおける入り口及び出口の位置
は、ファイリングシステムブロック構造と関係がない場
合もあり得る。
A. [0764] 11.5.4 "Jump between sequences" This section shows applications of some of the techniques described above. 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 disk 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.

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

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

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

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

【0769】非整列スタートコードが見付かった場合に
は、通常、既に通信エラーが発生していたことを示す。
エラーが直列ビット通信システムにおける「ビット‐ス
リップ」である場合には、このエラーを含むデータは既
にデコーダへ供給されている。このエラーは、デコーダ
内において他のエラーを引き起こす可能性があるものと
推測される。ただし、スタートコード検出器に到着する
新しいデータは、この整列が失われた後で、続いて復号
化可能である。
If a non-aligned start code is found, it usually indicates that a communication error has already occurred.
If the error is a "bit-slip" in a serial bit communication system, the data containing the error has already been provided 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 has been lost.

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

【0771】[0771]

【表93】 A.11.7 「トークンの自動生成」 本発明において、スタートコード検出器によって出力さ
れたトークンの大部分は、様々なピクチャ及び動画コー
ド化規格の構文エレメントを直接反映する。これらの
「自然」トークンに加えて、幾つかの有用な「発明され
た」トークンが生成される。これらの所有権を主張でき
るトークンの例はピクチャ・エンド、及びコーディング
・スタンダードである。更に、符号化規格の間の或る程
度の構文的な差を除去し、そして、エラー条件の下で整
頓するために、トークンが導入される。
[Table 93] A. 11.7 Automatic Generation of Tokens 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 these proprietary tokens are picture end, and coding standards. In addition, tokens are introduced to remove some syntactic differences between coding standards and to order under error conditions.

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

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

【0774】A.11.7.2 「ピクチャ終了オプシ
ョン後の停止」 レジスタストップアフタピクチャがセットされている場
合には、スタートコード検出器は、ピクチャ・エンドト
ークンが供給した後で停止する。ただし、フラッシュト
ークンは、デコーダを介してコード化データの末端を
「プッシュ」し、そして、システムをリセットするため
に、ピクチャ・エンドの後で挿入される。A.11.
5.1を参照されたい。
A. 11.7.2 "Stop after picture end option" If the register stop after picture is set, the start code detector stops after supplying the picture end token. 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.

【0775】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 a sequence start (see Table 92). If the insert sequence start register is set, the start code detector ensures that there is one sequence start token before the next picture start, i.e. the start code detector is If it does not see a sequence start, one token is introduced. If one already exists, no sequence start is introduced.

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

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

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

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

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

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

【0782】[0782]

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

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

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

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

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

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

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

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

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

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

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

【0793】従って、MPEGは、スタートに関する必
要条件を遅延として規定する。ただし、一定ビットレー
トシステムにおいては、この遅延は、ビットカウントに
容易に変換できる。これは、本発明の空間デコーダのス
タート制御動作の基礎である。
[0793] MPEG therefore defines the requirement for a start as a delay. However, in a constant bit rate system, 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.

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

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

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

【0797】[0797]

【表95】 [Table 95]

【0798】[0798]

【表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.

【0799】リセット後に必要とされるコンフィギュレ
ーションを次に示す(スタートアップアクセスに1を記
入することによってスタート制御ロジックへのアクセス
が得られる)。
The configuration required after reset is as follows (writing 1 to Startup Access gives access to the Start Control Logic):

【0800】* オフチップキュー=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 those registers (this Is the default state after reset). (See A.12.7.1 for an explanation of why this holds the output gate open).

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

【0802】リセットの後で必要とされるコンフィギュ
レーションを次に示す(スタートアップアクセスに1を
記入することによりスタート制御ロジックへのアクセス
が得られる)。
The configuration required after reset is as follows (writing 1 to Startup Access gives access to Start Control Logic):

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

【0804】*このエラー条件を検出可能にするために
カウンタflushed tooearlyマスク=1
をセットする。
* To enable this error condition to be detected, a counter flushed too early mask = 1
Is set.

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

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

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

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

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

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

【0811】ストリームAのエンドをマークするフラッ
シュが出力ゲートを通過するにつれて、ゲートが閉じ
る。ゲートは、Bがそのスタート条件に適合するまで、
閉じた状態を維持する。例えば、ストリームB及びバッ
ファの深さのためのスタート遅延のような多数の要因に
応じて、出力ゲートが閉じた時、Bが既にそのスタート
条件条件に適合済みであることが可能である。この場
合、1つのイネイブルはキュー内において待機してお
り、そして、出力ゲートは即座に開く。そうでない場合
には、ストリームBは、そのスタート必要条件に適合す
るまで、待たなければならない。
As the flash marking the end of stream A passes through the output gate, the gate closes. The gate holds until B meets its starting conditions.
Keep closed. Depending on a number of factors, such as, for example, the start delay for stream B and the depth of the buffer, 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.

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

【0813】図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 in a buffer managed by the spatial decoder. Stream D is still arriving at the input of the spatial decoder.

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

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

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

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

【0818】*オフチップキュー=1をセットする。* Off-chip queue = 1 is set.

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

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

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

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

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

【0824】(ストリームのエンドをマークする)フラ
ッシュが出力ゲートを通過すると、ゲートは閉じる。利
用可能な1つのイネイブルがキューのエンドに在る場合
には、ゲートが開いて、そして、アクセプトイネーブル
イベントを生成する。アクセプトイネーブルマスクが1
にセットされる場合には、割込みが生成可能であり、そ
して、キューのエンドから1つのイネイブルが除去され
る(レジスタイネーブルストリームはリセットされ
る)。
[0824] Flag (to mark end of stream)
The gate closes as the cash passes through the output gate. If one available enable is at the end of the queue, the gate opens and generates an accept enable event. Accept enable mask is 1
If set, an interrupt can be generated and one enable removed from the end of the queue (the register enable stream is reset).

【0825】ただし、アクセプトイネーブルマスクがゼ
ロにセットされる場合には、アクセプトイネーブルイベ
ントに続いて割込みは生成されず、そして、当該イネイ
ブルはキューのエンドから除去されない。このメカニズ
ムは、A.12.5に述べられているように、出力ゲー
トを開いた状態に保つために使用できる。
[0825] 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 It can be used to keep the output gate open, as described in 12.5.

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

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

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

【0829】[0829]

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

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

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

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

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

【0834】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 has been reset. During normal operation, there are no requirements for buffer manager reconfiguration.

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

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

【0837】[0837]

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

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

【0839】A.13.2 「バッファマネージャレジ
スタの使用」 空間デコーダバッファマネージャは、2つの類似したバ
ッファを定義する2組のレジスタを持つ。バッファリミ
ットレジスタは、メモリースペースの物理的な上限界を
定義する。全てのアドレスは、この数を法として計算さ
れる。
A. 13.2 Use of 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 the memory space. All addresses are calculated modulo this number.

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

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

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

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

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

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

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

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

【0848】セクション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, a parser state machine, a Huffman decoder (IT
OD), macroblock counter, and ALU.

【0849】パーザ又はステートマシンは、コード化動
画データの構文に従い、そして、他のユニットを指示す
る。ハフマンデコーダは、可変長コード化(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 into integers. The macroblock counter keeps track of the picture section that is currently being decoded. The ALU performs the necessary arithmetic calculations.

【0850】A.14.1 「動画デマルチプレクサレ
ジスタ」
A. 14.1 "Movie demultiplexer register"

【0851】[0851]

【表99】 [Table 99]

【0852】[0852]

【表100】 [Table 100]

【0853】[0853]

【表101】 [Table 101]

【0854】[0854]

【表102】 [Table 102]

【0855】[0855]

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

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

【0857】[0857]

【表104】 [Table 104]

【0858】[0858]

【表105】 [Table 105]

【0859】[0859]

【表106】 [Table 106]

【0860】[0860]

【表107】 [Table 107]

【0861】[0861]

【表108】 [Table 108]

【0862】[0862]

【表109】 [Table 109]

【0863】[0863]

【表110】 [Table 110]

【0864】[0864]

【表111】 [Table 111]

【0865】[0865]

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

【0866】空間デコーダレジスタ、ブロック数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は、関係する異った色成分の数を指定する。
[0866] Spatial decoder register, number of blocks h
n, vn, maxh, maxv, and maxc
component id is a combination of macroblocks (J
PEG minimum coding unit). Each is a two-bit register that can hold a value in the range from 0 to 3. max compo
All registers except the tent id specify a block count from 1 to 4. For example, register ma
If xh holds 1, the width of the macroblock is 2 blocks. Similarly, max component
id specifies the number of different color components involved.

【0867】[0867]

【表113】 表A.14.6 各種マクロブロックフォーマット用コ
ンフィギュレーション A.14.3 「ハフマン表」 A.14.3.1 「JPEGスタイルハフマン表記
述」 本発明において、ハフマン表記述は、エンコーダとデコ
ーダとの間で表記述を伝達するために、JPEによっ
て使われるフォーマットを介して空間デコーダに提供さ
れる。各表記述には2つのエレメント、即ち、BITS
及びHUFFVALがある。ユーザーは、表がコード化
される方法についての完全な記述に関して、JPEG仕
様に案内される。
[Table 113] Table A. 14.6 Configurations for Various Macroblock Formats 14.3 "Huffman Table" In 14.3.1 "JPEG style Huffman table description" The present invention, Huffman table descriptions, in order to transmit the table description between the encoder and decoder are provided in the Spatial Decoder via the format used by the JPE G You. Each table description has two elements: BITS
And HUFFVAL. Users are guided to the JPEG specification for a complete description of how tables are encoded.

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

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

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

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

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

【0873】空間デコーダ内におけるAC及びDC係数
ハフマン表の構成は、空間デコーダの入力にデータ及び
DHTマーカトークンを供給することによって達成可能
であり、同時に、空間デコーダはJPEGオペレーショ
ンに対して構成される。このメカニズムは、MPEGオ
ペレーションのために必要とされるDC係数ハフマン表
を構成するために使用出来るが、ただし、表がダウンロ
ードされると同時に、空間デコーダの符号化規格はJP
EGにセットされなければならない。
The construction of the AC and DC coefficient Huffman tables in the spatial decoder can be achieved by providing data and DHT marker tokens at the input of the spatial decoder, while 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 encoding standard of the spatial decoder is JP
Must be set to EG.

【0874】[0874]

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

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

【0876】*レジスタ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.

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

【0878】*レジスタ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.

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

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

【0881】A.14.4.2 「H.261ピクチャ
の構造」 H.261は、わずか2つのピクチャフォーマット、即
ち、CIF及びQCIFをサポートするものとして定義
される。使用中のピクチャフォーマットは、ビットスト
リームのPTYPEセクションにおいて送信される。こ
のデータは、空間デコーダによって復号化されると、H
261ピクチャタイプレジスタ及びピクチャタイプトー
クン内に配置される。更に、全てのピクチャ及びマクロ
ブロック構成レジスタは自動的に構成される。
A. [0881] 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. This data, when decoded by the spatial decoder, is H
261 picture type register and picture type token. Further, all picture and macroblock configuration registers are automatically configured.

【0882】様々なレジスタ内の情報は、それらの関連
トークン内に配置され表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, temporal decoders) are correctly configured. Guarantee.

【0883】A.14.4.3 「MPEGハフマン
表」 MPEGを復号化するために必要なハフマンコード化表
の大多数は、空間デコーダ内のROM内に保持されるの
で(パーザステートマシン内であることを再度述べてお
く)、ユーザの介入を必要としない。イントラルマクロ
ブロックのDC係数を復号化するために必要な表は例外
である。1つはクロマ用、そして、他の1つはルマ用と
して2つの表が必要とされる。これらの表は、復号化が
始まる前に、ユーザソフトウェアによって構成されなけ
ればならない。
A. 14.4.3 “MPEG Huffman Table” Most of the Huffman coding table necessary for decoding MPEG is held in the ROM in the spatial decoder (repeated that it is in the parser state machine). And no user intervention is required. The tables required to decode the DC coefficients of an intra macroblock 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.

【0884】[0884]

【表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 the MPI achieves the same result.

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

【0886】[0886]

【表116】 [Table 116]

【0887】[0887]

【表117】 [Table 117]

【0888】[0888]

【表118】 [Table 118]

【0889】[0889]

【表119】 [Table 119]

【0890】[0890]

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

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

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

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

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

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

【0896】空間デコーダは、3つ全てのフォーマット
を受け入れる。ただし、必要とされる全ての表が定義済
みである場合には、短縮されたイメージデータファイル
のみが復号化可能である。他の2つのタイプのJPEG
ファイルのうちのどちらかを介してこの定義は実施可能
であり、或は、その代りに、ユーザソフトウェアによっ
て表をセットアップすることが可能である。
[0896] The spatial decoder accepts all three formats. However, if all the required tables have been defined, only the shortened image data file can be decoded. 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.

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

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

【0899】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 to use with which color components. During JPEG operation, these relationships are defined in the scan header syntax TDj.
And Taj fields.

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

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

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

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

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

【0905】JPEGは、コード化単位が1走査当たり
10ブロックよりも多いブロックを含まないように、最
小コード化単位を制限する。空間デコーダは、ブロック
数hn、ブロック数v n、max h、及びmax
vによって記述可能な任意の最小コード化単位を処理す
ることが出来るので、この限界は、空間デコーダには適
用されない。
JPEG limits the minimum coding unit so that the coding unit does not include more than 10 blocks per scan. The spatial decoder calculates 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.

【0906】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).

【0907】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.A. See 6.3 “Interrupts”.

【0908】A.14.5.1 「ハフマンイベント」 ハフマンイベントは、ハフマンデコーダによって生成さ
れる。ハフマンイベント及びハフマンマスクにおいて指
示されるイベントは、割込みが生成されるかどうかを決
定する。ハフマンマスクが1にセットされる場合には、
割込みが生成され、そして、ハフマンデコーダが停止す
る。レジスタハフマンエラーコード[2:0]は、イベ
ントの原因を示す値を保持する。
A. 14.5.1 "Huffman Event" Huffman events are generated by a Huffman decoder. The Huffman event and the events 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.

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

【0910】A.14.5.2 「パーザイベント」 パーザイベントは、パーザによって生成される。このイ
ベントは、パーザイベントにおいて指示される。それ以
降においては、割込みが生成されるかどうかは、パーザ
ーマスクによって決定される。パーザーマスクが1にセ
ットされている場合には、割込みが生成され、そして、
パーザは停止する。レジスタパーザーエラーコード
[7:0]は、イベントの原因を指示する値を保持す
る。
A. 14.5.2 Parser Events Parser events are generated by the parser. This event is indicated in the parser event. Thereafter, whether 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.

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

【0912】割込みをサービスした後で、パーザーイベ
ントに1を記入する場合には、パーザは、オペレーショ
ンを再開する。イベントがビットストリームエラーを指
示した場合には、動画デマルチプレクサは、エラーから
の回復を試行する。
[0991] After servicing the interrupt, if the parser event is to be filled with 1, the parser will resume operation. If the event indicates a bitstream error, the video demultiplexer attempts to recover from the error.

【0913】パーザーマスクが0にセットされた場合に
は、パーザは、そのイベントビットをセットするが、割
込み又は停止は生成しない。パーザは、オペレーション
を継続し、そして、エラーからの自動的な回復を試行す
る。
If the parser mask is set to 0, the parser sets the event bit, but does not generate an interrupt or stop. The parser continues the operation and attempts automatic recovery from the error.

【0914】[0914]

【表121】 [Table 121]

【0915】[0915]

【表122】 [Table 122]

【0916】[0916]

【表123】 [Table 123]

【0917】[0917]

【表124】 [Table 124]

【0918】[0918]

【表125】 [Table 125]

【0919】[0919]

【表126】 各規格は、定義されたパーザエラーコードの異なる部分
集合を使用する。
[Table 126] Each standard uses a different subset of the defined parser error codes.

【0920】[0920]

【表127】 [Table 127]

【0921】[0921]

【表128】 A.14.6 「ユーザデータ及び拡張データの受信」 MPEG及びJPEGは、ユーザデータ及び拡張データ
を埋め込むための同様のメカニズムを用いる。データ
は、スタート/マーカコードによって先行される。アプ
リケーションが当該データに関心を持たない場合には、
スタートコード検出器が、このデータを削除するように
構成可能である(A.11.3.3参照)。
[Table 128] A. 14.6 “Receiving User Data and Extension Data” MPEG and JPEG use a similar mechanism for embedding user data and extension data. Data is preceded by a start / marker code. If the application is not interested in the data,
A start code detector can be configured to delete this data (see A.11.3.3).

【0922】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 Events, EREXTENSION Tokens,
And the ERR user token indicate the arrival of the extension data or the user data token in the video demultiplexer. If these tokens are generated by the start code detector (A.11.
3.3)), these tokens have the value 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 moving image demultiplexer remains stopped until 1 is written in the parser event (see A.6.3, “Interrupt”).

【0923】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 extension data or user data. The video demultiplexer indicates that the arrival of this data token
Generate either RREXTENSION data or ERR user data parser events. The first byte of the data token contains r while servicing the interrupt.
It can be read by reading the om revision register.

【0924】動画デマルチプレクサレジスタの継続状態
は、イベントがクリアされた後における行動態様を決定
する。このレジスタが値0を保持する場合には、データ
トークンにおけるあらゆる残りのデータは動画デマルチ
プレクサによって消費され、そして、イベントは一切生
成されない。継続が1にセットされている場合には、拡
張の各バイト又はユーザデータが動画デマルチプレクサ
に到着するにつれてイベントが生成される。これは、デ
ータトークンが使い果たされるか、或いは、継続が0に
セットされるまで継続する。
[0924] The continuation state of the moving image demultiplexer register determines the behavior after the event is cleared. If this register holds the value 0, any remaining data in the data token is consumed by the video demultiplexer and no event is generated. If continuation is set to 1, an event is generated as each byte or user data of the extension arrives at the video demultiplexer. This continues until the data token is exhausted or the continuation is set to zero.

【0925】注記: 1)拡張/ユーザデータの第1のバイトは、継続の状態
に関係なく、romrevisionレジスタを介して
常に呈示される。
Notes: 1) The first byte of extension / user data is always presented via the romrevision register, regardless of the state of the continuation.

【0926】2)拡張/ユーザデータの最後のバイトを
読み終えたことを示すイベントは無い。
2) There is no event indicating that the last byte of extension / user data has been read.

【0927】A.14.7 「追加情報の受信」 H.261及びMPEGは、符号化規格を拡張する情報
がブロック(H.261)又はスライス(MPEG)の
ピクチャ及びグループ内に埋め込まれることを可能にす
る。このメカニズムは、拡張データ及びユーザデータ用
メカニズムと異なる(セクションA.14.6に記述済
み)。スタートコードはデータに先行しないので、スタ
ートコード検出器によって削除されることが可能であ
る。
A. 14.7 “Reception of Additional Information” H.261 and MPEG allow information that extends the coding standard to be embedded in blocks (H.261) or slice (MPEG) pictures and groups. This mechanism is different 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.

【0928】H.261オペレーション期間中、パーザ
イベントERR PSPARE、及びERR GSPA
REは、この情報の検出を指示する。MPEGオペレー
ション期間中の対応するイベントはERR EXTRA
ピクチャ、及びERR EXTRAスライスである。
[0928] H. During the H.261 operation, the parser events ERR PSPARE and ERR GSPA
The RE instructs detection of this information. The corresponding event during the MPEG operation is ERR EXTRA
A picture and an ERR EXTRA slice.

【0929】パーザイベントが生成されると、追加情報
の第1のバイトは、レジスタromrevisionを
介して経て呈示される。
When a parser event is generated, the first byte of additional information is presented via the register romrevision.

【0930】動画デマルチプレクサレジスタの継続状態
は、イベントがクリアされた後の行動態様を決定する。
このレジスタ値0を保持する場合には、あらゆる残りの
追加情報は動画デマルチプレクサによって消費され、そ
して、一切のイベントが生成されない。継続が1にセッ
トされている場合には、追加情報の各バイトが動画デマ
ルチプレクサに到着するにつれて、イベントが生成され
る。この継続は、追加情報が使い果たされるか、或い
は、継続が0にセットされるまで継続する。
[0930] The continuation state of the video demultiplexer register determines the manner of action after the event has been cleared.
In retaining this register value 0, any remaining additional information is consumed by the video demultiplexer and no events are generated. If continuation is set to 1, an event is generated as each byte of additional information arrives at the video demultiplexer. This continuation continues until the additional information is exhausted or the continuation is set to zero.

【0931】注記: 1)拡張/ユーザデータの第1のバイトは、継続の状態
に関係なく、romrevisionレジスタを介して
常に呈示され。 2)拡張/ユーザデータの最後のバイトを読み終えたこ
とを示すイベントは無い。
Notes: 1) The first byte of extension / user data is always presented via the romrevision register, regardless of the state of the continuation. 2) There is no event indicating that the last byte of the extension / user data has been read.

【0932】A.14.7.1 「FIELD INF
Oトークンの生成」 MPEGオペレーション期間中、レジスタフィールドi
nfoが1にセットされている場合には、あらゆるex
tra informationピクチャの第1のバイ
トは、FIELD INFOトークン内に配置される。
この行動態様は、MPEGの標準化アクティビティによ
ってカバーされない。FIELD INFOトークンの
定義を表4〜表11に示す。
A. [0932] 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 behavior is not covered by MPEG standardization activities. Tables 4 to 11 show the definition of the FIELD INFO token.

【0933】フィールド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 informati
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.

【0934】A.14.8 「MPEGシーケンス層に
おける変化」 MPEGシーケンスヘッダは、復号化されようとしてい
る動画の次に示す特性を記述する。
A. 14.8 “Changes in MPEG Sequence Layer” The MPEG sequence header describes the following properties of the moving picture to be decoded.

【0935】*水平および垂直サイズ *ピクセルのアスペクトレシオ *ピクチャレート *コード化データレート *動画バッファベリファイアのバッファサイズ 空間デコーダがシーケンスヘッダを復号化する際に、こ
れら任意のパラメータが変化する場合には、パーザイベ
ントERR MPEGシーケンスが生成される。
* Horizontal and vertical size * Pixel aspect ratio * Picture rate * Coded data rate * Video buffer verifier buffer size When these parameters change when the spatial decoder decodes the sequence header, Generates a parser event ERR MPEG sequence.

【0936】A.14.8.1 「ピクチャサイズの変
化」 ピクチャサイズが変化した場合、ユーザのソフトウェア
は、horizpels、及びvertpelsにおけ
る値を読み取り、そして、レジスタhorizmacr
oblocks、及びvertmacroblocks
にロードするための新しい値を計算する。
A. 14.8.1 "Picture Size Change" When the picture size changes, the user's software reads the values in horizpels and vertpels , and then registers horizmacr
obblocks and vertmablocks
Calculate the new value to load into.

【0937】セクション A.15 「空間復号化」 本発明に基づき、トークンバッファの出力と空間デコー
ダの出力との間で空間復号化が発生する。
Section A. 15 "Spatial decoding" According to the present invention, spatial decoding occurs between the output of the token buffer and the output of the spatial decoder.

【0938】空間復号化の責任を負う3つの主要ユニッ
ト、即ち、逆モデラ、逆量子化器、及び逆離散コサイン
トランスフォーマがある。このセクションの入力(トー
クンバッファから)において、データトークンは、量子
化された係数のラン及びレベル表現を含む。出力(逆D
CTの)において、データトークンはピクセル情報の8
×8ブロックを含む。
[0938] 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 (Reverse D
In CT), the data token is the pixel information 8
× 8 blocks are included.

【0939】A.15.1 「逆モデラ」 トークンバッファ内のデータトークンは、量子化された
係数の値、及び表示された係数の間のゼロの数に関する
情報を含む。逆モデラは、各データトークンが64の値
を含むように、ゼロのランに関する情報を拡大する。こ
の段階において、データトークンにおける値は量子化さ
れた係数である。
A. 15.1 "Inverse Modeler" The data token in the token buffer contains information about the value of the quantized coefficients and the number of zeros between the displayed coefficients. The inverse modeler expands on information about runs of zero so that each data token contains 64 values. At this stage, the value in the data token is a quantized coefficient.

【0940】逆モデル化プロセスは、現在使用中の符号
化規格には関係なく、同じである。コンフィギュレーシ
ョンは一切不要である。
The inverse modeling process is the same regardless of the coding standard currently in use. No configuration is required.

【0941】モデル化および逆モデル化機能に関する全
ての必要条件を一層良く理解するために、読者は、任意
のピクチャコード化規格を調査することが可能である。
To better understand all the requirements for modeling and de-modeling functions, the reader can explore any picture coding standard.

【0942】A.15.2 「逆量子化器」 エンコーダにおいて、量子化器は、DCT係数の分解能
度を低下させるためにDCT出力を分割する。デコーダ
における逆量子化器の機能は、元の値に近似するように
復元するために、これらの量子化されたDCT係数に乗
算を施すことである。
[0942] A. 15.2 Inverse Quantizer In an encoder, a quantizer divides the DCT output to reduce the resolution of 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 the original values.

【0943】A.15.2.1 「規格量子化計画の概
要」 異なる符号化規格の各々によって用いられる量子化計画
には重要な差がある。各々の規格によって用いられる量
子化計画について詳細に理解するためには、読者は、関
連符号化規格文書を研究されたい。
A. 15.2.1 Overview of the Standard Quantization Plan There are important differences in the quantization plans used by each of the different coding standards. To gain a detailed understanding of the quantization scheme used by each standard, the reader should study the relevant coding standard documents.

【0944】レジスタ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.1. See 21.1.

【0945】量子化計画の間の主要な相違は、量子化さ
れた係数に乗算する数のソースである。これらについて
は、次に概説される。更に、ここには説明されていない
が、必要な算術演算(丸める、等)において詳細な相違
がある。
The main difference between the quantization schemes is the source of the numbers by which the quantized coefficients are multiplied. These are outlined below. Further, although not described herein, there are specific differences in the required arithmetic operations (rounding, etc.).

【0946】A.15.2.1.1 「H.261 I
Qの概観」 H.261において、係数を調整するために、1つの単
一「スケールファクタ」が用いられる。エンコーダは、
作成されるデータレートを調整するために、このスケー
ルファクタを定期的に変更できる。イントラコード化ブ
ロック内の「DC」係数には、わずかに異なる規則が適
用される。
A. 15.2.1.1.1 “H.261 I
Overview of Q ”H. At 261, one 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. Slightly different rules apply to “DC” coefficients in intra-coded blocks.

【0947】A.15.2.1.2 「JPEG IQ
の概観」 基底線JPEGは、各走査において最大4つまでの異な
る色成分を含むピクチャを許容する。これらの4つの色
成分に対しては、64エントリ量子化表が指定可能であ
る。これらの表の各エントリは、64の量子化された係
数のうちの1つに対して「スケール」ファクタとして使
用できる。
A. 15.1.2.1.2 “JPEG IQ
Overview Baseline JPEG allows pictures containing up to four different color components in each scan. For these four color components, a 64-entry quantization table can be specified. Each entry in these tables can be used as a "scale" factor for one of the 64 quantized coefficients.

【0948】JPEG量子化表用の値は、コード化JP
EGデータ内に含まれ、そして、量子化表に自動的にロ
ードされる。
[0948] The value for the JPEG quantization table is the coded JP
Included in the EG data and automatically loaded into the quantization table.

【0949】A.15.2.1.3 「MPEG IQ
の概観」 MPEGは、H.261及びJPEG量子化技術を用い
る。JPEGの場合と同様に、各々64のエントリを備
えた4つの量子化表が使用可能である。ただし、表の使
用方法は全く異なる。
A. 15.2.1.3 "MPEG IQ
Overview of MPEG. H.261 and JPEG quantization technology. As with JPEG, four quantization tables with 64 entries each are available. However, the use of tables is completely different.

【0950】データの2つの「タイプ」は、イントラ及
び非イントラである。各データタイプに対して異なった
表が用いられる。2つの「デフォルト」表が、MPEG
によって定義される。1つはイントラデータ用であり、
いま1つは非イントラデータ用である表130、及び表
131参照)。これらのデフォルト表は、MPEG復号
化が可能になる以前に、空間デコーダの量子化表メモリ
ーに記入されなければならない。
[0950] The two "types" of data are intra and non-intra. A different table is used for each data type. The two "default" tables are MPEG
Defined by One is for intra data,
The other is for non-intra data, see Table 130 and Table 131). These default tables must be entered in the spatial decoder's quantization table memory before MPEG decoding is enabled.

【0951】同様に、MPEGは、2つの「ダウンロー
ド」量子化表を許可する。1つは、イントラデータと共
に使用するためであり、いま1つは、非イントラデータ
と共に使用するためである。これらの表に対する値は、
MPEGデータストリーム内に含まれ、そして、量子化
表メモリ自動的にロードされる。
Similarly, MPEG allows two “download” quantization tables. One is for use with intra data, and the other is for use with non-intra data. The values for these tables are
Included in the MPEG data stream and automatically loaded into the quantization table memory.

【0952】表から出力される値は、スケールファクタ
によって修正される。
[0932] The values output from the table are modified by the scale factor.

【0953】A.15.2.2 「逆量子化器レジス
タ」
A. [0953] 15.2.2 "Inverse Quantizer Register"

【0954】[0954]

【表129】 本発明において、量子化表メモリがアクセス可能になる
以前に、iqアクセスレジスタがセットされなければな
らない。iqアクセスが0にセットされている間に、表
に読み取りが試行された場合には、量子化表メモリは値
ゼロを返す。
[Table 129] In the present invention, before the quantization table memory can be accessed, the iq access register must be set. If a read is attempted on the table while iq access is set to 0, the quantization table memory returns the value zero.

【0955】A.15.2.3 「逆量子化器の構成」 正常オペレーションにおいては、コーディング・スタン
ダードトークンによって自動的に構成されるので、逆量
子化器の符号化規格を構成する必要はない。
A. 15.2.3 "Dequantizer 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.

【0956】H.261オペレーションに対しては、量
子化器表は使用されない。特別なコンフィギュレーショ
ンは必要とされない。JPEGオペレーションに対して
は、逆量子化器によって必要とされる表は、コード化デ
ータから抽出された情報によって自動的にロードされな
ければならない。MPEGオペレーションは、デフォル
ト量子化表がロードされることを必要とする。このロー
ディングは、iqアクセスが1にセットされている間に
行われなければならない。表130内の値は、逆量子化
器の拡張アドレススペースの場所0x00から0x3F
までに記入されなければならない(キーホールレジスタ
iqキーホールアドレス、及びiqキーホールデータを
介してアクセス可能)。同様に、表131の値は、逆量
子化器の拡張アドレススペースの場所0x40から0x
7Fまでに記入されなければならない。
H. [0956] For the H.261 operation, no quantizer table is used. No special configuration is required. For JPEG operation, the tables required by the inverse quantizer must be automatically loaded with information extracted from the coded data. MPEG operations require that a default quantization table be loaded. This loading must take place while iq access is set to one. The values in Table 130 are from locations 0x00 to 0x3F of the extended address space of the inverse quantizer.
(Accessible via keyhole register iq keyhole address and iq keyhole data). Similarly, the values in Table 131 are from locations 0x40 to 0x in the extended address space of the inverse quantizer.
Must be completed by 7F.

【0957】[0957]

【表130】 [Table 130]

【0958】[0958]

【表131】 A.15.2.4 「トークンからの表構成」 MPIを介して逆量子化器表を構成する代りに、これら
の逆量子化器表をトークンによって初期化することが可
能である。これらのトークンは、コード化されたデータ
ポート又はMPIのいずれかによって供給可能である。
[Table 131] A. 15.2.4 “Table Construction from Tokens” Instead of constructing the inverse quantizer tables via MPI, it is possible to initialize these inverse quantizer tables with tokens. These tokens can be supplied by either an encoded data port or MPI.

【0959】QUANTテーブルトークンについては、
表3〜表11に記述される。前記トークンは、表の4
(0〜3)つの場所のいずれがトークンによって定義さ
れるかを指定する1つの2ビットフィールドttを持
つ。MPEGオペレーションに対しては、表0及び1の
デフォルトの定義がロードされることが必要である。
[0959] For the QUANT table token,
These are described in Tables 3 to 11. The token is shown in Table 4
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.

【0960】A.15.2.5 「量子化表の値」 JPEG及びMPEGの両方に対しては、量子化表エン
トリは、8ビットの数である。255から1までの値は
正当である。値0は不当である。
A. [0960] 15.2.5 Quantization Table Values For both JPEG and MPEG, the quantization table entry is an 8-bit number. Values between 255 and 1 are valid. The value 0 is invalid.

【0961】A.15.2.6 「量子化表の数順序」 量子化表の値は、「ジグザグ」走査順序において用いら
れる(符号化規格参照)。表は、64の値を持つ一次元
アレイと見なされなければならない(8×8アレイでは
ない)。低いアドレスにおける表のエントリは、低い周
波数DCT係数に対応する。
A. [0961] 15.2.6 "Numerical Order of Quantization Tables" The values of the quantization tables are used in a "zigzag" scanning order (see coding standards). The table must 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.

【0962】量子化表の値がQUANTテーブルトーク
ンによって所持される場合には、トークンヘッダの後の
第1の値は、「DC」係数用の表エントリである。
[0961] If the quantization table value is carried by the QUANT table token, the first value after the token header is the table entry for the "DC" coefficient.

【0963】A.15.2.7 「逆量子化器テストレ
ジスタ」
A. [0963] 15.2.7 “Inverse Quantizer Test Register”

【0964】[0964]

【表132】 表A.15.4 逆量子化器テストレジスタ A.15.3. 「離散逆コサイン変換」 本発明の逆離散変換プロセッサは、CCITT勧告H.
261、IEEE仕様P1180に規定された必要条件
に適合し、そして、MPEGの現行改訂案に記述された
必要条件に適合する。
[Table 132] Table A. 15.4 Inverse Quantizer Test Register 15.3. "Discrete Inverse Cosine Transform" The inverse discrete transform processor of the present invention is based on the CCITT recommendation H.264.
261, conforms to the requirements specified in IEEE specification P1180, and conforms to the requirements described in the current revision of MPEG.

【0965】離散逆コサイン変換プロセスは、いずれの
コード化規格が用いられるかに関係なく、同じである。
ユーザによるコンフィギュレーションは一切不要であ
る。
[0965] The discrete inverse cosine transform process is the same regardless of which coding standard is used.
No user configuration is required.

【0966】逆離散変換プロセッサと関連した2イベン
トがある。
[0966] There are two events associated with the inverse discrete transform processor.

【0967】[0967]

【表133】 DCT及び逆DCT機能を一層良く理解するために、読
者は、任意のピクチャ符号化規格を調査することができ
る。
[Table 133] To better understand the DCT and inverse DCT functions, the reader can explore any picture coding standard.

【0968】セクション A.16 「空間デコーダ出
力への接続」 空間デコーダの出力は、幅9ビットのデータワードの標
準トークンポートである。インターフェースの電気的行
動態様に関する詳細な情報についてはセクションA.4
を参照されたい。
Section A. 16 "Connection 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. for more information on the electrical behavior of the interface. 4
Please refer to.

【0969】出力におけるトークンは、採用中の符号化
規格に依存する。一例として、本開示のこのセクション
においては、JPEGオペレーション用に構成する際
に、空間デコーダの出力について考察する。時間デコー
ダは、JPEGの復号化結果として得られるトークンシ
ーケンスを修正しないので、このセクションにおいて
は、JPEGオペレーション期間中に時間デコーダの出
力において観察されるトークンシーケンスについて記述
する。
[0969] The token at the output depends on the encoding standard being employed. 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, this section describes the token sequences that are observed at the output of the temporal decoder during JPEG operation.

【0970】ただし、MPEG及びH.261は、双方
共時間デコーダの使用を必要とする。MPEG及びH.
261オペレーション用に構成されている場合における
時間デコーダ出力への接続に関する情報についてはセク
ションA.19を参照されたい。 更に、このセクショ
ンにおいては、空間デコーダの出力においていずれのト
ークンが利用できるか及び当該出力をディスプレイする
ための回路設計に際していずれのトークンが最も有用で
あるかを識別する。他のトークンも存在するが、それら
の出力はディスプレイ不要なので、ここでは検討しな
い。このセクションにおいて集中的に検討する項目を次
に示す。
[0970] However, MPEG and H.264 are used. H.261 both require the use of a temporal decoder. MPEG and H.264.
For information on connecting to the temporal decoder output when configured for H.261 operation, see Section A.261. See FIG. Further, this section identifies which tokens are available at the output of the spatial decoder and which tokens are most useful in designing a circuit to display the output. Other tokens exist, but their output is not required for display and will not be discussed here. The following are the items that we will focus on in this section.

【0971】*シーケンスのスタート及びエンドの識別
方法。
* Method of identifying start and end of sequence.

【0972】*ピクチャのスタート及びエンドの識別方
法。
* Method of identifying start and end of picture.

【0973】*何時ピクチャをディスプレイするかの識
別方法。
* A method of identifying when to display a picture.

【0974】* ディスプレイ内のピクチャデータ配置
場所を識別する方法 A.16.1 「JPEGピクチャの構造」 このセクションでは、JPEG構文の特徴について概観
する。詳細については符号化規格を参照されたい。
* Method of Identifying Picture Data Placement Location in Display A. 16.1 JPEG Picture Structure This section gives an overview of the features of the JPEG syntax. See the coding standard for details.

【0975】JPEGは、個々のピクチャをコード化す
るための様々なメカニズムを提供する。JPEGは、動
画をコード化するメカニズムを提供するためにピクチャ
の集りをまとめてコード化する方法を記述しようと試み
ない。
[0976] JPEG provides various mechanisms for encoding individual pictures. JPEG does not attempt to describe a method of coding a collection of pictures together to provide a mechanism for coding moving pictures.

【0976】本発明に基づく空間デコーダは、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はラスタ組織化される。
[0976] The spatial decoder according to the present invention uses JPEG.
Supports sequential operating mode as a baseline.
This syntax has three main levels: image, frame, and scan. One sequential image contains only one single frame. One frame is
Between 1 and 256 different image (color) components can be included. These image components can be collected in a scan in various ways. Each scan is 1
(See FIG. 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. One frame may include a mixture of interleaved and non-interleaved scans. The number of scans that a frame can contain is determined by the 256 limit on the number of image components that a frame can contain. Within one interleaved scan, data is stored in MPEG and H.264. H.261, the smallest coding unit (M
CU). These MOUs are arranged in raster order in the picture. The MCU in a non-interleaved scan is one single 8x8 block. Also in this case, the MCU is raster-organized.

【0977】空間デコーダは、1から4までの異なる色
成分を含むJPEGデータを容易に復号化することが出
来る。大きい数の成分について記述するファイルも、同
様に復号化することが出来る。ただし、復号化される成
分の次の1組を収容するためには、スキャンの間におい
て或る程度の再構成が要求されることもあり得る。
[0977] The spatial decoder can easily decode JPEG data containing 1 to 4 different color components. A file describing a large number of components can be similarly decoded. However, some reconstruction may be required between scans to accommodate the next set of components to be decoded.

【0978】A.16.2 「トークンシーケンス」 JPEGマーカコードは、スタートコード検出器によっ
てトークンと指定された相似のMPEGに変換される表
92、及び図91「トークン化されたJPEGピクチ
ャ」参照)。
A. [0978] 16.2 "Token Sequence" JPEG marker codes are converted by the start code detector into similar MPEG designated as tokens, see Table 92 and FIG. 91 "Tokenized JPEG Pictures".

【0979】セクションA.17 「時間デコーダ」 *30、MH7オペレーション。Section A. 17 "Time decoder" * 30, MH7 operation.

【0980】*MPEG及びH.261動画デコーダ用
時間復号化を提供する。
* MPEG and H.264 261 video decoding provides temporal decoding.

【0981】*H.261 CIF、及びQCIFフォ
ーマット。
* H. 261 CIF and QCIF formats.

【0982】*MPEG動画分解能度最大704×48
0、30Hz、4:2:0。
* MPEG video resolution up to 704 × 48
0, 30 Hz, 4: 2: 0.

【0983】*融通性のあるクロマサンプリングフォー
マット。
* Flexible chroma sampling format.

【0984】*MPEGピクチャシーケンス順序直し可
能。
* MPEG picture sequence reordering is possible.

【0985】*グルーレスDRAMインターフェース
(Glue−less DRAM interfac
e)
* Glueless DRAM interface
(Glue-less DRAM interface
e) .

【0986】*単一+5V電源。* Single + 5V power supply.

【0987】*208ピンPQFPパッケージ。[0987] * 208-pin PQFP package.

【0988】*最大電力消費2.5W。* Maximum power consumption 2.5W.

【0989】*標準ページモードDRAMを使用する。* Uses standard page mode DRAM.

【0990】時間デコーダは、空間デコーダにとってコ
ンパニオンチップであり、そして、H.261、及びM
PEGによって必要とされる時間復号化を提供する。
The temporal decoder is a companion chip to the spatial decoder, and 261 and M
Provides the temporal decoding required by PEG.

【0991】時間デコーダは、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動画を
復号化することができる。
[0991] The temporal decoder uses MPEG and H.264. 26
1 performs all the prediction forming functions required. One single 4Mb DRAM (eg, 512k ×
8), the time decoder uses CIF and QCIF
H. 261 video can be decrypted. 8Mb D
Using RAM (for example, two 256k × 16)
704 × 480, 30 Hz, 4: 2: 0 MPEG moving pictures can be decoded.

【0992】イントラコード化計画(例えばJPEG)
は時間デコーダを必要としない。時間デコーダが多重規
格デコーダに含まれる場合には、当該時間デコーダは、
復号化済みJPEGピクチャをその出力まで供給する。 注記:前述の値は、本発明の1実施例の一例を示すに過
ぎず、必ずしも制限を意図するものではない。本発明の
範囲から逸脱することなしに、他の値及び範囲を用いる
ことが可能であることが理解されるはずである。
[0992] Intra coding scheme (eg JPEG)
Does not require a time decoder . If the temporal decoder is included in the multi-standard decoder, the temporal decoder:
It supplies the decoded JPEG picture up to its output. Note: The foregoing values are merely exemplary 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 invention.

【0993】A.17.1 「時間デコーダ信号」A. [0993] 17.1 "Time decoder signal"

【0994】[0994]

【表134】 [Table 134]

【0995】[0995]

【表135】 [Table 135]

【0996】[0996]

【表136】 [Table 136]

【0997】[0997]

【表137】 [Table 137]

【0998】[0998]

【表138】 A.17.1.1 「非接続ピン“nc”」 表138に「nc」とラベル表示されているピンは、現
在本発明には使用されず、将来の製品のために予約され
ているピンである。これらのピンは、接続しないで残し
ておかねばならない。これらのピンは、VDD、GND、
相互、または他のあらゆる信号と接続してはならない。
[Table 138] A. 17.1.1 “Unconnected Pin“ nc ”” The pins labeled “nc” in Table 138 are pins that are not currently used in the present invention and are reserved for future products. . These pins must be left unconnected. These pins are connected to VDD, GND,
Do not connect with each other or any other signals.

【0999】A.17.1.2 「VDD、及びGNDピ
ン] 当然理解されるように、全てのVDD及びGNDピンは該
当する電源に接続されなければならない。全てのVDD及
びGNDピンが正しく使用されていなければ、デバイス
は正しく作動しない。
A. 17.1.2 "VDD and GND Pins" As should be appreciated, all VDD and GND pins must be connected to the appropriate power supply, and if all VDD and GND pins are not used properly, Device does not work properly.

【1000】A.17.1.3 [正常作動のためのテ
ストピンの接続] 時間デコーダの9つのピンは、内部テスト用として予約
済みである。
[1000] A. 17.1.3 Connection of Test Pins for Normal Operation Nine pins of the time decoder are reserved for internal testing.

【1001】[1001]

【表139】 A.17.1.4 [正常作動のためのJTAGピン] セクションA.8.1参照。[Table 139] A. 17.1.4 [JTAG Pins for Normal Operation] Section A. See 8.1.

【1002】[1002]

【表140】 [Table 140]

【1003】[1003]

【表141】 [Table 141]

【1004】[1004]

【表142】 [Table 142]

【1005】[1005]

【表143】 [Table 143]

【1006】[1006]

【表144】 [Table 144]

【1007】[1007]

【表145】 [Table 145]

【1008】[1008]

【表146】 [Table 146]

【1009】[1009]

【表147】 [Table 147]

【1010】[1010]

【表148】 セクションA.18 「時間デコーダオペレーション」 A.18.1 「データ入力」 時間デコーダの入力データポートは9ビット幅のデータ
ワードを持つ標準のトークンポートである。ほとんどの
応用例において、これは空間デコーダの出力トークンポ
ートに直接接続される。このインターフェースの電気的
行為に関する詳細な情報については、セクションA.4
を参照せよ。
[Table 148] Section A. 18 "Time decoder operation" 18.1 "Data Input" The input data port of the time decoder is a standard token port with 9-bit wide data words. In most applications, this will be connected directly to the output token port of the spatial decoder. For more information on the electrical activity of this interface, see Section A. 4
See

【1011】A.18.2 「自動形成」 符号化されたビデオピクチャフォーマットに関するパラ
メーターは、空間デコーダによって発生されるトークン
により、時間デコーダ内のレジスタに自動的にロードさ
れる。
A. 18.2 "Auto-Forming" Parameters relating to the encoded video picture format are automatically loaded into registers in the temporal decoder by tokens generated by the spatial decoder.

【1012】[1012]

【表149】 A.18.3 「手動形成」 ユーザーは(マイクロプロセッサインターフェースを介
して)アプリケーション依存要素を形成しなければなら
ない。
[Table 149] A. 18.3 "Manual Configuration" The user must configure the application dependent elements (via the microprocessor interface).

【1013】A.18.3.1 「いつ形成するか」 データ処理が行われていない時にのみ、時間デコーダを
形成すべきである。これはリセットが解除された後のデ
ィフォルトステートである。チップアクセスレジスタに
1を書き込むことにより、時間デコーダを停止して再形
成できる。形成が完了した後、チップアクセスに0を書
き込まねばならない。
[1013] A. 18.3.1 When to Form A temporal decoder should only be formed when no data processing is taking place. This is the default state after reset is released. By writing 1 to the chip access register, the time decoder can be stopped and re-formed. After the formation is completed, 0 must be written to the chip access.

【1014】DRAMインターフェースをいつ形成する
かに関する詳細は、セクションA.5.3を参照せよ。
For details on when to form the DRAM interface, see Section A. See 5.3.

【1015】A.18.3.2 「DRAMインターフ
ェース」 DRAMインターフェースのタイミングは予測的に符号
化されたビデオ(例えばH.261またはMPEG)を
解読できるようになる前に形成されなければならない。
セクションA.5「DRAMインターフェース」を参照
せよ。
[1015] A. 18.3.2 DRAM Interface The timing of the DRAM interface must be formed before predictive encoded video (eg, H.261 or MPEG) can be decoded.
Section A. See 5 “DRAM Interface”.

【1016】[1016]

【表150】 [Table 150]

【1017】[1017]

【表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 the block (8 × 8 byte) address, not the byte address.

【1018】A.18.3.4 「ピクチャバッファ記
憶割当」 予測的に符号化されたビデオ(H.261もしくはMP
EG)を解読するため、時間デコーダは2つのピクチャ
バッファを処理しなければならない。これらのバッファ
が如何に使用されるかに関する詳細については、セクシ
ョンA.18.4及びA.18.4.4を参照せよ。
[1018] A. 18.3.4 “Picture buffer storage allocation” Predictively encoded video (H.261 or MP
To decode EG), the temporal decoder must process two picture buffers. See Section A.3 for details on how these buffers are used. 18.4 and A.I. See 18.4.4.

【1019】ユーザーは(他のピクチャバッファと重ね
ることなく)必要なビデオフォーマットの単一ピクチャ
を記憶するために、ピクチャバッファポインタ(pic
ture buffer 0及びpicture bu
ffer 1)の各々の上に充分な記憶があることを確
かめねばならない。通常、ピクチャバッファポインタの
1つが0(つまり記憶の底部)に設定され、他の1つが
記憶スペースの中間を指すように設定される。
[1019] The user may use the picture buffer pointer (pic) to store a single picture of the required video format (without overlapping with other picture buffers).
cure buffer 0 and picture bu
It must be ensured that there is sufficient memory on each of fffer 1). Typically, one of the picture buffer pointers is set to 0 (ie, the bottom of storage) and the other is set to point to the middle of storage space.

【1020】A.18.3.4.1 「MPEGもしく
はH.261用の通常の形成」 H.261及びMPEGは両者共、異なる色成分間の比
4:1:1(つまり、いずれかのクロミナンス成分にあ
るピクセルの4倍の輝度ピクセルがある)を使用する。
[1020] A. 18.3.4.1 "General formation for MPEG or H.261" Both H.261 and MPEG use a ratio of 4: 1: 1 between different color components (i.e., there are four times as bright pixels as pixels in either chrominance component).

【1021】A.3.5.1、「成分特定数」に文書化
されているように、成分0は輝度成分であり、成分1及
び2はクロミナンスである。
A. As documented in 3.5.1, "Component Specific Number", component 0 is the luminance component and components 1 and 2 are the chrominance.

【1022】成分オフセットレジスタの形成例は、成分
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 as follows: component 0 starts 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.

【1023】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: those from the future and those from the past. The order of the pictures is such that the B picture is
The encoder modifies the I and P pictures so that they are decoded from the encoded data.

【1024】ピクチャシーケンスはこれらのピクチャが
表示される前に修正されなければならない。時間デコー
ダは(レジスタMPEG reordering=1に
設定することによりより)このピクチャ再整理を提供す
ることができる。あるいは、ユーザーは彼の表示インタ
ーフェース機能の一部としてピクチャ再整理を実行した
いと望むかもしれない。ピクチャ再整理を提供するよう
に時間デコーダを形成することにより、解読され得るビ
デオ解像度を低減させるかもしれない。A.18.5を
参照せよ。
The picture sequence must be modified before these pictures can be 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 function. Forming a temporal decoder to provide picture reordering may reduce the video resolution that can be decoded. A. See 18.5.

【1025】A.18.4 「予測形成」 H.261デコーディング及びMPEGデコーディング
の予測形成要件は全く異なっている。コーディングスタ
ンダードトークンは時間デコーダが異なる基準の予測要
件を収容するように自動的に形成する。
[1025] A. 18.4 “Predictive Formation” The prediction formation requirements of H.261 decoding and MPEG decoding are quite different. Coding standard tokens are automatically formed so that the temporal decoder accommodates different standards of prediction requirements.

【1026】A.18.4.1 「JPEGオペレーシ
ョン」 JPEGオペレーション用に形成されると、JPEGは
時間デコーディングを必要としないので、予測は行われ
ない。
[1026] A. 18.4.1 “JPEG Operation” When configured for JPEG operation, no prediction is made since JPEG does not require temporal decoding.

【1027】A.18.4.2 「H.261オペレー
ション」 H.261では、予測はデコーディングされたピクチャ
からのみ行われる。動きベクトルは整数ピクセルの精度
に条件として指定されるだけである。エンコーダは低域
フィルターが予測結果に適用されるように指定すること
ができる。
A. [1027] 18.4.2 “H.261 Operation” In H.261, the prediction is made only from the decoded picture. A motion vector is only specified as a condition of the accuracy of an integer pixel. The encoder can specify that a low pass filter be applied to the prediction result.

【1028】各ピクチャがデコーディングされるにつれ
て、それは次のピクチャをデコーディングする際に使用
できるように、オフチップDRAM内のピクチャバッフ
ァに書き込まれる。デコーディングされたピクチャはオ
フチップDRAMに書き込まれるにつれて、時間デコー
ダの出力に現れる。
[1028] As each picture is decoded, it is written to a picture buffer in the off-chip DRAM for use in decoding the next picture. The decoded picture appears at the output of the temporal decoder as it is written to the off-chip DRAM.

【1029】予測に関する詳細及び関係する演算オペレ
ーションについては、読出し装置はH.261スタンダ
ードに向けられる。本発明の時間デコーダはH.261
の要件を完全に遵守している。
For details on the predictions and the related arithmetic operations, the readout device is based on H.264. 261 Standard. The temporal decoder of the present invention is based on H.264. 261
Fully complies with the requirements of

【1030】A.18.4.3 MPEGオペレーショ
ン(再整理を伴わない) 時間デコーダのオペレーションは3つの異なるMPEG
ピクチャタイプ(I、P、B)の各々に対して変化す
る。Iピクチャは時間デコーダによる更なるデコーディ
ングを必要としないが、後にP及びBピクチャをデコー
ディングする際に使用されるためにピクチャバッファ
(フレーム記憶装置)に記憶されなければならない。
[1030] A. 18.4.3 MPEG operation (without rearrangement) The operation of the temporal decoder is three different MPEG
It changes for each of the picture types (I, P, B). I-pictures do not require further decoding by a temporal decoder, but must be stored in a picture buffer (frame store) for later use in decoding P and B pictures.

【1031】Pピクチャのデコーディングには、以前に
デコーディングされたPもしくはIピクチャからの予測
を形成する必要がある。解読されたPピクチャはP及び
Bピクチャを解読する際に使用するため、ピクチャバッ
ファの中に記憶される。MPEGは動きベクトルが半ピ
クセルの精度に指定されるようにする。オンチップフィ
ルタはこの半ピクセル精度を支持するための補間を提供
する。
[1030] Decoding a P picture requires forming predictions from previously decoded P or I pictures. The decoded P picture is stored in a picture buffer for use in decoding 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.

【1032】Bピクチャは両方のピクチャバッファから
予測を要求することができる。Pピクチャと同様に、半
ピクセル動きベクトル解像度精度はピクチャ情報のオン
チップ補間を要求する。Bピクチャはオフチップバッフ
ァには記憶されない。それらは一時的なものにすぎな
い。
[1032] B pictures can request 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 off-chip buffers. They are only temporary.

【1033】全てのピクチャはそれらの符号が解読され
るにつれて、時間デコーダの出力ポートに現れる。従っ
て、ピクチャシーケンスは符号化されたMPEGデータ
におけるものと同じである(図94の上位部分を参
照)。
All pictures appear at the output port of the temporal decoder as their codes are decoded. Therefore, the picture sequence is the same as in the encoded MPEG data (see the upper part of FIG. 94).

【1034】予測に関する詳細及び関係する演算オペレ
ーションについては、提案されているMPEGスタンダ
ードの草案を参照せよ。本発明の時間デコーダによりこ
れらの要件が満たされる。
For details on predictions and related arithmetic operations, refer to the draft of the proposed MPEG standard. These requirements are met by the temporal decoder of the present invention.

【1035】A.18.4.4 「MPEGオペレーシ
ョン(再整理を伴う)」 ピクチャ再整理を伴うMPEGオペレーション(MPE
G reordering=1)のために形成される
と、予測形成オペレーションは上述のセクションA.1
8.4.3におけるのと同様である。しかしながら、ピ
クチャシーケンスを再整理するために付加的なデータ伝
送が実施される。
A. [1035] 18.4.4 “MPEG operation (with reordering)” MPEG operation with picture reordering (MPE
When formed for G reordering = 1), the predictive formation operation is performed as described in Section A.1 above. 1
Same as in 8.4.3. However, additional data transmission is performed to rearrange the picture sequence.

【1036】Bピクチャデコーディングはセクション
A.18.4.3において記した通りである。しかしな
がら、I及びPピクチャはデコーディングされた時に出
力されない。その代わりに、(前述のように)オフチッ
プバッファに書き込まれ、次のIもしくはPピクチャが
デコーディングのために届いた時にのみ読み出される。 A.18.4.4.1 「デコーダスタートアップ特
性」 次のP(もしくはI)ピクチャのデコーディングがスタ
ートされるまで、最初のIピクチャの出力が遅らされ
る。このことはビデオデコーダのスタートアップ特性を
概算する時に考慮されなければならない。
[1036] B picture decoding is performed in section A. As described in 18.4.3. However, I and P pictures are not output when decoded. Instead, they are 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 Startup Characteristics Output of the first I picture is delayed until 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.

【1037】A.18.4.4.2 「デコーダ停止特
性」 時間デコーダは前のピクチャをそのオフチップバッファ
(フレーム記憶装置)からフラッシュするために、次の
PもしくはIピクチャに依存する。これはビデオシーケ
ンスの終了時、及び新しいビデオシーケンスをスタート
する時に結果が現れる。空間デコーダは最後のP(もし
くはI)ピクチャをフラッシュするために、ビデオシー
ケンスの終了時に「偽の」I/Pピクチャを作り出すた
めの便宜を提供する。しかしながら、この「偽の」ピク
チャは次のビデオシーケンスが始まるとフラッシュされ
る。
[1037] A. 18.4.4.2 Decoder Stop Characteristics The temporal decoder relies 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 when starting a new video sequence. The spatial decoder provides the facility to create a "false" I / P picture at the end of the video sequence to flush the last P (or I) picture. However, this "false" picture is flushed when the next video sequence begins.

【1038】空間デコーダはこの「偽の」ピクチャを抑
制するためのオプションを提供する。これは、新ビデオ
シーケンスが旧シーケンスの完了後直ちにデコーダに供
給されることが知られている場合に有用である。この新
シーケンス内の最初のピクチャは前のシーケンスの最後
のピクチャをフラッシュすることになる。
[1038] The spatial decoder provides an option to suppress this "false" picture. This is useful if the new video sequence is known to 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 of the previous sequence.

【1039】A.18.5 「ビデオ解像度」 MPEGをデコーディングする時に、時間デコーダが支
持することができるビデオ解像度は、そのDRAMイン
ターフェースのメモリー帯域幅により制限される。MP
EGにとって、2つの場合を考慮する必要がある:MP
EGピクチャ再整理を伴う場合と、伴わない場合であ
る。
A. [1039] 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
For the EG, two cases need to be considered: MP
There are cases where EG picture rearrangement is involved and cases where it is not accompanied.

【1040】セクションA.18.5.2及びA.1
8.5.3はMPEG規約の現行の草案により要求され
る最悪の場合の要件について論じている。より低いメモ
リー帯域幅の要件を持つMPEGのサブセットが企図さ
れる。例えば、整数解像度動きベクトルだけを用いて、
もしくはその代わりに、Bピクチャを使用せずに、メモ
リー帯域幅の要件を重大に低減させる。該かるサブセッ
トについての分析はここでは行わない。
[1040] Section A. 18.5.2 and A.I. 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, it significantly reduces memory bandwidth requirements without using B-pictures. The analysis for such a subset is not performed here.

【1041】A.18.5.1 [DRAMインターフ
ェースの特性] DRAMインターフェースを横切ってデータを伝送する
ために取られるサイクル数は要因数に依存する: ・使用されるDRAMに適合させるためのDRAMイン
ターフェースのタイミング形成 ・データバス幅(8、16または32ビット) ・データ伝送タイプ: ・8×8ブロックの読出しまたは書込み ・半ピクセル精度に対する予測のため ・整数ピクセル精度に対する予測のため DRAMインターフェースの詳細な形成に関する情報に
関しては、セクションA.5、「DRAMインターフェ
ース」を参照せよ。
A. [1041] 18.5.1 [DRAM Interface Characteristics] The number of cycles taken to transfer data across the DRAM interface depends on a number of factors: • Timing configuration of the DRAM interface to match the DRAM used • Data Bus width (8, 16 or 32 bits) Data transmission type: 8x8 block read or write For prediction for half pixel precision For prediction for integer pixel precision For information on the detailed configuration of the DRAM interface Section A. See 5, DRAM Interface.

【1042】表152はデータ伝送の各タイプのために
幾つのDRAMインターフェース「サイクル」が必要で
あるかを示している。
[1042] Table 152 shows how many DRAM interface "cycles" are required for each type of data transfer.

【1043】[1043]

【表152】 表154は表152の数字を取り、それらを「典型的
な」DRAMのために評価する。この例では、27MH
zクロックであると仮定する。ここでは27MHzを使
用するが、それに制限するものではないことを認識すべ
きである。アクセススタートには11ティック(102
ns)が必要であり、データ伝送には6ティック(56
ns)が必要である。
[Table 152] Table 154 takes the numbers in Table 152 and evaluates them for a "typical" DRAM. In this example, 27MH
Assume z clocks. It should be recognized that 27 MHz is used here, but is not so limited. 11 ticks (102
ns), and 6 ticks (56) for data transmission.
ns) is required.

【1044】A.18.5.2 「再整理を伴わないM
PEG解像度」 ピークメモリー帯域幅のロードはBピクチャをデコーデ
ィングする時に発生する。「最悪の場合の」シナリオで
は、Bフレームは両方のピクチャバッファからの予測か
ら形成され、全ての予測は半ピクセル精度に対するもの
である。
A. 18.5.2 "M without rearrangement
The loading of the "PEG resolution" peak memory bandwidth occurs when decoding B pictures. In a "worst case" scenario, B-frames are formed from predictions from both picture buffers, and all predictions are for half-pixel accuracy.

【1045】[1045]

【表153】 表153からの数字例を用いれば、(32ビット幅のイ
ンターフェースを介して)2つの正確な半ピクセル精度
予測のために必要なデータを読むために、DRAMイン
ターフェース3815nsが必要であることが解る。時
間デコーダが支持することができる解像度は、1ピクチ
ャ時間内に遂行できるこれらの予測数によって決定され
る。本例では、時間デコーダは1つの33msピクチャ
周期に(例えば、30Hzビデオのために)8737の
8×8ブロックを処理することができる。
[Table 153] Using the numerical example from Table 153, it can be seen that a DRAM interface 3815ns is required to read the data required for two accurate half-pixel precision predictions (via a 32-bit wide interface). The resolution that the temporal decoder can support is determined by the number of these predictions that can be performed in one picture time. In this example, the temporal decoder can process 8737 8 × 8 blocks in one 33 ms picture period (eg, for 30 Hz video).

【1046】必要なビデオフォーマットが704×48
0であれば、(4:2:0のクロマサンプリングを考慮
すれば)各ピクチャは7920の8×8ブロックを包含
する。このビデオフォーマットは(DRAMリフレッシ
ュ等の他の要因を考慮に入れる前に)利用できるDRA
Mインターフェース帯域幅の約91%を消費する。従っ
て、時間デコーダはこのビデオフォーマットを支持する
ことができる。
[1046] Required video format is 704 × 48
If 0, each picture contains 7920 8 × 8 blocks (assuming 4: 2: 0 chroma sampling). This video format is available (before taking into account other factors such as DRAM refresh)
Consumes about 91% of M interface bandwidth. Therefore, the temporal decoder can support this video format.

【1047】A.18.5.3 「再整理を伴うMPE
G解像度」 MPEGピクチャ再整理を用いれば、Pピクチャがデコ
ーディングされている間に、最悪の場合のシナリオと遭
遇する。この時間の間に、DRAMインターフェース上
に3回のロードが行われる: ・形態予測 ・結果を書き戻す ・以前のPまたはIピクチャを読み出す。
A. [1047] 18.5.3 "MPE with Reorganization
G Resolution With MPEG picture reordering, worst case scenarios are encountered while P pictures are being decoded. During this time, three loads are made on the DRAM interface: morphological prediction write back the result read previous P or I picture.

【1048】表152からの数字例を用いて、32ビッ
ト幅のインターフェースが利用できる場合に、これら各
々の仕事のために必要な回数を見い出すことができる。
予測形成には1907ns/nが必要である一方、読出
し及び書込みには各々991nsが必要であり、全体で
3889nsを必要とする。これは時間デコーダが33
ms周期の間に8485の8×8ブロックを処理できる
ようにする。
Using the numerical examples from Table 152, one can find the required number of times for each of these tasks, if a 32-bit wide interface is available.
Predictive formation requires 1907 ns / n, while read and write each require 991 ns, for a total of 3889 ns. This is because the time decoder is 33
8485 8 × 8 blocks can be processed during the ms period.

【1049】従って、704×480ビデオを処理する
には、(リフレッシュを無視して)利用できるメモリー
帯域幅のほぼ93%を使用することになる。
Thus, processing 704 × 480 video would use almost 93% of the available memory bandwidth (ignoring refresh).

【1050】A.18.5.4 「H.261」 H.261は30Hzまでのピクチャ率でCIF(35
2×288)とQCIF(172×144)の2つのピ
クチャフォーマットを支持するだけである。CIFピク
チャは2376の8×8ブロックを包含する。唯一必要
なメモリーオペレーションは8×8ブロックの配線と、
整数精度動きベクトルでの予測形成である。
[1050] A. 18.5.4 “H.261” 261 is a CIF (35) with a picture rate up to 30 Hz.
It only supports two picture formats, 2 × 288) and QCIF (172 × 144). A CIF picture contains 2376 8 × 8 blocks. The only memory operations required are 8x8 blocks of wiring,
This is prediction formation using an integer precision motion vector.

【1051】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 is required to write to each block, while 3963 ns / n is required for predictive formation of one block, It turns out that 7620 ns is required for each block as a whole.
The processing time for one CIF picture is about 18 ms, the 33 m needed to support 30 Hz video
significantly less than s.

【1052】A.18.5.5 「JPEG」 支持できるJPEGビデオの解像度は発明の空間デコー
ダもしくは表示インターフェースの能力により決定され
る。時間デコーダはJPEG解像度に影響を及ぼさな
い。
A. [1052] 18.5.5 “JPEG” The resolution of JPEG video that can be supported is determined by the capabilities of the spatial decoder or display interface of the invention. The temporal decoder does not affect the JPEG resolution.

【1053】A.18.6 「イベント及びエラー」 A.18.6.1 「チップストップ」 本発明では、チップアクセスに1を書き込むと、時間デ
コーダがオペレーションを停止して再形成ができるよう
にすることを求める。一度受け入れられると、通常時間
デコーダは現在のビデオシーケンスのエンドに達するま
でオペレーションを続ける。その後、時間デコーダは停
止される。
A. [1053] 18.6 “Events and Errors” 18.6.1 "Chip Stop" The present invention requires that writing a 1 to a chip access causes the temporal decoder to halt operation and allow re-formation. Once accepted, the normal time decoder will continue operation until it reaches the end of the current video sequence. Thereafter, the time decoder is stopped.

【1054】チップが停止すると、チップ停止イベント
が発生する。chip stopped mask=1
であれば、割り込みが発生する。
When the chip stops, a chip stop event occurs. chip stopped mask = 1
If so, an interrupt occurs.

【1055】A.18.6.2 「カウントエラー」 本発明の時間デコーダは誤差データに対する予測を加え
るアダーを具備する。誤差データバイト数と予測データ
バイト数との間に差がある場合、カウントエラーイベン
トが発生する。
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 number of predicted data bytes, a count error event occurs.

【1056】count error mask=1の
場合、割り込みが発生し、予測形成が停止する。
[1056] If count error mask = 1, an interrupt is generated and prediction formation stops.

【1057】count error eventに1
を書き込むと、イベントをクリアして時間デコーダが進
めるようにする。その後エラーを発生させたDATAト
ークンが続く。しかしながら、エラーを発生させたDA
TAトークンは正しい長さ(46バイト)のものではな
いであろう。これは更なる問題を容易に発生させるであ
ろう。このように、カウントエラーは重大なハードウェ
アエラーが発生した場合にのみ生じるべきである。
[1057] 1 in count error event
Is written, the event is cleared and the time decoder advances. This is followed by the DATA token that caused the error. However, the DA that caused the error
The TA token will not be of the correct length (46 bytes). This will easily create additional problems. Thus, a counting error should only occur if a serious hardware error has occurred.

【1058】セクションA.19 「時間デコーダの出
力への接続」 時間デコーダの出力は8ビット幅のデータワードを持つ
標準のトークンポートである。インターフェースの電気
的行為に関するより詳細な情報についてはセクション
A.4を参照せよ。
Section A. 19 "Connection to the Output of the Time Decoder" The output of the time decoder is a standard token port with an 8-bit wide data word. See Section A. for more information on interface electrical activities. See No. 4.

【1059】時間デコーダの出力に存在するトークンは
使用されるコーディングスタンダードに依存し、MPE
Gの場合には、ピクチャが再整理されるか否かによるで
あろう。本セクションは時間デコーダの出力においてど
のトークンが利用できるか、またその出力を表示するた
めの回路を設計する際にどれが最も有用であるかを特定
する。他のトークンも存在するであろうが、出力を表示
する必要がないので、それらに関してはここでは論じな
い。
The token present at the output of the temporal decoder depends on the coding standard used,
In the case of G, it will depend on whether the pictures are rearranged or not. This section identifies which tokens are available at the output of the temporal decoder and which are most useful in designing circuits to display that output. Other tokens will be present, but they need not be displayed, so they are not discussed here.

【1060】本セクションは以下の点を重点的に取り上
げて論じる: ・シーケンスのスタート及びエンドを如何にして特定で
きるか、 ・ピクチャのスタート及びエンドを如何にして特定でき
るか、 ・ピクチャをいつ表示するかを如何にして特定するか、 ・ピクチャデータを表示のどこに置くべきかを如何にし
て特定するか。
[1060] This section focuses on and discusses the following points: how to identify the start and end of a sequence, how to identify the start and end of a picture, and when to display a picture And how to specify where to place the picture data on the display.

【1061】A.19.1 「JPEG出力」 JPEGデータのデコーディング時に、時間デコーダに
より出力されるトークンシーケンスは、空間デコーダの
出力において見られるものと同一である。JPEGは時
間デコーダによる処理を必要としないことを思いだして
ほしい。しかしながら、時間デコーダは(空間デコーダ
におけるIDCTの限定された算術精度から生じる)負
のバリューのために、イントラデータトークンを調べ、
それらを0に置き換える。
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. Remember that JPEG does not require processing by a temporal decoder. However, the temporal decoder looks at the intra data token for negative values (arising from the limited arithmetic precision of the IDCT in the spatial decoder),
Replace them with 0.

【1062】JPEGオペレーション中に観察される出
力シーケンスについての詳細な議論はセクションA.1
6を参照せよ。
A detailed discussion of the output sequences observed during JPEG operation is provided in Section A.1. 1
See No. 6.

【1063】A.19.2 「H.261出力」 A.19.2.1 「セッションのスタートとエンド」 H.261はビデオデータ内のビデオストリームのスタ
ート及びエンドを合図しない。それにもかかわらず、こ
れはアプリケーションによって暗示される。例えば、電
気通信が接続されるとシーケンスが始まり、ラインが遮
断されると終了する。このように、ビデオシンタックス
において最も高いレイヤは「ピクチャレイヤ」である。
A. 19.2 “H.261 output” 19.2.1 “Start and End of Session” H.261 does not signal the start and end of the video stream in the video data. Nevertheless, this is implied by the application. For example, the sequence starts when telecommunications is connected and ends when the line is interrupted. Thus, the highest layer in the video syntax is the “picture layer”.

【1064】本発明による空間デコーダのスタートコー
ド検出器は、最初のピクチャスタートの前に、シーケン
ススタートとコーディングスタンダードトークンが自動
的に挿入されるようにする。セクションA.11.7.
3及びA.11.7.4を参照せよ。
[1064] The start code detector of the spatial decoder according to the present invention allows a sequence start and a coding standard token to be automatically inserted before the first picture start. Section A. 11.7.
3 and A. See 11.7.4.

【1065】H.261セッションの終わりに(例え
ば、ラインが遮断された時に)、ユーザーは符号化デー
タの終了後、フラッシュトークンを挿入しなければなら
ない。これには多くの効果がある(A.31.1を参
照): ・それは最後のピクチャの終わりを合図するために、ピ
クチャエンドが発せられることを保証する。
[1065] H. At the end of the 261 session (eg, when the line is interrupted), 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 the picture end is signaled to signal the end of the last picture.

【1066】・それは符号化データの終わりがデコーダ
を通して押されることを保証する。 A.19.2.2 「ピクチャの取得」 各ピクチャはシンタックスレイヤと称されるエレメント
の階層から成る。H.261をデコーディングする時、
時間デコーダの出力におけるトークンのシーケンスはこ
の構造を反映する。
It ensures that the end of the encoded data is pushed through the decoder. A. 19.2.2 "Picture acquisition" Each picture consists of a hierarchy of elements called a syntax layer. H. When decoding H.261,
The sequence of tokens at the output of the temporal decoder reflects this structure.

【1067】A.19.2.1 「ピクチャレイヤ」 各ピクチャの前にピクチャスタートトークンが置かれ、
ピクチャのすぐ後にピクチャエンドトークンが続く。
H.261は当然ピクチャエンドを含まない。このトー
クンは空間デコーダのスタートコード検出器により自動
的に挿入される。ピクチャスタートトークンの後に、時
間標準トークン及びピクチャタイプトークンが続くであ
ろう。時間標準トークンは、ピクチャがいつ表示される
べきかを指示する10ビット数を支持し(その内5LS
BだけがH.261において使用される)。H.261
エンコーダは(低いデータ率を達成するために)シーケ
ンスからピクチャを省略することができるので、この点
は表示システムによって研究されるべきである。ピクチ
ャの省略は、連続するピクチャ間の1つ以上の分だけ増
加する時間基準によって検出され得る。
A. 19.2.1 "Picture Layer" Each picture is preceded by a picture start token,
A picture end token immediately follows the picture.
H. 261 does not naturally 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 the time standard token and the picture type token. The time standard token supports a 10-bit number that indicates when the picture is to be displayed (of which 5LS
Only B is H. 261). H. 261
This should be studied by the display system since the encoder can omit pictures from the sequence (to achieve low data rates). Omission of pictures may be detected by a time reference that increases by one or more minutes between consecutive pictures.

【1068】次に、ピクチャタイプトークンはピクチャ
フォーマットに関する情報を有する。表示システムはこ
の情報を調べ、CIFもしくはQCIFピクチャがデコ
ーディングされているか否かを検出することができる。
しかしながら、ハフマンデコーダ内のレジスタを調べる
ことにより、ピクチャフォーマットに関する情報も利用
できる。 <Xref:ハフマンデコーダセクション> A.19.2.2.2 「ブロックレイヤのグループ」 各H.261ピクチャは多数の「ブロックグループ」に
より構成される。その各々の前に、(H.261のグル
ープNo.とグループスタートコードから引き出され
た)スライススタートトークンが置かれる。このトーク
ンは表示のどこにブロックのグループを置くべきかを指
示する8ビット値を所有している。これはデータエラー
の後デコーダが再び同時性を持つ機会を提供する。更
に、それは、ピクチャを描写するために付加的な情報を
必要としないピクチャエリアがあれば、ブロックを飛び
越す機構をエンコーダに提供する。空間デコーダ及び時
間デコーダは各ピクチャが正しい数のブロックを含み、
それらのブロックが正しい位置にあることを確実にする
ため、既にこの情報を使用しているので、スライススタ
ートが時間デコーダの出力に達する時までに、その情報
は効果的に冗長となっている。こうして、ピクチャのス
タート以来出力されてきたブロック数を数えることによ
り、時間デコーダにより出力されるデータブロックをど
こに置くべきかを計算することが可能となる。
Next, the picture type token has information about the picture format. The display system can examine this information and detect whether the CIF or QCIF picture has been decoded.
However, by examining the registers in the Huffman decoder, information about the picture format is also available. <Xref: Huffman decoder section> 19.2.2.2 "Block layer group" A 261 picture is composed of a number of “block groups”. Each is preceded by a slice start token (derived from the H.261 group number and group start code). This token has an 8-bit value that indicates where in the display the group of blocks should be placed. This provides an opportunity for the decoder to re-synchronize after a data error. In addition, it provides a mechanism for the encoder to skip blocks if there are picture areas that do not require additional information to render 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, that information is effectively redundant since we have already used this information to ensure that the blocks are in the correct location. Thus, by counting the number of blocks output since the start of the picture, it is possible to calculate where to place the data blocks output by the temporal decoder.

【1069】スライススタートにより支持される数は、
H.261のブロック数のグループより1つ少ない数で
ある(詳細な情報についてはH.261基準を参照せ
よ)。図103はCIF及びQCIFピクチャ内のH.
261ブロックグループの位置付けを示している。
The number supported by the slice start is
H. This is one less than the group of the number of blocks of H.261 (refer to the H.261 standard for detailed information). FIG. 103 shows H.264 in CIF and QCIF pictures.
26 shows the positioning of a 261 block group.

【1070】注:本発明においては、図示したブロック
ナンバリングはスライススタートにより支持されるもの
と同じである。これはこれらのグループをナンバリング
するためのH.261規定とは異なる。
Note: In the present invention, the block numbering shown is the same as that supported by the slice start. This is the H.264 for numbering these groups. 261 rules.

【1071】(各ブロックグループのスタートを示す)
スライススタートと最初のマクロブロックとの間に、他
のトークンがあってもよい。それらはピクチャデータを
表示する必要がないので、無視できる。
(Indicates the start of each block group)
There may be other tokens between the slice start and the first macroblock. Since they do not need to display picture data, they can be ignored.

【1072】A.19.2.2.3 「マクロブロック
レイヤ」 ブロックの各グループ内のマクロブロックのシーケンス
はH.261により限定される。各マクロブロックの位
置を説明する特別なトークン情報はない。ユーザーは各
情報をどこに表示するかを決定するためにマクロブロッ
クシーケンスを通して数えなければならない。
A. 19.2.2.3 “Macroblock Layer” The sequence of macroblocks in each group of blocks is H.264. 261. There is no special token information describing the position of each macroblock. The user must count through the macroblock sequence to determine where to display each piece of information.

【1073】図105はマクロブロックがブロックの各
グループに配置されるシーケンスを示している。
FIG. 105 shows a sequence in which macroblocks are arranged in each group of blocks.

【1074】各マクロブロックは6個のデータトークン
を包含する。6個の各グループに含まれるデータトーク
ンのシーケンスはH.261のマクロブロック構造によ
り限定される。各データトークンは1つの色成分の8×
8ピクセルエリアのために正確に64データバイトを含
むべきである。色成分はデータトークン内の2ビットの
数の中に含まれる(セクションA.3.5.1参照)。
しかしながら、H.261内の色成分のシーケンスは限
定される。
Each macroblock contains six data tokens. The sequence of data tokens included in each of the six groups is described in H.264. 261 is limited by the macroblock structure. Each data token is 8x of one color component
It should contain exactly 64 data bytes for an 8 pixel area. The color components are included in the 2-bit number in the data token (see Section A.3.5.1).
However, H. et al. The sequence of the color components in H.261 is limited.

【1075】データトークンの各グループの前には、動
きベクトル、量子化器スケール係数等に関する情報を伝
達する多くのトークンが置かれる。これらのトークンは
ピクチャが表示されるようにする必要がないので、無視
することができる。
[1078] Each group of data tokens is preceded by a number of tokens that convey information about motion vectors, quantizer scale factors, and the like. These tokens do not need to have the picture displayed and can be ignored.

【1076】各データトークンは8×8の1つの色成分
のために64データバイトを包含する。これらはラスタ
状態である。
Each data token contains 64 data bytes for one 8.times.8 color component. These are in a raster state.

【1077】A.19.3 「MPEG出力」 MPEGはそのシンタックスの中に多くのレイヤを含
む。これらはビデオシーケンスやピクチャグループ等の
概念を具体化する。
A. 19.3 MPEG Output MPEG includes many layers in its syntax. These embody concepts such as video sequences and picture groups.

【1078】A.19.3.1 「MPEGシーケンス
レイヤ」 シーケンスは多重エントリポイント(シーケンススター
ト)を持つことができるが、1つだけの出口ポイント
(シーケンス・エンド)を持つべきである。MPEGシ
ーケンスヘッダコードが解読される時、空間デコーダは
コーディングスタンダードトークン及びそれに続くシー
ケンススタートトークンを生じさせる。
A. [1078] 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 generates a coding standard token followed by a sequence start token.

【1079】シーケンススタートの後、ビデオフォーマ
ット等を記述するシーケンスヘッダ情報の多くのトーク
ンがあるであろう。シーケンスヘッダにおいて合図され
る情報については草案のMPEGスタンダードを参照
し、このデータが如何にしてトークンに変換されるかに
関する情報については表3〜表11を参照せよ。ビデオ
フォーマットを記述するこの情報は、ハフマンデコーダ
内のレジスタにおいても利用できる。
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 see Tables 3 through 11 for information on how this data is converted to tokens. This information describing the video format is also available in registers in the Huffman decoder.

【1080】このシーケンスヘッダ情報はMPEGシー
ケンス内において、もしそのシーケンスが数個のエント
リポイントを持っていれば、数回発生するかもしれな
い。
This sequence header information may occur several times in an MPEG sequence if the sequence has several entry points.

【1081】A.19.3.2 「ピクチャレイヤグル
ープ」 ピクチャのMPEGグループはシーケンススタート時点
で提供されるものに、異なるタイプの「エントリ」ポイ
ントを提供する。シーケンスヘッダはピクチャ/ビデオ
フォーマットに関する情報を提供する。従って、デコー
ダがシーケンスにおいて使用されるビデオフォーマット
の知識を持たない場合、シーケンススタートで開始しな
ければならない。しかしながら、一度ビデオフォーマッ
トがデコーダの中に構成されると、どのグループのピク
チャの位置であってもデコーディングを開始することが
できるようにするべきである。
A. [1081] 19.3.2 "Picture Layer Group" The MPEG group of pictures provides different types of "entry" points to those 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 at the sequence start. However, once the video format is configured in the decoder, it should be possible to start decoding at any group of picture locations.

【1082】MPEGはグループ内のピクチャ数を制限
しない。しかしながら、多くのアプリケーションにおい
て、1つのグループはランダムアクセスの理的な粒
を提供するときに、約0.5秒に相当する。
[1082] MPEG does not limit the number of pictures in a group. However, in many applications, one group of random access reasonable grain
When providing a child , this corresponds to approximately 0.5 seconds.

【1083】ピクチャグループのスタートはグループス
タートトークンにより指示される。グループスタートの
後で提供されるヘッダ情報は2つの有益なトークン:T
IME CODE及びBROKEN CLOSEDを含
む。
The start of a picture group is indicated by a group start token. The header information provided after the group start has two useful tokens: T
Includes IME CODE and BROKEN CLOSED.

【1084】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参
照)。
The TIME CODE owns a subset of the SMPTE time code information. This may be useful in synchronizing the video decoder to other signals. BROKEN CLOSED is MPEG clos
possesses ed gap and brokenlink bits. For the implications of random access and decoding of edited video sequences, see Section A.1. 1
See 9.3.8. A. 19.3.3 Picture layer The start of a new picture is indicated by a picture start token. This token is followed by a time standard token and a picture type token. If the temporal decoder is not configured to provide picture reordering, temporary reference information may be useful. The picture type information is displayed when the display system is particularly open GO.
It may be useful if you want to process B pictures at the start of P (see section A.19.3.8).

【1085】各ピクチャは多くのスライスで構成され
る。
Each picture is composed of many slices.

【1086】A.19.3.4 「スライスレイヤ」 セクションA.19.2.2.2はH.261において
使用されるブロックグループについて論じている。MP
EGにおけるスライスは同様の機能を果たす。しかしな
がら、スライス構造は基準によって固定されない。スラ
イススタートトークンが所有する8ビット値は、MPE
Gが伝達する「スライス垂直位置」より1つ少ない値で
ある。スライスレイヤの説明に関しては、MPEGスタ
ンダード草案を参照せよ。
A. 19.3.4 Slice layer Section A. 19.2.2.2 is H.264. 261 discusses the block groups used. MP
Slices in the EG perform a similar function. However, the slice structure is not fixed by reference. The 8-bit value owned by the slice start token is the MPE
This value is one less than the “slice vertical position” transmitted by G. See the MPEG Standard Draft for a description of the slice layer.

【1087】空間デコーダ及び時間デコーダは各ピクチ
ャが正しい数のブロックを正しい位置に含んでいること
を確実にするため、既にこの情報を使用しているので、
スライススタートが時間デコーダの出力に達する時まで
に、その情報は効果的に冗長となっている。こうして、
ピクチャのスタート以来出力されてきたブロック数を数
えることにより、時間デコーダにより出力されるデータ
ブロックをどこに置くべきかを計算することが可能とな
る。
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 time decoder, the 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 place the data blocks output by the temporal decoder.

【1088】MPEGピクチャ再整理を使用する効果に
関する議論については、セクションA.19.3.7を
参照せよ。
For a discussion of the effects of using MPEG picture reordering, see Section A.1. See 19.3.7.

【1089】A.19.3.5 「マクロブロックレイ
ヤ」 各マクロブロックは6ブロックを含む。これらは(MP
EG規約の草案により明記されるように)ラスタ状態で
時間デコーダの出力に現れる。
A. [1089] 19.3.5 "Macroblock Layer" Each macroblock contains 6 blocks. These are (MP
Appears at the output of the temporal decoder in raster state (as specified by the draft EG convention).

【1090】A.19.3.6 「ブロックレイヤ」 各マクロブロックは6個のデータトークンを包含する。
6個の各グループに含まれるデータトークンのシーケン
スはMPEG規約草案(これはH.261のマクロブロ
ック構造と同じである)により限定される。各データト
ークンは1つの色成分の8×8ピクセルエリアのために
正確に64データバイトを含むべきである。色成分はデ
ータトークン内の2ビットの数の中に含まれる(A.
3.5.1参照)。しかしながら、MPEG内の色成分
のシーケンスは限定される。
[1090] A. 19.3.6 "Block layer" Each macroblock contains six data tokens.
The sequence of data tokens contained in each of the six groups is defined by the MPEG draft standard, which is the same as the H.261 macroblock structure. Each data token should contain exactly 64 data bytes for an 8x8 pixel area of one color component. The color components are included in the 2-bit number in the data token (A.
See 3.5.1.). However, the sequence of color components in MPEG is limited.

【1091】データトークンの各グループの前には、動
きベクトル、量子化器スケール係数等に関する情報を伝
達する多くのトークンが置かれる。これらのトークンは
ピクチャが表示されるようにする必要がないので、無視
することができる。
[1091] Each group of data tokens is preceded by a number of tokens that convey information about motion vectors, quantizer scale factors, and the like. These tokens do not need to have the picture displayed and can be ignored.

【1092】A.19.3.7 「MPEGピクチャ再
整理の効果」 A.18.3.5において説明したように、時間デコー
ダはMPEGピクチャ再整理を提供する(MPEG r
eordering=1)ように構成することができ
る。データストリームにおける次のP/Iピクチャが時
間デコーダによりデコーディングがスタートされるま
で、P及びIピクチャの出力は遅らされる。時間デコー
ダの出力時に、新たにデコーディングされたP/Iピク
チャのデータトークンは、旧P/Iピクチャからのデー
タトークンで置き換えられる。
A. [1092] 19.3.7 “Effect of MPEG Picture Rearrangement” As described in 18.3.5, the temporal decoder provides MPEG picture reordering (MPEG r
eordering = 1). The output of P and I pictures is delayed until the decoding of the next P / I picture in the data stream is started by the temporal decoder. At the output of the temporal decoder, the data token of the newly decoded P / I picture is replaced by the data token from the old P / I picture.

【1093】P/Iピクチャを再整理する時、ピクチャ
がオフチップピクチャバッファに書き込まれるにつれ
て、ピクチャのピクチャスタート、時間標準、及びピク
チャタイプのトークンが一時的にオンチップに記憶され
る。ピクチャが表示のために読み出されると、これらの
記憶されたトークンが検索される。従って、再整理され
たP/Iピクチャはピクチャスタート、時間標準、及び
ピクチャタイプのための正しいバリューを持っている。
When rearranging P / I pictures, the picture start, time standard, and picture type tokens for the picture are temporarily stored on-chip as the picture is written to the off-chip picture buffer. When the picture is read for display, these stored tokens are retrieved. Thus, the reordered P / I pictures have the correct values for picture start, temporal standard, and picture type.

【1094】ピクチャレイヤの下の他の全てのトークン
はリオーダされない。再整理されたP/Iピクチャが表
示のために読み出されるにつれて、それはたったいまデ
コーディングされたばかりのピクチャの低い方のレベル
の非データトークンを拾い上げる。このように、これら
のサブピクチャレイヤのトークンは無視されるべきであ
る。
[1094] 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.

【1095】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」と呼ばれる。
[1095] A. 19.3.8 “Random Access and Edited Sequences” The spatial decoder uses edited MPEG video data and M
Provide facilities 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
This is a B picture at the start of P. When the GOP is "opened", the encoder can encode these two pictures using predictions from P-picture 16 and I-picture 19. Alternatively, the encoder could be restricted to using predictions only from I-pictures 19. In this case, the second GOP is called a "closed GOP."

【1096】デコーダが最初のGOPにおいてビデオデ
コーディングをスタートすると、そのGOPは既にPピ
クチャ16をデコーディングしているので、そのGOP
がたとえ開かれていても、第2のGOPに遭遇しても何
の問題も起こらないであろう。しかしながら、デコーダ
がランダムアクセスを行い、第2のGOPにおいてデコ
ーディングをスタートする場合、それらがP16に依存
していれば(つまり、GOPが開かれていれば)、それ
はB17及びB18をデコーディングできない。
[1096] When the decoder starts video decoding in the first GOP, the GOP has already decoded the P picture 16,
Will not cause any problems if a second GOP is encountered, even if is open. However, if the decoder performs random access and starts decoding in the second GOP, it cannot decode B17 and B18 if they depend on P16 (ie, if the GOP is open). .

【1097】本発明の空間デコーダがリセットに続く最
初のGOPとしてオープンGOPに遭遇するか、あるい
はフラッシュトークンを受け取れば、オープンGOPへ
のランダムアクセスが発生したと仮定される。この場
合、ハフマンデコーダは通常の方法でBピクチャのため
にデータを消費するであろう。しかしながら、それはI
ピクチャから離れた(0、0)動きベクトルで予測され
るBピクチャを出力するであろう。その結果、(上記の
例における)ピクチャB17及びB18がI19と同一
になるであろう。
When 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 would consume data for B pictures in the usual way. However, it is I
It will output a B picture predicted with a (0,0) motion vector away from the picture. As a result, pictures B17 and B18 (in the example above) will be identical to I19.

【1098】この行為はMPEGのVBV規則の正しい
維持を確実にする。更に、それはBピクチャが他のデー
タチャネルにより予期される出力ストリーム内の位置に
おける出力の中に存在することを確実にする。例えば、
MPEGシステムレイヤはオーディオデータに関する表
示時間情報をビデオデータに提供する。ビデオ表示時間
のスタンプはGOPにおける最初の表示ピクチャ、つま
り時間基準0のピクチャを指示する。上記の例では、第
2のGOPに対するランダムアクセスの後、最初に表示
されるピクチャはB17である。
This action ensures the correct maintenance of the MPEG VBV rules. In addition, it ensures that B pictures are present in the output at locations in the output stream expected by 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, i.e., the picture with time reference 0. In the above example, after random access to the second GOP, the first picture displayed is B17.

【1099】ブロークン・クローズドトークンはMPE
G closed gopビットを所有する。従って、
時間デコーダの出力において、Bピクチャの出力が本物
であるか、あるいは「代用品」が空間デコーダによって
導入されていたか否かを判断することが可能である。あ
るアプリケーションはこれらの「代用品」のピクチャが
存在する時、特別な処置を講ずることを希望するかもし
れない。
[1099] Broken closed token is MPE
Owns the G closed gop bit. Therefore,
At the output of the temporal decoder, it is possible to determine whether the output of the B picture is genuine, or whether a "substitute" has been introduced by the spatial decoder. Some applications may wish to take special action when these "substitute" pictures are present.

【1100】A.19.3.8.2 編集済みビデオ アプリケーションがMPEGビデオシーケンスを編集す
る場合、それは2つのGOP間の関係を破壊するかもし
れない。編集後のGOPがオープンGOPであれば、そ
れはGOPの始まりにおいてBピクチャを正しくデコー
ディングすることはもはやできないであろう。MPEG
データを編集するアプリケーションは、編集後のGOP
においてbroken linkビットを設定し、デコ
ーダにこれらのBピクチャをデコーディングできないこ
とを指示することができる。
[1100] A. 19.3.8.2 Edited Video If an application edits an MPEG video sequence, it may break the relationship between the two GOPs. If the edited GOP is an open GOP, it will no longer be able to decode B pictures correctly at the beginning of the GOP. MPEG
The application that edits the data is the GOP after editing
Can set a broken link bit to indicate to the decoder that these B pictures cannot be decoded.

【1101】空間デコーダが破壊されたリンクを持つG
OPに遭遇した場合、ハフマンデコーダは通常の方法で
Bピクチャのためにデータをデコーディングするであろ
う。しかしながら、それはIピクチャから離れた(0、
0)動きベクトルで予測されたBピクチャを出力するで
あろう。その結果、(上記の例における)ピクチャB1
7及びB18はI19と同一になるであろう。
[1101] G with link broken for spatial decoder
If an OP is encountered, the Huffman decoder will decode the data for the B picture in the usual way. However, it has moved away from the I picture (0,
0) Will output the B picture predicted by the motion vector. As a result, picture B1 (in the above example)
7 and B18 will be identical to I19.

【1102】ブロークン・クローズドトークンはMPE
Gのbroken linkビットを所有する。従っ
て、時間デコーダの出力において、Bピクチャの出力が
本物であるか、あるいは空間デコーダによって導入され
ていた「代用品」であるか否かを判断することが可能で
ある。あるアプリケーションはこれらの「代用品」のピ
クチャが存在する時、特別な処置を講ずることを希望す
るかもしれない。 セクションA.20 「後書込みDRAMインターフェ
ース」 インターフェースは2つの方法で構成できる: インターフェースの詳細なタイミングは種々の異なるD
RAMタイプを収容するように構成することができる。
[1102] Broken closed token is MPE
Owns G's broken link bit. Therefore, it is possible to determine whether the output of the B-picture is genuine or the "substitute" introduced by the spatial decoder in the output of the temporal decoder. Some applications may wish to take special action when these "substitute" pictures are present. Section A. 20 "post write DRAM Interface" interface can be configured in two ways: detailed timing of the interface is a variety of different D
It can be configured to accommodate a RAM type.

【1103】DRAMインターフェースの「幅」は費用
/性能のトレードオフを提供するように構成することが
できる。
The "width" of the DRAM interface can be configured to provide a cost / performance trade-off.

【1104】[1104]

【表154】 [Table 154]

【1105】[1105]

【表155】 [Table 155]

【1106】[1106]

【表156】 [Table 156]

【1107】[1107]

【表157】 [Table 157]

【1108】[1108]

【表158】 [Table 158]

【1109】[1109]

【表159】 A.20.1 「インターフェースタイミング(tick)」 本発明では、DRAMインターフェースタイミングは装
置の入力クロック率の4倍で動くクロック(decod
er clock)から引き出される。このクロックは
オンチップPLLによって作られる。
[Table 159] A. 20.1 "Interface Timing (tick)" In the present invention, the DRAM interface timing is a clock (decode) operating at four times the input clock rate of the device.
er clock). This clock is generated by the on-chip PLL.

【1110】簡潔のために、この高速クロックの周期を
ティックと称する。
[1110] For simplicity, the period of this high-speed clock is called a tick.

【1111】A.20.2 「インターフェースオペレ
ーション」」 インターフェースはDRAMの高速ページモードを使用
する。3つの異なるタイプのアクセスが支持される: ・読出し ・書込み ・リフレッシュ 各々の読出しもしくは書込みアクセスは1つのDRAM
ページアドレスにおいて1〜64バイトのバーストを伝
送する。読出し及び書込み伝送は1つのアクセスにおい
て混合されない。各々の連続アクセスは新しいDRAM
ページへのランダムアクセスとして処理される。
A. 20.2 "Interface Operation" The interface uses the fast page mode of the DRAM. Three different types of accesses 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 random access to the page.

【1112】A.20.3 「アクセス構造」 各アクセスは2つの部分で構成される: ・アクセススタート ・データ伝送 各アクセスはアクセススタートによって開始され、その
後1つかそれ以上のデータ伝送サイクルが続く。アクセ
ススタート及びデータ伝送サイクル両方の読出し、書込
み及びリフレッシュの変形がある。
A. [1112] 20.3 "Access Structure" Each access consists of two parts: Access start Data transmission Each access is started by an access start, followed by one or more data transmission cycles. There are read, write and refresh variants for both access start and data transfer cycles.

【1113】1アクセスにおける最後のデータ伝送の終
わりに、インターフェースはディフォルト状態になり、
新しいアクセスがスタートする準備ができるまでこの状
態のままである。最後のアクセスが完了した時、新しい
アクセスのスタート準備ができると、その新しいアクセ
スは直ちにスタートする。
At the end of the last data transmission in one access, the interface defaults,
It remains in this state until a 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.

【1114】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を参照せよ。
[1114] A. 20.3.1 "Access Start" The access start provides a page address for a 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 in the registers RAS falling and page.
It is controlled by the start length. / O
The state of E / and DRAM data [31: 0] is maintained from the end of the previous data transmission until it becomes / RAS /. The three different types of access start are /
When RAS / becomes / OE / and DRAM data
The only difference is the method of driving [31: 0]. See FIG.

【1115】[1115]

【表160】 表A.20.3 アクセススタートパラメーター 注a:このバリューはCASがRASリフレッシュが発
生する前であることを保証するため、RAS fall
ingより小さくなければならない。 A.20.3.2 「データ伝送」 データ伝送サイクルには3つの異なるタイプがある: ・高速ページリードサイクル ・高速ページ遅延書込サイクル ・リフレッシュサイクル リフレッシュスタートの次には1つのリフレッシュサイ
クルだけが続く。リード(またはライト)スタートの次
には、1つかそれ以上の高速ページリード(またはライ
ト)サイクルが続く。
[Table 160] Table A. 20.3 Access Start Parameter Note a: This value is RAS fall to ensure that CAS is before a RAS refresh occurs.
ing must be smaller. A. 20.3.2 Data Transmission There are three different types of data transmission cycles: Fast page read cycle Fast page delayed 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.

【1116】リードサイクルスタートにおいて、CAS
がハイとされ、新しいカラムアドレスが駆動される。
At the start of the read cycle, the CAS
Is driven high, and a new column address is driven.

【1117】遅延書込サイクルが使用される。/WE/
は/CAS/の後1ティックだけローとされる。出力デ
ータはアドレスの後1ティック駆動される。
[1117] A delayed write cycle is used. / WE /
Is low by one tick after / CAS /. The output data is driven one tick after the address.

【1118】/RAS/の前の/CAS/として、リフ
レッシュサイクルがリフレッシュサイクルスタートによ
り始められ、リフレッシュサイクル中は如何なるインタ
ーフェース信号活動もない。リフレッシュサイクルの目
的はDRAMが必要とする最低の/RAS/低周期を満
たすことである。
[1118] 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.

【1119】A.20.3.3 「インターフェースデ
ィフォルト状態」 インターフェース信号はアクセスの終了時にディフォル
ト状態に入る: ・/RAS/、/CAS/、及び/WE/は高い ・データ及び/OE/はそれ以前の状態のままである ・addrは安定したままである A.20.4 「データバス幅」 2ビットのレジスタDRAM data widthは
DRAMインターフェースのデータ通路の幅が構成され
るようにする。これは小さなピクチャフォーマットで作
業をする時、DRAM費用を最小にする。
[1119] A. 20.3.3 "Interface Default State" Interface signals enter a default state at the end of access: / RAS /, / CAS /, and / WE / are high. Data and / OE / remain at their previous state. Addr remains stable A. 20.4 “Data Bus Width” The 2-bit register DRAM data width configures the width of the data path of the DRAM interface. This minimizes DRAM costs when working with small picture formats.

【1120】[1120]

【表161】 A.20.5 「アドレスビット」 オンチップの24ビットのアドレスが作られる。このア
ドレスがロー及びカラムアドレスを形成するためどのよ
うに使用されるかは、データバス幅及びローアドレスの
ために選択されるビット数により異なる。ある構成では
内部のアドレスビットの総ての使用を許さない(従っ
て、「隠れビット」が作られる)。
[Table 161] A. 20.5 “Address Bits” 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 use of all of the internal address bits (thus creating "hidden bits").

【1121】ローアドレスはアドレスの中間部分から引
き出される。これはDRAMが自然にリフレッシュされ
る率を最大にする。
[1121] The row address is derived from the middle part of the address. This maximizes the rate at which the DRAM is naturally refreshed.

【1122】A.20.5.1 「低オーダーのカラム
アドレスビット」 64バイトまでの高速ページモード伝送用のアドレスを
提供するために、最も重要でない4〜6ビットのカラム
アドレスが使用される。これらの伝送を制御するために
必要なアドレスビット数はデータバスの幅により異な
る。(A.20.4を参照) A.20.5.2 「ローアドレスビット」 ローアドレスを提供するため24ビットの内部アドレス
の中間セクションから取られるビット数は、レジスタr
ow address bitsによって形成される。
[1122] A. 20.5.1 "Low Order Column Address Bits" The least significant 4-6 bit column addresses are used to provide addresses for fast page mode transmission up to 64 bytes. The number of address bits required to control these transmissions 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 a row address is stored in register r
ow address bits.

【1123】[1123]

【表162】 使用されるローアドレスの幅は使用されるDRAMのタ
イプ、及びローアドレスのMSBがDRAMの多重バン
クにアクセスするためのデコーディングされたオフチッ
プであるか否かにより異なる。
[Table 162] The width of the row address used depends on the type of DRAM used and whether the MSB of the row address is a decoded off-chip for accessing multiple banks of DRAM.

【1124】注:ローアドレスは内部アドレスの中間か
ら引き出される。ローアドレスのあるビットがDRAM
バンクを選択するためにデコーディングされる場合、こ
れらの「バンクセレクトビット」の全ての可能なバリュ
ーがDRAMバンクを選択しなければならない。そうで
なければ、アドレス空間に空孔が残されることになる。
Note: The row address is derived from the middle of the internal address. Bit with row address is DRAM
When decoding 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.

【1125】[1125]

【表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
An enable register and a DRAM enable signal. Both registers and signals must be logic 1 for the DRAM interface to operate. If either is low, the interface is made high impedance and data transmission over the interface is stopped.

【1126】DRAMインターフェースを高インピーダ
ンスにもっていく能力は、空間デコーダ(もしくは時間
デコーダ)が使用されていない時に、他の装置が空間デ
コーダ(もしくは時間デコーダ)によって制御されるD
RAMをテストまたは使用できるようにするために提供
され、他の装置が通常のオペレーション中にメモリーを
共有できるようにするためではない。
[1126] The ability to bring the DRAM interface to high impedance is due to the fact that other devices are controlled by the spatial decoder (or time decoder) when the spatial decoder (or time decoder) is not in use.
Provided to allow RAM to be tested or used, but not to allow other devices to share memory during normal operation.

【1127】A.20.7 「リフレッシュ」 レジスタno refreshに書き込むことにより不
能化されない限り、DRAMインターフェースはレジス
タrefresh intervalにより決定される
間隔で、/RAS/リフレッシュサイクルの前の/CA
S/を使用して、DRAMを自動的にレフレッシュす
る。
[1127] A. 20.7 "Refresh" Unless disabled by writing to the register no refresh, the DRAM interface will operate at / CA prior to the / RAS / refresh cycle at intervals determined by the register refresh interval.
Use S / to automatically refresh the DRAM.

【1128】refresh intervalのバリ
ューは16decoder clockサイクルの期間
におけるリフレッシュサイクル間の間隔を指定する。1
〜255の範囲のバリューを選択することができる。バ
リュー0はリセット後自動的にロードされ、(一度イネ
ーブルとされると)有効なリフレッシュ間隔が形成され
るまで、DRAMインターフェースが連続してリフレッ
シュサイクルを実行するように強制する。refres
h intervalが各リセット後一度だけ形成され
るようにすることが薦められる。
[1128] The value of the refresh interval specifies the interval between refresh cycles in the period of 16 decoder clock cycles. 1
A value in the range of ~ 255 can be selected. Value 0 is automatically loaded after reset, forcing the DRAM interface to perform successive refresh cycles until a valid refresh interval is formed (once enabled). refres
It is recommended that hinterval be formed only once after each reset.

【1129】A.20.8 「信号強度」 DRAMインターフェースの出力の駆動力は3ビットレ
ジスタ/CAS/ strength、/RAS/ s
trength、addr strengthを用い
て、ユーザーにより形成される。この3ビットバリュー
のMSBは高速もしくは低速のエッジ率のいずれかを選
択する。2つの重要性の低いビットが異なるロードキャ
パシタンスのための出力を形成する。
[1129] A. 20.8 "Signal Strength" The driving force of the output of the DRAM interface is a 3-bit register / CAS / strain, / RAS / s
It is formed by the user using the strength and the addr strength. The MSB of the 3-bit value selects either a high-speed or low-speed edge rate. Two less significant bits form the output for different load capacitances.

【1130】リセット後のディフォルト強度は6であ
り、12pFでロードされる場合、GNDとVDD間の駆
動信号に対しておよそ10nsを取る出力を形成する。
[1129] The default strength after reset is 6, and when loaded at 12 pF, forms an output that takes approximately 10 ns for the drive signal between GND and VDD.

【1131】[1131]

【表164】 およそ駆動中のロードのために出力が形成される時、そ
れは表168〜表169に明記されるAC電気特性を満
たすであろう。適切に形成された場合、各出力はその負
荷にほぼ適合し、従って最小のオーバーシュートが信号
遷移後に発生するであろう。
[Table 164] When the output is formed, approximately for the driving load, it will meet the AC electrical characteristics specified in Tables 168-169. When properly formed, each output will approximately match its load, and thus minimal overshoot will occur after a signal transition.

【1132】A.20.9 「リセット後」 リセット後、DRAMインターフェース形成レジスタは
全てそれらのディフォルトバリューにリセットされる。
これらのディフォルト構成の内最も重要なものを以下に
記す: ・DRAMインターフェースが不能化(disable)され、
高インピーダンスに行くことが許される。
[1132] A. 20.9 "After Reset" After reset, all DRAM interface configuration registers are reset to their default values.
The most important of these default configurations are described below:-The DRAM interface is disabled,
You are allowed to go to high impedance.

【1133】・リフレッシュ間隔が特別なバリュー0に
形成され、それはインターフェースが再可能化された
後、連続的なリフレッシュサイクルの実行を意味する。
The refresh interval is formed with a special value 0, which means that a continuous refresh cycle is performed after the interface has been re-enabled.

【1134】・DRAMインターフェースはその最低速
の形成に設定される。
The DRAM interface is set to its lowest speed configuration.

【1135】ほとんどのDRAMは電力が最初に印加さ
れ、その後通常オペレーションが可能となる前に多数の
リフレッシュサイクルが続いた後、100μs〜500
μs間の「休止」を要求する。
[1135] Most DRAMs are initially applied with power and then after a number of refresh cycles before normal operation is possible, after 100 μs to 500 μs.
Request a “pause” for μs.

【1136】リセット後直ちに、DRAMインターフェ
ースはDRAM enable信号及びDRAM en
ableレジスタの両方が設定されるまで不活性化され
る。これらが設定された時、DRAMインターフェース
はDRAMインターフェースが形成されるまで、(使用
されるクロック周波数に応じて、ほぼ400ns毎に)
リフレッシュサイクルを実行するであろう。
[1136] Immediately after the reset, the DRAM interface outputs the DRAM enable signal and the DRAM enable signal.
The inactive register is inactivated until both are set. When these are set, the DRAM interface will be activated (almost every 400 ns, depending on the clock frequency used) until the DRAM interface is formed.
A refresh cycle will be performed.

【1137】ユーザーには、power up後の、ま
た必要な数のリフレッシュサイクルがデータ伝送を試み
る前に発生したことを確かめるため、DRAMインター
フェースを可能化した後充分な時間があるように、DR
AMの「休止」を確実にするための責任がある。
[1136] The user should be able to ensure that there is enough time after enabling the DRAM interface to ensure that the required number of refresh cycles after power up and before the attempted data transfer has occurred.
There is a responsibility to ensure the "pause" of the AM.

【1138】リセットを宣言する間は、DRAMインタ
ーフェースはDRAMをリフレッシュすることができな
い。しかしながら、デコーダチップが要求するリセット
タイムは、それらをリセットでき、その後DRAMの内
容が崩壊する前にDRAMインターフェースを再可能化
することができる程度に充分短くなっている。これはデ
バッギング中に必要とされるかもしれない。
While declaring 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 re-enable the DRAM interface before the contents of the DRAM collapse. This may be needed during debugging.

【1139】[1139]

【表165】 [Table 165]

【1140】[1140]

【表166】 [Table 166]

【1141】[1141]

【表167】 A.20.10.1 「AC特性」[Table 167] A. 20.10.1 "AC characteristics"

【1142】[1142]

【表168】 [Table 168]

【1143】[1143]

【表169】 セクションB.1 「スタートコード検出器」 B.1.1 「展望」 図18において前述したように、スタートコード検出器
(SCD)は空間デコーダ上の最初のブロックである。
その基本的な目的は入力データストリームの中でMPE
G、JPEG及びH.261のスタートコードを検出
し、それらを関連トークンと置き換えることである。そ
れは更にマイクロプロセッサインターフェースを介して
入力データストリームへのユーザーアクセスを可能に
し、トークンデータストリームの予備フォーマッティン
グ及び「整頓」を遂行する。SCDは生のバイトデータ
もしくはトークンフォーマットに既に組み立てられたデ
ータのいずれかを受け取ることができることを思いだし
てほしい。
[Table 169] Section B. 1 "Start code detector" 1.1 “Outlook” 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.P. 261 start codes and replace them with the relevant tokens. It further allows user access to the input data stream via a microprocessor interface, and performs pre-formatting and "cleaning" of the token data stream. Recall that the SCD can receive either raw byte data or data already assembled in token format.

【1144】典型的に、スタートコードは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、スプリングトラップ、セットフラグを形成するた
めに使用される。更にそれらはシフトレジスタをバイパ
スし、変更されずに出力される。
[1144] Typically, the start code is MPEG,
H. 24, 16 and 8 bits for H.261 and JPEG, 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 a programmable length (16 or 24 bits) where the start code is detected, and the third register is 15 bits wide and is used to reformat the data into 15 bit tokens. used. In addition, there are two "tag" shift registers (SRs) running in parallel with the second and third SRs. These include tags to indicate whether the associated bit in the data SR is good or bad. SCD not part of data token
Allows input bytes that are not recognized by to bypass the shift register and is output when all three shift registers have been flushed (empty) and the content has been output successfully. 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.

【1145】B.1.2 「主ブロック」 スタートコード検出器のためのハードウェアは10個の
ステートマシーンで構成される。
[1145] B.I. 1.2 "Main Block" The hardware for the start code detector consists of 10 state machines.

【1146】B.1.2.1 「入力回路(scdip
c.sch.iplm.M)」 入力回路は3つのオペレーションモード:トークン、バ
イト及びマイクロプロセッサインターフェースを持つ。
これらのモードはデータが生のバイトストリーム(であ
るが2線式インターフェースを使用する)ものとして、
トークンストリームとして、あるいはupiを介したユ
ーザーによって入力されるようにする。全ての場合に、
入力回路は適切な場合にデータトークンヘッダを発生さ
せることにより、常に正しいデータトークンを出力す
る。upiモードへの/からの遷移はシステムクロック
に同期化され、upiはアクセスを得る前のデータスト
リームにおける安全ポイントまで待たされる。バイトモ
ードピンは入力回路がトークンモードであるか、もしく
はバイトモードであるかを決定する。更に、どの基準が
解読されているかに関するシステムに対する初期通知
(従ってコーディングスタンダードトークンが発せられ
る)が3モードのいずれかにおいて行われ得る。 B.1.2.2 「トークンデコーダ(scdipne
w.sch、scdipnem.M)」 このブロックは入力トークンをデコーディングし、他の
ブロックにコマンドを発する。
[1146] 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 assume that the data is a raw byte stream (but using a two-wire interface)
It can be input as a token stream or by the user via upi. In all cases,
The input circuit always outputs the correct data token by generating a data token header when appropriate. The transition to / from the upi mode is synchronized to the system clock and the upi is waited to 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. Further, an initial notification to the system as to which criteria are being decrypted (and thus a coding standard token is issued) can be made in any of the three modes. B. 1.2.2 "Token decoder (scdipne
w. sch, scdipnem. M) "This block decodes incoming tokens and issues commands to other blocks.

【1147】[1147]

【表170】 注:コーディングスタンダードにおける変化はSRがフ
ラッシュされた後、二線インターフェースを介して全て
のブロックに送られる。これは1つのデータストリーム
から別のデータストリームまでの変化がSCD中ずっと
正しいポイントで発生することを確実にする。この原則
はコーディングスタンダードにおける変化が新しいスト
リームの前に全チップを通して流れることができるよう
に、表示中ずっと適用される。
[Table 170] Note: Changes in coding standards are sent to all blocks via the two-wire interface after the SR has been flushed. This ensures that changes from one data stream to another occur at the correct point throughout the SCD. This principle applies throughout the display so that changes in coding standards can flow through all chips before a new stream.

【1148】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)がシフトされ、他のシフトレジスタに保持されてい
るデータを出力させるように強いる。その後、ブロック
はこの「ラビッシュ」がトークン発生器に現れたことを
示す「フラッシュされた」信号を待つ。入力バイトは次
にトークン発生器に直接送られる。
[1148] B.I. 1.2.3 “JPEG (scdjp
eg. sch, scdjpegm. M) "The start codes (markers) in JPEG are sufficiently different, and every JPEG has its 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 (having v nott, see text below), and scdipne
Commands from w are overridden and forced to bypass. Operations are best described in code. switch (state) {case (LOOKING): if (input = 0xff) st state = GETVALUE; / * Found a marker * / removed; / * Marker gets removed * / INK; (Input = 0xff) st state = GETVALUE; / * Overlapping markers * / remove;} else if (input = 0x0-0) {state = LOOKING; / * the 0 × ff back / {else} command = BYPASS; / override command / if (lc) / Doset he marker have a length count / state = GETLC0; else state = LOOKING; break; case (GETLC0): loadlc0; / load the top length; LC; Break; case (DECLC): lcnt = lcnt-2 state = CHECKCK; break; case (CHECKCKLC): if (lcnt = 0) state = LOOKING; / No more to do / first 0 = 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 and
Load the shift register and shift it. However, it also follows the command from the input decoder,
Process transition to / from bypass mode (other SR
When a BYPASS command is received, the associated byte is not loaded into the shift register. Instead, use "rubbish" (tag =
1) is forced to output the data held in the other shift registers. The block then waits for a "flushed" signal indicating that this "rabish" has appeared on the token generator. The input byte is then sent directly to the token generator.

【1149】B.1.2.5 「スタートコード検出器
(scdetect.sch、scdetm.M)」 このブロックは16もしくは24ビットのスタートコー
ド検出ロジック及び「有効な内容」検出ロジックにプロ
グラム可能な2つのシフトレジスタを含む。MPEGス
タートコードは完全な24ビットを要求するが、H.2
61は16ビットだけを要求する。
[1149] B.I. 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 that can be programmed into the "valid content" detection logic. . The MPEG start code requires a full 24 bits, but 2
61 requires only 16 bits.

【1150】本発明では、第1のSRがデータ用であ
り、SRには(二線インターフェースの意味で)ギャッ
プもしくは失速はないが、第2のSRはデータSR内の
ビットが有効か否かを指示するタグを有するが、それら
が包含するビットはフラッシュされる一方、無効(ラビ
ッシュ)であってもよい。スタートコードが検出される
と、タグシフトレジスタのビットが検出器SRの内容を
無効にするために設定される。
In the present invention, the first SR is for data, the SR has no gap or stall (in the sense of a two-wire interface), but the second SR is whether or not a bit in the data SR is valid. , But the bits they contain may be flushed while being invalid (Ravish). When a start code is detected, a bit of the tag shift register is set to invalidate the contents of the detector SR.

【1151】スタートコードはSRの内容が全て有効に
ならない限り検出され得ない。非バイト整列スタートコ
ードが検出され、フラグ表示されてもよい。更に、スタ
ートコードが検出されると、重なっているスタートコー
ドが調べ上げられるまで非整列スタートコードは明確に
フラグ表示され得ない。この機能を果たすため、検出さ
れたスタートコード(バイトがそれに続く)の「バリュ
ー」がscinshiftとscdetectを通して
右に、そしてscoshiftシフトされる。別のスタ
ートコードを検出せずにscoshiftに達すると、
除去されたのは重なっているスタートコードであり、そ
れは有効なスタートコードとしてフラグ表示される。
The start code cannot be detected unless the contents of the SR are all valid. A non-byte aligned start code may be detected and flagged. Further, when a start code is detected, the non-aligned start code cannot be clearly flagged until the overlapping start code is looked up. To perform this function, the "value" of the detected start code (followed by a byte) is shifted right and scifshift through scinshift and scdetect. If scoshift is reached without detecting another start code,
Removed is the overlapping start code, which is flagged as a valid start code.

【1152】B.1.2.6 「出力シフター(sco
shift.sch、scoshm.M)」 出力シフターの基本オペレーションはscdetect
から直列データ(及びタグ)を取り出し、それを15ビ
ットのワードに詰め、出力することである。他の機能は
以下の通りである: B.1.2.6.1 「データパディング」 出力は15ビットワードで構成されるが、入力は任意の
数のビットで構成できる。従って、フラッシュするため
には、最後のワードを15ビットまでにするためにビッ
トを追加する必要がある。これら追加ビットはパディン
グと呼ばれ、ハフマンブロックによって認識され除去さ
れねばならない。パディングは次のように定義される:
最後のデータビットの後、「ゼロ」が挿入され、15ビ
ットワードを作り上げるために充分な「もの」がそれに
続く。
B. [1152] 1.2.6 "Output shifter (sco
shift. sch, scochm. M)] The basic operation of the output shifter is scdetect
To extract serial data (and a tag) from the data, pack it into a 15-bit word, and output it. Other functions are as follows: 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, additional bits need to be added to make the last word up to 15 bits. These additional 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.

【1153】パディングを含むデータワードはデータト
ークンの終わりであることを指示するために、低拡張ビ
ットで出力される。
A data word containing padding is output with low extension bits to indicate the end of a data token.

【1154】B.1.2.6.2 「フラッシュの発
生」 本発明によれば、「フラッシュ」オペレーションの発生
は、全てのSRがフラッシュされる時を検出し、それを
入力シフターに合図することを含む。入力シフターによ
り挿入された「ラビッシュ」が出力シフターのエンドに
達し、出力シフターがそのパディングを完了すると、
「フラッシュされた」信号が発せられる。この「フラッ
シュされた」信号は入力シフターがバイパスモードに入
ることが安全である前に、トークン発生器を通過しなけ
ればならない。
[1154] B.I. 1.2.6.2 Flush Occurrence According to the present invention, the occurrence of a "flush" operation involves detecting when all SRs are flushed and signaling it to the input shifter. When the "Ravish" inserted by the input shifter reaches the end of the output shifter and the output shifter has completed its padding,
A "flashed" signal is emitted. This "flushed" signal must pass through the token generator before it is safe for the input shifter to enter bypass mode.

【1155】B.1.2.6.3 「有効なスタートコ
ードのフラグ表示」 scdetectがスタートコードを発見したことを指
示すると、パディングが遂行され、現在のデータが出力
される。スタートコードバリュー(次のバイト)が検出
器を通してシフトされ、重なっているスタートコードを
除去する。別のスタートコードが検出されずに「バリュ
ー」が出力シフターに達すると、それは重ねられず、そ
のバリューはそれがスタートコードバリューであること
を示すフラグv not t(ValueNotTok
en)を付けて送られる。しかしながら、別のスタート
コードが(scdetectにより)検出される一方、
出力シフターがそのバリューを待っていると、オーバー
ラッピングエラーが発せられる。この場合、第1のバリ
ューは捨てられ、システムは第2のバリューを待つ。こ
のバリューも重ねることができ、こうして非重複スター
トコードが見つかるまで同じ手順が繰り返されるように
する。
[1155] B. 1.2.6.3 “Display of Valid Start Code Flag” When scdetect indicates that a start code has been 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 "value" reaches the output shifter without another start code being detected, it is not superimposed and the value is a flag vnott (ValueNotTok) indicating that it is a start code value.
en). However, while another start code is detected (by scdetect),
If the output shifter is waiting for its 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 repeated, so that the same procedure is repeated until a non-overlapping start code is found.

【1156】B.1.2.6.4 「スタートコードの
後の整頓(tyding up)」 適切なスタートコードを検出し出力した後、(ラビッシ
ュでない)データが到着し始めると、新しいデータヘッ
ダが作られる。
[1156] B. 1.2.6.4 "tyding up" after the start code has been detected and output, a new data header is created when data (not rabbis) starts to arrive.

【1157】B.1.2.7 「データストリーム発生
器(sctokrec.sch、sctokrem.
M)」 データストリーム発生器は、1つはバイパスされたトー
クンのためのscinshiftから、他の1つは詰め込
まれたデータ及びスタートコードのためのscoshi
ftからの二線インターフェース入力を持つ。2つのソ
ース間の切り替えは、(いずれかのソースからの)現在
のトークンが(到着した低拡張ビットを)完了した後に
のみ許される。
B. [1157] 1.2.7 “Data stream generators (stokrec.sch, scokrem.
M) "The data stream generator is one from scinshift for bypassed tokens and the other is scoshi for packed data and start codes.
It 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 bit that has arrived).

【1158】B.1.2.8 「数変換をスタートする
ためのスタートバリュー(scdromhw.sch、
schrom.M)」 スタートバリューをトークンに変換するプロセスは2段
階で行われる。このブロックは520の奇数の位置コー
ドを16のコーディングスタンダードの独立インデック
スに減少させるコーディングスタンダード依存問題点を
主に取り扱う。初期に述べたように、(JPEGのバリ
ューを含む)スタートバリューは他の全てのデータから
フラグ(value not token)によって識
別される。v not tが高ければ、このブロックは
4または8ビットバリューをコーディングスタンダード
に応じて、スタンダードから独立している4ビットのs
tart numberに変換し、未認識のスタートコ
ードをフラグ表示する。スタート数は次の通りである:
[1158] B. 1.2.8 “Start value for starting number conversion (scdromhw.sch,
schrom. M) "The process of converting start values into tokens is performed in two stages. This block deals primarily with coding standard dependent issues that reduce 520 odd position codes to 16 coding standard independent indexes. As mentioned earlier, the start value (including the JPEG value) is identified by a flag (value not token) from all other data. If v not t is high, this block will convert the 4- or 8-bit value to a standard-independent 4-bit s, depending on the coding standard.
Convert to start number and flag the unrecognized start code. The starting numbers are as follows:

【1159】[1159]

【表171】 [Table 171]

【1160】[1160]

【表172】 [Table 172]

【1161】[1161]

【表173】 B.1.2.9 「トークン変換に対するスタート数
(sconvert.sch、sconverm.
M)」 変換の第2段階において上記スタート数(もしくはイン
デックス)がトークンに変換される。このブロックは更
に拡張及びユーザーデータを適切に捨てるトークン拡張
及びサーチモードを処理する。
[Table 173] B. 1.2.9 "Start Number for Token Conversion (convert.sch, convert.
M) "In the second stage of conversion, the start number (or index) is converted into a token. This block also handles the extension and search modes, which properly discard the extension and user data.

【1162】サーチモードはランダムポイントでデータ
ストリームに入る手段である。サーチモードは8つのバ
リューの1つに設定できる: 0 : 通常のオペレーション - 次のスタートコー
ドを見つける。
The search mode is a means for entering a data stream at random points. The search mode can be set to one of eight values: 0: normal operation-find the next start code.

【1163】1/2: システムレベルサーチは空間デ
コーダに関しては実施されない。
11/2: The system level search is not performed for the spatial decoder.

【1164】3 : シーケンス以上のものを探す 4 : グループ以上のものを探す 5 : ピクチャ以上のものを探す 6 : スライス以上のものを探す 7 : 次のスタートコードを探す 非ゼロサーチモードは所望のスタートコード(またはシ
ンタックスにおいてより高い)が検出されるまで、デー
タが捨てられるようにする。
[1164] 3: Search for more than sequence 4: Search for more than group 5: Search for more than picture 6: Search for more than slice 7: Search for next start code Non-zero search mode is desired Data is discarded until a start code (or higher in syntax) is detected.

【1165】このブロックは更にPICTURE及びS
LICEスタートトークンにトークン拡張を加える。
[1165] This block further includes PICTURE and S
Add a token extension to the LICE start token.

【1166】・ピクチャスタートはPICTURE N
UMBER、ピクチャの4ビットカウントで拡張され
る。
[1166] Picture start is PICTURE N
UMBER is extended by a 4-bit count of a picture.

【1167】・スライススタートはsvp(スライス垂
直位置)で拡張される。これはスタートコードマイナス
1(MPEG、H.261)、及びマイナスOXDO
(JPEG)の「バリュー」である。
The slice start is extended by svp (slice vertical position). This is the start code minus 1 (MPEG, H.261) and minus OXDO
(JPEG) “value”.

【1168】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 aft
er 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 aft
er 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 aft
er 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 aft
er picture) 2a.output=FLUSH 2b.sap error=HIGH 3.if(insert sequence star
t) 3a.output=CODING START 3b.output=standard 3c.output=SEQUENCE START insert sequence start=FAL
SE 4.output=PICTURE START in picture=TRUE break default:Just pass it thro
ugh セクションB.2 「ハフマンデコーダ及びパーザー(p
arser)」 B.2.1 「概論」 本セクションは本発明によるハフマンデコーダ及びパー
ザー回路について説明する。
B. [1168] 1.2.10 “Data stream formatting (scinsert.sch, sci
nserx. M) "In the present invention, data stream formatting relates to the conditional insertion of picture end, flash, coding standard, sequence start tokens, and the occurrence of a STOP AFTER PICTURE event. Its function is best simplified and described in software: switch (input data) case (FLUSH) 1. if (in picture) output = PICTURE END output = FLUSH if (in picture & stop after
3. er picture) sap error = HIGH in picture = FALSE; in picture = FALSE; break case (SEQUENCE START) 1. if (in picture) output = PICTURE END if (in picture & stop after
er picture) 2a. output = FLUSH 2b. 2. saperror = HIGH in picture = FALSE output = CODING STANDARD 4. output = standard5. 5. output = SEQUENCE START in-picture = FALSE; break case (SEQUENCE END) case (GROUP START): 1. if (in picture) output = PICTURE END if (in picture & stop after
er picture) 2a. output = FLUSH 2b. 2. saperror = HIGH in picture = FALSE 3. output = SEQUENCE END or GROUP START in-picture = FALSE; break case (PICTURE END) 1. output = PICTURE END if (stop after picture) 2a. output = FLUSH 2b. saperror = HIGH 3. in-picture = FALSE break case (PICTURE START) 1. if (in picture) output = PICTURE END if (in picture & stop after
er picture) 2a. output = FLUSH 2b. saperror = HIGH 3. if (insert sequence star
t) 3a. output = CODING START 3b. output = standard 3c. output = SEQUENCE START insert sequence start = FAL
SE 4. output = PICTURE START in picture = TRUE break default: Just pass it through
Ugh section B. 2 "Huffman Decoder and Parser (p
arser) "B. 2.1 Overview This section describes the Huffman decoder and parser circuit according to the present invention.

【1169】図127はハフマンデコーダ及びパーザー
の高レベルのブロック線図を示す。明瞭さのために、本
線図では多くの信号及びバスを省略しており、特にデー
タが(図示された大きなループ内で)後方に送られる場
所が幾つかある。
FIG. 127 shows a high level block diagram of the Huffman decoder and parser. For clarity, the main diagram omits many signals and buses, and in particular there are some places where data is sent backwards (within the large loop shown).

【1170】本質的に、本発明のハフマンデコーダ及び
パーザーは、プログラム可能ステートマシーンによって
制御される(線図の底部に沿って示される)多くの専用
処理ブロックで構成される。
In essence, the Huffman decoder and parser of the present invention consist of a number of dedicated processing blocks (shown along the bottom of the diagram) controlled by a programmable state machine.

【1171】データは「インシフト」ブロックにより符
号化データバッファから受け取られる。この時点で、本
質的に遭遇するであろう2つのタイプの情報がある:デ
ータトークンが所有する符号化データ、及びスタートコ
ード検出器により各々のトークンと既に置き換えられて
いるスタードコードである。他のトークンと遭遇する可
能性もあるが、(データトークン以外の)全てのトーク
ンは同じ方法で処理される。トークン(スタートコー
ド)は(H.261、JPEGもしくはMPEGにおい
て)多数のデータがこれから符号化されるにつれて、特
別な場合として処理される。
The data is received from the encoded data buffer by "in shift" blocks. At this point, there are essentially two types of information that will be encountered: the encoded data owned by the data token, and the star code that has already been replaced by each token by the start code detector. All tokens (other than data tokens) are handled in the same way, although other tokens may be encountered. The token (start code) is treated as a special case (in H.261, JPEG or MPEG) as more data is to be encoded.

【1172】本発明では、データトークンが所有する全
てのデータが直列形態(ビットバイビット)でハフマン
デコーダに伝送される。もちろん、このデータはハフマ
ン符号化されない多くのフィールドを含むが、固定長に
より符号化される。それにもかかわらず、このデータは
ハフマンデコーダに直列に送られる。ハフマン符号化デ
ータの場合、ハフマンデコーダは実際のハフマンコード
がインデックス数で置き換えられるデコーディングの第
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 includes many fields that are not Huffman encoded, but are encoded with a fixed length. Nevertheless, this data is sent serially to the Huffman decoder. In the case of Huffman coded data, the Huffman decoder performs only the first stage of decoding where the actual Huffman code is replaced by the number of indices. If the special code table to be decoded includes N District Huffman codes, 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.

【1173】データユニットインデックス部はテーブル
ルックアップオペレーションを実行する比較的簡単な回
路ブロックである。それはハフマンデコーディングプロ
セスの第2ステージからその名前を取り出し、そこでハ
フマンデコーダにおいて得たインデックス数が簡単なテ
ーブルルックアップによって実際の解読データに変換さ
れる。データユニットインデックス部はハフマンデコー
ダと協動して1つの論理ユニットとして作用する。
The data unit index is a relatively simple circuit block that performs a table lookup operation. It retrieves its name from the second stage of the Huffman decoding process, where the index numbers obtained at the Huffman decoder are converted into actual decrypted data by a simple table lookup. The data unit index acts as one logical unit in cooperation with the Huffman decoder.

【1174】ALUが次のブロックであり、解読済みデ
ータに他の変換を加えるために提供される。データユニ
ットインデックス部は比較的任意のマッピングに適して
おり、ALUは算術がよりふさわしい場所に使用でき
る。ALUはデコーディングアルゴリスムの様々な部分
を実施するために操作できるレジスタファイルを具備す
る。特に、ベクトル予測及びDC予測を保持するレジス
タががこのブロックに含まれる。ALUはオペランドセ
レクションロジックを持つ単純なアダーのまわりに基礎
づけられる。更に、それはサイン拡張タイプのオペレー
ション用専用回路を含む。シフトオペレーションが実行
されやすいが、これはシリアル様式で遂行され、バレル
シフタは存在しないであろう。
The ALU is the next block and is provided to add other transformations to the decrypted data. The data unit index portion is suitable for relatively arbitrary mapping, and the ALU can be used where arithmetic is more appropriate. The ALU has a register file that can be manipulated to implement various parts of the decoding algorithm. In particular, registers holding vector prediction and DC prediction are included in this block. ALU is based around a simple adder with operand selection logic. In addition, it includes dedicated circuitry for operation of the sign extension type. Although shift operations are likely to be performed, this will be performed in a serial fashion and there will be no barrel shifter.

【1175】本発明によるトークンフォーマッティング
部は、ビデオパーザー内の最後のブロックであり、解読
済みデータを残りのデコーダに送ることができるトーク
ンに最終的に組み込む仕事をする。この時点で、この特
定のピクチャ用のデコーダにより使用されるであろう多
くのトークンがある。
The token formatting unit according to the present invention is the last block in the video parser and is responsible for finally incorporating 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.

【1176】8ビット幅であり、2線式インターフェー
スと共に使用されているパーザーステートマシーンは、
他のブロックのオペレーションを調製する仕事をする。
本質的に、それは非常に単純なステートマシーンであ
り、他のブロックに送られる非常に広範囲の「マクロコ
ード」制御ワードを作り出す。図127は指令ワードが
ブロックからブロックへとデータの側を通過する。これ
が実情であり、異なるブロック間の伝送が2線式インタ
ーフェースによって制御されることを理解することが重
要である。
The parser state machine, which is 8 bits wide and is used with a two-wire interface,
Do the job of coordinating the operation of the other blocks.
In essence, it is a very simple state machine, creating a very wide range of "macrocode" control words that are sent to other blocks. FIG. 127 shows that the command word passes on the data side from block to block. It is important to understand that this is the case and that transmission between different blocks is controlled by a two-wire interface.

【1177】本発明では、ビデオパーザー内の各ブロッ
ク間に2線式インターフェースがある。更に、ハフマン
デコーダはシリアル、データと共に、また制御トークン
と共に作動し、インシフタは一度に1ビットずつデータ
を入力する。従って、2つのモードのオペレーションが
ある。データがデータトークンを介してハフマンデコー
ダに入力されると、そのデータは一度に1ビットずつシ
フタを通過する。更に、インシフタとハフマンデコーダ
の間に2線式インターフェースがある。しかしながら、
他のトークンは一度に(シリアルに)1ビットの形態で
シフトされず、むしろトークンのヘッダにおいてシフト
される。データトークンが入力されると、アドレス情報
を含むヘッダが削除され、そのアドレスの次のデータが
一度に1ビットでシフトされる。データトークンではな
い場合、全トークン、ヘッダ及び全てのものが一度に全
てハフマンデコーダに表示される。
In the present invention, there is a two-wire interface between each block in the video parser. Further, the Huffman decoder operates with serial, data, and control tokens, and the inshifter inputs data one bit at a time. Thus, there are two modes of operation. When data is input to the Huffman decoder via a 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 one bit at a time (serial), but rather in the header of the token. When the data token is input, the header including the address information is deleted, and the data next to the address is shifted one bit at a time. If it is not a data token, all tokens, headers and everything are displayed all at once at the Huffman decoder.

【1178】本発明では、ビデオパーザー用の2線式イ
ンターフェースは2つの有効なラインを持つ点で異例の
ことであることを理解することが重要である。1つのラ
インはシリアル式に有効で、他方のラインはトークン式
に有効である。更に、両ライントークンが同時に断定す
ることはできないかもしれない。片方のラインが断定さ
れるか、あるいは有効なデータが存在しなければ、2つ
の有効ラインがあってもどちらも断定できないこともあ
り、他の方向には1つだけのアクセプトワイヤがあるこ
とを認識すべきである。しかしながら、これは問題とは
ならない。ハフマンデコーダは現在のシンタックスに基
づいて次に為されるべき必要に応じて、シリアルデータ
もしくはトークン情報のいずれを望んでいるかを知るこ
とができる。従って、有効なアクセプト信号がそれに応
じて設定され、Acceptがハフマンデコーダからイ
ンシフタに送られる。適切なデータもしくはトークンが
存在すれば、インシフタは有効な信号を送る。例えば、
典型的な指令はハフマンコードを解読し、それをデータ
ユニットインデックス部において変換し、その結果をA
LUにおいて修正することができ、この結果がトークン
ワードに形成される。これを実施するための全ての情報
を含む1つのマイクロコード指令ワードが作られる。コ
マンドはハフマンデコーダに直接送られ、ハフマンデコ
ーダは完全な記号を解読し終えるまで、「インシフト」
ブロックからデータビットを1つずつ要求する。制御ト
ークンは並列に入力される。これが一度発生すると、解
読されたインデックスバリューは元のマイクロコードワ
ードと共にデータユニットインデックス部に送られる。
ハフマンデコーダはこのオペレーションを実行するため
に数個のサイクルを必要とし、実際、サイクル数は解読
されるデータによって決定される。データユニットイン
デックス部は次にマイクロコード指令ワードにおいて特
定された表を用いて、このバリューをマッピングする。
このバリューは元のマイクロコードワードと共に再び次
のブロック、ALUに送られる。ALUが適切なオペレ
ーションを完了する(サイクル数はやはりデータ従属で
あるかもしれない)と、ALUはトークンワードを形成
する方法を制御するマイクロコードワードと共に、トー
クンフォーマッティングブロックに適切なデータを送
る。
It is important to understand that in the present invention, a two-wire interface for a video parser is unusual in having two valid lines. One line is valid serially and the other line valid for token. Furthermore, both line tokens may not be able to assert at the same time. If one line is asserted or there is no valid data, there may be two valid lines and neither can be asserted, and there is only one accept wire in the other direction. You should be aware. However, this is not a problem. The Huffman decoder can know whether it wants serial data or token information as needed based on the current syntax, as needed. Accordingly, a valid accept signal is set accordingly and Accept is sent from the Huffman decoder to the inshifter. If the appropriate data or token is present, the inshifter sends a valid signal. For example,
A typical command decodes the Huffman code, translates it in the data unit index, and places the result in A
It can be modified in the LU and the result is formed in the token word. One microcode command word is created that contains all the information to accomplish this. Commands are sent directly to the Huffman decoder, which “inshifts” until it has decoded the complete symbol.
Request data bits one by one from the block. Control tokens are input in parallel. Once this occurs, the decrypted index value is sent to the data unit index along with the original microcodeword.
The Huffman decoder requires several cycles to perform this operation, and in fact the number of cycles is determined by the data to be decoded. The data unit index 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 has completed the appropriate operation (the number of cycles may also be data dependent), the ALU sends the appropriate data to the token formatting block, along with the microcode words that control how the token words are formed.

【1179】ALUは多数のステータスワイヤもしくは
パーザーステートマシーンに送り返される「条件コー
ド」を持つ。これはステートマシーンが条件付きジャン
プ指令を実行できるようにする。事実、全ての指令は条
件付きジャンプ指令である:選択できる条件の1つがバ
リュー”False”に配線される。この条件を選択す
ることにより、「ノージャンプ」指令を構成することが
できる。
The ALU has a "condition code" that is sent back to a number of status wires or parser state machines. 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 configured.

【1180】本発明によれば、トークンフォーマッティ
ング部は2つの入力:ALUからのデータフィールド及
び/もしくはパーザーステートマシーンから入る一定フ
ィールドを持つ。それに加えて、1つのソースからどの
程度のビットを取り、全体で8ビットのために他のソー
スからの残りのビットで満たすべきかをトークンフォー
マッティング部に告げる指令がある。例えば、HORI
ZONTAL SIZEはHORIZONTAL SI
ZEトークンとしてそれを特定する不変のアドレスであ
る8ビットフィールドを持つ。この場合、8ビットは一
定のフィールドから得られ、ALUから得られるデータ
はない。しかしながら、それがデータトークンであれ
ば、一定のフィールドから6ビットを容易に得られるで
あろうし、低い方の2ビットはALUからの色成分を示
す。従って、トークンフォーマッティング部はこの情報
を得、それを残りのシステムで使用するためにトークン
の中に置く。上記の例において、各ソースからのビット
数は単に説明目的のためであり、当業者であればいずれ
のソースからのビット数をも変更できることを認識する
であろうということに注目すべきである。
According to the present invention, the token formatting unit 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 command telling the token formatting unit how many bits to take from one source and to 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 unchanging address that identifies it as a ZE token. In this case, 8 bits are obtained from certain fields and no data is obtained from the ALU. However, if it were a data token, six bits from a given field would be readily available, with the lower two bits indicating the color component from the ALU. Therefore, the token formatting unit obtains this information and places it in the token for use in the rest of the system. It should be noted that in the above example, the number of bits from each source is for illustrative purposes only and those skilled in the art will recognize that the number of bits from any source can be varied. .

【1181】ALUはピクチャの構造を通してカウント
するために使用されるカウンタバンクを含む。ピクチャ
のディメンションは、レジスタバンクの一部として「マ
イクロプログラマ」に現れるカウンタと連合するレジス
タにプログラムされる。幾つかの条件コードはこのカウ
ンタバンクから出力され、それは「ピクチャ・スター
ト」、「マクロブロック・スタート」等に基づく条件付
きジャンプを可能にする。
The ALU contains a counter bank used to count through the structure of the picture. The dimensions of the picture are programmed into registers associated with counters that appear in 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.

【1182】注意すべきことは、パーザーステートマシ
ーンも「デマルチプレックスステートマシーン」と称さ
れることである。両用語が本文書において使用される。
It should be noted that the parser state machine is also called "demultiplex state machine". Both terms are used in this document.

【1183】入力シフタ 本発明では、入力シフタは2つのパイプラインステージ
データパス“hfidp”と制御Zcells“hf
i”で構成される非常に単純な回路である。
In the present invention, the input shifter is composed of two pipeline stage data paths “hfidp” and control Zcells “hfp”.
This is a very simple circuit composed of i ″.

【1184】第1のパイプラインステージでは、トーク
ンデコーディングが起こる。このステージにおいて、デ
ータトークンだけが認識される。データトークンに含ま
れるデータは一度に1ビットだけハフマンデコーダにシ
フトされる。第2のパイプラインステージはシフトレジ
スタである。データトークンのラストワードにおいて、
符号化データバッファを通して任意のビット数を伝達す
ることができるように、特別なコーディングが発生す
る。ラストデータワードにおいて可能な全てのパターン
を以下に記す。
In the first pipeline stage, token decoding occurs. At this stage, only the data token is recognized. The data contained in the data token is shifted one bit at a time to 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 transmitted through the encoded data buffer. All possible patterns in the last data word are described below.

【1185】[1185]

【表174】 シフトレジスタにおいてデータビットが左に1つずつシ
フトされるにつれて、ビットパターン「0に続く全ての
数」が探される(パディング)。これはシフトレジスタ
における残りのビットが有効ではなく、捨てられること
を示す。この動作はデータトークンのラストワードにお
いてのみ発生することに注目。
[Table 174] As the data bits are shifted left one 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 are discarded. Note that this operation occurs only in the last word of the data token.

【1186】前述したように、他の全てのトークンはハ
フマンデコーダに並列で送られる。それらは第2のパイ
プラインステージにもロードされるが、シフトは発生し
ない。データヘッダは捨てられ、ハフマンには全く送ら
れないことに注目。2つの「有効な」ワイヤ(out
valid及びserial valid)が提供され
る。1つだけが所定の時間に断定され、それはどのタイ
プのデータがその瞬間に表示されるかを指示する。
As mentioned above, all other tokens are sent to the Huffman decoder in parallel. They are also loaded into the second pipeline stage, but no shift occurs. Note that the data header is discarded and not sent to Huffman at all. Two "live" wires (out
valid and serial valid) are provided. Only one is asserted at a given time, which indicates what type of data is displayed at that moment.

【1187】B.2.2 「ハフマンデコーダ」 ハフマンデコーダは多数のオペレーションモードを持
つ。最も顕著なものはそれがハフマンコードを解読し、
それらをハフマンインデックス数に換えることである。
それに加えて、ハフマンデコーダは指令ワードにより決
定される長さの固定長コードを(ビットに)解読するこ
とができる。ハフマンデコーダは更にインシフトブロッ
クからのトークンを受け取ることができる。
[1187] B. 2.2 “Huffman Decoder” The Huffman decoder has a number of operation modes. The most notable is that it deciphers the Huffman code,
The idea is to convert them to Huffman index numbers.
In addition, the Huffman decoder is capable of decoding (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.

【1188】ハフマンデコーダは非常に小さなステート
マシーンである。これはブロックレベルの情報を解読す
る時に使用される。これはパーザーステートマシーンが
決定をするのに長くかかりすぎるからである(なぜな
ら、それはデータに関する決定をし、新しいコマンドを
出す前に、データユニットインデックス部とALUを通
ってデータが流れるのを待たなければならないからであ
る)。このステートマシーンが使用される場合、ハフマ
ンデコーダ自体がデータユニットインデックス部とAL
Uにコマンドを発する。ハフマンデコーダステートマシ
ーンはマイクロコード指令ビットの全てを制御すること
ができないので、他のブロックに全範囲のコマンドを発
することができない。
The Huffman decoder is a very small state machine. This is used when decoding block level information. This is because the parser state machine takes too long to make a decision (because it has to make decisions about the data and wait for the data to flow through the data unit index and the ALU before issuing a new command). Because it must be). When this state machine is used, the Huffman decoder itself includes the data unit index portion and the AL unit.
Issue a command to U. Since the Huffman Decoder State Machine cannot control all of the microcode command bits, it cannot issue a full range of commands to other blocks.

【1189】B.2.2.1 「オペレーションの理
論」 ハフマンコードを解読する時、本発明のハフマンデコー
ダは入力コードをハフマンインデックス数に解読するた
めに、演算手順を使用する。この数は(N個のエントリ
を持つコード表に対して)0〜N−1の間である。ビッ
トは入力シフタから1つずつ受け取られる。
[1189] B. 2.2.1 "Theory of Operation" When decoding a Huffman code, the Huffman decoder of the present invention uses an arithmetic procedure to decode an input code into a Huffman index number. This number is between 0 and N-1 (for a code table with N entries). Bits are received one by one from the input shifter.

【1190】マシーンのオペレーションを制御するため
に、多くのテーブルが必要である。これらはコード(1
〜16ビット)において可能な各ビット数のために、そ
の長さのコードがどれ程あるかを明記する。予期される
ように、この情報は典型的に一般的なハフマンコードを
明記するために充分ではない。しかしながら、MPE
G、H.261及びJPEGにおいて、ハフマンコード
はこの情報だけでハフマンコード表を明記することがで
きるように選択される。これには不運なことに1つだけ
例外がある:MPEGにおいても使用されるH.261
からのTcoefficientテーブルである。これ
は他の場所で説明される付加的なテーブルを必要とする
(例外はスタートコードエミュレーションを避けるため
にH.261に計画的に導入された)。
A number of tables are required to control the operation of the machine. These are the codes (1
For each possible number of bits (.about.16 bits), specify how many codes are of that length. As expected, this information is typically not enough to specify a common Huffman code. However, MPE
G, H. In H.261 and JPEG, the Huffman code is selected such that this information alone can specify the Huffman code table. Unfortunately, there is one exception: H.264, which is also used in MPEG. 261
9 is a Tcoefficient table from. This requires additional tables described elsewhere (exceptions were intentionally introduced in H.261 to avoid start code emulation).

【1191】このハフマンデコーダが使用するテーブル
はJPEGに伝達されるものと正確に同一であることを
認識することが重要である。これはハフマンデコーダの
他のデザインが伝達されたものから内部テーブルの作成
を要求したかもしれない一方で、これらのテーブルが直
接使用されることを可能にする。これは変換のために追
加記憶装置及び追加プロセシングを要求したであろう。
MPEG及びH.261のテーブルは(上述の例外はあ
るが)同じように説明でき、マルチスタンダードデコー
ダは実用的になる。
It is important to recognize that the tables used by this Huffman decoder are exactly the same as those transmitted to JPEG. This allows these tables to be used directly, while other designs of the Huffman decoder may have required the creation of internal tables from those transmitted. This would have required additional storage and additional processing for the conversion.
MPEG and H.264. The table at H.261 can be described similarly (with the exceptions mentioned above), making a multi-standard decoder practical.

【1192】以下の”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 describes the decoding process: int total = 0; int s = 0; int bit = 0; unsigned long code = 0; int index = 0; while (index> = total) I if (bit> = max bits) fall (“huff decode: ran off end of huff table\n”); code = (code << 1) Index bit0; index = code-s + total; S = (s + codes per bit [bit]) <<1; bit ++;} Generally, 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.

【1193】コードフラグメントから解ることは: EQ1. totaln+1=total+cpb
EQ2. ’sn+1=2(’S+cpb) EQ3. coden+1=2code+bit EQ4. indexn+1=2code+bit
+total−’s しかしながら、 ハードウェアでは、「シフト済み」変数
が変数“S”の代わりに使用される一連の修正された式
を使用することがより簡単であることが解った。この場
合: EQ5. shiftedn+1=2shifted
+cpb 次のことが解る: EQ6. i=2Shifted 従って、これを式4に再び置き換えると、次の式が作ら
れる: EQ7. indexn+1=2(code−sh
ifted)+total+bit 「インデックス」の連続する値を計算することに加え
て、計算がいつ完了するかを知ることが必要である。”
C”コードフラグメントから: EQ8. indexn+1<totaln+1 の時に完了することが解る。
From the code fragment: EQ1. totaln + 1= Totaln+ Cpb
n  EQ2. ’Sn + 1= 2 ('Sn+ Cpbn) EQ3. coden + 1= 2 coden+ Bitn  EQ4. indexn + 1= 2 coden+ Bit
n+ Totaln-'Sn However, In hardware, the "shifted" variable
Is a series of modified expressions where is used in place of the variable "S"
Turned out to be easier to use. This place
If: EQ5. shiftedn + 1= 2shifted
n+ Cpbn  We see the following: EQ6. in= 2 Shiftedn  Therefore, replacing this with Equation 4 again gives the following equation:
Yes: EQ7. indexn + 1= 2 (coden-Sh
iftedn) + Totaln+ Bitn  In addition to calculating successive values of the "index",
Need to know when the calculation is complete. "
From the C "code fragment: EQ8.indexn + 1<Totaln + 1  It turns out that it is completed at the time.

【1194】式7と式1から置き換えると、 EQ9. 2(coden−shiftedn)+bit
n−cpbn<0 の時に完了することが解る。
[1194] By replacing Equations 7 and 1, EQ9. 2 (code n −shifted n ) + bit
It can be seen that the process is completed when n− cpb n <0.

【1195】本発明のハードウェア実装において、E
Q.7及びEQ.9における共通の用語、(coden
−shiftedn)は、これらの式の残りが評価され
て最終結果、及び計算が「完了した」という情報を出す
1フェイズ前に計算される。
In the hardware implementation of the present invention,
Q. 7 and EQ. 9, a common term (code n
−shifted n ) is calculated one phase before the rest of these expressions are evaluated to give the final result and information that the calculation is “completed”.

【1196】警告ワードを1つ。様々な“C”コード、
特に行動編集済みコードハフマンデコーダ、及びsm4
codeプロジェクトにおいて、“C”フラグメントは
ほぼ直接的に使用されるが、変数“S”は実際上「シフ
ト済み」と称される。このように、「シフト済み」と呼
ばれる2つの異なる変数がある。“C”コードの1つ
と、ハードウェア実装における他の1つである。これら
2つの変数は2つの要因により異なる。
[1196] One warning word. Various "C" codes,
Especially behavior edited code Huffman decoder, and sm4
In the code project, the "C" fragment is used almost directly, but the variable "S" is effectively called "shifted". Thus, there are two different variables called "shifted". One of the "C" codes and the other one in the hardware implementation. These two variables depend on two factors.

【1197】B.2.2.1.1 「データビットの反
転」 ハフマンコードを正しく解読するために必要な情報がも
う1つある。これは符号化データの極性である。H.2
61とJPEGは反対の規定を使用することが解る。こ
れはH.261のスタートコードはゼロビットであるの
に対し、JPEGのマーカーバイトは1ビットであると
いう事実から生じる。
[1197] B. 2.2.1.1 Data Bit Inversion There is another piece of information needed to correctly decode the Huffman code. This is the polarity of the encoded data. H. 2
It can be seen that 61 and JPEG use the opposite convention. This is H. The start code of 261 is zero bits, whereas the JPEG marker byte is one bit.

【1198】両規定を処理するために、符号化データが
H.261スタイルのハフマンコードを解読するため
に、ハフマンデコーダの中に読み込まれる時に、符号化
データビットを反転させることが必要である。これは
他的ORゲートを用いる明白な方法で行われる。固定長
コードを解読する時、データは反転されないので、反転
はハフマンコードのためにのみ行われることに注目。
In order to process both rules, the encoded data is H.264. To decode a Huffman code in the H.261 style, it is necessary to invert the encoded data bits as they are read into the Huffman decoder. This is waste
It performed in the obvious way of using the other OR gate. Note that when decoding a fixed length code, the inversion is performed only for the Huffman code, since the data is not inverted.

【1199】MPEGは2つの規定の混合物を使用す
る。H.261から引き継がれる局面では、H.261
規定が使用される。JPEG(DCイントラ係数のデコ
ーディング)から引き継がれる局面では、JPEG規定
が使用される。
MPEG uses a defined mixture of the two. H. In the phase inherited from H.261, 261
Provisions are used. In aspects inherited from JPEG (DC intra coefficient decoding), JPEG rules are used.

【1200】B.2.2.1.2 「変換係数表」 H.261及びMPEGにおける変換係数表を使用する
時、幾つかの変則がある。第1に、MPEGテーブルは
H.261テーブルのスーパーセットである。本発明の
ハードウェア実装において、2つのスタンダード間に引
かれる区別はなく、これはテーブル(つまりMPEGコ
ード)の拡張部分からのコードを含むH.261ストリ
ームが「正しい」方法で解読されるであろうということ
を意味する。もちろん、圧縮スタンダードの他の局面も
同様に解読される。例えば、これらの拡張コードはH.
261におけるスタートコードエミュレーションを生じ
させるであろう。
B. 1200. 2.2.1.2 "Conversion coefficient table" There are some anomalies when using the transform coefficient tables in H.261 and MPEG. First, the MPEG table is H.264. This 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 code that includes code from an extension of the table (ie, the MPEG code). Means that the H.261 stream will be decrypted in a "correct" manner. Of course, other aspects of the compression standard are similarly deciphered . For example, these extension codes are
261 will cause a start code emulation.

【1201】第2に、変換係数表はcode per
bitテーブルを用いる通常の方法では説明できないこ
とを意味する変則を持つ。この変則は6ビット長のコー
ドで発生する。これらのコードワードは交替コードワー
ドで系統的に置き換えられる。エンコーダにおいては、
正しい結果が第1のエンコーディングによって通常の方
法で得られる。次に、6ビットまたはそれ以上の長さの
全てのコードのために、簡単なテーブルルックアップオ
ペレーションにより、最初の6ビットが別の6ビットで
置き換えられる。本発明によるデコーダでは、デコーデ
ィングプロセスは6番目のビットが解読される直前に割
り込まれ、コードワードはテーブルルックアップを用い
て置き換えられ、デコーディングが続けられる。
[1201] Second, the conversion coefficient table is code per
It has an anomaly meaning that it cannot be explained by a normal method using a bit table. This anomaly occurs with a 6-bit code. These codewords are systematically replaced by replacement codewords. In the encoder,
The correct result is obtained in the usual way by the first encoding. Then, for all codes 6 bits or more in length, 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 decoding continues.

【1202】この場合、10の可能な6ビットコードが
あるだけであり、従って必要なルックアップテーブルは
非常に小さい。更に、オペレーションはコードの上位2
ビットがオペレーションによって変更されないという事
実によって助けられる。その結果、真のルックアップテ
ーブルを使用する必要がなくなる。その代わりに、小さ
なゲート集団が配線され、適切な変換が行われる。これ
を行うモジュールは”hftcfrng”と呼ばれる。
可能性のあるコードセットからの各コードがそのセット
からの別のコードで置き換えられる(新コードが導入さ
れない、あるいは旧コードが省略される)ので、このタ
イプのコード置換は本文では「リング」と規定される。
In this case, there are only 10 possible 6-bit codes, so the lookup table required is very small. In addition, the operations are the top two
Helped by the fact that the bits are not changed by the operation. As a result, there is no need to use a true lookup table. Instead, a small group of gates is routed and the appropriate conversion is performed. The module that does this is called "hftcfrng".
This type of code replacement is referred to in the text as a "ring" because each code from the possible code set is replaced by another code from that set (no new code is introduced or old code is omitted). Stipulated.

【1203】更に、ブロック内の最初の係数のために独
特な実装が行われる。この場合、ブロック・エンドコー
ドが発生することは不可能であり、従って、最も一般的
に発生する記号が、そうでなければブロック・エンドと
して解釈されるであろうコードを使用できるように、テ
ーブルが修正される。これにより1ビットを節約でき
る。本発明によるデコーディング用の構成で、これは容
易に収容される。簡単に言えば、「インデックス」がバ
リューゼロであれば、第1係数の第1ビットのために、
デコーディングは終了したとみなされる。更に、1ビッ
トだけを解読後は、「インデックス」用には2つの可能
性のあるバリュー、ゼロと1だけがあり、1ビットをテ
ストすることだけが必要である。
Further, a unique implementation is made for the first coefficient in the block. In this case, it is not possible for a block end code to occur, so that the most commonly occurring symbols can use codes that would otherwise be interpreted as block ends. Is corrected. This saves one bit. A configuration for decoding according to the invention, which is easily accommodated. Briefly, if the "index" is value zero, then for the first bit of the first coefficient,
Decoding is considered finished. Furthermore, after decrypting only one bit, there are only two possible values for the "index", zero and one, and only one bit needs to be tested.

【1204】B.2.2.1.3 「レジスタ及びアダ
ーのサイズ」 本発明のハフマンデコーダは16ビットまでのハフマン
コードを処理することができる。しかしながら、デコー
ディングマシーンは8ビット幅である。これは解読され
るハフマンインデックス数値が最大でも255であるこ
とが解っているから可能である。事実、これは拡張JP
EGにおいてのみ発生でき、現在のアプリケーションで
は、その限界は幾分低め(しかし、128より大きいの
で、7ビットでは不充分)である。
B.1204. 2.2.1.3 "Register and Adder Size" The Huffman decoder of the present invention can process Huffman codes up to 16 bits. However, decoding machines are 8 bits wide. This is possible because we know that the Huffman index value to be decoded 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 greater than 128 so 7 bits is not enough).

【1205】全ての合法的ハフマンコードに対して、
「インデックス」の最終値だけでなく、全ての中間値も
0〜255の範囲にあることが解る。しかしながら非合
法的コード、つまり(おそらくデータ誤差のため)現在
のコード表にはないコードを解読しようとする企てに対
しては、インデックス値は255を越えることがある。
我々は8ビットマシーンを使用しているので、デコーデ
ィング・エンドで、「インデックス」の最終値が255
を越えない。なぜなら、誤差が発生したことを我々に告
げるより重要なビットが捨てられているからである。こ
のため、デコーディング中のインデックス値が255を
越える(つまり、インデックスを形成するアダーからの
キャリー)時にはいつでも、誤差が発生し、デコーディ
ングが放棄される。
[1205] 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 of 0 to 255. However, for attempts to decode illegal codes, i.e. codes that are not in the current code table (possibly due to data errors), the index value can exceed 255.
Since we are using an 8-bit machine, at the decoding end, the final value of the "index" is 255
Not exceed. The more important bits that tell us that an error has occurred have been discarded. Thus, whenever the index value during decoding exceeds 255 (ie, a carry from the adder forming the index), an error occurs and decoding is abandoned.

【1206】「コード」の12ビットが保護される。3
ビットレジスタで充分であるハフマンコードを解読する
ためには、これは必要ではない。これらの上位ビットは
12ビットまで読み出すことができる固定長コードのた
めに必要である。
[1206] The 12 bits of the "code" are protected. 3
This is not necessary for decoding Huffman codes where a bit register is sufficient. These upper bits are needed for a fixed length code that can read up to 12 bits.

【1207】B.2.2.1.4 「固定長コード用の
オペレーション」 固定長コードのために、「ビット毎のコード」バリュー
がゼロになるように強いられる。これはオペレーション
を通して「全体の」と「シフト済み」がゼロのままであ
り、従って、「インデックス」はコードと同じである。
事実、アダー等は8ビットバリューだけが「インデック
ス」のために作られるようにする。このため、固定長コ
ードを解読する時に、出力ワードの上位ビットは「コー
ド」レジスタから直接取られる。ハフマンコードを解読
する時、これら上位ビットはゼロになるように強いられ
る。
[1207] B. 2.2.1.4 "Operation for Fixed Length Codes" For fixed length codes, the "code per bit" value is forced 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 et al. Ensure that only 8-bit values are 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 the Huffman code, these upper bits are forced to be zero.

【1208】充分なビットが入力から読み出されたとい
う事実は明白な方法で計算される。コンパレータは所望
のビット数を「ビット」カウンタと比較する。
The fact that enough bits have been read from the input is calculated in an obvious way. The comparator compares the desired number of bits to a "bit" counter.

【1209】B.2.2.2 「デコーディング係数デ
ータ」 本発明によるパーザーステートマシーンは一般にかなり
高レベルのデコーディングのためにのみ使用される。8
ビットずつのデータブロック内の非常に低レベルのデコ
ーディングは、直接にはこのステートマシーンによって
処理されない。パーザーステートマシーンは「ブロック
を解読する」形態のハフマンデコーダにコマンドを出
す。ハフマンデコーダ、データユニットインデックス
部、及びALUは(基本的にハフマンデコーダ内にあ
る)専用ステートマシーンの制御下に、共に作動する。
この配置はエントロピーコード化係数データの高性能の
デコーディングを可能にする。更に本オペレーションモ
ードにおいて操作される他のフィードバックパスがあ
る。例えば、SIZE及びRUN情報を提供するために
VLCが解読されるJPEGデコーディングにおいて
は、SIZE情報はデータユニットインデックス部の出
力から直接ハフマンデコーダに送り返され、どれほど多
くのFLCビットを読むべきかをハフマンデコーダに指
示する。それに加えて、幾つかの加速装置が実装され
る。例えば、同じ例を用いて、データインデックスステ
ージの前にハフマンインデックスバリューを考察するこ
とにより、ゼロのSIZEを生じる全てのVLCバリュ
ーが明白に捕獲される。これは非ゼロSIZEバリュー
の場合、ハフマンデコーダが実際のSIZEバリューが
解る前に、1つのFLCビットを読むために進むことが
できることを意味する。これは最初のFLCビットの読
出しがデータユニットインデックス部においてテーブル
ルックアップを遂行するために必要な1つのクロックサ
イクルに重なるので、如何なるクロックサイクルも浪費
されないことを意味する。
[1209] B.I. 2.2.2 "Decoding coefficient data" The parser state machine according to the invention is generally only used for fairly high levels of decoding. 8
Very low level decoding in bit-by-bit data blocks is not directly handled by this state machine. The parser state machine issues commands to the Huffman decoder in a "decrypt block" form. The Huffman decoder, data unit index, and ALU work together under the control of a dedicated state machine (essentially in the Huffman decoder).
This arrangement allows for high performance decoding of entropy coded coefficient data. There are also other feedback paths operated in this operation mode. For example, in JPEG decoding where the VLC is decoded to provide SIZE and RUN information, the SIZE information is sent back to the Huffman decoder directly from the output of the data unit index to determine how many FLC bits to read. Instruct the decoder. In addition, several accelerators are implemented. For example, using the same example and considering the Huffman index value before the data index stage, all VLC values that result in a zero size are explicitly captured. This means that for non-zero SIZE values, 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 since the reading of the first FLC bit overlaps with one clock cycle required to perform a table lookup in the data unit index.

【1210】B.2.2.2.1 「MPEG及びH.
261のAC係数データ」 図133はAC係数がMPEG及びH.261において
解読される方法を示している。ハフマンデコーダのオペ
レーションを詳細に示すフローチャートが図128に示
されている。
[1210] B. 2.2.2.1 "MPEG and H.264"
FIG. 133 shows that AC coefficients are MPEG and H.264. 261 shows the decryption method. A flowchart detailing the operation of the Huffman decoder is shown in FIG.

【1211】VLCコードを読むことによりプロセスが
スタートする。通常のイベントでは、ハフマンインデッ
クスは6ビットRUN及び係数の絶対値を表すバリュー
に直接マッピングされる。その後、FLC1ビットが読
まれ、係数のサインを出す。ALUは係数の絶対値をこ
のサインビットで組み立て、係数の最終値を提供する。
[1211] 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 representing the absolute value of the coefficient. Thereafter, the FLC1 bit is read, giving the sign of the coefficient. The ALU assembles the absolute value of the coefficient with this sign bit and provides the final value of the coefficient.

【1212】この時点でのデータフォーマットはサイン
・マグニチュードであるので、このオペレーションには
ほとんど困難なことがない。RUNバリューは6ビット
の補助バスに送られる一方、係数バリュー(レベル)は
通常のデータバスに送られる。
At this point, since the data format is of the sign magnitude, there is almost no difficulty in this operation. The RUN value is sent to a 6-bit auxiliary bus, while the coefficient value (level) is sent to a normal data bus.

【1213】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 an EOB, the fact that this has occurred is passed through the data unit index section and the ALU block so that the token formatting section can properly close the opened data token.

【1214】エスケープコード化データはより複雑であ
る。最初の6ビットのRUNが読み出され、これらはデ
ータユニットインデックス部を通って直接送られ、AL
Uに記憶される。その後、FLC1ビットが読み出され
る。これはMPEG及びH.261において説明される
エスケープの8ビットの内、最も重要なビットであり、
レベルのサインを与える。ネガティブバリュー対ポジテ
ィブバリューのためにALUに異なるコマンドを送る必
要があるので、そのサインは本実装において明白に読み
出される。これはALUがビットストリーム内の2つの
補数値をサインマグニチュードに変換できるようにす
る。いずれの場合にも、残りのFLC7ビットがその後
読み出される。これがバリューゼロであれば、更に8ビ
ットを読まなければならない。
The escape coded data is more complicated. The first 6 bits of the RUN are read and these are sent directly through the data unit index and
U. Thereafter, the FLC1 bit is read. This is the case for MPEG and H.264. 261 is the most significant bit of the eight bits of the escape described in
Give a level sign. The signature is read explicitly in this implementation, because different commands need to be sent to the ALU for negative 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 7 FLC bits are subsequently read. If this is value zero, an additional 8 bits must be read.

【1215】本発明では、ハフマンデコーダの内部ステ
ートマシーンは自身の制御のため、またデータユニット
インデックス部、ALU、及びトークンフォーマッティ
ング部をも制御するためにコマンドを発生させる責任が
ある。図133に示すように、ハフマンデコーダの指令
は3つのソース;パーザーステートマシーン、ハフマン
ステートマシーン、もしくはパーザーステートマシーン
から以前に受け取ったレジスタに記憶されている指令の
1つから送られる。本質的に、(ハフマンステートマシ
ーンに制御を引き継がせ、係数を読ませる)パーザース
テートマシーンからの原始指令は、レジスタに保持され
る、つまり、新しいVLCが必要になる度に、使用され
る。デコーディングのための他の全ての指令はハフマン
ステートマシーンによって供給される。
In the present invention, the internal state machine of the Huffman decoder is responsible for generating commands for its own control and also for controlling the data unit index, ALU, and token formatting. As shown in FIG. 133, the commands for the Huffman decoder come from one of three sources; the parser state machine, the Huffman state machine, or one of the commands stored in a register previously received from the parser state machine. In essence, primitive commands from the parser state machine (which let the Huffman state machine take over control and read the coefficients) are kept in registers, that is, used each time a new VLC is needed. All other commands for decoding are supplied by the Huffman State Machine.

【1216】B.2.2.2.2 「MPEGのDC係
数データ」 これはJPEGのDC係数データと同様に処理される。
同じ(ロード可能な)テーブルが使用され、その内容が
正しいことを保証することが制御マイクロプロセッサの
責任である。MPEGスタンダードとの唯一の現実的な
差は、(JPEGの場合と同様に)プレディクタがゼロ
に設定され、その補正が逆量子化器において行われるこ
とである。
[1216] B. 2.2.2.2 "MPEG DC coefficient data" This is processed in the same way as JPEG DC coefficient data.
It is the responsibility of the controlling microprocessor to ensure that the same (loadable) table is used and that its contents are correct. The only real difference from the MPEG standard is that the predictor is set to zero (as in the case of JPEG) and the correction is made in the inverse quantizer.

【1217】B.2.2.2.3 「JPEG係数デー
タ」 図129は本発明に従い、JPEGのAC係数を解読す
るためのハードウェアを示すブロック線図である。DC
係数用のプロセスは本質的にJPEGプロセスを簡略化
したものであるので、線図はAC及びDC係数両方のた
めに作用する。MPEGのAC係数用の前の線図に現実
に加えられる唯一のことは、”SSSS”フィールドが
送り返され、読み出されるFLCビット数を指定するた
め、ハフマンデコーダコマンドの一部として使用できる
ことである。残りのコマンドはハフマンステートマシー
ンによって供給される。
[1217] B. 2.2.2.3 "JPEG Coefficient Data" FIG. 129 is a block diagram showing hardware for decoding JPEG AC coefficients according to the present invention. DC
The diagram works for both AC and DC coefficients, since the process for coefficients is essentially a simplification of the JPEG process. The only thing that really adds to the previous diagram for MPEG AC coefficients is that the "SSSS" field is sent back and can be used as part of a Huffman decoder command to specify the number of FLC bits to be read. The remaining commands are provided by the Huffman State Machine.

【1218】図130はAC及びDC係数のハフマンデ
コーディング用のフローチャートを描いている。
FIG. 130 depicts a flowchart for Huffman decoding of AC and DC coefficients.

【1219】AC係数用のプロセスをまず取り上げる
が、プロセスは適切なテーブル(2つのACテーブルが
ある)を用いて、VLCを読み出すことで開始する。ハ
フマンインデックスは次にデータユニットインデックス
部内のRUN及びSIZEバリューに変換される。2つ
のバリューはハフマンインデックスステージで捕獲され
るが、これらはEOB及びZRL用である。これらは唯
一如何なるFLCビットも読まれない2つのバリューで
ある。デコードインデックスがこれら2つのバリューの
ものではない場合、ハフマンデコーダは直ちにFLC1
ビットを読み出す一方、データユニットインデックス部
がルックアップオペレーションを完了して、実際にどの
程度のビットが必要であるかを決定するのを待つ。EO
Bの場合、ハフマンデコーダ内のハフマンステートマシ
ーンが遂行する更なるプロセシングは必要ではなく、別
のコマンドがパーザーステートマシーンから読み出され
る。ZRLの場合、如何なるFLCビットも必要ではな
いが、ブロックは完了されない。この場合、ハフマンデ
コーダは(以前と同じテーブルを用いて)更なるVLC
の解読を直ちに開始する。
The process for AC coefficients is first addressed, but the process starts by reading the VLC using the appropriate table (there are two AC tables). The Huffman index is then converted to a RUN and SIZE value in the data unit index. Two values are captured at the Huffman index stage, but for EOB and ZRL. These are the only two values that do not read any FLC bits. If the decode index is not for these two values, the Huffman decoder immediately returns FLC1
While reading the bits, wait for the data unit index to complete the lookup operation and determine how many bits are actually needed. EO
In case B, no further processing is required 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 uses (using the same table as before) a further VLC
Start decrypting immediately.

【1220】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 is downloadable (unlike H.261 and MPEG). Two JPEG A
Two registers are provided for each of the C tables (one for ZRL and one for EOB). These are loaded when the table is downloaded. They hold index values associated with the appropriate symbol.

【1221】ALUはSIZEビットのFLCコードを
適切なサイン・マグニチュードバリューに変換しなけれ
ばならない。これらはテーブルがダウンロードされる時
にロードされる。それらは適切な記号と連合するインデ
ックスバリューを保持する。ALUはSIZEビットの
FLCコードを適切なサイン・マグニチュードバリュー
に変換しなければならない。これはまず間違ったサイン
でそのバリューをサイン拡張することにより行われる。
サインビットが新たに設定されると、次に残りのビット
が逆にされる(1の補数)。
The ALU must convert the SIZE bit FLC code to the appropriate sign magnitude value. These are loaded when the table is downloaded. They hold index values 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, the remaining bits are then inverted (one's complement).

【1222】DC係数の場合、ZRLフィールドの等価
物はないので、ハフマンデコーディングステージにおけ
る意志決定の方が幾分容易である。ゼロのFLCビット
が読まれるようにする唯一の記号はゼロのDC差を示す
ものである。これは再びハフマンインデックスステージ
において捕獲され、(ダウンロード可能な)JPEGの
各DCテーブル用にこのインデックスを保持するため、
レジスタが提供される。
In the case of DC coefficients, there is no equivalent in the ZRL field, so decision making in the Huffman decoding stage is somewhat easier. The only symbol that causes a zero FLC bit to be read is an indication of a zero DC difference. This is again captured in the Huffman index stage, to hold this index for each (downloadable) JPEG DC table,
A register is provided.

【1223】本発明のALUは(予測として知られる)
最後のDC係数値のコピーを保持することにより、最終
的な解読済みDC係数を形成するという仕事をする。4
つの活性色成分の各々のために1つずつ、計4個のプレ
ディクタが必要である。DC差が解読されると、ALU
は適切なプレディクタを加えて、解読された値を形成す
る。これはやはりその色成分の次のDC差のためのプレ
ディクタとして記憶される。DC係数は(DCオフセッ
トのため)サインされるので、2補数からサイン・マグ
ニチュードへの変換が必要である。その後、そのバリュ
ーはゼロのRUNと共に出力される。事実、このラスト
ステージの一部を遂行せよという指令はハフマンステー
トマシーンによって供給されない。それらは単にパーザ
ーステートマシーンによって実行される。
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. 4
Four predictors are required, one for each of the active color components. When the DC difference is decoded, ALU
Adds the appropriate predictor to form the decoded value. This is also stored as a predictor for the next DC difference for that color component. Since the DC coefficients are signed (due to the DC offset), a conversion from 2's complement to sine magnitude is required. Thereafter, the value is output with a RUN of zero. In fact, the command to perform part of this last stage is not provided by the Huffman state machine. They are simply performed by the parser state machine.

【1224】AC係数に対する同様の方法において、A
LUはまずFLCのSIZEビットからDC差を生成し
なければならない。しかしながら、この場合、2つの補
数値がプレディクタに加算されることが求められる。こ
れは前述のように、まず間違ったサインでサイン拡張す
ることにより形成される。その結果が負であれば、正し
い値を形成するために1を加算しなければならない。も
ちろん、これはアダーの中にキャリーを詰め込むことに
よりプレディクタと同時に加算され得る。
In a similar way for the AC coefficients, A
The LU must first generate a DC difference from the SIZE bits of the FLC. However, this requires that the two complement values be added to the predictor. This is formed by first sign-expanding with the wrong sign, as described above. If the result is negative, one must be added to form the correct value. Of course, this can be added simultaneously with the predictor by stuffing the carry into the adder.

【1225】B.2.2.3 「誤差処理」 誤差処理については説明する価値がある。検出される誤
差には実際上4つのソースがある: ・テーブル・エンドから外れる。
[1225] B. 2.2.3 “Error processing” Error processing is worth explaining. There are actually four sources of error to be detected: Off the table end.

【1226】・トークンが期待される時に、シリアルで
ある。
When a token is expected, it is serial.

【1227】・シリアルが期待される時に、トークンで
ある。
The token is when the serial is expected.

【1228】・ブロック内に多くの係数がありすぎる。There are too many coefficients in the block.

【1229】これらの内最初のものは2つの状況におい
て発生する。ビットカウンタが16に達する(合法的バ
リューは0〜15である)場合、最長の合法的ハフマン
コードが16ビットであるので、誤差が発生する。「イ
ンデックス」の中間値が255を越える場合、セクショ
ンB.2.2.1.3において説明したように、誤差が
発生する。
The first of these occurs in two situations. When the bit counter reaches 16 (legal value is 0 to 15), an error occurs because the longest legal Huffman code is 16 bits. If the intermediate value of the “index” exceeds 255, the section B. As described in 2.2.1.3, an error occurs.

【1230】第2のものはトークンが期待されるのにシ
リアルデータに遭遇する時に発生する。第3のものは反
対の状態が生じる時に発生する。
The second occurs when serial data is encountered when a token is expected. The third occurs when the opposite situation occurs.

【1231】最後のタイプの誤差は、ブロックにあまり
に多くの係数がある場合に発生する。これは実際にはデ
ータユニットインデックス部において検出される。
The last type of error occurs when a block has too many coefficients. This is actually detected in the data unit index part.

【1232】これらの状態のいずれかが発生すると、誤
差はハフマン誤差レジスタにおいて注目され、パーザー
ステートマシーンが割り込まれる。誤差を処理し、回復
のために必要なコマンドを発することがパーザーステー
トマシーンの責任である。
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 errors and issue the necessary commands for recovery.

【1233】正しいオペレーションを保証するための割
り込み時に、ハフマンはパーザーステートマシーンと協
動する。ハフマンデコーダがパーザーステートマシーン
に割り込むと、新しいコマンドがパーザーステートマシ
ーンの出力においてアクセプトされるのを待つことがで
きる。ハフマンデコーダはパーザーステートマシーンに
割り込んだ後、2つの全サイクルのためにこのコマンド
をアクセプトしないであろう。これにより、パーザース
テートマシーンは(今は実行されるべきではない)そこ
にあるコマンドを取り除き、適切なものと置き換えるこ
とができる。これら2つのサイクルの後、ハフマンデコ
ーダはは通常のオペレーションを再び開始し、有効なコ
マンドがそこにあればそのコマンドを受け入れる。そう
でなければ、パーザーステートマシーンが有効なコマン
ドを示すまで何もしないであろう。
Huffman cooperates with the parser state machine upon interruption to ensure correct operation. When the Huffman decoder interrupts the parser state machine, it can wait for a new command to be accepted at the output of the parser state machine. The Huffman Decoder will not accept this command for two full cycles after interrupting 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 restarts normal operation and accepts a valid command, if any. Otherwise, it will do nothing until the parser state machine shows a valid command.

【1234】これらの誤差のいずれかが発生すれば、
「ハフマン誤差」イベントビットが設定され、マスクビ
ットが設定されれば、ブロックは停止し、制御マイクロ
プロセッサは通常の方法で割り込まれるであろう。
[1234] 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 usual way.

【1235】ある状況では、誤差のように見えるものが
実際には誤差ではないことがある。このようなことが発
生する最も重要な状況は、マクロブロックアドレスを読
んでいる時である。MPEG、H.261及びJPEG
のシンタックスにおいて、期待されるマクロブロックア
ドレスの代わりにトークンが発生するのは合法的であ
る。合法的方法でこうしたことが発生すれば、ハフマン
誤差レジスタにゼロがロードされる(誤差が無いことを
意味する)が、パーザーステートマシーンはまだ割り込
まれたままである。パーザーステートマシーンのコード
はこのno errorの状況を認識し、それに従って
応答する。この場合、「ハフマン誤差」イベントビット
は設定されず、ブロックはプロセシングを停止しないで
あろう。
In some situations, what looks like an error may not actually be an error. The most important situation where this occurs is when reading a macroblock address. MPEG, H .; 261 and JPEG
In the syntax of, it is legal for a token to occur instead of the expected macroblock address. If this happens in a legal way, the Huffman error register is loaded with zero (meaning no error), but the parser state machine is still interrupted. The parser state machine code is aware of this no error situation and responds accordingly. In this case, the "Huffman Error" event bit will not be set and the block will not stop processing.

【1236】いろんな状況を処理しなければならない。
まず、トークンは直ちに発生し、シリアルビットは前進
しない。この場合、「シリアルが期待される時のトーク
ン誤差」が発生したであろうが、その代わりに、no
error誤差が前述したような方法で発生する。
[1236] Various situations must be dealt with.
First, the token occurs immediately and the serial bit does not advance. In this case, a "token error when serial is expected" would have occurred, but instead, no
Error errors occur in the manner described above.

【1237】第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 bits before the token had the value 1,
(Recall that in H.261 and MPEG, the coded data is inverted, so remember that the coded data file has zero bits.) No error occurs. However, if any of them are zero, they are not valid stuffing bits and thus an error will occur and a "token if serial is expected" error.

【1238】第3に、トークンの前には多くのビットが
ある。この場合、同じ決定が為される。全ての16ビッ
トが1であれば、それらはパディングビットとして処理
され、no error誤差が発生する。それらの内の
いずれかがゼロであった場合、「ハフマンテーブルを外
れる」誤差が発生する。
Third, there are many bits before the token. In this case, the same decision is made. If all 16 bits are 1, they are treated as padding bits and a no error error occurs. If any of them is zero, an error "off the Huffman table" occurs.

【1239】トークンが予期されずに発生する別の場所
はJPEGである。ハフマンテーブルもしくは量子化器
テーブルのいずれかを処理する場合、如何なる数のテー
ブルも同じマーカーセグメントの中に発生することがで
きる。ハフマンデコーダはいくつのテーブルがあるのか
を知ることができない。このため、各テーブルが完了し
た後、ハフマンデコーダは別のFLC4ビットを読み出
し、それを新しいテーブルナンバーであると仮定する。
しかしながら、新しいマーカーセグメントがスタートす
ると、4ビットFLCの代わりにトークンに遭遇するで
あろう。この要件は予測されず、従ってIgnore
Errorsコマンドビットが加えられた。
Another place where tokens occur unexpectedly is in 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 tell how many tables there are. Thus, after each table is completed, the Huffman decoder reads another 4 bits of FLC and assumes that it is the new table number.
However, when a new marker segment starts, a token will be encountered instead of a 4-bit FLC. This requirement is not anticipated, and therefore Ignore
An Errors command bit has been added.

【1240】B.2.2.4 「ハフマンコマンド」 ハフマンデコーダブロック及びそれらの定義を制御する
ため、パーザーステートマシーンが使用するビットをこ
こに示す。データユニットインデックス部コマンドビッ
トもこのテーブルに含まれる。マイクロプログラマの視
点から、ハフマンデコーダ及びデータユニットインデッ
クス部は1つの凝縮した論理ブロックとして作用する。
1240. 2.2.4 Huffman Commands Here are the bits used by the parser state machine to control the Huffman decoder blocks and their definitions. The data unit index part command bit is also included in this table. From a microprogrammer's point of view, the Huffman decoder and the data unit index act as one compact logic block.

【1241】[1241]

【表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, Special and VLC are all zero. Bypass is set so that data index conversion does not occur.

【1242】テーブル[3:0]の二進数は如何に多く
のビットを読むべきかを指示する。ナンバー0〜12は
合法的である。バリューゼロは(期待されたであろうよ
うに)実際にゼロビットを読み、従ってこの指令はハフ
マンデコーダNOP指令である。バリュー13、14、
15は作動せず、バリュー15はハフマンステートマシ
ーンが制御下にあり、読まれるべきFLCのビット数と
して”SSSS”の使用を表示する時に使用される。
The binary numbers in table [3: 0] indicate how many bits to 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,
15 is inactive and 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.

【1243】B.2.2.4.2 「VLC読出し」 このモードでは、Ignore Errors、Dow
nload、Alutab、Token、First
Coeff、and Specialがゼロであり、V
LCは1である。通常、Bypassはデータインデッ
クス変換が発生するように設定される。
B.1124 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.

【1244】このモードでは、Token、First
Coefficient、及びSpecialは全て
ゼロであり、VLCは1である。
In this mode, Token, First
Coefficient and Special are all zero and VLC is one.

【1245】テーブル[3:0]の二進数は以下に示す
ように使用すべきテーブルを指示する。
The binary numbers in table [3: 0] indicate the table to be used as shown below.

【1246】[1246]

【表176】 RAMに保持されるテーブル(つまりJPEGテーブ
ル)の場合、ビット1は使用されず、テーブル選択が2
回発生することに注目。非ベースラインJPEGデコー
ダが作られる場合、4個のDCテーブルと4個のACテ
ーブルがあり、テーブル[1]が必要となる。
[Table 176] In the case of a table held in RAM (that is, a JPEG table), bit 1 is not used and the
Note that it occurs several times. When a non-baseline JPEG decoder is created, there are four DC tables and four AC tables, and table [1] is required.

【1247】テーブル[3]がゼロであれば、テーブル
がH.261スタイルのテーブルとして正しく読まれる
ために、入力データは使用される時に反転される。テー
ブル[3:0]=0の場合、適切なRing修正も適用
される。
If table [3] is zero, the table is H.264. 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.

【1248】B.2.2.4.3 「NOP指令」 前述したように、ゼロビットのFLCを読み出す動作が
No Operation指令として使用される。入力
ポートからは如何なるデータ(トークンまたはシリアル
のいずれ)も読み出されず、ハフマンデコーダは指令ワ
ードと共にゼロのデータ値を出力する。
[1248] 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.

【1249】B.2.2.4.4 「TCoeffic
ient第1係数」 H.261及びMPEGのTCoefficientテ
ーブルはブロックの1番目の係数のために使用される特
別な非ハフマンコードを持つ。ブロック・スタートにお
いてTCoefficientをデコードするために、
First CoefficientビットがVLC指
令と共にテーブルゼロに設定されてもよい。First
Coefficientビットの多くの効果の1つは
このコードがデコードされることを可能にすることであ
る。
[1249] B. 2.2.4.4 “TCoeffic
ient first coefficient " The H.261 and MPEG TCoefficient tables have a special non-Huffman code used for the first coefficient of the block. To decode the TCoefficient at 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.

【1250】通常のオペレーションでは、TCoeff
icient VLCを読むために、「簡単な」コマン
ドを発することは異例であることに注目。これは通常S
pecial Bitを設定することにより、制御がハ
フマンデコーダに手渡されるからである。
In normal operation, TCoeff
Note that issuing a "simple" command to read the client VLC is unusual. This is usually S
This is because by setting the special bit, control is passed to the Huffman decoder.

【1251】B.2.2.4.5 「トークンワードの
読出し」 トークンワードを読むために、Tokenビットは1に
設定すべきである。Special及びFirst C
oefficientビットはゼロであるべきである。
テーブル[0]ビットを正しく作用させる場合、VLC
ビットも設定されるべきである。
B. [1251] 2.2.4.5 "Read Token Word" To read a token word, the Token bit should be set to one. Special and First C
The effective bit should be zero.
If the table [0] bit works correctly, VLC
Bits should also be set.

【1252】このモードでは、ビットテーブル[1]及
びテーブル[2]は以下のようにトークン読出し行為を
修正するために使用される:
In this mode, bit table [1] and table [2] are used to modify the read token action as follows:

【1253】[1253]

【表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 issued.

【1254】テーブル[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.

【1255】テーブル[0]が設定された場合、パディ
ングビットは捨てられるであろう。もちろん、パディン
グビットの極性を知ることが必要である。これはVLC
データの読出しのための場合と全く同様の方法でテーブ
ル[3]により決定される。テーブル[3]がゼロであ
るなら、入力データはまず反転され、それからどれかの
「1」ビットが捨てられる。テーブル[3]が1に設定
される場合、入力データは反転されず、「1」ビットが
捨てられる。テーブル[3]ビットに応じてデータを反
転するという動作はVLCビットでは条件付きであるの
で、このビットは1に設定されなければならない。パデ
ィングビットでないビットに遭遇する(つまり、H.2
61及びMPEGにおける「1」ビットである)場合、
誤差が報告される。
If table [0] is set, the 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 data reading. 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. Since the operation of inverting data according to the table [3] bit is conditional on the VLC bit, this bit must be set to one. A bit that is not a padding bit is encountered (ie, H.2
61 and "1" bit in MPEG)
Errors are reported.

【1256】これらの指令では、1つのトークンワード
だけが読まれることに注目。拡張ビットの状態は無視さ
れ、このビットをテストし、それに従って行動すること
はデマルチプレクサの責任である。マルチプルワードを
読む指令も提供される - 特別指令に関するセクション
を参照せよ。
Note that in these commands only one token word is read. The state of the extension bit is ignored and it is the responsibility of the demultiplexer to test this bit and act accordingly. Directives to read multiple words are also provided-see section on special directives.

【1257】B.2.2.4.6 「ALUレジスタは
テーブルを指定する」 Alutabビットが設定されると、ALUレジスタフ
ァイル内のレジスタを使用して実際に使用されるテーブ
ルナンバーを決定することができる。VLCビットと共
にコマンドで供給されるテーブルナンバーはどのALU
レジスタが使用されるかを決定する:
B. [1257] 2.2.4.6 "ALU Registers Specify Tables" If the Alutab bit is set, the registers in the ALU register file can be used to determine the actual table number used. The table number supplied in the command along with the VLC bit indicates which ALU
Determine if registers are used:

【1258】[1258]

【表178】 固定長コードの場合、ベクトルをデコーディングするた
めに正しいビット数が読まれる。r sizeがゼロで
あれば、NOP指令が生じる。
[Table 178] For a fixed length code, the correct number of bits are read to decode the vector. If rsize is zero, a NOP command occurs.

【1259】ハフマンコードの場合、発生するテーブル
ナンバーは1に設定されたテーブル[3]であり、結果
的に生じるナンバーはJPEGテーブルの1つを引用す
る。 B.2.2.4.7 「特別指令」 今まで説明してきた全ての指令(もしくはオペレーショ
ンモード)は「単純な」指令として考慮される。受け取
られる各コマンドのために、(シリアルデータもしくは
トークンデータのいずれであっても)適切な量の入力デ
ータが読まれ、結果として生じるデータが出力される。
誤差が検出されなければ、正確に1つの出力がコマンド
毎に発生するであろう。
In the case of the Huffman code, the generated table number 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 "simple" commands. For each command received, an appropriate amount of input data (whether serial data or token data) is read and the resulting data is output.
If no errors were detected, exactly one output would occur for each command.

【1260】本発明では、特別指令は1つ以上の出力ワ
ードが1つのコマンドのために発生することができるこ
とに特徴がある。この機能を果たすために、ハフマンデ
コーダの内部ステートマシーンが制御を行い、パーザー
が要求した指令が完了したと決定するまで、必要に応じ
てそれ自身指令を出すであろう。
[1260] The invention is characterized in that the special command is such 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 requested command has been completed.

【1261】全ての特別指令において、実行されること
になるシーケンスの最初の実際の指令は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 order. The advantage of this scheme is that the first actual command in the sequence is available without the lookup operation required based on the command received from the parser.

【1262】4つの認識される特別指令がある: ・TCoefficient ・JPEG DC ・JPEG AC ・Token 第1のものはブロック・エンド記号が読まれるまで、
H.261及びMPEG変換係数等を読む。ブロックが
非イントラブロックである場合、このコマンドは全ブロ
ックを読むであろう。この場合、First Coef
ficientビットは第1の係数トリックが適用され
るように設定されるべきである。ブロックがイントラブ
ロックであれば、DCタームが既に読まれているべきで
あり、First Coefficientビットはゼ
ロであるべきである。
There are four recognized special directives: TCoefficient JPEG DC JPEG AC Token The first is until the block end symbol is read.
H. 261 and MPEG conversion coefficients are read. If the block is a non-intra block, this command will read the entire block. In this case, First Coef
The fientent bit should be set so that the first coefficient trick is applied. If the block is an intra block, the DC terms should have been read and the First Coefficient bit should be zero.

【1263】H.261のイントラブロックの場合、D
CタームはFLC8ビットバリューを読むために「単純
な」指令を用いて読まれる。MPEGでは、下記におい
て説明するJPEG DCの特別指令が使用される。J
PEG DCコマンドは(VLCにより示されるFLC
のSSSSビットを含む)JPEGスタイルのDCター
ムを読むために使用される。First Coeffi
cientビットはデータユニットインデックス部にお
いて(係数の数をカウントする)カウンタがリセットさ
れるために設定されなければならない。JPEG AC
コマンドはDCタームの後、EOBに遭遇するか、もし
くは64番目の係数が読まれるまで、ブロックの残りを
読むために使用される。
[1263] H. 261 intra blocks,
The C term is read using a "simple" command to read the FLC 8-bit value. In MPEG, special instructions of JPEG DC described below are used. J
The PEG DC command is (FLC indicated by VLC
Used to read JPEG-style DC terms. First Coeffi
The client bit must be set in the data unit index to reset the counter (counting the number of coefficients). JPEG AC
The command is used to read the rest of the block after the DC term until an EOB is encountered or the 64th coefficient is read.

【1264】Tokenコマンドは全トークンを読むた
めに使用される。トークンワードは拡張ビットが明白に
なるまで読まれる。それは未認識のトークンを処理する
便利な方法である。
[1264] 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.

【1265】B.2.2.4.8 「ダウンロードテー
ブル」 本発明では、ハフマンデコーダテーブルはDownlo
adビットを用いてダウンロードすることができる。最
初のステップはダウンロードすべきテーブルを指名する
ことである。これはDownloadビットセットとF
irst Coeffビットセットで、FLCを読むた
めのコマンドを出すことによって行われる。これはNO
Pとして処理され、従って如何なるビットも実際には読
まれないが、テーブルナンバーはレジスタに記憶され、
次のダウンローディングにおいてどのテーブルがロード
されるかを特定するために使用される。
1265. 2.2.4.8 “Download Table” In the present invention, the Huffman decoder table is a Downlo
It can be downloaded using the ad bit. The first step is to name the tables to download. This is the Download bit set and F
This is done by issuing a command to read the FLC with the first Coeff bit set. This is NO
Treated as P, so no bits are actually read, but the table number is stored in a register,
Used to identify which tables will be loaded in the next download.

【1266】[1266]

【表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 table [3] can be loaded into the code-pe (in the Huffman decoder itself).
Determine whether it is an r-bit table or a data index table to be loaded.

【1267】テーブルが一旦指名されると、Downl
oadビットセット(及びFirst Coeffビッ
トゼロ)で、必要な数の(常に8ビットである)FLC
を読むためのコマンドを出すことにより、データはその
テーブルの中にダウンロードされる。これは符号化デー
タが指名されたテーブルの中に書き込まれるようにす
る。アドレスカウンタは維持され、データは現在のアド
レスに書き込まれ、次にアドレスカウンタが増加され
る。アドレスカウンタはテーブルが指名される時はいつ
でもゼロにリセットされる。
[1267] Once the table is nominated, the Downl
The required number of FLCs (always 8 bits) with the oad bit set (and First Coeff bit zero)
By issuing a command to read the data, the data is downloaded into that table. This causes the encoded data to be written into the named table. The address counter is maintained, the data is written to the current address, and then the address counter is incremented. The address counter is reset to zero whenever the table is dispatched.

【1268】データインデックステーブルをダウンロー
ドする時は、データ及びアドレスが監視される。アドレ
スはハフマンインデックスナンバーである一方、そのア
ドレスにロードされるデータは最終的に解読される記号
であることに注目。この情報は関係のある記号のために
ハフマンインデックスナンバーを保持するレジスタを自
動的にロードするために使用される。従って、JPEG
ACテーブルにおいて、ZRLに対応するバリューを
持つデータが認識される時、現在のアドレスはテーブル
ナンバーによって指示されるように、レジスタCED
H KEY ZRL INDEX0またはCED H
KEY ZRL INDEX1に書き込まれる。
When downloading the data index table, data and addresses are monitored. Note that the address is the Huffman index number, while the data loaded at that address is the symbol that is ultimately decoded. This information is used to automatically load the register holding the Huffman index number for the symbol concerned. Therefore, JPEG
When data having a value corresponding to ZRL is recognized in the AC table, the current address is stored in the register CED as indicated by the table number.
H KEY ZRL INDEX0 or CED H
Written to KEY ZRL INDEX1.

【1269】解読されたデータはそれが解読された1フ
ェイズ後に、codes−per−bitテーブルに書
き込まれるので、このフェイズ中にテーブルからデータ
を読むことはできない。従って、テーブルダウンロード
指令の後、直ちに出されるVLCを読もうとする指令は
失敗するであろう。実際のアプリケーションにおいて
(つまり、JPEGを行う時)、該かるシーケンスが発
生する理由はない。しかしながら、これを行うシミュレ
ーションテストを構築することは可能である。
The decoded data is written to the codes-per-bit table one phase after it is decoded, so that data cannot be read from the table during this phase. Thus, a command to read the VLC issued immediately after a table download command will fail. In an actual application (ie, 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.

【1270】B.2.2.5 「ハフマンステートマシ
ーン」 本発明によるハフマンステートマシーンはある場合に内
部的に作られるハフマンデコーダコマンドを提供するた
めに作用する。内部ステートマシーンによって作られ得
る全てのコマンドはデマルチプレクサによりハフマンデ
コーダに提供され得る。
[1270] B. 2.2.5 "Huffman State Machine" The Huffman State Machine according to the present invention operates to provide Huffman decoder commands that are created internally in some cases. All commands that can be made by the internal state machine can be provided to the Huffman decoder by the demultiplexer.

【1271】ステートマシーンの基本構造は次のようで
ある。コマンドがハフマンデコーダに出されると、それ
は一連の補助ラッチに記憶され、後に再使用することが
できる。更にコマンドはハフマンデコーダによって実行
され、ハフマンステートマシーンによって分析される。
コマンドが公知の指令シーケンスの最初のものであると
認識され、SPECIALビットが設定されると、ハフ
マンデコーダステートマシーンはパーザーステートマシ
ーンからハフマンデコーダの制御を引き継ぐ。この時点
で、ハフマンデコーダ用の指令には3つのソースがあ
る: 1)パーザーステートマシーン:このチョイスは特別指
令の完了時(例えば、EOBが解読された時)に行わ
れ、次のデマルチプレクサコマンドがアクセプトされ
る。
The basic structure of the state machine is as follows. When a command is issued to a Huffman decoder, it is stored in a series of auxiliary latches and can be reused later. The commands are further executed by a Huffman decoder and analyzed by a Huffman state machine.
The Huffman Decoder State Machine takes over control of the Huffman Decoder from the Parser State Machine when the command is recognized as being the first in a known command sequence and the SPECIAL bit is set. At this point, there are three sources of commands for the Huffman decoder: 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.

【1272】2)ハフマンステートマシーン。ハフマン
ステートマシーンは任意のコマンドを持つことができ
る。
[1272] 2) Huffman state machine. The Huffman state machine can have any command.

【1273】3)パーザーステートマシーンによって、
指令をスタートするために出される原始指令。
[1273] 3) By the parser state machine,
Primitive command issued to start the command.

【1274】(2)の場合、テーブルナンバーはデータ
ユニットインデックス部からのフィードバックによって
提供されることが可能であり、これはハフマンステート
マシーンROM内のフィールドを取り替えるであろう。
In case (2), the table number can be provided by feedback from the data unit index, which will replace a field in the Huffman state machine ROM.

【1275】(1)の場合、ある場合には、テーブルナ
ンバーは(例えば、AC及びDCテーブルナンバー及び
F−ナンバーの場合)ALUレジスタファイルから得ら
れるバリューによって提供される。これらのバリューは
補助コマンド記憶装置に記憶され、そのコマンドが後に
再使用される時、テーブルナンバーは記憶されたもので
ある。カウンタは通常次のブロックを引用するために進
んでいるので、それはALUから再びリカバーされな
い。
In case (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 device, and when the command is later reused, the table number is the one stored. Since the counter is normally moving to quote the next block, it will not be recovered from the ALU again.

【1276】使用される次の指令のチョイスは解読され
つつあるデータ次第であるので、決定はサイクルの最後
の方で行われることが必要である。従って、一般的な構
造は可能な指令の全てが並列に準備され、サイクル後半
のマルチプレクシングが実際の指令を決定するようにな
っている。
The decision needs to be made late in the cycle, because the choice of the next command to use depends on the data being decoded. Thus, the general structure is such that all possible commands are prepared in parallel, and multiplexing in the second half of the cycle determines the actual command.

【1277】各々の場合に、次のサイクルの中でハフマ
ンデコーダが使用するであろう指令を決定することに加
え、ステートマシーンROMも、現在のデータがデータ
ユニットインデックス部とそれからALUへと通過する
時に、現在のデータに付けられるであろう指令を決定す
ることに注目。全く同じ方法で、これら3つの指令全て
が並列に準備され、チョイスがサイクル後半で行われ
る。
In each case, in addition to determining the command that the Huffman decoder will use during the next cycle, the state machine ROM also passes the current data to the data unit index and then to the ALU. Attention has sometimes been given to determining the directives that will be attached to the current data. In exactly the same way, all three commands are prepared in parallel and a choice is made later in the cycle.

【1278】ここでもやはり、上述のように次のハフマ
ンデコーダ指令のための3つのチョイスに対応する、指
令のこの部分のために3つのチョイスがある。
Again, there are three choices for this part of the command, corresponding to the three choices for the next Huffman decoder command as described above.

【1279】1)ブロック・エンドにふさわしい一定の
指令。
1) Certain commands appropriate for block end.

【1280】2)ハフマンステートマシーン。ハフマン
ステートマシーンはデータユニットインデックス部のた
めに任意の指令を提供することができる。
2) Huffman State Machine. The Huffman state machine can provide any command for the data unit index.

【1281】3)指令をスタートするためにパーザーが
出す原始指令。
[1281] 3) A primitive command issued by the parser to start the command.

【1282】B.2.2.5.1 「EOBコンパレー
タ」 EOBコンパレータの出力は本質的に定数指令のセレク
ションがデータユニットインデックス部に表示されるよ
うに強制し、次のハフマン指令がパーザーからの次の指
令であるようにさせるであろう。コンパレータの正確な
機能はハフマンステートマシーンROM内のビットによ
って制御される。
B. [1282] 2.2.5.1 EOB Comparator The output of the EOB comparator essentially forces a selection of constant commands to be displayed in the data unit index, and the next Huffman command is the next command from the parser. Will let you. The exact function of the comparator is controlled by bits in the Huffman state machine ROM.

【1283】EOBコンパレータの背後に、AC及びD
CのJPEGテーブルにEOB記号のインデックスを保
持する4個のレジスタがある。DCテーブルの場合、も
ちろんブロック・エンド記号はないが、ゼロサイズの記
号があり、それはDCゼロ差によって作られる。これは
EOB記号の場合と全く同様にFLCのゼロビットが読
まれるようにするので、それらは全く同様に処理され
る。
[1279] 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, there is of course no block end symbol, but there is a zero size symbol, which is created by the DC zero difference. This causes the zero bits of the FLC to be read exactly as in the case of the EOB symbols, so that they are treated exactly the same.

【1284】レジスタに保持される3つのインデックス
バリューに加えて、定数値1も使用できる。これはH.
261及びMPEGにおけるEOB記号のインデックス
ナンバーである。
A constant value 1 can be used in addition to the three index values held in the register. This is H.
261 and the index number of the EOB symbol in MPEG.

【1285】B.2.2.5.2 「ZRLコンパレー
タ」 本発明では、これは汎用コンパレータである。それはハ
フマンステートマシーン指令もしくはI to Dによ
って使用されるためのオリジナル指令のいずれかを選択
させる。
B.1285. 2.2.5.2 "ZRL comparator" In the present invention, this is a general purpose comparator. It allows you to select either the Huffman State Machine command or the original command to be used by I to D.

【1286】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 two
One value is a constant, one is value zero, and the other is 12 (the index of ESCAPE 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 determined by the low order bits of the table number and is used when the table number is greater than 7 (and VLC).

【1287】ステートマシーン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.

【1288】B.2.2.5.3 「ハフマンステート
マシーンROM」 ハフマンステートマシーン内の指令フィールドは次の通
りである: nxtstate[4:0] 次のサイクルにおいて使用するアドレスである。このア
ドレスは修正することができる。 statect1 次のステートアドレスの修正を可能にする。ゼロであれ
ば、ステートマシーンアドレスは修正されず、そうでな
ければ、アドレスのLSBが次の2つのコンパレータの
いずれかのバリューで置き換えられる:
[1288] B. 2.2.5.3 "Huffman State Machine ROM" The command fields in the Huffman State Machine are as follows: nxtstate [4: 0] The address to use in the next cycle. This address can be modified. state1 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:

【1289】[1289]

【表180】 注:いずれの場合にも、次のハフマン指令が「リラン原
始コマンド」として選択されると、ステートマシーンは
コマンドのために適切なものとしてロケーション0、
1、2または3にジャンプするであろう。 eobct[1:0] これは次のようなEOBコンパレータ及びextnビッ
トに基づいて次のハフマン指令のセレクションを制御す
る:
[Table 180] Note: In each case, if the next Huffman command is selected as the "Rerun Primitive Command", the state machine will determine that location 0,
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 the extn bits as follows:

【1290】[1290]

【表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, this (eobctl +) has priority as follows:

【1291】[1291]

【表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, lever to fit ZRL comparator, zrltab [3: 0] field is used in preference.

【1292】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]フィールド
優先して使用される。
If another 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 may lead to strange simulation problems in. In the case of MPEG, there is no apparent need to load a register indicating the Huffman index number for ZRL (JPEG only configuration). However, they are still selected, and in all cases where the ZRL comparator may be "unknown" (and thus not critical whichever 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 would be used by the Huffman decoder if the selected command was a state machine command. However, if the ZRL comparator matches, the zrltab [3: 0] field will be used in preference.

【1293】smvlc これは選択された指令がステートマシーン指令であれ
ば、ハフマンデコーダによって使用されるVLCビット
である。 aluzrl[1:0] このフィールドはALUに送られる指令のセレクション
を制御する。それは(指令シーケンスのスタートで記憶
された)パーザーステートマシーンからのコマンドであ
っても、あるいはステートマシーンからのコマンドであ
ってもよい:
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 may be a command from the parser state machine (stored at the start of the command sequence) or a command from the state machine:

【1294】[1294]

【表183】 alueob この配線はEOBコンパレータに基づいてALUに送ら
れる指令の修正を制御する。これは単にALU出力モー
ドをzinputに強制する。これは任意のチョイスで
ある;noneから離れた出力モードであれば何でも良
い。これはブロック・エンドコマンドワードがトークン
フォーマッティング部に送られ、そこでそれはデータト
ークンの適切なフォーマッティングを制御する:
[Table 183] aleob 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 optional choice; any output mode remote from none is acceptable. This sends the block end command word to the token formatting section, where it controls the proper formatting of the data token:

【1295】[1295]

【表184】 残りのフィールドはALU指令フィールドである。これ
らはALUの説明において適切に文書化される。
[Table 184] The remaining fields are ALU command fields. These are properly documented in the ALU description.

【1296】B.2.2.5.4 「ハフマンステート
マシーンの修正」 ステートマシーンの1つの態様では、データユニットイ
ンデックス部は、エスケープコード化されたTcoef
ficientのRUN部分がいつデータユニットイン
デックス部に送られるかを「知る」必要がある。これは
制御ROM内の適切なビットを用いて達成できる一方、
ROMの変更を避けるため、別のアプローチが使用され
てきた。この点に関して、ROMに入るアドレスは監視
され、アドレスバリュー5が検出される。これはRUN
フィールドを処理するROMにおいて指名される適切な
場所である。もちろん、他の被選択アドレスバリューを
使用するようにROMをプログラムしようと思えばでき
たことは自明であろう。更に、制御ROMのビットを使
用する前述のアプローチも利用できたであろう。
[1296] 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 client is sent to the data unit index part. While this can be achieved using the appropriate bits in the control ROM,
To avoid ROM changes, another approach has been used. In this regard, the address entering the ROM is monitored and an address value 5 is detected. This is RUN
It is the proper place to be named in the ROM that processes the field. Of course, it would be obvious if one wanted to program the ROM to use another selected address value. In addition, the above approach using the bits of the control ROM could have been utilized.

【1297】B.2.2.6 「概略ガイドツアー」 本発明では、ハフマンデコーダはhdと呼ばれ、hdは
実際にデータユニットインデックス部を含む(これは編
集されたコード生成の制限により必要とされる)。従っ
て、hdは次の主要ブロックを含む;
[1297] B. 2.2.6 "Schematic Guided Tour" In the present invention, the Huffman decoder is called hd, and hd actually contains the data unit index portion (this is required due to the limitations of edited code generation). Thus, hd contains the following main blocks:

【1298】[1298]

【表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 parts of the drawings, which will be readily apparent to those skilled in the art.

【1299】B.2.2.6.1 「“hd”の説明」 2線式インターフェース制御用のロジックは通常2線式
インターフェースにより制御される3ポート:データ入
力、データ出力、及びコマンドを含む。それに加えて、
入力シフタからの2つの「有効な」線がある:トークン
がin data[7:0]に表示されることを指示す
るtoken validと、データがシリアル上に表
示されることを指示するserial validであ
る。
[1299] B. 2.2.6.1 "Description of" hd "" The logic for controlling the two-wire interface includes three ports: data input, data output, and command, which are typically controlled by a two-wire interface. In addition to it,
There are two "valid" lines from the input shifter: a token valid indicating that the token is displayed in data [7: 0] and a serial valid indicating that the data is displayed serially. is there.

【1300】発生される最も重要な信号はラッチに行く
イネーブルである。最も重要なものはph1ラッチに対
するイネーブルであるe1である。ph0ラッチの多く
は可能化されないが、2つのイネーブルがこれらのため
に提供され、それらはシリアルデータと関連するe0と
トークンデータと関連するe0tである。
The most important signal generated is the enable going to the latch. Most important is e1, which is an 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.

【1301】本発明では、done信号(done、n
otdone、及びそれらのph0バリアントのdon
e0とnotdone0)は、原始ハフマンコマンドが
完了する時を指示する。ハフマンステートマシーンコマ
ンドが実行される場合、doneは全ステートマシーン
コマンドを含む各原始コマンドの完了時に認定されるで
あろう。信号notnewは、全ハフマンステートマシ
ーンコマンドが完了するまで、パーザーステートマシー
ンからの新しいコマンドのアクセプタンスを防止する。
In the present invention, the done signal (done, n)
otdone and don of their ph0 variants
e0 and notdone0) indicate when the primitive Huffman command is completed. If a Huffman state machine command is executed, the done will be recognized upon completion of each primitive command, including all state machine commands. The signal notnew prevents acceptance of new commands from the parser state machine until all Huffman state machine commands have been completed.

【1302】データユニットインデックス部から受け取
る情報の制御に関して、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であるので、この状
況においてゼロサイズが発生することが不可能であると
いうことである。
With respect to controlling the information received from the data unit index, 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
Returned to fbone0. Otherwise, it is returned from the output of the data unit index. (O
out data [3: 0] and signal fbvalid1 indicate that this occurs. A signal muxsize is generated to control the multiplexing of the feedback data into the command register (sheet 10). In addition, there is feedback with exactly 64 coefficients decoded. Since EOB is not coded in this case in JPEG, a signal forceob is created. By analogy, as mentioned above, with the signal for the feedback size, there are actually two ways this can be implemented. Normal feedback is provided (jpe
geob), as data is fed back, only latch i-971 is loaded and not cleared until a new parser state machine command is accepted. The signal forceob is not actually produced until the Huffman code is decoded. in this way,
Fixed length codes (ie, size bits) are not affected, but the next Huffman coded information is replaced by the forced block end. Size is 1 and j
If pegob0 is used, i-1255 and i-1256 delay the signal until the correct time because only one bit is read. It should be noted that since the only symbols with zero size are EOB and ZRL, it is not possible for zero size to occur in this situation.

【1303】デコーディングはtcoeff tab0
(Tcoeffテーブルを用いるハフマンデコーディン
グ)、mba tab0(MBAテーブルを用いるハフ
マンデコーディング)、及びnop(ノーオペレーショ
ン)を作るためのコマンドのかなりランダムなデコーデ
ィングである。nopを発生させるにはいくつかの理由
がある。サイズゼロの固定長コードはその一つであり、
forceeob信号もその一つであり(EOBを合図
するために出力が作られても、入力シフタから如何なる
データも読み出されるべきではないので)、最後にテー
ブルダウンロード指名が第三の理由である。
[1303] The decoding is tcoeff tab0
(Huffman decoding using the Tcoeff table), mba tab0 (Huffman decoding using the MBA table), and fairly random decoding of commands to make nop (no operation). There are several reasons for generating a nop. Zero-length fixed length code is one of them,
The forceeob signal is one of them (because no data should be read from the input shifter even if the output is made to signal an EOB), and finally a table download nomination is the third reason.

【1304】(サイズゼロのFLC、NOPにより作ら
れる)notfrczeroは、NOP指令が使用され
る時に、その結果がゼロであることを保証する。更に、
invertはハフマンデコーディングの前にシリアル
ビットが反転されるべきである時を指示する(セクショ
ン B.2.2.1.1を参照)。ringは変換係数
ringが適用されるべき時を指示する(セクション
B.2.2.1.2を参照)。
Notfrczero (created by zero size FLC, NOP) ensures that when the NOP command is used, the result is zero. Furthermore,
Invert indicates when the serial bits should be inverted before Huffman decoding (see section B.2.2.1.1). ring indicates when the transform coefficient ring is to be applied (see section B.2.2.1.2).

【1305】デコーディングは更にcodes−per
−bit ROMのアドレスに関して達成される。これ
らは小さなデータパスROMから構築される。信号は二
重(例えば、cshaとcsla)にされる。アドレス
は選択されるブロックへのUPIアクセスに応じて、ビ
ットカウンタ(bit[3:0])もしくはマイクロプ
ロセッサインターフェースアドレス(key addr
[3:0])から取ることができる。
[1305] Decoding is further performed by codes-per
Achieved with respect to the address of the bit ROM. These are built from a small data path ROM. The signal is duplicated (eg, csha and csla). The address may be a bit counter (bit [3: 0]) or a microprocessor interface address (key addr) according to the UPI access to the selected block.
[3: 0]).

【1306】追加デコーディングはJPEGテーブル
(EOB、ZRL等)用のハフマンインデックスバリュ
ーを保持するもののようなレジスタのUPI読み出しに
関する。更に含まれるのは、これらのレジスタ及びco
des−per−bit RAMのUPI読み出し用の
トライステートドライバー制御である。
[1306] The additional decoding relates to UPI reading of registers such as those holding Huffman index values for JPEG tables (EOB, ZRL, etc.). Also included are these registers and co
This is a tri-state driver control for reading UPI of des-per-bit RAM.

【1307】演算データパスデコーディングも特定の重
要なビット数のために提供される。first bit
はTcoeffの第1の係数トリックに関連して使用さ
れ、bit fiveはTcoeffテーブルの中にリ
ングを適用することに関係する。EOBコンパレータが
デコードされたインデックスバリューに適合する動作を
シミュレートするためのforceeobの使用に注
目。
[1307] Arithmetic data path decoding is also provided for certain significant bit numbers. first bit
Is used in conjunction with Tcoeff's first coefficient trick, and bit five relates to applying the ring into the Tcoeff table. Note the use of forceob to simulate the behavior of the EOB comparator to match the decoded index value.

【1308】extnビットに関して、トークンが入力
シフタから読まれる場合、関連extnビットはそれと
共に読まれる。そうでなければ、extnの最後のバリ
ューは保存される。これはトークンが読まれた後いつで
も、マイクロコードプログラムによるextnビットの
テストを可能にする。
With respect to the extn bits, if a token is read from the input shifter, the associated extn bits are read with it. Otherwise, the last value of extn is saved. This allows the microcode program to test the extn bits any time after the token has been read.

【1309】zerodatが認定される時、ハフマン
出力データの上位4ビットがゼロになるように強いられ
る。これらは固定長コードをデコーディングする時に有
効なバリューを持つだけなので、それらはVLC、トー
クンをデコーディングする時、あるいはNOP指令が何
等かの理由で実施される時はゼロにされる。
When zerodat is asserted, the upper four 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.

【1310】更に、回路は各コマンドが完了する時を検
出し、done信号を発する。本質的に、doneであ
る理由には2つのグループがある;通常の理由と、例外
的な理由である。これらは各々2つの三路マルチプレク
サの1つによって処理される。
[1310] In addition, the circuit detects when each command is completed and issues a done signal. Essentially, there are two groups of reasons for being done: normal and exceptional. These are each processed by one of the two three-way multiplexers.

【1311】下位マルチプレクサ(i−1275)が通
常の理由を処理する。FLCの場合、信号ndnflc
が使用される。これはビットカウンタをテーブルナンバ
ーと比較するコンパレータの出力である。VLCの場
合、信号ndnvlcが使用される。これは演算データ
パスからの出力であり、式9を直接的に反映する。NO
P指令またはトークンの場合、1つのサイクルだけが必
要であり、従って、システムは無条件にdoneであ
る。
[1311] The lower multiplexer (i-1275) handles the usual reasons. In the case of 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
In the case of a P command or token, only one cycle is needed, so the system is unconditionally done.

【1312】本発明では、上位マルチプレクサ(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 exceptional cases. In JPEG decoding, when the decoder expects size feedback (fexpctd0), 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 done if bit zero of the current index is zero (see section B.2.2.1.2). . If neither of these conditions is met, there is no exceptional reason for being a done.

【1313】NORゲート(i−1293)は最終的に
done状態を変形させる。i−570(つまり、デー
タが有効ではない)により生じる状態がdoneを強い
る。これは少しおかしく思われるかもしれない。それは
基本的に、第1のコマンドの(doneが全てのカウン
タ、レジスタ等をリセットする)ための準備のために、
マシーンをdone状態にならせるためにリセット後使
用される。
The NOR gate (i-1293) finally changes the done state. The condition caused by i-570 (i.e., the data is not valid) forces done. This may seem a bit strange. It basically prepares for the first command (done resets all counters, registers, etc.)
Used after reset to bring the machine to the done state.

【1314】信号notdonexは誤差を検出する際
に必要である。誤差を検出すれば、doneがとにかく
強いられるので、通常のdone信号は使用できない。
doneの使用は結合フィードバックループを与えるで
あろう。
The signal notdonex is necessary for detecting an error. If an error is detected, the done is forced anyway, so that a normal done signal cannot be used.
The use of done would provide a combined feedback loop.

【1315】誤差検出及び処理は可能性のある全ての誤
差状態を検出する回路によって行われる。これらはi−
1190において共に0Redである。この場合、i−
1193、i−585及びi−584は3ビットのハフ
マン誤差レジスタを構成する。「実際の」誤差がない場
合に誤差を不能化するi−1253及びi−1254に
注目(セクション B.2.2.3を参照)。
The error detection and processing is performed by a circuit that detects all possible error conditions. These are i-
In 1190, both are 0Red. 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 when there is no "real" error (see section B.2.2.3).

【1316】それに加えて、i−580及びi−579
は関連する回路と共に、誤差検出後最初のコマンドのア
クセプタンスを制御する単純なステートマシーンを提供
する。
[1313] In addition, i-580 and i-579
Provides, with associated circuitry, a simple state machine that controls the acceptance of the first command after error detection.

【1317】前述したように、制御信号はデータユニッ
トインデックス部及びALUにおいてパイプライン遅延
に合わせるため遅延される。
As described above, the control signal is delayed in the data unit index portion and the ALU to match the pipeline delay.

【1318】Iotd bypassはデータユニット
インデックス部に送られる実際のバイパス信号である。
それは固定長コードがデコードされる時はいつでも、ハ
フマンステートマシーンがバイパスしなければならない
ように制御される時に修正される。
[1313] Itdbypass is the actual bypass signal sent to the data unit index.
It is modified whenever the Huffman state machine is controlled to have to bypass whenever the fixed length code is decoded.

【1319】Aluinstr[32]はALUがパー
ザーステートマシーンに(コンディションコードを)フ
ィードバックするようにさせるビットである。更に、ハ
フマンステートマシーンが制御されている時、信号は
(原始コマンドの1つが完了する都度為されるよりもむ
しろ)一度だけ認定されることが重要である。
[1319] Aluinstr [32] is a bit that causes the ALU to feed back (condition code) to the parser state machine. Further, when the Huffman state machine is being controlled, it is important that the signal be acknowledged only once (rather than each time one of the primitive commands is completed).

【1320】Aluinstr[36]は(他のALU
指令ビットが増分を明記する場合)ALUがブロックカ
ウンタのステップを踏むようにさせるビットである。こ
れも一度だけ認定されなければならない。
[1320] Aluinstr [36] is (other ALU
A bit that causes the ALU to step through the block counter (if the command bit specifies an increment). This also has to be certified only once.

【1321】それに加えて、これらのビットはトークン
変換にデータを出力するALU指令のためにのみ認定さ
れねばならない。そうでなければ、カウンタはトークン
変換への最初の出力前に増分され、データトークンにお
いてccという不正確なバリューを生じるかもしれな
い。
In addition, these bits must be recognized only for ALU commands that output data for token conversion. Otherwise, the counter is incremented before the first output to token conversion, which may result in an incorrect value of cc in the data token.

【1322】本発明の図示した態様では、ALUがトー
クンフォーマッティング部に出力される場合、alun
ode[1]もしくはalunode[0]のいずれか
が低くなるであろう。
In the illustrated embodiment of the present invention, if the ALU is output to the token formatting unit,
Either mode [1] or alunode [0] will be low.

【1323】図127はhdstdpと称されるハフマ
ンステートマシーンデータパスを示す。更にハフマンス
テートマシーンROMの出力を読むためのUPIデコー
ドがある。
FIG. 127 shows a Huffman state machine data path called hdstdp. There is also a UPI decode for reading the output of the Huffman state machine ROM.

【1324】ロケーションの場合に処理するためマルチ
プレクシングが提供される(セクションB2.2.4.
6を参照)。
[1324] Multiplexing is provided for processing in case of location (Section B2.2.4.
6).

【1325】aluinstr[3:2]の修正はAL
Uoutsrc指令フィールドをnon−noneに強
いる処理をする(セクションB.2.2.5.3、al
ueobの説明を参照)。
[1325] The modification of aluinstr [3: 2] is AL
Processing to force the Uoutsrc command field to non-none (Section B.2.2.5.3, al
ueob).

【1326】ハフマンデコーダブロック(x)のための
コマンドレジスタに関して、コマンドの各ビットはコマ
ンドの可能なソース間の選択をする関連マルチプレクサ
を有する。4つの制御信号はこのセレクションを制御す
る:Selholdはレジスタに現在のステートを保持
するようにさせる。
With respect to 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 registers to hold the current state.

【1327】Selnewはパーザーステートマシーン
から新しいコマンドをロードさせる。これは更に後の使
用のために、元のパーザーステートマシーンのコマンド
を保持するレジスタのローディングをも可能にする。
[1327] Selnew causes a new command to be loaded from the parser state machine. This also allows for loading of registers holding the original parser state machine commands for later use.

【1328】Seloldは元のパーザーステートマシ
ーンのコマンドを保持するレジスタからコマンドのロー
ディングを起こさせる。
The [1328] Selold causes the command to be loaded from the register holding the command of the original parser state machine.

【1329】/selsmはハフマンステートマシーン
ROMからのコマンドのローディングを起こさせる。
[1327] / selsm causes the loading of commands from the Huffman state machine ROM.

【1330】テーブルナンバーの場合、テーブルナンバ
ーがデータユニットインデックス部の出力データからも
ロードされるので、状況はそれより少し複雑である(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).

【1331】ラッチはハフマンステートマシーンROM
の中に現在のアドレスを保持する。ロジックは可能な4
つのコマンドのどれが実行されているかを検出する。こ
れらの信号は新しいコマンドの場合スタートアドレスの
下位2ビットを形成するために組み合わされる。
[1331] Latch is Huffman state machine ROM
Holds the current address in Logic is possible 4
Detect which command is being executed. These signals are combined to form the lower two bits of the start address in the case of a new command.

【1332】ロジックは更にステートマシーンROMの
出力が無意味である(通常はコマンドが「単純な」コマ
ンドであるため)時を検出する。信号notignor
eromはステートマシーンのオペレーションを効果的
に不能化し、特にALUに送られる指令の修正を不能化
する。
The logic also detects when the output of the state machine ROM is meaningless (usually because the command is a "simple" command). Signal notignor
Erom effectively disables operation of the state machine, and in particular, disables modification of commands sent to the ALU.

【1333】fixstate0を生じさせる回路はこ
のステートマシーンの制限されたジャンピング能力を制
御する。
The circuit that generates fixstate0 controls the limited jumping capability of this state machine.

【1334】デコーディングは更にハフマンステートマ
シーンROMへと信号を追いやるために提供される。こ
れはデータパススタイルの結合ROMである。
[1334] Decoding is also provided to drive the signal to the Huffman state machine ROM. This is a data path style combined ROM.

【1335】escape runの発生はセクション
B2.2.5.4において説明される。
The occurrence of escape run is described in section B 2.2.5.4.

【1336】更に、デコーディングはZRLやEOB等
の記号のためにハフマンインデックスナンバーを保持す
るレジスタの準備をする。これらのレジスタはUPIま
たはデータパスからロードすることができる。cent
er(es[4:0]及びzs[3:0]におけるデコ
ーディングはデコードハフマンインデックスと比較する
ためにどのレジスタまたは一定バリューかを選択するマ
ルチプレクサのためにセレクト信号を発生させている。
In addition, decoding prepares a register holding a Huffman index number for symbols such as ZRL and EOB. These registers can be loaded from the UPI or datapath. cent
Decoding in er (es [4: 0] and zs [3: 0] generates a select signal for a multiplexer that selects which register or constant value to compare with the decode Huffman index.

【1337】ハフマンステートマシーン用の制御ロジッ
クに関して。ここでは、ハフマンステートマシーンRO
Mからの「指令」ビットは、次に何をすべきか、またA
LU用の指令ワードを如何に修正するかを決定するた
め、様々な条件と組み合わされる。
Relating to the control logic for the Huffman state machine. Here, Huffman State Machine RO
The "command" bit from M tells what to do next,
Various conditions are combined to determine how to modify the command word for the LU.

【1338】本発明では、信号notnew及びnot
oldはハフマンデコーダコマンドレジスタのオペレー
ションを制御するため、シート10上で使用される。そ
れらはここではハフマンインデックスコンパレータ(n
eobmatch及びnzrlmatch)と共に、ス
テートマシーンROM(セクション B.2.2.5.
3において説明される)の中の制御ビットから明らかな
方法で作られる。
In the present invention, the signals notnew and nott are used.
old is used on sheet 10 to control the operation of the Huffman Decoder command register. They are referred to here as Huffman index comparators (n
state machine ROM (section B.2.2.5.) along with eobmatch and nzrlmatch).
3 (described in 3).

【1339】更に、ALUに送られる指令用のソースの
セレクションが行われる。実際のマルチプレクシングは
ハフマンステートマシーンデータパスhfstdpにお
いて行われる。4つの制御信号が発生される。
Further, selection of a source for a command sent to the ALU is performed. The actual multiplexing is performed in the Huffman state machine data path hfstdp. Four control signals are generated.

【1340】ブロック・エンドに遭遇しなかった場合、
aluseldmx(パーザーステートマシーン指令を
選択する)もしくはaluselsm(ハフマンステー
トマシーン指令を選択する)のいずれか1つが作られる
であろう。それに加えて、ALU指令のoutsrcフ
ィールドがそれをzinputに押しやるために修正さ
れる。
[1340] If no block end is encountered,
Either one of aluseldmx (select parser state machine command) or aluselmsm (select Huffman state machine command) will be created. In addition, the outsrc field of the ALU command is modified to push it to zinput.

【1341】レジスタはテーブルダウンロード中に指名
されたテーブルナンバーを保持する。デコーディングは
codes−per−bit RAMのために提供され
る。追加デコーディングは、ハフマンインデックスナン
バーレジスタが自動的にロードされるように、EOM及
びZRL等の記号がダウンロードされる時を認識する。
[1341] The register holds the table number designated during table download. Decoding is provided for code-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.

【1342】ビットカウンタに関して、コンパレータは
FLCを読む時に、いつ正しい数のビットが読まれてい
るかを検出する。 B.2.2.6.2 「“hddp”の説明」 コンパレータはハフマンインデックスの特別なバリュー
を検出する。レジスタはダウンロード可能なテーブル用
のバリューを保持する。マルチプレクサ(meob
[7:0]及びmzr[7:0])は使用すべきバリュ
ーを選択し、exclusive−orゲート及びゲー
ティングがコンパレータを構成する。
With regard to the bit counter, when reading the FLC, the comparator detects when the correct number of bits are being read. B. 2.2.6.2 "Description of" hddp "" The comparator detects a 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 the comparator.

【1343】アダー及びレジスタはセクション B.
2.2.1において説明した式を直接評価する。更なる
説明はここでは不要であると考えられる。排他的論理和
はセクションB.2.2.1.1において説明したデー
タ(i−807)を反転するために使用される。
The adders and registers are described in section
Evaluate directly the equation described in 2.2.1. No further explanation is deemed necessary here. Exclusive OR is described in Section B.3. Used to invert the data (i-807) described in 2.2.1.1.

【1344】codeレジスタは12ビット幅である。
マルチプレクシングアレンジメントはセクションB.
2.2.1.2において説明したring置換を履行す
る。
The code register is 12 bits wide.
The multiplexing arrangement is described in section B.
Implement the ring permutation described in 2.2.1.2.

【1345】データ用のパイプライン遅延及びデコード
化シリアルデータ(index[7:0])とトークン
データ(ntoken0[7:0])間のマルチプレク
シングに関して、ハフマンインデックスバリューはZR
L及びEOB記号の中で決定される。
For pipeline lag for data and multiplexing between decoded serial data (index [7: 0]) and token data (ntoken0 [7: 0]), the Huffman index value is ZR
Determined within the L and EOB symbols.

【1346】Codes−per−bit ROM及び
それらのマルチプレクシングは使用すべきテーブルを決
定するために使用される。テーブルセレクト情報が遅れ
て到着するので、このアレンジメントが使用される。そ
の後全てのテーブルがアクセスされ、正しいテーブルが
選択される。
The Codes-per-bit ROMs and their multiplexing are used to determine which table to use. This arrangement is used because the table select information arrives late. Thereafter, all tables are accessed and the correct table is selected.

【1347】Codes−per−bit RAMに関
して、codes−per−bitROMの最終マルチ
プレクシング及びcodes−per−bit RAM
の出力はブロックhdcpbramの内部で起こる。
For Codes-per-bit RAM, final multiplexing of codees-per-bit ROM and code-per-bit RAM
Occurs inside the block hdcpbram.

【1348】B.2.2.6.3 「“hdstdp”
の説明」 本発明において、Hdstdpは2つのモジュールから
成る。hdstdelは適切なパイプラインステージま
で、例えば、それらがALU及びトークン変換に供給さ
れる時まで、パーザーステートマシーン制御ビットを遅
らせることに関係がある。それはALUに送られる指令
ワードの約半分だけを処理し、残りは他のモジュールh
dstmodにより処理される。
[1348] 2.2.6.3 "" hdstdp "
Description 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, for example, when they are provided for ALU and token conversion. It processes only about half of the command words sent to the ALU, and the rest
Processed by dstmod.

【1349】Hdstmodはハフマンステートマシー
ンROMを含む。この指令の数ビットはハフマンステー
トマシーン制御ロジックにより使用される。残りのビッ
トは(パーザーステートマシーンからの)ALU指令ワ
ードのhdstdelにおいて処理されない部分を置き
換えるために使用される。
Hdstmod includes a 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 unprocessed parts in hdstdel of the ALU command word (from the parser state machine).

【1350】Hdstmodは自明であり、何の説明も
必要ではない。パイプラインディレイレジスタだけがあ
る。
The Hdstmod is self-explanatory and requires no explanation. There is only a pipeline delay register.

【1351】Hdstdelも非常に単純であり、RO
M及びALU指令を修正するマルチプレクサにより処理
される。回路の残部はハフマンステートマシーンROM
出力の半分に対するUPI読み取りアクセスに関係す
る。バッファも制御信号のために使用される。
[1351] Hdstdel is also very simple,
Processed by a multiplexer that modifies the M and ALU commands. The rest of the circuit is a Huffman state machine ROM
Relates to UPI read access to half of the output. Buffers are also used for control signals.

【1352】B.2.3 「トークンフォマッティン
グ」 本発明によるハフマンデコーダトークンフォマッティン
グは、ハフマンブロックの終了部にある。その機能は、
その名前が示す通り、ハフマンデコーダからのデータを
適当なトークン構造にフォーマットすることである。入
力データはマイクロインストラクションワードコマンド
フィールドの制御下、マイクロインストラクションワー
ドの中のデータで多重送信される。ブロックは2つの操
作モード;データワードとデータトークンを持っている B.2.3.1 「マイクロインストラクションワー
ド」
[1352] B. 2.3 "Token Formatting" Huffman decoder token formatting according to the present invention is at the end of the Huffman block. Its function is
As the name implies, formatting the data from the Huffman decoder into an appropriate token structure. The input data is multiplexed with the data in the microinstruction word under the control of the microinstruction word command field. Block has two modes of operation; data word and data token. 2.3.1 "Micro instruction word"

【1353】[1353]

【表186】 B.2.3.2 「動作モード」[Table 186] B. 2.3.2 “Operation mode”

【1354】[1354]

【表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 eight 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) in data [7: 0] represents the number of input bits in the mix.

【1355】マスクが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] will be the microinstruction word token field. 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.

【1356】外部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 の準備が整うことを確実にする。
When external Extn (Ee) is set, o
out extn = in extn, otherwise out extn = De. Bt and 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. On reset, f
The first coefficient is set. When the first data coefficient arrives with the microinstruction word with cmd set to 1, out data
[16: 2] is set to 0x1, and out data
[1: 0] is Bt of the microinstruction 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 first c
"officient" takes the value of Eb. When the next coefficient arrives, out data [16: 0] takes the previous coefficient stored in RL. This means that when the end of the block is encountered, Eb is set and the first
event is set, and the next data token, that is, If (first coefficient) ent 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 to ensure that it is ready .

【1357】B.2.3.3 「注釈」 本発明によれば、指令ビットのほとんどは通常の方法で
パーザーステートマシーンによって供給される。しかし
ながら、実際には2つのフィールドが他の回路により供
給される。上述のBtフィールドはALUブロックの出
力に直接接続される。この2つのビットフィールドはc
cもしくはcolor componentの現在のバ
リューを与える。こうして、データトークンヘッダが構
築されると、最も低いオーダーの2ビットがALUカウ
ンタから直接色成分を取り出す。第2に、ブロック・エ
ンド記号idがデコードされる時はいつでも(あるいは
ブロック内の最後の係数がコード化されるので、1が仮
定されるJPEGの場合)、Ebビットがハフマンデコ
ーダにおいて認定される。
[1357] 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 the two fields are provided by other circuits. The Bt field described above is connected directly to the output of the ALU block. These two bit fields are c
Gives the current value of c or color component. Thus, when the data token header is constructed, the two lowest order bits take the color component directly from the ALU counter. Second, whenever the block end symbol id is decoded (or in the case of JPEG, where 1 is assumed since the last coefficient in the block is coded), the Eb bit is identified in the Huffman decoder. .

【1358】ハフマンデコーダにおいてin extn
信号が引き出される。それはトークンに関して、通常の
方法でトークンワードと共に拡張ビットが供給される時
に意味を持つだけである。
[1358] In the Huffman decoder, in extn
A signal is derived. It only makes sense for tokens when the extension bits are supplied with the token word in the usual way.

【1359】B.2.4 「パーザーステートマシー
ン」 本発明のパーザーステートマシーンは実際非常に単純な
回路片である。複雑なのはマイクロコードROMのプロ
グラミングであり、それはセクション B.2.5にお
いて論じる。
[1359] B. 2.4 "Parser State Machine" The parser state machine of the present invention is actually a very simple piece of circuitry. Complicated is the programming of microcode ROM, which is described in Section B.1. Discussed in 2.5.

【1360】本質的に、マシーンは現在のアドレスを保
持するレジスタから構成される。このアドレスはマイク
ロコードROMにおいてルックアップされ、マイクロコ
ードワードを作り出す。更に、アドレスは単純なインク
リメンタにおいて増分され、この増分されたアドレスは
次のステートのために使用される2つの可能なアドレス
の1つである。他方のアドレスはマイクロコードROM
自体の中のフィールドである。このように、各指令は潜
在的にジャンプ指令であり、プログラムにおいて明記さ
れるロケーションにジャンプすることができる。ジャン
プが行われなければ、制御はROM内の次のロケーショ
ンへと進む。
The machine consists essentially of a register that holds the current address. This address is looked up in a microcode ROM to create a microcode word. Further, the address is incremented in a simple incrementer, this incremented address being one of two possible addresses used for the next state. The other address is microcode ROM
A field within itself. Thus, each command is a potential jump command and can jump to a location specified in the program. If no jump is made, control proceeds to the next location in the ROM.

【1361】一連の16のコンディションコードビット
が提供される。これらのコンディションの1つが(マイ
クロコードROM内のフィールドにより)選択され、そ
れに加えて、(やはりマイクロコードROM内のビット
により)反転され得る。結果的に生じる信号が増分され
たアドレスまたはマイクロコードROM内のジャンプア
ドレスのいずれかを選択する。コンディションの1つは
Falseとして評価するため配線される。このコンデ
ィションが選択されると、ジャンプは発生しない。ある
いはその代わりに、このコンディションが選択され、反
転されて、ジャンプ、つまり無条件ジャンプが常に発生
する。
A series of 16 condition code bits are provided. One of these conditions may 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. When this condition is selected, no jump occurs. Alternatively, this condition is selected and inverted so that a jump, an unconditional jump, always occurs.

【1362】[1362]

【表188】 B.2.4.1 「2線式インターフェース制御」 本発明による2線式インターフェース制御は本ブロック
では少し異例である。パーザーステートマシーンとハフ
マンデコーダ間に2線式インターフェースがある。これ
はコマンドの進行を制御するために使用される。パーザ
ーステートマシーンはROMから次のコマンドを読むた
めに前進する前に、所定のコマンドがアクセプトされる
まで待つであろう。それに加えて、コンディションコー
ドがALUからのワイヤを通して送り返される。
[Table 188] B. 2.4.1 Two-Wire Interface Control Two-wire interface control according to the present invention is somewhat unusual in this block. There is a two-wire interface between the parser state machine and the Huffman decoder. This 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, the condition code is sent back over the wire from the ALU.

【1363】各コマンドはマイクロコードROM内にビ
ットを持ち、それはフィードバックを待つべきことを明
記できるようにする。これが発生した場合、その指令が
ハフマンデコーダによりアクセプトされた後、ALUか
らのフィードバックワイヤが認定されるまで新しいコマ
ンドは表示されない。このワイヤ、fb validは
現在ALUにより供給されているコンディションコード
が、それらがフィードバックを待つことを求めるコマン
ドと関連するデータを反映するという意味で有効である
ことを指示する。
Each command has a bit in the microcode ROM, which allows to specify that feedback should be waited for. If this occurs, no new commands will be displayed after the command has been accepted by the Huffman decoder until the feedback wire from the ALU is certified. This wire, fb_valid, indicates that the condition codes currently supplied by the ALU are valid in the sense that they reflect the data associated with the command asking it to wait for feedback.

【1364】本発明によれば、デコーディング(または
プロセシング)の結果として、特別なデータ片にジャン
プするための次のステートを決定する条件付きジャンプ
コマンドを構築する際に、その特徴が利用される。2線
式制御では、あるコマンドが所定のプロセシングブロッ
ク(つまり、この場合はALU)に到達する時が不確か
あるので、この便宜なくしては、パイプライン内のデ
ータに依存するコンディションをテストすることは出来
ないであろう。
According to the present invention, its features are utilized in constructing a conditional jump command that determines the next state to jump to a special piece of data as a result of decoding (or processing). . In two-wire control, it is uncertain when a command will reach a given processing block (ie, in this case, the ALU), so without this convenience testing conditions that depend on data in the pipeline would be necessary. Would not be able to.

【1365】ハフマンデコーダに全ての指令が送られる
わけではない。ある指令はデータパイプラインの必要な
く実行できる。これらはジャンプ指令である傾向があ
る。マイクロコードROM内のビットは指令がハフマン
デコーダに表示されるか否かを選択する。そうでなけれ
ば、ハフマンデコーダが指令をアクセプトする必要はな
く、従って、パイプラインが失速していても、こうした
状況で実行を続けることができる。
[1365] Not all commands are sent to the Huffman decoder. Certain directives 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 at the Huffman decoder. Otherwise, the Huffman Decoder does not need to accept the command, and thus can continue execution in these situations even if the pipeline is stalled.

【1366】B.2.4.2 「イベント処理」 パーザーステートマシーンの中に2つのイベントビット
が置かれる。1つはハフマンイベントと称され、他の1
つはパーザーイベントと称される。
[1366] B.I. 2.4.2 Event Processing Two event bits are placed in the parser state machine. One is called a Huffman event and the other one is
One is called a parser event.

【1367】パーザーイベントは最も単純である。この
イベントにより監視される「コンディション」はマイク
ロコード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. Typically, a command to do this writes an appropriate constant to the rom control register so that the interrupt service routine can determine the cause of the interrupt.

【1368】パーザーイベントをサービスした後(ある
いは、イベントがマスクアウトされた場合直ちに)、制
御は停止したポイントでリカバーする。そのイベントを
起こさせた指令がジャンプ指令を持っている(その状態
が本物であると評価する)場合、ジャンプは通常の方法
で行われる。従って、ジャンプをコード化することによ
り、サービス後、誤差ハンドラにジャンプすることが
できる。
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 (evaluates the state to be real), the jump is performed in the usual manner. Therefore, by coding the jump
Ri, after the service, it is possible to jump to the error handler.

【1369】ハフマンイベントはそれとは異なる。監視
される状態は3つのハフマン誤差ビットのORである。
現実に、この状態は非常に単純な方法でパーザーイベン
トに対して処理される。しかしながら、ハフマンデコー
ダからの追加ワイヤ、huffintrptは誤差が発
生する時はいつでも認定される。これはマイクロコード
プログラムにおいて制御を誤差ハンドラにジャンプさせ
る。
[1369] The Huffman event is different. The condition monitored is the OR of the three Huffman error bits.
In reality, this state is handled for parser events in a very simple way. However, an 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.

【1370】従って、ハフマン誤差が発生する時、シー
ケンスは割り込み発生とブロック・ストップを含む。サ
ービシング後、制御は誤差ハンドラに伝送される。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 11 mechanism and, unlike a normal interrupt, it is not possible to return to a point in the microcode before an error that occurs following error handling.

【1371】ハフマン誤差が発生することなく、huf
fintrptを認定することができる。これはセクシ
ョン B.2.2.3において論じたように、no−e
rror誤差の特別な場合に発生する。この場合、如何
なる割り込みも(マイクロプロセッサインターフェース
に)発生せず、制御は(マイクロコード内のフ誤差ハン
ドラに送られる。ハフマン誤差レジスタはこの場合明ら
かであるので、マイクロコード誤差ハンドラは、こうし
た状況であることを決定し、これに応じて応答すること
ができる。
[1371] Huf error does not occur and hufman
fintrpt can be certified. This is described in section B. As discussed in 2.2.3, no-e
Occurs in special cases of error. In this case, no interrupt is generated (at the microprocessor interface) and control is passed to the error handler in microcode (the Huffman error register is now apparent, so the microcode error handler can Oh to determine that, to respond in accordance with the Re this
Can be.

【1372】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つに進む。
[1372] B. 2.4.3 Special locations The microcode ROM has several special locations. The first four locations in ROM are the entry points to the main program. Control proceeds to one of these four locations on 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
The UPI register bit CED H TRACE in E
Only the parser state machine can be reset using RST. In this case, coding std
The registers are not reset and control proceeds to the appropriate one of the first four locations.

【1373】第2の4つのロケーション(0x004〜
0x007)はハフマン割り込みが起こる時に使用され
る。典型的に、実際の誤差ハンドラがこれらのロケーシ
ョンの各々に置かれる。ここでも、ロケーションの選択
はコーディングスタンダードの結果として為される。
[1373] The second four locations (0x004 to
0x007) is used when a Huffman interrupt occurs. Typically, an actual error handler is located at each of these locations. Again, the choice of location is made as a result of coding standards.

【1374】B.2.4.4 「トレーシング」 診断上の助けとして、トレースメカニズムが実装され
る。これはマイクロコードがシングルステップ化される
ようにする。レジスタCED H TRACE内のビッ
トCED H TRACE EVENTとCED H
TRACE MASKがこれを制御する。その名前が示
すように、それらは非常に良く似た方法で通常のイベン
トビットに対して作用する。しかしながら、幾つかの違
い(特に、UPI割り込みが生じないこと)により、そ
れらは他のイベントビットと一緒にグループ分けされる
ことはない。
[1374] B. 2.4.4 "Tracing" As a diagnostic aid, a tracing mechanism is implemented. This causes the microcode to be single-stepped. Bits in register CED H TRACE CED H TRACE EVENT and CED H
TRACE MASK controls this. As the name implies, they operate on normal event bits in a very similar way. However, due to some differences (especially the absence of UPI interrupts), they are not grouped with other event bits.

【1375】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から
読み出され、新しいトレースイベントが発生する。
The tracing mechanism is turned on when CED H TRACE MASK is set to 1. A trace event occurs after each microcode command is read from ROM, but before it is displayed at the Huffman decoder. In this case, CED H TRA
CE EVENT becomes 1. Since no interrupt occurs, it must be registered. All microcode words are in registers CED H KEY DMX
WORD 0-CED H KEY DMXWORD
Available at 9. The directive can be modified at this point if necessary. CED H TRACE EVE
When 1 is written to NT, the command is executed and CED
Clear H TRACE EVENT. Shortly thereafter, the next microcode word to be implemented is read from the ROM and a new trace event occurs.

【1376】B.2.5 「マイクロコード」 マイクロコードはアッセンブラhppを用いてプログラ
ムされるが、それは非常に単純なツールで、抜取りの大
部分がマクロプリプロセッサを使用して行われる。標準
のCプリプロセッサcppがこの目的のために使用され
る。
1376. 2.5 "Microcode" Microcode is programmed using the assembler hpp, which is a very simple tool and most of the sampling is done using a macro preprocessor. A standard C preprocessor cpp is used for this purpose.

【1377】コードは次のように指示される。[1377] The code is indicated as follows.

【1378】Ucode.uは主ファイルである。ま
ず、これはトークンを定義するtokens.hを含
む。次に、regfile.hはALUレジスタmap
を定義する。fields.uはマイクロコードワード
内の様々なフィールドを定義し、フィールド内の各々の
可能なビットパターンのために定義された記号リストを
提供する。次に、コードの中で使用されるラベルが定義
される。このステップの後、基本的な指令を明確にする
多数のcppmacrosを定義するために、inst
r.uが含まれる。次に、errors.hがパーザー
イベントを定義するナンバーを定義する。次に、unw
ord.uはマイクロコードワードを構築するためにフ
ィールドが置かれるオーダーを定義する。
[1378] Ucode. u is the main file. First, this is tokens. h. Next, regfile. h is the ALU register map
Is defined. fields. u defines the various fields in the microcodeword and provides a list of symbols defined for each possible bit pattern in the field. Next, the labels used in the code are defined. After this step, inst to define a number of cpmpros that clarify the basic directives,
r. u. Next, errors. h defines the number that defines the parser event. Next, unw
ord. u defines the order in which fields are placed to build a microcodeword.

【1379】残りのucode.uはマイクロコードプ
ログラム自体である。
[1379] The remaining ucode. u is the microcode program itself.

【1380】B.2.5.1 「指令」 本セクションでは、ucode.uにおいて定義される
様々な指令を説明する。多くの場合、1つのテーマ(特
にALU指令)に関して変形が少ないので、全ての指令
に関する説明をここで行うわけではない。
1380. 2.5.1 "Directive" In this section, ucode. The various commands defined in u are described. In many cases, there are few variations on one theme (especially ALU directives), so not all directives will be described here.

【1381】B.2.5.1.1 「ハフマン及びデー
タインデックス指令」 本発明では、ハフマンデコーダはH NOP指令を使用
する。それはノーオペレーション指令である。ハフマン
は如何なるデータもデコードされないという意味におい
て、何もしない。この指令により作られるデータは常に
ゼロである。従って、関連指令はALUに送られる。
[1381] 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 related command is sent to the ALU.

【1382】次の指令はトークングループ;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パディングのために同じことをする。
[1382] The next command is a token group; H TOK
SRCH, H TOKSKIP PAD, H TOKS
KIP JPAD, H TOKPASS and H TOK
READ. They all read 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. H TOKSRCH discards all serial data before the token and reads one token word. H TOKSKIP PAD skips padding bits (H.261 and MPEG) and reads one token word. H TOKSKIP JPAD
Does the same for JPEG padding.

【1383】H FLC(NB)はNBビットの固定長
コードを読む。
[1383] The H FLC (NB) reads a fixed length code of NB bits.

【1384】H VLC(TBL)は(mnemoni
c、例えばH VLC(tcoeff)として送られ
る)指示されたテーブルを用いて、vicを読む。
[1384] H VLC (TBL) is (Mnemoni
c, read vic using indicated table (e.g., sent as HVLC (tcoeff)).

【1385】H FLC IE(NB)はH FLCと
同様であるが、ignore errorsビットが設
定される。
The H FLC IE (NB) is the same as the H FLC, but with the errorerrors bit set.

【1386】H TEST VLC(TBL)はH F
LCと同様であるが、ハフマンインデックスが無修正の
データユニットインデックス部を通して送られるよう
に、バイパスビットが設定される。
[1386] H TEST VLC (TBL) is HF
Similar to LC, but with the bypass bit set so that the Huffman index is sent through the unmodified data unit index.

【1387】H FWD R及びH BWD RはAL
Uレジスタr fwd r sizeとr bwd r
sizeにより各々指示されるサイズのFLCを読
む。
[1387] 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 each size.

【1388】H DCJはJPEGスタイルのDC係
数、ALUからのテーブルナンバーを読む。
HDDCJ reads the JPEG style DC coefficient and the table number from the ALU.

【1389】H TC/OE/FF及びH DCTC/
OE/FFは変換係数を読む。HDCTC/OE/FF
において、第1のcoeffビットが設定され、non
−intraブロックのためのものである一方、H T
C/OE/FFはDCタームが読まれた後のintra
ブロックのためである。
[1389] H TC / OE / FF and H DCTC /
The OE / FF reads the transform coefficients. HDCTC / OE / FF
, The first coeff bit is set and non
H T while for the intra block
C / OE / FF is intra after DC term is read
For the block.

【1390】H NOMINATE(TBL)は次のダ
ウンロードのためのテーブルを指名する。
HNOMINATE (TBL) names a table for the next download.

【1391】H DNL(NB)はNBビットを読み、
それらを指名されたテーブルにダウンロードする。
[1390] H DNL (NB) reads the NB bit,
Download them to the named table.

【1392】B.2.5.1.2 「ALU指令」 実際には、詳細に説明するにはあまりに多くのALU指
令がありすぎる。Mnemonics構築される基本的
な方法について論じ、これにより指令が読めるようにな
るべきである。更に、これらは当業者の一人で有れば容
易に理解できるものでなければならない。
1392. 2.5.1.2 "ALU directives" In practice, there are too many ALU directives to elaborate. The basic method by which Mnemonics is constructed should be discussed so that the instructions can be read. Furthermore, they must be easily understood by one of ordinary skill in the art.

【1393】多くのALU指令は場所から場所へとデー
タを移動させることに関係し、従って、一般的な「ロー
ド」指令が使用される。Mnemonicにおいて、A
LDxyは、yの内容がxにロードされる、つまりデ
スティネーションが先に記録され、ソースが次にくるこ
とが解る。
Many ALU commands involve moving data from place to place, so a general "load" command is used. In Mnemonic, A
LDxy knows that the contents of y are loaded into x, that is, the destination is recorded first and the source comes next.

【1394】[1394]

【表189】 表B.2.10 可能なソース及びデータのデスティネ
ーションを表示するための文字 例として、LDAIはAレジスタにALUのデータ入力
ポートからのデータをロードする。ALUレジスタファ
イルが指定されると、MnemonicはLDAF(R
A)がレジスタファイル内のロケーションRAの内容を
Aにロードするようにアドレスを取るであろう。
[Table 189] Table B. 2.10 As an example of characters to indicate possible sources and destinations of data, LDAI loads the A register with data from the data input port of the ALU. If the ALU register file is specified, Mnemonic will send the LDAF (R
A) will take the address to load A with the contents of location RA in the register file.

【1395】ALUはソースからデスティネーションに
動かされるにつれて、データを修正する能力を有する。
この場合、算術はソースデータの一部として指示され
る。従って、Mnemonic LDA AADDF
(RA)は、Aレジスタの現在の内容プラス、レジスタ
ファイル内の指示されたロケーションの内容をAにロー
ドする。別の例はLDA ISGXRであり、それは入
力データを取り、サインはRUNレジスタの中で指示さ
れるビットから伸び、Aレジスタにその結果を記憶す
る。
The ALU has the ability to modify data as it is moved from source to destination.
In this case, the 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 LDA ISGXR, which takes input data, the sign extends from the bit indicated in the RUN register, and stores the result in the A register.

【1396】多くの場合、同じ結果のために1つ以上の
デスティネーションが指定される。ここでも、例とし
て、LDF LDA ASUBC(RA)では、Aマイ
ナス定数の結果をAレジスタ及びレジスタファイルの両
方にロードする。
[1396] In many cases, one or more destinations are specified for the same result. Again, by way of example, LDF LDA ASUBC (RA) loads the result of A minus a constant into both the A register and the register file.

【1397】他のMnemonicsは特別な動作のた
めに存在する。例えば、CLRAはAレジスタをクリア
するために使用され、RMBCはマクロブロックカウン
タをリセットするために使用される。これらはかなり自
明であり、instr.uの中のコメントにおいて説明
される。
[1310] Other Mnemonics exist for special operations. For example, CLRA is used to clear the A register and RMBC is used to reset the macroblock counter. These are fairly self-explanatory, instr. This is explained in the comments in u.

【1398】1つの例外は、オペレーションの結果が通
常の動作に加えてトークンフォマッティングに出力され
ることを指示するために、接尾辞Oを使用することであ
る。このように、LDFI O(RA)は入力データを
記憶し、更にそれをトークンフォマッティングに送る。
あるいはその代わりに、所望であれば、これはLDF
LDO I(RA)であってもよいであろう。 B.2.5.1.3 「トークンフォマッティング指
令」 これはT NOP「ノーオペレーション」指令である。
これは実際には、ノーオペレーション指令を構築するこ
とは不可能なので、誤称である。しかしながら、これは
ALUがトークンフォマッティングに出力されないの
で、その指令が重要ではない時に使用される。
One exception is the use of the suffix O to indicate that the result of the operation is output to token formatting in addition to normal operation. Thus, the LDFIO (RA) stores the input data and sends it to token formatting.
Alternatively, if desired, this can be an LDF
It could 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 not possible to construct a no-operation command in practice. However, this is used when the command is not important because the ALU is not output on token formatting.

【1399】T TOKはトークンワードを出力する。[1398] T TOK outputs a token word.

【1400】T DATは(ハフマンステートマシーン
指令と共にのみ使用される)データトークンワードを出
力する。
[1400] T DAT outputs a data token word (used only with Huffman state machine commands).

【1401】T GENT8は一定フィールドの8ビッ
トに基づいてトークンワードを生み出す。
T GENT8 generates a token word based on the 8 bits of a constant field.

【1402】T GENT8EはT GENT8と同様
であるが、拡張ビットは1である。 T OPD(NB)は一定フィールドから来るビットの
残部と共に、出力の底部NBビットからのデータのNB
ビット。
[1402] T GENT8E is the same as T GENT8, but the extension bit is one. T OPD (NB) is the NB of the data from the bottom NB bits of the output, with the rest of the bits coming from the constant field.
bit.

【1403】T OPDE(NB)はT OPDと同様
であるが、拡張ビットが高い。
[1400] TOPDE (NB) is the same as TOPD, but the extension bit is high.

【1404】T OPD8はT OPD(8)用のショ
ートハンドである。
[1404] T OPD8 is a short hand for T OPD (8).

【1405】T OPD8EはT OPDE(8)用の
ショートハンドである。
[1404] T OPD8E is a short hand for TOPDE (8).

【1406】B.2.5.1.4 「パーザーステート
マシーン指令」 この指令、D NOPはノーオペレーション、つまり、
アドレスは普通に増加し、パーザーステートマシーンは
何も特別なことをしない。指令の残部はデータパイプラ
インに送られる。待機は発生しない。
[1406] B. 2.5.1.4 “Parser State Machine Command” This command, D NOP, is a no operation,
Addresses increase normally, and the parser state machine does nothing special. The remainder of the command is sent to the data pipeline. No waiting occurs.

【1407】D WAITはD NOPと同様である
が、フィードバックが発生するのを待つ。
D WAIT is similar to D NOP, but waits for feedback to occur.

【1408】単純なジャンプグループ。D JMP(A
DDR)及びD JNX(ADDR)のようなMnem
onicsは、条件が満たされればジャンプする。指令
はハフマンデコーダに出力されない。
[1408] Simple jump group. D JMP (A
Mnem like DDR) and DJNX (ADDR)
onics jumps if the condition is met. The command is not output to the Huffman decoder.

【1409】外部ジャンプグループ。D XJMP(A
DDR)及びD XJNX(ADDR)のようなMne
monics。これらは上記の単純な相対物と同様であ
るが、その指令はハフマンデコーダに出力される。
[1409] External jump group. D XJMP (A
Mne like DDR) and D XJNX (ADDR)
monics . These are similar to the simple counterparts described above, but their commands are output to a Huffman decoder.

【1410】ジャンプ及び待機グループ。D WJNZ
(ADDR)等のMnemonics。これらの指令は
ハフマンデコーダに出力され、パーザーは状態を評価す
る前に、ALUからのフィードバックを待つ。
[1410] Jump and Wait Groups. D WJNZ
Mnemonics such as (ADDR). These commands are output to the Huffman decoder, and the parser waits for feedback from the ALU before evaluating the state.

【1411】以下のMnemonicsは状態自体のた
めに使用される。
The following Mnemonics are used for the state itself.

【1412】[1412]

【表190】 D EVENTはイベントの発生を引き起こす。[Table 190] EVENT causes an event to occur.

【1413】D DELTはディフォルト指令の構築の
ためである。これはイベントを引き起こし、ラベルdf
ltを持つロケーションにジャンプする。この指令はR
OMを満たすために使用され、未使用のロケーションが
トラップされるので、実行されてはならない。
[1413] D DELETE is for construction of a default command. This triggers the event and the label df
Jump to location with lt. This command is R
It is used to fill the OM and must not be performed because unused locations are trapped.

【1414】D ERRORはイベントを引き起こし、
誤差からのリカバリを企てると仮定されるラベルsrc
h dispatchにジャンプする。セクションB.
3 「ハフマンデコーダALU」 B.3.1 「序文」 本発明によれば、ハフマンデコーダALUサブブロック
はハフマンデコーダブロック用の全般的な算術的及び論
理的機能性を提供する。それは加算及び減算操作、様々
なタイプのサイン拡張操作、及び入力データのrun−
sign−levelトリプルズへのフォーマッティン
グを行う能力を有する。更に、それはその正確な操作及
び構成が、入力データと同期的に、つまり2線式インタ
ーフェース制御下に、ALUに到着するマイクロインス
トラクションワードにより明記される柔軟な構造を有す
る。
[1414] D ERROR causes an event,
Label src assumed to attempt recovery from error
Jump to h dispatch. Section B.
3 "Huffman Decoder ALU" 3.1 Introduction According to 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-
It has the ability to format into sign-level triples. In addition, it has a flexible structure whose exact operation and configuration is specified by microinstruction words arriving at the ALU synchronously with the input data, ie under the control of a two-wire interface.

【1415】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 on the token bus). All of these, except the microinstruction word, drive buses of each width through the ALU data path. Represents the extension bit, 17 bit run
Output with sign level (out data)
There is one bit in the microinstruction word. At each end of the ALU data path is a two-wire interface and a series of condition codes that are output with their own valid signal, cc valid. ALU
There is a register file accessible to other Huffman decoder sub-blocks and the microprocessor interface via.

【1416】B.3.2.2 「基本構造」 ハフマンALUの基本構造は図135に示す通りであ
る。それは以下の構成要素を含む: 入力ブロック 出力ブロック コンディションコードブロック ソースマルチプレクシングを備えたAレジスタ ソースマルチプレクシングを備えたRunレジスタ(6
ビット) ソースマルチプレクシングを備えたアダー/サブトラク
ター ソースマルチプレクシングを備えたサイン拡張ロジック レジスタファイル (出力ブロックを除き)これらのブロックの各々はその
出力をデータパスを通って走るバス上に押しやり、これ
らのバスは次にブロックソース用のマルチプレクシング
への入力として使用される。例えば、アダーはAレジス
タに対する可能な入力の1つである、それ自身のデータ
パスのバスを有する。同様に、Aレジスタはアダーに対
する可能な入力の1つを形成するそれ自身のバスを有す
る。この点で、マイクロインストラクションワードに関
するセクション7において明記したように、全ての可能
性のサブセットだけが存在する。
B. [1416] 3.2.2 “Basic Structure” The basic structure of the Huffman ALU is as shown in FIG. It includes 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 sign extension logic register file with source multiplexing (except for output blocks) each of these blocks pushes its output onto a bus running through the data path, These buses are then used as inputs to multiplexing for block sources. For example, an adder is one of the possible inputs to the A register, its own data
Having a pass bus . Similarly, the A register has its own bus which forms one of the possible inputs to the adder. In this regard, there is only a subset of all possibilities, as specified in section 7 on microinstruction words.

【1417】単一サイクルにおいて、アッドベースの指
令もしくはサイン拡張ベース指令のいずれかを実行する
ことが可能である。更に、それらのオペレーションが厳
密に平行である場合に限り、それらの両方を単一サイク
ルにおいて実行してもさしつかえない。換言すれば、加
算してサイン拡張、あるいはサイン拡張して加算のシー
ケンスは許されない。レジスタファイルは単一サイクル
において読み取られるか書き込まれるが、その両方はで
きない。
In a single cycle, it is possible to execute either an add-based command or a sign extension-based command. Further, both of them may be performed in a single cycle only if their operations are exactly 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.

【1418】出力データは3つのフィールドを持つ: ・ラン − 6ビット ・サイン(sign,符号)− 1ビット ・レベル − 10ビット データがALUを通してまっすぐ送られる場合、入力デ
ータレジスタの最も重要性の少ない11ビットがサイン
フィールド及びレベルフィールドにラッチされる。
The output data has three fields:-run-6 bits-sign (sign) -1 bit-level-10 bits-if data is sent straight through the ALU, the least significant of the input data registers 11 bits are signed
Field and level fields are latched.

【1419】制限されたALUのマルチサイクルオペレ
ーションをプログラムすることができる。この点で、必
要なサイクル数はレジスタファイルロケーションの内容
により決められ、そのアドレスはマイクロインストラク
ションにおいて明記され、反復カウンタが1にまで減少
する間に、同じオペレーションが繰り返し実行される。
この設備は、典型的に、左方向のシフトを行うために使
用され、アダーを用いてAレジスタをそれ自体に加算
し、その結果をAレジスタに戻して記憶する。
[1400] 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, the address of which is specified in the microinstruction, and the same operation is performed repeatedly while the iteration counter decreases to one.
This facility is typically used to perform a left shift, adding an A-register to itself using an adder and storing the result back in the A-register.

【1420】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と共に使用される。
B. [1420] 3.3 “Adder / Subtractor Subblock” This is a 12-bit wide adder, and its input2
, And an arbitrary setting of carry-in bit. The output is a 12-bit sum, car
ry-out is not used. There are seven modes of operation: ADD: add the carry of the set to zero: input1 + input2 ADC: add the carry of the set to 1: input1 + input2 + 1 SBC: invert the input2 and carry the set To zero: input1-input2-1-SUB: Invert input2 and set carry to 1: input1-input2-TCI: If input2 <0, use SUB; otherwise use ADD . This is used with input1 set to zero to get the magnitude value from the two's complement value.

【1421】DCD(DC差):input2<0であ
れば、ADCを行い、そうでなければADDを行う。
DCD (DC difference): If input2 <0, perform ADC; otherwise, perform ADD.

【1422】VRA(ベクトル残差アッド):inpu
t1<0であれば、ADCを行い、そうでなければSB
Cを行う。
VRA (vector residual add): input
If t1 <0, perform ADC; otherwise, perform SB.
Perform C.

【1423】B.3.4 「サイン拡張サブブロック」 これは様々なモードでサインがサイズ入力からの入力デ
ータを拡張する12ビットユニットである。サイズは0
〜11までの4ビットバリューである(0は最も重要で
ないビットに関し、11は最も重要なビットに関す
る)。出力は12ビット修正データバリューであり、
「サイン」ビットである。
[1423] 3.4 "Signature Extension Subblock" This is a 12-bit unit where the sign extends the input data from the size input in various modes. Size is 0
4-bit values from 0 to 11 (0 for least significant bit, 11 for most significant bit). The output is the 12-bit modified data value,
The "sign" bit.

【1424】SGXMODE=NORMALでは、si
ze−thビット以上の全てのビットは、size−t
hビットの値を取る。下記のもの全ては変化せずそのま
まである。サインはsize−thビットの値を取る。
例えば: data = 1010 1010 1010 size = 2 output = 0000 0000 0010、sign=0 SGXMOD=INVERSEでは、size−thビ
ット以上の全てのビットは、size−thビットの逆
数を取る一方、下記のもの全ては変化せずそのままであ
る。サインはsize−thビットの逆数を取る。例え
ば: data = 1010 1010 1010 size = 0 output = 1111 1111 1111、sign=1 SGXMODE=DIFMAGでは、size−thビ
ットがゼロであれば、size−thビット以下の全て
のビットは反転される一方、上記の全てのものは変化せ
ずそのままである。size−thビットが1であれ
ば、全てのビットは変化せずに残る。両方の場合に、サ
インはsize−thビットの逆数を取る。これはAC
差バリューのマグニチュードを得るために使用される。
例えば: data = 0000 1010 1010 size = 2 output = 0000 1010 1101、sign=1 data = 0000 1010 1010 size = 1 output = 0000 1010 1101、sign=0 SGXMODE=DIFCOMPでは、size−th
ビット以上の(ではあるがsize−thビットは含ま
ない)全てのビットはsize−thビットの逆数を取
り、一方それ以下の全てのビットは変化せずに残る。サ
インはsize−thビットの逆数を取る。これはDC
差バリューのために2つの補数値を取るために使用され
る。例えば: data = 1010 1010 1010 size = 0 output = 1111 1111 1110、sign=1 B.3.5 「コンディションコード」 ハフマンブロックが使用するコンディションコードの2
つのバイト(16ビット)があり、その内特定のビット
がALU/レジスタファイルによって作られる。これら
はサインコンディションコード、ゼロコンディションコ
ード、拡張コンディションコード、及び変化検出ビット
である。これらのコードの最後の2つは、パーザーによ
って他のものと同じようには使用されないので、実際に
はコンディションコードではない。
In SGXMODE = NORMAL, si
All bits greater than or equal to size-th bits are size-t
Take the value of h bits. All of the following remain unchanged. The sign takes a value of size-th bits.
For example: data = 1010 1010 1010 size = 2 output = 0000 0000 0010, sign = 0 In SGXMOD = INVERSE, all bits greater than or equal to size-th bits take the reciprocal of size-th bits, while all of the following It remains unchanged. The sign takes the reciprocal of size-th bits. For example: data = 1010 1010 1010 size = 0 output = 1111 1111 1111, sign = 1 In SGXMODE = DIFMAG, if the size-th bit is zero, all bits below the size-th bit are inverted, while All things remain unchanged. If the size-th bit is 1, all bits remain unchanged. In both cases, the sign 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, sign = 1 data = 0000 1010 1010 size = 1 output = 0000 1010 1101;
All bits greater than (but not including, size-th bits) take the reciprocal of size-th bits, while all bits less than that remain unchanged. The sign takes the reciprocal of size-th bits. This is DC
Used to take two's complement values for the difference value. For example: data = 1010 1010 1010 size = 0 output = 1111 1111 1110, sign = 1 B. 3.5 “Condition code” 2 of the condition code used by Huffman block
There are three bytes (16 bits), of which certain 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 parsers as others.

【1425】サイン、ゼロ、及び拡張コンディションコ
ードはパーザーが更新するように指令を出す時に更新さ
れ、これら各々の指令のために、コンディションコード
有効信号が一度だけ高いパルスで送られる。
The sign, zero, and extended condition codes are updated when the parser issues a command to update, and for each of these commands, the condition code valid signal is sent only once with a high pulse.

【1426】サインコンディションコードは単にラッチ
されるサイン拡張サイン出力であり、一方、ゼロコンデ
ィションコードはAレジスタへの入力がゼロである場合
に、1に設定される。拡張コンディションコードはOU
TSRCとは無関係にラッチされる入力拡張ビットであ
る。
The sign condition code is simply the sign extended sign output latched, while the zero condition code is set to one if the input to the A register is zero. Extended condition code is OU
Input extension bit latched independently of TSRC.

【1427】コンディションコードは特定のコンディシ
ョンタイプを評価するために使用され得る: ・結果は定数に等しい − サブトラクトを使用し、ゼ
ロコンディション ・結果はレジスタ値に等しい − サブトラクトを使用
し、ゼロコンディション ・レジスタは定数に等しい − サブトラクトを使用
し、ゼロコンディション ・レジスタビットセット − サイン拡張を使用し、サ
インコンディション ・結果ビットセット − サイン拡張を使用し、サイン
コンディション サイン拡張及びサインコンディションコードの組合せを
使用する場合、従来の論理ANDの場合のように多重ビ
ットを評価するというより、1つの特定のビットを評価
することだけが可能であることに注目。
The condition code can be used to evaluate a particular condition type: the result is equal to a constant-using a subtract, zero condition the result is equal to the register value-using a 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, sign condition using a combination of sign extension and sign condition code Note that it is only possible to evaluate one particular bit, rather than to evaluate multiple bits as in a conventional logical AND.

【1428】本発明において、変化検出ビットはゼロコ
ンディションコードとして同じロジックを使用して作ら
れるが、関連する有効な信号を持ってはいない。マイク
ロインストラクション内のビットは、レジスタファイル
に最近書き込まれたバリューが既に存在しているものと
異なる(2つのクロックサイクルが必要であり、まずR
EG−MODEをREADに設定し、次にREGMOD
EをWRITEに設定することを意味する)場合に、変
化検出ビットを更新すべきであることを指示する。次
に、変更されたバリューが検出された場合、マイクロプ
ロセッサの割り込みが開始される。変化検出ビットは通
常の方法でChange Detectを起動させるこ
とによりリセットされるが、REGMODEはREAD
に設定される。
In the present invention, the change detection bits are created using the same logic as the zero condition code, but do not have an associated valid signal. The bits in the microinstruction are different from those in which the value recently written to the register file already exists (requires two clock cycles, first R
Set EG-MODE to READ, then REGMOD
E to WRITE) indicates that the change detection bit should be updated. Next, when the changed value is detected, an interrupt of the microprocessor is started. The change detection bit is reset by activating Change Detect in the normal manner, but REGMODE is READ
Is set to

【1429】(レジスタファイルの一部を形成する、下
記参照)ハードワイヤードマクロブロックカウンタ構造
も、次のようなコンディションコードを作り出す:Mb
Start、Pattern Code、Resta
rt及びPic Start。
(Forming part of the register file, see below) The hardwired macroblock counter structure also produces the following condition code: Mb
Start, Pattern Code, Resta
rt and Pic Start.

【1430】B.3.6 「レジスタファイル」 レジスタファイル用のアドレスマップを下記に示す。そ
れはALUデータパス及びUPIの両方に共通である7
ビットアドレススペースを使用する。多くのロケーショ
ンはALUによってアクセスすることができず、これら
は典型的にハードワイヤードマクロブロック構造の中の
カウンタであり、ALU自体の中のレジスタである。後
者のレジスタは専用のアクセスを持っているが、UPI
用のアドレスマップの一部を形成する。(表において0
によってオーバーサイズが表示される)あるマルチバイ
トのロケーションは、1つのALUアドレスと、多重U
PIアドレスを持つ。同様に、成分カウント、CC(表
ではIで指示される)によりインデックスされるレジス
タグループは、ALUにより1つのロケーションとして
処理される。これは初期設定及びリセッティングのた
め、またブロックレベルのオペレーションのためにマイ
クロプログラミングを容易にする。
[1430] B. 3.6 “Register File” The address map for the register file is shown below. It is common to both ALU datapath and UPI7
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 the address map for (0 in the table
A multi-byte location is indicated by one ALU address and multiple U
Has a PI address. Similarly, a 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, and for block-level operation.

【1431】専用ALUレジスタ(UPIリードオンリ
ー)を除き、全てのロケーションはリード/ライトであ
り、全てのカウンタは指令ワード内のビットによってゼ
ロにリセットされる。パターンコードレジスタは右方向
シフトの能力を持ち、その最も重要でないビットがPa
ttern Codeコンディションビットを形成す
る。ハードワイヤードマクロブロック構造の全てのレジ
スタは表中Mで表示され、更にカウンタ(n−ビット)
であるものはCnという注釈が付けられる。
Except for the dedicated ALU register (UPI read only), all locations are read / write and all counters are reset to zero by bits in the command word. The pattern code register has the ability to shift right, with the least significant bit being Pa
Form a tern Code condition bit. All registers in the hardwired macroblock structure are denoted by M in the table, and a counter (n-bit)
Are annotated as Cn.

【1432】本発明では、特定のロケーションはハフマ
ンサブシステムコーディングスタンダードの他の部分、
2つのr−sizeロケーション、及びハフマンデコー
ダに対するac huffテーブル及びdc huff
テーブルの各々のための1つのロケーション(1ビット
ワード)にハードワイヤードされる内容を持つ。
In the present invention, the specific location is the other 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 hardwired into one location (one bit word) for each of the tables.

【1433】太字のアドレスはロケーションがALU及
びUPIの両方でアクセス可能であることを示し、そう
でなければ、それらはUPIアクセスだけを持つ。AL
UによりCCを通して指示されないレジスタグループ
は、指令ワードの中で明記される1つのALUアドレス
を持つことができ、CCはアクセスすべきグループ内の
物理的ロケーションを選択するデータトークンあろう。
ALUアドレスは、従来は最初のアドレスを使用すべき
であったが、グループ内のどのレジスタのものであって
もよい。これは、実際にはどちらのアドレスであっても
充分であるが、ペアのアドレスのうち低い方のアドレス
を使用して、アクセスされるべきマルチバイトのロケー
ションの場合にもあてはまる。ロケーション2E及び2
Fはトップレベルのアドレスマップ(Tで表示される)
において、つまりキーホールレジスタを通してだけでは
なく、アクセス可能であることに注目。これら2つのロ
ケーションもゼロにリセットされる。
The addresses in bold indicate that the locations are accessible in both ALU and UPI, otherwise they have only UPI access. AL
Register groups not indicated by the U through the CC can have one ALU address specified in the command word, and the CC will be a data token that selects a physical location within the group to access.
Conventionally, the ALU address should use the first address, but may be from any register in the group. This is true in the case of multi-byte locations to be accessed using the lower address of the pair, although either address is actually sufficient. Locations 2E and 2
F is the top level address map (indicated by T)
Note that it is accessible, not just through the keyhole register. These two locations are also reset to zero.

【1434】レジスタファイルはアクセススピードを改
良するため、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 allocation for MPEG and two repeated sections are JPEG and H.264. 2
61 variations are provided.

【1435】[1435]

【表191】 [Table 191]

【1436】[1436]

【表192】 [Table 192]

【1437】[1437]

【表193】 [Table 193]

【1438】[1438]

【表194】 [Table 194]

【1439】[1439]

【表195】 [Table 195]

【1440】[1440]

【表196】 [Table 196]

【1441】[1441]

【表197】 [Table 197]

【1442】[1442]

【表198】 [Table 198]

【1443】[1443]

【表199】 [Table 199]

【1444】[1444]

【表200】 B.3.7 「マイクロインストラクションワード」 本発明によれば、ALUマイクロインストラクションワ
ードは多くのフィールドに分けられ、その各々が上記構
造の異なる局面を制御する。指令ワードの中で使用され
る全ビット数は36であり、(拡張ビット入力のために
はプラス1)及びフィールドを横切る最小限度のエンコ
ーディングが採用され、ハードウェア構成の最大限度の
柔軟性が維持される。指令ワードは下記に詳述するよう
に区画される。ディフォルトフィールドバリュー、つま
り、ALUもしくはレジスタファイルのステートを変更
しないものがイタリック体で示されている。
[Table 200] B. 3.7 "Microinstruction Word" According to the present invention, the ALU microinstruction word is divided into a number of fields, each of which controls a different aspect of the above structure. The total number of bits used in the command word is 36, a minimum encoding (plus one for extended bit input) and across the field is employed, maintaining maximum flexibility in hardware configuration Is done. The command word is partitioned as described in detail below. Default field values, ie, those that do not change the state of the ALU or register file, are shown in italics.

【1445】[1445]

【表201】 [Table 201]

【1446】[1446]

【表202】 [Table 202]

【1447】[1449]

【表203】 [Table 203]

【1448】[1448]

【表204】 [Table 204]

【1449】[1449]

【表205】 セクションB.4 「バッファマネージャ」 B.4.1 「序文」 本文書は本発明によるバッファマネージャの目的、動作
及び実装を説明する(bman)。
[Table 205] Section B. 4 "Buffer manager" 4.1 Introduction This document describes the purpose, operation and implementation of a buffer manager according to the present invention (bman).

【1450】B.4.2 「展望」 バッファマネージャはDRAMインターフェース用に4
つのアドレスを提供する。これらのアドレスはDRAM
内のページアドレスである。DRAMインターフェース
はDRAM内に2つのFIFO、コード化データバッフ
ァとトークンデータバッファを維持する。従って、4つ
のアドレスのために、各バッファのためのリードアドレ
スとライトアドレスがある。
[1450] B. 4.2 “Prospects” The buffer manager uses 4
Provide two addresses. These addresses are
Is the page address within. The DRAM interface maintains two FIFOs in the DRAM, a coded data buffer and a token data buffer. Thus, for four addresses, there is a read address and a write address for each buffer.

【1451】B.4.3 「インターフェース」 バッファマネージャはDRAMインターフェースとマイ
クロプロセッサに対してのみ接続される。マイクロプロ
セッサはB.4.4において示される「初期設定レジス
タ」を設定するためだけに使用する必要がある。DRA
Mインターフェースを備えたインターフェースは、各ア
ドレスのためにREQuest/ACKnowledg
eプロトコールにより制御される4つの18ビットアド
レスである。(バッファマネージャはデータパスの中に
はないので、バッファマネージャは2線式インターフェ
ースが欠けている。) 更に、バッファマネージャはDRAMインターフェース
クロック発生器をオフにし、DRAMインターフェース
スキャンチェインをオンにする。
[1451] B. 4.3 "Interface" The buffer manager is only connected to the DRAM interface and the microprocessor. The microprocessor is B.I. It only needs to be used to set the "initialization register" shown in 4.4. DRA
The interface with the M interface has a Request / ACKnowledg for each address.
Four 18-bit addresses controlled by the e-protocol. (Because the buffer manager is not in the data path, the buffer manager lacks a two-wire interface.) In addition, the buffer manager turns off the DRAM interface clock generator and turns on the DRAM interface scan chain.

【1452】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という用語が用いられる。
B. [1452] 4.4 “Address Calculation” The read address and write address for each buffer are 9
Created from 18 18-bit registers:-Initialization register (RW from microprocessor)-BASECB-Base address of coded data buffer-LENGTHCB-Maximum size (in page of coded data buffer)-BASETB-Token data buffer Base address of LENGTHTB-Maximum size of token data buffer (in page) LIMIT-Size of DRAM (in page) Dynamic register (R from microprocessor)
O)-READCB-coded data buffer read pointer for 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 To calculate the address :-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.

【1453】B.4.5 「ブロックの説明」 本発明では、バッファマネージャはスノーパがDRAM
インターフェース接合部を監視するリングの中で接続さ
れる3つのトップレベルのモジュールで構成される。モ
ジュールはbmprtize(プライオリティ)、bm
instr(指令)であり、bmrecalc(再計
算)はそのオーダーのリングの中に配置され、omsn
oop(スノーパ)はアドレス出力の上に配置される。
[1453] B. 4.5 "Description of Block" In the present invention, the buffer manager
It consists of three top-level modules connected in a ring that monitors the interface junction. Modules are bmprize (priority), bm
instr (command) and bmrecalc (recalculation) is placed in the ring of that order, and omsn
The oop (snorper) is arranged above the address output.

【1454】モジュール、BmprtizeはREQ/
ACKプロトコール、バッファ用のFULL/EMPT
Yフラグを処理し、各アドレスのステート、つまり、i
sit a valid address?を維持す
る。この情報から、それは(もしある場合)どのアドレ
スを再計算すべきであるかをbminstrに命じる。
更に、それはFULL/EMPTYフラグを示すBUF
CSR(status)マイクロプロセッサレジスタ
を操作し、またマイクロプロセッサライトアクセスをバ
ッファマネージャレジスタに対して制御する、buf
accessマイクロプロセッサレジスタを操作する。
[1454] The 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 what address (if any) should be recalculated.
In addition, it contains a BUF indicating the FULL / EMPTY flag.
Buf, which manipulates CSR (status) microprocessor registers and controls microprocessor write access to buffer manager registers
Manipulates access microprocessor registers.

【1455】モジュール、Bminstrは、bmpr
tizeによりアドレスを計算するように命じられる
と、6つの指令(2サイクル毎に1つ)を出して、アド
レスを計算するためにbmrecalcを制御する。
[1455] The module Bminstr is bmpr
When the command to calculate the address is issued, six commands (one for every two cycles) are issued to control bmcalc to calculate the address.

【1456】モジュール、Bmrecalcはbmin
strの指令の下、アドレスを再計算する。それは2サ
イクル毎に指令を動かし、初期設定レジスタ及びダイナ
ミックレジスタの全て及び加算、減算及びモジュラスが
できる単純なALUを含む。それはそれが検出するFU
LL/EMPTYステートのSbmprtizeを知ら
せ、それが完了すると、アドレスを計算する。
[1456] Module, Bmrecalc is bmin
Under the command of str, the address is recalculated. 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. It is the FU it detects
It signals Sbmprize in the LL / EMPTY state, and upon completion, calculates the address.

【1457】B.4.6 「ブロック実装」 B.4.6.1 「Bmprtize」 リセットにおいて、buf accessマイクロプロ
セッサレジスタは1に設定され、初期設定レジスタの設
定を可能にする。buf accessが1を読み戻し
ている間は、如何なるアドレス計算も開始されない。な
ぜなら、有効な初期設定レジスタがなければ、それらの
計算は無意味だからである。
[1457] B. 4.6 "Block implementation" 4.6.1 "Bmprize" On reset, the buf access microprocessor register is set to 1, allowing the initialization register to be set. While buf access is reading back 1, no address calculation is started. This is because without a valid initialization register, those calculations are meaningless.

【1458】一度buf accessが完全認定され
る(それにゼロを書き込む)と、その目的は全ての4つ
のアドレスを有効にすることであるので、mbprti
zeは(それらを再計算して)全てのアドレスを有効に
するように務める。この段階で、バッファマネージャは
「スターティングアップ」であり(つまり、全てのアド
レスがまだ計算されていない)、こうして如何なるリク
エストも認定されない。全てのアドレスが一度有効にな
ると、スタートアップが終了し、全てのリクエストが認
定される。この時点から、アドレスが無効になる(一度
使用され認識されているので)と、それは再計算される
ことになる。
Once the buf access is fully qualified (write zero to it), its purpose is to validate all four addresses, so mbprti
ze serves (validating them back) to make all addresses valid. At this stage, the buffer manager is "starting up" (i.e., all addresses have not yet been calculated), and thus no request is authorized. Once all addresses are valid once, the startup ends and all requests are certified. From this point, once the address becomes invalid (since it has been used and recognized), it will be recalculated.

【1459】アドレス間に優先順位を付けることは必要
ではない。なぜなら、バッファマネージャが12サイク
ル毎にアドレスを再計算することができる一方、DRA
Mインターフェースは最高の場合で、各17サイクル毎
にアドレスを使用することができるからである。従っ
て、スタートアップ後、一度に1つのアドレスだけが無
効となる。従って、bmprtizeは現在計算されて
いない無効アドレスを再計算するであろう。
It is not necessary to prioritize between addresses. Because the buffer manager can recalculate the address every 12 cycles while the DRA
This is because the M interface is at best able to use the address every 17 cycles. Thus, after startup, only one address at a time is invalid. Thus, bmprize will recalculate invalid addresses that are not currently calculated.

【1460】発明では、スタートアップはbuf ac
cessが認定される度に再入力されるので、マイクロ
プロセッサアクセス中は如何なるアドレスもDRAMイ
ンターフェースに供給されない。
In the invention, the startup is buf ac
During a microprocessor access, no address is provided to the DRAM interface because the ESS is re-entered each time it is qualified.

【1461】B.4.6.2 「Bminstr」 モジュール、BminstrはMOD12サイクルカウ
ンタ(アドレスを作るためにそれが取るサイクル数)を
含む。偶数サイクルが指令を開始するのに対して、奇数
サイクルが指令を終了することに注目。それがリードも
しくはライト計算であるか否かと共に、上位3ビットは
次のように、bmrecalcのための指令にデコード
される:リードアドレスのために:
[1461] B. 4.6.2 The "Bminstr" module, Bminstr, contains a MOD12 cycle counter (the number of cycles it takes to create an address). Note that the odd cycle ends the command while the even cycle starts the command. The upper three bits, along with whether it is a read or write calculation, are decoded into a command for bmrecalc as follows: for a read address:

【1462】[1462]

【表206】 ライトアドレスのために:[Table 206] For the write address:

【1463】[1463]

【表207】 注:最後のオペレーションの結果は常にアキュムレータ
の中に保持される。
[Table 207] Note: The result of the last operation is always kept in the accumulator.

【1464】再計算されるべきアドレスがない場合、サ
イクルカウンタはゼロで空転し、こうしてレジスタのい
ずれにも書き込まない指令を生じさせる。これは如何な
る影響も与えない。
If there are no addresses to be recalculated, the cycle counter will idle at zero, thus causing a command not to write to any of the registers. This has no effect.

【1465】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)。
1465. 4.6.3 "Bmrecalc" module, Bmrecalc performs one operation every two clock cycles. It is bmi on even counter cycle (start alu cyc)
nstr (and its buffer and io types), latch in the odd counter cycle (end al
u cyc) Latch the operation result. The operation result is always stored in the Accum register in addition to the register specified by the instruction. Furthermore, e
On the second alu cycle, bmrecalc informs bmprize as to whether the use of the address just computed will make the buffer full or empty, and when the address and full / empty are successfully computed (load addr).

【1466】Full/emptyはオペレーション結
果のサインビットを使用して計算される。
[1466] Full / empty is calculated using the sign bit of the operation result.

【1467】モジュラスオペレーションは真のモジュラ
スではないが、A mod Bが次のように実施され: (A>B? (A−B):A) しかしながら、これは次の場合に間違っているだけであ
り、 A>(2B−1) これは決して起こらない。
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.

【1468】B.4.6.4 「Bmsnoop」 モジュール、BmsnoopはDRAMインターフェー
スに供給されるアドレスを監視する4つの18ビットス
ーパー・スノーパで構成される。スノーパは外部DRA
Mのオンチップテストを可能にするため、superで
なければならない(つまり、クロックラニングでアクセ
スできなければならない)。これらのスノーパはREQ
/ACKシステム上で作用しなければならず、従って、
装置上の他のものとは異なる。
1468. 4.6.4 Bmsnoop module, Bmsnoop, consists of four 18-bit super snoopers that monitor the address provided to the DRAM interface. Snorpa is an external DRA
M must be super (i.e., must be accessible by clock running) to enable on-chip testing of M. These snoopers are REQ
/ ACK system, and therefore
Different from the others on the device.

【1469】REQ/ACKは、2線式プロトコールに
対抗するものとして、このインターフェース上で使用さ
れる。なぜなら、情報をセンダーに送り返す(つまり受
取を知らせる)ことが必須であり、アクセプトはそれを
しないからである。従って、これはFIFOポインタを
厳密に監視する。
[1469] REQ / ACK is used on this interface as opposed to a two-wire protocol. This is because it is essential to send the information back to the sender (that is, to signal receipt), and Accept does not. Thus, it closely monitors the FIFO pointer.

【1470】B.4.7 「レジスタ」 初期レジスタへのマイクロプロセッサのライトアクセス
を得るために、bufaccessに1を書き込むべき
であり、buf accessが1を読み返す時にアク
セスが得られる。逆に、マイクロプロセッサのライトア
クセスを放棄するために、ゼロをbuf access
に書き込むべきである。buf accessがゼロを
読み返す時にアクセスが得られる。buf acces
sは1にリセットされることに注目。
[1470] B. 4.7 “Registers” To obtain microprocessor write access to the initial registers, one should write bufaccess and access is obtained when buf access reads back one. Conversely, to abandon the microprocessor write access, zero is used for buf access.
Should be written to. Access is gained when buf access reads back zero. buf acces
Note that s is reset to 1.

【1471】本発明のダイナミックレジスタ及び初期設
定レジスタはいつでも読むことができるが、ダイナミッ
クレジスタがマイクロプロセッサを変化させていないこ
とを保証するため、ライトアクセスを得なければならな
い。
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 have not changed the microprocessor.

【1472】初期設定レジスタは一度だけ書き込まれる
ことが意図されている。それらを書き直すことにより、
バッファを間違って操作させることになるかもしれな
い。しかしながら、オン・ザ・フライのバッファの長さ
を増加させ、適時にバッファマネージャに新しい長さを
使用させることが企図されている。初期設定レジスタ内
のバリューが、例えば、バッファがオーバーラップしな
いことを感じられるかどうかを見るために如何なるチェ
ックも今まで行われてはいない。これはユーザーの責任
である。
The initialization register is intended to be written only once. By rewriting them,
It may cause the buffer to be manipulated incorrectly. However, it is contemplated to increase the length of the on-the-fly buffer and have the buffer manager use the new length in a timely manner. No check has ever been made to see if the value in the initialization register feels, for example, that the buffers do not overlap. This is the user's responsibility.

【1473】[1473]

【表208】 表中、Dがレジスタビットを指示し、xは如何なるレジ
スタビットも示さない。
[Table 208] In the table, D indicates a register bit and x does not indicate any register bit.

【1474】[1474]

【表209】 [Table 209]

【1475】[1475]

【表210】 [Table 210]

【1476】[1476]

【表211】 B.4.8 「照合」 確認は小さなFIFO’sをダミーのDRAMインター
フェースの上に置き、Lsimにおいて、またトップレ
ベルのチップシミュレーションの一部としてC−コード
において実施された。
[Table 211] B. 4.8 "Match" Verification was performed in L-sim, with small FIFO's on the dummy DRAM interface, and in C-code as part of the top-level chip simulation.

【1477】B.4.9 「テスト」 bmanに対するテストカバリッジはbmsnoop内
のスノーパ、ダイナミックレジスタ(B.4.4に示し
た)を通してであり、DRAMインターフェーススキャ
ンチェインの一部であるスキャンチェインを用いて行わ
れる。 セクションB.5 「逆モデラ」 B.5.1 「序文」 本文書は本発明による逆モデラ(imodel)及びト
ークンフォマッティング(hsppk)の目的、動作及
び実行について説明する。
[1478] B. 4.9 “Test” Test coverage for bman is through a snooper in bmsnoop, through a dynamic register (shown in B.4.4), and using a scan chain that is part of the DRAM interface scan chain. Section B. 5 "Reverse Modeler" 5.1 "Preface" This document describes the purpose, operation and implementation of the inverse modeler and token formatting (hsppk) according to the present invention.

【1478】注:hsppkはハフマンデコーダの階層
型部分であるが、機能的には逆モデラの一部である。従
って、本セクションで論じた方がよい。
Note: hsppk is a hierarchical part of the Huffman decoder, but is functionally part of the inverse modeler. Therefore, it should be discussed in this section.

【1479】B.5.2 「展望」 トークンバッファは、imodelとhsppkの間に
あり、多量のデータを全てオフチップDRAMに包含す
ることができる。このメモリーの効率的な使用を確実に
するため、データは16ビットフォーマットでなければ
ならない。トークンフォマッティングはハフマンデコー
ダからのデータをトークンバッファのためにこのフォー
マットに「パック」する。従って、逆モデラはトークン
バッファフォーマットからデータを「取り出す」(アン
パック)。
[1479] B. 5.2 "Outlook" The token buffer is between imodel and hsppk and can contain a large amount of data all in off-chip DRAM. To ensure efficient use of this memory, the data must be in a 16-bit format. Token formatting "packs" the data from the Huffman decoder into this format for the token buffer. Thus, the inverse modeler "fetches" (unpacks) data from the token buffer format.

【1480】しかしながら、逆モデラの主な機能は、
「ラン/レベル」コードからゼロデータのランに、そし
てレベルに拡張することである。それに加えて、逆モデ
ラはデータトークンが少なくとも64の係数を持ち、ス
タートアップクライテリアを満たしていないストリーム
を停止させるための「ゲート」を提供することを保証す
る。
[1480] However, the main functions of the reverse modeler are:
Extending from a "run / level" code to a run of zero data and then to a level. In addition, the inverse modeler ensures that the data token has a coefficient of at least 64 and provides a "gate" for stopping streams that do not meet the startup criteria.

【1481】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はそれ自体のクロック発生器とスキャンチェインを持
つ。
[1481] B. 5.3 "Interface" 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 the 2-wire type, with inputs of 17
Bit token port, output is 16 bit "packed data" plus FLUSH signal.
In addition, Hsppk is clocked from the Huffman clock generator and is connected to the Huffman scan chain. B. 5.3.2 "Imodel" Imodel has token buffer start-up output gate logic (bsogl) as input and inverse quantizer as output. Input from token buffer is 16-bit "packed data" plus block
end signal, and the input from bsogl is one w
irestream enable. Output is 11
Bit token port. All interfaces are controlled by a two-wire protocol. Imode
l has its own clock generator and scan chain.

【1482】両ブロック共その出力においてスノーパだ
けに対するマイクロプロセッサアクセスを持つ。
[1482] Both blocks have microprocessor access to the snooper only at its output.

【1483】B.5.4 「ブロックの説明」 B.5.4.1 「Hsppk」 Hsppkはハフマンから17ビットデータを受け取
り、トークンバッファに16ビットデータを出力する。
これはまず入力データを12ビットワードに切り捨てる
かスプリットし、次にこれらのワードを16ビットのフ
ォーマットにパックすることにより達成される。
[1483] B. 5.4 “Description of Block” 5.4.1 “Hsppk” Hsppk receives 17-bit data from Huffman and outputs 16-bit data to a token buffer.
This is achieved by first truncating or splitting the input data into 12-bit words and then packing these words into a 16-bit format.

【1484】B.5.4.1.1 「スプリッティン
グ」 Hsppkは逆ハフマンから17ビットデータを受け取
る。このデータは以下のフォーマットを使って17ビッ
トにフォーマットされる。
[1484] B. 5.4.1.1 "Splitting" Hsppk receives 17-bit data from inverse Huffman. This data is formatted into 17 bits using the following format.

【1485】Fはフォーマットを指定し;Eは拡張ビッ
ト;Rはランビット;Lはレングスビット(サインマグ
ニチュードで示した)あるいはnon−データトークン
ビット;xはdon’t careである。
F designates a format; E is an extension bit; R is a run bit; L is a length bit (shown in sign magnitude) or a non-data token bit; x is a don't care.

【1486】 FLLLLLLLLLLLFormat 0 ELLLLLLLLLLLFormat 0a FRRRRRR00000Format 1 通常のトークンは底部12ビットを占めるだけであり、
以下の形態を取る: ExxxxxxLLLLLLLLLLL しかしながら、データトークンは以下の形態で各ワード
の中にラン及びレベルを持つ: ERRRRRRLLLLLLLLLLL これは次のフォーマットに分けられる: ERRRRRRLLLLLLLLLLL−>FRRRRRR00000 Format 1、ELLLLLLLLLLLFormat 0a あるいは、ランがゼロフォーマットであれば、0が使用
され: E000000LLLLLLLLLLL−>FLLLLLLLLLLL Format 0 フォーマット0において、拡張ビットが失われ、1であ
ると仮定されることが解る。従って、拡張がゼロである
場合、それは使用できない。この場合、フォーマット1
は無条件に使用できる。
[1486] FLLLLLLLLLLLLLFormat 0 ELLLLLLLLLLLLFormat 0a FRRRRRRR00000000001 Normal tokens only occupy the bottom 12 bits,
Take the following form: ExxxxxxxLLLLLLLLLLLL However, the data token has a run and a level within each word in the following form: For zero format, 0 is used: E000000LLLLLLLLLLLL → FLLLLLLLLLLLLL Format 0 In format 0, it can be seen that the extension bits are lost and assumed to be 1. Thus, if the extension is zero, it cannot be used. In this case, format 1
Can be used unconditionally.

【1487】B.5.4.1.2 「パッキング」 スプリッティングの後、全てのデータワードは12ビッ
ト幅である。4つの全ての12ビットワードは3つの1
6ビットワードに「パック」される:
[1487] B. 5.4.1.2 "Packing" After splitting, all data words are 12 bits wide. All four 12-bit words consist of three 1
"Packed" into 6-bit words:

【1488】[1488]

【表212】 B.5.4.1.3 「バッファのフラッシング」 本発明のDRAMインターフェースはブロック、32の
16ビット「パック済み」ワードを集め、バッファに書
き込む。これは、ブロックが部分的にしか完了していな
い場合、データをストリームの終わりでDRAMインタ
ーフェースの中に張り付けることができることを意味し
ている。従って、フラッシングメカニズムが必要であ
る。従って、.Hsppkは現在の部分的完了ブロック
を無条件に書き込むようにDRAMインターフェースに
信号を送る。
[Table 212] B. 5.4.1.3 "Flushing Buffer" The DRAM interface of the present invention collects blocks of 32 16-bit "packed" words and writes them to the buffer. This means that if the block is only partially completed, the data can be stuck into the DRAM interface at the end of the stream. Therefore, a flushing mechanism is needed. Therefore,. Hsppk signals the DRAM interface to write the current partially completed block unconditionally.

【1489】B.5.4.2.1 「Imup(アンパ
ッカー)」 Imupは3つの機能を果たす: 4)その16ビットのフォーマットからのデータを12
ビットワードにアンパックする。
[1489] B. 5.4.2.1 "Imup (Impacker)" Imup performs three functions: 4) 12 data from its 16-bit format.
Unpack to a bitword.

【1490】[1490]

【表213】 5)トークンバッファのフラッシングの間正しいデータ
を維持する。
[Table 213] 5) Maintain correct data during flushing of the token buffer.

【1491】現在の部分的完了ブロックを無条件に書き
込むことにより、DRAMインターフェースがフラッシ
ュする時、役に立たないデータはブロックに残ったまま
である。Imupはブロックの終わりまで、役に立たな
いデータを、つまりフラッシュトークンからの全てのデ
ータを削除しなければならない。
By writing the current partially completed block unconditionally, useless data remains in the block when the DRAM interface flashes. Imup must delete useless data, that is, all data from the flash token, until the end of the block.

【1492】6)スタートアップクライテリアが満たさ
れるまで、データを引き留める。ブロックからのデータ
出力は、「有効な」(stream enable)が
バッファスタートアップから各々の異なるストリームの
ためにアクセプトされるという条件付きである。従っ
て、12ビットデータがhsppkに出力される。 B.5.4.2.2 「Imex (EXpande
r)」 本発明では、Imexは全てのランレングスコードをゼ
ロのランと、それに続くレベルに拡張する。
1492 Retain data until startup criteria are met. The data output from the block is conditional provided that a "stream enable" is accepted for each different stream from the buffer startup. Therefore, 12-bit data is output to hsppk. B. 5.4.2.2 "Imex (Expand
r) In the present invention, Imex extends all run length codes to zero runs and subsequent levels.

【1493】B.5.4.2.3 「Impad(PA
Dder)」 Impadは全てのデータトークンボディが64(もし
くはそれ以上)のワードを含むことを確実にする。それ
はトークンの最後のワードをゼロでパディングすること
により行われる。データトークンはボディにおいて64
以上のワードを持つためにチェックされない。
[1493] B. 5.4.2.3 "Impad (PA
Dder) "Impad ensures that every data token body contains 64 (or more) words. It does so by padding the last word of the token with zeros. Data token is 64 in the body
Not checked to have more words.

【1494】B.5.5 「ブロック実行」 B.5.5.1 「Hsppk」 典型的に、1サイクルにおいてスプリッティングとパッ
キングが行われる。
[1494] B. 5.5 "Block execution" 5.5.1 “Hsppk” Typically, splitting and packing are performed in one cycle.

【1495】B.5.5.1.1 「スプリッティン
グ」 まず、フォーマットが決定される: IF (datatoken) IF (lastformat==1) use fo
rmat 0a; ELSE IF (run==0) use form
at 0; ELSE use format 1; そしてフォーマットビットが決定される: format 0 format bit = 0; format 0a format bit = ex
tension bit; format 1 format bit = 1; format 1が使用される場合、コードレベルがま
だ出力されなければならないので、次のサイクルにおい
て新しいデータをアクセプトすべきではない。 B.5.5.1.2 「パッキング」 パッキング手順は4つの有効なデータ入力毎に循環す
る。16ビットワードの出力は保持されている最後の有
効なワードとそれに続くワードから形成される。これが
有効でない場合、出力も有効ではない。手順は以下の通
りである:
1495. 5.5.1.1 “Splitting” First, the format is determined: IF (datatoken) IF (lastformat == 1) use fo
rmat 0a; ELSE IF (run == 0) use form
at 0; ELSE use format 1; and format bits are determined: format 0 format bit = 0; format 0a format bit = ex
format 1 format bit = 1; if format 1 is used, the new data should not be accepted in the next cycle since the code level must still be output. 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 and the following word. If this is not valid, the output is not valid. The procedure is as follows:

【1496】[1496]

【表214】 表中、xは未定義のビットを指示する。[Table 214] In the table, x indicates an undefined bit.

【1497】有効なサイクル0の間、如何なるワードも
有効ではないので出力されない。
During valid cycle 0, no word is output since it is not valid.

【1498】有効なサイクルナンバーがリングカウンタ
によって維持される。それはスプリッタからの有効なデ
ータ及びアクセプトされた出力によって増分される。
A valid cycle number is maintained by the ring counter. It is incremented by valid data from the splitter and the accepted output.

【1499】FLUSH(またはpicture en
d)トークンが受け取られ、トークン自体が出力の準備
が整うと、フラッシュ信号がDRAMインターフェース
に出力され、有効なサイクルをゼロにリセットする。フ
ラッシュトークンがサイクル3以外のものに到達する
と、トークン自体が出力することを保証するため、フラ
ッシュ信号は有効なサイクルを遅らせなければならな
い。
1499 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 cycle to zero. When the flush token reaches something other than cycle 3, the flush signal must delay the valid cycle to ensure that the token itself outputs.

【1500】B.5.5.2 「Imodel」 B.5.5.2.1 「Imup(アンパッカー)」 パッカーの場合と同様に、最後の有効な入力が記憶さ
れ、次の入力と組み合わされて、アンパッキングを可能
にする。
[1500] B. 5.5.2 "Imodel" 5.5.2.1 "Imup" As in the case of the packer, the last valid input is stored and combined with the next input to enable unpacking.

【1501】[1501]

【表215】 表中、xは未定義のビットを指示する。[Table 215] In the table, x indicates an undefined bit.

【1502】有効なサイクルナンバーがリングカウンタ
によって維持される。アンパック済みデータはトークン
のデータ、フラッシュ及びそれからデコードされたピク
チャエンドを含む。それに加えて、フォーマット及び拡
張ビットがアンパック済みデータからデコードされる。
A valid cycle number is maintained by the ring counter. The unpacked data includes the token data, the flash and the picture end decoded from it. In addition, the format and extension bits are decoded from the unpacked data.

【1503】formatbit is extn=
(lastformat==1) 11 databo
dy format=databody && (forma
tbit && lastformatbit) トークンデコーディングのため、またimexに送られ
るために。
[1503] formatbit is extn =
(Lastformat == 1) 11 dataobo
dy format = databody && (forma
tbit && lastformatbit) For token decoding and to be sent to imex.

【1504】FLUSH(またはpicture en
d)トークンがアンパックされ、imexに出力され、
ブロック・エンド信号がDRAMインターフェースから
受け取られるまで、全てのデータが削除される(Val
idは低くされる)。
[1504] 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 is lowered).

【1505】B.5.5.2.2 「Imex (EX
pander)」 本発明によれば、imexはラン/レベルコードを外へ
拡大するための、4つのステートマシーンである。ステ
ートマシーンは次の通りである: ・ステート0:ランカウントをランコードからロードす
る。
[1505] B. 5.5.2.2 "Imex (EX
According to the present invention, imex is a four state machine for extending run / level codes out. The state machines are as follows: State 0: Load run count from run code.

【1506】・ステート1:ランカウントを減少させ、
ゼロを出力する。
[1506] State 1: Decrease run count,
Outputs zero.

【1507】・ステート2:入力データ及び出力レベ
ル;ディフォルトステート。
State 2: input data and output level; default state.

【1508】・ステート3:不法なステート。[1509] State 3: illegal state.

【1509】B.5.5.2.3 「Impad(PA
Dder)」 Impadはimexにより、データトークンヘッダに
関して知らされる。次に、それがトークンボディの中の
係数の数をカウントする。64の係数になる前に、トー
クンが終了すると、ゼロ係数がトークン・エンドで挿入
され、それを64係数になるように完了させる。例え
ば、未拡張データヘッダがそれらの後に挿入された64
のゼロ係数を持っている。64以上の係数を持つデータ
トークンはimpadによって影響されない。
[1509] B.I. 5.5.2.3 "Impad (PA
Dder) "Impad is informed by imex about the data token header. Next, it counts the number of coefficients in the token body. If the token ends before it has 64 coefficients, a zero coefficient is inserted at the token end, completing it to be 64 coefficients. For example, 64 with unextended data headers inserted after them
Has a zero coefficient of Data tokens with coefficients greater than 64 are not affected by impad.

【1510】B.5.6 「レジスタ」 本発明のimodel及びhsppkはそれらのスノー
パを除き、マイクロプロセッサレジスタを持たない。
[1510] B. 5.6 “Registers” The models and hsppks of the present invention have no microprocessor registers, except for their snoopers.

【1511】[1511]

【表216】 表中、V=有効ビット;A=アクセプトビット;E=拡
張ビット;D=データビット。
[Table 216] In the table, V = valid bit; A = accept bit; E = extended bit; D = data bit.

【1512】B.5.7 「照合」 選択されたストリームはLsimシミュレーションを通
して流れる。
[1512] B. 5.7 "Match" The selected stream flows through the Lsim simulation.

【1513】B.5.8 「テスト」 入力におけるimodelに対するテストカバリッジは
トークンバッファ出力スノーパを通してであり、出力に
おいては、imodel自体のスノーパを通してであ
る。ロジックはimodel自体のスキャンチェインで
カバーされる。
B. [1513] 5.8 "Test" The test coverage for the imodel at the input is through the token buffer output snooper and at the output through the imodel's own snooper. The logic is covered by the scan chain of the model itself.

【1514】hsppkの出力はハフマン出力スノーパ
を通してアクセスできる。ロジックはハフマンスキャン
チェインを通して見ることができる。セクションB.6
「バッファスタートアップ」 B.6.1 「序文」 本セクションは本発明によるバッファスタートアップの
方法及び実行について説明する。
The output of hsppk is accessible through the Huffman output snooper. Logic can be viewed through the Huffman scan chain. Section B. 6
"Buffer startup" 6.1 Introduction This section describes the method and implementation of buffer startup according to the present invention.

【1515】B.6.2 「展望」 ピクチャ・ストリームを円滑にかつ連続的に表示できる
ことを保証するため、デコーディングを開始できる前
に、一定量のデータを集めなければならない。これをス
タートアップ条件と呼ぶ。コーディングスタンダードは
ほぼ集められることが必要なデータ量に翻訳され得るV
BVディレイを指定する。全てのストリームはそのデー
タがトークンバッファから進み、デコーディングを可能
にする前に、そのスタートアップ条件を満たすことを確
実にすることが、「バッファスタートアップ」の目的で
ある。それは、トークンバッファの出力(つまり、逆モ
デラ)において、概念的なゲート(出力ゲート)により
バッファの中に保持される。そのスタートアップ条件が
一度満たされると、このゲートはストリームのために開
かれるだけである。
B. [1515] 6.2 "Outlook" To ensure that the picture stream can be displayed smoothly and continuously, a certain amount of data must be collected before decoding can be started. This is called a start-up condition. Coding standards can be translated into almost the amount of data that needs to be collected.
Specify BV delay. The purpose of "buffer start-up" is to ensure that all streams have their data coming from the token buffer and meeting its start-up conditions before allowing decoding. It is held in the buffer by a conceptual gate (output gate) at the output of the token buffer (ie, the inverse modeler). This gate is only opened for the stream once its startup conditions are met.

【1516】B.6.3 「インターフェース」 Bscntbit(バッファスタートアップビットカウ
ンタ)はデータパスの中にあり、2線式インターフェー
スにより通信し、マイクロプロセッサに接続される。更
に、それは2線式インターフェースでbsogl(バッ
ファスタートアップ出力ゲートロジック)に分岐する。
Bsoglは2線式インターフェースを介して、出力ゲ
ートを実行するimup(逆モデラアンパッカー)を制
御する。 B.6.4 「ブロック構造」 Bscntbitはスタートコード検出器とコード化デ
ータバッファとの間のデータパスにある。この1つのサ
イクルブロックはブロックを出る有効なデータワードを
カウントし、この数をマイクロプロセッサからロードさ
れるであろうスタートアップ条件(またはターゲット)
と比較する。ターゲットが満たされると、bsoglが
伝えられる。データはbscntbitによって影響さ
れない。Bsoglはbscntbitとimup(逆
モデラ内)の間にある。事実上、それはストリームがそ
れらのターゲットを満たしたことを示すインジケータの
列である。列は別の「インジケータ」がimupにアク
セプトされる時に、バッファを出るストリーム(つま
り、imupでデータストリーム内に受け取られるフラ
ッシュトークン)によって動かされる。列が空であれば
(つまり、そのスタートアップターゲットを満たしたバ
ッファにストリームがなければ)、imup内のストリ
ームは立ち往生させられる。
B. [1516] 6.3 "Interface" The Bscntbit (Buffer Startup Bit Counter) is in the data path, communicates via a two-wire interface and is connected to the microprocessor. In addition, it branches to bsogl (buffer start-up output gate logic) with 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" 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 leaving the block and counts this number as the start-up condition (or target) that will be loaded from the microprocessor.
Compare with When the target is met, bsogl is signaled. Data is not affected by bscntbit. Bsogl is between bscntbit and imup (in the reverse modeler). Effectively, it is a sequence of indicators that indicate that the streams have met their targets. The column is driven by the stream leaving the buffer (ie, the flash token received in the data stream at the imup) when another "indicator" is accepted into the imup. If the column is empty (ie, if there are no streams in the buffer that filled its startup target), the stream in the imup is stalled.

【1517】その列は有限の深さを持つだけであるが、
これはbsoglの中の列を壊すことによって無限に拡
大でき、マイクロプロセッサがその列を監視できるよう
にする。これらの列のメカニズムは内部列及び外部列と
各々称される。
The sequence has only a finite depth, but
This can be expanded indefinitely by destroying a column in bsogl, allowing the microprocessor to monitor that column. These row mechanisms are referred to as the inner row and the outer row, respectively.

【1518】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)との比較のために使
用される。
B. [1518] 6.5 "Block execution" 6.5.1 "Bsbitcnt (Buffer Startup Bit Counter)" Bscntbit counts all valid words input to the buffer startup. Counter (bs
ctr) is a 16-24 bit wide programmable counter. In addition, bsctr has carry look ahead circuitry to give it sufficient speed. Bs
The width of ctr is programmed by ced bs prescale. It does so by raising the bit 8-16, so that a carry is always sent. Therefore, those bits remain effectively unused. The upper 8 bits of bsctr are used for comparison with the target (ced bs target).

【1519】比較(ced bs count≧ced
bs target)がbscmpにより行われる。
[1519] Comparison (ced bs count ≧ ced)
bs target) is performed by bscmp.

【1520】ターゲットはストリームがハフマンデコー
ダの中にあり、マイクロプロセッサにより計算される時
に、ストリームから引き出される。従って、それはスト
リーム・スタート後に設定されるだけであろう。スター
トアップ前に、targetvalidは低く設定され
る。ced bs targetへの書き込みはtar
get validを高く設定し、bscmpにおける
比較が行われるようにする。比較がced bs co
unt≧ced bs targetであることを示す
と、target validは低く設定される。ター
ゲットは満たされた。
The target is extracted from the stream when the stream is in a Huffman decoder and calculated by the microprocessor. Therefore, it will only be set after a stream start. Before startup, targetvalid is set low. Writing to ceds target is tar
Set get valid high so that the comparison in bscmp is performed. The comparison is ced bs co
When indicating that unt ≧ ced bs target, the target valid is set low. Target has been met.

【1521】ターゲットが満たされると、カウントがリ
セットされる。それはストリーム・エンドでリセットし
ないことに注意。それに加えて、それがストリーム・エ
ンドの前であれば、カウンティングはターゲットが満た
された後に不能化される。カウントは255で飽和す
る。
When the target is satisfied, the count is reset. Note that it does not reset at the stream end. In addition, if it is before the end of the stream, counting is disabled after the target is satisfied. The count saturates at 255.

【1522】ストリーム・エンド(つまり、フラッシ
ュ)がbsbitcntにおいて検出されると、abs
flush eventが作られる。ターゲットが満
たされる前にストリームが終了すると、追加イベント
(bs flush before target m
et event)が作られる。これらのイベントが発
生すると、ブロックは立ち往生させられる。これによ
り、ユーザーは次のストリームのターゲットサーチをや
り直すことができ、あるいはbs flush bef
ore target met eventイベントの
場合、次のいずれかである: 1)target metを強いるであろうゼロのター
ゲットを書き込むあるいは 2)ターゲットが満たされず、最後のストリームと組み
合わされたこれがターゲットに達するまで、次のストリ
ームを進ませることに注目。この次のストリームのため
のターゲットはそれに応じて調整されるべきである。
When the stream end (ie, flush) is detected at bsbitcnt, abs
A flush event is created. If the stream ends before the target is satisfied, 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, one of the following: 1) Write a zero target that will force the target met or 2) Until the target is not met and this combined with the last stream reaches the target Notice the progress of the next stream. The target for this next stream should be adjusted accordingly.

【1523】B.6.5.2 「BSOGL(バッファ
スタートアップ出力ゲートロジック)」 前述したように、Bsoglはストリームがそのターゲ
ットを満たしたことを指示するインジケータ列である。
列タイプはced bs queue(内部(0)また
は外部(1))によって設定される。これは内部列を選
択するためのリセットである。列の深さはコード化デー
タバッファ、ハフマン及びトークンバッファにおいて存
在できる満たされたストリームの最大数を決定する。こ
の数に達すると(つまり、列が一杯になると)、bso
glはデータパスをbsbitcntで立ち往生させ
る。
[1523] B. 6.5.2 BSOGL (Buffer Startup Output Gate Logic) As described above, Bsogl is a string of indicators that indicate that a stream has met its target.
The column type is set by ced bs queue (internal (0) or external (1)). This is a reset to select an internal column. The column depth determines the maximum number of filled streams that can exist in the coded data buffer, Huffman, and token buffer. When this number is reached (ie, when the column is full), bso
gl stalls the data path at bsbitcnt.

【1524】内部列の使用はマイクロプロセッサからの
如何なる動作も必要としない。しかしながら、列の深さ
を増加させる必要があれば、(設定されるべきced
bsqueueへのアクセスを得るためにced bs
accessを設定し、target met ev
ent及びstream end eventが可能化
され、アクセスが放棄されることにより)外部列を設定
できる。
The use of an internal column does not require any action from the microprocessor. However, if it is necessary to increase the depth of the column, (ced to be set
ced bs to get access to bsqueue
Set access and target get ev
ent and stream end events are enabled and access is denied (external columns can be set).

【1525】外部列(マイクロプロセッサにより維持さ
れるカウント)は内部列に挿入される。外部列は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をマス
クし、アクセスを放棄することにより、外部から内部へ
と変更することだけができる。
The external columns (counts maintained by the microprocessor) are inserted into the internal columns. The outer column has two events: target_met_event and st
Maintained by the beam end event. These are simply servicequeue inputs, respectively.
service queue output, and register ced bs enable next stream
It is called m. In effect, target met even
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
event is the request to supply the downstream stream; stream end event is ce
Reset the dbs enable next stream. The 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 it * / micro write (CED BS ENABLE NXT STM, 1); printf ("enable next stream (queue = 0x% x) @n", (context->queueel)); / * Yes, increment of queuing of “target met” streams * / {queue ++; if (queue> 0) / * are there any “target mets” left? * / (/ * yes, decrement the queue and enable ano micro stream (CED BS ENABLE NXT STM, 1); printf ("enable next stream (queue = 0x% x) @n", (context-> queueel) (the context->queueel); the stream * / queue ----; que empty empty enable next stream (queue = 0x% x) \n ″, queue; micro write (CED EVENT 1,1 <<< BS STREAM END EVENT); Can be changed from internal to external, but the external column is (queue above)
== 0) ced to be reset when empty
ced to get access to the bs queue
bs access and set target met
By masking the event and stream end and giving up access, it is only possible to change from outside to inside.

【1526】他方、ストリームスタートアップ条件のチ
ェックを不能にし、ced bsqueue(外部)を
設定し、target met event及びstr
eam end eventをマスクし、ced bs
enable nxtstreamを設定する。この
方法で、全てのストリームが常に可能化される。 B.6.6 「マイクロプロセッサレジスタ」
On the other hand, the check of the stream start-up condition is disabled, the cedsqueue (external) is set, and the target
mask the end and end events and add ced bs
Set enable nxtstream. In this way, all streams are always enabled. B. 6.6 "Microprocessor Register"

【1527】[1527]

【表217】 [Table 217]

【1528】[1528]

【表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 non-existent register bit; r is a reserved register bit; and to gain access to these registers, it must be in the case of an interrupt service routine. , Ced bs a
access is set to one and must be registered until it reads back one. ed bs access
Access is abandoned by setting to zero.

【1529】セクションB.7 「DRAMインターフ
ェース」 B.7.1 「展望」 本発明において、空間デコーダ、時間デコーダ及びビデ
オフォーマッティング部は各々その特別なチップのため
にDRAMインターフェースブロックを含む。3つの装
置全てにおいて、DRAMインターフェースの機能は、
チップから外部DRAMへのデータ伝送、及びアドレス
発生器により供給されるブロックアドレスを介して外部
DRAMからチップへのデータ伝送である。
[1529] Section B. 7 "DRAM interface" 7.1 "Outlook" 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. In all three devices, the function of the DRAM interface is:
Data transmission from the chip to the external DRAM and data transmission from the external DRAM to the chip via the block address supplied by the address generator.

【1530】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 can be easily handled because the clocks operate at approximately the same period.

【1531】データは通常DRAMインターフェースと
64バイトのブロック内の残りのチップとの間に伝送さ
れる(唯一の例外は時間デコーダにおける予測データで
ある)。伝送は「スイングバッファ」として知られる装
置によって発生する。これは本質的にダブルバッファー
ド構成において操作される一対のDRAMであり、DR
AMインターフェースが1つのRAMを満たしたり、あ
るいは空にする一方、チップの別の部分が他のRAMを
空にしたり、満たしたりする。アドレス発生器からアド
レスを運ぶ別のバスが各スイングバッファと連合する。
The data is usually transmitted between the DRAM interface and the rest of the chip in a block of 64 bytes (the only exception being the prediction data in the temporal decoder). The transmission is generated by a device known as a "swing buffer". This is essentially a pair of DRAMs operated in a double buffered configuration,
The AM interface fills or empties one RAM, while another part of the chip empties or fills the other RAM. A separate bus carrying addresses from the address generator is associated with each swing buffer.

【1532】各チップは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, and the functions of these swing buffers are different in each case. In the case of a spatial decoder, one swing buffer was used to transmit coded data to DRAM, another swing buffer was used to read coded data from DRAM, and a third swing buffer was tokenized. A fourth swing buffer is used to transfer the data to the DRAM, and a fourth swing buffer is used to read the tokenized data from the DRAM. In the temporal decoder, one swing buffer is used to write intra or predicted picture data to the DRAM, a second buffer is used to read intra or predicted picture data from the DRAM, and the other two buffers are used. Two buffers are used to read the prediction data forward and backward. In the video formatting section, one swing buffer converts data to DR.
AM, and the other three swing buffers are used to read data from the DRAM, each with luminance (Y), red and blue color difference data (each C
r and Cb).

【1533】以下のセクションは本発明によるDRAM
インターフェースのオペレーションを説明し、それは空
間デコーダDRAMインターフェースのオペレーション
と本質的に同じである、1つのライトスイングバッファ
と1つのリードスイングバッファを持っている。これは
図140の「DRAMインターフェース」に図示してい
る。
The following section describes a DRAM according to the present invention.
The operation of the interface will be described, which has one write swing buffer and one read swing buffer which are essentially the same as the operation of the spatial decoder DRAM interface. This is illustrated in the "DRAM interface" of FIG.

【1534】B.7.2 「一般的なDRAMインター
フェース」 図140において、アドレス発生器に対するインターフ
ェース、及びデータを供給し、データを取るブロックに
対するインターフェースは全て2線式インターフェース
である。アドレス発生器は制御トークンの受取の結果と
してアドレスを発生させるか、あるいは単にアドレスの
固定シーケンスを発生させることができる。DRAMイ
ンターフェースは特別の方法で、アドレス発生器と連合
する2線式インターフェースを処理する。アドレスを受
け取る準備ができた時にアクセプトラインを高く保持す
る代わりに、DRAMインターフェースはアドレス発生
器が有効なアドレスを供給し、そのアドレスを処理し、
1つのクロック周期の間アクセプトラインを高く設定す
る。こうして、リクエスト/アクノレッジ(REQ/A
CK)プロトコールを実行する。
B. [1534] 7.2 “General DRAM Interface” In FIG. 140, the interface to the address generator and the interface to the block that supplies and takes data are all two-wire interfaces. The address generator may generate an address as a result of receiving the 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 ready to receive an address, the DRAM interface provides the address generator with a valid address, processes that address,
The accept line is set high for one clock cycle. Thus, the request / acknowledge (REQ / A
CK) Execute the protocol.

【1535】DRAMインターフェースの独得の特徴
は、アドレス発生器及び他のブロックとは完全に別個に
データを提供/アクセプトするブロックと連絡する能力
である。例えば、アドレス発生器はライトスイングバッ
ファにおいてデータと関連するアドレスを発生させるこ
とができるが、ライトスイングバッファが外部DRAM
に書き込まれる用意が整ったデータブロックがあること
を合図しないとどのような行動も取らないであろう。し
かしながら、アドレス発生器からの適当なバスにアドレ
スが供給されない限り、どのような行動も取られない。
更に、ライトスイングバッファ内のRAMの1つが一度
データで満たされると、他のRAMもデータ入力が立ち
往生させられる(2線式インターフェースアクセプト信
号が低く設定される)前に、完全に満たされ、DRAM
インターフェースに「スイング」される。
A unique feature of the DRAM interface is the ability to communicate with blocks that provide / accept data completely separate from the address generator and other blocks. For example, an address generator can generate an address associated with data in a write swing buffer, but the write swing buffer is an external DRAM.
No action will be taken unless there is a signal that there is a data block ready to be written to. However, no action is taken unless the address is provided on the appropriate bus from the address generator.
Further, once one of the RAMs in the write swing buffer is filled with data, the other RAM is fully filled before the data input is stalled (the 2-wire interface accept signal is set low) and the DRAM is fully filled.
"Swing" to the interface.

【1536】本発明のDRAMインターフェースのオペ
レーションを理解する際に注目すべき重要なことは、適
切に構成されたシステムにおいて、少なくともスイング
バッファと残りのチップ間の全ての平均データ速度の合
計と同程度に速く、DRAMインターフェースがスイン
グバッファと外部DRAMの間にデータを伝送すること
ができることである。
It is important to note in understanding the operation of the DRAM interface of the present invention that, in a properly configured system, at least as much as the sum of all the average data rates between the swing buffer and the remaining chips. Faster, the DRAM interface can transfer data between the swing buffer and the external DRAM.

【1537】各DRAMインターフェースは次にサービ
スするのはどのスイングバッファかを決定する方法を含
む。一般に、これは「ラウンドロビン」であるか、もし
くはプライオリティエンコーダのいずれかであり、ラウ
ンドロビンの場合、サービスされるスイングバッファが
最近めったに順番が回ってこなかった次に利用できるス
イングバッファであり、プライオリティエンコーダの場
合、いくつかのスイングバッファが他のバッファより高
い優先順位を持つ。両方の場合において、他の全てのリ
クエストより高い優先順位を持つリフレッシュリクエス
ト発生器から追加リクエストが来るであろう。リフレッ
シュリクエストはマイクロプロセッサインターフェース
を介してプログラム可能なリフレッシュカウンタから発
生される。
Each DRAM interface includes a way to determine which swing buffer to service next. In general, this is either a "round robin" or a priority encoder, where in the case of a round robin, the serviced swing buffer is the next available swing buffer that has been seldom out of order recently and the priority is In the case of an encoder, 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 refresh counter that is programmable via a microprocessor interface.

【1538】B.7.2.1 「スイングバッファ」 図141はライトスイングバッファを示す。オペレーシ
ョンは次の通りである: 1)有効なデータは入力(data in)において表
示される。各データ片がアクセプトされるにつれて、そ
れはRAM1に書き込まれ、アドレスが増分される。
B. [1538] 7.2.1 “Swing Buffer” FIG. 141 shows a write swing buffer. The operation is 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.

【1539】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 passes through three synchronous flip-flops.

【1540】3)入力サイドに到着すべき次のデータア
イテムは、まだ空であるRAM2に書き込まれる。
1540) The next data item to arrive at the input side is written to the RAM2 which is still empty.

【1541】4)ラウンドロビンもしくはプライオリテ
ィエンコーダが、このスイングバッファを読む番である
ことを指示すると、DRAMインターフェースはRAM
1の内容を読み、それらを外部DRAMに書き込む。そ
うすれば、(2)と同様に、信号が非同期インターフェ
ースを横切って送り返され、RAM1にもう一度書き込
む準備ができたことを指示する。
4) When the round robin or priority encoder indicates that it is time to read this swing buffer, the DRAM interface
1 and read them into the external DRAM. Then, as in (2), a signal is sent back across the asynchronous interface, indicating that RAM1 is ready to be written again.

【1542】5)DRAMインターフェースがRAM1
を空にし、入力サイドがRAM2を満たす前にそれを
「スイング」すれば、データは連続的にスイングバッフ
ァによりアクセプトされることができ、そうでなけれ
ば、RAM2が満たされた時、RAM1が入力サイドに
より使用されるために「スイングバック」されるまで、
スイングバッファはそのアクセプト信号を低く設定する
であろう。
1) The DRAM interface is RAM1
, And if the input side "swings" before filling RAM2, data can be continuously accepted by the swing buffer, otherwise, when RAM2 is full, RAM1 Until "swing back" to be used by the side,
The swing buffer will set its accept signal low.

【1543】6)このプロセスは無限に繰り返される。6) This process is repeated indefinitely.

【1544】リードスイングバッファのオペレーション
も同様であるが、入力と出力のデータバスが逆である。
The operation of the read swing buffer is similar, but the input and output data buses are reversed.

【1545】B.7.2.2 「外部DRAM及びスイ
ングバッファのアドレシング」 DRAMインターフェースは利用可能なメモリー帯域幅
を最大にするように設計される。従って、各8×8デー
タブロックが同じDRAMページに記憶されるように配
置される。この方法で、DRAM高速ページアクセスモ
ードを完全に使用でき、その場合1つのローアドレスが
供給され、続いて多くのカラムアドレスが供給される。
それに加えて、外部DRAMに対するデータバスが8、
16、または32ビット幅にでき、使用されるDRAM
量が特別なアプリケーションのサイズ及び帯域幅の要件
に適合できるようにするための便宜が提供される。
B. [1545] 7.2.2 "Addressing External DRAM and Swing Buffer" The DRAM interface is designed to maximize the available memory bandwidth. Thus, each 8 × 8 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, the data bus for the external DRAM is 8,
DRAM used can be 16 or 32 bits wide
Convenience is provided to allow the amount to meet the size and bandwidth requirements of the particular application.

【1546】(空間デコーダ上の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 six bits of the column address are provided by the DRAM interface itself, and these bits are also used as addresses for the swing buffer RAM. The data bus for the swing buffer is 32 bits wide and therefore 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 transfer direction to the external DRAM). ) Two to four external DRAM accesses must be made.

【1547】時間デコーダ及びビデオフォーマッティン
グ部の場合は、状況はもっと複雑である。これらについ
ては下記において別に説明する。
For the temporal decoder and the video formatting part, the situation is more complicated. These are described separately below.

【1548】B.7.3 「DRAMインターフェース
タイミング」 本発明において、DRAMインターフェースタイミング
ブロックは、DRAM信号のエッジをシステムクロック
周期の正確に1/4に置くためにタイミングチェインを
使用する。フェイズロックループからの2つの直角クロ
ックが使用される。これらは概念的な2xクロックを形
成するために組み合わされる。いずれか1つのチェイン
が、2xクロックの反対のフェイズ上で並列する2つの
シフトレジスタから作られる。
[1548] B. 7.3 “DRAM Interface Timing” In the present invention, the DRAM interface timing block uses a timing chain to place the edge of the DRAM signal exactly 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.

【1549】まず最初に、ページスタートサイクルのた
めに1つのフェイズがあり、リード/ライト/リフレッ
シュサイクルのために別のフェイズがある。各サイクル
の長さはマイクロプロセッサインターフェースを介して
プログラム可能であり、その後ページスタートチェイン
が固定長を持ち、サイクルチェインの長さはページスタ
ート中に適当に変化する。
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, and the length of the cycle chain changes appropriately during page start.

【1550】リセットされると、チェインはクリアさ
れ、パルスが作られる。このパルスはチェインに沿って
移動し、DRAMインターフェースからのステート情報
により方向付けられる。DRAMインターフェースクロ
ックはこのパルスにより発生される。各DRAMインタ
ーフェースクロック周期はDRAMの1サイクルに対応
する。このように、DRAMサイクルが異なる長さを持
つので、DRAMインターフェースクロックは一定速度
ではない。
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, because the DRAM cycles have different lengths, the DRAM interface clock is not constant speed.

【1551】更に、タイミングチェインは上記チェイン
からのパルスをDRAMインターフェースからの情報と
組合せ、出力ストローブ及びイネーブル(notca
s、notras、notwe、notoe)を発生さ
せる。
Further, the timing chain combines the pulses from the above chain with information from the DRAM interface, and outputs and strobes and enables (notca).
s, notras, notwe, notoe).

【1552】セクションB.8 「逆量子化器」 B.8.1 「序文」 本文書は本発明による逆量子化器(iq)の目的、動作
及び実行について説明する。
[1552] Section B. 8 "Inverse quantizer" 8.1 Introduction This document describes the purpose, operation and implementation of the inverse quantizer (iq) according to the present invention.

【1553】B.8.2 「展望」 逆量子化器は量子化された係数からの係数、量子化重
量、及びステップサイズを再構築し、その全てがデータ
ストリーム内で送信される。
B. [1553] 8.2 “Outlook” The inverse quantizer reconstructs the coefficients from the quantized coefficients, the quantization weight, and the step size, all of which are transmitted in the data stream.

【1554】B.8.3 「インターフェース」 Iqはデータパスにおいて逆モデラと逆DCTの間にあ
り、マイクロプロセッサに接続される。データパス接続
は2線式インターフェースを介して行われる。入力デー
タは10ビット幅であり、出力データは11ビット幅で
ある。
B. [1554] 8.3 "Interface" Iq lies between the inverse modeler and the inverse DCT in the data path and is connected to the microprocessor. The data path connection is made via a two-wire interface. Input data is 10 bits wide and output data is 11 bits wide.

【1555】B.8.4 「逆量子化器の演算」 B.8.4.1 「H261式」[1555] B. 8.4 "Operation of inverse quantizer" 8.4.1 "H261 formula"

【1556】[1556]

【数1】 B.8.4.2 「JPEG式」(Equation 1) B. 8.4.2 "JPEG formula"

【1557】[1557]

【数2】 B.8.4.3 「MPEG式」(Equation 2) B. 8.4.3 "MPEG type"

【1558】[1558]

【数3】 B.8.4.4 「JPEGバリエーション式」(Equation 3) B. 8.4.4 “JPEG variation formula”

【1559】[1559]

【数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 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.

【1560】Ciは再構築された係数である。[1560] Ci is the reconstructed coefficient.

【1561】Wi,jは量子化テーブルマトリックスにお
ける値である。
[1560] Wi, j is a value in the quantization table matrix.

【1562】iはジグザグに沿った係数インデックスで
ある。
[1562] i is a coefficient index along the zigzag.

【1563】jは量子化テーブルマトリックスナンバー
(0≦j≦3)である。
J is a quantization table matrix number (0 ≦ j ≦ 3).

【1564】B.8.4.6 「結合されるマルチプル
スタンダード」 上記スタンダード及びそれらのバリエーションの全て
(更にiqによって変更されてはならない制御データ)
は1つの式にマップできる: OUTPUT =(2INPUT+k)(xy)/16 以下の追加ポスト逆量子化機能がある: ・1024を加算する ・サインマグニチュードから2の補数表示への変換 ・全ての偶数をゼロに向かって最も近い奇数にラウンド
する ・結果を+2047または−2048に飽和させる。
B. [1564] 8.4.6 "Multiple Standards to be Combined" All of the above standards and their variations (further control data that must not be changed by iq)
Can be mapped to one expression: OUTPUT = (2INPUT + k) (xy) / 16 There are the following additional post-dequantizers: Add 1024 Convert sine magnitude to 2's complement representation Round to the nearest odd number towards zero. Saturate the result to +2047 or -2048.

【1565】スタンダードの各バリエーションのための
変数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.

【1566】B.8.4.6 「結合されるマルチプル
スタンダード」
[1566] B. 8.4.6 "Multiple Standards to be Combined"

【1567】[1567]

【表219】 [Table 219]

【1568】[1568]

【表220】 B.8.5 「ブロック構造」 段落B.8.4.6及び表219、表220から、マル
チスタンダード逆量子化器用に1つの構造を使用できる
ことが解る。その算術的ブロック線図を図142「算術
的ブロック」に示す:算術的ブロック用の制御は2つの
セクションに機能的に分割することができる: ・ステータスレジスタまたは量子化テーブルにロードす
るためのトークンのデコーディング、 ・ステータスレジスタの制御信号へのデコーディング。
[Table 220] B. 8.5 “Block Structure” Paragraph B. From 8.4.6 and Tables 219 and 220, it can be seen that one structure can be used for the multi-standard dequantizer. The arithmetic block diagram is shown in FIG. 142 "Arithmetic Block": the control for the arithmetic block can be functionally divided into two sections: a token for loading into a status register or quantization table Decoding of the status register to the control signal.

【1569】トークンは次のサイクル、つまりレジスタ
のiqcbのバンクを制御するiqcaにおいてデコー
ドされる。それは更にiqram内の4つの量子化テー
ブルへのアクセスを制御する。算術、つまり、2つの乗
算器とポスト関数はiqarithにある。iq用の完
全なブロック線図を図143に示す。
The token is decoded in the next cycle, iqca, which controls the iqcb bank of registers. It also controls access to the four quantization tables in iqram . Arithmetic, the two multipliers and the post function, are in iqarith. A complete block diagram for iq is shown in FIG.

【1570】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つ
はトークンボディである。
[1570] B. 8.6 "Block execution" 8.6.1 “Iqca” In the present invention, iqca converts tokens into igram and i
It is a state machine used for decoding into a register control signal in qcb. Since the state machine is reset by each new token, it should be described as a state machine for each token. For example: QUANT SCALE (B.8.7.
4. See QUANT SCALE) and QUANT
TABLE (B. 8.7.6 QUANT TABLE
Code) is as follows: if (tokenheader == QUANT SCALE) @sprintf (report, "QUANT SCALE"); reg addr = ADDR IQ QUANT SCALE; rnnow = write; entitle; (Tokenheader == QUANT TABLE) / * QUANT TABLE token * / switch (substate) {case 0: / * quantification table header * / spreadf (report, "QUANTA, QUANTA, QUANTA, QUANTA, QUANTA, QUANTA, QUANTA, QUANTA, QUANTA, QUANT TABLE) "(Empty)")); nextsubstate = 1; insertnext = (headerextn? 0: 1) Reg addr = ADDR IQ COMPONENT; rnoww = WRITE; enable = 1; break; case 1: / * quantification table body * / sprintf (report, "QUANT TABLE"% "???????????????????????????????? Insertsubstate = 1; insertnext = (headerextn? 0: (qtmaddr 63 == 0)); reg addr = USE QTM; rnow = (headerextn ?? reK; default: printf (report, ERROR in iq quantification table token) oder (substate% x) \n, substate); break; case}} substate is state in the token, QU
The ANT SCALE has, for example, only one substate. However, QUANT TABLE has two substates, one is the header and the other is the token body.

【1571】ステートマシーンはPLAとして実装され
る。未認識トークンは如何なるワードラインも発生させ
ないし、PLAにもディフォルト(無害な)制御を出力
させない。
The state machine is implemented as a PLA. Unrecognized tokens do not generate any word lines and do not cause the PLA to output default (harmless) controls.

【1572】従って、iqcaはBodyWordカウ
ンタからアドレスをiqramに供給し、例えば未拡張
QUANT TABLE(B.8.7.4を参照)にお
いて、ワードをストリームに挿入する。これは出力を有
効に保つ一方で、入力を止めることによって達成され
る。続くブロック(iqcbまたはiqarith)に
おいて正しいデータでワードを満たすことができる。
Therefore, iqca supplies the address from the BodyWord counter to iqram and inserts words into the stream, for example, in an unextended QUANT TABLE (see B.8.7.7.4). While this keeps enable output is achieved by Rukoto stop input. The word can be filled with the correct data in the following block (iqcb or iqarith).

【1573】iqcaは2線式インターフェースによっ
て制御されるデータパス内の1サイクルである。
[1573] iqca is one cycle in the data path controlled by the two-wire interface.

【1574】B.8.6.2 「iqcb」 発明において、iqcbはiqステータスレジスタを保
持する。iqcaの制御下、iqcbはこれらをデータ
パスから/へとロードもしくはアンロードする。
B.1574 8.6.2 "iqcb" In the present invention, iqcb holds an iq status register. Under the control of iqca, iqcb loads or unloads these from / to the data path.

【1575】ステータスレジスタは、XY乗算器ターム
及びポスト量子化機能を制御するため、iqarith
のために制御ワイヤにデコードされる(表219、表2
20を参照)。
The status register is iqarith for controlling the XY multiplier terms and the post-quantization function.
(See Table 219, Table 2)
20).

【1576】データパスのサインビットはここで分離さ
れ、ポスト量子化機能に送られる。更に、データパス上
のゼロバリューワードがここで検出される。その後算術
は無視され、ゼロがデータパスにマックスされる。これ
はiqの「ゼロイン;ゼロアウト」スペックに従う最も
簡単な方法である。
The sign bits of the data path are now separated and sent to the post-quantization function. Further, zero value words on the data path are detected here. Arithmetic is then ignored and zeros are maxed into the data path. This is the simplest way to follow iq's "zero in; zero out" specification.

【1577】ステータスレジスタは、レジスタiq a
ccessが1に設定され、1を読み戻す時にのみ、マ
イクロプロセッサからアクセス可能である。この状況で
は、iqcbはデータパスを停止させ、こうしてレジス
タが安定したバリューを持ち、如何なるデータもデータ
パスにおいて転換されない。
[1577] The status register is the register iq a
access is set to 1 and is accessible from the microprocessor only when 1 is read back. In this situation, iqcb stalls the data path, so that the registers have a stable value and no data is converted in the data path.

【1578】Iqcbは2線式インターフェースによっ
て制御されるデータパス内の1サイクルである。
Iqcb is one cycle in the data path controlled by the two-wire interface.

【1579】B.8.6.3 「Iqram」 Iqramは各々が648ビットである4つの量子化テ
ーブルマトリックス(QTM)に対して支持しなければ
ならない。従って、それはサイクル毎に1リードまたは
1ライトが可能な、2568ビットの6トランジスター
RAMである。RAMはその制御を受け取る2線式イン
ターフェースロジックにより囲まれ、iqcaからデー
タを書き込む。それはiqarithにデータを読み出
す。同様に、iqramはiqcbと同じデータパス内
のサイクルを占める。
[1579] B.I. 8.6.3 "Iqram" Iqram must support for four quantization table matrices (QTMs), each of which is 648 bits. Therefore, it is a 2568-bit 6-transistor RAM, one read or one write per cycle. The RAM is surrounded by two-wire interface logic that receives its control and writes data from iqca. It reads data to iqarith. Similarly, iqram occupies the same cycle in the datapath as iqcb.

【1580】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 from and written to the microprocessor when iq access reads back 1. RAM is a keyhole register, iq qtm ke
put 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, which is kept in the hole addr. Similarly, iq qtm ke
yhole addr can be written directly.

【1581】B.8.6.4 「iqarith」 iqarithは3つのサイクルに亙ってパイプライン
でつながれ、スプリットされる3つの機能があることに
注意。機能については下記において論じる(図140を
参照)。
B.B. 8.6.4 "iqarith" Note that iqarith has three functions that are pipelined and split over three cycles. The function is discussed below (see FIG. 140).

【1582】B.8.6.4.1 「XY乗算器」 これはデータパス乗算器に供給される5(X)x8
(Y)ビットのキャリセーブ未サイン乗算器である。乗
数及び被乗数はiqcbからの制御ワイヤで選択され
る。乗法は第1サイクルにあり、分解アダーは第2サイ
クルにある。
B. [1582] 8.6.4.1 “XY Multiplier” This is the 5 (X) × 8 supplied to the datapath multiplier.
(Y) bit carry save unsigned multiplier. The multiplier and multiplicand are selected with control wires from iqcb. The multiplication is in the first cycle and the decomposition adder is in the second cycle.

【1583】乗算器への入力において、iqramから
のデータはQUANT TABLEをデータパスに読み
出すために、データパスにマックスされ得る。
At the input to the multiplier, the data from iqram can be maxed to the data path to read the QUANT TABLE to the data path.

【1584】B.8.6.4.2 「(XY)*データ
パス乗算器」 この13(XY)×12(データパス)ビットのキャリ
セーブ未サイン乗算器はブロックの3サイクルに亙って
スプリットされる。第1サイクルに3つの部分積、第2
サイクルに7つ、第3サイクルに残りの2つである。
B. [1584] 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 the first cycle, 2nd
Seven in the cycle and the remaining two in the third cycle.

【1585】乗算器からの全ての出力は2047以下
(non coefficient)であるか、あるい
は+2047/−2048に飽和されるので、上位12
ビットは分解される必要がない。従って、分解アダーは
たった2ビット幅である。高いオーダーのビットの残り
に関して、ゼロ検出がサチュレーション信号として充分
である。
All outputs from the multiplier are less than 2047 (non-coefficient) or saturate to + 2047 / −2048, so the top 12
The bits need not be disassembled. Thus, the decomposition adder is only 2 bits wide. For the rest of the higher order bits, zero detection is sufficient as a saturation signal.

【1586】B.8.6.4.3 「ポスト量子化機
能」 ポスト量子化機能は、 ・1024を加算する ・サインマグニチュードから2の補数表示に変換する ・全ての偶数をゼロに向かって最も近い奇数にラウンド
する ・結果を+2047または−2048に飽和させる ・出力をゼロに設定する(B.8.6.2を参照)。
[1586] B. 8.6.4.3 Post-quantization function The post-quantization function adds: 1024 Converts sine magnitude to two's complement representation Rounds all even numbers to the nearest odd number toward zero • Saturate the result to +2047 or -2048. • Set the output to zero (see B.8.6.2).

【1587】最初の3つの機能は12ビットアダーで実
行される(第2と第3のサイクルにパイプラインでつな
がれる)。このことから、各機能が必要とするものが何
であるかが解り、これらは1つのアダーの上に結合され
る。
The first three functions are performed in a 12-bit adder (pipelined in second and third cycles). From this, we know what each function needs and they are combined on one adder.

【1588】[1588]

【表221】 表B.8.2 ポスト量子化アダー機能 当業者なら認識するであろうが、これらの機能は結合さ
れた時に互いに依存し合うので、これらを再プグラミ
ングする際に注意しなければならない。
[Table 221] Table B. 8.2 As will recognize if post-quantization adder functions those skilled in the art, since these functions mutually dependent on one another when coupled, to be careful when re profile Gurami <br/> ring these No.

【1589】サチュレーションバリュー、ゼロ及びゼロ
+1024は第3のサイクルの終わりでデータパスにマ
ックスされる。
The saturation values, zero and zero + 1024, are maxed into the data path at the end of the third cycle.

【1590】B.8.7 「逆量子化器トークン」 以下の説明は逆量子化器が応答する各トークンtpのた
めの、逆量子化器の行為を定義する。全ての場合に、ト
ークンは逆量子化器の出力に送られる。ほとんどの場
合、トークンは下記に記す例外を除き、逆量子化器によ
って修正されない。全ての未認識トークンは逆量子化器
の出力に未修正のまま送られる。
[1590] B. 8.7 "Dequantizer Token" The following description defines the dequantizer behavior for each token tp to which the dequantizer responds. In all cases, the token is sent to the output of the inverse quantizer. In most cases, tokens are not modified by the inverse quantizer, with the exceptions noted below. All unrecognized tokens are sent unmodified to the output of the inverse quantizer.

【1591】B.8.7.1 「シーケンススタート」 このトークンはレジスタiq prediction
mode[1:0]及びiq mpeg indire
ction[1:0]がゼロに設定されるようにする。
B. [1591] 8.7.1 "Sequence start" This token is stored in the register iq prediction.
mode [1: 0] and iq mpeg india
Let ction [1: 0] be set to zero.

【1592】B.8.7.2 「コーディングスタンダ
ード」 このトークンはデコードされる現在のスタンダード(M
PEG、JPEGまたはH.261)に基づいて、iq
standard[1:0]に適切なバリューがロー
ドされるようにする。
B.1592. 8.7.2 “Coding Standard” This token is the current standard (M
PEG, JPEG or H.264. 261), iq
Let standard [1: 0] be loaded with the appropriate value.

【1593】B.8.7.3 「予測モード」 このトークンはiq prediction mode
[1:0]をロードする。予測モードトークンは2つ以
上のビットを所有するが、逆量子化器は2つの最低オー
ダーのビットへのアクセスを必要とするだけである。こ
れらはブロックがイントラコード化されているか否かを
判断する。
[1593] B. 8.7.3 "Prediction mode" This token is in the iq prediction mode
Load [1: 0]. The prediction mode token possesses more than one bit, while the inverse quantizer only needs access to the two lowest order bits. These determine whether the block is intra-coded.

【1594】B.8.7.4 「量子化スケール」 このトークンはiq quant scale[4:
0]をロードする。
[1594] B. 8.7.4 "Quantization Scale" This token is called iq quant scale [4:
0].

【1595】B.8.7.5 デー 本発明では、このトークンは実際の量子化係数を所有す
る。トークンヘッドは色成分を識別する2つのビットを
含み、これらはiq component[1:0]に
ロードされる。次の64のトークンワードは量子化係数
を含む。これらは逆量子化プロセスの結果として修正さ
れ、再構築された係数と置き換えられる。
[1595] B. 8.7.5 The data present invention, this token owning 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 inverse quantization process and are replaced by the reconstructed coefficients.

【1596】正確に64の拡張ワードがトークン内に存
在しない場合、逆量子化器の行為は限定されない。
If exactly 64 extension words are not present in the token, the dequantizer behavior is unlimited.

【1597】逆量子化器の入力におけるデータトークン
は量子化係数を所有する。これらはサイン・マグニチュ
ードフォーマットにおいて11ビット(10ビット+サ
インビット)で表示される。バリュー「マイナスゼロ」
は使用されるべきではないが、正確にゼロと解釈され
る。
The data token at the input of the inverse quantizer owns the quantized coefficients. 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.

【1598】逆量子化器の入力におけるデータトークン
は再構築された係数を所有する。これらは2の補数フォ
ーマットにおいて12ビット(11ビット+サインビッ
ト)で表示される。入力におけるデータトークンは、逆
量子化器の入力において持ったのと同じ数のトークン拡
張ワードを持つであろう。
The data token at the input of the inverse quantizer owns the reconstructed coefficients. These are represented by 12 bits (11 bits + sign bit) in 2's complement format. The data token at the input will have the same number of token extension words as at the input of the inverse quantizer.

【1599】B.8.7.6 「量子化テーブル(QU
ANT TABLE)」 このトークンは新しい量子化テーブルをロードするた
め、あるいは現在のテーブルを読み出すために使用でき
る。逆量子化器においては、典型的に、トークンはビッ
トストリームからデコードされた新しいテーブルをロー
ドするために使用されるであろう。現在のテーブルを読
み出す動作は、そのテーブルがビットストリームにおい
てエンコードされることになる場合、エンコーダの前方
の量子化器において有用である。
[1599] B. 8.7.6 "Quantization table (QUA
ANT TABLE) This token can be used to load a new quantization table or to read the current table. In an 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 a quantizer in front of the encoder if the table is to be encoded in a bitstream.

【1600】トークンヘッドは使用されることになるテ
ーブルナンバーを特定する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.

【1601】トークンヘッドの拡張ビットが1である場
合、逆量子化器はそこに正確に64の拡張トークンワー
ドがあることを期待する。各々が量子化テーブルバリュ
ーとして解釈され、ロケーションゼロで始まる適切なテ
ーブルの連続するロケーションの中に置かれる。各拡張
トークンワードの9番目のビットが無視される。トーク
ンは更に通常の方法で、未修正のまま、逆量子化器の出
力にも送られる。
If the extension bit of the token head is 1, the inverse quantizer expects there to be exactly 64 extension token words. Each is interpreted as a quantization table value and placed in successive locations in the appropriate table starting at location zero. The ninth bit of each extension token word is ignored. The token is also sent unmodified to the output of the inverse quantizer in the usual manner.

【1602】トークンヘッドの拡張ビットがゼロである
場合、逆量子化器はロケーションゼロで始まる適切なテ
ーブルの連続するロケーションを読み出すであろう。各
ロケーションは拡張トークンワードになる(9番目のビ
ットはゼロになる)。このオペレーションの終わりで、
トークンは正確に64の拡張トークンワードを含むであ
ろう。
If the extension bit of the token head is zero, the inverse quantizer will read successive locations in the appropriate table starting at location zero. Each location becomes an extension token word (the ninth bit becomes zero). At the end of this operation,
The token will contain exactly 64 extended token words.

【1603】このトークンに答える逆量子化器のオペレ
ーションは、ゼロと64を除く全ての拡張ワードナンバ
ーのために限定されない。
The operation of the inverse quantizer in answer to this token is not limited for all extended word numbers except zero and 64.

【1604】B.8.7.7 「JPEGテーブルセレ
クト」 このトークンはiq jpeg indirectio
nへの/からのテーブルナンバーに対して、色成分の翻
訳をロードする/アンロードするために使用される。こ
れらの翻訳はJPEG及び他のスタンダードにおいて使
用される。
[1604] B. 8.7.7 “JPEG table select” This token is iq jpeg indirectio
Used to load / unload color component translations for table numbers to / from n. These translations are used in JPEG and other standards.

【1605】トークンヘッドは現在関心のある色成分を
特定する2つのビットを含む。これらはiq comp
onent[1:0]に置かれる。
The token head contains two bits that identify the color component of current interest. These are iq comp
onent [1: 0].

【1606】トークンヘッドの拡張ビットが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, the token is one extension word, iq jpeg i
ndirection [2iq component
[1: 0] +1: 2 iq component [1:
0]] contains the lowest two bits written to the location. The value just read becomes the token extension word (the upper 7 bits become zero). At the end of this operation, the token will contain exactly one token extension word.

【1607】[1607]

【表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 a default or user defined quantization table. The token head contains two bits. Bit 0 of the header is iq mpeg direction
Determines which bit is to be written. Bit 1 is written to that location.

【1608】iq mpeg indirection
[1:0]レジスタはシーケンススタートトークンによ
ってクリアされるので、ユーザー限定量子化テーブルが
ビットストリーム内に送られた場合、このトークンを使
用することだけが必要であろう。
[1608] iq mpeg direction
Since the [1: 0] register is cleared by the sequence start token, it will only be necessary to use this token if a user-limited quantization table was sent in the bitstream.

【1609】B.8.8 「マイクロプロセッサレジス
タ」 B.8.8.1 「iq access」 いずれかのiqレジスタへのマイクロプロセッサアクセ
スを得るために、iqaccessは1に設定されなけ
ればならず、それが1を読み返すまで登録されなければ
ならない(B.8.6.2を参照)。これをすることを
怠ると、読まれているレジスタがデータパスによってま
だ制御されている状態になり、安定しない。igram
の場合、アクセスはロックアウトされ、ゼロを読み戻
す。
[1609] B.I. 8.8 “Microprocessor registers” 8.8.1 "iq access" To gain microprocessor access to any iq register, iqaccess must be set to 1 and registered until it reads back 1 (B.8 .6.2). Failure to do this will result in the register being read being still controlled by the data path and not stable. igram
If, access is locked out and reads back zero.

【1610】iq accessに0を書き込むと、制
御をデータパスに手放すことになる。
Writing 0 to iq access gives up control to the data path.

【1611】B.8.8.2 「Iq coding
standard[1:0]」 このレジスタは逆量子化器によって実行されるコーディ
ングスタンダードを保持する。
B. [1611] 8.8.2 “Iq coding
standard [1: 0] "This register holds the coding standard implemented by the inverse quantizer.

【1612】[1612]

【表223】 このレジスタはコーディングスタンダードバリューによ
ってロードされる。
[Table 223] This register is loaded by the coding standard value.

【1613】これは2ビットレジスタではあるが、現在
メモリーマップに8ビットが割り当てられており、将来
の実装では上記スタンダード以上のものを処理すること
ができるようになろう。
Although this is a 2 bit register, 8 bits are currently allocated to the memory map, and future implementations will be able to handle more than the above standards.

【1614】B.8.8.3 「Iq mpeg in
direction[1:0]」 この2ビットレジスタはMPEGデコーディングオペレ
ーションの間に、どの量子化テーブルが使用される予定
であるかを記録するために使用される。
B.B. 8.8.3 “Iq mpeg in
direction [1: 0] "This 2-bit register is used to record which quantization table is to be used during the MPEG decoding operation.

【1615】Iq mpeg indirection
[0]はイントラコード化ブロックのために使用される
テーブルを制御する。それが0であれば、量子化テーブ
ル0が使用され、ディフォルト量子化テーブルを含むこ
とが期待される。それが1であれば、量子化テーブル2
が使用され、ユーザー限定量子化テーブルを含むことが
期待される。
[1615] Iq mpeg direction
[0] controls the table used for intra-coded blocks. If it is 0, quantization table 0 is used and is expected to include the default quantization table. If it is 1, quantization table 2
Is used and is expected to include a user-limited quantization table.

【1616】このレジスタはMPEG TABLE S
ELECTトークンによってロードされ、シーケンスス
タートトークンによって0に設定される。
[1616] This register is an MPEG TABLE S
Loaded by the ELECT token and set to 0 by the sequence start token.

【1617】B.8.8.4 「Iq jpeg in
direction[7:0]」 この8ビットレジスタはJPEGスキャンにおいて発生
する4つの可能な色成分の各々のために、どの4つの量
子化テーブルを使用するかを決定する。
B. [1617] 8.8.4 “Iq jpeg in
direction [7: 0] "This 8-bit register determines which four quantization tables are used for each of the four possible color components that occur in a JPEG scan.

【1618】・ビット[1:0]は成分0のために使用
されるテーブルナンバーを保持する。
• Bits [1: 0] hold the table number used for component 0.

【1619】・ビット[3:2]は成分1のために使用
されるテーブルナンバーを保持する。
• Bits [3: 2] hold the table number used for component one.

【1620】・ビット[5:4]は成分2のために使用
されるテーブルナンバーを保持する。
• Bits [5: 4] hold the table number used for component two.

【1621】・ビット[7:6]は成分3のために使用
されるテーブルナンバーを保持する。
• Bits [7: 6] hold the table number used for component three.

【1622】このレジスタはJPEG TABLE S
ELECTトークンによって影響される。
[1620] This register is a JPEG TABLES
Affected by the ELECT token.

【1623】B.8.8.5 「iq quant s
cale[4:0]」 このレジスタは量子化スケール関数の現在のバリューを
保持する。このレジスタはQUANT SCALEトー
クンによってロードされる。
[1623] B. 8.8.5 “iq quants”
call [4: 0] "This register holds the current value of the quantization scale function. This register is loaded by the QUANT SCALE token.

【1624】B.8.8.6 「iq compone
nt[1:0]」 このレジスタは量子化テーブルマトリックス(QTM)
ナンバーに翻訳されるバリューを保持する。それはトー
クンナンバーによってロードされる。
[1624] B. 8.8.6 "iq component
nt [1: 0] "This register is a quantization table matrix (QTM)
Holds the value that is translated into a number. It is loaded by token number.

【1625】データトークンヘッダはこのレジスタに処
理されようとしているブロックの色成分がロードされる
ようにする。この情報は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 components of the block being processed. This information is used only in JPEG and JPEG variations to determine the QTM number, which is reference to iq j
Process with peg direction [7: 0]. In other standards, iq component
[1: 0] is ignored. The JPEG table select token causes this register to be loaded with a color component. Then it is accessed by the token body iq
Used as an index into jpeg_direction [7: 0].

【1626】量子化スケールトークンはこのレジスタに
QTMナンバーをロードさせる。このテーブルはその後
(トークンの拡張フォームが使用される場合)、トーク
ンからロードされるか、または適当に拡張されたトーク
ンを形成するためにテーブルから読み出される。
The quantizer token causes this register to be loaded with the QTM number. This table is then loaded from the token (if an extended form of token is used) or read from the table to form a suitably expanded token.

【1627】B.8.8.7 「iq predict
ion mode[1:0]」 この2ビットレジスタはそれに続くブロックのために使
用される予測モードを保持する。逆量子化器がこの情報
を利用する唯一の利用法は、イントラコーディングが使
用されるか否かを決定することである。レジスタの両ビ
ット共0であれば、次のブロックはイントラコード化さ
れている。
B. [1627] 8.8.7 "iq predict
ion mode [1: 0] "This two-bit register holds the prediction mode used for the following block. The only way the dequantizer uses this information is to determine whether intra-coding is used. If both bits of the register are 0, the next block is intra-coded.

【1628】このレジスタは予測モードトークンによっ
てロードされる。このレジスタはシーケンススタートト
ークンによって0に設定される。
This register is loaded by the prediction mode token. This register is set to 0 by the sequence start token.

【1629】Iq prediction mode
[1:0]はJPEG及びJPEGバリエーションモー
ドにおけるオペレーションに何の影響も与えない。
[1629] Iq prediction mode
[1: 0] has no effect on operation in JPEG and JPEG variation modes.

【1630】B.8.8.8 「Iq jpeg in
direction[7:0]」 Iq jpeg indirectionはQTMナ
ンバーに色成分を翻訳するためのルックアップ表として
使用される。従って、iq componentは、表
222に示すように、iq jpeg indirec
tionに対するインデックスとして使用される。
B.1630 8.8.8 “Iq jpeg in
direction [7: 0] "Iq jpeg direction is used as a look-up table to translate color components into QTM numbers. Therefore, as shown in Table 222, iq component is iq jpeg indirect
Used as an index to the Tion.

【1631】このレジスタロケーションは、トークンの
拡張フォームが使用される場合、JPEGテーブルセレ
クトトークンによって直接書き込まれる。
This register location is written directly by the JPEG table select token if an extended form of the token is used.

【1632】このレジスタロケーションは、トークンの
非拡張フォームが使用される場合、JPEGテーブルセ
レクトトークンによって直接読み出される。
This register location is read directly by the JPEG table select token if a non-extended form of the token is used.

【1633】B.8.8.9 「Iq quant t
able[3:0][63:0][7:0]」 4つの量子化テーブルがあり、各々が64のロケーショ
ンを持つ。各ロケーションは8ビットバリューである。
バリュー0は如何なるロケーションにおいても使用され
るべきではない。
[1433] B. 8.8.9 “Iq quant t”
able [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 at any location.

【1634】これらのレジスタはB.8.6.3のIg
ramにおいて説明したRAMとして実装される。
These registers are stored in B.C. 8.6.3 Ig
This is implemented as the RAM described in ram.

【1635】これらのテーブルは量子化テーブルトーク
ンを用いてロードできる。
These tables can be loaded using quantization table tokens.

【1636】これらのテーブル内のデータはジグザグス
キャンオーダーで記憶されることに注意。多くの文書は
方形の8×8のナンバーアレイとして量子化テーブルバ
リューを表示している。通常、DCタームは左上位にあ
り、水平の周波数が左から右へと増加し、垂直の周波数
が上から下へと増加する。該かるテーブルは、ナンバー
が連続するiを持つ量子化テーブルの中に置かれるにつ
れて、ジグザグスキャンパスに沿って読まれなければな
らない。
Note that the data in these tables is stored in a zigzag scan order. Many documents display quantization table values as a square 8 × 8 number array. Typically, the DC terms are in the upper left, with horizontal frequencies increasing from left to right and vertical frequencies increasing from top to bottom. Such tables must be read along a zig-zag scan path as the numbers are placed in a quantization table with consecutive i.

【1637】B.8.9 「マイクロプロセッサレジス
タマップ」
[1637] B. 8.9 "Microprocessor register map"

【1638】[1638]

【表224】 B.8.10 「試験」 入力における逆量子化器に対するテストカバリッジは逆
量子化器の出力スノーパを通してであり、出力において
は逆量子化器自体のスノーパを通してである。ロジック
は逆量子化器自体のスキャンチェインによってカバーさ
れる。
[Table 224] B. 8.10 "Test" The test coverage for the inverse quantizer at the input is through the inverse quantizer's output sniper and at the output through the inverse quantizer's own snooper. The logic is covered by the scan chain of the inverse quantizer itself.

【1639】ramtest信号が認定されると、iq
accessに関係なくigramに対するアクセス
が得られる。 セクションB.9 「IDCT」 B.9.1 「序文」 逆離散コサイン変換(IDCT)ブロックをここで説明
する目的は、IDCT用のエンジニアリング情報源を提
供することである。それは以下の情報を含む。 ・IDCTの目的及び主な特徴 ・それがどのように設計され、実証されたか ・構造 更に、その目的はそうした説明が以下の作業を容易にす
る、あるいは助けるために当業者に充分な情報を提供す
ることである。
When the ramtest signal is recognized, iq
Access to the program is obtained regardless of the access. Section B. 9 “IDCT” B. 9.1 "Preface" The purpose of describing the Inverse Discrete Cosine Transform (IDCT) block here is to provide a source of engineering information for the IDCT. It contains the following information: The purpose and key features of the IDCT • How it was designed and demonstrated • Structure In addition, the purpose is to provide sufficient information to those skilled in the art to make such explanations easier or aid in: It is to be.

【1640】・「シリコンマクロ関数」としてのIDC
Tの認識 ・別の装置へのIDCTの統合 ・IDCTシリコン用のテストプログラムの開発 ・IDCTの修正、再設計もしくは維持 ・順方向DCTブロックの開発 B.9.2 「展望」 離散コサイン変換/ジグザグ(DCT/ZZ)はピクセ
ルのブロック上で変換を行い、各ブロックは高さ8ピク
セル×幅8ピクセルのスクリーンエリアを表示する。変
換の目的は、周波数によって分類される周波数領域にお
いてピクセルブロックを表示することである。目はピク
チャ内のDC成分に敏感であるが、高周波成分に対して
はあまり敏感ではないので、周波数データは目の感度に
従って、各成分が別個にマグニチュードを減少させるよ
うにする。マグニチュード減少プロセスは量子化として
知られている。量子化プロセスはピクチャに含まれる情
報を減少させる、つまり、量子化プロセスは損失性であ
る。損失性プロセスはある種の情報を削除することによ
り全体的なデータ圧縮を行う。周波数データは高周波が
0に量子化されやすくするように分類され、全てが連続
して現れる。連続する0は、ランレングスコーディング
は一般的に損失性のプロセスではないが、ランレングス
コーディング計画を使用することにより量子化されるデ
ータをコーディングすることが、更なるデータ圧縮を生
じさせることを意味する。
IDC as "silicon macro function"
Recognition of T ・ Integration of IDCT into another device ・ Development of test program for IDCT silicon ・ Modification, redesign or maintenance of IDCT ・ Development of forward DCT block 9.2 “Outlook” The Discrete Cosine Transform / Zigzag (DCT / ZZ) transforms on blocks of pixels, each block displaying a screen area of 8 pixels high by 8 pixels wide. The purpose of the transformation is to display pixel blocks in the frequency domain, which is classified by frequency. Since the eye is sensitive to DC components in the picture, but less sensitive to high frequency components, the frequency data causes each component to separately reduce magnitude according to the sensitivity of the eye. The magnitude reduction process is known as quantization. The quantization process reduces the information contained in the picture, ie the quantization process is lossy. Lossy processes provide overall data compression by removing certain information. The frequency data is classified so that high frequencies are easily quantized to zero, and all appear continuously. Consecutive zeros mean that run-length coding is generally not a lossy process, but coding data that is quantized by using a run-length coding scheme results in additional data compression. I do.

【1641】IDCTブロック(これは実際に逆ジグザ
グRAMまたはIZZ、及びIDCTを含む)が分類さ
れる周波数データを取り、それを空間的データに変換す
る。この逆分類プロセスはIZZの機能である。
The IDCT block (which actually contains the inverse zigzag RAM or IZZ, and the IDCT) takes the frequency data to be classified and converts it to spatial data. This inverse classification process is a function of IZZ.

【1642】IDCTブロックがその一部を形成するピ
クチャ減圧システムは、ピクセルを整数として指定す
る。これはIDCTブロックが整数値を取り、また整数
値を生じなければならないことを意味する。しかしなが
ら、IDCTの関数は整数に基づいていないので、内部
のナンバー表示は内部精度を維持するため分数部分を使
用する。完全な浮動小数点計算が好ましいが、ここに記
載する実装では固定小数点計算を使用する。固定小数点
計算を使用すると少しばかり精度の損失があるが、この
実装に関する精度はH.261及びIEEEによって指
定される精度を越えている。
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 numbering uses a 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 accuracy for this implementation is 261 and beyond the precision specified by IEEE.

【1643】B.9.3 「デザイン目標」 本発明によれば、主なデザイン目標は最小のシリコンエ
リアを使用する機能的に正確なIDCTブロックを設計
することであった。更に、デザインは指定された操作条
件の下で30MHzのクロック速度でランすることが求
められていたが、更に将来に対する適用性も持つべきで
あると考えられた。より高いクロック率が将来必要とな
るであろうし、デザインの構造は可能な所ではこれを可
能にするものである。
[1643] B. 9.3 "Design Goals" According to the present invention, the main design goal was to design a functionally accurate IDCT block that uses minimal silicon area. Furthermore, while the design was required to run at a clock speed of 30 MHz under specified operating conditions, it was believed that it should have further applicability for the future. Higher clock rates will be needed in the future, and the structure of the design will allow this where possible.

【1644】B.9.4 「IDCTインターフェース
の説明」 IDCTブロックは以下のインターフェースを持ってい
る。
[1644] B. 9.4 “Description of IDCT Interface” The IDCT block has the following interface.

【1645】・12ビット幅のトークンデータ入力ポー
ト ・ビット幅のトークンデータ出力ポート ・マイクロプロセッサインターフェースポート ・システムサービス入力ポート ・テストインターフェース ・再同期信号 両トークンデータポートは前述した標準の2線式インタ
ーフェース型である。図示した幅はポートの全ワイヤ数
ではなく、データ表示におけるビット数を指している。
それに加えて、入力トークンデータポートに連合するの
は、前のブロックの出力に対する再同期のために使用さ
れるクロック信号及びリセット信号である。更に、出力
トークンデータポートに連合し、次に続くブロックによ
って使用される2つの再同期クロックがある。
Token data input port of 12-bit width Token data output port of bit width Microprocessor interface port System service input port Test interface Resynchronization signal Both token data ports are the standard two-wire interface described above. Type. The width shown refers to the number of bits in the data representation, not the total number of wires in the port.
In addition, 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 resynchronization clocks associated with the output token data port and used by subsequent blocks.

【1646】マイクロプロセッサインターフェースは標
準であり、4ビットのアドレスを使用する。更に、3つ
の外部的にデコードされるセレクト入力があり、それら
はイベント、内部レジスタ、及びテストレジスタ用のア
ドレススペースを選択するために使用される。このメカ
ニズムはIDCTアドレススペースを異なるチップ内の
異なる位置にマップするためのフレキシビリティを提供
する。更に、1つのイベント出力、idctevent
と、2つのi/o信号、n derrdとnserrd
があり、それらはIDCT及びマイクロプロセッサの非
データバスの適当なビットに外部的に接続されるイベン
トトライステートデータワイヤである。
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 in different chips. In addition, one event output, idcevent
And two i / o signals, n derrd and n serrd
And are event tri-state data wires that are externally connected to the appropriate bits of the non-data bus of the IDCT and microprocessor.

【1647】システムのサービスポートは標準のクロッ
ク信号とリセット入力信号、及び2フェイズオーバーラ
イドクロック及び関連するクロックオーバーライドモー
ドセレクト入力で構成される。
The service port of the system consists of a standard clock signal and a reset input signal, as well as a two-phase override clock and an associated clock override mode select input.

【1648】テストインターフェースはJTAGクロッ
ク信号及びリセット信号、スキャンパスデータ、制御信
号及びramtestとchiptest入力で構成さ
れる。
The test interface is composed of JTAG clock signal and reset signal, scan path data, control signal, ramtest and chiptest inputs.

【1649】通常のオペレーションでは、IDCTがそ
の指定された機能を果たすためにマイクロプロセッサの
アクセスを必要としないので、マイクロプロセッサポー
トは不活性である。同様に、テストインターフェースは
テストもしくは確認が必要な場合にのみ活性である。
In normal operation, the microprocessor port is inactive because the IDCT does not require microprocessor access to perform its designated function. Similarly, the test interface is only active when testing or confirmation is required.

【1650】B.9.5 「離散コサイン変換用の演算
的基盤」 ビデオ帯域幅圧縮において、入力データはピクチャの方
形部分を表示する。従って、適用される変換は二次元で
なければならない。二次元変換は効果的に計算するのは
困難であるが、二次元DCTは分離できるプロパティを
持っている。分離可能な変換は他の次元とは別に各次元
に沿って計算され得る。これを実行するには、ハードウ
ェアにマッピングするために特に設計される一次元のI
DCTアルゴリズムを使用し;そのアルゴリズムはソフ
トウェアモデルには適切ではない。一次元アルゴリズム
は二次元の結果を得るために連続的に適用される。
[1650] B. 9.5 "Computational basis for discrete cosine transform" In video bandwidth compression, the input data represents a 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 separable properties. Separable transforms can be calculated along each dimension separately from the other dimensions. To do this, a one-dimensional I, specifically designed for mapping to hardware,
Use the DCT algorithm; the algorithm is not appropriate for software models. One-dimensional algorithms are applied continuously to obtain two-dimensional results.

【1651】N×Nのピクセルブロック用の二次元DC
Tの演算的定義は以下の通りである:
2D DC for N × N pixel block
The operational definition of T is as follows:

【1652】[1652]

【数5】 上記定義は演算的に、かけ算の間にマトリックス互換を
行い、2つのN×Nマトリックスを連続して二度掛ける
のに等しい。一次元DCTは演算的に2つのNNマトリ
ックスを掛けるのに等しい。演算的に、二次元の場合
は: Y=[XC]TC 式中、Cはコサインの項のマトリックスである。
(Equation 5) The above definition is operationally equivalent to performing matrix compatibility between multiplications and multiplying two N × N matrices twice in succession. One-dimensional DCT is equivalent to arithmetically multiplying two NN matrices. Operationally, in the two-dimensional case: Y = [XC] TC where C is a matrix of cosine terms.

【1653】このように、DCTは時にはマトリックス
操作の項で説明されることがある。マトリックスの説明
は変換の演算的約分のために便利であるが、これは記法
を簡単にするだけであることを強調しておかなければな
らない。2/Nの項がDCレベルを支配することに注
意。定数c(j)及びc(k)は正規化関数として知ら
れている。
Thus, DCT is sometimes described in the section on matrix operations. While the description of the matrix is useful for the arithmetic reduction of the transformation, it must be emphasized that 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.

【1654】B.9.6 「IDCT変換アルゴリズ
ム」 下記に続けて詳細に説明するように、実際のIDCT変
換を計算するために使用されるアルゴリズムは「高速」
アルゴリズムであるべきである。使用されるアルゴリズ
ムは効率的なハードウェア構造及び実装のために最適化
される。アルゴリズムの主な特徴は、1つの乗法を取り
除くための〓2スケーリングの使用、及び上位及び下位
セクションの間により大きな対称を生じさせるために設
計されるアルゴリズムの変換である。この対称は最も高
価な演算部の多くを効率的に再使用できるようにする。
[1654] B. 9.6 "IDCT Transform Algorithm" As will be described in more detail below, the algorithm used to calculate the actual IDCT transform is "fast"
Should be an algorithm. The algorithm used is 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 arithmetic units to be efficiently reused.

【1655】アルゴリズムを示す線図(図145)にお
いて、上位半分と下位半分の間の対称は中間部分で明ら
かである。アダーとサブトラクターの最後のカラムも対
称部分を有しており、アダーとサブトラクターは比較的
低価格で組み合わせることができる(4つのアダー/サ
ブトラクターは図示されるような4つのアダーと4つの
サブトラクターよりかなり小さくなる)。
In the diagram showing the algorithm (FIG. 145), the symmetry between the upper half and the lower half is evident in the middle part. The last column of the adder and the subtractor also has a symmetrical part, and the adder and the subtractor can be combined at a relatively low price (four adders / subtractors have four adders and four Considerably smaller than a subtractor).

【1656】一次元変換の全ての出力は〓2によって概
算されることに注目。これは最後の二次元の答えが2に
よって概算されることを意味する。これは最終的なサチ
ュレーション及びシフティングによるラウンディングス
テージにおいて容易に訂正できる。
Note that all outputs of the one-dimensional transform are approximated by 〓2. This means that the last two-dimensional answer is approximated by two. This can be easily corrected in the final saturation and shifting rounding stage.

【1657】図示されたアルゴリズムは二倍精度浮動小
数点Cにおいてコード化され、この結果は(明瞭なマト
リックス乗法を用いて)基準IDCTと比較された。次
のステージはC(タイミング情報は含まれない)におけ
るアルゴリズムのビット正確整数バージョンをコード化
するために使用され、それはアルゴリズムがシリコン上
に実装されるであろう時に、アルゴリズムの性能及び精
度を確認するために使用できたであろう。許容できる変
換の間違いはH.261スタンダードにおいて明記され
ており、この方法はビット正確モデルを実行し、伝えら
れる精度を測定するために使用される。
The illustrated algorithm was coded in double precision floating point C, and the results were compared (using explicit matrix multiplication) to a reference IDCT. The next stage is used to encode a bit-exact integer version of the algorithm in C (no timing information is included), which verifies the performance and accuracy of the algorithm as it will be implemented on silicon Could have been used to Acceptable conversion errors are described in As specified in the H.261 standard, this method is used to implement a bit accurate model and measure the reported accuracy.

【1658】図146は上位セクションと下位セクショ
ン間の共通性を図示する方法で、全体的なIDCT構造
を示し、更に中間結果を記憶することが必要なポイント
を示している。回路は上位セクション及び下位セクショ
ンが別個に計算されるようにするため時分割多重化され
ている。
FIG. 146 shows the overall IDCT structure in a way that illustrates the commonality between the upper and lower sections, and also shows the points where intermediate results need to be stored. The circuit is time division multiplexed so that the upper and lower sections are calculated separately.

【1659】B.9.7 「IDCT変換構造」 前述したように、IDCTアルゴリズムは効率的な構造
のために最適化される。その結果生じる構造の主な特徴
は次の通りである: ・高価な演算操作の重要な再使用 ・少数の乗算器、全てが多目的というよりむしろ一定係
数である(乗算器サイズを減少させ、別の係数記憶の必
要性を除去する) ・少数のラッチ、構造をパイプラインでつなぐためにわ
ずかに必要である ・パイプラインステージ毎に1つの分解操作だけが必要
であるようにオペレーションが配置される ・自然のオーダーで結果を生じるように配置できる ・複雑なクロスバースイッチングもしくは重要なマルチ
プレクシングがない(両者共、最終的な実装において高
価である) ・2つのキャリセーブオペレーション(1つは加算、1
つは減算)を取り除くために、分解結果から引き出され
る利点 ・各ステージが4クロックサイクルを取る、つまり非常
に高速の(大きな)演算操作の必要性を除去することを
可能にする構造 ・小さくて遅い波及的桁上げから、大きくて高速のキャ
リルックアヘッドバージョンへと単に分解操作を変更す
ることにより、現行の30MHzピクセルクロックオペ
レーションよりはるかに高速のオペレーションを支持す
るであろう構造。分解操作は各ステージにおいて必要な
時間の最大部分を必要とするので、これらのオペレーシ
ョンだけをスピードアップすることは全体的なオペレー
ションスピードに重大な影響を及ぼす一方、変換の全体
的なサイズの増加は比較的小さくてすむ。更に、速度の
増加はパイプライニングの深さを増加させることによっ
ても達成できる。
[1659] B. 9.7 "IDCT Transform Structure" As mentioned above, the IDCT algorithm is optimized for efficient structure. The key features of the resulting structure are as follows: significant reuse of expensive arithmetic operations; a small number of multipliers, all of which are constant rather than versatile (reducing multiplier size, Eliminates the need for coefficient storage) Fewer latches, slightly required to pipeline structures Pipelined 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 are expensive in the final implementation) • Two carry-save operations (one add, 1
Advantages derived from the decomposition result to eliminate the (subtraction) one: A structure that allows each stage to take four clock cycles, thus eliminating the need for very fast (large) arithmetic operations. A structure that would support much faster operation than the current 30 MHz pixel clock operation by simply changing the decomposition operation from a slow ripple carry to a large and fast carry look ahead version. Since decomposing operations require the largest part of the time required at each stage, speeding up only these operations has a significant effect on the overall operation speed, while increasing the overall size of the transform Relatively small. Furthermore, an increase in speed can also be achieved by increasing the depth of the pipe lining.

【1660】・変換データフローの制御は非常に明瞭で
あり、効率的である。
The control of the conversion data flow is very clear and efficient.

【1661】一次元変換微細構造の線図(図150)
は、アルゴリズムが小さな一組のハードウェア資源にマ
ップされ、必要な性能が得られる方法を示している。こ
の構造の制御は「制御シフトレジスタ」をデータフロー
パイプラインに適合させることにより達成される。この
制御はデザインに対して明瞭であり、シリコンレイアウ
トにおいて効率的である。
[1661] Diagram of one-dimensional conversion fine structure (FIG. 150)
Shows how the algorithm maps to a small set of hardware resources to achieve the required performance. Control of this structure is achieved by adapting the "control shift register" to the data flow pipeline. This control is clear to the design and efficient in silicon layout.

【1662】図150上で指名される制御信号(lat
ch,sel byp等)は、ラッチを制御するために
使用される様々なイネーブル信号であり、信号が流れ
る。ラッチに対するクロック信号は図示されていない。
The control signal (lat) designated on FIG.
ch, sel by, etc.) are various enable signals used to control the latch, through which the signals flow. The clock signal for the latch is not shown.

【1663】変換構造が変換サイズを最小にしながら、
必要な精度基準を満たせるようにするという点から、幾
つかの実装に関する詳細が重要となる。一般に使用され
る技術は主として2つのクラスに分かれる。
While the transform structure minimizes the transform size,
Some implementation details are important in terms of being able to meet the required accuracy standards. Commonly used techniques fall into two main classes.

【1664】・固定小数点位置を個々に制御することに
より、各々の中間状態で固定ワード幅を持つ最大ダイナ
ミックレンジの保持。
By maintaining the fixed point positions individually, maintaining the maximum dynamic range with a fixed word width in each intermediate state.

【1665】・(変換全体のワード幅を単に増加させる
ことによる精度増加ではなく)演算オペレーションの選
択操作により精度を達成するために、精度要件の統計的
定義の利用。
Use of the statistical definition of the accuracy requirement to achieve accuracy through the selection of arithmetic operations (rather than simply increasing the word width of the entire transform).

【1666】変換を設計する明瞭な方法は、精度を達成
するために充分な大きさにされた固定ワード幅で単に固
定小数点を実行することから成ったであろう。不運なこ
とに、このアプローチは結果的により大きなワード幅を
生じさせ、従って大きな変換を生じさせる。本発明にお
いて使用されるアプローチは、特別の中間値のために利
用できるダイナミックレンジを最大限利用する方法で、
変換を通じて固定小数点位置が変化できるようにし、最
大限可能な精度を達成する。
An obvious way to design a transform would consist of simply running a fixed point with a fixed word width large enough to achieve accuracy. Unfortunately, this approach results in a larger word width and therefore a large conversion. The approach used in the present invention is to maximize the dynamic range available for a particular intermediate value,
Allow the fixed-point position to change through the conversion to achieve the maximum possible accuracy.

【1667】利用できる結果が統計的に明記されるの
で、全体的な精度を改善するためにどの中間値に対して
も選択的調整が行われ得る。選択される調整はLSB計
算の単なる操作であり、それはほとんど費用のかからな
いものである。この技術の代替案としては、ワード幅を
増やすことがあるが、かなりの費用がかかる。調整は最
終的な結果が以前に所定の方向と反対方向に行く傾向が
見い出されていれば、効果的にその結果に対して所定の
方向に加重値を与えることである。結果の断片的な部分
を調整することにより、これらの結果の全体的な平均を
効果的にシフトすることができる。
As the available results are specified statistically, selective adjustments can be made to any intermediate values to improve overall accuracy. The adjustment chosen is just an operation of the LSB calculation, which is almost inexpensive. An alternative to this technique is to increase the word width, but at a significant cost. The adjustment is to effectively weight the result in a given direction if the end result has previously been found to be in the opposite direction. By adjusting the fractional parts of the results, the overall average of these results can be effectively shifted.

【1668】B.9.8 「IDCTブロック線図の説
明」 IDCTのブロック線図はトークンストリームのプロセ
シングに関連する全てのブロックを示す。この線図、図
147はクロッキング、テスト及びマイクロプロセッサ
アクセス、及びイベントメカニズムを詳細には示してい
ない。テストアクセスを提供するために使用されるスノ
ーパブロックは線図において図示されていない。
1668. 9.8 Description of the IDCT block diagram The IDCT block diagram shows all the blocks involved in the processing of the token stream. This diagram, FIG. 147, does not show the clocking, test and microprocessor access, and event mechanisms in detail. The snorper blocks used to provide test access are not shown in the diagram.

【1669】B.9.8.1 「データ誤差チェッカ
ー」 最初のブロックはデータ誤差チェッカー及びコレクター
であり、12ビット幅のトークンストリームを選び/作
り出し、このストリームを分析し、データトークンをチ
ェックするdecheckと呼ばれる。他の全てのトー
クンは無視され、直接送られる。遂行されるチェックは
64に等しくない拡張数を持つデータトークンのために
行われる。可能な誤差はdeficient(不足)
(<64拡張)、dct too few even
t、及びsupernumerary(過剰)(>64
拡張)、idct too many eventと呼
ばれる。該かる誤差は標準のイベントメカニズムで合図
されるが、ブロックもトークンストリームの操作により
簡単な誤差リカバリを試みる。不足誤差の場合、データ
トークンは「0」バリュー拡張が詰められ(入力受け入
れを停止し、挿入を実行する)、正確な64拡張を作り
上げる。過剰誤差の場合、拡張ビットは64番目の拡張
に「0」が強制され、全ての余分な拡張はトークンスト
リームから取り除かれる。
B.1669. 9.8.1 Data Error Checker The first block is a data error checker and collector, called a decheck that selects / creates a 12-bit wide token stream, analyzes this stream, and checks for data tokens. All other tokens are ignored and sent directly. The check performed is performed for data tokens with an extension number not equal to 64. Possible error is significant (deficient)
(<64 extension), i dct too few even
t and supernumerary (excess) (> 64)
Extension), referred to as an idct to many event. Such errors are signaled by standard event mechanisms, but blocks also attempt simple error recovery by manipulating the token stream. In the case of a missing error, the data token is padded with "0" value extensions (stop accepting inputs and perform insertions), making up the exact 64 extensions. In case of excess error, the extension bit is forced to "0" for the 64th extension and all extra extensions are removed from the token stream.

【1670】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)というオーダーで出力さ
れるローを生じる。
[1670] 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 analyzed, but only data tokens are recognized.
All other tokens are sent unchanged. A data token is also sent, but the extension order is changed. This block relies on accurate data tokens (ie, only 64 extensions). If this is not true, no operation is specified. The rearrangement is performed according to a standard inverse zigzag pattern and by default to provide horizontally scanned data at the IDCT output. It is also possible to change the ordering to provide a vertically scanned output. Standard IZ
In addition to Z-ordering, this block performs an extra relocation of each 8-word row. This is done because of the special requirements of the IDCT one-dimensional transform block, (0,1,2,
Instead of the order 3, 4, 5, 6, 7), (1,
3,5,7,0,2,4,6).

【1671】B.9.8.3 「入力フォーマッティン
グ部」 次のブロックは入力フォーマッティング部、ip fm
tであり、それはIDCT変換の第1次元のためにデー
タ入力を形成する。このブロックは12ビット幅のトー
クンストリーム入力と22ビット幅のトークンストリー
ム出力を持つ。データトークンはIDCT変換標準22
ビット幅ワードにおける正しい有効へと整数部分を動か
すために、左にシフトされ、分数部分は0に設定され
る。これはこのポイントにおいて10ビット分数がある
ことを意味する。他の全てのトークンはシフトされず、
余分な未使用のビットは単に0に設定される。
[1671] 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 validity in the bit-width word, it is shifted left and the fraction 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 zero.

【1672】B.9.8.4 「1次元変換 − 第1
次元」 図示されている次のブロックは最初の1次元IDCT変
換ブロック、onedである。これは22ビット幅のト
ークンストリームを入力/出力し、通常のように、スト
リームは分析され、データトークンが認識される。他の
全てのトークンは無変更のまま送られる。データトーク
ンは、8x8の逆離散コサイン変換の1次元実行を果た
す、パイプラインでつながれたデータパスを通過する。
第1次元の出力には、データワード内に7ビット分数が
ある。他の全てのトークンは単にデータ変換待ち時間に
適合し、出力前にトークンストリームに組み換えられる
単なるシフトレジスタデータパスを通過する。
[1672] B. 9.8.4 "One-dimensional transformation-first
The next block shown is the first one-dimensional IDCT transform block, oned. It inputs / outputs a 22 bit wide token stream, and the stream is analyzed and data tokens are recognized as usual . All other tokens are sent unchanged. The data token passes through a pipelined data path that performs a one-dimensional implementation of an 8x8 inverse discrete cosine transform.
At the output of the first dimension, there are 7 bit fractions in the data word. All other tokens simply fit the data conversion latency and pass through a simple shift register data path that is recombined into a token stream before output.

【1673】B.9.8.5 「転置RAM」 転置RAMtramはそれがトークンストリームを処理
する方法において、逆ジグザグRAMと多くの面で似て
いる。処理されるトークンの幅(22ビット)及び遂行
される再配置は異なるが、他の面では同じように作用
し、実際にその制御ロジックの多くを共有する。ここで
も、行(Row)列(Column)行(Row)
への基本的スワッピングと共に、次のIDCT次元の要
件のために付加的に再配置される。
[1673] B. 9.8.5 Transpose RAM The transpose RAMtram is similar in many ways to the inverse zigzag RAM in the way it processes the token stream. The width of the token being processed (22 bits) and the relocation performed are different, but otherwise behave the same and actually share much of its control logic. Again, the row (Row) is the row (Row) of the column (Column ).
With the basic swapping to, it is additionally rearranged for the next IDCT dimension requirement.

【1674】B.9.8.6 「1次元変換−第2次
元」 図示されている次のブロックは1次元IDCT変換ブロ
ックの別の例であり、全ての面で第1次元と同じであ
る。この次元の出力には、4ビット分数がある。 B.9.8.7 「ラウンドとサチュレーション」 ラウンド・サチュレーションブロック、rasは22ビ
ット固定小数点フォーマットのデータ拡張を含む22ビ
ット幅のトークンストリームを選び、9ビット幅のトー
クンストリームを出力するが、その場合データ拡張は
(+ve無限大に向かって)整数にラウンドされ、9ビ
ットの2の補数表示に飽和されており、他の全てのトー
クンは直接送られる。
[1679] B. 9.8.6 "One Dimension Transform-Second Dimension" The next block shown is another example of a one dimensional IDCT transform block, which is the same in all aspects as the first dimension. The output of this dimension has a 4-bit fraction. B. 9.8.7 "Round and saturation" The round saturation block, ras, selects a 22-bit wide token stream containing a data extension in 22-bit fixed-point format and outputs a 9-bit wide token stream, in which case the data 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.

【1675】B.9.9 「ブロックのハードウェア解
説」 B.9.9.1 「標準のブロック構造」 トークンストリームを処理する全てのブロックのため
に、図148に示すような標準の概念的な構造がある。
これはトークンストリームの操作を遂行するセクション
から2線式インターフェースラッチを分離する。この構
造上のバリエーションには、余分な内部ブロック(RA
Mコア等)が含まれる。図示した幾つかのブロックで
は、全ての「データパス」ロジックを一緒にグルーピン
グするという要件のため、その構造は(今も実際に存在
するにもかかわらず)概略図においてあまり明瞭にはさ
れず、これを全ての標準のセルロジックから分離する。
ras等の非常に簡単なブロックの場合、論理的操作を
せずに、ラッチされたoutacceptを直接入力2
線式ラッチに置くことができる。
B.1675 9.9 "Block hardware description" 9.9.1 "Standard block structure" For all blocks processing the token stream, there is a standard conceptual structure as shown in FIG.
This separates the two-wire interface latch from the section that performs the operation of the token stream. This structural variation includes extra internal blocks (RA
M core). In some of the blocks shown, the structure is not very clear in the schematic diagram (even though 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 without logical operation.
Can be placed on a wire latch.

【1676】B.9.9.2 「Decheck−デー
タ誤差チェッキング/リカバリ」 トークンストリーム内の最初のブロックは、ブロック線
図展望セクションで明記したように、データチェッキン
グと訂正を行う。検出される誤差は標準のイベントメカ
ニズムで処理され、それはイベントにマスクすることが
でき、ブロックは誤差が検出される時、リカバリ手順で
続けるか、あるいはイベントマスクステータス次第で停
止することができる。IDCTは正しくないデータトー
クンを見るべきではないので、それが試みるリカバリは
重大な問題であるかもしれないものを含もうとするかな
り簡単な試みにすぎない。
B. 1676 9.9.2 "Decheck-Data Error Checking / Recovery" The first block in the token stream performs 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 the event, and the block can either continue with the recovery procedure when the error is detected, or stop depending on the event mask status. Since the IDCT should not see the incorrect data token, the recovery it attempts is only a fairly simple attempt to include what might be a serious problem.

【1677】このブロックは2ステージのパイプライン
の深さがあり、zcellsにおいて完全に実行され
る。入力2線式インターフェースラッチは「フロント」
タイプのものであり、(IDCTの前にある)このブロ
ックがその前にあるものとは別の電源組織の上にある
時、全ての入力がトランジスタゲートに到達して安全な
オペレーションができるようにすることを意味してい
る。このブロックはトークンストリームを分析し、非デ
ータトークンを直接送ることによって作用する。データ
トークンが発見されると、カウントはヘッダの後見つけ
られた拡張数からスタートする。カウントが63ではな
い時、拡張ビットが「0」であると見い出されると、誤
差信号が発せられ(それはイベントロジックに行き)、
そのイベント用のマスクビットの状態次第で、dech
eckが停止される(つまり、もはや入力をアクセプト
しないか、出力を発しない)か、あるいは誤差リカバリ
を開始する。deficient誤差用のリカバリメカ
ニズムは、正しい拡張数のトークンストリームへの挿入
を制御するためにカウンタを使用する(挿入されるバリ
ューは常に「0」である)。明らかに、入力はアクセプ
トされないが、一方でこの挿入は続けられる。64番目
の拡張の拡張ビットが「0」ではないと見い出される
と、supernumerary誤差が発せられ、デー
タトークンは拡張ビットを「0」に強制することによっ
て完了され、「1」に設定された拡張ビットを持つ全て
の後に続くワードは、データをアクセプトし続けるが出
力を無効にすることによって、トークンストリームから
削除される。
This block is two stages deep in the pipeline and runs completely 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, so that all inputs can reach the transistor gates for safe operation It means to do. This block works by analyzing the token stream and sending non-data tokens directly. When a data token is found, counting starts with the extension number found after the header. When the extension bit is found to be "0" when the count is not 63, an error signal is generated (it goes to the event logic) and
Dech depends on the state of the mask bit for the event
Eck is stopped (i.e. no longer accepts input or emits output) or initiates error recovery. The recovery mechanism for the differential error uses a counter to control the insertion of the correct extension number into the token stream (the value inserted is always "0"). Obviously, the input is not accepted, while the insertion continues. If the extension bit of the 64th extension is not found to be "0", a supernumerary error is issued and the data token is completed by forcing the extension bit to "0" and the extension bit set to "1". All subsequent words with are removed from the token stream by continuing to accept data but invalidating the output.

【1678】2つの誤差信号は(ブロックが停止されな
ならば)永続的ではなく、つまり誤差信号、誤差が
検出されポイントから、リカバリが完了するまで、
性のまま残るだけである。これは最低限度の1つの完
全なサイクルであり、無限大に過剰なデータトークンの
場合に永久に存続できる。
[1678] The two error signals are not (block is not if stopped) permanent, i.e. the error signal, from the point where the error is detected, until the recovery is complete, only remain active. This is one complete cycle of minimum, Ru can survive forever in the case of excessive data token to infinity.

【1679】B.9.9.3 「Izzとtram−R
AMの再配置」 izz(逆ジグザグRAM)及びtram(転置RA
M)は、同じ機能のバリエーションを遂行し、違いより
類似性の方を多く持っているので、ここでは一緒に考慮
する。これらのブロックはトークンストリームを選び、
他の全てのトークンを無変更のまま送る一方で、データ
トークンの拡張を再配置する。処理される拡張幅及び再
配置のシーケンスは異なるが、各RAM用の制御ロジッ
クの大きなセクションは同じであり、実際に各RAM用
の概略図において例証される「コモン制御」ブロックに
組織化される。幅の違いはこの制御セクションには何の
影響も及ぼさないので、RAMコア及び適当な幅の2線
式インターフェースブロックと共に、各RAM用に異な
る「シーケンスアドレス発生器」を使用することだけが
必要である。
[1679] B. 9.9.3 "Izz and tram-R
Relocation of AM "izz (inverted zigzag RAM) and tram (transposed RA)
M) perform the same variation of the function and have more similarities than differences, and are considered together here. These blocks choose a token stream,
Relocate data token extensions while sending all other tokens unchanged. Although the expansion width and the relocation sequence processed are different, the large section of control logic for each RAM is the same and is actually organized into "common control" blocks illustrated in the schematic for each RAM. . Since width differences have 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 two-wire interface block of appropriate width. is there.

【1680】各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))によってその後更に再配置される。
[1680] The overall behavior of each RAM is essentially a FIFO
Same as O. This is true at the token level, and special modifications to the output order are made for the expansion words of the data token. FIFO
Has a depth of 128 stages. This is necessary to meet the requirement for 30 MHz that can be sustained through the system since the output of the FIFO is supported after the start of output of the data token is detected. This is because the features of the relocation sequence used require that the complete 64 extension blocks be collected in the FIFO before relocation output can begin. More precisely, the required minimum number for the inverse zigzag and the transposition sequence is different, somewhat less than 64 in both cases. However, the complexity of controlling FIFOs with non-power lengths of two means that small savings in the RAM core will be more significant than the additional complexity of the required control logic. RAM core is one 30M
It is implemented 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. The relocation operation is in the range 0-63, but not in the natural order, but by generating a special sequence of read addresses (sequenceaddress g).
eneration is performed. The required sequence is specified by a standard zigzag sequence (for eight horizontal or vertical scannings) or by the required sequence for normal matrix transposition.
These standard sequences require the requirement to output each row in odd / even format (ie, (0,1,2,3,4,
(1, 3, 5, 7, 0, 2, 4,
6)) and then rearranged further.

【1681】転置アドレスシーケンス発生はアルゴリズ
ム的に全く明瞭である。直接的な転置シーケンス発生は
単にロー及びカラムアドレスの別々の発生を必要とする
だけであり、それらは共にカウンタで実行される。ロー
再配置の要件は単に、ローアドレスが自然のカウンタで
はなく、、むしろ簡単な特殊なステートマシーンで発生
されるということを意味する。
The generation of the transposed address sequence is quite clear algorithmically. Direct transposition sequence generation simply requires separate generation of row and column addresses, both of which are performed by counters. The requirement of row relocation simply means that the row address is not generated by a natural counter, but rather by a simple special state machine.

【1682】逆ジグザグシーケンスはアルゴリズム的に
発生するため、あまり明瞭ではない。この事実の故に、
アドレスの全64ビットバリューを保持するために小さ
なROMが使用され、これは水平と垂直のスキャンモー
ド間で変化するために、スワップされ得るローとカラム
のカウンタでアドレスされる。ROMベースの発生器は
非常に素早く設計され、順方向ジグザグ(ROM再プロ
グラム)を実行するか、もしくは他の代替的なシーケン
スを将来加えることは些細なことであるという利点をも
有する。
The inverse zigzag sequence is not very clear because it occurs algorithmically. Because of this fact,
A small ROM is used to hold the full 64-bit value of the address, which is addressed with a row and column counter that can be swapped to change 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.

【1683】B.9.9.4 「“Oned”−1次元
IDCT変換」 このブロックは20ステージのパイプライン深さを持
ち、パイプラインは停止されると剛性になる。この剛性
はデザインを大きく簡略化し、パイプラインの深さはそ
れほど大きくないので、全体的な力に過度に影響を及ぼ
すべきではなく、両次元は一定量のバッファリングを提
供するRAMの後を引き継ぐ。
[1683] B. 9.9.4 “Oned” —one-dimensional IDCT transformation This block has a pipeline depth of 20 stages, and the pipeline becomes rigid when stopped . This stiffness greatly simplifies the design and the depth of the pipeline is not very large, so it should not unduly affect the overall force and both dimensions take over RAM providing a certain amount of buffering .

【1684】ブロックは標準構造に従うが、(プロセス
されるべき)データトークン拡張及び無変更のまま送ら
れるべき他の全てのアイテムのために、内部的に別のパ
スを有する。概略図は特別な方法で描かれていることに
注意。まず、全てのデータパスロジックを一緒にグルー
プ分けするという要件の故に、次に、自動的に編集され
たコード発生を可能にするという要件(これはトップレ
ベルで制御ロジックを説明する)の故に。
The block follows the standard structure, but has separate paths internally for data token extensions (to be processed) and all other items to be sent unchanged. Note that the schematic is drawn in a special way. First, because of the requirement that all datapath logic be grouped together, and then, because of the requirement to enable automatically compiled code generation, which describes control logic at the top level.

【1685】トークンはいつもの通り分析され、それか
らデータ拡張とその他のバリューが、出力2線式インタ
ーフェースラッチブロックの前のマルチプレクサで組換
えされる前に、2つの異なる並列パスを通って各々送ら
れる。変換データパスを通してバリューを無変更のまま
送ることはできないので、並列パスが必要である。変換
データパスの待ち時間は、トークンストリームの残りを
処理するために、簡単なシフトレジスタと適合される。
The token is analyzed as usual, and then the data extensions and other values are each sent through two different parallel paths before being recombined at the multiplexer in front of the output 2-wire interface latch block. . A parallel path is required because values cannot be sent unchanged through the transformation data path. The latency of the transform data path is matched with a simple shift register to handle the rest of the token stream.

【1686】onedの制御セクションはトークンスト
リームを分析し、トークンのスプリッティングと組換え
を制御する必要がある。その他の主なセクションは変換
データパスを制御する。このデータパスの制御用の主メ
カニズムはデータパスパイプラインを適合させる制御シ
フトレジスタであり、データパスパイプラインの各ステ
ージ用に必要な制御信号を提供するためにタップが外さ
れる。
The oned control section needs to analyze the token stream and control token splitting and recombination. The other main sections control the conversion data path. The primary mechanism for controlling this data path is a control shift register that adapts the data path pipeline, and taps are removed to provide the necessary control signals for each stage of the data path pipeline.

【1687】onedブロックはデータ拡張の完全なロ
ー、つまり8のグループに関するオペレーションをスタ
ートすることだけができるという要件を持つ。ローの中
間で無効なデータ(Gaps)を処理することはできな
いが、事実上、izz及びtramのオペレーションは
完全なデータブロックが64の有効な拡張バリューの割
り込みなしのシーケンスとして出力されることを保証す
る。
The oned block has the requirement that it can only start a complete row of data extensions, ie, operations on groups of eight. Although it is not possible to handle invalid data (Gaps) in the middle of a row, in effect the operation of izz and trm guarantees that a complete data block is output as an uninterrupted sequence of 64 valid extension values. I do.

【1688】B.9.9.4.1 「変換データパス」 変換データパスの微細構造、t dpは図150におい
て以前に図示した。一部の詳細(例えばクロッキング、
シフト等)は図示していないことに注意。しかしなが
ら、この線図はパイプラインのどのステージにおいて
も、データパスが4つのバリューに関して同時に操作す
る方法を図示している。基本的なデータパスのサブ構
造、つまり、3つの主要セクション(例えば、プリコモ
ン、コモン、ポストコモン)も、演算及びラッチリソー
スが必要になるにつれて、見ることができる。指名され
た制御信号は制御シフトレジスタステートのデコードで
順序付けされるパイプラインラッチ(及び加算/減算セ
レクタ)用のイネーブルである。各パイプラインステー
ジは長さにおいて実際に4つのクロックサイクルである
ことに注意。
B.1688. 9.9.4.1 “Transform Data Path” The fine structure of the transform data path, t dp, was previously illustrated in FIG. Some details (such as clocking,
Note that shifts are not shown. However, the diagram illustrates how the datapath operates on four values simultaneously at any stage of the pipeline. The basic datapath substructure, the three main sections (eg, pre-common, common, and post-common), can also be seen as computing and latching resources are needed. The nominated control signal is an enable for the pipeline latch (and the add / subtract selector) which is ordered in decoding the control shift register state. Note that each pipeline stage is actually four clock cycles in length.

【1689】変換データパス内に、入力を集め、パイプ
ラインに中間結果を記憶し、出力を順番に並べることが
必要な多くのラッチステージがある。幾つかのラッチは
マックシングタイプ(muxing type)、つま
りそれらは条件付きで1つより多くのソースからロード
され得る。全てのラッチは可能化タイプのものである、
つまり、別々のクロックとイネーブル入力がある。これ
は作られたクロックスキームが適用された場合に生じる
であろう不均斉という問題を考慮しなければならないと
いうより、正しいタイミングでイネーブル信号を発生さ
せることの方がたやすいことを意味する。
There are many latch stages in the transform datapath that need to collect inputs, store intermediate results in a pipeline, and order the outputs. Some latch Mack single type (muxing type), i.e. they can be loaded from a number of sources than one conditionally. All latches are of the enabling type,
That is, there are separate clock and enable inputs. This means that it is easier to generate the enable signal at the right time, rather than having to consider the problem of asymmetry that would occur when the created clock scheme is applied.

【1690】必要とされる主要な演算要素は次の通りで
ある。
The main operation elements required are as follows.

【1691】・多数の固定化係数乗算器(キャリセーブ
出力) ・キャリセーブアダー ・キャリセーブサブトラクター ・分解アダー ・分解アダー/サブトラクター 全ての演算は2の補数表示で行われる。これは通常の
(分解された)形態もしくはキャリセーブの形態(つま
り、その合計が実際のバリューを表示する2つの数字)
であってよい。全ての数字は記憶の前に分解され、これ
は時間の点から最も高価なオペレーションであるので、
1つの分解オペレーションだけがパイプラインステージ
毎に行われる。分解オペレーションはここで行われ、全
てのオペレーションが簡単な波及的桁上げを使用する。
これは分解器が非常に小さいが、比較的遅いことを意味
する。分解は各ステージにおいて全体の時間を支配する
ので、高速分解演算装置を使用して全体の変換をスピー
ドアップする機会が明らかにある。
[1691] Many fixed coefficient multipliers (Carry-save output)-Carry-save adder-Carry-save subtractor-Decomposition adder-Decomposition adder / subtractor All operations are performed in two's complement notation. This is the normal (disassembled) or carry-save form (ie, two numbers whose sum represents the actual value)
It may be. All numbers are broken down before memory, which is the most expensive operation in terms of time,
Only one disassembly operation is performed per pipeline stage. The disassembly operation is performed here, and all operations use simple ripple carry.
This means that the decomposer is very small but relatively slow. Since the decomposition dominate the overall time at each stage, there is clearly an opportunity to use a fast decomposition arithmetic unit to speed up the overall transformation.

【1692】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ビットのサイン済み結果がこの範囲内に
おいて最大または最小バリューに飽和される必要がある
かどうかを見るために、この結果が検査される。これは
元の整数の上位ビットと共に実施される増分の検査に
よって行われる。
[1692] B. 9.9.5 - The "" Ras "rounding and saturation" present invention, ras blocks necessary second dimension select a fixed point numbers 22 bits from the output of oned, it was these Re et accurately rounded saturated fulfill task of obtaining conversion into a 9-bit coded integer result. This block further performs the inherent required divide by 4 operation in the scheme (2 / N term), and further divides by 2 required to compensate for = 2 prescaling performed in each of the two dimensions. Perform This divide-by-8 operation is interpreted as three bits left beyond the expected fixed-point position,
This implies that the result is processed as a 15-bit integer representation and a 7-bit fraction (rather than a 4-bit fraction). The rounding mode implemented is "round to positive infinity", that is, adding 1 to a fraction of exactly 0.5. This is basically done because this is the easiest rounding mode to execute. After the rounding (conditional increment of the integer part) is completed, the 9-bit signed result is checked to see if it needs to be saturated to the maximum or minimum value within this range . This is done by checking the increments performed with the high order bits of the original integer value .

【1693】いつものように、トークンストリームは分
析され、ラウンドとサチュレーションオペレーションが
データトークン拡張値に対してのみ適用される。ブロッ
クは深さが2ステージのパイプラインを持ち、完全にz
cellsで実行される。
As usual, the token stream is analyzed and round and saturation operations are applied only to data token extension values. The block has a pipeline with a depth of 2 stages and is completely z
Executed in cells.

【1694】B.9.9.6 「Idctsels −
IDCTレジスタセレクトデコーダ」 このブロックは4つのマイクロプロセッサインターフェ
ースアドレスライン及びsel test入力を、個々
のブロックテストアクセス用のセレクトライン(スノー
パ及びRAM)にデコードする簡単なデコーダである。
ブロックはzcells結合ロジックのみで構成され
る。デコードされるセレクトは表227に示す。
[1694] B. 9.9.6 “Idctsels −
IDCT Register Select Decoder "This block is a simple decoder that decodes the four microprocessor interface address lines and sel test input into select lines (snooper and RAM) for individual block test access.
The block is composed of only zcells combination logic. The select to be decoded is shown in Table 227.

【1695】[1695]

【表225】 [Table 225]

【1696】[1696]

【表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 that processes a single memory mapped bit, vscan, that can be used to make an izz relocation change so 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 an idcevent signal that can be used as an interrupt. For register and event addresses and bit locations, see Section B.3. See 9.10.

【1697】B.9.9.8 「クロック発生器」 IDCTにおいて2つの「標準」タイプ(clkge
n)のクロック発生器が使用される。これは2つの別々
のスキャンパスがあるように実施される。クロック発生
器はidctcga及びidctcgbと称される。機
能的に、唯一の違いはidctcgbがnotrstl
信号を発生させる必要がないことである。2つのクロッ
ク発生器におけるクロックとリセット出力の各々のため
のバッファリング量は、各々のクロックもしくはリセッ
トによって駆動される実際のロードに適合するように個
々に調整される。適合されるロードは最終レイアウトの
ゲート及びトラックキャパシタンスから実際に測定され
た。
[1697] B. 9.9.8 "Clock generator" Two "standard" types (clkge) in the IDCT
n) clock generator is used. This is implemented so that there are two separate scan paths. The clock generators are called idctcga and idctcgb. Functionally, the only difference is that idctcgb is nottrstl
There is no need 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 match 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.

【1698】IDCTトップレベルのBlock Pl
ace and Route(BPR)が実行された時
の利点は、これらのトラックは有効電流を運ぶので、よ
り重く負荷されたクロック(ph0 bとph1 b)
用のクロック分配ツリーの最初のセクションのトラック
幅を増加させるために、対話式大域ルーティング特徴の
能力から引き出された。
[1698] IDCT Top Level Block Pl
The advantage when ace and Route (BPR) is performed is that these tracks carry active current, so the heavier loaded clocks (ph0b and ph1b)
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 the system.

【1699】B.9.9.9 「JTAG制御ブロッ
ク」 IDCTが2つの別個のスキャンチェインと2つのクロ
ック発生器を持つので、標準JTAG制御ブロック、j
spctleには2つの場合がある。これらはテストポ
ートと2つのスキャンパス間をつなぎ合わせる。
[1699] 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 of the spectrum. These connect the test port with the two scan paths.

【1700】B.9.10 「イベント及び制御レジス
タ」 IDCTは2つのイベントを発生させることができ、1
つの制御ビットを持つ。2つのイベントとは、不正確な
データトークンが検出された場合に、IDCTの前のd
echeckブロックによって発生されるいdct t
oo feweventとidct too many
eventである。1つの制御ビットは垂直に走査さ
れる出力でIDCTを操作することが必要な場合に設定
されるvscanである。従って、このビットはizz
ブロックを制御する。全てのイベントロジック及び
リーマップ制御ビットはブロックidctregsの中
に置かれる。
[1700] B. 9.10 Event and Control Register The IDCT can generate two events,
It has two control bits. The two events are d before the IDCT if an incorrect data token is detected.
dct t generated by the check block
oo few and Id too many
event. One control bit is vscan, which is set when it is necessary to operate the IDCT with a vertically scanned output. Therefore, this bit is
Control the block. All events logic and MEMO <br/> Lee map control bit is placed in the block Idctregs.

【1701】IDCTの観点から、これらのレジスタは
次のロケーションに置かれる。トライステートi/oワ
イヤはn derrdであり、これらのロケーションを
適宜にリード及びライトするためにn serrdが使
用される。
From an IDCT point of view, these registers are located at the following locations: The tristate i / o wires are n derrd and n serrd is used to read and write these locations as appropriate.

【1702】[1702]

【表227】 [Table 227]

【1703】[1703]

【表228】 B.9.11 「実行」 B.9.11.1 「ロジックデザインアプローチ」 全てのIDCTブロックのデザインにおいて、発明によ
れば、統一された簡単なロジックデザイン戦略があり、
それは素早く明瞭な方法で「安全な」設計を行うことが
可能であるということを意味したであろう。多数の制御
ロジックのために、マスター・スレーブだけを用いる簡
単なスキームが採用された。非同期的なセット/リセッ
ト入力だけが正しいシステムリセットに接続された。同
じ機能をより効率的に遂行するために利口な非標準型回
路構成を提供することも可能であったかもしれないが、
このスキームは次のような利点を持っている。
[Table 228] B. 9.11 "Execution" 9.11.1 "Logic Design Approach" In the design of all IDCT blocks, according to the invention, there is a unified and simple logic design strategy,
That would have meant that it was possible to make a "safe" design in a quick and clear way. For many control logics, a simple scheme using only master-slave was adopted. Only the asynchronous set / reset input was connected to the correct system reset. It might have been possible to provide a clever non-standard circuit configuration to perform the same function more efficiently,
This scheme has the following advantages:

【1704】・概念的にシンプルである ・設計しやすい ・操作速度はかなり明らかであり(ラッチ→ロジック→
ラッチ→ロジックスタイルのデザイン参照)、自動分析
に従う ・グリッチは問題ではない(SRラッチを参照) ・初期設定のためにシステムリセットだけを使用する ・スキャンパスが正しく作用できるようにする ・自動的に従うCコード発生を可能にする 透明なd−タイプのラッチが使用された多数の場所があ
り、これらは下記に記した。
[1704]-Conceptually simple-Easy to design-Operation speed is quite obvious (latch → logic →
Latch → see logic style design), follow automatic analysis ・ Glitch is not a problem (see SR latch) ・ Use only system reset for initial setting ・ Enable scan path to work properly ・ Automatically follow There are a number of locations where transparent d-type latches that allow C code generation have been used, and are described below.

【1705】B.9.11.1.1 「2線式インター
フェースラッチ」 スタンダードブロック構造は入力及び出力の2線式イン
ターフェースのためにラッチを使用する。出力2線式ラ
ッチと次に続く入力2線式ラッチの間にはロジックは存
在しない。
[1705] B. 9.11.1.1 Two-wire interface latch The standard block structure uses latches for input and output two-wire interfaces. There is no logic between the output 2-wire latch and the subsequent input 2-wire latch.

【1706】B.9.11.1.2 「ROMインター
フェース」 ROM回路のタイミング要件の故に、ラッチはROMの
出力におけるIZZシーケンス発生器において使用され
る。
[1706] 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.

【1707】B.9.11.1.3 「変換データパス
及び制御シフトレジスタ」 完全なマスター・スレーブ装置としてあらゆるパイプラ
イン記憶ステージを実装することが可能であるが、必要
とされる記憶量の故に、ラッチを使用することにより得
られる重大な節約がある。しかしながら、このスキーム
はユーザーが幾つかの要素を考慮することを求めてい
る。
[1707] B. 9.11.3. Conversion Datapath and Control Shift Registers 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 gained by doing so. However, this scheme requires the user to consider several factors.

【1708】・制御シフトレジスタはイネーブルとして
使用されるため、両フェイズの制御信号を作り出さなけ
ればならない(つまり、このシフトレジスタにおいてラ
ッチを使用する必要) ・タイミング分析はラッチの使用により複雑になる ・1つのラッチが同じフェイズの別のラッチに出力する
ので、t postcはもはや自動的に編集済みコード
を作り出さないであろう(イネーブルのタイミングの故
に、これは回路の問題ではない)にもかかわらず、ラッ
チの使用により節約されるエリアは本発明においてこれ
らの要素を受け入れることを価値のあるものにしてい
る。
The control shift register is used as an enable, so control signals for both phases must be created (ie, the use of latches in this shift register). Timing analysis is complicated by the use of latches. T postc will no longer automatically produce edited code because one latch outputs to another latch in the same phase (this is not a circuit problem due to the timing of the enable). The area saved by the use of latches makes it valuable to accept these elements in the present invention.

【1709】B.9.11.1.4 「マイクロプロセ
ッサインターフェース」 本インターフェースの性質のため、イベント及びレジス
タブロックidctregs及びRAMコア用のキーホ
ールロジックにおいて、ラッチ(及びリシンクロナイザ
ー)のための要件がある。
[1709] 9.11.1.4 Microprocessor interface Due to the nature of this interface, there is a requirement for latches (and resynchronizers) in the event and register block idctregs and keyhole logic for the RAM core.

【1710】B.9.11.1.5 「JTAGテスト
制御」 これらのスタンダードブロックはラッチを利用する。
[1710] B. 9.11.1.5 "JTAG test control" These standard blocks use latches.

【1711】B.9.11.2 「回路デザインの問
題」 IDCTデザイン(スタンダードセル、データパスライ
ブラリ、RAM、ROM等)において使用されたライブ
ラリセルのデザインにおいて為された仕事は別にして、
IDCTにおいてトランジスタレベル回路デザインのた
めの要件はない。(Hspiceを用いる)回路シミュ
レーションは変換データパスにおいて幾つかの公知のク
リティカルパスの中から実行され、Hspiceは更に
許容される最大長に近いパスの場合に、クリティカルパ
スアナリシス(CPA)ツールの結果を確認するために
も使用された。
B. [1711] 9.11.2 "Circuit Design Issues" Apart from the work done in the design of library cells used in IDCT designs (standard cells, data path 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 transformation data path, and Hspice further evaluates the results of the critical path analysis (CPA) tool for paths near the maximum allowed length. It was also used to confirm.

【1712】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 very slow) Note that there is a dynamic node in the scannable latch that will fade. Due to the non-regenerative nature of some nodes exhibiting a Vt drop (eg, max output), the IDCT will not be "micro-power" when static.

【1713】B.9.11.3 「レイアウトアプロー
チ」 本発明のレイアウト実行に対する全体的アプローチは、
多くのzcellと少数のマクロブロックで構成された
完全なIDCTをレイアウトするために、BPR(幾つ
かのマニュアル干渉)を使用することであった。これら
のマクロブロックは手動編集されたレイアウト(例え
ば、RAM、ROM、クロック発生器、データパス)で
あったか、もしくはonedブロックの場合、更なるz
cell及びデータパスからBPRを使用して構築され
ていた。
[1713] B. 9.11.3 “Layout Approach” The overall approach to layout implementation of the present invention is:
The use of BPR (some manual interference) to lay out a complete IDCT composed of many zcells and a few macroblocks. These macroblocks were either manually edited layouts (eg, RAM, ROM, clock generator, datapath) or, in the case of oned blocks, additional z
It was built using BPR from cell and datapath.

【1714】データパスはkdplibセルから構築さ
れた。それに加えて、kdplibセルの局部的に限定
されたレイアウトバリエーションが定義され、これが価
値のあるサイズベネフィットを提供すると認められた場
合に使用された。各々のonedブロック、oned
dにおいて使用されるデータパスは、デザインの中の
るかに最大の1エレメントであり、このデータパスのサ
イズ(高さ)を最適化するためにかなりの努力が払われ
た。
The datapath was built from KDPRIB cells. In addition, a locally limited layout variation of the kdpriv cell was defined and used when it was found to provide a valuable size benefit. Each oned block, oned
The data path used in d is
Rukani the largest first element, considerable effort has been expended to optimize the size (height) of this datapath.

【1715】データパス内のエレメントの正確なオーダ
リングが相互連絡が処理される方法に影響を及ぼすの
で、変換データパスの組織、t dpはむしろ決定的で
ある。最大許容値(理想的には8、非常に不便であるが
10も可能である)があるので、最も密集したポイント
で発生するovers(サブブロックに接続しない垂直
ワイヤ)の数を最小にすることが重要である。データパ
スは3つの主要なサブセクションに論理的にスプリット
され、こうしてデータパスレイアウトが実行される。各
サブセクションにおいて、現に4つの並列するデータフ
ローがあり(それは様々なポイントで組み合わされ)、
従って、各サブセクション内でデータ・フロー(そし
て、全てのエレメントの位置)を組織する多くの方法が
ある。各サブセクション内のブロックのオーダリング、
及び論理バスの物理的バスピッチへの割当は、正確に接
続されるであろうレイアウトを達成することを可能にす
るために、レイアウトが始まる前に注意深く算出され
た。
The organization of the transform data path, t dp, is rather crucial, because the exact ordering of the elements in the data path affects the way interconnects are handled. Minimize the number of overs (vertical wires that do not connect to sub-blocks) that occur at the most dense points because there is a maximum allowed value (ideally 8, very inconvenient but 10 is possible) is important. The datapath is logically split into three main subsections, thus implementing the datapath layout. In each subsection there are currently four parallel data flows (which are combined at various points)
Thus, there are many ways to organize the data flow (and the location of all elements) within each subsection. Ordering of blocks within each subsection,
And the assignment of the logical buses to the physical bus pitch was carefully calculated before the layout started to allow achieving a layout that would be connected correctly.

【1716】B.9.12 「照合」 IDCTの照合はアルゴリズムのトップレベルの照合か
ら最終レイアウトチェックまで、多くのレベルにおいて
為された。
[1716] B. 9.12 "Match" IDCT matches were made at many levels, from the top-level match of the algorithm to the final layout check.

【1717】変換構造に関する初期作業はCにおいて行
われ、完全精度及びビット正確整数モデルが開発され
た。H.261精度規格に対する適合性を立証し、変換
構造内の計算のダイナミックレンジを測定するため、ビ
ット正確モデルに関して様々なテストが実施された。
The initial work on the transform structure was done in C and a full precision and bit exact integer model was developed. H. Various tests were performed on the bit-accurate model to verify compliance with the H.261 accuracy standard and measure the dynamic range of calculations within the transform structure.

【1718】多くの場合Mを書くことによって、デザイ
ンはサブブロックの動作説明(例えば、データパス及び
RAMの制御)を前進させた。該かる説明は、そのブロ
ックの概略的説明のデザインに移動する前に、Lsim
においてシミュレートされた。ある場合(例えば、RA
M)クロック発生器)には、動作説明はトップレベルの
シミュレーションのためにも使用された。
By writing M in many cases, the design has advanced the operation of the sub-block (eg, control of data path and RAM). Such an explanation is provided before moving on to the design of the schematic description of the block, Lsim
Was simulated. In some cases (for example, RA
The M) clock generator) Operation was also used for the simulation of the top level.

【1719】ロジックシミュレーションを遂行するため
の戦略は、そのレベルで適切にシミュレートするであろ
う全てのもののために概略図をシミュレートすることで
あった。ローレベルのライブラリセル(つまり、zce
ll及びkdplib)は、この結果がはるかに小さく
素早いシミュレーションであるので、主としてその動作
説明を用いてシミュレートされた。それに加えて、動作
ライブラリセルはある回路の構造問題を強調することが
できるタイミングチェックという特徴を提供する。信頼
チェックとして、ライブラリセルのトランジスタ解説を
用いて、あるシミュレーションが実施された。全てのロ
ジックシミュレーションはゼロディレイ方式で行われ、
従って機能上の性能を照合することが意図されていた。
リアルタイミングの行動の照合は他の技術を用いて行わ
れた。
The strategy for performing logic simulation was to simulate schematics for anything that would simulate properly at that level. Low-level library cells (ie, zce
ll and kdlib) were primarily simulated using their operational description, as the result is a much smaller and faster simulation. In addition, operational library cells provide a feature of timing checking that can highlight structural issues in certain circuits. As a reliability check, a simulation was performed using the transistor description of the library cell. All logic simulations are performed using the zero delay method.
Therefore, it was intended to verify functional performance.
Verification of real-time behavior was performed using other techniques.

【1720】タイミング性能の部分的照合として、(R
C Timingモードを用いて)Lsimスイッチレ
ベルシミュレーションが行われたが、更に他の潜在的な
トランジスタレベルの問題(例えば、グリッチ高感度回
路)のためのチェックを提供する。
As a partial comparison of timing performance, (R
Lsim switch-level simulations were performed (using C Timing mode), but still provide checks for other potential transistor-level issues (eg, glitch sensitive circuits).

【1721】タイミング問題をチェックするための主な
照合技術はCPAツール、datechk用のpath
オプションの使用であった。これはより長い信号パスを
識別する(あるものはすでに知られていた)ために使用
され、ある重大な場合にCPA分析を照合するためにH
spiceが使用された。
The main collation techniques for checking timing problems are CPA tools, path for datechk
Was the use of options. This is used to identify longer signal paths (some were already known), and to check CPA analysis in certain critical cases.
spice was used.

【1722】IDCT行為のバルクは装置を通じてトー
クンのフローにより訓練されているので、ほとんどのL
simシミュレーションは標準のソース→ブロック→シ
ンク方法論で行われた。マイクロプロセッサインターフ
ェース(構成、イベント及びテストロジック)を通して
アクサスされる特徴、及びJTAG/スキャンを介して
アクセスされるテスト特徴をテストするために、付加的
なシミュレーションも必要である。
Since the bulk of the IDCT action is trained by the flow of tokens through the device, most L
Sim simulation was performed using the standard source → block → sink methodology. Additional simulations are also needed to test features accessed through the microprocessor interface (configuration, events and test logic) and test features accessed via JTAG / scan.

【1723】編集済みコードシミュレーションは、やは
り標準のソース→ブロック→シンク方法及びLsim照
合において使用された同じトークンストリームの多くを
用いて、全IDCTのために当業者によって容易に達成
され得る。
Edited code simulation can be easily accomplished by one of ordinary skill in the art for the full IDCT, again using many of the same source-to-block-to-sink methods and the same token streams used in Lsim matching.

【1724】B.9.13 「テスティング及びテスト
サポート」 本セクションはテスティング用及び各々のブロックが如
何にテストされるかの分析用に提供されるメカニズムを
扱う。
[1724] B. 9.13 Testing and test support This section deals with the mechanisms provided for testing and for analyzing how each block is tested.

【1725】テストアクセス用に提供される3つのメカ
ニズムは次の通りである: ・RAMコアへのマイクロプロセッサアクセス ・スノーパブロックへのマイクロプロセッサアクセス ・制御及びデータパスロジックへのスキャンパスアクセ
ス IDCTには2つの「スノーパ」ブロックと1つの「ス
ーパースノーパ」ブロックがある。図149はスノーパ
ブロックの位置と他のマイクロプロセッサのテストアク
セスを示している。
The three mechanisms provided for test access are: microprocessor access to the RAM core microprocessor access to the snooper block scan path access to the control and data path logic For the IDCT There are two "Snowpa" blocks and one "Super Snopa" block. FIG. 149 shows the location of the snooper block and the test access of another microprocessor.

【1726】これらと2つのRAMブロックを用いて、
トークンフローに関するそれらの行動をテストする目的
で、各々の主要ブロックを隔離することが可能である。
マイクロプロセッサアクセスを用いて、如何なるブロッ
クに対するトークン入力をも制御し、隔離されているそ
のブロックのトークンポート出力を観察することが可能
である。更に、各ブロックの制御セクションにおける
(ほとんど)全てのフリップフロップとラッチを通過
し、またoned変換データパスパイプラインの場合に
データパスラッチの一部を通過する2つの別々のスキャ
ンパスがある。2つのスキャンパスはaとbと表示さ
れ、前者はdecheckブロックからipfmtブロ
ックへと動き、後者は最初のonedブロックからra
sブロックへと動く。
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.
With microprocessor access, it is possible to control the token input for any block and observe the token port output of that block in isolation. In addition, there are two separate scan paths that go through (almost) all flip-flops and latches in the control section of each block, and in the case of the oned converted data path pipeline, a part of the data path latch. The two scan paths are labeled a and b, the former moving from the decheck block to the ipfmt block, and the latter moving from the first oned block to ra.
Move to s block.

【1727】スノーパに対するアクセスは通常の方法で
適切なメモリーマップされたロケーションをアクセスす
ることにより可能である。(適当なものとしてramt
est入力を用いて)RAMコアの場合にも同じことが
言える。スキャンパスは通常の方法でJTAGポートを
通してアクセスされる。
Access to the snooper is possible by accessing the appropriate memory-mapped location in the usual manner. (Ramt as appropriate
The same is true for the RAM core (using the est input). The scan path is accessed through the JTAG port in the usual way.

【1728】様々なテスト問題に関連して各ブロックを
論じる。
Each block is discussed in connection with various test questions.

【1729】B.9.13.1 「Decheck」 このブロックは入力と出力の2線式インターフェース用
の2つのラッチがプロセシングブロックを囲む標準構造
(図148を参照)を持つ。通常のように、これらの2
線式ラッチは可能化される時はいつでも単にデータを通
り過ぎ、テストされるロジックの深さを持たないので、
如何なる走査も2線式ラッチに対して行われない。この
ブロックでは、「制御」セクションは全てがスキャンパ
スaの上にあるzcellの1ステージパイプラインか
ら成る。制御セクション内のロジックは比較的シンプル
であり、ほとんどの複雑なパスはおそらく6ビット増分
器が使用されるデータ拡張カウントの発生においてであ
る。
[1729] B. 9.13.1 “Decheck” This block has a standard structure (see FIG. 148) with two latches for the input and output two-wire interface surrounding the processing block. As usual , these two
Since wire latches simply pass data whenever enabled and have no logic depth to be tested,
No scanning is performed on the two-wire latch. In this block, the "control" section consists of a one-stage pipeline of zcell all above scanpath a. The logic in the control section is relatively simple, and most of the complex paths are probably in generating a data extension count where a 6-bit incrementer is used.

【1730】B.9.13.2 「Izz」 このブロックは標準構造の変形であり、2線式インター
フェースラッチと制御セクションに加えられるRAMコ
アブロックを含む。制御セクションはアドレスシーケン
ス発生のために使用されるzcellと小さなROMで
実装される。全てのzcellはスキャンパスa上にあ
り、ROMアドレスへのアクセス及びzcellラッチ
を介したデータがある。更に、ロジック、例えばナンバ
ーの発生プラス増分または減少する能力のためのロジッ
クがある。それに加えて、リードアドレス発生のために
使用される7ビットのフルアダーがある。RAMコアは
キーホールレジスタを通して、マイクロプロセッサイン
ターフェースを介してアクセス可能である。表225、
表226を参照。
B.1730 9.13.2 "Izz" This block is a variant of the standard structure and includes 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 and have access to ROM addresses and data through the zcell latch. Further, there is logic, for example, logic 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 a microprocessor interface through a keyhole register. Table 225,
See Table 226.

【1731】B.9.13.3 「lp fmt」 このブロックも標準構造を持っている。制御ロジックは
かなり簡単なzcellロジック(全てがスキャンパス
a上にある)で実装されるが、ここでのロジックは非常
に浅くシンプルであるので、データのラッチング及びシ
フティング/マックシングは、直接的なアクセスなしに
データパスにおいて行われる。
[1731] B. 9.13.3 "lp fmt" This block also has a standard structure. The control logic is implemented with fairly simple zcell logic (all on scan path a), but since the logic here is very shallow and simple, data latching and shifting / maxing is straightforward. Performed in the data path without any significant access.

【1732】B.9.13.4 「Oned」 ここでも、このブロックは標準構造に従い、ランダムロ
ジックとデータパスセクションに分かれる。zcell
ロジックは比較的明瞭であり、全てのzcellがスキ
ャンパスa上にある。変換パイプラインデータパス用の
制御信号は、スキャンパス上にあるzcellラッチで
構成される長いシフトレジスタから引き出される。それ
に加えて、幾つかのパイプラインラッチがスキャンパス
上にあり、これはパイプラインの幾つかのステージ(例
えば、乗算器とアダー)間のロジックがかなり深いもの
であることから行われる。非データトークンはシフトレ
ジスタに沿って送られ、データパスとして実装され、こ
れらのステージのいずれに対するテストアクセスも存在
しない。
[1732] B. 9.13.4 “Oned” Again, this block follows a standard structure and is divided into random logic and datapath sections. zcell
The logic is relatively straightforward, with all zcells on scan path a. The control signal for the conversion pipeline datapath is derived from a long shift register consisting of a zcell latch on the scanpath. In addition, some pipeline latches are on the scan path, because the logic between some stages of the pipeline (eg, multipliers and adders) is quite deep. Non-data tokens are sent along the shift register and implemented as a data path, with no test access to any of these stages.

【1733】B.9.13.5 「Tram’」 このブロックはizzブロックと酷似している。しかし
ながら、この場合、アドレスシーケンスアドレス発生に
おいて使用されるROMはない。これはアルゴリズム的
に実行される。全てのzcell制御ステートはデータ
パスb上にある。
[1733] 9.13.5 "Tram '" This block is very similar to the izz block. However, in this case, no ROM is used in address sequence address generation. This is performed algorithmically. All zcell control states are on data path b.

【1734】B.9.13.6 「Rras’」 このブロックは標準構造に従い、完全にzcellで実
行される。最も複雑な論理機能はラウンディングアップ
時に使用される8ビット増分器である。他の全てのロジ
ックはかなりシンプルである。全てのステートはスキャ
ンパスb上にある。
B.1733 9.13.6 "Rras'" This block follows the standard structure and is executed entirely in zcell. The most complex logic function is the 8-bit incrementer used during rounding up. All other logic is fairly simple. All states are on scan path b.

【1735】B.9.13.7 「他のトップレベルの
ブロック」 IDCTのトップレベルに現れる他の幾つかのブロック
がある。スノーパはJTAG制御ブロックであるのと同
様、明らかにテストアクセスロジックの一部でもある。
更に、特別なテストアクセスを持たない2つのクロック
発生器がある(但し、それらは様々なテスト特徴を支持
している)。ブロックidctselsはマイクロプロ
セッサアドレスをデコーディングするための組合わせz
cellロジックであり、ブロックidctregsは
マイクロプロセッサアクセス可能イベント、及びIDC
T関連制御ビットを含む。
[1735] B. 9.13.7 "Other top-level blocks" There are several other blocks that appear at the top level of the IDCT. The snooper is obviously part of the test access logic as well as the JTAG control block.
In addition, there are two clock generators without special test access (although they support various test features). 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.

【1736】セクション B.10 「序文」 B.10.1 「時間デコーダの展望」 本発明による時間デコーダの内部構造を図151に示
す。
[1736] Section B. 10 "Introduction" 10.1 “Prospect of temporal decoder” FIG. 151 shows the internal structure of the temporal decoder according to the present invention.

【1737】チップ・ブロック間の全てのデータフロー
(及びブロック内の多くのデータフロー)は2線式イン
ターフェースによって制御され(詳細については技術参
考書及びセクションを参照)、図151内の各々の矢印
は2線式インターフェースを表す。入ってくるトークン
ストリームは、外部システムクロックからのデータをフ
ェイズロックループ(ph0/ph1)から引き出され
る内部クロックに同期させる入力インターフェースを通
過する。トークンストリームは次にトップフォークを介
して2つのパスにスプリットされる;1つのストリーム
はアドレス発生器に進み、他のストリームは256ワー
ドFIFOに進む。FIFOはデータをバッファする一
方、前のIまたはPフレームからのデータはDRAMか
ら引き出され、予測アダー(P及びBフレーム)内の空
間デコーダからの入力誤差データに加えられる前に、予
測フィルタにおいてプロセスされる。MPEGデコーデ
ィングの間に、出力フレームが正しいオーダーにあるよ
うに、フレーム再配置データがI及びPフレームのため
に引き出されなければならない。再配置されたデータは
リードラダーブロック内のストリームに挿入される。
All data flow between chip blocks (and many data flows within blocks) is controlled by a two-wire interface (see technical reference and section for details) and each arrow in FIG. Represents a two-wire interface. The incoming token stream passes through an input interface that synchronizes data from the external system clock to an internal clock derived from the phase lock 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 pulled from the DRAM and processed in a prediction filter before being added to the input error data from the spatial decoder in the prediction adders (P and B frames). Is done. During MPEG decoding, frame relocation data must be derived 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.

【1738】アドレス発生器はフォワード及びバックワ
ード予測、再配置、リード及びライトバックのために別
々のアドレスを発生させ、ライトバックされるデータは
ライトラダーブロック内のストリームからスプリットさ
れる。最後に、データは出力インターフェースブロック
内の外部クロックに再同期化される。
The address generator generates separate addresses for forward and backward prediction, relocation, read and write back, and the data to be 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.

【1739】時間デコーダ内の全ての主要ブロックは内
部マイクロプロセッサインターフェース(UPI)バス
に接続される。これはマイクロプロセッサインターフェ
ースブロック内の外部マイクロプロセッサインターフェ
ース(MPI)から引き出される。このブロックはそれ
に関連するチップ内の様々なブロックのためにアドレス
デコードを持つ。更に、マイクロプロセッサインターフ
ェースと連合するのはイベントロジックである。
[1739] All major blocks in the temporal decoder are connected to an internal microprocessor interface (UPI) bus. It is derived from the external microprocessor interface (MPI) in the microprocessor interface block. This block has an address decode for the various blocks in the chip associated with it. Also associated with the microprocessor interface is the event logic.

【1740】時間デコーダの残りのロジックは基本的に
テスト関連である。第1に、IEE1149.1(JT
AG)インターフェースがJTAGバウンダリスキャン
特徴に対すると共に、内部スキャンパスに対するインタ
ーフェースを提供する。第2に、テストモードの間に、
マイクロプロセッサインターフェースを介してデータフ
ローに対する侵入的アクセスを可能にする2線式インタ
ーフェースステージが、パイプライン構造内の戦略ポイ
ントに含まれる。
The remaining logic of the temporal decoder is basically test related. First, IEEE 1149.1 (JT
AG) interface provides an interface to the internal scan path as well as to the JTAG boundary scan feature. Second, during the test mode,
A two-wire interface stage that allows intrusive access to the data flow via the microprocessor interface is included at strategic points in the pipeline structure.

【1741】セクション B.11 「クロッキング、
テスト及び関連問題」 B.11.1 「クロック様式」 チップ内の個々の機能的ブロックを考慮する前に、チッ
プ内のクロック様式及びそれらの関係を認識することが
有益であろう。
[1741] Section B. 11 "Clocking,
Testing and Related Issues "B. 11.1 "Clock Styles" Before considering the individual functional blocks in a chip, it may be useful to recognize the clock styles in the chip and their relationships.

【1742】通常のオペレーションの間に、チップのほ
とんどのブロックはフェイズロックループ(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 in synchronization with the signal pllsysclk from the phase lock loop (PLL). The exception to this is the DRAM interface, whose timing is governed by the need to synchronize to the iftime sub-block, which sub-block is controlled by the DRAM control signals (notwe, notoe, notcas, notra).
s). The core of this block is two phases
Clocked by non-overlapping clocks clk0 and clk1, which are PLL cki0, cki
1 and derived from a quadrature 2 phase clock supplied separately from clkg0 and ckg1.

【1743】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 with the clock in the remaining chip, the interface between the DRAM interface and the remaining chip (as far as practically possible) is used to eliminate the possibility of metastable behavior. Countermeasures have been taken. Synchronization occurs in two areas: at the output interface of the address generator (addrgen / predre
ad / psgsync, addrgen / ip wrt
2 / sync18 and addrgen / iprd2 / s
ync18), 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
This means that k1 is used in the output stage of the address generator.

【1744】これらの完全に同期したクロック様式に加
えて、pllsysclkから2フェイズ・ノンオーバ
ーラッピングクロック(ph0、ph1)を発生させる
多くの別個のクロック発生器がある。アドレス発生器、
予測フィルタ及びDRAMインターフェースは各々自身
のクロック発生器を持っており;残りのチップはコモン
クロック発生器から離れて動かされる。こうした理由に
は2つの部分がある。第1に、個々のクロック発生器に
かかる容量性負荷を減少させ、より小さなクロックドラ
イバと減少したクロックルーティング幅を可能にする。
第2に、各々のスキャンパスはクロック発生器によって
制御され、従って、クロック発生器の数の増加により短
いスキャンパスを使用できるようになる。
In addition to these fully synchronized clock schemes, there are a number of separate clock generators that generate a two-phase non-overlapping clock (ph0, ph1) from pllsysclk. Address generator,
The prediction filter and the DRAM interface each have their own clock generator; the remaining chips are moved away from the common clock generator. There are two parts to this reason. First, it reduces the capacitive load on individual clock generators, allowing for smaller clock drivers and reduced clock routing width.
Second, each scan path is controlled by a clock generator, thus increasing the number of clock generators allows the use of shorter scan paths.

【1745】これらのクロック様式バウンダリを横切っ
て動かされる信号を再同期化することが必要である。な
ぜなら、異なるクロック発生器から引き出されるノンオ
ーバーラッピングクロック間の重要でないスキューがイ
ンターフェースにおいてアンダーラップが発生したこと
を意味するであろうからである。各「スノーパ」ブロッ
ク(セクション B.11.4を参照)に内蔵された回
路が、こうしたことが発生しないことを保証し、スノー
パブロックは、トークンデコードブロックにおいて再同
期化が行われるアドレス発生器の前を除いて、全てのク
ロック様式間の境界に置かれた。
It is necessary to resynchronize signals that are moved across these clock style boundaries. This is because insignificant skew between non-overlapping clocks derived from different clock generators would mean that an underlap occurred at the interface. Circuits built into each "snooper" block (see section B.11.4) ensure that this does not occur, and the snooper block is an address generator that is resynchronized in the token decode block. Except at the front of the clock.

【1746】B.11.2 「クロックの制御」 各標準クロック発生器は通常のモード及びスキャンテス
トモードで、オペレーションができるようにする多くの
異なるクロックを発生させる。スキャンテストモードで
のクロックの制御は他のセクションで詳細に説明する
が、注目すべきことは、クロック発生器(tph0、t
ph1、tckm、tcks)により発せられるクロッ
クの幾つかは、通常概略図の原始記号に加えられない。
これはこれらのクロックを正確に接続するポストプロセ
ッサにより、スキャンパスが自動的に作られるからであ
る。機能的な観点から見ると、ポストプロセッサが概略
図に示されたものとは異なるクロックを接続したという
事実は無視することができる;行為は同じである。
[1746] B. 11.2 Clock Control Each standard clock generator generates a number of different clocks that allow it to operate in normal mode and scan test mode. The control of the clock in scan test mode is described in detail in another section, but it should be noted that the clock generators (tph0, tph0)
Some of the clocks emitted by ph1, tckm, tcks) are not normally added to the primitive symbols in the schematic.
This is because the scan path is automatically created by a post processor that accurately connects these clocks. 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 neglected; the act is the same.

【1747】通常のオペレーション中に、マスタークロ
ックは多くの異なる方法で引き出すことができる。表2
29はピンpllselect及びオーバーライドのス
テートにより様々なモードを選択できる様子を示してい
る。
During normal operation, the master clock can be derived in many different ways. Table 2
Reference numeral 29 denotes a state in which various modes can be selected depending on the state of the pin "pllselect" and the override state.

【1748】[1748]

【表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 book. However, the two-wire interface is used for communication between all blocks in the temporal decoder, most blocks are made up of many pipeline stages, all of which are two-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. Generally, these internal pipeline stages are configured as shown in FIG.

【1749】図152はラッチ−ロジック−ラッチ表示
を示しており、これが通常使用される配置である。しか
しながら、多くのステージが一緒に置かれる時、「ステ
ージ」をラッチ−ラッチ−ロジック(多くの技術者にと
って良く知られているモード)と考えることも有効であ
る。ラッチ−ロジック−ラッチ配置の使用は全てのブロ
ック間通信が、ブロックを送る際にも受け取る際にも、
ロジックを間に挟まずに、ラッチ対ラッチであるように
できる。
FIG. 152 shows a latch-logic-latch display, which is a commonly used arrangement. However, when many stages are put together, it is useful to think of a "stage" as latch-latch-logic (a mode well known to many engineers). The use of a latch-logic-latch arrangement means that all inter-block communication, whether sending or receiving blocks,
It can be a latch-to-latch without any intervening logic.

【1750】再び図152において、ロジックブロック
を取り除き、データと有効信号を直接ラッチ間に接続し
out validとout acceptがゲートさ
れるのと同様に、入力上のNORゲートに直接ラッチさ
れたin validをinacceptラッチに接続
することにより、簡単な2線式インターフェースFIF
Oステージが構築できる。データと有効信号は次に対応
するアクセプト信号が高い時に伝搬する。図示した方法
でin validをout acceptregで
理和をとることにより、データはout accept
regが低くても、in validが低い場合にア
クセプトされる。この方法で、ストール(低い信号をア
クセプトする)が発生する時はいつでも、gaps(有
効なビットが低いデータ)がパイプラインから取り除か
れる。
Referring again to FIG. 152, the logic block is removed and the data and valid signal are directly connected between the latches, and out valid and out accept are gated in the same manner as in valid which is latched directly to the NOR gate on the input. Is connected to the accept latch to provide a simple two-wire interface
O stage can be constructed. The data and valid signals propagate when the next corresponding accept signal is high. Logical and in valid in out acceptreg In the illustrated method
By taking the logical sum , the data is out accept
Even if reg is low, it is accepted if in valid is low. In this way, whenever a stall (accepting a low signal) occurs, gaps (data with low valid bits) are removed from the pipeline.

【1751】図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 data or the state of the block. In the arrangement shown, every state in the block is ph
It is standard to be kept in a master-slave device with a master enabled by 1 and a slave enabled by ph0.

【1752】B.11.4 「スノーパブロック」 スノーパブロックは半導体チップ内の様々なポイントに
おいてマイクロプロセッサインターフェースを介してデ
ータストリームへのアクセスを可能にする。スノーパブ
ロックには2つのタイプがある。普通のスノーパはクロ
ックが直接制御され得るテストモードにおいてのみアク
セス可能である。「スーパースノーパ」は、クロックが
動いている間もアクセス可能であり、マイクロプロセッ
サバスからの非同期データを内部チップクロックに同期
化させる回路を包含している。表230は時間デコーダ
内の全てのスノーパのロケーションとタイプを記載して
いる。
B. [1752] 11.4 "Snooper Block" The snooper block allows access to the data stream via a microprocessor interface at various points within the semiconductor chip. There are two types of snooper blocks. Ordinary snoopers can only be accessed in a test mode where the clock can be controlled directly. The "super snooper" is accessible while the clock is running and includes circuitry that synchronizes asynchronous data from the microprocessor bus to the internal chip clock. Table 230 lists the location and type of all snoopers in the temporal decoder.

【1753】[1753]

【表230】 両スノーパの使用に関する詳細はテストセクションに記
載する。JTAGインターフェースのオペレーションの
詳細はJTAG文書に記載する。
[Table 230] Details on the use of both snoopers are provided in the test section. Details of the operation of the JTAG interface are described in the JTAG document.

【1754】セクション B.12 「機能ブロック」 B.12.1 「トップフォーク」 本発明によれば、トップフォークは2つの異なる機能を
果たす。第1に、データストリームを2つの異なるスト
リームに分岐する:1つはアドレス発生器に、他の1つ
をFIFOに、第2に、チップを配置できるように、チ
ップのスターティング手段及びストッピング手段を提供
する。
[1754] Section B. 12 “Function block” 12.1 Top Fork According to the invention, the top fork performs two different functions. First, the data stream is split into two different streams: one for the address generator, one for the FIFO, and second, the means for starting and stopping the chips so that the chips can be located. Provide a means.

【1755】構成要素のフォーク部分の局面は非常に簡
単である。同じデータがアドレス発生器とFIFOに表
示され、アクセプトが前のステージに送り返される前に
両ブロックによってアクセプトされていなければならな
い。このように、フォークの2つのブランチのvali
dsが他のブランチからのアクセプトに従属する。チッ
プが停止状態にある場合、両ブランチに対するvali
dsは低く保たれる。配置ビットがhighに設定され
るまで、半導体チップは、in acceptがlow
保たれ状態で、パワーアップ(power up,
電力増加)する。これはユーザーがチップを配置してし
まうまで如何なるデータもアクセプトされないことを保
証する。ユーザーが他の時にチップを配置する必要があ
る場合、ユーザーは配置ビットを設定し、チップが現在
のストリームを完了してしまうまで待たなければならな
い。ストッピングプロセスは次の通りである: 1)配置ビットが設定されていれば、トップフォークに
よってフラッシュトークンが検出された後、如何なるデ
ータもアクセプトされない。
The aspect of the fork portion of the component is very simple. The same data is displayed in the address generator and in the FIFO and must be accepted by both blocks before the accept is sent back to the previous stage. Thus, the vari of the two branches of the fork
ds is dependent on accepts from other branches. If the chip is in a halt state, the valid for both branches
ds is kept low. Until the arrangement bit is set to high , the semiconductor chip has a low in accept.
In a state of being kept in, power up (power up,
Power increase) . This ensures that no data is accepted until the user places the chip. If the user needs to place the chip at another time, the user must set the placement bit and wait until the chip has completed the current stream. The stopping process is as follows: 1) If the configuration bit is set, no data is accepted after the flash token is detected by the top fork.

【1756】2)フラッシュトークンがリードラダーに
到達する時には、チップはストリームのプロセシングを
完了しているであろう。これは信号seq doneを
高くさせる。
2) When the flush token reaches the read ladder, the chip will have completed processing the stream. This causes the signal seq done to go high.

【1757】3)seq doneが高くなると、マイ
クロプロセッサが読むことができるイベントビットを設
定する。イベント信号はイベントブロックによってマス
クされ得る。
3) When seq_done goes high, set an event bit that can be read by the microprocessor. The event signal may be masked by the event block.

【1758】B.12.2 「アドレス発生器」 本発明では、アドレス発生器(addrgen)はフレ
ーム内のブロック数をカウントし、DRAMデータ伝送
用の正しいアドレスシーケンスを発生させる責任があ
る。アドレス発生器の入力は(トップフォークを介して
の)トークン入力ポートからのトークンストリームであ
り、DRAMインターフェースに対するその出力は、リ
クエスト/アクノレッジプロトコールにより制御される
アドレス及び他の情報から成る。
[1758] 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 a 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.

【1759】アドレス発生器の基本的なセクションは以
下の通りである: ・トークンデコード ・ブロックカウンティング及びDRAMブロックアドレ
スの発生 ・モーションベクトルデータのアドレスオフセットへの
変換 ・予測伝送用のリクエスト及びアドレス発生器 ・再配置リードアドレス発生器 ・ライトアドレス発生器 B.12.2.1 「トークンデコード(tokde
c)」 トークンデコーダにおいて、コーディングスタンダード
に連合するトークン、フレーム、ブロック情報、及びモ
ーションベクトルがデコードされる。ストリームから抽
出される情報は一連のレジスタに記憶され、それはup
iを介してアクセスされ得る。データトークンヘッダの
検出は次のブロックに合図され、ブロックカウンティン
グ及びアドレス発生を可能化する。JPEGを動かして
いる時は何も起こらない。
The basic sections of the address generator are as follows: Token decode Block count and generation of DRAM block addresses Conversion of motion vector data to address offset Request and address generator for predictive transmission -Relocation read address generator-Write address generator B. 12.2.1 “Token Decode (tokde
c) "In the token decoder, 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, which
i. Detection of the data token header is signaled to the next block, enabling block counting and address generation. Nothing happens when running JPEG.

【1760】デコードされるトークンリスト ・コーディングスタンダード ・データ ・DEFINE MAX SAMPLING ・DEFINE SAMPLING ・HORIZONTAL MBS ・MVD BACKWARDS ・MVD FORWARDS ・ピクチャスタート ・ピクチャタイプ ・予測モード このブロックは更にリクエスト発生器からの情報を組み
合わせて、フレームポインタのトグリングを制御し、入
力ストリームをストール(失速)させる。新しいフレー
ムが(ピクチャスタートトークンの形態で)入力に現れ
ると、ストリームはストールされるが、前のフレームに
関連するライトバックもしくは再配置リードは不完全で
ある。
[1760] Token list to be decoded • 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 toggling of the frame pointer 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.

【1761】B.12.2.2 「マクロブロックカウ
ンタ(mblkcntr)」 本発明のマクロブロックカウンタはフレーム内のマクロ
ブロックの水平位置及び垂直位置を指す4つの基本的カ
ウンタから成る。時間の始まりにおいて、また各ピクチ
ャスタートに際して、全てのカウンタは0に設定され
る。データトークンヘッダが到着すると、カウンタは増
分し、トークンヘッダ及びフレーム構造内の色成分ナン
バーに従ってリセットされる。このフレーム構造はトー
クンデコーダ内のサンプリングレジスタによって説明さ
れる。
[1761] 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 a macroblock within a 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 token header and the color component number in the frame structure. This frame structure is described by the sampling register in the token decoder.

【1762】所定の色成分のために、カウンティングは
次のように進行する。水平ブロックカウントはマクロブ
ロックの幅に達するまで、同じ成分の新しいデータトー
クンの各々に増分され、その後リセットする。垂直ブロ
ックカウントはマクロブロックの高さに達するまで、こ
のリセットによって増分され、その後リセットする。こ
れが発生すると、次の色成分を待つ。従って、このシー
ケンスはマクロブロック − おそらく各成分によって
異なるでろう、マクロブロックの水平と垂直のサイズに
おける成分の各々に対して繰り返される。ある成分に対
して、期待されるより少ないブロックが受け取られた場
合でも、カウントは誤差なしに次の成分へと進むであろ
う。
[1762] For a given color component, counting proceeds as follows. The horizontal block count is incremented for each new data token of the same component until the macroblock width is reached, and then reset. The vertical block count is incremented by this reset until the macroblock height is reached, and then reset. When this occurs, it waits for the next color component. Thus, this sequence is repeated for each of the components in the horizontal and vertical size of the macroblock—perhaps different for each component. If fewer blocks than expected are received for one component, the count will proceed to the next component without error.

【1763】データトークンの色成分が期待されたバリ
ューより少ない場合、水平マクロブロックカウントが増
分される。(所定の色成分に対して期待された以上のブ
ロック数が現れた時にも、カウンタはより高い成分イン
デックスを期待しているので、こうしたことが発生する
であろう。)この水平カウントはカウントがマクロブロ
ック内のピクチャ幅に達する時にリセットされる。この
リセットは垂直マクロブロックカウントを増分させる。
If the color component of the data token is less than the expected value, the horizontal macroblock count is incremented. (This would also occur when more blocks than expected for a given color component appeared, since the counter expects a higher component index.) Reset when the picture width in the macroblock is reached. This reset causes the vertical macroblock count to be incremented.

【1764】更に、H.261 CIFフォーマット内
のマクロブロックをカウントする能力がある。この場
合、マクロブロックとブロック・グループと呼ばれるピ
クチャとの間の特別レベルの階層がある。これは11マ
クロブロック幅と3マクロブロックの深さであり、ピク
チャは常に2グループ幅である。トークンデコーダはピ
クチャタイプトークンからCIFビットを引出し、これ
をマクロブロックカウンタに送り、ブロック・グループ
をカウントするよう指示する。成分毎にブロック数が少
ないか、もしくは多すぎる場合、上記のような反応が引
き起こされるであろう。
[1764] Further, H. H.261 is capable of counting macroblocks in the CIF format. In this case, there is a special level of hierarchy between macroblocks and pictures called block groups. This is 11 macroblocks wide and 3 macroblocks deep, and a picture is always 2 groups wide. The token decoder derives the CIF bit from the picture type token and sends it to the macroblock counter, instructing it to count block groups. If the number of blocks per component is too low or too high, a reaction as described above will occur.

【1765】B.12.2.3 「ブロック計算(bl
kcalc)」 ブロック計算はマクロブロック及びマクロブロック内ブ
ロックの座標をピクチャ内のブロックの位置用座標に変
換する、つまり階層レベルを崩壊(knockout)
する。もちろん、これは異なる色成分のサンプリング率
を考慮しなければならない。 B.12.2.4 「ベースブロックアドレス(bsb
lkadr)」 blkcalcからの情報は色成分オフセットと共に、
線形DRAMアドレス空間内のブロックアドレスを計算
するために使用される。本質的に、所定の色成分のため
に、線形ブロックアドレスは垂直ブロック数xピクチャ
幅+水平ブロック数である。これはベースブロックアド
レスを形成するために色成分オフセットに加算される。
[1765] B. 12.2.3 “Block calculation (bl
kcalc) "block calculation converts the coordinates of a macroblock and macroblock in a block position coordinates for the block in the picture, i.e. collapse a hierarchy level (knockout)
I do. Of course, this must take into account the sampling rates of the different color components. B. 12.2.4 “Base block address (bsb
lkadr) "The information from blkcalc, along with the color component offset,
Used to calculate block addresses in the linear DRAM address space. In essence, for a given color component, the linear block address is the number of vertical blocks times the width of the picture plus the number of horizontal blocks. This is added to the color component offset to form the base block address.

【1766】B.12.2.5 「ベクトルオフセット
(vec pipe)」 トークンデコーダによって表示されるモーションベクト
ル情報は、水平及び垂直のピクセルオフセット座標の形
態である。つまり、フォワード及びバックワードベクト
ルの各々のために、それが予測されているブロックに形
成されるブロックから半ピクセルの転置を与える(x、
y)がある。これらの座標は正または負であってよいこ
とに注意。それらはまず各色成分のサンプリングに従っ
て概算され、ブロック及び新しいピクセルオフセット座
標を形成するために使用される。図154において、陰
部分が形成されつつあるブロックを表す。点線の輪郭は
そこからそれが来ることが予測されているブロックであ
る。大きな矢印はブロックオフセット−予測ブロックの
オリジンを含むDRAMブロックへの水平及び垂直のベ
クトル、この場合(1、4)を示す。小さな矢印は新し
いピクセルオフセット−そのDRAMブロック内の予測
ブロックオリジンの位置を示す。DRAMブロックが8
×8バイトであるので、ピクセルオフセットは(7、
2)であるように見える。
[1766] 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 transposition of half a pixel from the block formed in the block in which it is predicted (x,
y). Note that these coordinates can be positive or negative. They are first approximated according to a sampling of each color component and used to form blocks and new pixel offset coordinates. FIG. 154 shows a block in which a shadow portion is being formed. The dotted outline is the block from which it is expected to come. The large arrows indicate the block offset-the horizontal and vertical vector 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 location of the predicted block origin within that DRAM block. 8 DRAM blocks
X8 bytes, so the pixel offset is (7,
It looks like 2).

【1767】乗算器アレイvmarrlaは次にブロッ
クベクトルオフセットを線形ベクトルオフセットに変換
する。ピクセル情報は(x、y)座標(pix inf
o)として予測リクエスト発生器に送られる。
The multiplier array vmarrla then converts the block vector offset to a linear vector offset. Pixel information is represented by (x, y) coordinates (pix inf
sent to the prediction request generator as o).

【1768】B.12.2.6 「予測リクエスト」 フレームポインタ、ベースブロックアドレス、及びベク
トルオフセットは加算されて、DRAM(Inblka
d3)から引き出されるアドレスを形成する。ピクセル
オフセットが0であれば、1つのリクエストだけが発せ
られる。x、またはy次元のいずれかにおいてオフセッ
トがあれば、2つのリクエスト−オリジナルブロックア
ドレス、及びすぐ右かあるいは真下のもののいずれか−
が発せられる。x及びyの両方にオフセットがあれば、
4つのリクエストが発せられる。チップクロック様式と
DRAMインターフェースクロック様式間の同期は第1
の加算(Inblkad3)と、適当なリクエストを発
するステートマシーンとの間で起きる。このように、ス
テートマシーン(psgstate)はDRAMインタ
ーフェースクロックによってクロックされ、その走査さ
れたエレメントはDRAMインターフェーススキャンチ
ェインの一部を形成する。
[1768] B. 12.2.6 “Prediction Request” The frame pointer, the base block address, and the vector offset are added to the DRAM (Inblka
Form the address derived from d3). If the pixel offset is 0, only one request is issued. If there is an offset in either the x or y dimension, two requests-the original block address, and either immediately right or directly below-
Is issued. If there are offsets in both x and y, then
Four requests are issued. The synchronization between the chip clock mode and the DRAM interface clock mode is the first.
(Inblkad3) and the state machine issuing the appropriate request. Thus, the state machine (psgstate) is clocked by the DRAM interface clock, and the scanned elements form part of the DRAM interface scan chain.

【1769】B.12.2.7 「再配置リードリクエ
スト及びライトリクエスト」 ここではピクセルオフセットが含まれないので、各アド
レスは関連フレームポインタにベースブロックアドレス
を加算することにより形成される。再配置リードは予測
及びデータが他のフレーム記憶装置に書き戻されるの
で、同じフレーム記憶装置を使用する。各ブロックはリ
ード及びライトデータの伝送が対応するアドレスにおけ
る予測伝送を遅らせる傾向があるので、アドレスを記憶
するため短FIFOを具備する。(これはリード/ライ
トデータが予測データよりチップデータフローに沿った
ストリームと相互作用するからである。)更に、各ブロ
ックはチップクロックとDRAMインターフェースクロ
ック間の同期化を含む。
[1768] B. 12.2.7 “Relocation Read and Write Requests” Since no pixel offset is 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 predictions and data are written back to other frame stores. Each block has a short FIFO to store the address because the transmission of read and write data tends to delay the predicted transmission at the corresponding address. (This is because the read / write data interacts with the stream along the chip data flow more than the prediction data.) Further, each block includes synchronization between the chip clock and the DRAM interface clock.

【1770】B.12.2.8 「オフセット」 DRAMは2つのフレーム記憶装置として配置され、各
々が3つの色成分を含む。フレーム記憶装置ポインタ及
び各フレーム内の色成分オフセットがupiを介してプ
ログラムされなければならない。
[1770] B. 12.2.8 “Offset” The DRAM is 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.

【1771】B.12.2.9 「スノーパ」 本発明では、スノーパは次のように配置される: ・blkcalcとbsblkadrの間−このインタ
ーフェースは水平と垂直のブロック座標、適切な色成分
オフセット、及び(その成分用の)ブロック内のピクチ
ャ幅から成る。
[1771] B. 12.2.9 "Snowpa" In the present invention, the snooper is arranged as follows: between blkcalc and bsblkadr-this interface uses horizontal and vertical block coordinates, appropriate color component offsets, and (for that component) ) Consists of the width of the picture in the block.

【1772】・bsblkadrの後−ベースブロック
アドレス。
[1772] After bsblkadr-the base block address.

【1773】・vec pipeの後−線形ブロックオ
フセット、予測モード、色成分及びH.261オペレー
ションに関する情報と共に、ブロック内のピクセルオフ
セット。
After vec pipe-linear block offset, prediction mode, color component and H.264 Pixel offset within the block, along with information about the H.261 operation.

【1774】・Inblkad3の後−「予測リクエス
ト」の項で説明したように、物理的ブロックアドレスス
ーパースノーパは、外部DRAMのテスト中に使用する
ため、再配置リード及びライトリクエスト発生器の中に
置かれる。詳細についてはDRAMインターフェースセ
クションを参照。
After Inblkad3-As described in the "Predicted Request" section, the physical block address super snooper is used in the relocated read and write request generator for use during testing of the external DRAM. Is placed. See DRAM Interface section for details.

【1775】B.12.2.10 「走査」 addrgenブロックはそれ自体のスキャンチェイン
を持っており、そのクロッキングはブロック自体のクロ
ック発生器(adclkgen)により制御される。ブ
ロックの後端にあるリクエスト発生器はDRAMインタ
ーフェースクロック様式の範囲内にあることに注意。
[1775] B. 12.2.10 "Scan" The addrgen block has its own scan chain and its clocking is controlled by its own clock generator (adclgen). Note that the request generator at the end of the block is within the DRAM interface clock format.

【1776】B.12.3 「予測フィルタ」 本発明による予測フィルタの全体的な構造は図155に
示す。フォワード及びバックワードフィルタは同じもの
であり、MPEGフォワード/バックワード予測ブロッ
クをフィルタリングする。H.261モードではフォワ
ードフィルタだけが使用される(バックワードフィルタ
のh261 on入力はH.261ストリームがバック
ワード予測を含まないので、永久的に低くあるべきであ
る)。全体的な予測フィルタブロックは2線式インター
フェースステージのパイプラインで構成される。
[1776] 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 and filter the MPEG forward / backward prediction block. H. In the H.261 mode, only the forward filter is used (the h261 on input of the backward filter should be permanently low because the H.261 stream does not include backward prediction). The overall prediction filter block consists of a two-wire interface stage pipeline.

【1777】B.12.3.1 「予測フィルタ」 各予測フィルタは他の予測フィルタとは完全に独立して
作用し、有効データがその入力に現れるとすぐにデータ
を処理する。図156から明らかなように、予測フィル
タは4つの別個のブロックから成り、その内の2つは同
じものである。これらのブロックのオペレーションにつ
いてはMPEG及びH.261のオペレーションのため
に独立して説明する方がよいであろう。H.261は最
も複雑であるので、最初に説明する。
[1777] B. 12.3.1 "Predictive Filters" Each predictive filter operates completely independently of the other predictive filters and processes the data as soon as valid data appears at its input. As can be seen 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 separately for the operation of H.261. H. 261 is the most complicated and will be described first.

【1778】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を含む。
B. [1778] 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) This is applied to each row of the 8 × 8 block by the x prediction filter and to each column by the y prediction filter. The mechanism by which this is achieved is illustrated in FIG. 157, which basically represents a pfltldd schematic. The filter consists of three two-wire interface pipeline stages. For the first and last pixel of the row,
Registers A and C are reset, and data is stored in register B,
Pass D and F unchanged (the contents of B and D are added to 0). The control of Bx2 mux is set such that the output of register b is shifted left by one. This shifting is always shifted 1 in any event
In one place. Thus, all values are multiplied by 4 (and more later). 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. The H.261 filter expression is executed. Since vertical filtering is performed in the three horizontal groups (see note on dimension buffers below), there is no need to process the first and last pixels in a row separately. Control and counting of pixels in a row is performed by control logic associated with each one-dimensional filter. Note that the result is not divided by four. After horizontal and vertical filtering have been performed, the prediction filter adder (section
B. In the input of 12.4.2), a task of dividing by 16 (shifting right by 4) is performed. Registers DA, D
D and DF send control information to the pipeline. This is h2
Includes 61 on and last byte.

【1779】予測フィルタ内に見つけられる他のブロッ
クの内、フォーマッティングの機能は単にデータが正し
いオーダーでx−フィルタに表示されることを確実にす
ることである。上記から解るように、これには単に3ス
テージのシフトレジスタが必要であり、第1のステージ
はレジスタCの入力に接続され、第2のステージはレジ
スタBに、第3のステージはレジスタAに接続される。
[1781] Among 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.

【1780】xフィルタとyフィルタの間で、ディメン
ションバッファがデータをバッファリングし、3つの垂
直ピクセルのグループがy−フィルタに表示されるよう
にする。これら3つのグループはまだ水平に処理される
が、予測フィルタ内では如何なる転置も発生しない。図
158に関連して、ピクセルがディメンションバッファ
から出力されるシーケンスを表231、表232に示
す。
[1780] Between the x and y filters, a dimension buffer buffers the data so that three groups of vertical pixels are displayed in the y-filter. Although these three groups are still processed horizontally, no transposition occurs in the prediction filter. Tables 231 and 232 show the sequence in which pixels are output from the dimension buffer in relation to FIG.

【1781】[1781]

【表231】 [Table 231]

【1782】[1782]

【表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 the MPEG operation, the prediction 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, 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.

【1783】[1783]

【表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 MPEG as well as for the first and last pixel in the H.261 row
For inter-pixel. For MPEG half-pixel operation, register A is permanently reset and the output of register C is shifted left by one (the output of register B is always shifted left by one). Thus, after two clocks, register F stores (2B + 2
C), which is four times the required result, which is processed at the input of the prediction filter adder where the number passed by the x and y filters is shifted right by four.

【1784】フォーマッティング及びディメンションバ
ッファの機能はMPEGにおいてもシンプルである。フ
ォーマッティングは2個の有効なピクセルを集め、それ
らを半ピクセル補間のためにx−フィルタに送らなけれ
ばならない;ディメンションバッファは1つのローをバ
ッファすることだけが必要である。注目に値すること
は、データがx−フィルタを通過した後、フィルタリン
グオペレーションが9−ピクセルローを8−ピクセルロ
ーに変換するので、ローの中に8個のピクセルだけが存
在することである。「失われた」ピクセルはデータスト
リーム内のギャップで置き換えられる。半ピクセル補間
を遂行する時、x−フィルタは各ローの終わりに(各8
個のピクセルの後に)ギャップを挿入し;y−フィルタ
はブロックの終わりに8個のギャップを挿入する。この
ことは、ブロックの終わりで、8個もしくは9個のギャ
ップ・グループがデータトークンヘッダ、及びFIFO
から来るストリーム内のデータトークン間の他のトーク
ンと整列することから、重要である。これは9x9のブ
ロックがフィルタリングされる時に発生する、チップを
通じて最悪の場合を最小限に抑える。
The functions of the formatting and the dimension buffer are simple in MPEG. Formatting must collect 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, there are only eight pixels in the row as the filtering operation converts the 9-pixel rows to 8-pixel rows. "Lost" pixels are replaced by gaps in the data stream. When performing half-pixel interpolation, the x-filter at the end of each row (8
Insert a gap) (after 8 pixels); the 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 contain a data token header and a FIFO.
Important because it aligns with other tokens between data tokens in the incoming stream. This minimizes the worst case through chip that occurs when a 9x9 block is filtered.

【1785】B.12.3.2 「予測フィルタアダ
ー」 MPEGオペレーションの間に、初期のピクチャ、後期
のピクチャ、または両者の平均を用いて予測が形成され
る。初期のフレームから形成される予測はフォワード予
測と呼ばれ、後期のフレームから形成される予測はバッ
クワード予測と呼ばれる。予測フィルタアダー(pfa
dd)の機能は、どちらのフィルター済み予測値を使用
するか(フォワード、バックワードもしくはその両
方)、そしてフォワードまたはバックワードフィルター
ド予測もしくは両者の平均のいずれを通過するかを決定
することである(正の無限大に向かってラウンドされ
る)。
[1785] B. 12.3.2 Predictive Filter Adder During MPEG operations, predictions are formed using early pictures, late pictures, or an average of both. Prediction formed from early frames is called forward prediction, and prediction formed from late frames is called backward prediction. Prediction filter adder (pfa
The function of dd) is to determine which filtered prediction value to use (forward, backward or both) and whether to pass forward or backward filtered prediction or the average of both. (Rounded toward positive infinity).

【1786】予測モードはブロック間で、つまりパワー
アップ時に、もしくは現在の予測ブロックの最後のバイ
トを指示する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 have been activated. If the current block is forward predicted, only the fwd 1st byte is examined.
If it is backward prediction, bwd 1st
Only bytes are examined. If it is a bidirectional prediction, fwd 1st byte and bwd 1
The st byte is checked.

【1787】信号fwd on及びbwd onはどの
予測値を使用するかを決定する。随時、これらの信号の
両方が活性であっても、もしくは両方共活性でなくとも
よい。スタートアップ時に、あるいは、ブロックの入力
に有効なデータが存在しない時にギャップがあれば、ブ
ロックはどちらの信号も活性でない時にステートに入
る。
The signals fwd on and bwd on determine which prediction 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 input of the block, the block enters the state when neither signal is active.

【1788】次のブロックのための予測モードを決定す
るのに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セットと共に到着するま
でストールし、それから各予測バリューペアを平均化す
るブロックを通過する。
[1790] Two criteria are used to determine the prediction mode for the next block: a signal fwd indicating which of the forward or backward blocks is part of the 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 one 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 arrives before the second forward prediction block. This is because the DRAM interface can retrieve the backward block of the bidirectional prediction long enough. Similarly, the backward and forward predictions of other sequences can also leave the sequence at the input of the prediction filter adder. Thus, the next prediction mode is determined as follows: 1) Valid forward data is present and fwd ima
If twin is high, the block stalls until valid backward data arrives with the bwd ima twin set and then passes through the block averaging each predicted value pair.

【1789】2)有効バックワードデータが存在し、b
wd ima twinが高ければ、ブロックは有効フ
ォワードデータがfwd ima twinセットと共
に到着するまでストールし、それから上述のように進
む。フォワード及びバックワードデータが共に有効であ
れば、ストールは行われない。
[1789] 2) Valid backward data exists and b
If wd ima twin is high, the block stalls until valid forward data arrives with the fw ima twin set, and then proceeds as described above. If both the forward and backward data are valid, no stall is performed.

【1790】3)有効フォワードデータは存在するが、
fwd ima twinが設定されなければ、fwd
p numが調べられる。これが(pred num
に記憶されている)前の予測+1からの数字と等しけれ
ば、予測モードがフォワードに設定される。
[1790] 3) Although valid forward data exists,
If fwd ima twin is not set, fwd
p num is checked. This is (pred num
If the prediction mode is equal to the number from the previous prediction +1 (stored in), the prediction mode is set to forward.

【1791】3)有効バックワードデータは存在する
が、bwd ima twinが設定されなければ、b
wd p numが調べられる。これが(pred n
umに記憶されている)前の予測+1からの数字と等し
ければ、予測モードがバックワードに設定される。
[1791] 3) Although valid backward data exists, if bwd ima twin is not set, b
wd p num is checked. This is (pred n
If equal to the number from the previous prediction +1 (stored in um), the prediction mode is set to backward.

【1792】パイプライン内の1ステージ後方からのe
arly valid信号が使用され、新しいブロック
からの最初のデータが到着する前に予測フィルタアダー
モードを設定することができることに注意。これはパイ
プラインに如何なるストールも導入されないことを保証
する。
[1792] e from the back of one stage in the pipeline
Note that the early valid signal is used and the prediction filter adder mode can be set before the first data from the new block arrives. This ensures that no stalls are introduced into the pipeline.

【1793】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 prediction filter pipelines. This is for the following reasons: 1) These signals are fwd 1st byte and / or
Or, it is checked only when bwd 1st byte is valid. This saves about 25 3-bit pipeline stages in each prediction filter.

【1794】2)ブロック中を通じて信号は有効なまま
であるので、fwd 1st byte及び/もしくは
bwd 1st byteが予測フィルタアダーに到着
する時に、有効である。
2) Since the signal remains valid throughout the block, it is valid when fwd 1st byte and / or bwd 1st byte arrives at the prediction filter adder.

【1795】3)信号は、いずれにしてもデータが到着
する1クロック前に調べられる。
3) The signal is checked one clock before the data arrives in any case.

【1796】B.12.4 「予測アダー及びFIF
O」 予測アダー(パダー)は予測フィルタからのデータを誤
差データに加算することにより、予測済みフレームを形
成する。アドレス発生器、DRAMインターフェース及
び予測フィルタを通る入力からのディレイを補償するた
め、誤差データはパダーに達する前に256ワードFI
FO(sfifo)を通過する。
[1796] B. 12.4 “Predictive Adders and FIF
O "The prediction 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 words FI before reaching the padder.
Passes through the FO (sfifo).

【1797】コーディングスタンダードトークン、予測
モードトークン、及びデータトークンは、いつ予測ブロ
ックが形成されるかを決定するためにデコードされる。
8ビットの予測データはデータトークン内の9ビットの
2の補数誤差データに加算される。その結果は0〜25
5の範囲に制限され、次のブロックに進む。このデータ
制限はJPEGを含む全てのイントラコード化データに
も適用されることに注意。
The coding standard token, prediction mode token, and data token are decoded to determine when a prediction block is formed.
The 8-bit prediction data is added to the 9-bit two'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 restriction also applies to all intra-coded data, including JPEG.

【1798】本発明の予測アダーは更に、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 must exactly correspond to the number of data tokens from the FIFO, including the prediction. In the event of a major malfunction, the padder will attempt recovery.

【1799】FIFO及びフィルタからのデータブロッ
クの終わりがin extn及びf1 last入力に
よって、各々マークされる。フィルタデータの終わりが
データトークンの終了前に検出された場合、残りのトー
クンは変更されずに出力を続ける。他方、フィルタブロ
ックがデータトークンより長い場合、全ての過剰フィル
タデータがアクセプトされ、捨てられるまで入力はスト
ールされる。
The end of the data block from the FIFO and filter is marked by the inextn and f1 last inputs, respectively. If the end of the filter data is detected before the end of the data token, the remaining tokens will continue to be output unchanged. On the other hand, if the filter block is longer than the data token, the input is stalled until all excess filter data is accepted and discarded.

【1800】トークン入力ポートからのデータを直接こ
れらのブロックに送り、またトークン出力ポートにこれ
らの出力を直接送るようにチップが構成されるので、F
IFOもしくは予測アダーのいずれにもスノーパはな
い。
1800 Since the chip is configured to send data from the token input port directly to these blocks and to send these outputs directly to the token output port,
There is no snooper in either the IFO or the prediction adder.

【1801】B.12.5 「ライト及びリードラダ
ー」 B.12.5.1 「ライトラダー(wrudde
r)」 ライトラダーは予測アダーから来る全てのトークンをリ
ードラダーに送る。更に、それはMPEGのIまたはP
ピクチャ内の全てのデータブロック、及びH.261と
DRAMインターフェース内の全てのデータブロックを
送るので、アドレス発生器の制御下に外部フレーム記憶
装置にそれらをライトバックすることができる。ライト
バックデータはDRAMインターフェースに行く途中の
スノーパを通過するが、全ての基本的な機能性は1つの
2線式インターフェースステージ内に包含される。
[1801] B. 12.5 "Write and read ladders" 12.5.1 “Light ladder (wrudde)
r) The write ladder sends all tokens coming from the prediction adder to the lead ladder. In addition, it is the MPEG I or P
All data blocks in the picture; Since all data blocks in the DRAM interface are sent to the external frame store under the control of the address generator. Although the write-back data passes through a snooper en route to the DRAM interface, all the basic functionality is contained within one two-wire interface stage.

【1802】ライトラダーは以下のトークンをデコード
する:
[1802] The light ladder decodes the following tokens:

【1803】[1803]

【表234】 データトークンヘッダが検出された後、全てのデータバ
イトがDRAMインターフェースに出力される。データ
トークンの終わりは低くなるin extnによって検
出され、これはフラッシュ信号をDRAMインターフェ
ーススイングバッファに送るようにする。通常のオペレ
ーションでは、これはスイングバッファがとにかくスイ
ングするであろうポイントと整列するであろうが、デー
タトークンが64バイトのデータを含んでいなければ、
これはリカバリメカニズムを提供する(但し、次の2〜
3の出力ピクチャが不正確であるかもしれない)。
[Table 234] After the data token header is detected, all data bytes are output to the DRAM interface. The end of a data token is detected by a low inextn, which causes a flash signal to be sent to the DRAM interface swing buffer. In normal operation, this will be aligned with the point where the swing buffer will swing anyway, but if the data token does not contain 64 bytes of data,
This provides a recovery mechanism (however,
3 may be incorrect).

【1804】B.12.5.2 「リードラダー(rr
udder)」 本発明のリードラダーは次の3つの機能を持ち、主要な
2つの機能はMPEGにおけるピクチャシーケンス再配
置に関するものである: 1)外部フレーム記憶装置からリードバックされたデー
タを正しい位置でトークンストリームに挿入すること。
B. [1804] 12.5.2 "Lead ladder (rr
udder)] The read ladder of the present invention has the following three functions, two of which are mainly related to picture sequence rearrangement in MPEG: 1) Data read back from an external frame storage device is stored in a correct position. To be inserted into the token stream.

【1805】2)Iピクチャ及びPピクチャ内のピクチ
ャヘッダ情報を再配置すること。
2) Rearranging the picture header information in the I picture and the P picture.

【1806】3)フラッシュトークンを検出することに
より、トークンストリームの終わりを検出すること(セ
クション B.12.1「トップフォーク」を参照)。
3) Detect the end of the token stream by detecting the flush token (see Section B.12.1 “Top Fork”).

【1807】リードラダーの構造は図159に図示され
ている。全体のブロックは標準2線式インターフェース
技術から作られる。入力インターフェースラッチ内のト
ークンはデコードされ、これらのデコードはブロックオ
ペレーションを決定する:
The structure of the lead ladder is shown in FIG. The entire block is made from standard two-wire interface technology. The tokens in the input interface latch are decoded, and these decodes determine the block operation:

【1808】[1808]

【表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 forbidden unless the coding standard is MPEG, regardless of the state of the register. The same MPI register controls whether the address generator is generating a relocation address, and thus the relocation is an 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 standard sequence start picture start Temporal standard Picture type Picture including data token and other token Picture end . .・ Picture start ・. . . B. 12.5.2.1 Input Control Logic From power-up, all tokens go to FIFO1 (referred to as current input FIFO) until the first picture type token for an I or P picture is encountered. Next, FIFO2 becomes the current input FIFO and I
Alternatively, all inputs are directed to it until the next picture type for the P picture is encountered, and FIFO1 becomes the current input FIFO again. Within I and P pictures, all tokens between the picture type and picture end are discarded, except for data tokens. This prevents motion vectors from associating with the wrong picture in a relocated stream that would have no meaning.

【1809】3ビットコードがトークンストリームと共
にFIFOに挿入され、特定のトークンヘッダの存在を
指示する。これによりFIFOの出力に関するトークン
デコーディングを行う必要がなくなる。
A 3 bit code is inserted into 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.

【1810】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
ピクチャは再配置されず、如何なるトークンも捨てられ
ずに通り過ぎる。ピクチャエンドを含む最初のピクチャ
内の全てのトークンが捨てられる。
[1810] B. 12.5.2.2 Output Control Logic From power-up, until a picture start code is encountered, the token is accepted as FIFO1 (referred to as the current output FIFO), after which FIFO2 receives the current FIFO.
Becomes an IFO. Section B. In 12.5.2.1, at this stage, three picture header tokens, picture start, time standard, and picture start
It can be seen that it is held at 1. The current output FIFO is swapped each time a picture start code is encountered in an I or P frame. Thus, the three picture header tokens will be stored until the next I or P frame, and in the next I or P frame they will be associated with the correctly relocated data. B
The pictures are not rearranged and pass through without any tokens being discarded. All tokens in the first picture including the picture end are discarded.

【1811】I及びPピクチャの間に、トークンストリ
ームのデータトークンに含まれるデータはDRAMイン
ターフェースからの再配置されたデータで置き換えられ
る。最初のピクチャの間、「再配置された」データは再
配置されたデータ入力に存在する。なぜなら、アドレス
発生器がDRAMインターフェースにそれを引き出すよ
うに要請するからである。これはハッシュと考えられ、
捨てられる。
During the I and P pictures, the data contained in the data token of the token stream is replaced by the rearranged data from the DRAM interface. During the first picture, the "relocated" data is present in the relocated data input. This is because the address generator requests the DRAM interface to pull it out. This is considered a hash,
Discarded.

【1812】セクション B.13 「DRAMインタ
ーフェース」 B.13.1 「展望」 本発明では、空間デコーダ、時間デコーダ及びビデオフ
ォーマッティングは各々その特別なチップのためにDR
AMインターフェースブロックを具備する。3つ全ての
装置において、DRAMインターフェースの機能は、チ
ップからのデータを外部DRAMに伝送し、アドレス発
生器により供給されるブロックアドレスを介して、外部
DRAMからのデータをチップ内へと伝送することであ
る。
[1812] Section B. 13 "DRAM interface" 13.1 "Outlook" In the present invention, the spatial decoder, the temporal decoder and the video formatting each have a DR for their particular chip.
An AM interface block is provided. In all three devices, the function of the DRAM interface is to transfer data from the chip to the external DRAM and to transfer data from the external DRAM into the chip via block addresses provided by the address generator. It is.

【1813】典型的に、DRAMインターフェースはア
ドレス発生器、及びデータがそれを通って送られる様々
なブロックのクロックに非同期的であるクロックから操
作する。しかしながら、クロックはほぼ同じ周波数で操
作するので、この非同期化は容易に処理される。
Typically, the DRAM interface 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 approximately the same frequency.

【1814】通常、データはDRAMインターフェース
と64バイトのブロック内の残りのチップとの間に伝送
される(唯一の例外は、時間デコーダ内の予測データで
ある)。伝送は「スイングバッファ」として知られる装
置によって行われる。これは本質的にダブルバッファさ
れた配置において操作される一組のRAMであり、DR
AMインターフェースが1つのRAMを詰めるか空にし
ている間に、別のチップ部分が他のRAMを空にする
か、詰めている。アドレス発生器からアドレスを運ぶ別
のバスが各々のスイングバッファと連合する。
Normally, data is transmitted between the DRAM interface and the remaining chips in a 64-byte block (the only exception being the prediction data in the temporal decoder). The transmission is performed by a device known as a "swing buffer". This is essentially a set of RAMs operating in a double buffered configuration,
While the AM interface is packing or emptying one RAM, another chip portion is emptying or packing another RAM. A separate bus carrying addresses from the address generator is associated with each swing buffer.

【1815】各チップは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, and the functions of these swing buffers are different in each case. In the spatial decoder, the coded data is
M, one swing buffer is used to transfer the encoded data from the DRAM, and another swing buffer is used to read the encoded data from the DRAM.
A third swing buffer for transmitting to
A fourth swing buffer is used to read the tokenized data from RAM. In a temporal decoder,
Intra or predicted picture data in DRAM
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 the DRAM, and the other three are used to read data from the DRAM, each of which is a luminance (Y) and a red and blue color difference. Data (Cr and Cb, respectively). D
The operation of the general features of the RAM interface is described in the spatial decoder documentation. The next section describes features specific to the temporal decoder.

【1816】B.13.2 「時間デコーダDRAMイ
ンターフェース」 セクション B.13.1で述べたように、時間デコー
ダは4つのスイングバッファを持ち:2つはデコード化
イントラ及び予測化(I及びP)ピクチャデータをリー
ド/ライトするために使用され、これらは上述したよう
に操作する。他の2つは予測データを引き出すために使
用される。
B. [1816] 13.2 "Time Decoder DRAM Interface" Section B. As described in 13.1, the temporal decoder has four swing buffers: two are used to read / write decoded intra and predicted (I and P) picture data, which are as described above. To operate. The other two are used to derive prediction data.

【1817】一般に、予測データはx及びyにおける
モーションベクトルによって指定され処理されてい
ブロックの位,置からオフセットしている。このよう
に、引き出されるべきデータブロックは一般にそれがエ
ンコードされた(そしてDRAMに書き込まれた)よう
にデータのブロック境界に対応してはいないであろう。
これは図160に図示しているが、陰領域は形成されつ
つあるブロックを表している。点線の輪郭はそこからそ
れが予測されているブロックを示す。アドレス発生器は
大きな矢印で示すように、ブロックオフセット(ブロッ
クの全数)に対するモーションベクトルによって指定さ
れるアドレスを変換し、小さな矢印で示すように、ピク
セルオフセットに対するモーションベクトルによって指
定されるアドレスを変換する。
[1817] In general, prediction data, position of Tei Ru block is processed as specified by motion vectors in x and y, it is placed al offset. Thus, the data block to be retrieved will generally not correspond to a block boundary of data as it was encoded (and written to DRAM).
This is illustrated in FIG. 160, where the shaded area represents the block being formed. The dotted outline indicates the block from which it is predicted. The address generator translates the address specified by the motion vector for the block offset (total number of blocks) as indicated by the large arrow and the address specified by the motion vector for the pixel offset as indicated by the small arrow. .

【1818】アドレス発生器において、フレームポイン
タ、ベースブロックアドレス、及びベクトルオフセット
は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 derived from DRAM. If the pixel offset is 0, only one request is issued. If there is an offset in either the x or y dimension, two requests are issued-the original block address and either immediately right or directly below. x and y
If both have offsets, four requests are issued. For each block to be derived, 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 better illustrated by example, as outlined below.

【1819】図161において陰領域で示すように、
(1、1)のピクセルオフセットを考えてみよう。アド
レス発生器は、図においてAからDのラベルが貼られた
4つのリクエストをする。解決すべき問題は求められる
ローアドレスのシーケンスを如何にすばやく提供するか
である。解決法は「スタート/ストップ」技術を使用す
ることであり、これについて説明する。
As shown by the shaded area in FIG.
Consider the (1,1) pixel offset. The address generator makes four requests labeled A through 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.

【1820】図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のアド
レスシーケンスが生成される。
Consider block A in FIG. The reading starts at position (1, 1) and at position (7,
It must end in 7). For a moment, assume that one byte is 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 three MSs.
Form B. The start values of x and y are both 1, giving 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 one 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 have reached their stop values. Thus, 9, 10, 11, 12, 1
3, 14, 15, 17,. . . 23, 25,. . . , 3
1, 33,. . . ,. . . , 57,. . . , 63 are generated.

【1821】同様にして、ブロック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).

【1822】次の問題はこのデータをどこに書くべきか
ということである。明らかに、ブロックAを見ると、ア
ドレス9から読まれるデータはスイングバッファのアド
レス0に書かれるべきであり、アドレス10から読まれ
るデータはスイングバッファのアドレス15に書かれる
べきである等である。同様に、ブロックBのアドレス8
から読まれるデータはスイングバッファのアドレス15
に書かれるべきであり、アドレス16から読まれるデー
タはスイングバッファのアドレス15に書かれるべきで
ある。この機能は下記に概略するように、非常に簡単な
実行であることが解る。
The next question 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
Data read from address 15 of the swing buffer
And the data read from address 16 should be written to address 15 of the swing buffer. This function proves to be a very simple implementation, as outlined below.

【1823】ブロックAを考えてみよう。リーディング
のスタートにおいて、スイングバッファアドレスレジス
タには、ストップバリューの逆がロードされ、y逆スト
ップバリューは3つのMSBを形成し、x逆ストップバ
リューは3つのLSBを形成する。この場合、DRAM
インターフェースが外部DRAM内のアドレス9を読ん
でいる間、スイングバッファアドレスは0である。その
後、外部DRAMアドレスレジスタが増分されるにつれ
て、表236に図示するように、スイングバッファアド
レスレジスタが増分される:
Consider block A. At the start of reading, the swing buffer address register is opposite a stop value is loaded, y inverse stop value forms the three MSB, x inverse stop value forms the three LSB. In this case, DRAM
The swing buffer address is 0 while the interface is reading address 9 in the external DRAM. Thereafter, as the external DRAM address register is incremented, the swing buffer address register is incremented, as shown in Table 236:

【1824】[1824]

【表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 on an 8-bit DRAM interface. For a 16 or 32 bit interface, 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. Next, the unwanted data must be discarded. This is accomplished by writing all the data to the swing buffer (which must now be physically larger than needed for the 8-bit case) 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 proper start and stop addresses, and some additional logic in the DRAM interface is used, but there is no fundamental change in the way the DRAM interface operates.

【1825】時間デコーダDRAMインターフェースに
関して注意すべき最後のポイントは、データに関してど
のようなプロセシングが求められているかを指示するた
め、予測フィルタに追加情報を提供しなければならない
ことである。これには次の点が含まれる: ・(64、72または81バイトの)伝送の最後のバイ
トを指示する「最後のバイト」信号 ・H.261フラグ ・二方向性の予測フラグ ・ブロックの次元を指示する2ビット(x及びyにおけ
る8または9バイト) ・ブロックのオーダーを指示するための2ビットのナン
バー 最後のバイトフラグはデータがスイングバッファから読
まれる時に生成される。他の信号はアドレス発生器から
引き出され、予測フィルタブロックによってスイングバ
ッファから読まれるにつれて、それらが正しいデータブ
ロックと連合するように、DRAMインターフェースを
通してパイプ接続される。
The last thing to note about the temporal decoder DRAM interface is that additional information must be provided to the prediction filter to indicate what processing is required for the data. This includes: a "last byte" signal indicating the last byte of the transmission (of 64, 72 or 81 bytes); 261 flag Bidirectional prediction flag 2 bits indicating the dimension of the block (8 or 9 bytes in x and y) 2 bit number indicating the order of the block The last byte flag indicates that the data is a swing buffer. Generated when read from. Other signals are derived from the address generator and piped through the DRAM interface as they are read from the swing buffer by the predictive filter block so that they associate with the correct data block.

【1826】セクション B.14 「UPI文書化」 B.14.1 「序文」 本文書は本発明によるマイクロプロセッサインターフェ
ースのオペレーションの正しい認識を読者に与えること
を目的とする。インターフェースは基本的に空間デコー
ダ及び時間デコーダに関するものと同じであり、唯一の
違いはアドレスラインの数である。
[1826] Section B. 14 "UPI documentation" 14.1 Introduction This document is intended to give the reader a proper understanding of the operation of a microprocessor interface according to the present invention. The interface is basically the same as for the spatial and temporal decoders, the only difference being the number of address lines.

【1827】ここに記載されるロジックは純粋にマイク
ロプロセッサ内部ロジックである。関連概略図は以下の
通りである: UPI UPI101 UPI102 DINLOGIC DINCELL UPIN TDET MONOVRLP WRTGEN READGEN VREFCKT 回路UPI、UPI101、UPI102は、UPI0
1が7ビットのアドレス入力を持ち、8番目のビットが
大地にハードワイヤードされる一方、他の2つが8ビッ
トのアドレス入力を持つこと以外は総て同じである。 入力/出力信号 ここで説明する信号は(UPIに関して定義された)U
PIモジュールに対する全ての入力及び出力のリストで
あり、これらの信号のソースもしくは目的地を詳細に記
す注を付記している:NOTRSTInputGlob
alチップリセット、活性低、パッド入力ドライバか
ら。
The logic described here is purely microprocessor internal logic. The related schematics are as follows: UPI UPI101 UPI102 DINLOGIC DINELL UPIN TDET MONOVRLP WRTGEN READGEN VREFCKT Circuit UPI, UPI101, UPI102 are UPI0
All are the same except that one has a 7-bit address input and the eighth 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 a note detailing the source or destination of these signals: NOTRSTInputGlob
From al chip reset, active low, pad input driver.

【1828】E1InputEnable信号1、活性
低、パッド入力ドライバから(Schmitt)。
E1InputEnable signal 1, active low, from pad input driver (Schmitt).

【1829】E2InputEnable信号2、活性
低、パッド入力ドライバから(Schmitt)。
E2InputEnable signal 2, active low, from pad input driver (Schmitt).

【1830】RNOTWInputRead not
Write信号、パッド入力ドライバから(Schmi
tt)。
[1830] RNOTWInputRead not
Write signal from the pad input driver (Schmi
tt).

【1831】ADDRIN[7:0]InputAdd
ress bus信号、パッド入力ドライバから(Sc
hmitt)。
[1831] ADDRIN [7: 0] InputAdd
less bus signal from the pad input driver (Sc
hmitt).

【1832】NOTDIN[7:0]InputInp
ut data bus、二方向性マイクロプロセッサ
データピンの入力パッドドライバから(TTLin)。
[1832] NOTDIN [7: 0] InputInp
out data bus, from the input pad driver of the bidirectional microprocessor data pin (TTLin).

【1833】INT RNOTWOutputThe
Read not Write信号、マイクロプロセッ
サインターフェースによりアクセスされる内部回路へ
(メモリーマップ参照)。
[1833] INT RNOTWOutputThe
Read not Write signal to internal circuitry accessed by the microprocessor interface (see memory map).

【1834】INT ADDR[7:0]Output
The Internal Address Bus、
マイクロプロセッサインターフェースによりアクセスさ
れる全ての回路へ(メモリーマップ参照)。
[1834] INT ADDR [7: 0] Output
The Internal Address Bus,
To all circuits accessed by the microprocessor interface (see memory map).

【1835】INTDBUS[7:0]Input/O
utputThe Internal Data bu
s、マイクロプロセッサインターフェースによりアクセ
スされる全ての回路へ(メモリーマップ参照)及びマイ
クロプロセッサデータ出力パッドへ。内部データバスは
チップのピン上のデータと逆であるデータを伝送する。
[1835] INTDBUS [7: 0] Input / O
inputThe Internal Data bu
s, to all circuits accessed by the microprocessor interface (see memory map) and to the microprocessor data output pad. The internal data bus carries data that is the reverse of the data on the pins of the chip.

【1836】READ STROutputAnはデバ
イスメモリーマップ内のロケーションの読み取りを指示
する内部タイミング信号である。
[1590] READ STROutputAn is an internal timing signal that directs the reading of a location in the device memory map.

【1837】WRITE STROutputAnは内
部メモリーマップ内のロケーションの書き込みを指示す
る内部信号である。
[1837] WRITE STROutputAn is an internal signal instructing writing of a location in the internal memory map.

【1838】TRISTATEDPADOutputA
nはそれらがトライステートであるべきことを指示する
マイクロプロセッサデータ出力パッドに接続する内部信
号である。 一般的なコメント:UPI概略図は6個の小さなモジュ
ールで構成される:NONOVRLP、UPIN、DI
NLOGIC、VREFCKT、READGEN、WR
TGEN。信号の全体的なリストから注意すべきこと
は、チップ上の他の全てのタイミング信号と同期するマ
イクロプロセッサバスタイミング信号以外のマイクロプ
ロセッサインターフェースと連合するクロック信号はな
いということである。従って、マイクロプロセッサのオ
ペレーション、及び外部制御により強制することができ
るもの以外の残りのデバイスのオペレーションとの間
に、如何なるタイミング関係も仮定されるべきではな
い。例えば、テストシステム上でのマイクロプロセッサ
インターフェースへのアクセシングに対して、外部シス
テムクロックのストッピング。
[1838] TRISTATEDDPOutputA
n is an internal signal connected to the microprocessor data output pad indicating that they should be tri-stated. General Comments: The UPI schematic consists of six small modules: NONOVRLP, UPIN, DI
NLOGIC, VREFCKT, READGEN, WR
TGEN. It should be noted from the overall list of signals that there is no clock signal associated with the microprocessor interface other than the microprocessor bus timing signals that are synchronized with all other timing signals on the chip. Therefore, no timing relationships should be assumed between the operation of the microprocessor and the operation of the remaining devices, other than those that can be forced by external control. For example, stopping the external system clock for accessing the microprocessor interface on the test system.

【1839】UPIにおいてクロックを持たない他の密
接な関係は、幾つかの内部タイミングがセルフタイムで
あることである。つまり、ある信号のディレイはUPI
ブロックに対して内部的に制御される。
Another close relationship without clocks in UPI is that some internal timing is self-timed. In other words, the delay of a signal is UPI
Controlled internally for the block.

【1840】UPIの全体的な機能は、外部世界からア
ドレス、データ、イネーブル、及びリード/ライト信号
を取り、それらが内部回路を正しく動かすことができる
ようにそれらをフォーマットすることである。メモリー
マップに対するアクセスを定義する内部信号は、INT
RNOTW INT ADDR[...]、INTD
BUS[...]、及びREAD STRとWRITE
STRである。これらの信号のタイミング関係は、リ
ードサイクルとライトサイクル用に下記に示す。データ
シート定義及び下記の線図は常にチップイネーブルサイ
クルを示しているが、回路オペレーションはイネーブル
が低く保持され、アドレスは連続的リードまたはライト
オペレーションを行うために循環され得るようになって
いることに注意すべきである。この機能はアドレス遷移
回路の故に可能である。
The overall function of UPI is to take address, data, enable, and read / write signals from the outside world and format them so that they can properly operate internal circuits. 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 relationship between these signals is shown below for a read cycle and a write cycle. Although the data sheet definitions and the diagrams below always show the chip enable cycle, circuit operations are held low enabled and addresses can be cycled to perform a continuous read or write operation. You should be careful. This function is possible because of the address transition circuit.

【1841】更に、INT RNOTW及びREAD
STR、WRITE STRの存在は幾らかの冗長度を
反映している。それは内部回路が別々のREAD ST
RとWRITE STRのいずれかを使用する(そして
INT RNOTWを無視する)、あるいはINT R
NOTWと別個のストローブ信号(ストローブ信号はR
EAD STR及びWRITE STRのORから引き
出される)を使用することができるようにする。
[1841] Further, INT RNOTW and READ
The presence of STR, WRITE STR reflects some redundancy. It is a separate READ ST
Use either R or WRITE STR (and ignore INT RNOTW) or INT R
NOTW and a separate strobe signal (strobe signal is R
(Derived from the OR of EAD STR and WRITE STR).

【1842】内部データバスはリードサイクルの間高く
プレチャージされ、それは更に内部データバスが駆動さ
れていない時、延長された期間の間、0XFF状態にデ
ィフォルトするように抵抗型プルアップを持つ。内部デ
ータバスはピン上のデータの逆であるので、これはそれ
らが可能化される時、外部ピン上の0x00に翻訳す
る。これは、メモリーマップ内のホールであるレジスタ
もしくはレジスタのビットに外部サイクルがアクセスす
る場合、出力データは限定され、Lowであることを意
味する。
The internal data bus is precharged high during a read cycle, and it further has a resistive pull-up to default to the 0XFF state for an extended period when the internal data bus is not driven. This translates to 0x00 on the external pins when they are enabled, since 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.

【1843】回路の詳細: UPIN −この回路は全体的な変化検出ブロックであ
る。それは1ビットの変化検出回路であるTDETと呼
ばれるサブ回路を含む。UPINは各アドレスビットの
ためにTDETモジュールを、そして各々のイネーブル
信号のためにrnotwを持つ。UPINは更に、変化
検出回路の出力を共にゲートするためにある種の結合ロ
ジックを含む。このゲーティングは以下の信号を発生さ
せる: TRAN− 入力信号の1つへの遷移を指示する、そし
て UPD DONE− 遷移が完了し、サイクルが実行さ
れ得ることを指示する。
Circuit Details: UPIN-This circuit is the overall change detection block. It includes a sub-circuit called TDET which is a 1-bit change detection circuit. UPIN has a TDET module for each address bit and rnoww for each enable signal. UPIN also includes some combination logic to gate the outputs of the change detection circuit together. This gating generates the following signals: TRAN--indicates a transition to one of the input signals, and UPD DONE--indicates that the transition is complete and the cycle can be performed.

【1844】CHIP EN− チップが選択されたこ
とを指示する。
1844 CHIP EN--Indicates that a chip has been selected.

【1845】TDET− これは1ビット変化検出回路である。2つのラッチと2
つの専用ORゲートから成る。第1のラッチは信号SA
MPLEによってクロックされ、第2のラッチは信号U
PDATEによってクロックされる。これら2つのノン
オーバーラッピング信号はモジュールNONOVRLP
から来る。一般的なオペレーションは入力遷移がCHA
NGEを生じさせ、次にそれがSAMPLEを生じさせ
るように行われる。SAMPLEがHIGHの間に全て
の入力変化がアクセプトされ、入力変化が止まる時に、
CHANGEがLOWになり、SAMPLEがLOWに
なり、それはUPDATEをHIGHにし、それは次に
データを出力ラッチに伝送し、UPD DONEを指示
する。
1845-TDET- This is a one bit change detection circuit. Two latches and two
Consists of two dedicated OR gates. The first latch is the signal SA
Clocked by MPLE, the second latch
Clocked by PDATE. These two non-overlapping signals are connected to the module NONOVRLP
come from. The general operation is that the input transition is CHA
NGE is generated, which is then performed to generate SAMPLE. When all input changes are accepted while SAMPLE is HIGH and input changes stop,
CHANGE goes LOW , SAMPLE goes LOW, which causes UPDATE to go HIGH , which in turn transmits data to the output latch, indicating UPD DONE.

【1846】NONOVRLP− この回路は基本的に、TRANを入力し、SMAPLE
とUPDATEを発生させるノンオーバーラッピングク
ロック発生器である。UPDATEの出力上の外部ゲー
ティングはライトパルスが完了してしまうまで、UPD
ATEがHIGHになるのを停止させる。
[1846] NONOVRLP- This circuit basically inputs TRAN,
And a non-overlapping clock generator for generating UPDATE. External gating on the output of UPDATE means that the
Stop ATE from going high .

【1847】DINLOGIC− このモジュールはデータ入力回路DINCELLの8段
階と、TRISTATEPAD信号を駆動させる幾つか
のゲーティングで構成される。これは出力データポート
かEnablelがLOWであり、Enable2が
OWであり、RnotWがHIGHであり、内部rea
d strがHIGHの場合にのみ駆動するであろうこ
とを指示する。
DINLOGIC-This module consists of eight stages of the data input circuit DINCELL and some gating to drive the TRISTATEPAD signal. This is because the output data port or Enable is LOW and Enable2 is L
OW , RnotW is HIGH , internal read
Indicates that it will only drive if dstr is HIGH .

【1848】DINCELL− この回路はデータ入力ラッチと内部データバスを駆動さ
せるトライステートドライバから成る。信号DATAH
OLDがHIGHであり、EnablelとEnab1
e2の両方がLOWである時に、入力パッドからのデー
タがラッチされる。トライステートドライバは内部信号
INT RNOTWがLOWである時にはいつでも、内
部データバスを駆動する。内部データバスはトランジス
タをプレチャージし、バスプルアップもこのモジュール
に含まれる。
DINCELL- This circuit consists of a data input latch and a tri-state driver for driving the internal data bus. Signal DATAH
OLD is HIGH, Enable and Enable1
When both e2 are LOW, data from the input pad is latched. The tri-state driver drives the internal data bus whenever the internal signal INT RNOTW is LOW . An internal data bus precharges the transistors, and a bus pull-up is also included in this module.

【1849】WRTGEN−このモジュールはWRIT
E STRと、データラッチのためにラッチ信号DAT
AHOLDを発生させる。ライトストローブはセルフタ
イム信号であるが、セルフタイムディレイはVREFC
KTにおいて定義される。タイミング回路RESETW
RITEからの出力はWRITE STR信号を終了さ
せるために使用される。レジスタに書き込む実際のライ
トパルスはアクセスサイクルが終わった後にのみ生じる
ことに注意すべきである。これはチップに対するデータ
入力がサイクルのバックエッジの上でのみサンプルされ
るからである。従って、データは通常のアクセスサイク
ルが終了した後でのみ有効である。
[1849] WRTGEN-This module is a WRIT
E STR and a latch signal DAT for data latch
Generate AHOLD. The write strobe is a self-time signal, but the self-time delay is VREFC
Defined in KT. Timing circuit RESETW
The output from RITE is used to terminate the WRITE STR signal. Note that the actual write pulse writing to the register only occurs after the end of the access cycle. This is because the data input to the chip is sampled only on the back edge of the cycle. Therefore, the data is valid only after the normal access cycle ends.

【1850】READGEN−この回路は、その名前が
示す通り、READ STRを発生させ、更に、内部デ
ータバスをプレチャージするために使用されるPREC
H信号を発生させる。PRECH信号もセルフタイム信
号であり、その期間はVREFCKT、及び内部データ
バスの電圧に依存する。READ STRはセルフタイ
ムではないが、プレチャージ期間の終わりからサイクル
の終わりまで続く。プレチャージ回路はインバータを使
用するが、その伝送特徴はそれらが逆相にする前に供給
電圧のほぼ75%の電圧を必要とするように、バイアス
される。この回路はREAD STRが始まる前に、内
部バスが正しくプレチャージされることを保証する。内
部バスが既にプレチャージされている場合、ゼロ幅にな
る傾向があるPRECHパルスを停止させるために、タ
イミング回路は信号RESETREADを介して、最低
の幅を保証する。
READGEN-This circuit, as the name implies, generates a READ STR and also PREC which is used to precharge the internal data bus.
Generate an H signal. The PRECH signal is also a self-time signal, and its period depends on VREFCKT and the voltage of the internal data bus. READ STR is not self-timed, but lasts from the end of the precharge period to the end of the cycle. The precharge circuits use inverters, but their transmission features are biased such that they require approximately 75% of the supply voltage before going out of phase. This circuit ensures that the internal bus is properly precharged before the READ STR begins. If the internal bus is already precharged, the timing circuit guarantees a minimum width via the signal RESETREAD to stop PRECH pulses that tend to be zero width.

【1851】VREFCKT−VREFCKTはインタ
ーフェースのセルフタイミングを制御する唯一の回路で
ある。両ディレイ、WRITE STRの1/Widt
h及びPRECHの2/WidthはPトランジスタを
通る電流によって制御される。このPトランジスタのゲ
ートは信号VREFによって制御され、この電圧は25
kΩの拡散型トランジスタによって設定される。
[1851] VREFCKT-VREFCKT is the only circuit that controls the self-timing of the interface. Both delays, 1 / Widt of WRITE STR
The 2 / Width of h and PRECH is controlled by the current through the P transistor. The gate of this P-transistor is controlled by the signal VREF,
It is set by a diffusion transistor of kΩ.

【1852】セクションC.1 「展望」 C.1.1 「序文」 本発明によるイメージフォーマッティング部の構造を図
164に示す。1つはライティング用、1つはリーディ
ング用に2個のアドレス発生器、2個のアドレス発生器
を管理し、フレーム率変換を提供するバッファマネージ
ャ、垂直及び水平のアンサンプラを含むデータプロセシ
ングパイプライン、色空間変換及びガンマ補正、そして
プロセシングパイプラインの出力を調整する最終制御ブ
ロックがある。
[1852] Section C. 1 "Prospects" 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 the two address generators and provides frame rate conversion, and a data processing pipeline that includes vertical and horizontal unsamplers. There is a final control block that adjusts the output of the color space conversion and gamma correction, and the processing pipeline.

【1853】C.1.2 「バッファマネージャ」 イメージフォーマッティング部の入力に到達するトーク
ンはFIFOにおいて緩衝され、バッファマネージャに
伝送される。このブロックは新しいピクチャの到着を検
出し、各ピクチャを記憶するべきバッファの利用可能性
を判断する。利用できるバッファがあれば、それが到着
するピクチャに割り当てられ、そのインデックスがライ
トアドレス発生器に伝送される。利用できるバッファが
なければ、入ってくるピクチャはいずれかのバッファが
利用できるようになるまでストールされる。全てのトー
クンはライトアドレス発生器に送られる。
[1853] C.I. 1.2 "Buffer Manager" Tokens arriving at the input of the image formatting unit are buffered in the FIFO and transmitted to the buffer manager. This block detects the arrival of new pictures and determines the availability of a buffer to store each picture. If a buffer is available, it is assigned to the arriving picture and its index is transmitted to the write address generator. If no buffer is available, the incoming picture will be stalled until any buffer becomes available. All tokens are sent to the write address generator.

【1854】リードアドレス発生器が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 if the picture is deemed ready for display, the buffer's index 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. 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 (number of presentations) given the encoding frame rate, the picture is ready for display. I have. The expected number is determined by counting the picture clock pulses, in which case the picture clock can be generated locally by a clock distributor or externally. This technique allows for frame rate conversion (eg, 2-3 pulldown).

【1855】外部DRAMはバッファのために使用さ
れ、その数は2個であっても3個であってもよい。フレ
ーム率変換が行われることになっている場合は3個必要
である。
An external DRAM is used for the buffer, and the number may be two or three. If frame rate conversion is to be performed, three are required.

【1856】C.1.3 「ライトアドレス発生器」 ライトアドレス発生器はバッファマネージャからトーク
ンを受け取り、各々の新しいデータトークンの到着を検
出する。各データトークンが到着するにつれて、アドレ
ス発生器は到着するブロックを記憶するためのDRAM
インターフェース用に新しいアドレスを計算する。生の
データはその後DRAMインターフェースに送られ、そ
こでスイングバッファに書き込まれる。DRAMアドレ
スはブロックアドレス、及びDRAM内のピクチャまた
はブロックのラスターとして組織されるピクチャであ
る。しかしながら、入ってくるピクチャデータは実際に
組織化されるマイクロプロセッサのシーケンスであるの
で、アドレス発生アルゴリスムはマイクロプロセッサ内
のブロックの下位ローのための(ブロック内)ライン幅
オフセットを考慮しなければならない。
[1856] C.I. 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 uses 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. A DRAM address is a block address and a picture organized as a raster of pictures or blocks in the DRAM. However, since the incoming picture data is actually a sequence of microprocessors organized, the address generation algorithm must account for (intra-block) line width offsets for the lower rows of the blocks in the microprocessor. .

【1857】バッファマネージャにより提供される到着
バッファインデックスは記憶されるピクチャ全体のため
にアドレスオフセットとして使用される。更に、各成分
は指定されたバッファ内の別のエリアに記憶されるの
で、成分オフセットは計算の中でも使用される。
The arrival buffer index provided by the buffer manager is used as an address offset for the entire stored picture. In addition, component offsets are used in the calculations as each component is stored in a separate area in the designated buffer.

【1858】C.1.4 「リードアドレス発生器」 リードアドレス発生器(dispaddr)はトークン
の受取及び発生を行わず、アドレスだけを発生させる。
VSYNCに答え、アドレス発生器はfield in
fo、read start、sync mode、及
びlsb invertに応じて、バッファマネージャ
からのバッファインデックスを要請する。インデックス
を受け取ると、3セットのアドレス、各成分用に、ラス
ターオーダーで読み込まれる現在のピクチャ用に1つづ
つのアドレスを発生させる。異なるセットアップは:イ
ンターレース/順送り型ディスプレイ、及び/もしくは
垂直のアンサンプリング、及び(インターレースディス
プレイに対する)フィールド同期化を可能にする。下位
レベルでは、リードアドレス発生器はベースアドレスを
ブロックアドレス、及びDRAMのページ構造と互換性
のある3つの成分の各々のためのバイトカウントのシー
ケンスに変換する。DRAMインターフェースに提供さ
れるアドレスはブロックスタート及びブロックエンドカ
ウントと共にページ及びラインアドレスである。
[1858] C.I. 1.4 "Read Address Generator" The read address generator (dispaddr) does not receive and generate tokens, but only generates addresses.
Answer VSYNC and the address generator will use field in
A buffer index is requested from the buffer manager according to fo, read start, sync mode, and lsb invert. Upon receiving the index, three sets of addresses are generated, one for each component, one for the current picture read in raster order. The different setups allow: interlaced / progressive displays, 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 that are compatible with the page structure of the DRAM. The addresses provided to the DRAM interface are page and line addresses along with block start and block end counts.

【1859】C.1.5 「出力パイプライン」 DRAMインターフェースからのデータは出力パイプラ
インに供給される。3つの成分ストリームはまず垂直に
補間され、次に水平に補間される。補間の後、3つの成
分は等しい割合(4:4:4)になっていなければなら
ず、色空間変換器及び色ルックアップ表/ガンマ補正に
送られる。出力インターフェースはディスプレイがHS
YSCに達するまでこの時点でストリームを保持するこ
とができる。その後、出力コントローラは3つの成分を
必要に応じて多重送信し、1つ、2つまたは3つの8ビ
ットバスに向ける。
[1859] C.I. 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 proportions (4: 4: 4) and sent to a color space converter and color look-up table / gamma correction. Output interface is HS
At this point the stream can be held 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.

【1860】C.1.6 「タイミング様式」 基本的に、イメージフォーマッティング部と連合する2
つの主要なタイミング様式がある。第1に、チップのフ
ロントエンド(アドレス発生器及びバッファマネージ
ャ、プラスDRAMインターフェースのフロントエン
ド)のためにタイミングを提供するシステムクロックが
ある。第2に、バックエンド(DRAMインターフェー
ス出力、及び出力パイプライン全体)のために全てのタ
イミングを駆動させるピクセルクロックがある。
[1860] C.I. 1.6 “Timing style” Basically associated with the image formatting unit 2
There are three main timing styles. First, there is a system clock that provides timing for the front end of the chip (address generator and buffer manager, plus the front end of the DRAM interface). Second, there is a pixel clock that drives all timing for the back end (DRAM interface output, and the entire output pipeline).

【1861】2つの前述のクロックの各々は多くのオン
チップクロック発生器を駆動させる。FIFO、バッフ
ァマネージャ、及びリードアドレス発生器は同じクロッ
ク(DΦ)から操作し、ライトアドレス発生器は同様
の、しかし別個のクロック(WΦ)を用いる。データは
内部DRAMインターフェースクロック(outΦ)上
のDRAMインターフェースにクロックされる。DΦ、
WΦ、及びoutΦは全てsyscikから発生され
る。
[1861] Each of the two aforementioned clocks drives a number of 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 into the DRAM interface on the internal DRAM interface clock (outΦ). DΦ,
WΦ and outΦ are all generated from syscik.

【1862】リード及びライトアドレスはDRAMイン
ターフェース自体のクロックによってDRAMインター
フェースにクロックされる。
The read and write addresses are clocked into the DRAM interface by the clock of the DRAM interface itself.

【1863】データはbifRΦ上のDRAMインター
フェースから読み出され、NEΦによって表示されるク
ロック上で操作する、bushy ne(その物理的ロ
ケーションの故に、ノースイースト)と呼ばれる出力パ
イプラインのセクションに伝送される。前方のガンマR
AMからのパイプラインセクションは別ではあるが類似
したクロック(RΦ)上でクロックされる。bifR
Φ、NEΦ、RΦは全てピクセルクロック、pixin
から引き出される。
Data is read from the DRAM interface on bifRΦ and transmitted to a section of the output pipeline called bushy ne (north east because of its physical location) that operates on the clock represented by NEΦ. . Forward gamma R
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.

【1864】テストのため、ブロック間の主要なインタ
ーフェースの全ては付属のスノーパもしくはスーパース
ノーパの何れかを持っている。これはタイミング様式と
必要なアクセスのタイプに依存する。別個ではあるが類
似したタイミング様式間のブロック境界はそれに連合す
るリタイミングラッチを持っている。
For testing, all of the major interfaces between the blocks have either an attached snooper or a super snooper. This depends on the timing scheme and the type of access required. Block boundaries between separate but similar timing modalities have associated retiming latches.

【1865】セクションC.2 「バッファ管理」 C.2.1 「序文」 本発明によるバッファ管理ブロックの目的は、ピクチャ
データのライティング及びリーディング用に2つか3つ
の外部バッファを特定するインデックスをアドレス発生
器に供給することである。これらのインデックスの割当
ては、各々がオペレーションにおいてタイミング様式の
1つの影響を表す3つの主要な要素により影響される。
これらはピクチャデータがイメージフォーマッティング
部への入力に到着する率(コード化データ率)、データ
が表示される率(表示データ率)、及びエンコード化ビ
デオシーケンスのフレーム率(提示率)である。
[1865] Section C. 2 "Buffer management" 2.1 Introduction The purpose of the buffer management block according to the present invention is to provide an index to the address generator specifying two or three external buffers for writing and reading of picture data. The assignment of these indices is affected by three major factors, each representing one impact of the timing modality in operation.
These are the rate at which picture data arrives at the input to the image formatting unit (coded data rate), the rate at which data is displayed (display data rate), and the frame rate of the encoded video sequence (presentation rate).

【1866】C.2.2 「機能的展望」 3バッファシステムは、システムのタイミング束縛があ
るとすれば、最善の可能なフレームシーケンスを達成す
るために、フレームが必要に応じて繰り返されるかスキ
ップされるように、提示率及び表示率が異なる(例え
ば、2−3プルダウン)ようにできる。ピクチャがデコ
ードするため利用可能な表示時間より長くかかる場合、
他の全てが「キャッチアップ」する間、前のフレームが
繰り返されるように、デコーディングにおける困難さを
表すピクチャを同じような方法で収容することができ
る。2バッファシステムでは、3つのタイミング様式が
ロックされなければならない−それはスラックを処理す
るためのフレキシビリティを提供する第3のバッファで
ある。
[1866] C.I. 2.2 “Functional Perspective” The three-buffer system, given the timing constraints of the system, ensures that frames are repeated or skipped as needed to achieve the best possible frame sequence. The presentation rate and the display rate can be different (for example, 2-3 pull-down). If the picture takes longer than the available display time to decode,
Pictures representing difficulties in decoding can be accommodated in a similar manner so that previous frames are repeated while all others "catch up". In a two-buffer system, three timing modalities must be locked-a third buffer that provides flexibility to handle slack.

【1867】バッファマネージャは各々の外部バッファ
と連合する特定のステータス情報を維持することにより
操作する。これはバッファが使用中であるか、バッファ
にデータが一杯詰まっているか、あるいは表示の準備が
できているかを指示するフラグ、またバッファにおいて
現在記憶されているピクチャシーケンス内のピクチャ数
を指示するフラグを含む。提示数も記録されるが、これ
はピクチャクロックパルスが受け取られる度に増分する
数であり、エンコード化シーケンスのフレーム率に基づ
いて表示されることが現在予測されているピクチャ数を
表す。
The buffer manager operates by maintaining specific status information associated with each external buffer. This is a flag that indicates whether the buffer is busy, full, or ready for display, and a flag that indicates the number of pictures in the picture sequence currently stored in the buffer. including. A presentation count is also recorded, which increments each time a picture clock pulse is received, and represents the number of pictures currently expected to be displayed based on the frame rate of the encoded sequence.

【1868】アライバルバッファ(入ってくるデータが
書き込まれるバッファ)は、ピクチャスタートトークン
が入力において検出される度に割り当てられる。このバ
ッファにはその後IN USEのフラグが付けられる。
ピクチャエンドに達すると、アライバルバッファは割当
から外され(0にリセットされ)、ピクチャ数と提示数
の間の関係に応じて、FULLもしくはREADYのフ
ラグが付けられるバッファとなる。
An arrival buffer (a 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 IN USE.
When the picture end is reached, the arrival buffer is deallocated (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.

【1869】ディスプレイアドレス発生器は、2線式イ
ンターフェースを介して、vsyncの度に一度、新し
いディスプレイバッファをリクエストする。READY
というフラグが付けられたバッファがあれば、それはバ
ッファマネージャによって表示されるために割り当てら
れるであろう。READYバッファがなければ、前に表
示されたバッファが繰り返される。
The display address generator requests a new display buffer via the two-wire interface once every vsync. READY
If any buffers are flagged, they will be allocated for display by the buffer manager. If there is no READY buffer, the previously displayed buffer is repeated.

【1870】提示数が変化する度に、それは検出され、
そのピクチャナンバーと提示数の間の関係を調べること
により、完全なピクチャを含むあらゆるバッファのRE
ADY−nessがテストされる。バッファは順番に考
慮される。あるバッファがREADYであると思われる
時、これは自動的に前にREADYというフラグが付け
られていたバッファのREADY−nessをキャンセ
ルする。その後、前のバッファにはEMPTYというフ
ラグが付けられる。後に考慮されるバッファにおいて、
割当計画によって後のピクチャ数が記憶されるので、こ
うしたことがうまく行く。
Each time the number of presentations changes, it is detected,
By examining the relationship between that picture number and the number of presentations, the RE of any buffer containing a complete picture
ADY-ness is tested. The buffers are considered in order. When a buffer appears to be READY, this automatically cancels the READY-ness of the buffer previously flagged as READY. Thereafter, the previous buffer is flagged as EMPTY. In the buffer to be considered later,
This works because the allocation plan stores the number of later pictures.

【1871】入力ストリーム内のスキップされたピクチ
ャが指示されると、H.261内の時間標準トークンが
バッファのピクチャ数を修正させる。しかしながら、こ
うした特徴は、企図されてはいるが、現在のところ含ま
れてはいない。同様に、MPEG内の時間標準も何の影
響も持たない。
When a skipped picture in the input stream is indicated, H.187 The time standard token in 261 causes the number of pictures in the buffer to be modified. However, such features, although contemplated, are not currently included. Similarly, the time standard in MPEG has no effect.

【1872】フラッシュトークンは全てのバッファがE
MPTYであるか、あるいはディスプレイバッファとし
て割り当てられるまで、入力をストールさせる。その
後、提示数とピクチャ数がリセットされ、新しいシーケ
ンスを始めることができる。
[1872] The flush token has all buffers E
Stall the input until it is MPTY or allocated as a display buffer. Thereafter, the number of presentations and the number of pictures are reset, and a new sequence can be started.

【1873】C.2.3 「アーキテクチュア C.2.3.1 「インターフェース」 C.2.3.1.1 「bm frontに対するイン
ターフェース」 全てのデータは入力FIFO、bm frontからバ
ッファマネージャに入力される。この伝送は2線式イン
ターフェースを介して行われ、データは8ビット幅プラ
ス拡張ビットである。バッファマネージャに到着する全
てのデータは完全なトークンであると保証される。これ
は提示数の連続プロセシング、及びデータストリーム内
に有効ギャップがある場合のディスプレイバッファリク
エストのための必要条件である。
[1873] C.1873. 2.3 "Architecture C.2.3.1 Interface" 2.3.1.1 "Interface to bm front" All data is input to the buffer manager from the input FIFO, bm front. This transmission takes place via a two-wire interface, the data being 8 bits wide plus extension bits. 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 is a valid gap in the data stream.

【1874】C.2.3.1.2 「waddrgen
に対するインターフェース」 トークン(8ビットデータ、1ビット拡張)は2線式イ
ンターフェースを介してライトアドレス発生器に伝送さ
れる。ピクチャスタートトークンがwaddrgenに
到着すると同時に、正しいインデックスがアドレス発生
器のために利用できるように、アライバルバッファイン
デックスも同じインターフェース上で伝送される。
[1874] C.1874 2.3.1.2 "Waddrgen"
The token (8-bit data, 1-bit extension) is transmitted to the write address generator via the 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.

【1875】C.2.3.1.3 「dispaddr
に対するインターフェース」 リードアドレス発生器へのインターフェースは、「リク
エスト」と「アクノレッジ」信号として各々行動すると
考えられる2つの別々の2線式インターフェースから成
る。しかしながら、いずれかの端にある2つの2線式ベ
ースのステートマシーンの故に、単線式は適当ではな
い。
[1875] C.1875. 2.3.1.3 "dispaddr"
Interface to the Read Address Generator The interface to the read address generator consists of two separate two-wire interfaces that are thought 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.

【1876】イベントのシーケンスは通常以下のように
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 the valid input, v
Call a request that answers sync. Then, when the buffer manager reaches the appropriate point in its state machine, it accepts the request and strives to allocate a buffer to be displayed. Thereafter, the disp valid wire is qualified and the buffer index is transmitted, which is typically
Immediately accepted by paddr. Further, this last two-wire interface (rst) indicates that the number of fields associated with the current index must be reset independent of the number of previous fields.
There is an additional wire associated with fld).

【1877】C.2.3.1.4 「マイクロプロセッ
サインターフェース」 バッファマネージャブロックは8ビットのデータバス及
びリード/ライトストローブと共に、4ビットのマイク
ロプロセッサアドレススペースを使用する。2つのセレ
クト信号があり、1つはユーザーアクセス可能ローケー
ションを指示し、他方は通常の操作状態の下でアクセス
を必要とすべきではないテストロケーションを指示す
る。
[1877] C.I. 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 a user accessible location and the other indicating a test location that should not require access under normal operating conditions.

【1878】C.2.3.1.5 「イベント」 バッファマネージャは2つの異なるイベント、インデッ
クスファウンドとレイトアライバルを作り出すことがで
きる。この内最初のものは、ピクチャが到着した時に認
定され、そのピクチャスタート拡張バイト(ピクチャイ
ンデックス)はセットアップ時にBU BM TARG
ET IXレジスタに書き込まれる値と適合する。第2
のピクチャ数は現在の提示数より小さい、つまりバッフ
ァマネージャまでのシステムパイプラインにおけるプロ
セシングは提示要件を満たして行くように処理してはい
ない。
[1878] C.I. 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 set during setup by BU BM TARG.
Matches the value written to the ET IX register. Second
Is less than the current number of presentations, that is, processing in the system pipeline up to the buffer manager has not been processed to meet the presentation requirements.

【1879】C.2.3.1.6 「ピクチャクロッ
ク」 本発明では、ピクチャクロックは提示数カウンタに対す
るクロック信号であり、オンチップで発生されるか、あ
るいは外部ソース(通常はディスプレイシステム)から
引き出される。バッファマネージャはこれらの信号の両
方をアクセプトし、pclk ext(バッファマネー
ジャの制御レジスタ内のビット)の値に基づいて1つを
選択する。この信号は更に、イメージフォーマッティン
グ部がそれ自体のピクチャクロックを生じさせている場
合、この信号もチップからの出力として利用できるよう
に、パッドpicoutpad用のイネーブルとして作
用する。
[1879] C.1879 2.3.1.6 "Picture Clock" In the present invention, the picture clock is the clock signal for the presentation counter and is 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 (a bit in the buffer manager's control register). This signal also serves as an enable for the pad picoutpad so that if the image formatting unit is generating its own picture clock, this signal is also available as an output from the chip.

【1880】C.2.3.2 「主要なブロック」 以下のセクションはバッファマネージャ概略図(bml
ogic)を作成する様々なハードウェアブロックにつ
いて説明する。
[1880] C.I. 2.3.2 "Main Blocks" The following section is a buffer manager schematic (bml
The various hardware blocks that make up the omic) will be described.

【1881】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に基づいて
おり、入力もしくは出力において何かが「大破」された
場合を指示するため、ステートマシーン内のどこかで使
用される。このモジュールのディスプレイインデックス
部分はデータに関する等価「ゴー(go)」信号と共
に、2線式インターフェースから成る。rst fld
ビットもここで発生し、これは設定された場合、dis
p validが1サイクルのために高くなるまで高い
ままである信号である。その後、それはリセットされ
る。それに加えて、フラッシュトークンがディスプレイ
バッファによって、全ての外部バッファにEMPTYま
たはIN USEのフラグを付けさせた後、rst f
ldがリセットされる。これはピクチャ数と提示数の両
方がリセットされるのと同じポイントである。
[1881] C.I. 2.3.2.1 "input / output block (bm input)" This module consists of four 2-wire interfaces (input data and output data, drq v
valid / accept and disp valid / a
ccept). 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 points where the header will be valid (ie, not in the middle of the token). The rtmd block acts as an output data register adjacent to the dual input data register for the next block in the pipeline. This explains the timing difference due to the different clock generators. The signals go and ngo are data valid, ac
It is based on the AND of ccept and notstopped and is used somewhere in the state machine to indicate when something has been "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. rst fld
A bit also occurs here, which, if set, dis
A signal that remains high until p_valid goes high for one cycle. Then it is reset. In addition, after the flash token causes the display buffer to flag all external buffers as EMPTY or IN USE, the rst f
ld is reset. This is the same point at which both the number of pictures and the number of presentations are reset.

【1882】階層の次のレベルに現れる入力データレジ
スタと連合する少量の追加回路がある。この回路は入力
データレジスタがBU BM TARGIXに書き込ま
れるものと等しい値を持ち、それがイベント発生のため
に使用されることを指示する信号を作り出す。
There is a small amount of additional circuitry associated with the input data register that appears at the next level in the hierarchy. This circuit has a value equal to what the input data register is written to BU BM TARGIX and produces a signal indicating that it is used for event generation.

【1883】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バッファがないことを指示するだ
けである。
[1883] C. 2.3.2.2 "bm index" The index block consists mainly of a 2-bit register indicating the various strategic buffer indices.
These are arr buf, the buffer into which the arriving picture data is written, the disp buf, the buffer from which the picture data is read out for display, and the rdy buf, most up to now that the buffer can be displayed if requested by dispaddr Is a buffer index that contains the picture of. In addition, there is a register containing buf ix, which is used as a general pointer to the buffer. This register is incremented (D input to max), cycling through buffers to check 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 from the microprocessor as part of the test address space. old ix is a retimed version of buf ix and is used to enable buffer status and the number of pictures register in im stus block. buf ix
And old ix are both output from this block.
Decoded into two signals, each of which can hold the values 1-3. Other outputs are buf ix is arr b
indicates whether it has the same value as either uf or disp buf, and rdy buf and d
Indicates whether any of the isp buf has the value 0. 0 is not a reference code for the buffer.
It is simply the arrival / dis currently assigned
It only indicates that there is no play / ready buffer.

【1884】arr buf及びdisp bufは各
々の2線式インターフェース出力アクセプトレジスタに
よって可能化される。
The arr buf and the disp buf are enabled by respective two-wire interface output accept registers.

【1885】bmlogicレベルの追加回路は現在の
バッファインデックス(buf ix)がセットアップ
時に制御レジスタに書き込まれる値によって限定される
ように、使用中の最大インデックスに等しいか否かを判
断するために使用される。制御レジスタ内の「1」は3
バッファシステムを指示し、「0」は2バッファシステ
ムを指示する。
An additional circuit at the bmlogic level is used to determine if the current buffer index (buf ix) is equal to the highest index in use, as limited by the value written to the control register during setup. You. "1" in the control register is 3
Indicates a buffer system, "0" indicates a two-buffer system.

【1886】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、現在書き込まれている
データのピクチャ数である。
[1886] C.I. 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 outputs (using registers enables,
One register directed to one of the slaves (switched by old ix). One of the possible inputs to the master (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 the previous value can be recirculated. The number of pictures can take the previous value or the previous value incremented by one (or 1 + delta, the difference between the actual and predicted time reference in H.261). This value is provided by the 8-bit adder present in the block. The first input to this adder is this pnum, the number of pictures of the currently written data.

【1887】[1888]

【表237】 表C.2.1 バッファステータスバリュー 3バッファピクチャ数レジスタのいずれも、(殆ど常に
古くなっている)それら自身の前のピクチャ数ではな
く、現在(または前の)ピクチャ数に基づいて容易に更
新できるように、これは別個に(それ自身のマスター・
スレーブ配置に)記憶される必要がある。this p
numは−1にリセットされ、最初のピクチャが到着す
る時、アダーから出力に加算されるので、最初のバッフ
ァピクチャ数レジスタへの入力は0である。
[Table 237] Table C. 2.1 Buffer status value Any of the three buffer picture number registers (almost always
Outdated) rather than the number of pictures preceding their own, so that it can be easily updated based on the current (or previous) picture number, which is the separately (itself master
Need to be stored). this p
num is reset to -1 and added to the output from the adder when the first picture arrives, so the input to the first buffered picture number register is zero.

【1888】現在のバージョンにおいては、その値を供
給すべき時間リファレンスブロックの欠如により、デル
タは0に接続される。
In the current version, the delta is connected to zero due to the lack of a time reference block to supply its value.

【1889】C.2.3.2.4 「提示数」 8ビット提示数レジスタは、提示数が最後に調べられて
から変化していることを指示するため、ステートマシー
ンにおいて使用される関連提示フラグを持つ。こうした
ことが必要であるのは、ピクチャクロックが本質的に同
期的であり、如何なるステートにおいても活性であり得
るからであり、これらが提示数に関係するからではな
い。本ブロック内の回路の残りはピクチャクロックパル
スが発生したことを検出し、この事実を「覚えておく」
ことに関係する。この方法で、提示数は更新することが
有効である時に更新することができる。イベントの代表
的シーケンスを図165に示す。信号incr prn
はリタイムドピクチャクロックライジングエッジの1サ
イクル後に活性となり、ステートが入ってくるまで持続
し、その間に提示数を修正することができる。これは信
号en prnumによって指示される。特定のステー
トの間にのみ提示数の更新ができるようにした理由は、
それが信号rdystを提供するためのstandar
d−cell、not−very−fast8ビットア
ダーを含むロジックのかなりの量を駆動させるために使
用されるからである。従って、それは次に続くステート
がその結果を使用していないステートの間にのみ変更さ
れなければならない。
[1889] C.I. 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 the last time it was examined. This is necessary because the picture clock is inherently synchronous and can be active in any state, not because they are related 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 In this way, the number of presentations can be updated when it is valid. A representative sequence of events is shown in FIG. Signal incr prn
Becomes active one cycle after the retimed picture clock rising edge and persists until the state enters, during which time the number of presentations can be modified. This is indicated by the signal en prnum. The reason that we can only update the offer count during certain states is
Standard for which it provides the signal rdyst
This is because it is used to drive a significant amount of logic, including d-cell, not-very-fast 8-bit adders. Therefore, it must only be changed during states where the following state is not using the result.

【1890】C.2.3.2.5 「時間リファレン
ス」 本発明による時間リファレンスブロックは、イメージフ
ォーマッティング部の現在の態様からは省略されている
が、説明の完全性のためにそのオペレーションについて
ここで説明する。
[1890] C.I. 2.3.2.5 Temporal Reference The temporal reference block according to the present invention has been omitted from the current aspect of the image formatting unit, but its operation is described here for completeness of description.

【1891】本ブロックの機能はデルタ、H.261デ
ータストリーム内のトークンにおいて受け取った時間リ
ファレンスバリューと、「予測された」時間リファレン
ス(1+前のバリュー)の間の差を計算することであ
る。これによりH.261においてフレームをスキップ
することができる。時間リファレンストークンは全ての
non−H.261ストリームにおいて無視される。計
算されたバリューはバッファ用のピクチャ数を計算する
ためにステータスブロックにおいて使用される。bml
ogicからのブロックを省略する効果は、H.261
ストリームが幾つかのピクチャ数をスキップすべきであ
ると指示しても、ピクチャ数がどのシーケンスにおいて
も常に連続していることである。
[1891] The function of this block is Delta, H .; 261 to calculate the difference between the time reference value received at the token in the data stream and the "predicted" time reference (1 + the previous value). Thereby, H. At 261, a frame can be skipped. The time reference token is all non-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 the block from the original is described in H.O. 261
Even though the stream indicates that some number of pictures should be skipped, the number of pictures is always continuous in any sequence.

【1892】(概略図bm trefにおいて見ること
ができる)ブロックの主要な成分はtr、exptr及
びデルタ用のレジスタである。発明においては、trは
0にリセットされ、適当な場合に入力データレジスタか
らロードされるものである。同様に、exptrは−1
にリセットされ、時間リファレンスステートのシーケン
スの間に、1またはデルタだけ増分される。それに加え
て、デルタは0にリセットされ、他の2つのレジスタの
間の差がロードされる。3つの全てのレジスタはフラッ
シュトークンの後リセットされる。このブロック内のア
ダーはデルタとexptrの両方の計算のために、つま
り減算及び加算操作のために各々使用され、信号del
ta calcによって制御される。
The main components of the block (seen in schematic bm tref) are the registers for tr, exptr and delta. In the present invention, tr is reset to zero and loaded from the input data register when appropriate. Similarly, exptr is -1
And incremented by one or delta during the sequence of time reference states. In addition, delta is reset to 0 and the difference between the other two registers is loaded. All three registers are reset after a 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.

【1893】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ビットを取る。
[1893] C.I. 2.3.2.6 "Control register (b
m uregs) "The control register for the buffer manager is block bm
urges. These are the access bit register,
A setup register (which limits the maximum number of external buffers and internal / external picture clocks), and a target index register. The access bits are synchronized as expected. Signal stop0, stop
pd 1 and nstop 1 are the access bits O
Derived from R and the two event stop bits. Upi address decoding for all bmlogic is performed by block bm udec, which, together with the two select signals from the top level address decode of the image formatting unit, upi.
Take the lower 4 bits of the data bus.

【1894】C.2.3.2.7 「制御用ステートマ
シーン」 ステートマシーンロジックは元々それ自体のブロック、
bm stateを占有していた。しかしながら、コー
ド発生理由のため、今では平板化され、bmlogic
概略図のシート2の上にある。
[1894] C.I. 2.3.2.7 "State machine for control" State machine logic is originally a block of its own,
occupied bm state. However, for code generation reasons, it is now flattened and bmlogic
It is on sheet 2 of the schematic.

【1895】このロジックの主要セクションは同じであ
る。これはデコーディング、他のbmlogicブロッ
クの制御用のロジック信号の発生、及びステートマシー
ンを通るルートを選択するために使用されるフラグ、f
rom ps及びfromflを含む新しいステートエ
ンコーディングを含む。bm stus及びbmind
ex用にマックス制御信号を作るための別個のブロック
がある。
The main section of this logic is the same. This is a flag used to decode, generate logic signals for control of other bmlogic blocks, and select a route through the state machine, f
Includes new state encodings including rom ps and fromfl. bm stus and bmind
There is a separate block for creating max control signals for ex.

【1896】ステートマシーンハードウェアにおける信
号には、タイピング及び参照のしやすさのために簡単な
アルファベット名を与えてきた。それらの全てを、それ
らが表すロジック表現と共に表238〜表241にリス
トアップする。更にそれらはbmlogicの行動M.
解説(bmlogic.M)におけるコメントとしても
現されている。
Signals in 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 representation they represent. In addition, they are the behavior of bmlogic.
It also appears as a comment in the commentary (bmlogic.M).

【1897】[1897]

【表238】 [Table 238]

【1898】[1898]

【表239】 [Table 239]

【1899】[1899]

【表240】 [Table 240]

【1900】[1900]

【表241】 C.2.3.2.8 「モニタリングオペレーション
(bminfo)」 本発明では、バッファステータス情報、インデックスバ
リュー、及び提示数をシミュレーション中に観察できる
ように、モジュール、bminfoが含まれる。それは
Mの中に書き込まれ、その入力の1つが変化する度に出
力を生じさせる。
[Table 241] C. 2.3.2.8 "Monitoring Operation (bminfo)" The present invention includes a module, bminfo, so that the buffer status information, index value, and number of presentations can be observed during the simulation. It is written into M, producing an output each time one of its inputs changes.

【1901】C.2.3.3 「レジスタアドレスマッ
プ」 バッファマネージャのアドレススペースは2つのエリ
ア、ユーザー・アクセシブルとテストにスプリットされ
る。従って、トップレベルにおけるレンジデコードから
引き出される2つの別個のイネーブルワイヤがある。表
242はユーザー・アクセシブルレジスタを示し、表2
43はテストスペースの内容を示す。
C. [1901] 2.3.3 "Register Address Map" The buffer manager address space is split into two areas, user accessible and test. Thus, there are two separate enable wires derived from range decoding at the top level. Table 242 shows the user accessible registers.
43 indicates the contents of the test space.

【1902】[1902]

【表242】 [Table 242]

【1903】[1903]

【表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 FIG.
As shown in FIG. 66, the behavior description bmlogic. M interacts as described.

【1904】[1904]

【表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 is cycled initially.

【1905】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に)進む。そうでなければ、ディスプレ
イバッファインデックスが以下のように発せられる。レ
ディバッファがなければ、前のインデックスが再発行さ
れ、あるいは、前のディスプレイバッファがなければ、
ゼロインデックス(ゼロ)が発せられる。バッファが表
示される準備が整っていれば、そのインデックスが出さ
れ、そのステートが更新される。必要であれば、前のデ
ィスプレイバッファがクリアされる。ステートマシーン
はその後以前のように前進する。
[1905] C.I. 2.4.2 "Main Loop" The main loop of the state machine is composed of the states shown in FIG. 167 (the main diagram-highlighted in FIG. 166). States PRES0 and PRES1 are signals pre
Relating 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 a presentation flag is detected, all buffers are checked for possible "readiness"; otherwise, the state machine proceeds to state DRQ. PRE
Each cycle around the S0-PRES1 loop examines a different buffer and checks for full and ready conditions. When these are satisfied, the previous ready buffer (if any) is cleared, a new ready buffer is allocated, and its status is updated. This process looks at all buffers (index == ma
x buf) until the state advances. A buffer is considered ready to be displayed if any of the following are 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 are no requests, the state proceeds (typically 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,
A zero index (zero) is emitted. If the buffer is ready to be displayed, its index is issued and its state is updated. If necessary, the previous display buffer is cleared. The state machine then proceeds as before.

【1906】ステートTOKENは主ループを完了させ
るための典型的なオプションである。有効な入力があ
り、出力がストールされていなければ、トークンは(後
のセクションで説明する)戦略的バリューのために調べ
られ、そうでなければ、制御はステートPRES0に戻
る。
The state TOKEN is a typical option for completing the main loop. If there is a valid input and the output is not stalled, the token is examined for strategic value (described in a later section); otherwise, control returns to state PRES0.

【1907】制御はある条件が満たされる時に、主ルー
プから分岐するだけである。これらについては以下のセ
クションにおいて説明する。
Control only branches from the main loop when certain conditions are met. These are described in the following sections.

【1908】C.2.4.3 「レディバッファインデ
ックスの割当」 PRES0−PRES1ループの間に、バッファがレデ
ィであると判断されれば、前のレディバッファは空にさ
れる。なぜなら、いつでも1つだけのバッファがレディ
と指定され得るからである。ステートVACATE R
DYはそのステートをVACANTに設定することによ
り、古いレディバッファをクリアし、制御がPRES0
ステートに戻る時、全てのバッファのレディネスがテス
トされるように、バッファインデックスを1にリセット
する。こうすることの理由は、インデックスが今では前
のレディバッファを指しており(それをクリアする目
的)、我々の意図する新しいレディバッファインデック
スの記録がないからである。従って、全てのバッファを
再テストすることが必要である。
[1908] C.I. 2.4.3 Assignment of Ready Buffer Index During the PRES0-PRES1 loop, if the buffer is determined to be ready, the previous ready buffer is emptied. Only one buffer can be designated ready at any time. State VACATE R
DY clears the old ready buffer by setting its state to VACANT, and control goes to PRES0.
When returning to the state, reset the buffer index to 1 so that the readiness of all buffers is tested. The reason for doing this is that the index now points to the previous ready buffer (to clear it) and there is no record of the new ready buffer index we intended. Therefore, it is necessary to retest all buffers.

【1909】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に戻
る。
[1909] C.I. 2.4.4 “Assignment of display buffer index”
State V that clears the old display buffer state directly from RQ (state USERDY) or
This is performed via the ATE 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. Further, 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 returns to state DRQ only so that decisions between states TOKEN, FLUSH, ALLOC need not be made in state USE RDY.

【1910】C.2.4.5 「ピクチャエンドを受け
取った時のオペレーション」 ピクチャエンドトークンを受け取ると、制御はステート
TOKENからステートピクチャエンドに移り、そこ
で、インデックスがまだ現在のアライバルバッファを指
していない場合、そこを指すように設定され、そのステ
ートが更新され得る。out acc reg及びen
fullが当てはまると仮定すれば、ステータスを後
述するように更新することができる。そうでなければ、
制御はそれらが共に当てはまるまでステートピクチャエ
ンドに残る。en full信号がライトアドレス発生
器によって供給され、スイングバッファがスイングした
ことを、つまり最後のブロックがうまく書き込まれ、従
ってバッファステータスを更新しても安全であることを
指示する。
[1910] C.I. 2.4.5 "Operation when picture end is received" Upon receipt of the picture end token, control transfers from state TOKEN to state picture end, where if the index does not already point to the current arrival buffer, it is set there. Set to point and its state can be updated. out acc reg and en
Assuming full is true, the status can be updated as described below. Otherwise,
Control remains at the state picture end until they apply together. The en full signal is supplied by the write address generator and indicates that the swing buffer has swung, that is, that the last block has been successfully written and thus it is safe to update the buffer status.

【1911】完了したばかりのバッファのレディネスが
テストされ、テストの結果に応じてステータスFULL
またはREADYのいずれかが与えられる。それがレデ
ィであれば、rdy bufにそのインデックスのバリ
ューが与えられ、set la ev信号(レイトアラ
イバルイベント)が高く設定される(予測されるディス
プレイがデコーディングの適時に前に進んだことを指示
する)。arr bufの新しいバリューは今は0であ
り、前のレディバッファがそのステータスをクリアする
必要があれば、インデックスはそこを指すように設定さ
れ、制御はステートVACATE RDYに移動する。
そうでなければ、インデックスは1にリセットされ、制
御は主ループのスタートに戻る。
The readiness of the just completed buffer is tested and the status FULL
Or READY is given. If it is ready, rdy buf is given the value of that index and the set_la_ev signal (late arrival event) is set high (indicating that the predicted display has advanced ahead of the decoding in a timely manner). Do). 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 there 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.

【1912】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(インッデクスファウンドイベント)が高く
設定される。
[1912] C.I. 2.4.6 “Operation when picture start is received (arrival buffer allocation)” When a picture start token arrives during state TOKEN, flag froms is set, and state ALLOC is inspected instead of state TOKEN. To change the basic state machine loop. State ALLOC involves the allocation of an arrival buffer (in which picture data arriving therein can be written) and cycles through the buffer until it finds one whose status is VACANT. Since the buffer is output on the data two-wire interface, it is allocated only when out acc reg is high. Thus, the circulation around the loop will continue until this is the case. If a suitable arrival buffer is found, the index is arrb
uf and its status is IN USE
Is attached. The index is set to 1, the flag from ps 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 the target ix (the target index specified in the setup), and if so, set i
f + ev (index found event) is set high.

【1913】3つのステータスNEW EXP TR、
SET ARR IX、及びNEWPIC NUMが新
しく予測される時間リファレンス及び入ってくるデータ
用のピクチャ数を設定する。正しいピクチャ数レジスタ
が更新される(thispnumも更新されることに注
意)ように、中間ステートはインデックスをarr b
ufに設定する。その後制御は、低い拡張に遭遇するま
で、(好ましい2線式インターフェース信号を仮定し
て)データを出力するステートOUTPUTTAILに
進む。この時点で、主ループは再スタートされる。これ
は全データブロック(64アイテム)が出力されること
を意味し、その間に提示フラグもしくはディスプレイリ
クエスト用のテストは行われない。
[1913] Three statuses NEW EXP TR,
SET ARR IX and NEWPIC NUM set the newly predicted time reference and the number of pictures for incoming data. The intermediate state sets the index to arr b so that the correct picture number register is updated (note that thispnum is also updated).
Set to uf. Control then proceeds to state OUTPUTTAIL which outputs data (assuming the preferred two-wire interface signal) until a low expansion is encountered. At this point, the main loop is restarted. This means that all data blocks (64 items) are output, during which no test is performed for presentation flags or display requests.

【1914】C.2.4.7 「フラッシュを受け取っ
た時の動作」 データストリーム内のフラッシュトークンはシーケンス
情報(提示数、ピクチャ数、rst fld)をリセッ
トすべきことを指示する。これはFLUSHに導く全て
のデータが正しく処理された時にのみ発生することがで
きる。従って、FLUSHを受け取った後、全てのフレ
ームがディスプレイに手渡された、つまり、1つのバッ
ファを除いて全てのバッファがステータスEMPTYを
持ち、その1つのバッファが(ディスプレイバッファと
して)IN USEであることが確実になるまで、バッ
ファの全てのステータスを監視することが必要である。
その時点で、「新しいシーケンス」を安全に使用するこ
とができる。
[1914] C.I. 2.4.7 "Action when flash is received" The flash token in the data stream indicates that the sequence information (number of presentations, number of pictures, rst fld) should be reset. This can only occur when all data leading to FLUSH has been correctly processed. Thus, after receiving the FLUSH, all frames have been handed to the display, ie all but one buffer have status EMPTY and one of them is IN USE (as a display buffer) It is necessary to monitor all the statuses of the buffer until is certain.
At that point, the "new sequence" can be used safely.

【1915】フラッシュトークンがステートトークンに
おいて検出されると、フラグfrom flが設定さ
れ、ステートトークンの代わりにステートフラッシュを
巡視するように、ベーシックステートマシーンループを
変更させる。ステートFLUSHは各バッファのステー
タスを順に調べ、それがVACANTもしくはディスプ
レイとしてIN USEになるのを待つ。ステートマシ
ーンは条件が当てはまるまで、単にループのまわりを循
環し、それからそのインデックスを増分して、全てのバ
ッファを訪問してしまうまでプロセスを繰り返す。最後
のバッファが条件を満たすと、提示数、ピクチャ数、及
び全ての時間リファレンスレジスタがそれらのリセット
値rst fldが1に設定されると仮定する。フラグ
fromflがリセットされ、通常の主ループオペレー
ションが再び始められる。
When a flash token is detected in the state token, a flag from fl is set, causing the basic state machine loop to be changed so as to patrol the state flash instead of the state token. State FLUSH examines the status of each buffer in order and waits until it becomes VACANT or IN USE as a display. The state machine simply cycles around the loop until the condition is true, then increments its index and repeats the process until all buffers have been visited. If the last buffer satisfies the condition, it is assumed that the number of presentations, number of pictures, and all time reference registers have their reset value rst fld set to one. The flag fromfl is reset and normal main loop operation is restarted.

【1916】C.2.4.8 「時間標準を受け取った
時の動作」 時間標準トークンに遭遇すると、H.261ビットのチ
ェックが行われ、設定されると、4つのステートTEM
P REF0〜TEMP REF3を巡視する。これら
は次のオペレーションを遂行する。
[1916] C.I. 2.4.8 "Action when time standard is received" When a time standard token is encountered, When a check of 261 bits is performed and set, four state TEMs are set.
It patrols P REF0 to TEMP REF3. They perform the following operations:

【1917】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が低い)まで制御はここに留まり、主
ループはそれから再突入される。
[1917] TEMP REF0: temp ref =
in data reg; TEMP REF1: delta = temp ref−
index 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 except those outlined above. Encounter the last token word (in
Control remains here until extn reg is low) and the main loop is then re-entered.

【1918】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サイクル
まで増加させることができる。このように多くのオーバ
ーヘッドはフレーム毎に一度のベースで適用できるだけ
であることに注意。
[1918] C.I. 2.5 "Application Notes" 2.5.1 "State Machine Stalling Buffer Manager Input" This requirement repeatedly checks the picture clock and the "synchronous" timing events of the display buffer request. The need to stall the buffer manager input during these checks means that there is a limited rate of data passing through the buffer manager when there is a continuous data feed at the buffer manager input. A typical state sequence is PRES0, PRE
S1, DRQ, TOKEN, and OUTPUT TAIL, each of which lasts one cycle except OUTPUT TAIL. This is because the input is stalled for each block of 64 data items (state PRES).
There is an overhead of 3 cycles (between 0, PRES1, DRQ), which means 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 branches of the state machine are executed under worst case conditions. Note that so much overhead can only be applied once per frame.

【1919】C.2.5.2 「アクセス中の提示数行
為」 C.2.3.2.4に示す概略図により図示されるbm
presの特別な態様は、提示数がupiアクセス中
に自由に動くことを意味する。アクセスを廃棄する時の
提示数がアクセスを得た時の提示数と同じであることが
求められる場合、これはアクセスが認められた後の提示
数を読み、それをアクセスが廃棄される直前に書き戻す
ことによって成し遂げられる。注意すべきことは、これ
は非同期的であり、従って更に効果性を確かめるため
に、そのアクセスを数回繰り返すことが望ましいことで
ある。
[1919] C.I. 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 presentations moves freely during an upi access. If the number of presentations when discarding access is required to be the same as the number of presentations when access was obtained, this should read the number of presentations after access has been granted and read it immediately before access is discarded. Achieved by writing back. Note that this is asynchronous, so it is desirable to repeat the access several times to further confirm its effectiveness.

【1920】C.2.5.3 「H261時間リファレ
ンス数」 モジュールbm tref(図示せず)はbmlogi
cの中に含まれるべきである。H.261時間リファレ
ンスバリューは、bmtrefからのデルタ入力をbm
stusモジュールに向けさせることにより正しく処
理される。デルタ入力は、フレームが常に連続する場合
に0に結び付けることができる。
[1920] C.I. 2.5.3 “H261 time reference number” module bm tref (not shown) is bmlogi
c. H. The 261 hour reference value is the delta input from bmtref
It is processed correctly by directing it to the stus module. The delta input can be tied to zero if the frames are always consecutive.

【1921】セクションC.3 「ライトアドレス発
生」 C.3.1 「序文」 本発明によるライトアドレス発生ハードウェアの機能
は、バッファに書き込むべきデータ用のブロックアドレ
スを作り出すことである。これはバッファのベースアド
レス、ストリーム内で指示される成分、マクロブロック
内の水平と垂直のサンプリング、ピクチャディメンショ
ン及びコーディングスタンダードを考慮する。データは
マクロブロックの形態で到着するが、ディスプレイのた
めにラインを容易に検索できるように記憶されなければ
ならない。
[1921] Section C. 3 "Write address generation" 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 indicated in the stream, the horizontal and vertical sampling in macroblocks, picture dimensions and coding standards. The data arrives in the form of macroblocks, but must be stored so that the lines can be easily retrieved for display.

【1922】C.3.2 「機能的展望」 新しいブロックが(データトークンが指示する)データ
ストリームに到着する度に、ライトアドレス発生器は新
しいブロックアドレスを作るように要請される。アドレ
スが実際に必要になる前に、64までのデータワードを
(スイングバッファ内の)DRAMインターフェースに
よって記憶することができるので、直ちにアドレスを作
ることが必要ではない。これは様々なアドレス成分を連
続サイクル内の現在の合計に加算することができ、従っ
て如何なるハードウェア乗算器のための必要事項をも除
去することができることを意味する。マクロブロックカ
ウンタ機能は重要な端末値を記憶し、各ブロックアドレ
ス計算の後の比較及び条件付き更新用のオペランドであ
る、レジスタファイル内のカウントを動かすことによっ
て達成される。
[1922] C.I. 3.2 Functional Perspective Each time a new block arrives in the data stream (indicated by the data token), the write address generator is requested to create a new block address. It is not necessary to create an address immediately because up to 64 data words can be stored by the DRAM interface (in the swing buffer) before the address is actually needed. This means that the various address components can be added to the running sum in successive cycles, thus eliminating the need for any hardware multiplier. The macroblock counter function is accomplished by storing important terminal values and moving a count in the register file, which is an operand for comparison and conditional update after each block address calculation.

【1923】図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 expected address sequence is the standard data stream and H.264. 261 can be derived from both. These are shown below. Although the slices are not wide enough (three macroblocks rather than eleven), we use the same "half picture width slice" concept here for convenience and the sequence is of the "H.261 type" Format, the format is actually H.264. Note that it does not conform to 261 rules. Data is full macroblock,
In the example shown, it arrives at 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, 226,. . . . . . . . . . H. 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; 006,007,012,013,103,203; 008,009,014,015,104,105; 00A, 00B, 016,017,105,205; 01E, 034,035,040,041,10E, 20E; 01F, 02A, 02B, 109, 209; 022,023,02E, 02F, 10B, 20B; 036,037,042,043,10F, 20F; 038,039,044,045,110,210; 03A, 03B, 046 048, 049, 054, 055, 112, 212; 04A, 04B, 056,. . . . . . . . . . B. 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" 3.3.1 "Interface" 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 considered an extension of the buffer manager. Because they are very closely connected. However, they operate from two separate (but similar) clock generators.

【1924】C.3.3.1.2 「dramifに対
するインターフェース」 ライトアドレス発生器はDRAMインターフェース用の
データとアドレスを提供する。これらの各々はそれら自
身の2線式インターフェースを持ち、dramifは異
なるクロック様式においてその各々を使用する。特に、
アドレスはライトアドレス発生器クロックに関連しない
クロック上でdramifにクロックされる。従って、
それは出力において同期化される。
[1924] C.I. 3.3.1.2 "Interface to dramif" The write address generator provides data and addresses for the DRAM interface. Each of these has its own two-wire interface, and dramif uses each in a different clock style. 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.

【1925】C.3.3.1.3 「マイクロプロセッ
サインターフェース」 ライトアドレス発生器は8ビットのデータバス及びリー
ド/ライトストローブと共に、3ビットのマイクロプロ
セッサアドレススペースを使用する。レジスタアクセス
用に1つのセレクトビットがある。
[1925] C.I. 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.

【1926】C.3.3.1.4 「イベント」 ライトアドレス発生器は5個の異なるイベントを作り出
すことができる。2個はデータストリーム(hmbsと
vmbs)に現れるピクチャサイズ情報に答え、3個は
DEFINE SAMPLINGトークン(各成分のた
めに1イベント)に答える。
[1926] C.I. 3.3.1.4 "Event" The write address generator can create five different events. Two respond to picture size information appearing in the data stream (hmbs and vmbs) and three respond to DEFINE SAMPLING tokens (one event for each component).

【1927】C.3.3.2 「基本構造」 ライトアドレス発生器の構造を概略図waddrge
n.schに示す。それはデータパス、幾つかの制御ロ
ジック、及びスノーパと同期化から成る。
[1927] C.I. 3.3.2 "Basic structure" Schematic diagram of the structure of the write address generator waddrge
n. sch. It consists of a data path, some control logic, and a snooper and synchronization.

【1928】C.3.3.2.1 「データパス(bw
adpath)」 データパスは本文書のC.5章において説明したタイプ
のものであり、18ビットのアダー/サブトラクター、
及びレジスタファイル(C.3.3.4を参照)から成
り、制御ロジックにおいて使用するため(アダーの出力
に基づく)ゼロフラグを作り出す。
[1928] C.I. 3.3.2.1 “Data path (bw
adpath) "data path is defined in C.I. 18-bit adder / subtractor, of the type described in Chapter 5,
And a register file (see C.3.3.4) to create a zero flag (based on the output of the adder) for use in the control logic.

【1929】C.3.3.2.2 「制御ロジック」 本発明の制御ロジックはレジスタファイルロード及びド
ライブ信号、アダー制御信号、2線式インターフェース
信号の全てを発生させるため、ハーデウェアで構成さ
れ、更に書き込み可能制御レジスタを含む。
[1929] C.I. 3.3.2.2 "Control Logic" The control logic of the present invention is composed of hardware to generate all of register file load and drive signals, adder control signals, and two-wire interface signals, and further includes a writable control register. including.

【1930】C.3.3.2.3 「スノーパ及び同期
化」 スーパースノーパがデータとアドレスポートの両方に存
在する。データパス内のスノーパはzcellsからの
スノーパとして制御される。アドレスはライトアドレス
発生器クロックとdramifのclk様式との間で同
期化を持つ。Syncifsは2線式インターフェース
信号用のzcellsにおいて使用され、簡略化された
シンクロナイザーがアドレス用のデータパスにおいて使
用される。
[1930] C.I. 3.3.2.3 "Snorper and Synchronization" Super Snorper is present on both data and address ports. The snoopers in the data path are controlled as snoopers from zcells. The address has synchronization between the write address generator clock and the dramif clk style. Syncifs is used in zcells for two-wire interface signals, and a simplified synchronizer is used in the data path for addresses.

【1931】C.3.3.3 「制御ロジック及びステ
ートマシーン」 C.3.3.3.1 「入力/出力ブロック(wa i
nout)」 このブロックは(トークンデコード用の)入力データ用
ラッチ及び(4つの方法でデコーディングするための)
アライバルバッファインデックスと共に、入力と2つの
出力の2線式インターフェースを含む。
[1931] C.I. 3.3.3 "Control logic and state machine" 3.3.3.1 “Input / Output Block (wa i
nout) "This block contains a latch for input data (for token decoding) and a (for decoding in four ways)
Includes a two-wire interface of input and two outputs, along with an arrival buffer index.

【1932】C.3.3.3.2 「2つのサイクル制
御ブロック(wa fc)」 フラグfc(最初のサイクル)がここに維持され、ステ
ートマシーンが2サイクルオペレーション(つまり、加
算を含むオペレーション)の中間にあるかどうかを指示
する。
[1932] C.I. 3.3.3.2 "Two Cycle Control Block (wa fc)" Flag fc (first cycle) is maintained here and state machine is in the middle of a two cycle operation (i.e. an operation involving addition) Indicate whether.

【1933】C.3.3.3.3 「成分カウント(w
a comp)」 別のアドレスが各成分内のデータブロックのために必要
とされ、このブロックは入力ストリームにおいて受け取
られるデータヘッダのタイプに基づいて考慮中の現在の
成分を維持する。
[1933] C.I. 3.3.3.3 “Component count (w
a comp) "A separate address is needed for the data block in each component, which keeps the current component under consideration based on the type of data header received in the input stream.

【1934】C.3.3.3.4 「モジュロ−3制御
(wa mod3)」 H.261データストリーム用のアドレスシーケンスを
発生させる時、スクリーンに沿って半分までマクロブロ
ックの3つのローをカウントする必要がある(C.3.
2を参照)。これはマクロブロックの新しいローが巡視
される度に増分されるモジュロ−3カウンタを維持する
ことによって達成される。
[1934] C.I. 3.3.3.4 “Modulo-3 Control (wa mod 3)” When generating the address sequence for the H.261 data stream, it is necessary to count three rows of the macroblock along the screen up to half (C.3.
2). This is achieved by maintaining a modulo-3 counter that is incremented each time a new row of the macroblock is visited.

【1935】C.3.3.3.5 「制御レジスタ(w
a uregs)」 モジュールwa uregsはステップアップレジスタ
及びコーディングスタンダードレジスタを含み、後者は
データストリームからロードされる。セットアップレジ
スタは3ビット:QCIF(1sb)と、データストリ
ーム内で予測される最大量の成分(ビット1及び2)を
使用する。更に、アクセスビットはこのブロックにあり
(いつものように同期化され)、「ストップド」ビット
はアクセスビット及びイベントストップビットのORと
して、階層(walogic)の次の上のレベルにおい
て引き出される。マイクロプロセッサアドレスデコーデ
ィングは、リード及びライトストローブ、セレクトワイ
ヤ、及びアドレスバスの低い方の2ビットを取るブロッ
クwa udecによって行われる。
[1935] C.I. 3.3.3.5 “Control register (w
a uregs) The module wa uregs includes a step-up register and a coding standard register, the latter being loaded from the data stream. The setup register uses 3 bits: QCIF (1sb) and the largest amount of components (bits 1 and 2) expected in the data stream. Further, the access bits are in this block (synchronized as usual) and the "stopped" bit is derived at the next higher level in the hierarchy as the OR of the access bit and the event stop bit. Microprocessor address decoding is performed by the block waudec, which takes the lower two bits of the read and write strobes, select wires, and address bus.

【1936】C.3.3.3.6 「制御ステートマシ
ーン(wa state)」 このブロック内のロジックは幾つかの別個のエリアに分
けられる。ステートデコード、新しいステートエンコー
ド、「中間」ロジック信号の起源、データパス制御信号
(drivea、driveb、load、アダー制御
及びセレクト信号)、乗算器制御、2線式インターフェ
ース制御、及び5つのイベント信号である。
[1936] C.I. 3.3.3.6 "control state machine" The logic in this block is divided into several distinct areas. State decoding, new state encoding, origin of "intermediate" logic signals, data path control signals (drive, drive, load, adder control and select signals), multiplier control, 2-wire interface control, and five event signals. .

【1937】C.3.3.3.7 「イベント発生」 5つのイベントビットは入力に達する特定のトークンの
結果として発生される。重要なことは、各々の場合に、
イベントサービスルーチンが新しく受け取ったバリュー
に基づいて計算を行うので、イベントが発生される前に
全トークンが受け取られることである。このため、各々
のビットはイベントハードウェアに入力される前に全サ
イクルによって遅延される。
[1937] C.I. 3.3.3.7 "Event Occurrence" Five event bits are generated as a result of a particular token reaching the input. The important thing is that in each case,
Because the event service routine makes calculations based on the newly received value, all tokens are received before the event occurs. Thus, each bit is delayed by a full cycle before entering the event hardware.

【1938】C.3.3.4 「レジスタアドレスマッ
プ」 ライトアドレス発生器ブロックには2セットのレジスタ
がある。これらは標準のセルセクションに置かれるトッ
プレベルのセットアップタイプのレジスタであり、キー
ホールデータパスレジスタである。これらを表245及
び表246〜表256に各々リストアップする。
[1938] C.I. 3.3.4 “Register Address Map” The write address generator block has two sets of registers. These are top-level setup-type registers located in the standard cell section, and are keyhole datapath registers. These are listed in Table 245 and Tables 246 to 256, respectively.

【1939】[1939]

【表245】 [Table 245]

【1940】[1940]

【表246】 [Table 246]

【1941】[1941]

【表247】 [Table 247]

【1942】[1942]

【表248】 [Table 248]

【1943】[1943]

【表249】 [Table 249]

【1944】[1944]

【表250】 [Table 250]

【1945】[1945]

【表251】 [Table 251]

【1946】[1946]

【表252】 [Table 252]

【1947】[1947]

【表253】 [Table 253]

【1948】[1948]

【表254】 [Table 254]

【1949】[1949]

【表255】 [Table 255]

【1950】[1950]

【表256】 キーホールレジスタは広く2つの範疇に分かれる。それ
は、アドレス計算の前にピクチャサイズパラメータをロ
ードしなければならないものと、様々な(水平及び垂直
の)ブロック及びマクロブロックカウントの現在の合計
を含むものである。ピクチャサイズパラメータはライト
アドレス発生器により発生される割り込みに答えてロー
ドされ得る、つまり、ピクチャサイズまたはサンプリン
グトークンのいずれかがデータストリームに現れる時に
ロードされ得る。あるいは、ピクチャサイズがデータス
トリームを受け取る前に知られている場合、リセット後
にそれらを書き込むことができる。セットアップの例を
セクションC.13に記すが、ピクチャサイズパラメー
タレジスタについては次のセクションにおいて定義す
る。
[Table 256] Keyhole registers fall into two broad categories. It includes what must be loaded with the picture size parameter prior to address calculation, and the current 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, ie, loaded when either the picture size or the sampling token appears in the data stream. Alternatively, if the picture sizes are known before receiving the data stream, they can be written after reset. See Section C. for an example of the setup. 13, the picture size parameter register is defined in the next section.

【1951】C.3.4 「ライトアドレス発生器のプ
ログラミング」 次のデータパスレジスタは、アドレス計算が進行される
前に、正しいピクチャサイズ情報を含んでいなければな
らない。それらを図171に図示する。
[1951] C.I. 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 illustrated in FIG.

【1952】1)WADDR HALF WIDTH
IN BLOCKS:これはブロックにおいて、入って
くるピクチャの半分の幅を定義する。
[1952] 1) WADDR HALF WIDTH
IN BLOCKS: This defines, in blocks, half the width of the incoming picture.

【1953】2)WADDR MBS WIDE:これ
はマクロブロックにおいて、入ってくるピクチャの幅を
定義する。
[1953] 2) WADDR MBS WIDE: This defines the width of the incoming picture in a macroblock.

【1954】3)WADDR MBS HIGH:これ
はマクロブロックにおいて、入ってくるピクチャの高さ
を定義する。
1954) WADDR MBS HIGH: This defines the height of the incoming picture in a macroblock.

【1955】4)WADDR LAST MB IN
ROW:これはマクロブロックの1つの全幅のローにお
ける最後のマクロブロックの左上位のブロックのブロッ
ク数を定義する。ブロックナンバリングは左端のマクロ
ブロックの左上コーナーの0からスタートし、フレーム
を横切って各ブロック毎に増加し、マクロブロックロー
内の次のブロック・ローへと続く。
[1955] 4) WADDR LAST MB IN
ROW: This defines the block number of 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, increases for each block across the frame, and continues to the next block row in the macroblock row.

【1956】5)WADDR LAST MB IN
HALF ROW:これは前のアイテムと同様である
が、マクロブロックの半幅のローにおける最後のマクロ
ブロックの左上位のブロックのブロック数を定義する。
[1956] 5) WADDR LAST MB IN
HALF ROW: This is the same as the previous item, but defines the number of blocks in the upper left of the last macroblock in the half width row of the macroblock.

【1957】6)WADDR LAST ROW IN
MB:これはマクロブロックのロー内の最後のブロッ
クのローにおける左端のブロックのブロック数を定義す
る。 7)WADDR BLOCKS PER MB RO
W:これはマクロブロックの1つの全幅のローに含まれ
る全ブロック数を定義する。
[1957] 6) WADDR LAST ROW IN
MB: This defines the block number of the leftmost block in the last block row in the macroblock row. 7) WADDR BLOCKS PER MB RO
W: This defines the total number of blocks contained in one full width row of the macroblock.

【1958】8)WADDR LAST MB RO
W:これはピクチャ内のマクロブロックの最後のローに
おける左端のマクロブロックの左上位のブロックアドレ
スを定義する。
[1958] 8) WADDR LAST MB RO
W: This defines the upper left block address of the leftmost macroblock in the last row of the macroblock in the picture.

【1959】9)WADDR HBS:これは入ってく
るピクチャのブロックの幅を定義する。
9) WADDR HBS: This defines the width of the incoming picture block.

【1960】10)WADDR MAXHB:これは1
つのマクロブロック内のブロックのローにおける右端の
ブロックのブロック数を定義する。
[1960] 10) WADDR MAXHB: This is 1
Defines the number of rightmost blocks in a row of blocks within one macroblock.

【1961】11)WADDR MAXVB:これはブ
ロックにおける、1つのマクロブロックの高さ−1を定
義する。
19) WADDR MAXVB: This defines the height-1 of one macroblock in the block.

【1962】それに加えて、DRAMの組織を定義する
レジスタをプログラムしなければならない。これらのレ
ジスタは3バッファベースのレジスタ、及びn成分オフ
セットレジスタであり、この場合、nはデータストリー
ムにおいて予測される成分数である(それはデータスト
リームにおいて定義することができ、1最小限及び3最
大限であり得る)。
[1962] In addition, the registers that define the organization of the DRAM must be programmed. These registers are three-buffer-based registers and n-component offset registers, where n is the number of components expected in the data stream (which can be defined in the data stream, 1 min and 3 max Limit).

【1963】多くのパラメータがブロック数もしくはブ
ロックアドレスを指定することに注意。これは最終アド
レスがブロックアドレスであると予測され、計算は累積
アルゴリズムに基づくからである。
Note that many parameters specify the number of blocks or block address. This is because the last address is expected to be a block address and the calculation is based on an accumulation algorithm.

【1964】図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 shown in FIG. 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 3.5 State Machine Operation The buffer manager state machine has 19 states, details of which are shown in Tables 257 and 258. These are, as shown in FIG. 173, an action explanation and bmlogi.
c. Interact as described in M.

【1965】[1965]

【表257】 [Table 257]

【1966】[1966]

【表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. When the data token is received, the state machine sets the state ID
LE to state ADDR1 and then state A
It moves to DDR5, from which it outputs an 18-bit block address under the control of the 2-wire interface. The calculations performed by states ADDR1 to ADDR5 are as follows: BU WADDR SCLATCH = BU BUFFE
Rn BASE + BU COMPm OFFSET; BU WADDR SCLATCH = BU WADDR
SCRATCH + BU WADDR VMBADD
R; BU WADDR SCLATCH = BU WADDR
-SCRACTH + BU WADDR HMBADD
R; BU WADDR SCLATCH = 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 in the macroblock row (upper left block), which includes the block whose address is calculated.

【1967】2)BU WADDR HMBADDR:
マクロブロックのカラムの上位マクロブロックの(左上
位のブロック)ブロックアドレス、そこにアドレスが計
算されるブロックが含まれる。
[1967] 2) BU WADDR HMBDDR:
The block address of the upper macroblock (upper left block) of the column of the macroblock, which includes the block whose address is calculated.

【1968】3)BU WADDR VBADDR:ブ
ロックのローの左端の、マクロブロックロー内のブロッ
クアドレス、そこにアドレスが計算されるブロックが含
まれる。
[1968] 3) BU WADDR VBADDR: The block address in the macroblock row at the left end of the row of the block, which includes the block whose address is calculated.

【1969】4)BU WADDR HB:アドレスが
計算されるブロックの、マクロブロック内の水平ブロッ
ク数。
[1969] 4) BU WADDR HB: The number of horizontal blocks in the macro block of the block whose address is calculated.

【1970】5)BU WADDR SCRATCH:
中間結果の一時的記憶のために使用されるスクラッチレ
ジスタ。
[1970] 5) BU WADDR SCLATCH:
Scratch register used for temporary storage of intermediate results.

【1971】図172を考慮し、例えば、そのアドレス
が0x62Dであるブロックの計算を取り上げると、以
下の計算シーケンスが発生する: スクラッチ=BUFFERn BASE+COMPm
OFFSET;(0と仮定) スクラッチ=0+0x5D8; スクラッチ=0x5D8+0x28; スクラッチ=0x600+0x2C; ブロックアドレス=0x62C+1=0x62D; 様々なレジスタの内容を図に示す。
[1971] 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.

【1972】C.3.5.2 「新しいスクリーンロケ
ーションパラメータの計算」 アドレスが出力されたら、ステートマシーンは上記の様
々なスクリーンロケーションパラメータを更新するため
に計算を実行し続ける。ステートHB及びMB0〜MB
6が計算を行い、あるポイントにおいてステートデータ
に制御を伝送し、ステートデータからデータトークンの
残りが出力される。
[1972] C.I. 3.5.2 Calculation of New Screen Location Parameters Once the address is output, the state machine continues to perform calculations to update the various screen location parameters described above. State HB and MB0-MB
6 performs the calculation and transfers control to the state data at some point, from which the rest of the data token is output.

【1973】これらのステートはペアで進行し、第1の
ペアは現在のカウントとその終末値との差を計算し、0
フラグを発生させる。第2のペアはレジスタをリセット
するか、あるいは(スクリーンサイズから引き出される
セットアップレジスタにおけるバリューに基づいて)固
定オフセットを加算する。いずれの場合にも、考慮中の
カウントがその終末値に達すると(つまり、0フラグが
設定されると)、制御はステートのMBシーケンスを下
方へと続ける。そうでなければ、全てのカウントは正し
い(次のアドレス計算の準備が整っている)とみなさ
れ、制御はステートデータを伝送する。
[1973] These states proceed in pairs, the first pair calculating the difference between the current count and its terminal value,
Generate a flag. The second pair resets the registers 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 end value (ie, the 0 flag is set), control continues down the MB sequence of states. Otherwise, all counts are considered correct (ready for next address calculation) and control transmits state data.

【1974】加算もしくは減算の使用を含む全てのステ
ートは、完了するため(標準のリップル・キャリアダー
の使用を許す)2つのサイクルを取り、これはアダーベ
ースのステートのために1と0の間で交替するフラグ、
fc(最初のサイクル)の使用により達成される。
All states, including the use of addition or subtraction, take two cycles to complete (allowing use of the standard ripple carrier), which is between 1 and 0 for adder-based states. Flag to be replaced by
This is achieved by using fc (first cycle).

【1975】アドレス計算及びスクリーンロケーション
計算ステートの全てが、好ましい2線式インターフェー
ス条件を仮定して、データが出力されるようにする。
The address calculation and screen location calculation states all assume that the preferred two-wire interface conditions allow data to be output.

【1976】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サイク
ルだけ遅延される)。
[1976] C.I. 3.5.2.1 "Calculation for the standard
(MPEG-style) sequence "The sequence of the operation 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;} state MB1 and MB2: scratch = vb addr-last row in mb; if (z) vb addr = 0; else v vb addr = vb addr + width in block; MB states MB3 and MB4: scratch = hmb addr-last mb in row; if (z) hmb addr = 0; else h hmb addr = hmb addr + maxhb; new state = DATA } States MB5 and MB6: scratch = vmb addr-last mb row; if (! Z) vmb addr = vmb addr + blocks per mb row; (vmb addr is a picture start from the time when the picture end is inferred from the calculation. Reset after a token is detected.) 3.5.2.2 “H.261 calculation sequence” The H.261 calculation sequence branches off from the standard sequence in state MB4: state HB and MB0: as described above state HB1 and MB2: as described above state HB3 and MB4: scratch = hmb addr-last mb in row; if (z & (mod3 == 2)) / * end of slice on right of screen * / hhmb addr = 0; new state = MB5; elelse if (z) / * end of low on fresh * border / bright 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 & (mod 3 == 2) slice on left of screen * / {hmb addr = hmb addr + maxhb; new state = MB4C; elelse if (z) / * end of left on screen / available; 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 to zero. State PIC ST2 and PIC ST3
Are patroled once for each component, and hmb a
Reset ddr and vmb addr, respectively. Control then proceeds to state IDLE via state OUTPUT TAIL.
Return to C. 3.5.4 Operation on DEFINE SAMPLING Token Upon receipt of a DEFINE SAMPLING token, the component registers are loaded with the least significant two bits of input data. In addition, state HSAM
Via P and VSAMP, the maxhb and maxvb registers for that component are loaded. Furthermore,
The appropriate defined sampling event bit is triggered (delayed by one cycle to ensure that all tokens are written).

【1977】C.3.5.5 「HORIZONTAL
MBS及びVERTICAL MBS上のオペレーシ
ョン」 HORIZONTAL MBS及びVERTICAL
MBSの各々が到着すると、トークンに含まれる14ビ
ットバリューが2つのサイクルで適切なレジスタに書き
込まれる。関連イベントビットがトリガーされ、1サイ
クル分遅延される。
[1977] C.I. 3.5.5 "HORIZONTAL
Operation on MBS and VERTICAL MBS "HORIZONTAL MBS and VERTICAL
As each MBS arrives, the 14-bit value contained in the token is written to the appropriate register in two cycles. The associated event bit is triggered and delayed by one cycle.

【1978】C.3.5.6 「他のトークン」 コーディングスタンダードトークンが検出され、トップ
レベルのBU WADDR COD STDレジスタに
入力データが書き込まれるようにする。これがデコード
され、(H261ではなく)nh261フラグがバッフ
ァマネージャブロックにハードワイヤードされる。他の
全てのトークンが制御をステートOUTPUT TAI
Lに動かし、トークンが完了するまでそのステートがデ
ータをアクセプトする。しかしながら、それは如何なる
データも実際には出力しないことに注意。
[1978] C.I. 3.5.6 "Other Tokens" Coding standard tokens are detected and 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 to the buffer manager block. All other tokens control state OUTPUT TAI
Move to L and the state accepts data until the token is completed. Note, however, that it does not actually output any data.

【1979】セクションC.4 「リードアドレス発生
器」 C.4.1 「展望」 本発明のリードアドレス発生器は4つのステートマシー
ン/データパスブロックから成る。まず、dlineが
ラインアドレスを発生させ、それらを他の3つの(各成
分用に1つづつの)同じページ/ブロックアドレス発生
器、dramctlsに分配する。全てのブロックは2
線式インターフェースによってつながれる。オペレーシ
ョンモードは飛び越し/順送り型、最初のフィールド上
位/下位、及び上位/下位/両方のフレームスタートの
全ての組合せを含む。表259、表260はdispa
dr制御レジスタの名前、アドレス、及びリセットステ
ートを示し、セクションC.13において両アドレス発
生器用のプログラミングの例を示す。
[1979] Section C. 4 "Read address generator" 4.1 "Outlook" The read address generator of the present invention consists of four state machine / data path blocks. First, dline generates line addresses and distributes them to the other three (one for each component), the same page / block address generator, dramctls. All blocks are 2
Connected by a line interface. The operation modes include all combinations of jump / forward, first field upper / lower, and upper / lower / both frame start. Table 259 and Table 260 are dispa
dr control register name, address, and reset state. 13 shows an example of programming for both address generators.

【1980】C.4.2 「ラインアドレス発生器(d
line)」 このブロックは各成分のためにラインアドレス発生器を
計算する。表259、表260はdlineにおける1
8ビットのデータパスレジスタを示す。
[1980] C.I. 4.2 "Line address generator (d
line) "This block computes a line address generator for each component. Table 259 and Table 260 show 1 in dline.
8 shows an 8-bit data path register.

【1981】DISP register name及
びADDR register name DISP
nameレジスタの区別はdispaddrのみにおい
てであり、DRAMから読み出される表示エリアに対し
てそのレジスタが特別であることを意味する。ADDR
nameはそのレジスタが外部バッファの構造に関す
る何かを説明することを意味する。
[1981] DISP register name and ADDR register name DISP
The distinction of the name register is 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.

【1982】オペレーション リピート等の全てのモードを無視する、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 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]) w 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; V VB CNT COMP [comp] = VB CNT COMP [comp] +1; line count [comp] == 0;}}

【1983】[1983]

【表259】 [Table 259]

【1984】[1984]

【表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.
Modified by control register.

【1985】[1985]

【表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 that is 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 block boundaries, the output controller can clip (discard) extra lines,
This is a feature of backup.

【1986】C.4.3.2 「DISPADDR A
CCESS」 これはdispaddr全体のためのアクセスビットで
ある。このロケーションに「1」を書き込むと、dis
paddrがクロックに同期して停止される。このステ
ートに達すると、全てのdispaddrレジスタに対
する非同期upiアクセスを遂行しても安全である。ア
クセスビットが「1」になるまで、upiがデータパス
レジスタから能動的に締め出されることに注意。現在の
表示またはデータパスオペレーションを崩壊させること
なくdispaddrに対するアクセスを達成するため
に、アクセスは以下の状況下でのみ与えられ、リリース
される。
[1986] 4.3.2 "DISPADDR A"
CCESS "This is the access bit for the entire dispaddr. When "1" is written 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 the dispaddr registers. Note that the upi is actively locked out of the datapath register until the access bit goes to "1". In order to achieve access to dispaddr without disrupting the current display or datapath operation, access is granted and released only under the following circumstances:

【1987】ストッピング:データパスがその現在の2
サイクルオペレーションを完了した場合(1回のオペレ
ーションを行った場合)、そして出力コントローラから
の「安全」信号が高い場合にのみアクセスが認められる
であろう。この信号は表示ウインドの下のスクリーン上
のエリアを表し、出力コントローラ(dispaddr
ではない)においてプログラムされる。従って、dis
paddrに対するアクセスを得ようとする前に、出力
コントローラをプログラムすることが必要であることに
注意。
[1987] Stopping: The data path is
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 the output controller (dispaddr).
Not). Therefore, dis
Note that it is necessary to program the output controller before attempting to gain access to paddr.

【1988】スターティング・アクセスは「安全性」が
高い時、もしくはvsyncの間にのみリリースされる
であろう。これは表示が活性ウインドーにあまりに近付
いてスタートしないことを保証する。
The starting access will be released only when "secure" is high or during vsync. This ensures that the display does not start too close to the active window.

【1989】このスキームは制御ソフトウェアがアクセ
ス、ディスプレイ・エンドまで登録、dispaddr
を修正、及びアクセスをリリース等をリクエストできる
ようにする。ソフトウェアがあまりに遅く、vsync
の後までアクセスビットをリリースしない場合、dis
paddrは次の安全な期間までスタートしないであろ
う。ボーダーカラーは(つまらないものというよりむし
ろ)この「失われた」ピクチャの間に表示されるであろ
う。 C.4.3.3 「DISPADDR CTLO[7:
0]」 以下の説明を読む際に、飛び越しデータと飛び越し表示
の間の区別を理解することが重要である。
[1989] In this scheme, the control software accesses, registers up to the display end, and dispaddr.
, And allow access to request release, etc. Software is too slow, vsync
If the access bit is not released until after
paddr will not start until the next safe period. Border colors will be displayed during this "lost" picture (rather than boring ). C. 4.3.3 "DISPADDR CTLO [7:
0] "When reading the following description, it is important to understand the distinction between interlaced data and interlaced display.

【1990】飛び越しデータには2つの形態があり得
る。トップレベルレジスタはフィールド・ピクチャ(各
々のバッファが1つのフィールドを含む)とフレーム
(飛び越されていようとなかろうと、各々のバッファが
全体のフレームを含む)を支持する。
The skip data can have two forms. The top-level register supports field pictures (each buffer contains one field) and frames (whether or not skipped, each buffer contains the entire frame).

【1991】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と同期させる必
要があるかもしれない。
[1991] DISPADDR CTL0 [7: 0] contains the following control bits: SYNC MODE [1: 0] In the interlaced display, the vsyncs referring to the top to bottom fields are distinguished by the field info pin. In such a situation, the fieldinfo
= HIGH means the top field. These two control bits determine which vsyncs dispaddr
Determines whether to request a new display buffer from the buffer manager, thus synchronizing the fields in the buffer (if 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
It will request a buffer from the buffer manager on the ync. Dispadd until buffer is ready
r will receive a 0 (no display) buffer. When you finally receive 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.

【1992】READ START スタートアップ時の飛び越し表示のために、このビット
はどのvsyncディスプレイ上で実際スタートするか
を決定する。更に、ディスプレイバッファインデックス
を受け取った後、dispaddrはディスプレイ上の
フィールドをバッファ内のフィールドと整列させるため
に、現在のvsyncを「居残らせ」てもよい。
[1992] READ START For jump display at startup, this bit determines on which vsync display to actually start. Further, after receiving the display buffer index, dispaddr may "leave" the current vsync to align the fields on the display with the fields in the buffer.

【1993】INTERLACED/PROGRESS
IVE 0:Progressive(順送り型) 1:Interlaced(飛び越し) 順送りモードでは、全てのラインがバッファのディスプ
レイエリアから読まれる。飛び越しモードでは、交互の
ラインが読まれる。リーディングが最初のラインからス
タートするか、二番目のラインからスタートするかはf
ield info次第である。(飛び越し)フィール
ド・ピクチャでは、システムが各バッファからの全ての
ラインを読みたいと望むので、このビットのセッティン
グは順送り型であろうということに注意。field
infoと第1/第2のライン間のマッピングはlsb
invert(歴史的な理由からそう名付けられた)
により反転されてもよい。
[1993] INTERLACED / PROGRESS
IVE 0: Progressive 1: Interlaced In forward mode, all lines are read from the display area of the buffer. In the jump mode, alternating lines are read. Whether reading starts from the first line or the second line is f
It depends on the field info. Note that in a (interlaced) field picture, the setting of this bit will be progressive, since the system wants to read all lines from each buffer. field
The mapping between info and the first / second line is lsb
invert (named so for historical reasons)
May be inverted.

【1994】LSB INVERT 設定されると、このビットはラインカウンタによって見
られるfield info信号を反転する。このよう
に、リーディングはフレームの正しいライン上でスター
トされ、エンコーダ、ディスプレイ、またはトップレベ
ルレジスタが採用する規定に関わりなく、ディスプレイ
に整列させられてもよい。
LSB INVERT When set, this bit inverts the field info signal seen by the line counter. In this way, reading may start on the correct line of the frame and be aligned to the display regardless of the convention employed by the encoder, display, or top-level register.

【1995】LINE RPT[2:0] 設定されると、各々のビットは対応する成分のラインを
二度読ませる(ビット0が成分0に影響を与える等)。
これは垂直のアンサンプリングの最初の部分を形成す
る。それはQFIFから601への変換のために要求さ
れる8回の色アンサンプリングに使用される。
[1995] 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.

【1996】COMPOHOLD このビットは成分1及び2のライン数に対する、成分0
のため(表示されるものに対立するものとして)読まれ
るライン数の比率をプログラムするために使用される。
[1996] COMPOHOLD This bit sets the number of lines for components 1 and 2 to component 0.
Used to program the ratio of the number of lines read (as opposed to what is displayed).

【1997】0:同じライン数、つまりバッファ内の
4:4:4のデータ 1:成分0ラインの二倍、つまり4:2:0。
0: The same number of lines, that is, 4: 4: 4 data in the buffer 1: Double the 0-component line, that is, 4: 2: 0.

【1998】ページ/ブロックアドレス発生器(dra
mctls) ラインアドレスを通過する時、これらのブロックは一連
のページ/ラインアドレス、及びラインに沿って読むべ
きブロックを発生させる。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 }
[1998] page / block address generator (dra
mctls) When passing a line address, 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 is composed of a bit block stop address. (The number of lines is calculated by dline and the unmodified dram
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 five datapath registers. These are shown in Tables 259 and 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 Tables 259 and 260. Each dr
The basic actions of amct1 are as follows: while (true) {CNT LEFT = 0; GET A NEW LINE ADDRESS from dline; BLOCK ADDR = input block addr + 0; PAGE ADDR + EpTDp = EpntFlogin; (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 + BLT C TFT TFT TFT T FLT TFT TFT TFT TFT TFT TFT TFT TFL T CFT TFT = BLOCK ADDR, stop = CNT LEFT}

【1999】[1999]

【表262】 [Table 262]

【2000】[2000]

【表263】 プログラミング 次の15のdispaddrレジスタはオペレーション
を開始する前にプログラムされなければならない。
[Table 263] Programming The next fifteen dispaddr registers must be programmed before starting operation.

【2001】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及び等価ライトアドレス発生器レジスタが等
しい、つまり、読まれるべきエリアは全バッファである
ことに注意。
[2001] BUFFER BASE0,1,2 DISP COMP OFFSET0,1,2 DISP VBS COMP0,1,2 ADDR HBS COMP0,1,2 DISP COMP0,1,2 Use of reset state of HBS dispaddr control register is 4: 2n Line repeats are not synchronized and the top field (field
d info = HIGH). Figure 168, "Buffer 0 with SIF (22x18 macroblock) picture" shows a buffer setup for a typical SIF picture. (For this example,
C. This will be described in detail in Chapter 13.) In this example, the DI
SP HBS COMPn is ADDR HBS COM
The register DISP VBS equal to Pn and also vertical
Note that COMPn and the equivalent write address generator register are equal, that is, the area to be read is the entire buffer.

【2002】リードアドレス発生器を用いてのウインド
ー処理 バッファの一部(ウインドー)のみを読むようにdis
paddrをプログラムすることが可能である。ウイン
ドーのサイズは、レジスタDISP HBS、DISP
VBS、COMPONENT OFFSET、及びL
INES INLAST ROWにより各成分のために
プログラムされる。図169、「ディスプレイウインド
ーを備えたSIF成分0」は、これが如何にして(成分
0だけのために)達成されるかを示している。
[2002] Window processing using the read address generator dis so as to read only a part (window) of the buffer
It is possible to program the paddr. The window size is determined by the registers DISP HBS, DISP
VBS, COMPONENT OFFSET, and L
Programmed for each component by INES INLAST ROW. FIG. 169, "SIF Component 0 with Display Window" shows how this is achieved (for component 0 only).

【2003】この例では、レジスタセッティングは以下
の通りであろう: 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 as follows: BUFFER BASE0 = 0x00 DISP COMP OFFSET0 = 0x2D DISP VBS COMP0 = 0x22 ADDR HBS COMP0 = 0x2C DISP HBS COMP0 = 0x2A Notes: You can only start and stop. In this example, LINES IN equal to 7
The LAST ROW was left (meaning all 8).

【2004】・本例は4:4:4のデータ以外のもので
は実用的ではない。調和するために、他の2つの成分の
ためのウインドーエッジはブロック境界上に存在するこ
とができないであろう。
This example is not practical for data other than 4: 4: 4 data. To reconcile, window edges for the other two components would not be able to lie on block boundaries.

【2005】・色空間変換はそれが受け取るデータが
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 of one slice is shown in FIG. 174, "Slice of Data Path". The registers are only assigned to the drive A or B bus, and they are fully utilized 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 two cycles that make the adder have a normal ripple carry. FIG. 175, "Two-Cycle Operation of the Data Path", shows the timing for the sum of two cycles of the two registers loaded back into the A bus register. Various flags are ph0ed in the datapath to enable ccode generation. For the same reason, the structure of the datapath schematic is a bit unusual.
The tristate for all registers (on the A and B buses) allows for better ccode generation because it is in one block that eliminates the coupling path in the cell. To get upi access to the data path,
The access bit must be set such that the upi is locked out without this. 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 three-byte addressed write strobes is moved to one appropriate byte of a register. . The Upi data bus goes vertically through the data path (copied, 2-8-8 bits) and the 18-bit register is written as three separate byte writes.

【2006】・リーディング:これはA及びBバスを使
用して行われる。ここでも、アクセスビットが設定され
なければならない。アドレスレジスタはAまたはBバス
上に動かされ、upiバイトセレクトが関連バスからバ
イトを取り上げ、それをupiバス上へと動かす。
Reading: This is done using A and B buses. Again, the access bit must be set. The address register is moved onto the A or B bus and the upi byte select picks up a byte from the associated bus and moves it onto the upi bus.

【2007】ダブルサイクルデータパスオペレーション
がA及びBバスにそれらの値を保持するように要求し、
upiアクセスがこれらを崩壊させるので、アクセスは
いずれかのデータパスオペレーションのスタート前に、
ステートマシーンを制御することによってのみ与えられ
なければならない。
A double cycle data path operation requires the A and B buses to hold their values,
The access is broken before the start of any datapath operation, since the up access disrupts them.
It must only be given by controlling the state machine.

【2008】両アドレス発生器内の全てのデータパスレ
ジスタは、トップレベルアドレス0x28(msb)の
9ビット幅のキーホールを通して、キーホール用には0
x29(lsb)であり、データ用には0x2Aを通し
てアドレスされる。キーホールアドレスを表282〜表
300に示す。
All data path registers in both address generators are passed through a 9-bit wide keyhole at top level address 0x28 (msb) and 0 for the keyhole.
x29 (lsb), addressed through 0x2A for data. Table 282 to Table 300 show the keyhole addresses.

【2009】注: 1)アドレス発生器(dispaddrとwaddrg
en)内の全てのアドレスレジスタはブロック化アドレ
スを包含する。ピクセルアドレスは決して使用されず、
ラインアドレスを包含する唯一のレジスタは、3個のL
INES INLAST ROWレジスタである。
Note: 1) Address generators (dispaddr and waddrg)
All address registers in en) contain the blocked address. Pixel addresses are never used,
The only register containing the line address is the three L
INES INLAST ROW register.

【2010】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 that both require loading. This enables display window processing (reading only a part of the display storage device), and facilitates display of formats other than three-component video.

【2011】セクションC.6 「DRAMインターフ
ェース」 C.6.1 「展望」 本発明においては、空間デコーダ、時間デコーダ、及び
ビデオフォーマッティング部がその特別なチップのため
に各々データトークンブロックを含む。3個全ての装置
において、DRAMインターフェースの機能はチップか
ら外部DRAMへ、そして外部DRAMからチップへ
と、アドレス発生器により供給されるブロックアドレス
を介してデータを伝送することである。
[2011] Section C. 6 "DRAM interface" 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 its special chip. In all three devices, the function of the DRAM interface is to transmit data from the chip to the external DRAM and from the external DRAM to the chip via block addresses provided by the address generator.

【2012】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 approximately the same frequency.

【2013】データは通常DRAMインターフェースと
64バイトのブロック内の残りのチップとの間で伝送さ
れる(唯一の例外は時間デコーダ内の予測データであ
る)。伝送は「スイングバッファ」として知られる装置
によって行われる。これは本質的にダブルバッファされ
た配置で操作される一対のRAMであり、DRAMイン
ターフェースが1つのRAMを詰めるか空にしている間
に、チップの他の部分が他のRAMを空にするか詰めて
いる。アドレス発生器からアドレスを運ぶ別のバスが各
々のスイングバッファと連合する。
Data is usually transmitted between the DRAM interface and the remaining chips in a block of 64 bytes (the only exception being the prediction data in the temporal decoder). The transmission is performed by a device known as a "swing buffer". This is essentially a pair of RAMs that are operated in a double buffered arrangement, while the DRAM interface packs or empties one RAM while the other part of the chip empties the other RAM. I'm packed. A separate bus carrying addresses from the address generator is associated with each swing buffer.

【2014】各々のチップは4つのスイングバッファを
持つが、これらのスイングバッファの機能は各々の場合
により異なる。空間デコーダにおいて、コード化データ
をDRAMに伝送するために1つのスイングバッファが
使用され、DRAMからコード化データを読むために別
のスイングバッファが使用され、トークン化データをD
RAMに伝送するために3番目のスイングバッファが、
またDRAMからトークン化データを読むために4番目
のスイングバッファが使用される。時間デコーダにおい
ては、イントラもしくは予測されたピクチャデータをD
RAMに書き込むために1つのスイングバッファが使用
され、DRAMからイントラもしくは予測されたピクチ
ャデータを読むために2番目のスイングバッファが使用
され、他の2つはフォワード及びバックワード予測デー
タを読むために使用される。ビデオフォーマッティング
部においては、1つのスイングバッファがDRAMにデ
ータを伝送するために使用され、他の3つがDRAMか
らデータを読むために使用されるが、それは各々輝度
(Y)、及び赤と青の色差データ(各々Cr及びCb)
である。
Each chip has four swing buffers, and the functions of these swing buffers are different in each case. In the spatial decoder, one swing buffer is used to transmit the coded data to the DRAM, another swing buffer is used to read the coded data from the DRAM, and
A third swing buffer to transfer to RAM
A fourth swing buffer is used to read tokenized data from the DRAM. In a temporal decoder, intra or predicted picture data is
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 predicted 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 respectively luminance (Y), and red and blue. Color difference data (Cr and Cb respectively)
It is.

【2015】DRAMインターフェースの一般的な特徴
のオペレーションについては、空間デコーダー文書にお
いて記載している。次のセクションは本発明によるDR
AMインターフェースの特徴、特にビデオフォーマッテ
ィング部に特有の特徴について説明する。
The operation of the general features of the DRAM interface is described in the spatial decoder documentation. The next section describes the DR according to the invention.
The features of the AM interface, particularly the features unique to the video formatting unit, will be described.

【2016】C.6.2 「ビデオフォーマッティング
部DRAMインターフェース」 ビデオフォーマッティング部において、データはブロッ
クで外部DRAMに書き込まれるが、ラスターオーダー
で読み出される。ライティングは空間デコーダに関して
既に説明したことと正確に同じであるが、リーディング
は少々複雑である。
[2016] C. 6.2 "Video Formatting Unit DRAM Interface" In the video formatting unit, data is written to the external DRAM in blocks, but is read out 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.

【2017】ビデオフォーマッティング部外部RAM内
のデータは少なくとも8ブロックのデータが1ページに
収まるように組織化される。これら8ブロックは8個の
連続的な水平ブロックである。ラスター化する際に、8
個の連続ブロックの各々から8バイトを読み出し、それ
をスイングバッファに書き込む(つまり、8ブロックの
各々に同じロー)ことが必要である。
Video Formatting Unit The data in the external RAM is organized so that at least eight blocks of data fit on one page. These eight blocks are eight consecutive horizontal blocks. When rasterizing, 8
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).

【2018】トップフローを考えてみる(そしてバイト
幅のインターフェースを仮定する)と、xアドレス(3
LSB)が0に設定され、yアドレス(3MSB)も同
様である。xアドレスは次に、最初の8バイトの各々が
読み出されるにつれて増分される。この時点で、アドレ
スの上位部分(ビット6以上−LSB=ビット0)が増
分され、xアドレス(3LSB)は0にリセットされ
る。このプロセスは64バイトが読み出されるまで繰り
返される。外部DRAMに対する16または32ビット
幅のインターフェースでは、xアドレスは1の代わりに
2または4だけ単に増分される。
Considering the top flow (and assuming a byte-wide interface), the x address (3
LSB) is set to 0, and the same applies to the y address (3MSB). The x address is then incremented as each of the first eight bytes are read. At this point, the upper part of the address (bits 6 and above—LSB = bit 0) is incremented, and the x address (3LSB) is reset to zero. This process is repeated until 64 bytes have been read. For a 16 or 32 bit wide interface to an external DRAM, the x address is simply incremented by 2 or 4 instead of 1.

【2019】アドレス発生器は8バイトの倍数が常に読
まれるが、64以下のバイトが読まれるべきである(こ
れはラスターラインの始まりまたは終わりにおいて要求
される)という信号をDRAMインターフェースに送る
ことができる。これはスタート及びストップバリューを
使用して行われる。スタートバリューはアドレスの上位
部分(6ビット以上)のために使用され、ストップバリ
ューがこれと比較され、リーディングをストップすべき
であることを指示する信号が発せられる。
The address generator can send a signal to 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 a raster line). it can. This is done using start and stop values. The start value is used for the upper part of the address (6 bits or more), the stop value is compared to this and a signal is issued indicating that reading should be stopped.

【2020】セクションC.7 「垂直アップサンプリ
ング」 C.7.1 「序文」 1つの色成分のピクセルのラスタースキャンがその入力
にあるとすれば、本発明による垂直アンサンプラは高さ
の2倍の出力スキャンを提供することができる。モード
セレクションにより、出力ピクセルバリューを多くの方
法で形成することができる。
[2020] Section C. 7 "Vertical upsampling" 7.1 Introduction If a raster scan of a pixel of one color component is at its input, a vertical ensampler according to the invention can provide an output scan that is twice as high. With mode selection, the output pixel value can be formed in many ways.

【2021】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]により選択。
C. [2021] 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], upstrr, upwstr ramtest tdin, tdout, tph0, tckm, tcks ph0, ph1, notrst0 C.I. 7.3 “Mode” Selected by input bus mode [2: 0].

【2022】モードレジスタバリュー1及び7は使用さ
れない。
The mode register values 1 and 7 are not used.

【2023】上記モードの各々において、出力ピクセル
は10ビットバリューとして表示され、バイトとしては
表示されない。ラウンディングもしくは打ち切りはこの
ブロックでは行われない。必要に応じて、バリューは同
じ範囲を使用するために左にシフトされる。
In each of the above modes, the output pixels are displayed as 10 bit values, not as bytes. No rounding or censoring is done in this block. If necessary, the values are shifted left to use the same range.

【2024】C.7.3.1 「モード0:Fifo」 ブロックは単にFIFO記憶装置として作用する。出力
ピクセル数は入力ピクセル数と全く同じである。バリュ
ーは2だけ左にシフトされる。
[2024] C.I. 7.3.1 "Mode 0: Fifo" The block acts simply 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 two.

【2025】C.7.3.2 「モード2:Repea
t」 入力スキャン内のあらゆるラインは高さの2倍の出力ス
キャンを作るために繰り返される。ここでも、ピクセル
バリューは2だけ左にシフトされる。
[2025] C.I. 7.3.2 “Mode 2: Repea
t "Every line in the input scan is repeated to make an output scan twice the height. Again, the pixel value is shifted left by two.

【2026】A→ABACBDBCCDD C.7.3.3 「モード4:Lower」 各入力ラインは2つの出力ラインを作り出す。この「下
位」モードでは、これら2つのラインの2番目のもの
(ディスプレイ上の下の方)が入力ラインと同じであ
る。ペアの最初のものは現在の入力ラインと前の入力ラ
インの平均である。前のラインが使用されていない場合
の最初の入力ラインの場合、入力ラインが繰り返され
る。
A → ABACBDBCDCD C.A. 7.3.3 Mode 4: Lower Each input line produces two output lines. In this "lower" mode, the second of these two lines (the lower one on the display) is the same as the input line. The first of the pair is the average of the current input line and the previous input line. For the first input line when the previous line is not used, the input line is repeated.

【2027】これは彩度サンプルが下位輝度サンプルと
共に配置される場所を選択すべきである。
This should select where the chroma samples will be placed along with the lower luminance samples.

【2028】 A→ABAC(A+B)/2DB(B+C)/2C(C+D)/2D C.7.3.4 「モード5:Upper」 「下位」モードと同様であるが、この場合入力ラインは
出力ペアの上位を形成し、下位は隣接する入力ラインの
平均である。最後の出力ラインは最後の入力ラインの繰
り返しである。
A → ABAC (A + B) / 2DB (B + C) / 2C (C + D) / 2D 7.3.4 "Mode 5: Upper" Similar to the "lower" mode, except that the input lines form the upper side of the output pair and the lower side is the average of adjacent input lines. The last output line is a repeat of the last input line.

【2029】これは彩度サンプルが上位輝度サンプルと
共に配置される場所を選択すべきである。
This should select where the chroma samples will be placed along with the higher luminance samples.

【2030】 A→AB(A+B)/2CBD(B+C)/2C(C+D)/2DD C.7.3.5 「モード6:Central」 この「中央」モードは彩度サンプルが輝度サンプルとの
中間にある状況に対応する。出力彩度ピクセルを輝度ピ
クセルと共に配置するために、重み付き平均を使用して
出力ラインを形成する。
A → AB (A + B) / 2CBD (B + C) / 2C (C + D) / 2DD 7.3.5 “Mode 6: Central” This “center” mode corresponds to the situation where the chroma sample is halfway with the luminance sample. An output line is formed using weighted averaging to place the output chroma pixels along with the luminance pixels.

【2031】 A→ AB(3A+B)/4C(A+3B)/4D(3B+C)/4(B+3 C)/4 (3C+D)/4(C+3D)/4D C.7.4 「作用の仕方」仮想的に aとbで指定される2つのラインストアがあ
る。FIFO及びrepeatモードでは、ラインスト
アaだけが使用される。各ストアは512ピクセルまで
のラインを収容できる(垂直アップサンプリングは水平
アップサンプリングの前に行われるべきである)。FI
FOモードにはラインの長さに関する制約がない。
A → AB (3A + B) / 4C (A + 3B) / 4D (3B + C) / 4 (B + 3C) / 4 (3C + D) / 4 (C + 3D) / 4D 7.4 "How to operate" There are two line stores virtually designated by a and b. In FIFO and repeat modes, only line store a is used. Each store can accommodate lines up to 512 pixels (vertical upsampling should occur before horizontal upsampling). FI
The FO mode has no restrictions on the line length.

【2032】in lastpel及びin last
line内の入力信号は、入力ラインの終わりとピクチ
ャの終わりを指示するために使用される。in las
tpelにおいては、入力信号は各ラインの最後のピク
セルと強く一致すべきである。in lastline
においては、入力信号はピクチャの最後のラインの最後
のピクセルと強く一致すべきである。
[2032] 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 of each line. in lastline
In, the input signal should strongly match the last pixel of the last line of the picture.

【2033】出力信号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 for the second time, writing of the next line may be started.

【2034】lower、upper及びcentra
lモードでは、ラインはストアa及びbに交互に書き込
まれる。ピクチャの最初のラインは常にストアaに書き
込まれる。2個の小さなステートマシーン、各ストア用
に1つづつ、が各々のストアに何があるか、そしてどの
出力ラインが形成されているかを記憶する。これらのス
テートからリードとライトのリクエスト、及び次のライ
ンをいつ現在のデータにオーバーライトするかを決定す
る信号がラインストアRAMに発せられる。
[2034] lower, upper and centra
In the 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, remember what is in each store and which output lines are being formed. From these states, read and write requests and signals determining when to overwrite the next line with the current data are issued to the line store RAM.

【2035】in lastpelが高い時、レジスタ
(lastaddr)がライトアドレスを記憶し、それ
によって、出力ラインの形成のためにライン長を提供す
る。 C.7.5 「UPI」 このブロックは2個の512x8ビットのRAMアレイ
を含み、それは典型的な方法でマイクロプロセッサイン
ターフェースを介してアクセスされ得る。マイクロプロ
セッサアクセスを持つレジスタはない。
When in lastpel is high, a register (lastaddr) stores the write address, thereby providing a 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 a microprocessor interface in a typical manner. No register has microprocessor access.

【2036】セクションC.8 「水平アップ・サンプ
ラ」 C.8.1 「展望」 本発明においては、トップレベルレジスタは、各色成分
のために1つづつ、3個の同じ水平アップ・サンプラを
具備する。3個全ては別々に制御されるので、1つだけ
についてここで説明する。ユーザーの観点から、唯一の
違いは各水平アップ・サンプラがメモリーマップ内の異
なるアドレスセットにマップされることである。
[2036] Section C. 8 "Horizontal Up Sampler" 8.1 "Outlook" In the present invention, the top level register comprises three identical horizontal up samplers, one for each color component. Since all three are controlled separately, only one will be described here. From a user perspective, the only difference is that each horizontal upsampler is mapped to a different set of addresses in the memory map.

【2037】水平アップ・サンプラは複製とフィルタリ
ングを組み合わせたオペレーションを遂行する。全てに
おいて、4つのオペレーションモードがある。
The horizontal up sampler performs an operation that combines duplication and filtering. In all, there are four modes of operation.

【2038】[2038]

【表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 one 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 of the coefficient registers can be used. The equivalent FIR filter will be described below.

【2039】オペレーションモードに応じて、入力、X
nは1、2、または4クロック期間の間一定に保持され
る。各モードのためにプログラムされる実際の係数は以
下の通りである:
[2039] Depending on the operation mode, input, X
n is held constant for one, two, or four clock periods. The actual coefficients programmed for each mode are as follows:

【2040】[2040]

【表265】 [Table 265]

【2041】[2041]

【表266】 [Table 266]

【2042】[2042]

【表267】 特定のモードで使用されない係数は、そのモードで操作
する時にはプログラムする必要がない。
[Table 267] Coefficients not used in a particular mode need not be programmed when operating in that mode.

【2043】均整のとれたフィルタリングを行うために
各ラインの最初と最後のピクセルがフィルタリングの前
に繰り返される。例えば、2によってアップ・サンプリ
ングをする場合、各ラインの最初と最後のピクセルが2
度ではなく、4度複製される。フィルタ内の残留データ
が各ラインの終わりで捨てられるので、ピクセル数の出
力は常に正確に入力ストリーム内の数字の1倍、2倍ま
たは4倍である。
The first and last pixels of each line are repeated before filtering in order to provide a smooth filtering. For example, when up-sampling by 2, the first and last pixels of each line are 2
It is duplicated four times, not degrees. Since the residual data in the filter is discarded at the end of each line, the output of the number of pixels is always exactly one, two or four times the number in the input stream.

【2044】係数値に応じて、出力サンプルは入力サン
プルと一致して置かれるか、あるいは入力サンプルから
シフトされて置かれる。あるサンプルモードでの係数値
の幾つかの例を下記に記す。“−”は係数値が「気にし
なくてよい」であることを指示する。全ての値を16進
法で示す。
Depending on the coefficient values, the output samples are placed either coincident with the input samples or shifted out of the input samples. Some examples of coefficient values in a certain sample mode are described below. "-" Indicates that the coefficient value is "don't care". All values are shown in hexadecimal.

【2045】[2045]

【表268】 C.8.3 「水平アップ・サンプラの説明」 水平アップ・サンプラのデータパスを図177に示す。[Table 268] C. 8.3 "Description of Horizontal Up Sampler" FIG. 177 shows the data path of the horizontal up sampler.

【2046】オペレーションは×4アップ・サンプルの
場合を取り上げ、下記に概略する。それに加えて、×2
アップ・サンプリングと×1フィルタリング(モード2
及び1)はこれの変質ケースであり、全フィルタを迂回
し(モード0)、データは図示するように、入力ラッチ
から出力ラッチへと最後のマックスを介して直接進む。
The operation takes the case of x4 up samples and is outlined below. In addition, × 2
Up-sampling and x1 filtering (mode 2
And 1) are a perturbation case of this, bypassing all filters (mode 0) and data going directly from the input latches to the output latches through the last max as shown.

【2047】1)有効なデータが入力においてラッチさ
れる場合 ラッチ(L)、それは4クロック期間の間保持される。
1) If valid data is latched at the input Latch (L), it is held for four clock periods.

【2048】2)(C/OE/FFというラベルが貼ら
れた)係数レジスタは、それぞれ順番に、4個の(PI
PEというラベルが貼られた)パイプラインレジスタの
2セットがクロックされるのと同時に、1クロック期間
の間乗算器の上に多重送信される。こうして、入力デー
タXnのために、最初のPIPEにバリューc00.X
n、c01.Xn、c02.Xn、c03.Xnが詰められ
るであろう。
2) Each of the coefficient registers (labeled C / OE / FF) has four (PI
Two sets of pipeline registers (labeled PE) are clocked and simultaneously 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.

【2049】3)同様に、第2の乗算器が順にその係数
にXnを掛け、第3の乗算器が順にその係数全てにXnを
掛けるであろう。
3) Similarly, a second multiplier would in turn multiply that coefficient by Xn and a third multiplier would in turn multiply all its coefficients by Xn.

【2050】出力は表269に示した形態のものであろ
うことが解るであろう。
It will be appreciated that the output will be of the form shown in Table 269.

【2051】[2051]

【表269】 出力の観点から、各クロック期間は個々のピクセルを作
り出す。各出力ピクセルが12入力ピクセルの重み付き
バリューに依存するので(3つしか異なるバリューは存
在しないが)、これは×4アップ・サンプルされた入力
ピクセル上に12タップフィルタを実装するものとして
考えられる。
[Table 269] From an output perspective, each clock period produces an individual pixel. This can be thought of as implementing a 12-tap filter on the x4 up-sampled input pixels, since each output pixel depends on the weighted value of the 12 input pixels (though there are only three different values). .

【2052】×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 coefficients are used and the PIPE block is shortened by the multiplier shown. For × 1 filtering,
The input is held only for one clock period. As expected, one coefficient and one PIPE stage are used.

【2053】次に、本発明における実装の特異性に関し
て少々説明する。
Next, the specificity of the implementation in the present invention will be described a little.

【2054】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 a horizontal up sampler.

【2055】2)係数を乗算器上に多重送信するマルチ
プレクサは、UPIリードバックと共有される。これは
概略図の構造において(基本的にCCODE発生におけ
る困難さの故に)ある種の複雑さを導き出すが、実際の
回路はそれより小さなものである。
2) A multiplexer that multiplexes coefficients onto a multiplier is shared with UPI readback. This introduces some complexity in the schematic structure (essentially due to the difficulty in CCODE generation), but the actual circuit is smaller.

【2056】3)色空間コンバータにおけるように、キ
ャリセーブ乗算器が使用され、その結果は終わりの時点
で分解されるだけである。
3) As in the color space converter, a carry-save multiplier is used, the result of which is only resolved at the end.

【2057】水平アップ・サンプラ全体用の制御は、そ
の入力上にある時、入力におけるデータ量の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 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 through the 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. It then controls the main state machine, whose state is further (2
In valid, out (for wire interface)
Accept and the signal in last. This signal is sent from the vertical up sampler,
Raised for the last pixel in each line. This causes the first and last pixel of each line to be duplicated twice,
Clear the pipeline between the lines (immediately after the line is completed, the pipeline contains partially processed redundant data).

【2058】セクションC.9 「色空間コンバータ」 C.9.1 「展望」 本発明における色空間コンバータ(CSC)は入ってく
る9ビットデータに3×3マトリックスのかけ算を行
い、その後加算を行う:
[2058] Section C. 9 "Color space converter" 9.1 “Outlook” The color space converter (CSC) in the present invention multiplies incoming 9-bit data by a 3 × 3 matrix and then adds:

【2059】[2059]

【数6】 x0−2が入力データである場合、y0−2が出力デー
タとなり、cnmが係数である。概略図において名前は
信号名に対応するので、マトリックス係数に関して、少
々型破りのネーミングは慎重にするべきである。
(Equation 6) When x0-2 is input data, y0-2 is output data, and cnm is a coefficient. Some unconventional naming should be used with care for the matrix coefficients, since the names correspond to the signal names in the schematic.

【2060】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番目の式だけが
関連する。
The CSC can perform conversions between many different color spaces, but a limited set of these conversions is used in the top-level registers. The design color space conversion is as follows: ER, EG, EB → Y, CR, CBR, 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.511);
All other quantities are in the range (32.470). The inputs to the top level register CSC are Y, CR, CB
Therefore, only the third and fourth of these equations are relevant.

【2061】CSCデザインでは、係数の精度は、9ビ
ットデータ用には、全ての出力がアルゴリズムの全浮動
小数点シミュレーションにより作られるバリューの+1
または−1ビット以内であるように選ばれた(これは達
成し得る最良の精度である)。これはcx0−cx3用
に13ビットの2の補数係数を与え、cx4用に14ビ
ットの2の補数係数を与えた。全てのデザイン変換用の
係数を下記に、10進法と6進法の両方で記す。
In the CSC design, the precision of the coefficients is, for 9-bit data, +1 of the value created by all floating point simulations of the algorithm for all outputs.
Or within -1 bit (this is the best accuracy that can be achieved). This provided 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 listed below in both decimal and hexadecimal.

【2062】[2062]

【表270】 [Table 270]

【2063】[2063]

【表271】 これら全てのナンバーは以下の基本式: Y=0.299ER+0.587EG+0.0114EB そして、以下の色差式から計算される: CR=ER−Y CB=EB−Y R、G及びBにおける式はこれらの量の全範囲を考慮し
た後、これらから引き出される。
[Table 271] All these numbers are calculated from the following basic formula: Y = 0.299 ER + 0.587 EG + 0.0114 EB and the following color difference formula: CR = ER-Y CB = EB-Y The formulas in R, G and B are It is derived from these after considering the full range of quantities.

【2064】C.9.2 「色空間コンバータの使用」 リセット後、c01、c12、c23が1に設定され、
他の全ての係数が0に設定される。こうして、y0=x
0、y1=x1、y2=x2、及び全てのデータが無変
更のまま送られる。色空間変換を選択するには、単に
(例えば、表270、表271からの)適当な係数をア
ドレスマップ内に指定されるロケーションに書き込むだ
けでよい。
[2064] 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, one simply writes the appropriate coefficients (eg, from Table 270, Table 271) to the locations specified in the address map.

【2065】概略図において、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, corresponding to y0. . 2 is out data
0. . Corresponds to 2. It should be remembered that the user must upsample 4: 4: 4 input data to the CSC. Failure to do this will not only make the color space conversion meaningless, but will also lock the chip.

【2066】注意すべきことは、各々の出力が係数と入
力プラス(またはマイナス)定数の可能な組み合わせか
ら形成され得ることである。このように、所定の色空間
変換のために、出力オーダーを変換マトリックス(係数
が書き込まれるアドレス)内のローをスワッピングする
ことにより変更できる。
Note 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 changed by swapping the rows in the conversion matrix (the address where the coefficients are written).

【2067】表270、表271における全ての変換の
ために、CSCが作動することは保証されている。他の
変換を用いる場合、ユーザーは以下の事項を覚えておか
ねばならない: 1)計算の中間結果が(サインビットを除き)10ビッ
ト以上の精度を要求する場合、ハードウェアは作動しな
いであろう。
For all the conversions in Tables 270 and 271, the CSC is guaranteed to work. When using other transforms, the user must remember the following: 1) If the intermediate result of the calculation requires more than 10 bits of precision (except for the sign bit), the hardware will not work .

【2068】2)CSCの出力は0と511にサチュレ
ートされる。つまり、0以下の数が0で置き換えられ、
511以上の数が511で置き換えられる。サチュレー
ションロジックの実行は、結果がわずかに511を越え
ているか、わずかに0以下であると仮定する。CSCが
不正確にプログラムされた場合、出力が常に(あるいは
ほとんどの場合)サチュレートするように見えることが
共通のきざしであろう。
2) The output of the CSC is saturated to 0 and 511. That is, numbers less than or equal to 0 are replaced with 0,
Numbers greater than or equal to 511 are replaced with 511. The execution of the saturation logic assumes that the result is slightly above 511 or slightly below zero. If the CSC were programmed incorrectly, it would be a common signal that the output always (or in most cases) appears to saturate.

【2069】C.9.3 「CSCの説明」 CSCの構造を図178に図示するが、スペース上の制
約から、3つの「コンポーネント」の内2つだけを示し
た。図中、「レジスタ」もしくはRはマスター・スレー
ブレジスタを示し、「ラッチ」もしくはLは透明ラッチ
を示す。
C. [206] 9.3 "Description of CSC" The structure of the CSC is illustrated in FIG. 178, but only two of the three "components" are shown due to space constraints. In the figure, "register" or R indicates a master / slave register, and "latch" or L indicates a transparent latch.

【2070】全ての係数は図において明示されていない
リード・ライトUPIレジスタにロードされる。オペレ
ーションを理解するために、左端の「コンポーネント」
(出力out data0を作り出す)に関して、以下
のシーケンスを考慮する: 1)データは入力x0−2(in data0−2)に
到達する。これは入力色空間における1つのピクセルを
表す。これがラッチされる。
All coefficients are loaded into read / write UPI registers not explicitly shown in the figure. To understand the operation, the leftmost "component"
For (creating output out data0), consider the following sequence: 1) Data arrives at input x0-2 (in data0-2). It represents one pixel in the input color space. This is latched.

【2071】2)x0にc01を掛け、最初のパイプラ
インレジスタにラッチする。x1及びx2が1つのレジ
スタ上を移動する。
2) Multiply x0 by c01 and latch it in the first pipeline register. x1 and x2 move on one register.

【2072】3)x1にc02を掛け、それを(x1.
c01)に加算し、次のパイプラインレジスタにラッチ
する。x2が1つのレジスタ上を移動する。
3) Multiply x1 by c02 and multiply it by (x1.
c01) and latch the result in the next pipeline register. x2 moves on one register.

【2073】4)x2にc03を掛け、それを(3)の
結果に加算し、(x1.c01+x2.c02+x3.
c03)を生み出す。その結果を次のパイプラインレジ
スタにラッチする。
4) Multiply x2 by c03 and add it to the result of (3) to obtain (x1.c01 + x2.c02 + x3.
c03). The result is latched in the next pipeline register.

【2074】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 since the data is held in carry-save format through the multiplier. The result is latched in the next pipeline register.

【2075】6)最終的なオペレーションはデータをサ
チュレートすることである。これを行うために、部分的
結果が分解アダーからサチュレートブロックに送られ
る。
20) The final operation is to saturate the data. To do this, the partial result is sent from the decomposition adder to the saturating block.

【2076】このセクションの開始時点のマトリックス
式において明記したように、その結果が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.

【2077】係数を被乗数とし、データを乗数として、
3個の乗算器を使用した。これにより効率的なレイアウ
トを達成でき、部分的結果がデータパスを下り、同じ入
力データが各出力に1つづつの3つの並列する同じデー
タパスを横切って送られた。セクションC.9.2にお
いて説明したリセットステートを達成するために、3つ
の「コンポーネント」の各々を異なる方法でリセットし
なければならない。3セットの概略図と3つのわずかに
異なるレイアウトを持つことを避けるため、これはトッ
プレベルで高または低につながれるUPIレジスタに対
する入力を持つことにより達成される。
[2077] The coefficient is a multiplicand, and the data is a multiplier.
Three multipliers were used. This allowed an efficient layout to be achieved, with partial results going down the data path and the same input data being sent across three parallel, identical data paths, one for each output. Section C. To achieve the reset state described in 9.2, each of the three "components" must be reset in a different way. To avoid having three sets of schematics and three slightly different layouts, this is achieved by having inputs to UPI registers that are tied high or low at the top level.

【2078】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 controls (in accept = out accept)
There is a chain of valid latches and accept latches with tr + lin validr). Therefore, the CSC is a two-wire interface with a depth of 5 stages and can hold 10 levels of data when stalled.

【2079】出力パイプに於ける次の機能が異なるクロ
ック発生器から外れるので、CSCの出力は再同期化ラ
ッチを含む。
The output of the CSC includes a resynchronization latch, as the next function in the output pipe departs from a different clock generator.

【2080】セクション 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レジスタに書き込む
ことにより、選択される。
[2080] Section C. 10 "Output controller" 10.1 Introduction The output controller according to the 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: B. 2: Align data by vsync and hsync pulses and in video display window defined by programmed timing register. Add border around video window, if needed. 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] invsync, inhsync nupdata [7: 0], upaddr [4: 0],
upsel, rstr, wstr, tdin, tdou
t, tph0, tckm, tcks chips
t, ph0, ph1, notrst0, notrst1 C.I. 10.3 "Out mode" The format of the output is selected by writing to the opmode register.

【2081】C.10.3.1 「モード0」 このモードは24ビットの4:4:4RGBもしくはY
CrCbである。入力データは直接出力に進む。
[2081] C.I. 10.3.1 "Mode 0" This mode is a 24-bit 4: 4: 4 RGB or Y
CrCb. Input data goes directly to output.

【2082】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である。
C. [2082] 10.3.2 "Modes 1 and 2" These modes represent 4: 2: 2 YCrCb. In
Assuming that data [23:16] is Y, i
n data [15: 8] is Cr, and indata
[7: 0] is Cb.

【2083】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]は使用さ
れない。
C. [2083] 10.3.2.1 "Mode 1" In 16-bit YCrCb, Y is out data.
a is displayed on [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.

【2084】C.10.3.2.2 「モード2」 8ビットのYCrCbにおいて、Y、Cr及びCbはC
b、Y、Cr、Yのオーダーで、out data
[7:0]上で時分割多重化される。Out data
[23:16]は使用されない。
C.2084 10.3.2.2 "Mode 2" In 8-bit YCrCb, Y, Cr and Cb are C
out data in the order of b, Y, Cr, Y
Time division multiplexing is performed on [7: 0]. Out data
[23:16] is not used.

【2085】C.10.3.3 「出力タイミング」 ビデオディスプレイウインドーにデータを置くために、
以下のレジスタが使用される。
C.2085 10.3.3 "Output timing" To put data in the video display window,
The following registers are used:

【2086】・Vdelay−ビデオまたはボーダーの
最初のラインの前に、vsyncパルスに続くhsyn
cパルス数 ・hdelay−hsyncと、ビデオまたはボーダー
の最初のピクセルとの間のクロックサイクル数 ・height−ラインにおけるビデオウインドーの高
さ ・width−ピクセルにおけるビデオウインドーの幅 ・north、south−ラインにおけるビデオウイ
ンドーの上及び下の各々のボーダーの高さ、 ・west、east−ピクセルにおけるビデオウイン
ドーの左及び右に対する 各々のボーダー幅 最小のvdelayは0である。最初のhsyncは最
初の活動的ラインである。hdelayにプログラムさ
れ得る最小値は2である。しかしながら、inhsyn
cから最初の活動的出力ピクセルまでの実際のディレイ
はhdelay+1サイクルであることに注意。
Vdelay-hsync following the vsync pulse, before the first line of video or border
c-pulse number-number of clock cycles between hdlay-hsync and the first pixel of the video or border-height of the video window in height-line-width of the video window in width-pixel-north, south-line Height of each border above and below the video window at, west, east-each border width to the left and right of the video window in pixels. The minimum vdelay is zero. The first hsync is the first active line. The minimum value that can be programmed into hdlay is 2. However, inhsyn
Note that the actual delay from c to the first active output pixel is hdlay + 1 cycles.

【2087】ボーダーの縁はバリュー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]に対応する。
The border edge can have a value of zero. The color of the border is border r, b in the register
It is selected by writing order g and border b. The color of the area outside the border is blank r, blank g, blank in the register.
Selected by writing b. Output mode 1 and 2
The multiplexing performed in will also affect border and blank components. In other words, the value of these registers is in data [2
3:16], in data [15: 8], and in
data [7: 0].

【2088】C.10.4 「出力フラグ」 ・out activeは出力データが活性ウインド
ー、つまりビデオデータまたはボーダーの一部であるこ
とを指示する。
C.2088 10.4 "Output Flag" outactive indicates that the output data is part of an active window, ie video data or a border.

【2089】・out windowは出力データがビ
デオウインドーの一部であることを指示する。
• out window indicates that the output data is part of a video window.

【2090】・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は両
方につながれるべきであることに注意。
[0201] out comp [1: 0] indicates that the color component is present on output data 1 and 2 out data [7: 0]. In mode 1, 0 =
Cb, 1 = Cr. In mode 2, 0 = Y,
1 = Cr, 2 = Cb. C. 10.5 Two-Wire Mode The two-wire mode of the present invention is selected by writing a one to a two-wire register. It is not selected following a reset. In the two-wire mode, the output timing register and the 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.

【2091】C.10.6 「スノーパ」 出力フラグへのアクセスを含むブロックの出力上にスー
パースノーパがある。 C.10.7 「作用の仕方」 2個の同じダウンカウンタがディスプレイにおける現在
の位置を覚えている。Vcountはhsyncs上で
減少し、vsync上の、あるいはその終末カウントに
おける適当なタイミングレジスタからロードする。Hc
ountはあらゆるピクセル上で減少し、hsync上
で、あるいはその終末カウントにおいてロードする。出
力モード2では、1つのピクセルが2個のクロックサイ
クルに対応することに注意。
[2091] C.I. 10.6 "Snooper" There is a super snooper on the output of the block that contains access to the output flag. C. 10.7 How It Works Two identical down counters remember the current position on the display. Vcount decrements on hsyncs and loads from the appropriate timing register on vsync or at its terminal count. Hc
The count decrements 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.

【2092】セクション C.11 「クロック分周
器」 C.11.1 「展望」 本発明におけるトップレベルレジスタは、1つはPIC
TURE CLKを発生させるため、1つはAUDIO
CLKを発生させるために、2個の同じクロック分周
器を含む。クロック分周器は同じであり、別々に制御さ
れる。従って、1つだけをここで取り上げて説明する。
ユーザーの観点から、唯一の違いは各クロック分周器の
除数レジスタがメモリーマップ内のアドレスの異なるセ
ットにマップされることである。
[2092] Section C. 11 “Clock divider” 11.1 “Prospects” The top-level register in the present invention is
One is AUDIO to generate TURE CLK
To generate CLK, it includes two identical clock dividers. The clock divider is the same and is controlled separately. Therefore, only one will be described here.
From the user's point of view, the only difference is that the divisor register of each clock divider is mapped to a different set of addresses in the memory map.

【2093】クロック分周器の機能は4Xsysclk
分配クロック周波数を提供することであり、偶数のマー
ク対スペース比のための要件はない。
[2093] The function of the clock divider is 4Xsysclk
It is to provide a distribution clock frequency and there is no requirement for an even mark to space ratio.

【2094】除数は〜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 00 to 1616,000,000, it can be represented using 24 bits with the restriction that the minimum divisor is 16. This is because the clock divider will use a divisor / 2 to approximate equal mark-to-space ratios (within one sysclk cycle). Since the maximum clock frequency available is sysclk, the maximum distribution frequency available is sysclk / 2. In addition, since 4 counters are used in cascade, the divisor / 2 is never 8
Should not be less, or the clock output distributed would be driven to the positive power rail.

【2095】C.11.2 「クロック分周器の使用」 各クロック分周器用のアドレスマップは3個の8ビット
除数レジスタと1個の1ビットアクセスレジスタに対応
する4つのロケーションから構成される。クロック分周
器は無活動のものをパワーアップし、その除数レジスタ
に対するアクセス完了によって活性化される。
[2095] C.I. 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.

【2096】除数レジスタは表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 a synchronized 0-1 transition on its access bit. When a transition is sensed for the first time, the clock divider exits the reset state and generates a distributed clock. Subsequent transitions (assuming the divisor has also been changed) will simply cause the clock divider to lock to its new frequency on-the-fly. Once activated, there is no other way to stop the clock divider than chip RESET.

【2097】[2097]

【表272】 16〜16、777、216の範囲の除数値が使用でき
る。
[Table 272] Divisor values in the range 16-16, 777, 216 can be used.

【2098】C.11.3 「クロック分周器の説明」 クロック分周器は、1カウンタが桁上げするにつれて、
それが次のカウンタを順に活性化させるように縦続され
る4個の22ビットカウンタとして実装される。カウン
タは桁上げの前に除数/4のバリューをカウントダウン
するので、各カウンタがそれを順に取り上げ、分配クロ
ック周波数のパルスを発生させるであろう。
[2098] C.I. 11.3 Description of Clock Divider The clock divider, as one counter carries,
It is implemented as four 22-bit counters cascaded to sequentially activate the next counter. Since the counters count down the divisor / 4 value before carry, each counter will take it in turn and generate a pulse at the distribution clock frequency.

【2099】桁上げの後、カウンタは除数/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 distribution clock frequency to be changed on the fly by simply changing the divisor contents. To

【2100】各カウンタはカウンタ間のクロックスキュ
ーを正確に制御し、各カウンタが別個のクロックセット
によってクロックされ得るようにするため、それ自身の
独立したクロック発生器によってクロックされる。
Each counter is clocked by its own independent clock generator to precisely control the clock skew between the counters and to enable each counter to be clocked by a separate clock set.

【2101】ステートマシーンは除数/4及び除数/8
バリューの発生器を制御し、更にPLLからクロック発
生器へと正しいソースクロックを多重送信する。カウン
タは除数のバリューに応じて異なるクロックによりクロ
ックされる。これは異なる除数バリューが、PLLから
提供されるクロックの異なる組合せを用いてそのエッジ
が配置される分配クロックを作り出すであろうからであ
る。
The state machines are divisor / 4 and divisor / 8.
It controls the value generator and multiplexes the correct source clock from the PLL to the clock generator. The counter is clocked by a different clock depending on the value of the divisor. This is because different divisor values will use different combinations of clocks provided by the PLL to create a distributed clock whose edges are located.

【2102】C.11.4 クロック分周器のテスト CHIPTEST Highでチップをパワーアップす
ることによりクロック分周器をテストすることができ
る。これはPLLによって発生されるクロックに対抗す
るものとして、sysclkによりクロックされるクロ
ック分周器におけるクロック化ロジックの全てを強制す
る効果を持つ。
[2102] C.I. 11.4 Testing the Clock Divider The clock divider can be tested by powering up the chip with CHIPEST 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.

【2103】クロック分周器はフルスキャンを持つよう
に設計されているので、チップが上記のように動かされ
る限り、標準のJTAGアクセスを用いて引続きテスト
され得る。
Since the clock divider is designed to have full scan, it can still be tested using standard JTAG access as long as the chip is moved as described above.

【2104】装置が通常のオペレーションで動いている
一方、CHIPTESTがHighに保持される場合、
クロック分周器の機能性は保証されない。
If the device is operating in normal operation while CHIPTEST is held high,
The functionality of the clock divider is not guaranteed.

【2105】セクション C.12 「アドレスマッ
プ」 C.12.1 「トップレベルアドレスマップ」 注:− 1)表273〜表281に記載するトップレベルアドレ
スマップ用のレジスタはデザインの中で使用される名前
である。それらは必ずしもデータシートに現れる名前で
なくてもよい。
[2105] Section C. 12 "Address map" 12.1 "Top Level Address Map" Notes: -1) The registers for the top level address map described in Tables 273 to 281 are names used in the design. They need not be the names that appear in the data sheet.

【2106】2)これはフルアドレスマップであるの
で、ここにリストアップするロケーションの多くはテス
ト用のみのロケーションを含む。
2) Because this is a full address map, many of the locations listed here include locations for testing only.

【2107】[2107]

【表273】 [Table 273]

【2108】[2108]

【表274】 [Table 274]

【2109】[2109]

【表275】 [Table 275]

【2110】[2110]

【表276】 [Table 276]

【2111】[2111]

【表277】 [Table 277]

【2112】[2112]

【表278】 [Table 278]

【2113】[2113]

【表279】 [Table 279]

【2114】[2114]

【表280】 [Table 280]

【2115】[2115]

【表281】 C.12.1 「アドレス発生器キーホールスペース」 アドレス発生器キーホール表に関する注: 1)アドレス発生器キーホール内の全てのレジスタは、
それらの幅に関わらず、4バイトのアドレススペースを
取る。省略アドレス(0x00、0x04等)は常に0
を読み返す。
[Table 281] C. 12.1 “Address Generator Keyhole Space” Notes on the Address Generator Keyhole Table: 1) All registers in the address generator keyhole are
Regardless of their width, they take up 4 bytes of address space. The default address (0x00, 0x04, etc.) is always 0
Read back.

【2116】2)関連ブロック(dispaddrまた
はwaddrgen)のアクセスビットはこのキーホー
ルにアクセスする前に設定されなければならない。
[211] 2) The access bit of the associated block (dispaddr or waddrgen) must be set before accessing this keyhole.

【2117】[2117]

【表282】 [Table 282]

【2118】[2118]

【表283】 [Table 283]

【2119】[2119]

【表284】 [Table 284]

【2120】[2120]

【表285】 [Table 285]

【2121】[2121]

【表286】 [Table 286]

【2122】[2122]

【表287】 [Table 287]

【2123】[2123]

【表288】 [Table 288]

【2124】[2124]

【表289】 [Table 289]

【2125】[2125]

【表290】 [Table 290]

【2126】[2126]

【表291】 [Table 291]

【2127】[2127]

【表292】 [Table 292]

【2128】[2128]

【表293】 [Table 293]

【2129】[2129]

【表294】 [Table 294]

【2130】[2130]

【表295】 [Table 295]

【2131】[2131]

【表296】 [Table 296]

【2132】[2132]

【表297】 [Table 297]

【2133】[2133]

【表298】 [Table 298]

【2134】[2134]

【表299】 [Table 299]

【2135】[2135]

【表300】 [Table 300]

【2136】[2136]

【表301】 [Table 301]

【2137】[2137]

【表302】 [Table 302]

【2138】[2138]

【表303】 [Table 303]

【2139】[2139]

【表304】 [Table 304]

【2140】[2140]

【表305】 [Table 305]

【2141】[2141]

【表306】 [Table 306]

【2142】[2142]

【表307】 セクション C.13 「ピクチャサイズパラメータ」 C.13.1 「序文」 以下の様式化されたコード片は、ライトアドレス発生器
からのピクチャサイズ割り込みに答えるために必要なプ
ロセシングを示す。ピクチャサイズパラメータは、HO
RIZONTAL MBSトークン、VERTICAL
MBSトークン、及び(各コンポーネントのために)
DEFINE SAMPLINGトークンを送り、その
結果としてライトアドレス発生器割り込みを生じさせる
ことにより、on−the−flyで変更できることに
注意。これらのトークンは如何なるオーダーで到着して
もよく、一般的に、いずれもがピクチャサイズパラメー
タの全ての再計算を必要とするべきである。しかしなが
ら、セットアップ時に、計算を実行する前に、全てのイ
ベントの到着を検出する方が効率的であろう。
[Table 307] Section C. 13 "Picture size parameter" 13.1 Introduction The following stylized code fragment illustrates the processing required to respond to a 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 this can be changed on-the-fly by sending a DEFINE SAMPLING token, which in turn causes a write address generator interrupt. These tokens may arrive in any order, and generally, each should require a full recalculation of the picture size parameter. However, during setup, it may be more efficient to detect the arrival of all events before performing the calculations.

【2143】セットアップ時に、ピクチャサイズパラメ
ータレジスタに特別なバリューを書き込むことができる
ので、トークンに答える割り込み処理に依存する必要が
ない。このため、SIFピクチャ用の適当なレジスタバ
リューも与えられる。
At the time of setup, a special value can be written to the picture size parameter register, so that there is no need to rely on interrupt processing for answering a token. Therefore, an appropriate register value for the SIF picture is also provided.

【2144】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レジスタバリューを修正
することが厳密に必要であるが、これはアプリケーショ
ンの必要条件に依存することが望ましい。
[2144] C.I. 13.2 Interrupt Handling for Picture Size Parameter There are 5 picture size events, the main ones of each response are described below: In addition, to maintain consistent picture size parameters, the following calculations are required: if (hmbs event || vmbs event || def samp0 event || def samp1 event || def samp2 event) or for (I = 0; i <max component; i ++) h 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 ); Las blocks 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 mbro (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, but this should be dependent on the requirements of the application .

【2145】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 これらのバリューがセットアップ時にはっきりと書き込
まれることになっている場合、ほとんどのロケーション
の多重バイト特性を考慮に入れなければならないことに
注意。
[2145] C.I. 13.3 “Register Value for SIF Picture” After the above interrupt processing for SIF, the values contained in all picture size registers, 4: 2: 0 streams 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 COMP X1 MAXHB = 0x00 BUDXBMP 0MBOOBUX 0 B. 0x00 BU WADDR COMP2 MAXVB = 0x00 13.3.2 "Secondary Value-After Calculation" BU WADDR COMP0 HBS = 0x2C BU WADDR COMP1 HBS = 0x16 BU WADDR COMP2 HBS = 0x16 BU ADDR COMP0 HBS = 0x2C BU ADDR0x0B0x0B0x0B0x0B0x16 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 during setup, the multi-byte nature of most locations must be taken into account.

【2146】上述してきた本発明のパイプラインシステ
ムは、長い間望まれてきた要求を満たし、改良されたパ
イプラインシステムは、入力と、出力と、入力と出力と
の間にある複数の処理ステージを有するパイプラインシ
ステムにおいて、複数の処理ステージはパイプラインに
沿ってトークンを伝送する2線式のインターフェースに
より相互接続され、制御トークン、データトークンはパ
イプラインの中の全ての処理ステージとインターフェー
スし、及びパイプラインの中の選択された処理ステージ
とインターフェースするユニバーサル適応ユニットの形
態であり、パイプラインの処理ステージは構成と処理に
おいて向上した柔軟性を与えられていることを特徴とす
る。本発明によれば、処理ステージは少なくとも1つの
トークンの認識に応答するように構成される。1つの処
理ステージは入力を受けてトークンを発生/変換するス
タートコード検出器である。
The pipeline system of the present invention described above fulfills a long-felt need, and an improved pipeline system comprises a plurality of processing stages between an input, an output, and an input and an output. A plurality of processing stages are interconnected by a two-wire interface that transmits tokens along the pipeline, control tokens and data tokens interface with all processing stages in the pipeline, And in the form of a universal adaptation unit that interfaces with selected processing stages in the pipeline, the processing stages of the pipeline being characterized by increased flexibility in construction and processing. According to the invention, the processing stage is configured to respond to recognition of at least one token. One processing stage is a start code detector that receives input and generates / converts a token.

【2147】本発明のトークンは、ピクチャのスタート
が次のデータトークンに後くことを指示するピクチャス
タートコードトークン、個々のピクチャのエンドを指示
するピクチャエンドトークン、バッファをクリアしシス
テムをリセットするフラッシュトークン、複数のピクチ
ャ圧縮/伸長規格のうちの選択された1つに従って処理
を実施するためにシステムを調整するコーディングスタ
ンダードトークンである。さらに、本発明は、ハフマン
デコーダと、インデックス/データ(ITOD)ステー
ジと、演算論理ユニット(ALU)と、システムの直後
に続くデータバッファ手段とを具備し、データサイズが
変化するビデオピクチャのための時間間隔が制御可能で
ある、ビデオデータの復号化のためのパイプラインシス
テムに関する。本発明によれば、処理ステージは入力デ
ータストリームを受信し、特定のビットストリームパタ
ーンを認識する手段を具備し、処理ステージはランダム
アクセスとエラー回復を容易にする。さらに、本発明
は、ピクチャデータデコーディングに対して明確な終了
を達成し、ピクチャのエンドを指示し、パイプラインを
クリアするピクチャストップアフタオペレーションを行
なう手段を具備する。改良されたパイプラインシステム
は、固定サイズかつ固定幅のバッファと、バッファを通
って任意の数のビットを通過させるためにバッファをパ
ディングする手段を具備する。本発明は、さらに、ラン
レングスコードを含むデータストリームを有し、ランレ
ベルコードを1つのレベルによって後続されるゼロデー
タの1つのランまで拡張するために、トークンからのデ
ータストリームによって作動化される逆モデラ手段を具
備し、指定された数の値によって各トークンが表現され
る。さらに、本発明は逆モデラステージと、逆離散コサ
イン変換ステージと、逆モデラステージと逆離散コサイ
ン変換ステージとの間に配置され、データ処理のための
トークン表に応答する処理ステージとを具備する。
The token of the present invention includes a picture start code token indicating that a picture starts after a next data token, a picture end token indicating the end of an individual picture, and a flash for clearing a buffer and resetting a system. Token, a coding standard token that adjusts the system to perform processing according to a selected one of a plurality of picture compression / decompression standards. Further, the invention comprises a Huffman decoder, an index / data (ITOD) stage, an arithmetic logic unit (ALU), and data buffer means immediately following the system, for video pictures of varying data size. The present invention relates to a pipeline system for decoding video data, wherein a time interval is controllable. According to the invention, the processing stage comprises means for receiving an input data stream and recognizing a particular bit stream pattern, the processing stage facilitating random access and error recovery. Further, the present invention comprises means for achieving a clear end to picture data decoding, indicating the end of a picture, and performing a picture stop after operation to clear the pipeline. The improved pipeline system comprises a fixed size and fixed width buffer and means for padding the buffer to pass any number of bits through the buffer. The invention further has a data stream comprising a run length code, and is activated by the data stream from the token to extend the run level code to one run of zero data followed by one level. It has an inverse modeler, and each token is represented by a specified number of values. Further, the present invention comprises an inverse modeler stage, an inverse discrete cosine transform stage, and a processing stage located between the inverse modeler stage and the inverse discrete cosine transform stage and responsive to a token table for data processing.

【2148】さらに、本発明は改良されたパイプライン
システムにおいて、H.261、JPEGまたはMPE
G規格いずれかのハフマンコード化条件に基づいてコー
ド化されたデータワードをデコードするハフマンデコー
ド手段を具備し、データワードは、それに基づいてデー
タワードがコード化されたハフマンコード規格を識別す
る識別子を含み、さらに、ハフマンコード化データワー
ドを受け取る手段と、受信したデータワードのハフマン
コード化をどの規格が管理したかを決定するために識別
子を読む手段と、必要に応じて、ハフマンコード化デー
タワードをH.261又はMPEGハフマンコード化済
みであると識別する識別子の読み取りに応答して、ハフ
マンコード化データワード受信手段に作動可能に接続さ
れ、指数生成手段から指数を受け取り、各JPEGハフ
マンコード化データワードと関連した指数を生成する手
段と、JPEGハフマン表情報を伝達するためにJPE
G規格に基づいて使用されたフォーマットを持つハフマ
ンコード表を含む参照用表を操作し、受信した指数に対
応してデコードされたデータワードを出力する手段とを
具備する。
Furthermore, the present invention relates to an improved pipeline system, comprising: 261, JPEG or MPE
Huffman decoding means for decoding a data word coded based on any of the Huffman coding conditions of the G standard, wherein the data word has an identifier for identifying a Huffman code standard in which the data word is coded based on the Huffman decoding means. Means for receiving a Huffman coded data word; means for reading an identifier to determine which standard governed the Huffman coding of the received data word; and optionally, a Huffman coded data word. To H. In response to reading an H.261 or MPEG Huffman coded identifier, the Huffman coded data word is operatively connected to the Huffman coded data word receiving means for receiving an exponent from the exponent generation means, Means for generating an associated index, and a JPE to convey JPEG Huffman table information
Means for operating a look-up table including a Huffman code table having a format used in accordance with the G standard and outputting a decoded data word corresponding to the received exponent.

【2149】本発明の多重規格ビデオ伸長装置は、パイ
プラインプロセシングマシンとして配置される2線式イ
ンターフェースにより相互接続される複数のステージを
持ち、制御トークン及びデータトークンはトークンフォ
ーマットで制御とデータの両方を運ぶために1つの2線
式インターフェースを通過する。トークンデコード回路
は、そのステージに関する制御トークンとして特定のト
ークンを認識し、パイプラインに沿って未認識の制御ト
ークンを送るために、特定のステージに配置される。再
配置プロセシング回路は選ばれたステージに配置され、
特定されたデータトークンを処理するために該かるステ
ージを再配置するための認識済み制御トークンに反応す
る。該かるシステムを実装するために、広範囲に亙る独
特なサブ支持システム回路とプロセシング技術を開示す
る。
The multi-standard video decompression device of the present invention has a plurality of stages interconnected by a two-wire interface arranged as a pipeline processing machine, wherein control tokens and data tokens are in token format for both control and data. Through one two-wire interface to carry The token decode circuit is located at a particular stage to recognize the particular token as a control token for that stage and send unrecognized control tokens along the pipeline. The relocation processing circuit is placed on the selected stage,
React to a recognized control token to rearrange such stages to process the identified data token. A wide range of unique sub-support system circuits and processing techniques are disclosed to implement such a system.

【2150】上述したように、発明の特別な形態を図示
して説明してきたが、発明の精神及び範囲を逸脱するこ
となく、様々な修正が可能であることが自明であろう。
従って、添付クレームによる制限以外は、図示した形態
によって本発明が制限されるものではない。
[2150] While the specific embodiments of the invention have been illustrated and described, as noted above, it will be apparent that various modifications can be made without departing from the spirit and scope of the invention.
Accordingly, the invention is not limited by the illustrated embodiments, except for the limitations imposed by the appended claims.

【2151】[2151]

【発明の効果】以上説明したように、本発明によれば、
複数の処理ステージと、処理ステージの中で制御、デー
タ機能を実行する相互作用インターフェース制御トーク
ンの形態のユニバーサル適応ユニットを具備し、処理ス
テージが構成、処理において向上した柔軟性を与えられ
ているパイプラインシステムが提供される。
As described above, according to the present invention,
A pipe comprising 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 provided with increased flexibility in construction and processing A line system is provided.

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

【図1】2個の内部制御信号の異なる組み合わせのため
の6段パイプラインの6サイクルを示す図。
FIG. 1 shows six cycles of a six-stage pipeline for different combinations of two internal control signals.

【図2】パイプラインステージがパイプライン内の遅延
に応答して圧縮、及び伸長が出来る方法を示すために各
ステージが二次データ格納部を含むパイプラインを示す
図。
FIG. 2 shows a pipeline in which each stage includes a secondary data store to show how the pipeline stages can compress and decompress in response to delays in the pipeline.

【図3】パイプラインステージがパイプライン内の遅延
に応答して圧縮、及び伸長が出来る方法を示すために各
ステージが二次データ格納部を含むパイプラインを示す
図。
FIG. 3 shows a pipeline in which each stage includes a secondary data store to show how the pipeline stages can compress and decompress in response to delays in the pipeline.

【図4】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 4 illustrates the control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a multi-phase clock.

【図5】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 5 illustrates the control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a multi-phase clock.

【図6】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 6 illustrates the control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a multi-phase clock.

【図7】2配線インターフェースと多相クロックを使用
するパイプラインの好ましい実施例のステージ間のデー
タ転送の制御を示す図。
FIG. 7 illustrates the control of data transfer between stages in a preferred embodiment of a pipeline using a two-wire interface and a multi-phase clock.

【図8】2配線インターフェースが組み込まれたパイプ
ラインステージの基本的実施例及び2配線転送制御を有
する2個の連続するパイプライン処理ステージを示すブ
ロック図。
FIG. 8 is a block diagram illustrating a basic embodiment of a pipeline stage incorporating a two-wire interface and two consecutive pipeline processing stages having two-wire transfer control.

【図9】図8に示すパイプラインステージで使用される
タイミング信号と、入出力データと、内部制御信号間の
関係を示すタイミング図の一例。
FIG. 9 is an example of a timing chart showing a relationship among timing signals, input / output data, and internal control signals used in the pipeline stage shown in FIG. 8;

【図10】図8に示すパイプラインステージで使用され
るタイミング信号と、入出力データと、内部制御信号間
の関係を示すタイミング図の一例。
10 is an example of a timing diagram showing a relationship among timing signals, input / output data, and internal control signals used in the pipeline stage shown in FIG. 8;

【図11】拡張ビットの制御下でその状態を維持するパ
イプラインステージの一例を示すブロック図。
FIG. 11 is a block diagram showing an example of a pipeline stage that maintains its state under control of an extension bit.

【図12】ステージ起動データワードを復号化するパイ
プラインステージのブロック図。
FIG. 12 is a block diagram of a pipeline stage that decodes a stage activation data word.

【図13】データ二重化パイプラインステージの一例で
の2配線転送制御の使用を示すブロック図。
FIG. 13 is a block diagram illustrating the use of two-wire transfer control in one example of a data duplication pipeline stage.

【図14】データ二重化パイプラインステージの一例で
の2配線転送制御の使用を示すブロック図。
FIG. 14 is a block diagram illustrating the use of two-wire transfer control in one example of a data duplication 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配線転送制御信号と、その他の内
部データ及び制御信号を示すタイミング図の一例。
FIG. 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 temporal 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 temporary decoder including a prediction filter.

【図27】予測フィルタ処理を絵で示した図。FIG. 27 is a diagram illustrating a prediction filter process by a picture;

【図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 a 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 a block being processed.

【図35】(1、1)の予測データオフセットを示す
図。
FIG. 35 is a diagram showing a predicted data offset of (1, 1).

【図36】ハフマンデコーダと空間デコーダの分割状態
装置を示すブロック図。
FIG. 36 is a block diagram showing a split state device of a Huffman decoder and a spatial decoder.

【図37】予測フィルタのブロック図。FIG. 37 is a block diagram of a prediction filter.

【図38】典型的なデコーダシステムを示す図。FIG. 38 illustrates an exemplary decoder system.

【図39】JPEG静止画像デコーダを示す図。FIG. 39 is a view 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 view showing the start and end of a token.

【図43】トークンアドレスとデータフィールドを示す
図。
FIG. 43 shows 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 diagram showing positions of external two-wire interfaces.

【図48】クロック伝搬を示す図。FIG. 48 is a diagram showing clock propagation.

【図49】2配線インターフェースのタイミングを示す
図。
FIG. 49 is a diagram showing the timing of a two-wire 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 shows 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 k bits.

【図58】ストローブ信号用のタイミングパラメータを
示す図。
FIG. 58 is a diagram showing timing parameters for a strobe signal.

【図59】どの2個のストローブ信号間のタイミングパ
ラメータを示す図。
FIG. 59 is a diagram showing timing parameters between any two strobe signals.

【図60】バスとストローブ信号間のタイミングパラメ
ータを示す図。
FIG. 60 is a view showing timing parameters between a bus and a strobe signal.

【図61】バスとストローブ信号間のタイミングパラメ
ータを示す図。
FIG. 61 is a view 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 an arrangement of large integers in a memory map.

【図65】典型的なデコーダクロック形態を示す図。FIG. 65 shows a typical decoder clock configuration.

【図66】入力クロック要件を示す図。FIG. 66 is a diagram showing input clock requirements.

【図67】空間デコーダを示す図。FIG. 67 shows a spatial decoder.

【図68】入力回路の入出力を示す図。FIG. 68 illustrates input and output of an input circuit.

【図69】符号化ポートプロトコルを示す図。FIG. 69 shows an encoding port protocol.

【図70】開始コード検出器を示す図。FIG. 70 shows a start code detector.

【図71】検出された開始コードと変換されたトークン
を示す図。
FIG. 71 is a view showing a detected start code and a converted token.

【図72】開始コード検出器がトークンを通すところを
示す図。
FIG. 72 shows a start code detector passing a token.

【図73】MPEG開始コード(バイト整列)の重なり
を示す図。
FIG. 73 is a view showing overlapping of MPEG start codes (byte alignment).

【図74】MPEG開始コード(非バイト整列)の重な
りを示す図。
FIG. 74 is a view showing an overlap of MPEG start codes (non-byte alignment).

【図75】2個のビデオ系列間のジャンプを示す図。FIG. 75 is a view showing a jump between two video sequences.

【図76】追加のトークンの挿入処理を示す図。FIG. 76 is a view showing insertion processing of an additional token.

【図77】デコーダ起動制御を示す図。FIG. 77 is a view showing decoder activation control;

【図78】出力前にキューされたイネーブルされたスト
リームを示す図。
FIG. 78 shows an enabled stream queued before output.

【図79】空間デコーダバッファを示す図。FIG. 79 is a view showing a spatial decoder buffer;

【図80】バッファポインタを示す図。FIG. 80 shows a buffer pointer.

【図81】ビデオデマルチプレックサを示す図。FIG. 81 is a diagram showing a video demultiplexer.

【図82】画像構造を示す図。FIG. 82 is a view showing an image structure.

【図83】4:2:2マクロブロックの構造を示す図。FIG. 83 is a view showing the structure of a 4: 2: 2 macro block.

【図84】マクロブロックの大きさ画素の大きさから計
算する方法を示す図。
FIG. 84 is a view showing a method of calculating the size of a macroblock from the size of a pixel;

【図85】空間デコーダを示す図。FIG. 85 shows a spatial decoder.

【図86】H.261逆量子化の概観を示す図。FIG. 86 is a view showing an overview of H.261 inverse quantization;

【図87】JPEG逆量子化の概観を示す図。FIG. 87 is a view showing an overview of JPEG inverse quantization;

【図88】MPEG逆量子化の概観を示す図。FIG. 88 is a view showing an overview of MPEG inverse quantization.

【図89】量子化テーブルメモリマップを示す図。FIG. 89 is a view showing a quantization table memory map;

【図90】JPEGベースライン系列構造の概観を示す
図。
FIG. 90 is a view showing an overview of a JPEG baseline sequence structure.

【図91】トークンされたJPEG画像を示す図。FIG. 91 is a view showing a tokenized JPEG image.

【図92】時間デコーダを示す図。FIG. 92 shows a temporal decoder.

【図93】画像バッファ仕様を示す図。FIG. 93 is a view showing image buffer specifications.

【図94】MPEG画像系列(m=3)を示す図。FIG. 94 is a view showing an MPEG image sequence (m = 3).

【図95】「I」画像がどのようにして格納出力される
かを示す図。
FIG. 95 is a view showing how an “I” image is stored and output;

【図96】「P」画像がどのようにして格納出力される
かを示す図。
FIG. 96 is a view showing how a “P” image is stored and output;

【図97】「B」画像がどのようにして格納出力される
かを示す図。
FIG. 97 is a view 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 sequence.

【図101】H.261シンタックスの階層を示す図。FIG. 101 is a view showing a hierarchy of H.261 syntax.

【図102】H.261画像層を示す図。FIG. 102 is a diagram showing an H.261 image layer.

【図103】ブロック群のH.261配置を示す図。FIG. 103 is a diagram showing an H.261 arrangement of a block group.

【図104】H.261「スライス」層を示す図。FIG. 104 is a diagram showing an H.261 “slice” layer.

【図105】マクロブロックのH.261配置を示す
図。
FIG. 105 is a diagram showing an H.261 arrangement of macro blocks.

【図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配置を示す図。FIG. 108 is a diagram showing an H.261 arrangement of pixels.

【図109】MPEGシンタックスの階層を示す図。FIG. 109 is a view showing a hierarchy of MPEG syntax.

【図110】MPEG系列層を示す図。FIG. 110 is a view showing an MPEG series 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 MPEG sequence blocks.

【図115】MPEGマクロブロック層を示す図。FIG. 115 is a diagram showing an MPEG macro block layer.

【図116】「オープンGOP」の例を示す図。FIG. 116 is a view 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 high-speed page read cycle.

【図120】高速ページ書込みサイクルを示す図。FIG. 120 is a diagram showing a high-speed page write cycle.

【図121】リフレシュサイクルを示す図。FIG. 121 is a diagram showing a refresh cycle.

【図122】チップアドレスからいかにして行及び列ア
ドレスを抽出するかを示す図。
FIG. 122 is a diagram showing how a row and column address is extracted from a chip address.

【図123】ストローブ信号用のタイミングパラメータ
を示す図。
FIG. 123 is a view showing timing parameters for a strobe signal.

【図124】どの2個のストローブ信号間のタイミング
パラメータを示す図。
FIG. 124 is a view showing a timing parameter 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 view showing timing parameters between a bus and a strobe signal.

【図127】ハフマンデコーダとパーザーを示す図。FIG. 127 is a view showing a Huffman decoder and a parser.

【図128】H.261とMPEG AC係数復号化フ
ローチャートを示す図。
FIG. 128 is a view 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 is a view showing a flowchart of JPEG (AC and DC) coefficient decoding.

【図131】ハフマントークンフォーマッタのインタフ
ェースを示す図。
FIG. 131 is a view showing an interface of the Huffman token formatter.

【図132】トークンフォーマッタのブロック図。FIG. 132 is a block diagram of a token formatter.

【図133】H.261とMPEG AC係数復号化を
示す図。
FIG. 133 is a view showing H.261 and MPEG AC coefficient decoding.

【図134】ハフマンALUのインタフェースを示す
図。
FIG. 134 is a view showing an interface of the Huffman ALU.

【図135】ハフマンALUの基本的構造を示す図。FIG. 135 is a view showing a basic structure of a Huffman ALU.

【図136】バッファマネージャを示す図。FIG. 136 is a view showing a buffer manager.

【図137】imodelとhsppkのブロック図。Fig. 137 is a block diagram of imodel and hsppk.

【図138】imex状態を示す図。FIG. 138 is a view showing an imex state;

【図139】バッファスタートアップを示す図。FIG. 139 is a view showing buffer startup.

【図140】DRAMインターフェースを示す図。FIG. 140 shows a DRAM interface.

【図141】書込みスイングバッファを示す図。FIG. 141 is a diagram showing a write swing buffer.

【図142】演算ブロックを示す図。FIG. 142 is a diagram showing an operation block.

【図143】iqのブロック図。FIG. 143 is a block diagram of iq;

【図144】iqcaステートマシンを示す図。FIG. 144 is a view showing 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 view 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 shows a 1-D conversion microstructure.

【図151】時間デコーダのブロック図。FIG. 151 is a block diagram of a time decoder.

【図152】2配線インターフェースステージの構造を
示す図。
FIG. 152 is a view showing the structure of a two-wire interface stage.

【図153】アドレス発生器のブロック図。FIG. 153 is a block diagram of an address generator.

【図154】ブロックと画素のオフセットを示す図。FIG. 154 is a diagram showing offsets between blocks and pixels.

【図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 one block of pixels.

【図159】読出しラダーの構造を示す図。FIG. 159 is a diagram showing a structure of a read ladder.

【図160】ブロックと画素のオフセットを示す図。FIG. 160 is a diagram showing offsets between blocks and pixels.

【図161】予測例を示す図。FIG. 161 is a diagram showing a prediction example.

【図162】読出しサイクルを示す図。FIG. 162 is a view showing a read cycle;

【図163】書込みしサイクルを示す図。FIG. 163 is a diagram showing a write cycle.

【図164】タイミングを参照可能なトップレベルレジ
スタ群のブロック図。
FIG. 164 is a block diagram of a top-level register group capable of referring to timing;

【図165】プレゼンテーション番号を増加させる制御
を示す図。
FIG. 165 is a view showing control for increasing a presentation number.

【図166】バッファマネジャステートマシーンを示す
図。
FIG. 166 is a view showing a buffer manager state machine.

【図167】ステートマシーンのメインループを示す
図。
FIG. 167 is a diagram showing a main loop of the state machine.

【図168】SIF(22×18のマクロブロック)を
含むバッファ0を示す図。
FIG. 168 is a view showing a buffer 0 including an SIF (a macro block of 22 × 18).

【図169】表示窓を持つSIF成分0を示す図。FIG. 169 is a view showing SIF component 0 having a display window.

【図170】格納ブロックアドレスを示す画像フォーマ
ット例を示す図。
FIG. 170 is a view showing an example of an image format indicating a storage block address.

【図171】SIF(22×18のマクロブロック)を
含むバッファ0を示す図。
FIG. 171 is a view showing a buffer 0 including an SIF (a macro block of 22 × 18);

【図172】アドレス計算例を示す図。FIG. 172 is a view showing an example of an address calculation.

【図173】書込みアドレス発生状態を示す図。FIG. 173 is a view showing a write address generation state;

【図174】データ路のスライスを示す図。FIG. 174 is a view showing a slice of a data path.

【図175】データ路の2サイクル操作を示す図。FIG. 175 is a diagram showing a two-cycle operation of the data path.

【図176】モード1のフィルタ処理を示す図。FIG. 176 is a view showing a filtering process in mode 1;

【図177】水平アップサンプラデータ路を示す図。FIG. 177 is a diagram showing a horizontal upsampler data path.

【図178】色ー空間変換器の構造を示す図。FIG. 178 is a view showing the 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 unit, 41
... output latches, 43, 44 ... registers.

フロントページの続き (51)Int.Cl.7 識別記号 FI H03M 7/30 H03M 7/30 Z 7/40 7/40 H04N 1/41 H04N 1/41 B Z 7/015 7/00 A 7/24 7/13 Z 7/30 7/133 Z (72)発明者 ヘレン ローズマリー フィンチ イギリス国、ジーエル12 7エヌディ ー、グローセスターシアー、ウットン・ アンダー・エッジ、クーム、タイレイ (番地なし) (72)発明者 ウィリアム フィリップ ロビンス イギリス国、ジーエル11 5ピーイー、 グローセスターシアー、カム、スプリン グヒル 19 (72)発明者 ケビン ジェームズ ボイド イギリス国、ビーエス7 9ディーエ ル、ブリストル、ランカシアー ロード 21 (72)発明者 マルティン ウィリアム ソザラン イギリス国、ジーエル11 6ビーディ ー、グローセスターシアー、ダーズレ イ、スティンチコーム、ウィク レー ン、ザ ライディングス(番地なし) (56)参考文献 特開 平5−191652(JP,A) 特開 平4−294684(JP,A) 特開 平4−56548(JP,A) 特開 平3−245281(JP,A) 特開 平1−306927(JP,A) 特開 昭64−66740(JP,A) 特開 昭64−18849(JP,A) 特開 昭63−271549(JP,A) 特開 昭62−254550(JP,A) Kannan Ramchandra n,Martin Vetterli, Rate−Distortion Op timal Fast Thresho lding with Complet e JPEG/MPEG Decode r Compatibility,IE EE TRANSACTIONS ON IMAGE PROCESSING, IEEE,Vol:3 No:5,Pa ges:700−704 Subroto Bose,Stev e Purcell,Tony Chi ang,A SINGLE CHIP MULTISTANDARD VIDE O CODEC,Proceeding s of IEEE 1993 CUSTO M INTEGRATED CIRCU ITS CONFERENCE,IEE E,Pages:11.4.1−11.4. 4 Dave Bursky,IMPRO VED DSP ICs EYE NE W HORIZONS,ELECTRO NIC DESIGN,1993年11月11 日,Vol:41,No:23,Page s:69,70,72,74,76,78,80−82 Stefan Molle,Komp akt und Flexibel,E lektronik,1993年9月21日, Vol:42,No:19,Pages: 102−108,114−115 Dave Bursky,IMAGE −PROCESSING CHIP S ET HANDLES FULL−MO TION VIDEO,ELECTRO NIC DESIGN,1993年5月3 日,Vol:41,No:9,Page s:117−120 Jack Shandle,ISSC C ADVANCED TECHNOL OGY,ELECTRONIC DES IGN,1993年3月4日 Vol:41, No:5,Pages:73,74,76, 78,80 Marc Querol,MPEG /H261−Videodecoder mit wenigen Chips, Elektronik,1992年11月9 日,Vol:41,No:23,Page s:72−75 Doug Baley,Matthe w Cressa,Jan Fandr ianto,Doug Neubaue r,Hedley K.J.Rainn ie,Chi−Shin Wang,P rogrammable Vision Processor/Control ler,IEEE Micro,IEE E,Vol:12,No:5,Page s:33−39 Milt Leonard,SCAN NING THE OPTIONS F OR IMAGE COMPRESSI ON,ELECTRONIC DESI GN,1992年7月9日,Vol:40,N o:14,Pages:40,42−44,46 松田喜一、川井修,特集 マルチメデ ィアとコンピュータ 要素技術の現状と 展望 3−4 LSI,テレビジョン学 会誌,日本,社団法人テレビジョン学 会,1993年11月20日,第47巻,第11号, p.1483−1487 勝山恒男,広帯域マルチメディアワー クステーションモンスターの実力,エレ クトロニクス,日本,株式会社オーム 社,1993年7月1日,第38巻,第7号, p.30−34 松本恵治、他6名,画像処理分野をね らったデータフロー型プロセサLSI, 日経エレクトロニクス,日本,日経マグ ロウヒル社,1984年4月9日,第340号, p.181−218 (58)調査した分野(Int.Cl.7,DB名) G06F 17/10 G06T 1/20 G06T 9/00 - 9/40 H03M 7/00 - 7/50 H04N 1/41 - 1/419 H04N 7/00 - 7/68 G06F 15/82 G06F 13/38 - 13/42 G06F 15/16 - 15/177 G06F 15/80 Continued on the front page (51) Int.Cl. 7 Identification code FI H03M 7/30 H03M 7/30 Z 7/40 7/40 H04N 1/41 H04N 1/41 B Z 7/015 7/00 A 7/24 7/13 Z 7/30 7/133 Z (72) Inventor Helen Rosemary Finch UK, G127 127 N, Gloucester Shear, Wootton Under Edge, Combe, Tylay (no address) (72) Inventor William Philip Robbins UK, GL 115 PEE, Gloucester Shear, Kam, Springhill 19 (72) Inventor Kevin James Boyd England, BS 79 Diesel, Bristol, Lancashire Road 21 (72) Inventor Martin William Sozaran UK, GL 116 Biddy, Gloucester Shear, Darzley, Stinchcomb, Wikleyn, The Rady Gus (no address) (56) References JP-A-5-191652 (JP, A) JP-A-4-294684 (JP, A) JP-A-4-56548 (JP, A) JP-A-3-245281 ( JP, A) JP-A-1-306927 (JP, A) JP-A-64-66740 (JP, A) JP-A-64-18849 (JP, A) JP-A-63-271549 (JP, A) 1987-254550 (JP, A) Kannan Ramchandran, Martin Vetterli, Rate-Distribution Optimal Fast Threshold with the Complete ICON IJ PEG / MPEG Deco ICON, PEG / MPEG Deco. Pages: 700-704 Subroto Bose, Steve Purcell, T on Chiang, ASINGLE CHIP MULTI STANDARD VIDEO CODEC, Proceedings of IEEE 1993 CUSTOM INTEGRATED CIRCUITS CONFERENCE, IEV ERSV e. HORIZONS, ELECTRONIC DESIGN, November 11, 1993, Vol: 41, No: 23, Pages: 69, 70, 72, 74, 76, 78, 80-82 Stefan Mole, Komp akt and Flexibel, Elektronik, September 21, 1993, Vol: 42, No: 19, Pages: 102-108, 114-115 Dave Bursky, IMAGE-PROCESSING CHIP SET ANDLES FULL-MOTION VIDEO, ELECTRO NIC DESIGN, May 3, 1993, Vol: 41, No: 9, Pages: 117-120 Jack Shandle, ISSC CADVANCED TECHNOLOGY, ELECTRONIC DESIGN, 1993 Date Vol: 41, No: 5, Pages: 73, 74, 76, 78, 80 Mark Querol, MPEG / H261-Videodecoder mit wenigen Chips, Elektronik, November 9, 1992, Vol: 41, No: 23, Page. s: 72-75 Doug Baley, Matthew Cressa, Jan Fundrianto, Doug Neubauer, Hedley K. J. Rainnie, Chi-Shin Wang, Programmable Vision Processor / Controller, IEEE Micro, IEEE, Vol: 12, No: 5, Pages: 33-39 Milt Leonicon, Scan Electronics Regiment, Scan Electronics Recon. DESI GN, July 9, 1992, Vol: 40, No: 14, Pages: 40, 42-44, 46 Kiichi Matsuda, Osamu Kawai, Special Issue on Multimedia and Computer Element Technology 3-4 LSI , Journal of the Television Society, Japan, The Television Society of Japan, November 20, 1993, Vol. 47, No. 11, p. 1483-1487 Tsuneo Katsuyama, Ability of Broadband Multimedia Workstation Monster, Electronics, Japan, Ohm Co., Ltd., July 1, 1993, Vol. 38, No. 7, p. 30-34 Keiji Matsumoto and 6 others, Data flow type processor LSI aimed at the image processing field, Nikkei Electronics, Nikkei McGraw-Hill, Japan, April 9, 1984, No. 340, p. 181−218 (58) Fields investigated (Int.Cl. 7 , DB name) G06F 17/10 G06T 1/20 G06T 9/00-9/40 H03M 7/00-7/50 H04N 1/41-1 / 419 H04N 7/00-7/68 G06F 15/82 G06F 13/38-13/42 G06F 15/16-15/177 G06F 15/80

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 逆モデラステージ及び逆離散コサイン変
換ステージを有するパイプラインシステムにおいて、 前記逆モデラステージと前記逆離散コサイン変換ステー
ジの間に配置され、トークンに応答してデータを処理す
る処理ステージであって、前記トークンに対応した規格
に従って前記トークンをデコードする処理ステージを含
み、 前記トークンは、それぞれ、複数のデータワードを含
み、当該ワードのそれぞれは、前記トークン内の追加ワ
ードの有無を示す拡張インディケータを含み、前記トー
クンの長さは、前記拡張インディケータにより決定さ
れ、これにより、前記トークンの長さは、無制限とされ
ることができ、 前記トークンは、前記逆モデラステージから前記処理ス
テージに伝えられることを特徴とするパイプラインシス
テム。
1. A pipeline system having an inverse modeler stage and an inverse discrete cosine transform stage, comprising: a processing stage disposed between the inverse modeler stage and the inverse discrete cosine transform stage for processing data in response to a token. And including a processing stage for decoding the token according to a standard corresponding to the token, wherein each of the tokens includes a plurality of data words, each of which is an extension indicating the presence or absence of an additional word in the token. An indicator, wherein the length of the token is determined by the extended indicator, whereby the length of the token can be unlimited; the token is transmitted from the inverse modeler stage to the processing stage. Pipeline system characterized in that .
JP26675495A 1994-03-24 1995-09-13 Start code detector Expired - Lifetime JP3302538B2 (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
GB9504019A GB2288957B (en) 1994-03-24 1995-02-28 Start code detector
GB9504019.2 1995-02-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP08999795A Division JP3302526B2 (en) 1994-03-24 1995-03-24 Start code detector

Publications (2)

Publication Number Publication Date
JPH08228345A JPH08228345A (en) 1996-09-03
JP3302538B2 true JP3302538B2 (en) 2002-07-15

Family

ID=26304579

Family Applications (16)

Application Number Title Priority Date Filing Date
JP08999795A Expired - Lifetime JP3302526B2 (en) 1994-03-24 1995-03-24 Start code detector
JP7266756A Pending JPH08228347A (en) 1994-03-24 1995-09-13 Start cord detector
JP7266751A Pending JPH08279763A (en) 1994-03-24 1995-09-13 Start cord sensor
JP26675495A Expired - Lifetime JP3302538B2 (en) 1994-03-24 1995-09-13 Start code detector
JP26675095A Expired - Lifetime JP3174996B2 (en) 1994-03-24 1995-09-13 Start code detector
JP26675995A Expired - Lifetime JP3302540B2 (en) 1994-03-24 1995-09-13 Video data decoding system
JP7266758A Pending JPH08116261A (en) 1994-03-24 1995-09-13 Start cord detector
JP7266752A Pending JPH08228343A (en) 1994-03-24 1995-09-13 Start cord detector
JP26674895A Expired - Lifetime JP3302537B2 (en) 1994-03-24 1995-09-13 Start code detector
JP7266749A Pending JPH08322045A (en) 1994-03-24 1995-09-13 Start code detector
JP26675595A Expired - Lifetime JP3302539B2 (en) 1994-03-24 1995-09-13 Start code detector
JP7266753A Pending JPH08228344A (en) 1994-03-24 1995-09-13 Start cord detector
JP26676095A Expired - Lifetime JP3170744B2 (en) 1994-03-24 1995-09-13 Start code detector
JP2001226899A Pending JP2002135778A (en) 1994-03-24 2001-07-27 Decoder and video parser
JP2001226947A Pending JP2002142219A (en) 1994-03-24 2001-07-27 Processing method and apparatus of video data
JP2002129754A Pending JP2003078914A (en) 1994-03-24 2002-05-01 Huffman decoder and decoding method

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP08999795A Expired - Lifetime JP3302526B2 (en) 1994-03-24 1995-03-24 Start code detector
JP7266756A Pending JPH08228347A (en) 1994-03-24 1995-09-13 Start cord detector
JP7266751A Pending JPH08279763A (en) 1994-03-24 1995-09-13 Start cord sensor

Family Applications After (12)

Application Number Title Priority Date Filing Date
JP26675095A Expired - Lifetime JP3174996B2 (en) 1994-03-24 1995-09-13 Start code detector
JP26675995A Expired - Lifetime JP3302540B2 (en) 1994-03-24 1995-09-13 Video data decoding system
JP7266758A Pending JPH08116261A (en) 1994-03-24 1995-09-13 Start cord detector
JP7266752A Pending JPH08228343A (en) 1994-03-24 1995-09-13 Start cord detector
JP26674895A Expired - Lifetime JP3302537B2 (en) 1994-03-24 1995-09-13 Start code detector
JP7266749A Pending JPH08322045A (en) 1994-03-24 1995-09-13 Start code detector
JP26675595A Expired - Lifetime JP3302539B2 (en) 1994-03-24 1995-09-13 Start code detector
JP7266753A Pending JPH08228344A (en) 1994-03-24 1995-09-13 Start cord detector
JP26676095A Expired - Lifetime JP3170744B2 (en) 1994-03-24 1995-09-13 Start code detector
JP2001226899A Pending JP2002135778A (en) 1994-03-24 2001-07-27 Decoder and video parser
JP2001226947A Pending JP2002142219A (en) 1994-03-24 2001-07-27 Processing method and apparatus of video data
JP2002129754A Pending JP2003078914A (en) 1994-03-24 2002-05-01 Huffman decoder and decoding method

Country Status (5)

Country Link
JP (16) JP3302526B2 (en)
KR (1) KR950033895A (en)
CN (1) CN1174315C (en)
CA (13) CA2145159A1 (en)
GB (1) GB2288957B (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP4143907B2 (en) 2002-09-30 2008-09-03 ソニー株式会社 Information processing apparatus and method, and program
CN100382565C (en) * 2002-12-04 2008-04-16 Nxp股份有限公司 Method and apparatus for selecting particular decoder based on bitstream format detection
CN1717939A (en) * 2003-02-19 2006-01-04 松下电器产业株式会社 Picture decoding apparatus, picture encoding apparatus, and method thereof
US7760949B2 (en) 2007-02-08 2010-07-20 Sharp Laboratories Of America, Inc. Methods and systems for coding multiple dynamic range images
US8139601B2 (en) * 2007-07-06 2012-03-20 Xmos Limited Token protocol
PL2518963T3 (en) 2007-09-18 2015-10-30 Lg Electronics Inc Method and system for transmitting and receiving signals
BR112014008734B1 (en) 2011-10-11 2021-11-30 Telefonaktiebolaget Lm Ericsson (Publ) METHOD FOR DETECTING A CHANGE OF SCENE IN A VIDEO TRANSMITTED IN CONTINUOUS STREAM, NON-TRANSITORY COMPUTER-READable MEDIUM AND RELATED DEVICE
CN106297631B (en) * 2016-08-30 2019-06-04 南京巨鲨显示科技有限公司 A kind of display and its error correction method with curve data error correction
US9666307B1 (en) * 2016-09-14 2017-05-30 Micron Technology, Inc. Apparatuses and methods for flexible fuse transmission
CN109491640B (en) * 2019-01-22 2023-08-01 上海艾为电子技术股份有限公司 Temperature detection device and temperature detection method
CN110350922A (en) * 2019-07-18 2019-10-18 南京风兴科技有限公司 A kind of binary-coded addressing method and addressing device
CN111208867B (en) * 2019-12-27 2021-08-24 芯创智(北京)微电子有限公司 DDR (double data Rate) read data integer clock cycle-based synchronization circuit and synchronization method
CN111312309B (en) * 2020-01-10 2023-05-02 电子科技大学 Circuit structure for improving read-write times of ferroelectric memory
CN111722581B (en) * 2020-05-28 2021-10-22 国电南瑞科技股份有限公司 Method for improving communication transmission and data processing efficiency of PLC and upper computer
CN113095015A (en) * 2021-05-08 2021-07-09 中国科学院上海微系统与信息技术研究所 SFQ time sequence circuit comprehensive calculation method, system and terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6046585B2 (en) * 1979-03-06 1985-10-16 株式会社リコー Serial data transmission method
DE69229338T2 (en) * 1992-06-30 1999-12-16 Discovision Ass Data pipeline system
US5325092A (en) * 1992-07-07 1994-06-28 Ricoh Company, Ltd. Huffman decoder architecture for high speed operation and reduced memory
US5351047A (en) * 1992-09-21 1994-09-27 Laboratory Automation, Inc. Data decoding method and apparatus
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
Dave Bursky,IMAGE−PROCESSING CHIP SET HANDLES FULL−MOTION VIDEO,ELECTRONIC DESIGN,1993年5月3日,Vol:41,No:9,Pages:117−120
Dave Bursky,IMPROVED DSP ICs EYE NEW HORIZONS,ELECTRONIC DESIGN,1993年11月11日,Vol:41,No:23,Pages:69,70,72,74,76,78,80−82
Doug Baley,Matthew Cressa,Jan Fandrianto,Doug Neubauer,Hedley K.J.Rainnie,Chi−Shin Wang,Programmable Vision Processor/Controller,IEEE Micro,IEEE,Vol:12,No:5,Pages:33−39
Jack Shandle,ISSCC ADVANCED TECHNOLOGY,ELECTRONIC DESIGN,1993年3月4日 Vol:41,No:5,Pages:73,74,76,78,80
Kannan Ramchandran,Martin Vetterli,Rate−Distortion Optimal Fast Thresholding with Complete JPEG/MPEG Decoder Compatibility,IEEE TRANSACTIONS ON IMAGE PROCESSING,IEEE,Vol:3 No:5,Pages:700−704
Marc Querol,MPEG/H261−Videodecoder mit wenigen Chips,Elektronik,1992年11月9日,Vol:41,No:23,Pages:72−75
Milt Leonard,SCANNING THE OPTIONS FOR IMAGE COMPRESSION,ELECTRONIC DESIGN,1992年7月9日,Vol:40,No:14,Pages:40,42−44,46
Stefan Molle,Kompakt und Flexibel,Elektronik,1993年9月21日,Vol:42,No:19,Pages:102−108,114−115
Subroto Bose,Steve Purcell,Tony Chiang,A SINGLE CHIP MULTISTANDARD VIDEO CODEC,Proceedings of IEEE 1993 CUSTOM INTEGRATED CIRCUITS CONFERENCE,IEEE,Pages:11.4.1−11.4.4
勝山恒男,広帯域マルチメディアワークステーションモンスターの実力,エレクトロニクス,日本,株式会社オーム社,1993年7月1日,第38巻,第7号,p.30−34
松本恵治、他6名,画像処理分野をねらったデータフロー型プロセサLSI,日経エレクトロニクス,日本,日経マグロウヒル社,1984年4月9日,第340号,p.181−218
松田喜一、川井修,特集 マルチメディアとコンピュータ 要素技術の現状と展望 3−4 LSI,テレビジョン学会誌,日本,社団法人テレビジョン学会,1993年11月20日,第47巻,第11号,p.1483−1487

Also Published As

Publication number Publication date
JPH08237654A (en) 1996-09-13
JPH08228345A (en) 1996-09-03
JPH08322045A (en) 1996-12-03
JP3302540B2 (en) 2002-07-15
CA2145427A1 (en) 1995-09-25
JPH08228347A (en) 1996-09-03
JPH08316838A (en) 1996-11-29
CA2145159A1 (en) 1995-09-25
JPH0870452A (en) 1996-03-12
GB2288957A (en) 1995-11-01
CA2145158A1 (en) 1995-09-25
CA2145224A1 (en) 1995-09-25
JP2002142219A (en) 2002-05-17
JPH08116261A (en) 1996-05-07
CA2145222A1 (en) 1995-09-25
JP3302537B2 (en) 2002-07-15
CA2145156A1 (en) 1995-09-25
JP3302539B2 (en) 2002-07-15
JP3174996B2 (en) 2001-06-11
JP2003078914A (en) 2003-03-14
JPH08322044A (en) 1996-12-03
CA2145223C (en) 1999-10-05
CA2145221A1 (en) 1995-09-25
CA2145424A1 (en) 1995-09-25
CA2145225A1 (en) 1995-09-25
CA2145157A1 (en) 1995-09-25
JPH08228348A (en) 1996-09-03
CA2145425A1 (en) 1995-09-25
JPH08228346A (en) 1996-09-03
CN1174315C (en) 2004-11-03
GB9504019D0 (en) 1995-04-19
CA2145223A1 (en) 1995-09-25
CA2145222C (en) 2002-09-10
KR950033895A (en) 1995-12-26
JPH08279763A (en) 1996-10-22
JPH08228344A (en) 1996-09-03
JP3302526B2 (en) 2002-07-15
CN1133534A (en) 1996-10-16
CA2145425C (en) 2002-10-01
JP2002135778A (en) 2002-05-10
CA2145220A1 (en) 1995-09-25
JP3170744B2 (en) 2001-05-28
GB2288957B (en) 1998-09-23
JPH08228343A (en) 1996-09-03

Similar Documents

Publication Publication Date Title
JP3302527B2 (en) Reconfigurable processing system
US20020066007A1 (en) Multistandard video decoder and decompression system for processing encoded bit streams including pipeline processing and methods relating thereto
US6263422B1 (en) Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
EP0891088A1 (en) Pipeline decoding system
JP3302538B2 (en) Start code detector
JP3423942B2 (en) Data processing system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090426

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090426

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100426

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100426

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120426

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120426

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130426

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140426

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term