JP2761449B2 - Image processing system - Google Patents
Image processing systemInfo
- Publication number
- JP2761449B2 JP2761449B2 JP5084663A JP8466393A JP2761449B2 JP 2761449 B2 JP2761449 B2 JP 2761449B2 JP 5084663 A JP5084663 A JP 5084663A JP 8466393 A JP8466393 A JP 8466393A JP 2761449 B2 JP2761449 B2 JP 2761449B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- image
- image data
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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 using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
- H04N7/54—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Advance Control (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は一般にイメージ処理シス
テム及び方法に、特にパイプライン方式のイメージ処理
手法を用いる並列処理システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to image processing systems and methods, and more particularly to a parallel processing system using a pipelined image processing technique.
【0002】[0002]
【従来の技術】単一命令−複数データストリーム(SIMD)
及び複数命令−複数データストリーム(MIMD)並列処理シ
ステムには下記のような制約がある。2. Description of the Related Art Single Instruction-Multiple Data Stream (SIMD)
And the multiple instruction-multiple data stream (MIMD) parallel processing system has the following restrictions .
【0003】SIMDシステムでは、入力データ・セグメン
トの区画は、データ・セグメントの並列実行中の適切な
プロセッサ・ロード平衡の達成を困難にする。また、入
力データ経路上の増分データ帯域幅要求は、SIMDシステ
ムにおける並列プロセッサ数の増加が所望されるときに
は設計の重荷になる。In a SIMD system, partitions of the input data segment make it difficult to achieve proper processor load balancing during parallel execution of the data segment. Also, the incremental data bandwidth requirements on the input data path can burden the design when it is desired to increase the number of parallel processors in a SIMD system.
【0004】MIMDシステムでは、複数のプロセッサの間
のデータフロー通信及び同期の際に一般に複雑さが存在
する。In a MIMD system, there is generally a complexity in data flow communication and synchronization between multiple processors.
【0005】イメージ・データのブロックが処理されて
いるとき、例えばイメージ・データが圧縮(符号化)又は
圧縮解除(復号)されているとき、これらの問題は特に明
白になる。その場合、カメラのようなイメージ・データ
のソース、又は表示モニタのようなイメージ・データの
シンクは、固定イメージ・データ転送速度により実時間
で動作し、イメージ・データ処理システムは所望のソー
ス又はシンク・イメージ・データ転送速度と歩調をそろ
えるべきである。すなわち、イメージ・データ処理シス
テムは、入力イメージ・データの損失を阻止し、かつ
(又は)イメージ・データが表示されるとき望ましくない
可視の人工物(アーチファクト)の生成を阻止する速度
でイメージ・データを処理できなければならない。These problems are particularly apparent when blocks of image data are being processed, for example, when the image data is being compressed (encoded) or decompressed (decoded). In that case, the source of the image data, such as a camera, or the sink of the image data, such as a display monitor, operates in real time at a fixed image data rate, and the image data processing system determines the desired source or sink.・Synchronize with image / data transfer speed
Obtain should be. That is, the image data processing system prevents loss of input image data, and
(Or) It must be able to process the image data at a rate that prevents the creation of undesirable visible artifacts when the image data is displayed.
【0006】プロセス・パイプライン・アーキテクチャ
から最適処理性能を得るためには、パイプライン・デー
タフローができるだけ完全に維持されるべきである。し
かしながら、前記システムの動作中に一般に起きるデー
タフローの変動により、これは困難になる。また、パイ
プライン制御の全監視はホスト・システム又は専用監視
コプロセッサにとって高価なオーバーヘッド要素を表わ
すことがある。In order to obtain optimal processing performance from a process pipeline architecture, the pipeline data flow should be maintained as completely as possible. However, this is made difficult by data flow variations that commonly occur during operation of the system. Also, full monitoring of pipeline control can represent an expensive overhead element for the host system or dedicated monitoring coprocessor.
【0007】米国特許第5046080 号は、狭いバンドのデ
ィジタル・ネットワーク内でビデオホーン・サービスを
提供するビデオホーン・システムを開示している。ホス
トCPU 20はバス21及び共有メモリ24を介してイメージ・
バス28に接続される。CODEC25はパイプラインとして接
続された複数の処理素子(PE)から成る。各PEはディジタ
ル信号プロセッサ(DSP) を含み、イメージ符号化の機能
の一部を実行する。FIFOメモリ・モジュール64はフラグ
回路及びFIFOメモリから成る。フラグ回路は処理素子間
のデータフローを制御する。共有メモリはメッセージを
記憶するために用いられ、処理素子間の同期を実行す
る。データのブロックにより効率的に動作するようにパ
イプライン・アーキテクチャを最適化する方法は記述さ
れていない。US Pat. No. 5,046,080 discloses a video horn system for providing video horn services within a narrow band digital network. The host CPU 20 transmits an image via the bus 21 and the shared memory 24.
Connected to bus 28. The CODEC 25 includes a plurality of processing elements (PE) connected as a pipeline. Each PE includes a digital signal processor (DSP) and performs some of the functions of image coding. The FIFO memory module 64 includes a flag circuit and a FIFO memory. The flag circuit controls the data flow between the processing elements. Shared memory is used to store messages and performs synchronization between processing elements. It does not describe how to optimize the pipeline architecture to operate more efficiently with blocks of data.
【0008】[0008]
【発明が解決しようとする課題】本発明の第一の目的
は、別個のプロセス・パイプライン機能の境界でプロセ
ス・パイプライン内にデータ緩衝記憶及び局所制御機能
が挿入されるプロセス・パイプライン・アーキテクチャ
を提供することにある。SUMMARY OF THE INVENTION A first object of the present invention is to provide a process pipeline in which data buffering and local control functions are inserted into the process pipeline at the boundaries of separate process pipeline functions. To provide an architecture.
【0009】本発明の第二の目的は、パイプラインの別
個のステージが局所データ・バッファ及びできればアド
レス・バッファ、ならびに局所同期及びタイミングを監
視する局所制御装置を含むプロセス・パイプライン・ア
ーキテクチャを提供することにある。A second object of the present invention is to provide a process pipeline architecture in which separate stages of the pipeline include a local data buffer and possibly an address buffer, and a local controller for monitoring local synchronization and timing. Is to do.
【0010】本発明の第三の目的は、ビデオ/イメージ
・データのブロックを符号化し復号するシステムを提供
し、かつパイプライン・アーキテクチャを最適化する方
法を提供することにある。It is a third object of the present invention to provide a system for encoding and decoding blocks of video / image data and to provide a method for optimizing a pipeline architecture.
【0011】[0011]
【課題を解決するための手段】複数の直列に接続された
計算ルーチン又は機能を有するプロセス・パイプライン
・アーキテクチャにより構築されたイメージ処理システ
ムにより、前記及びその他の問題が解決され本発明の目
的が達成される。隣接する、直列接続されたルーチン又
は機能の間に、バッファ、例えば先入れ先出しバッファ
(FIFO)、及び局所状態機械(LSM) が挿入される。この順
次プロセス・パイプライン処理アーキテクチャはMIMD環
境で同期の複雑さを最小にするが、機能の変化に対する
イメージ処理システムの柔軟性も高める。直列プロセス
・パイプライン構造で新しい処理境界を決定し、決定さ
れた境界に新たな機能又はルーチンを挿入することによ
り、新しい機能又はルーチンの付加及び挿入が行なわれ
る。SUMMARY OF THE INVENTION The above and other problems are solved and an object of the present invention is achieved by an image processing system constructed with a process pipeline architecture having a plurality of serially connected computation routines or functions. Achieved. Buffers between adjacent, serially connected routines or functions, e.g., first-in-first-out buffers
(FIFO) and Local State Machine (LSM) are inserted. This sequential process pipeline processing architecture minimizes synchronization complexity in a MIMD environment, but also increases the flexibility of the image processing system to changes in functionality . New functions or routines are added and inserted by determining new processing boundaries in the serial process pipeline structure and inserting new functions or routines at the determined boundaries.
【0012】広範囲のデータフロー変動に対処する能力
をパイプライン構造に与えるためにバッファ、例えばFI
FOが処理ステージ間に挿入される。Buffers, such as FIs, provide the pipeline structure with the ability to handle a wide range of data flow variations.
FO is inserted between processing stages.
【0013】本発明の別の状況によれば、局所同期タス
クを管理するように2つの隣接するプロセスの間の境界
に局所状態機械(LSM) 制御ブロックが挿入されるので、
通常のホスト又は専用コプロセッサで要求されるオーバ
ーヘッドの増大に関する問題が解決される。プロセス・
パイプライン・アーキテクチャにおけるプロセスの正し
い順序を決定するために、LSM はプロセス間初期接続プ
ロトコルとともにFIFOフラグを用いる。According to another aspect of the invention, a local state machine (LSM) control block is inserted at the boundary between two adjacent processes to manage a local synchronization task,
The problem of increasing the overhead required by a typical host or dedicated coprocessor is solved. process·
To determine the correct order of processes in a pipeline architecture, LSM uses a FIFO flag with the interprocess initial connection protocol.
【0014】即ち、本発明はプロセス間にバッファ及び
局所状態機械制御部が埋め込まれた順次プロセス・パイ
プライン・アーキテクチャを提供する。バッファ及びLS
M は組合わせて動的記憶バッファを提供するとともにプ
ロセス・シーケンスのデータフロー制御も提供する。こ
れらの特性は、システムの柔軟性、及びイメージ処理ア
プリケーションを含む(がそれに限定されない)種々のア
プリケーションに対するシステムの拡張性を高める。That is, the present invention provides a sequential process pipeline architecture with embedded buffers and local state machine controls between processes. Buffer and LS
M in combination provides a dynamic storage buffer and also provides data flow control for the process sequence. These characteristics increase the flexibility of the system and the scalability of the system to various applications, including but not limited to image processing applications.
【0015】より詳しくは、本発明のある状況は、デー
タ処理システムで用いる順次プロセス・パイプラインを
提供する。順次プロセス・パイプラインは、各々がデー
タ・ブロックとして構成されたデータのプロセスを実行
する複数の処理ステージを含む。複数の処理ステージ
は、それらの間でデータ・ブロックを引渡すために互い
に直列に接続される。最初の処理ステージは、データ処
理システム資源捕捉境界で、第1のデータ速度で該デー
タ処理システムからデータを入力し該データ処理システ
ムにデータを出力するために該データ処理システムに接
続される。最後の処理ステージは、第1のデータ速度と
異なる第2のデータ速度で動作するデータ・ソース及び
(又は)データ・シンクに接続される。More specifically, one aspect of the present invention provides a sequential process pipeline for use in a data processing system. A sequential process pipeline includes a plurality of processing stages that each execute a process on data organized as data blocks. A plurality of processing stages are connected in series with one another to deliver blocks of data between them. The first processing stage is connected to the data processing system at a data processing system resource capture boundary to input data from the data processing system at a first data rate and output data to the data processing system. Final processing stage, the data source and operating at a second data rate different from the first data rate
(Or) Connected to a data sink.
【0016】処理ステージの各々は処理ステージと隣接
処理ステージの間に挿入されたデータ・バッファを含
む。更に最初の処理ステージはデータ処理システム資源
捕捉境界と最初の処理ステージの間に挿入されたインタ
フェース・データ・バッファを含む。Each of the processing stages includes a data buffer inserted between the processing stage and an adjacent processing stage. Further, the first processing stage includes an interface data buffer inserted between the data processing system resource capture boundary and the first processing stage.
【0017】隣接する処理ステージ間に挿入されるデー
タ・バッファの各サイズ(SIZE OF BUFFER)は下式によっ
て決定される。Each size (SIZE OF BUFFER) of a data buffer inserted between adjacent processing stages is determined by the following equation.
【数3】 SIZE OF BUFFER(i) = (RP(i) - RP(i+1)) x Pmax ここで、プロセス(i) を実行する処理ステージの場合、
iはプロセス・パイプラインで処理ステージに関連した
プロセス・シーケンス番号である。Pmaxはプロセス(i)
によりデータ・ブロックを完全に処理するのに必要な最
大時間であり、RP(i)はプロセス(i)により生じたデータ
速度であり、RP(i+1) は後続のプロセス(i+1)からのデ
ータ速度である。SIZE OF BUFFER (i) = (RP (i) −RP (i + 1)) × Pmax Here, in the case of the processing stage for executing the process (i),
i is the process sequence number associated with the processing stage in the process pipeline. Pmax is the process (i)
Is the maximum time required to completely process a data block, RP (i) is the data rate generated by process (i), and RP (i + 1) is the subsequent process (i + 1) Is the data rate from
【0018】順次プロセス・パイプラインは更に処理ス
テージによるプロセスの実行を制御するために処理ステ
ージの各々に関連した局所制御装置を含む。The sequential process pipeline further includes a local controller associated with each of the processing stages to control the execution of the process by the processing stages.
【0019】本発明の良好な実施例では、データ・ブロ
ックはイメージ・データから成り、処理ステージの1つ
は係数を生成する離散コサイン変換プロセスを実行し、
処理ステージの1つは離散コサイン変換量子化プロセス
を実行し、そして処理ステージの1つは量子化された離
散コサイン変換係数のエントロピーを減らすプロセスを
実行する。In a preferred embodiment of the invention, the data block consists of image data and one of the processing stages performs a discrete cosine transform process to generate coefficients,
One of the processing stages performs a discrete cosine transform quantization process, and one of the processing stages performs a process to reduce the entropy of the quantized discrete cosine transform coefficients.
【0020】該良好な実施例では、最初の処理ステージ
は、イメージ・データ入力バッファ、イメージ・データ
出力バッファ及びアドレス・バッファを含む、複数のバ
ッファを通して2番目の処理ステージに接続される。ア
ドレス・バッファは、イメージ・メモリ内のアドレスの
ブロックの先頭アドレスをそれぞれ識別するアドレスを
記憶する。イメージ・メモリ中のアドレスのブロックの
各々は圧縮解除されたイメージ・データのブロックを記
憶する。局所制御装置は、離散コサイン変換プロセス及
び離散コサイン変換量子化プロセスを実行する処理ステ
ージの動作を開始するようにアドレス・バッファへのア
ドレスの書込みに応答する。In the preferred embodiment, the first processing stage is connected to the second processing stage through a plurality of buffers, including an image data input buffer, an image data output buffer, and an address buffer. You. The address buffer stores an address for identifying a head address of a block of an address in the image memory. Each of the blocks of addresses in the image memory stores a block of decompressed image data. The local controller is responsive to writing the address to the address buffer to initiate operation of a processing stage that performs a discrete cosine transform process and a discrete cosine transform quantization process.
【0021】[0021]
【実施例】本発明に関する下記の詳細な記述は次のよう
に構成される。セクション(A)は図1に関連して本発明
の1つの状況である順次プロセス・パイプライン・アー
キテクチャについて記述し、セクション(B)は図2〜図
7及び図9に関連して図1の実施例に基づいたビデオ/
イメージ処理パイプラインの良好な実施例の全構成及び
動作について記述し、セクション(C)は図8及び図10
に関連してビデオ/イメージ処理パイプラインの良好な
実施例をより詳細に記述する。DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention is constituted as follows. Section (A) describes the sequential process pipeline architecture, one aspect of the present invention, in connection with FIG. 1, and section (B) describes FIG. 1 in connection with FIGS. Example based video /
The entire configuration and operation of the preferred embodiment of the image processing pipeline is described, and section (C) is described in FIGS.
A preferred embodiment of the video / image processing pipeline will be described in more detail with reference to FIG.
【0022】セクション(A) 図1は本発明に従って構築され作動されるイメージ処理
システム10の一部、特に多重ステージ(ステージ(i-1)〜
ステージ(i+1))順次プロセス・パイプライン12を示す簡
略ブロック図である。ホスト・プロセッサ14はシステム
資源捕捉境界(SRIB)14aでプロセス・パイプライン12の
ステージ(i-1)に接続される。Section (A) FIG. 1 illustrates a portion of an image processing system 10 constructed and operated in accordance with the present invention, in particular, multiple stages (stage (i-1) through stage (i-1)).
FIG. 3 is a simplified block diagram showing a stage (i + 1)) sequential process pipeline 12. The host processor 14 is connected to the stage (i-1) of the process pipeline 12 at a system resource capture boundary (SRIB) 14a.
【0023】一般に、順次プロセス・パイプライン12
は、それらのルーチン又は機能に基づいて区画されてい
る、所定のシーケンスのプロセスで連結される一連の処
理単位であるとみなすことができる。これらのプロセス
は所望の計算終了結果を達成するように提携して機能す
ることを意図している。Generally, the sequential process pipeline 12
Can be considered as a series of processing units linked in a predetermined sequence of processes, partitioned based on those routines or functions. These processes are intended to work in concert to achieve the desired computational end result.
【0024】プロセス・パイプライン12のステージ(i)
及びステージ(i+1)は、例えば、第1及び第2のバッフ
ァ16a及び16b、局所状態機械18及びプロセス・ブロック
20を含む。本発明のプロセス・パイプライン・アーキテ
クチャは、それぞれがデータ貯蔵庫として機能する関連
バッファ16a、バッファ16bを有する局所状態機械18のシ
ストリック(systolic)特性により特徴づけられる。LSM
18の制御の下に、プロセス・ブロック20、バッファ16a
及びバッファ16bを介して記憶装置間で制御及びデータ
が引渡される。Stage (i) of Process Pipeline 12
And stage (i + 1) comprises, for example, first and second buffers 16a and 16b, local state machine 18 and process block
Including 20. The process pipeline architecture of the present invention is characterized by the systolic nature of the local state machine 18 having an associated buffer 16a, 16b, each functioning as a data repository. LSM
Process block 20, buffer 16a under control of 18
And control and data are transferred between the storage devices via the buffer 16b.
【0025】バッファ16a、16b及び順次プロセス・パイ
プライン12に埋め込まれたセルフ・タイミング、LSM 駆
動処理制御部は、ディジタル・イメージ・データに関す
る一連のイメージ処理動作及び(又は)他の動作を実行す
るのによく適している。プロセスが正しいシーケンスで
自己トリガされるものと仮定すると、この手法はプロセ
ス・パイプラインを通じてブロック単位で自動的、柔軟
なプロセス・パイプライン制御を提供する。The self-timing, LSM drive control embedded in the buffers 16a, 16b and the sequential process pipeline 12 performs a series of image processing operations and / or other operations on digital image data. Well suited for Assuming that the processes are self-triggered in the correct sequence, this approach provides automatic, flexible process pipeline control on a block-by-block basis through the process pipeline.
【0026】プロセス・パイプライン12の動作の種々の
状況についてここで詳細に説明する。Various aspects of the operation of the process pipeline 12 will now be described in detail.
【0027】プロセス同期 プロセス・パイプライン12の履行を意図するデータ・ス
ループットの所与の要求に基づいて、かつプロセス・パ
イプライン12における順次プロセスに沿った追跡によ
り、最悪の場合のプロセスの処理時間を識別することが
できる。Process Synchronization Based on a given demand for data throughput intended to implement the process pipeline 12 and tracking along a sequential process in the process pipeline 12, the worst case processing time of the process Can be identified.
【0028】各計算ルーチン又は機能の処理サイクルの
数で表示された最大所要時間 (以下、本明細書では Pma
x と呼ぶ) は1ブロックのデータを完全に処理するのに
必要な処理サイクル・カウントの最大数を表わす。従っ
て、Pmaxの大きさは計算プロセス毎の大域同期間隔とみ
なすことができる。ホスト・プロセッサ14による実行の
結果得られた大域同期クロックは、処理を開始する時期
を個々のプロセス・ブロック20に通知する。この通知は
SRIB 14aを横切ってステージ(i-1) に接続される使用可
能ラインによって行なわれる。The maximum required time, expressed as the number of processing cycles of each calculation routine or function (hereinafter referred to as Pma
x) represents the maximum number of processing cycle counts required to completely process a block of data. Therefore, the magnitude of Pmax can be regarded as a global synchronization interval for each calculation process. The global synchronization clock obtained as a result of execution by host processor 14 informs individual process blocks 20 when to begin processing. This notification
This is done by an available line connected to stage (i-1) across SRIB 14a.
【0029】ホスト・プロセッサ14により実行された大
域同期の基礎となるものは、埋め込まれた各局所状態機
械18により局所的に管理されるプロセス間データフロー
通信である。プロセス・パイプライン12で区画されたプ
ロセスの各々を管理し同期させる自己活動化局所状態機
械18は、下記に詳細に記述されるように、プロセス同期
をなし遂げる正しいタイミングを決定する際にプロトコ
ルを実行する。Underlying the global synchronization performed by the host processor 14 is an inter-process data flow communication managed locally by each embedded local state machine 18. The self-activating local state machine 18, which manages and synchronizes each of the processes partitioned by the process pipeline 12, uses a protocol in determining the correct timing to achieve process synchronization, as described in detail below. Run.
【0030】共有システム・メモリ資源アービトレーシ
ョンを実行するために必要な処理サイクルのような、非
計算事象の処理サイクルの数が時には全処理努力を支配
することもありうる。従って、非計算事象はできれば指
定変更(override)モードとともに提供されることが望ま
しい。本明細書では、非計算事象を提供する最大時間、
又はサイクルの数は Tmax で表示される。これはイメー
ジ処理システム10の資源従属変数である。本明細書でAs
ysと呼ばれる、イメージ処理システム10の資源アービト
レーション・オーバーヘッド (又は資源アービトレーシ
ョンを実行するために必要な最大時間) がPmaxよりも大
きい場合に、そしてその場合にのみTmaxが存在しうる。
図1で、ホスト・プロセッサ14と順次パイプラインの第
1のLSM18の間に接続される使用可能信号ライン14b はA
sys標識として用いられ、さもなければ使用されたLSM 1
8のPmaxに対する指定変更として作用する。従って、使
用可能信号ライン14b は、使用可能なとき、プロセス・
パイプライン12の大域同期を提供する。The number of processing cycles of a non-computed event, such as the processing cycles required to perform shared system memory resource arbitration, can sometimes dominate the overall processing effort. Therefore, non-computed events are preferably provided with an override mode if possible. As used herein, the maximum time to provide a non-computed event,
Or the number of cycles is indicated by Tmax. This is a resource dependent variable of the image processing system 10. As used herein
Tmax may be present if and only if the resource arbitration overhead (or the maximum time required to perform resource arbitration) of image processing system 10, referred to as ys, is greater than Pmax.
In FIG. 1, the available signal line 14b connected between the host processor 14 and the first LSM 18 of the sequential pipeline is A
LSM used as sys indicator or otherwise used 1
Acts as an override to Pmax of 8. Therefore, the available signal line 14b is
Provides global synchronization of pipeline 12.
【0031】従って、各プロセスのプロトコルは擬似コ
ード例で下記のように記述できる。 IF (AsysがPmaxよりも大きい) AND IF (バッファ(i-1)
がNOT EMPTYである) Tmax = Asys; あらゆる Tmax サイクルの PROCESS(i) を開始する;ELS
E IF (Asysは Pmax よりも大きくない) AND IF (バッフ
ァ(i-1) は NOT EMPTY である) あらゆる Pmax サイクルの PROCESS(i) を開始する; END IF.Therefore, the protocol of each process can be described as follows in a pseudo code example. IF (Asys is greater than Pmax) AND IF (buffer (i-1)
Is NOT EMPTY) Tmax = Asys; Start PROCESS (i) for every Tmax cycle; ELS
E IF (Asys not greater than Pmax) AND IF (buffer (i-1) is NOT EMPTY) Initiate PROCESS (i) every Pmax cycle; END IF.
【0032】最大のシステム従属処理時間(即ち、Tmax)
は、デフォルト値により、LSM 18を指定変更してトリガ
し、さもなければ、Pmaxで表示される局所自己タイミン
グ基準を用いる。即ち、プロセスは時には、最長の処理
サイクル(即ちTmax)が該プロセスの開始を可能にするま
で、より遅いシステム・アービトレーションを待たなけ
ればならない。従って、この動的制御のプロセス・パイ
プライン12モードはイメージ処理システム10の資源タイ
ミングを統合し適応させる。Maximum system dependent processing time (ie, Tmax)
Triggers by overriding LSM 18 by default, otherwise using the local self-timing reference denoted by Pmax. That is, a process sometimes has to wait for slower system arbitration until the longest processing cycle (ie, Tmax) allows the process to start. Thus, this dynamic control process pipeline 12 mode integrates and adapts the resource timing of the image processing system 10.
【0033】プロセス・ブロック20の間のバッファ16(1
6a及び16b)はデータフローの密度変動を論理的に平滑化
する。境界バッファ16はもう1つの目的:データ従属プ
ロセスをデータから独立したプロセスから分離すること
にも役立つ。多くの信号処理ルーチンでは、データフロ
ー・ノードの相対的なサンプル速度はデータから独立し
ている。従って、順次プロセス・パイプライン12で実現
される本発明の状況はデータ従属プロセスをデータから
独立したプロセスから識別する。Buffer 16 (1) between process blocks 20
6a and 16b) logically smooth out data flow density variations. Boundary buffer 16 also serves another purpose: separating data dependent processes from data independent processes. In many signal processing routines, the relative sample rate of the dataflow node is independent of the data. Thus, the situation of the present invention implemented in the sequential process pipeline 12 distinguishes data dependent processes from data independent processes.
【0034】プロセス境界を与える場所、及び後続のプ
ロセス間の関連バッファ16のサイズを決める方法の決定
は、下記の3つのカテゴリに分類しうる要因により指示
される。 (1) 種々の資源から負わされたシステム・アービトレー
ション・オーバーヘッド(即ち、Asys) (2) プロセス内のデータフローの相対的なサンプル速度
の処理特性 (即ち、所与のプロセスはデータ独立か?) (3) プロセス・パイプライン12における各プロセス・ブ
ロック20の入力及び出力のデータ帯域幅要求、即ち制約The determination of where to provide process boundaries and how to determine the size of the associated buffer 16 between subsequent processes is dictated by factors that can be classified into the following three categories: (1) System arbitration overhead incurred from various resources (ie, Asys). (2) Processing characteristics of the relative sample rate of data flow within a process (ie, is a given process data independent ?). (3) Input and output data bandwidth requirements of each process block 20 in the process pipeline 12, i.e., constraints
【0035】2つの隣接プロセス・ブロック20の間の短
期間の速度不一致に適応させるために、挿入されたバッ
ファのサイズ(SIZE OF BUFFER)は下式により決定され
る。To accommodate short term speed mismatches between two adjacent process blocks 20, the size of the inserted buffer (SIZE OF BUFFER) is determined by:
【数4】 SIZE OF BUFFER(i) = (RP(i) - RP(i+1)) x Pmax (1) ここで、Pmaxは各計算プロセスの処理時間間隔、即ち最
大処理時間であり、RP(i)はプロセス(i)により生じたデ
ータ速度であり、RP(i+1)は後続のプロセス(i+1)からの
データ速度であり、そしてiはプロセス・パイプライン
12におけるプロセス・シーケンス番号である。SIZE OF BUFFER (i) = (RP (i) −RP (i + 1)) × Pmax (1) where Pmax is a processing time interval of each calculation process, that is, a maximum processing time. (i) is the data rate generated by process (i), RP (i + 1) is the data rate from subsequent process (i + 1), and i is the process pipeline.
12 is the process sequence number.
【0036】プロセス・パイプライン12で連続データフ
ローを達成するために、SRIB 14aを横切るバッファ16の
サイズは別個に考慮される。システム10の資源との交差
が起きると、式(1) のPmaxはTmaxに置き換えられ、SRIB
におけるインタフェース・データ・バッファのSIZE_SRI
B(SRIBのサイズ)は下式により決定される。To achieve continuous data flow in the process pipeline 12, the size of the buffer 16 across the SRIB 14a is considered separately. When an intersection with the resources of the system 10 occurs, Pmax in equation (1) is replaced by Tmax, and SRIB
SIZE_SRI of interface data buffer in
B (the size of SRIB) is determined by the following equation.
【数5】 SIZE_SRIB = (RP(i) - RP(i+1)) x Tmax (2)SIZE_SRIB = (RP (i)-RP (i + 1)) x Tmax (2)
【0037】前記により、本発明の状況はデータ処理シ
ステムで用いる順次プロセス・パイプラインを定義する
方法を提供する。この方法は各々がデータ・ブロックと
して構成されたデータに関するプロセスを実行する複数
のデータ処理ステージを定義するステップ(a) を含む。
それらのステージの各々は、例えば、データ従属のプロ
セスをデータから独立したプロセスから分離するように
定義される。前記方法の次のステップ(b) は、複数の定
義されたデータ処理ステージを、所望の処理機能を達成
するために選択された順序で互いに直列に接続する。前
記方法の3番目のステップは、直列に接続されたデータ
処理ステージの隣接するステージ間のインタフェース
で、該インタフェースを横切るデータ・ブロックの転送
を制御するためにデータ・ブロック・バッファ及び局所
制御装置を提供する。From the foregoing, the context of the present invention provides a method for defining a sequential process pipeline for use in a data processing system. The method includes the step of defining a plurality of data processing stages each performing a process on data organized as data blocks.
Each of these stages is defined, for example, to separate data-dependent processes from data-independent processes. The next step (b) of the method is to connect a plurality of defined data processing stages in series with one another in a selected order to achieve the desired processing function. The third step of the method is to provide an interface between adjacent ones of the serially connected data processing stages, with a data block buffer and a local controller for controlling the transfer of data blocks across the interface. provide.
【0038】セクション(B) 図2は、図1のプロセス・パイプライン・アーキテクチ
ャによって構築されるイメージ・データ符号化及び復号
システムの実施例を示す簡略回路ブロック図である。Section (B) FIG. 2 is a simplified circuit block diagram illustrating an embodiment of an image data encoding and decoding system constructed according to the process pipeline architecture of FIG.
【0039】該システムの目的はイメージ・データの圧
縮(符号化)及び圧縮解除(復号)を実行することである。
符号化の場合、イメージ・メモリ22内のイメージは圧縮
/圧縮解除(CODEC)装置24に引渡され、その結果生じた
圧縮データは出力FIFO 26に入れられた後、記憶され
る。イメージ・データを復号するとき、入力FIFO 28 内
の圧縮データはCODEC 24に引渡され、その結果生じた圧
縮解除データは表示及び (又は) 後の処理のためにイメ
ージ・メモリ22に記憶される。局所プロセッサ30は局所
メモリ32と出力FIFO 26、入力FIFO 28及びアドレスFIFO
34 の間に接続される。アドレスFIFO 34 は、後に説明
するように、イメージ・メモリ22内の復号されたイメー
ジ・データのブロックの先頭アドレスを記憶する。制御
レジスタ36はデータ・ブロック見出し(H)を受取り記憶
するために入力FIFO 28の出力に接続された入力を有す
る。この見出し情報は、後に説明するように、CODEC 24
制御情報を含む。The purpose of the system is to perform compression (encoding) and decompression (decoding) of the image data.
In the case of encoding, the image in image memory 22 is passed to a compression / decompression (CODEC) device 24, and the resulting compressed data is stored in output FIFO 26 after being entered. When decoding image data, the compressed data in input FIFO 28 is passed to CODEC 24, and the resulting decompressed data is stored in image memory 22 for display and / or later processing. The local processor 30 includes a local memory 32, an output FIFO 26, an input FIFO 28, and an address FIFO.
Connected between 34. The address FIFO 34 stores the start address of a block of decoded image data in the image memory 22, as described later. Control register 36 has an input connected to the output of input FIFO 28 for receiving and storing the data block header (H). This heading information is stored in CODEC 24
Contains control information.
【0040】本発明のこの実施例では、CODEC 24は離散
コサイン変換(DCT) に基づいた圧縮アルゴリズムを用い
てイメージ・データを処理する。良好なDCT 方法は、IS
O/IEC JTC1/SC2/WG8 CCITT SGVIII JPEG-8-R5.2 May 1
0, 1990に記述された統合写真エキスパート・グループ
(JPEG)ベースラインに基づいたものである。このアルゴ
リズムはソース・イメージを8x8 ブロックのイメージ・
データ・エレメントに分割してから各ブロックを処理す
る。イメージ・データのブロックの処理は図9の対称的
な論理流れ図に示されている。In this embodiment of the invention, CODEC 24 processes the image data using a compression algorithm based on the discrete cosine transform (DCT). A good DCT method is IS
O / IEC JTC1 / SC2 / WG8 CCITT SGVIII JPEG-8-R5.2 May 1
Integrated Photo Expert Group described in 0, 1990
(JPEG) Based on baseline. This algorithm converts the source image into an 8x8 block image
Process each block after dividing it into data elements. The processing of a block of image data is illustrated in the symmetric logic flow diagram of FIG.
【0041】圧縮する前に、イメージ・データは128 を
引くことによりレベル・シフトされる(8ビット精度)。
DCT 装置は64事象のブロックを処理し、64エントリ索引
テーブルの重みに従って量子化される係数を生成する。
重みは種々の周波数に対する人間の目の既知の応答に基
づく。結果は無損失エントロピー符号化手法により符号
化される周波数従属量子化である。D.A. Huffman, "A M
ethod for the Construction of Minimum-Redundancy C
odes", Proc. IRE, Sept. 1952, pp. 1098-1101 に記載
されているハフマン可変長符号化(VLC)、及び W.K. Pra
tt, Digital Image Processing, John Wiley & Sons, p
p. 632, (1978)に記載されているラン長符号化(RLC) は
2つの最も頻繁に用いられる無損失エントロピー符号化
手法である。これらの手法(VLC及びRLC)はどちらもDCT
係数のストリームはしばしば長いランの0を含むという
事実を利用する。Prior to compression, the image data is level shifted by subtracting 128 (8-bit precision).
The DCT unit processes the block of 64 events and generates coefficients that are quantized according to the weights of the 64 entry look-up table.
The weights are based on the known response of the human eye to various frequencies. The result is a frequency dependent quantization encoded by a lossless entropy encoding scheme. DA Huffman, "AM
ethod for the Construction of Minimum-Redundancy C
odes ", Proc. IRE, Sept. 1952, pp. 1098-1101, Huffman Variable Length Coding (VLC), and WK Pra
tt, Digital Image Processing, John Wiley & Sons, p
Run length coding (RLC), described in p. 632, (1978), is the two most frequently used lossless entropy coding techniques. Both of these techniques (VLC and RLC) are DCT
Take advantage of the fact that streams of coefficients often contain long runs of zeros.
【0042】前述のプロセス・パイプライン12の特性
は、CODEC に基づいたイメージ処理システムで用いられ
ると、下記の利点を与える。The characteristics of the process pipeline 12 described above provide the following advantages when used in a CODEC-based image processing system.
【0043】固有の同期機構のために、プロセス・パイ
プライン12におけるプロセスが正しいシーケンスで起き
る限り、イメージ処理システム10のユーザはデータ転送
の正確なタイミングを心配しなくてもよい。Because of the inherent synchronization mechanism, as long as the processes in the process pipeline 12 occur in the correct sequence, the user of the image processing system 10 does not need to worry about the exact timing of the data transfer.
【0044】また、プロセス間に挿入されたFIFOメモリ
はデータフローの瞬間転送速度の変動を平滑化する。The FIFO memory inserted between the processes smoothes the fluctuation of the instantaneous transfer speed of the data flow.
【0045】更に、自己活動化される局所状態機械制御
は境界間処理待ち状態を透明にするので、プロセス・パ
イプライン12介して伝播するプロセスの大域時間スケジ
ュールを考慮することからプログラマを解放する。In addition, the self-activated local state machine control makes the inter-boundary processing wait state transparent, thereby freeing the programmer from considering the global time schedule of the process propagating through the process pipeline 12.
【0046】符号化処理 符号化(圧縮)の場合、圧縮されないソース・イメージが
最初にイメージ・メモリ22に記憶される。局所プロセッ
サ30は最初に、内部テーブルをロードし他の必要な機能
を実行することにより、符号化処理のためにCODEC 24を
用意する。符号化プロセスはLSM 18により制御される。
データのブロックの符号化を開始する前に、LSM 18は入
力FIFOを読取り、ブロック見出し(H) を回復する。そし
て、CODEC 24制御情報を含む見出しは制御レジスタ36に
記憶され、CODEC 24に適用される。そして局所プロセッ
サ30は、処理されるイメージ・データ・ブロック毎に、
イメージ・メモリ22ソース・アドレスをアドレスFIFO 3
4にロードする。Encoding In the case of encoding (compression), the uncompressed source image is first stored in the image memory 22. Local processor 30 first prepares CODEC 24 for the encoding process by loading an internal table and performing other necessary functions. The encoding process is controlled by LSM 18.
Before starting to encode a block of data, LSM 18 reads the input FIFO and recovers the block header (H). Then, the header including the CODEC 24 control information is stored in the control register 36 and applied to the CODEC 24. The local processor 30 then, for each image data block to be processed,
Image memory 22 Source address to address FIFO 3
Load 4
【0047】図4はイメージ・データ符号化動作の入力
FIFO 28 の内容例を示す。明らかに、入力FIFO 28 は複
数の見出しブロックを含み、その各々は、イメージ・メ
モリ22に記憶されるイメージ・データの関連データ・ブ
ロックに関するCODEC 24制御情報を含む。図6は図2の
アドレスFIFO 34の、図4の入力FIFO 28の内容に対する
内容例を示す。図7はイメージ符号化動作中及び該動作
後の図2の出力FIFOの内容例を示す。FIG. 4 shows the input of the image data encoding operation.
An example of the contents of FIFO 28 is shown. Obviously, the input FIFO 28 includes a plurality of header blocks, each of which includes CODEC 24 control information for an associated data block of image data stored in the image memory 22. FIG. 6 shows an example of the contents of the address FIFO 34 of FIG. 2 with respect to the contents of the input FIFO 28 of FIG. FIG. 7 shows an example of the contents of the output FIFO of FIG. 2 during and after the image encoding operation.
【0048】イメージ・データのブロックの見出し情報
を制御レジスタ36に提供した後、イメージ・データのブ
ロックをCODEC 24に読取るためにLSM 18は読取り要求を
イメージ・メモリ22に送る。CODEC 24はイメージ・デー
タ・ブロックを符号化し、圧縮されたイメージ・データ
を、後の局所プロセッサ30による検索のために、出力FI
FO 26に引渡す。CODEC 24は、データの完全なブロック
の圧縮を終了すると、LSM 18に対するブロックの終了(E
OB)信号を生成する。LSM 18は、更に処理すべきブロッ
クがある場合、それに応答して、入力FIFO 28 から次の
イメージ・データ・ブロックの見出し情報の検索により
前述の動作を反復する。LSM 18は、アドレスFIFO 34のE
MPTY(空)信号ラインの状態で示すように、アドレスFIFO
34 に更にイメージ・メモリ22ソース・アドレスが存在
することにより、更に処理すべきブロックがあると判定
する。After providing the header information of the block of image data to the control register 36, the LSM 18 sends a read request to the image memory 22 to read the block of image data into the CODEC 24. CODEC 24 encodes the image data block and outputs the compressed image data to output FI for later retrieval by local processor 30.
Deliver to FO 26. When CODEC 24 finishes compressing a complete block of data, it ends the block (E
OB) signal. LSM 18 responds by repeating the above operation by retrieving the header information of the next image data block from input FIFO 28 in response to any further blocks to be processed. LSM 18 is the address FIFO 34 E
As shown by the state of the MPTY (empty) signal line, the address FIFO
If the source address of the image memory 22 further exists in the block 34, it is determined that there is a block to be further processed.
【0049】復号処理 復号(圧縮解除)の場合、圧縮されたイメージ・データの
ブロックは局所プロセッサ30により入力FIFOに入れられ
る。後にDCTQ 42及び DCT 40制御ビットに関して引用さ
れるように、局所プロセッサ30は任意の所要のブロック
制御パラメータを開始し維持する。復号プロセスはLSM
18により制御される。データのブロックの復号を開始す
る前に、LSM 18は入力FIFO 28 を読取り、処理されるイ
メージ・データのブロックの見出しを検索する。そして
CODEC 24制御情報を含む見出しは制御レジスタ36に記憶
され、CODEC 24に使用される。局所プロセッサ30は、処
理される各イメージ・データ・ブロックのイメージ・メ
モリ22の目標アドレスをアドレスFIFO 34にもロードす
る。Decoding Process For decoding (decompression), a block of compressed image data is placed into the input FIFO by the local processor 30. Local processor 30 initiates and maintains any required block control parameters, as will be referred to later with respect to DCTQ 42 and DCT 40 control bits. The decryption process is LSM
Controlled by 18. Before starting to decode a block of data, LSM 18 reads input FIFO 28 and searches for the header of the block of image data to be processed. And
The header containing the CODEC 24 control information is stored in the control register 36 and used for CODEC 24. The local processor 30 also loads the address FIFO 34 with the target address of the image memory 22 for each image data block to be processed.
【0050】図3はイメージ・データ復号動作に関する
入力FIFO 28 の内容例を示す。明らかに、見出し情報の
間にイメージ・データのブロック及びブロック終了(EO
B) 識別子が散在している。図5は図3の入力FIFO 28に
関する図2のアドレスFIFO 34の内容例を示す。FIG. 3 shows an example of the contents of the input FIFO 28 relating to the image data decoding operation. Obviously, the block of image data and the end of block (EO
B) Identifiers are scattered. FIG. 5 shows an example of the contents of the address FIFO 34 of FIG. 2 with respect to the input FIFO 28 of FIG.
【0051】この動作に続いて、LSM 18は再び入力FIFO
28を読取り、圧縮されたブロックのデータの最初のワ
ードを検索する。CODEC 24はデータの復号を開始し、追
加のデータの使用可能表示をLSM 18に送る。LSM 18は各
CODEC 24の使用可能表示に応答して入力FIFO 28の読取
りを続ける。CODEC 24は入力FIFO 28から読取ったイメ
ージ・データのブロックのEOBを識別し、EOB信号ライン
を駆動することによりこの状態をLSM 18に表示する。LS
M 18は復号されたイメージ・データのブロックがCODEC
24からイメージ・メモリ22に転送されるまで待機し、ア
ドレスFIFO 34 のEMPTY 状況信号ラインの状態で示すよ
うに処理すべきブロックが更にある場合は、前述のプロ
セスを反復する。Following this operation, the LSM 18 re-enters the input FIFO
Read 28 and retrieve the first word of the compressed block of data. CODEC 24 begins decoding the data and sends an indication of the availability of additional data to LSM 18. LSM 18 each
Continue reading input FIFO 28 in response to CODEC 24 availability indication. CODEC 24 identifies the EOB of the block of image data read from input FIFO 28 and indicates this condition to LSM 18 by driving the EOB signal line. LS
M18 is a codec block of decoded image data
Waiting for transfer from 24 to image memory 22, and if there are more blocks to process as indicated by the state of the EMPTY status signal line in address FIFO 34, the above process is repeated.
【0052】セクション(C) 図8は図2に示すイメージ・データ符号化及び復号シス
テムの良好な実施例の詳細な回路ブロック図である。Section (C) FIG. 8 is a detailed circuit block diagram of a preferred embodiment of the image data encoding and decoding system shown in FIG.
【0053】本発明のこの実施例は、マイクロ・チャネ
ル・インタフェース仕様 (マイクロ・チャネルはIBM
社の登録商標である) システム・バスを有するデータ処
理システムとインタフェースさせるためにプラグイン回
路カードで提供される。This embodiment of the invention uses the Micro Channel Interface Specification (Micro Channel is IBM
Provided on a plug-in circuit card to interface with a data processing system having a system bus (registered trademark of the company).
【0054】この実施例では、局所メモリ32及びバッフ
ァ(i)(出力FIFO 26及び入力FIFO 28) のサイズはセクシ
ョン(A)における説明に従って決定される。すなわち、
回路カードは3つの1K x 18ビットの出力FIFO 26、入力
FIFO 28及びアドレスFIFO 34、ならびに局所メモリ32の
ような256KバイトのスタティックRAM(SRAM) を備える。
該回路カードは局所プロセッサ30、及び更に2つの、CO
DEC 24を構成する処理装置(DCT装置40、DCTQ装置42) を
備える。装置40及び42は統合写真エキスパート・グルー
プ(JPEG)ベースライン仕様に適合する。In this embodiment, the sizes of local memory 32 and buffer (i) (output FIFO 26 and input FIFO 28) are determined as described in section (A). That is,
Circuit card has three 1K x 18-bit output FIFOs 26, inputs
It comprises a 256 Kbyte static RAM (SRAM) such as a FIFO 28 and an address FIFO 34 and a local memory 32.
The circuit card comprises a local processor 30 and two more COs
A processing device (DCT device 40, DCTQ device 42) constituting the DEC 24 is provided. Devices 40 and 42 meet the Integrated Photo Expert Group (JPEG) baseline specification.
【0055】本発明の良好な実施例では、DCT装置40はL
SIロジック社 (カリフォルニア州マイルペタス所在) か
ら市販されているL64730離散コサイン変換プロセッサで
あり、DCTQ装置42は同じくLSIロジック社から市販され
ているL64740 DCT 量子化プロセッサである。DCT装置40
の構造及び動作は 出版物L64730(July 1990)に記載さ
れ、DCTQ装置42の構造及び動作は出版物L67440に記載さ
れている。これらの出版物はLSIロジック社からも入手
できる。これらの装置は内部にそれぞれデータ・バッフ
ァ(バッファ40a又はバッファ42a)を備える。外部の64バ
イト変換バッファ44は下記のようにDCT装置40及びDCTQ
装置42とともに動作する。In a preferred embodiment of the present invention, DCT device 40
The DCTQ unit 42 is an L64740 DCT quantization processor, also commercially available from LSI Logic, Inc. The L64730 discrete cosine transform processor is commercially available from SI Logic, Inc. (Mile Petas, Calif.). DCT device 40
Is described in Publication L64730 (July 1990), and the structure and operation of DCTQ device 42 is described in Publication L67440. These publications are also available from LSI Logic. These devices each have a data buffer (buffer 40a or buffer 42a) inside. The external 64-byte conversion buffer 44 stores the DCT device 40 and DCTQ as described below.
Operates with the device 42.
【0056】プログラマブル・ロジック装置(PLD)、詳
しくはSYSTEM CTRL(システム制御部)LSM 18a及びXLATE
CTRL(変換制御部)LSM 18b内に制御ロジックが含まれ
る。前記回路カードはイメージ・データ符号化/復号特
定処理を実行するように機能する。Programmable logic device (PLD), specifically SYSTEM CTRL (system control unit) LSM 18a and XLATE
Control logic is included in the CTRL (Conversion Control) LSM 18b. The circuit card functions to perform image data encoding / decoding specific processing.
【0057】図9に示す前述のJPEG圧縮/圧縮解除アル
ゴリズムは次の3つのタスクに分割することができる。 (1) 8 x 8 ブロックのイメージ・エレメントに基づいた
非適応離散コサイン変換(DCT) (2) 人間の視覚に関して最適化されラン長符号化(RLC
= Run Length Coding)により構成される重みづけ機能
を用いるDCT係数の均一中間ステップ量子化 (3) 量子化されたDCT係数のエントロピーを減らすハフ
マンVLCThe aforementioned JPEG compression / decompression algorithm shown in FIG. 9 can be divided into the following three tasks. (1) Non-adaptive Discrete Cosine Transform (DCT) based on 8 x 8 block image elements (2) Run-length coding (RLC
= Run Length Coding)-Uniform intermediate step quantization of DCT coefficients using weighting function (3) Huffman VLC to reduce entropy of quantized DCT coefficients
【0058】図8に示すシステムは、DCT装置40が非適
応DCT機能を実行し、DCTQ装置42が量子化機能及びラン
長符号化(RLC)を実行し、そして局所プロセッサ30がVLC
圧縮解除機能を実行するように、これらのタスクを区画
する。従って、図10により、局所プロセッサ30は図1
のプロセス(i)に対応し、DCTQ装置42は図1のプロセス
(i+1)に対応し、そしてDCT装置40は図1のプロセス(i+
2)に対応する。[0058] The system shown in FIG. 8, DCT unit 40 performs a non-adaptive DCT function, DCTQ device 42 quantization function and run
Performs long coding (RLC) and the local processor 30
Partition these tasks to perform the decompression function. Thus, according to FIG. 10, the local processor 30
The DCTQ device 42 corresponds to the process (i) of FIG.
(i + 1), and the DCT device 40 performs the process (i +
Corresponds to 2).
【0059】一般に、局所プロセッサ30により実行され
るVLC 機能は、イメージ・データを符号化するとき、ソ
ース記号と可変長コードワードの間の写像に対応するテ
ーブル索引動作である。イメージ・データを復号すると
き、VLC は一般に、復号されたデータに達するまで符号
化トリー(tree)に沿って追跡することにより、なし遂げ
られる。VLC 符号化器は入力データを可変長コードワー
ドに写像する。前述のように、前記良好な実施例で用い
られるベースラインJPEG方法の場合、量子化されたDCT
係数のエントロピーを減らすようにハフマン符号化器が
用いられる。すなわち、ハフマン符号化器は記号の最初
のアイデンティティを壊さずに該記号を表わす平均ビッ
ト数を減らす。In general, the VLC function performed by local processor 30 is a table look-up operation corresponding to the mapping between source symbols and variable length codewords when encoding image data. When decoding image data, VLC is typically accomplished by tracing along the encoding tree until the decoded data is reached. The VLC coder maps the input data into variable length codewords. As mentioned above, for the baseline JPEG method used in the preferred embodiment, the quantized DCT
A Huffman encoder is used to reduce the entropy of the coefficients. That is, the Huffman encoder reduces the average number of bits representing a symbol without destroying the initial identity of the symbol.
【0060】イメージ・データ復号の場合には、ホスト
・プロセッサ14の制御の下に、ホスト・バス・インタフ
ェース48及びシステム・バス50を介して、圧縮されたイ
メージ・データがホスト・バス46から局所SRAM 32 に移
動される。システム・バス50及びイメージ・バス52はと
もに回路カードの内部に収められ、システム・バス・ゲ
ート54により互いに接続される。システム資源捕捉境界
14a におけるデータ転送の同期はインタフェース48内に
収められている2つのフラグにより達成される。詳しく
は、使用可能(RDY)フラグ48aは、圧縮されたイメージ・
データのブロックがSRAM 32 に記憶されていることを表
わすためにホスト・プロセッサ14によりセットされる。
RDYフラグ48aは局所プロセッサ30により読取られ、イメ
ージ・データのブロックの圧縮解除をDCT装置40及びDCT
Q装置42 により開始するために用いられる。In the case of image data decoding, under the control of the host processor 14, compressed image data is locally transmitted from the host bus 46 via the host bus interface 48 and the system bus 50. Moved to SRAM 32. The system bus 50 and the image bus 52 are both housed inside a circuit card and are connected to each other by a system bus gate 54. System resource capture boundary
Synchronization of the data transfer at 14a is achieved by two flags contained in interface 48. Specifically, the ready (RDY) flag 48a indicates that the compressed image
Set by host processor 14 to indicate that a block of data is stored in SRAM 32.
RDY flag 48a is read by local processor 30 to decompress blocks of image data by DCT device 40 and DCT
Used to start by Q device 42.
【0061】DCT 装置40、DCTQ装置42によるイメージ・
データのブロックの符号化、及び局所プロセッサ30によ
り実行されるVLCが終了すると、肯定応答(ACK)フラグ48
b が局所プロセッサ30によりセットされ、圧縮されたイ
メージ・データのブロックがSRAM 32内に記憶されてい
ることを表わす。ACKフラグ48bはホスト・プロセッサ14
により読取られ、圧縮されたイメージ・データのブロッ
クの、例えば、大容量記憶装置15への移動開始に用いら
れる。[0061] The image by the DCT device 40 and the DCTQ device 42
Upon completion of the encoding of the block of data and the VLC performed by the local processor 30, an acknowledgment (ACK) flag 48
b is set by local processor 30 to indicate that a block of compressed image data is stored in SRAM 32. ACK flag 48b is set to host processor 14.
Is used to start the movement of the block of image data read and compressed to the mass storage device 15, for example.
【0062】局所プロセッサ30はインタフェース機能、
圧縮されたデータ・ストリームの見出し解剖、及びVLC
を実行するディジタル信号プロセッサ(DSP)内で実現さ
れる。DSPプロセッサ30の1つの適切な実施例はテキサ
ス・インスツルメント社から市販されているTM320C30装
置である。ディジタル信号プロセッサは本発明の実現に
は必要ではなく、所望の速度及び処理の確実さを有する
ディジタル・データ・プロセッサならどれでも用いうる
ことが理解されるべきである。RISC(Reduced Instructi
on Set)プロセッサはもう1つの適切なプロセッサ・タ
イプである。The local processor 30 has an interface function,
Headline dissection of compressed data streams and VLC
Implemented in a digital signal processor (DSP) that performs One suitable embodiment of the DSP processor 30 is a texa
This is a TM320C30 device commercially available from SU Instruments. It should be understood that a digital signal processor is not required to implement the present invention, and that any digital data processor having the desired speed and processing reliability can be used. RISC (Reduced Instructi
On Set) processors are another suitable processor type.
【0063】DSPプロセッサ30はVLC圧縮解除機能を実行
し、SRAM 32 内に記憶されたデータからラン長符号化(R
LC)イメージ・データのブロックを組み立てる。DSPプロ
セッサ30は各ブロックの見出し(H)も生成する。見出し
は、ブロック毎に、DCT装置40及びDCTQ装置42のセット
アップ・データを含む。その結果生じたデータ・ブロッ
クはDSPプロセッサ30により16ビット・ワードとしてデ
ータの入力FIFO 28に転送される。各データ・ブロック
の前にその対応するセットアップ見出しワードが先行
し、図3に示すように、EOB記号で終了する。データの
各ブロックは1ワードから64ワードまでのラン長符号化
(RLC)イメージ・データを含むことがある。The DSP processor 30 performs the VLC decompression function, and executes run length coding (R) from the data stored in the SRAM 32.
LC) Assemble blocks of image data. The DSP processor 30 also generates a heading (H) for each block. The header includes setup data of the DCT device 40 and the DCTQ device 42 for each block. The resulting data block is transferred by the DSP processor 30 as a 16-bit word to the data input FIFO 28. Each data block is preceded by its corresponding setup header word and ends with an EOB symbol, as shown in FIG. Each block of data is run length coded from 1 word to 64 words
(RLC) May contain image data.
【0064】DSP プロセッサ30は最初に内部の量子化テ
ーブルをロードすることによりDCTQ装置42を初期化し、
そしてブロック毎に、そのブロックのイメージ・メモリ
22の目標アドレスを供給する。目標アドレスは図5に示
すようにアドレスFIFO 34 にロードされる。このアドレ
スは後にイメージ・メモリ22に圧縮解除されたイメージ
・データのブロックを記憶するために用いられる。The DSP processor 30 initializes the DCTQ device 42 by first loading the internal quantization table,
And for each block, the image memory of that block
Supply 22 target addresses. The target address is loaded into the address FIFO 34 as shown in FIG. This address is later used to store the decompressed block of image data in image memory 22.
【0065】システム制御部18aは、アドレスFIFO 34に
少なくとも1つのアドレスが含まれていることを発見す
ると、イメージ・データ処理を開始する。プロセッサ30
が最初のブロック・アドレスをロードすると表示解除さ
れるアドレスFIFO 34のEMPTY状況フラグによりこの状態
が示される。表示解除されるFMPTY に応答して、システ
ム制御部18aは入力FIFO 28から最初のブロックの見出し
を読取り、見出し情報をレジスタ(REG)36に記憶する。R
EG 36はDCT装置40及びDCTQ装置42に加えられる制御信号
を出力し、入力FIFO 28 から出力される後続のブロック
・データを処理するためにそれらの内部特性をセットす
る。When the system control unit 18a finds that the address FIFO 34 contains at least one address, it starts image data processing. Processor 30
This status is indicated by the EMPTY status flag in address FIFO 34, which is cleared when the first block address is loaded. In response to the FMPTY being de-displayed, the system controller 18a reads the header of the first block from the input FIFO 28 and stores the header information in the register (REG) 36. R
EG 36 outputs control signals applied to DCT device 40 and DCTQ device 42, and sets their internal characteristics for processing subsequent block data output from input FIFO 28.
【0066】すなわち、DCTQ装置42は、DCTQ装置42のMO
DE.0、COMP0、COMP1及びRESPRED 入力端子に接続される
4つの制御ビットをREG 36から受取る。これらの端子は
前述のDCTQ出版物L67440に記述されている下記の機能の
制御に用いられる。 MODE.0 2つの内部量子化テーブルのうちの1
つを選択する COMP0、COMP1 DC予測子を選択する RESPRED 高いレベルのとき内部DC予測子をリセ
ットするThat is, the DCTQ device 42
Four control bits connected to the DE.0, COMP0, COMP1, and RESPRED input terminals are received from REG 36. These terminals are used to control the following functions described in the aforementioned DCTQ publication L67440. MODE.0 One of two internal quantization tables
Select one COMP0, COMP1 Select DC predictor RESPRED Reset internal DC predictor when high
【0067】DCT装置40は、INTER入力端子に接続される
1つの制御ビットをREG 36から受取る。この端子の信号
は、高いとき、該装置がインタ・フレーム・モードで動
作することになっていることを示す。The DCT device 40 receives one control bit from the REG 36 connected to the INTER input terminal. The signal at this terminal, when high, indicates that the device is to operate in inter-frame mode.
【0068】動作中、DCTQ装置42はデータ・ブロック当
り64の係数を生成する。これらは、DCT装置40通過後、6
4バイトの復号イメージ・データになる。DCT装置40はか
きまぜられた(が首尾一貫した)順序の出力データを生成
するので、データ・バッファ44により変換が実行され
る。この変換は、復号されたイメージ・データを所望の
順序で記憶するようにデータ・バッファ44のアドレス入
力を制御する XLATE CTRL 18b によって達成される。そ
して再順序づけされた64バイトの復号されたイメージ・
データはイメージ・メモリ22内に記憶され、アドレスFI
FO 34 に含まれたアドレスで開始する。このアドレスは
ゲート(GT)58を介してイメージ・バス52のアドレス・バ
ス(ADDR)部分に加えられ、メモリ制御装置(MEM CTRL)22
a 内に設けられたアドレス・ラッチ(AL)にラッチされ
る。ALの内容は全64バイトの復号されたデータ・ブロッ
クを記憶するように自動的に増分される。動的RAM制御
装置(DRAM CTRL)22b は、イメージ・メモリ22を構成す
る動的RAMの4 Mバイトのアクセスのタイミングを制御す
る。In operation, DCTQ unit 42 generates 64 coefficients per data block. After passing through the DCT device 40, these
It becomes 4-byte decoded image data. Since the DCT device 40 produces a shuffled (but coherent) sequence of output data, the data buffer 44 performs the transformation. This conversion is accomplished by XLATE CTRL 18b which controls the address input of data buffer 44 to store the decoded image data in the desired order. And the reordered 64 byte decoded image
Data is stored in the image memory 22 and the address FI
Start with the address contained in FO 34. This address is applied to the address bus (ADDR) portion of the image bus 52 via the gate (GT) 58, and the memory controller (MEM CTRL) 22
It is latched by the address latch (AL) provided in a. The contents of the AL are automatically incremented to store the entire 64-byte decoded data block. The dynamic RAM controller (DRAM CTRL) 22b controls the access timing of 4 Mbytes of the dynamic RAM constituting the image memory 22.
【0069】このプロセスは、アドレスFIFO 34がそれ
以上処理すべき圧縮イメー ジ・データのブロックがな
いことを示すEMPTYになるまで続く。This process continues until the address FIFO 34 is empty indicating that there are no more blocks of compressed image data to process.
【0070】イメージ・データ符号化の場合、ソース・
イメージはイメージ・メモリ22に含まれる。ソース・イ
メージは、例えば、30フレーム/秒でディジタル・イメ
ージ・データを生成するカメラから得ることができる。
DSP プロセッサ30は、各ブロックについてDCT及びDCTQ
をセットアップする見出し(図4)を入力FIFO 28にロー
ドし、適切な量子化テーブルをDCTQ装置42にロードし、
そして各ブロックのイメージ・メモリ22目標アドレス
(図6) をアドレスFIFO 34 にロードすることにより、
回路カードに符号化処理の準備をさせる。In the case of image data encoding, the source
The image is contained in image memory 22. The source image can be obtained, for example, from a camera that produces digital image data at 30 frames / second.
The DSP processor 30 performs DCT and DCTQ for each block.
Load the heading (FIG. 4) into the input FIFO 28, load the appropriate quantization table into the DCTQ device 42,
And the image memory 22 target address of each block
By loading (FIG. 6) into the address FIFO 34,
Prepare the circuit card for the encoding process .
【0071】システム制御部18aは、アドレスFIFO 34で
少なくとも1つのアドレスの存在を検出すると、符号化
プロセスを開始する。システム制御部18aはアドレスFIF
O 34から最初のアドレスを読取り、該アドレスをメモリ
制御装置22a のアドレス・ラッチに転送する。その後、
システム制御部18a はイメージ・メモリ22内の対応する
イメージ・データのブロックのアクセスを開始する。そ
してシステム制御部18aは入力FIFO 28から最初のブロッ
クの見出しを読取り、該見出しをREG 36に記憶する。前
述のように、イメージ・ブロックの符号化処理パラメー
タを制御するために、記憶された見出し情報がDCT 装置
40及びDCTQ装置42に加えられる。XLATECTRL 18bの制御
の下に、イメージ・メモリ22からバッファ44にイメージ
・データが読取られ、そしてXLATE CTRL 18bの制御の下
に64バイトのブロックをDCT 装置40に引渡す。符号化モ
ードでは、バッファ44は入力データ・ストリームの同期
をDCT装置40及びDCTQ装置42の両者に与える。DCT装置40
により出力された係数はDCTQ装置42を介して引渡され、
圧縮された16ビット・イメージ "事象" のストリームに
なる。イメージ "事象" は、DSPプロセッサ30による後
の検索及びVLCのために出力FIFO 26に記憶される。DSP
プロセッサ30は、圧縮されたイメージ・データの最初の
バイトがそこに記憶される時期を検出するために出力FI
FO 26のEMPTYフラグに接続された入力を有する。When the system controller 18a detects the presence of at least one address in the address FIFO 34, it starts the encoding process. The system control unit 18a has an address FIF
Read the first address from O34 and transfer it to the address latch of memory controller 22a. afterwards,
The system controller 18a starts accessing the corresponding block of image data in the image memory 22. Then, the system control unit 18a reads the heading of the first block from the input FIFO 28 and stores the heading in the REG 36. As described above, in order to control the encoding processing parameters of the image block, the stored header information is stored in the DCT device.
40 and DCTQ device 42. Under the control of XLATECTRL 18b, image data is read from image memory 22 into buffer 44, and a block of 64 bytes is delivered to DCT device 40 under control of XLATECTRL 18b. In the encoding mode, buffer 44 provides synchronization of the input data stream to both DCT device 40 and DCTQ device 42. DCT device 40
Is output via the DCTQ device 42,
A stream of compressed 16-bit images "events". The image "event" is stored in output FIFO 26 for later retrieval and VLC by DSP processor 30. DSP
Processor 30 outputs FI to detect when the first byte of compressed image data is stored therein.
It has an input connected to the EMPTY flag of FO 26.
【0072】アドレスFIFO 34にアドレスが存在する限
り、システム制御部18aはアドレスFIFO 34からのブロッ
ク・アドレス及び入力FIFO 28からのブロック見出しの
読み出し、ならびに符号化されたイメージ・ブロック・
データの出力FIFO 26 への書込みの制御を続行する。As long as the address exists in the address FIFO 34, the system control unit 18a reads the block address from the address FIFO 34 and the block header from the input FIFO 28, and reads the encoded image block.
Control of writing data to output FIFO 26 continues.
【0073】明らかに、システム制御部18a はイメージ
・データの局所処理を開始する先頭アドレスの存在によ
りトリガされ、アドレスFIFO 34 内にイメージ・データ
・ブロック・アドレスが存在する限り、イメージ・デー
タの処理を制御し続ける。従って、アドレスFIFOのEMPT
Y状況フラグの使用は固定処理サイクル・ステージ(DCTQ
装置42及びDCT装置40)の動作をプロセッサ30で実現され
た可変処理サイクル・ステージから分離する。同様に、
出力FIFO 26のEMPTY状況フラグの使用はプロセッサ30を
固定サイクルDCT 及びDCTQステージから分離する。更
に、プロセッサ30の動作に関連して、全てのイメージ・
データ処理(符号化及び復号)は、ホスト・プロセッサ14
により実行しうる他の処理タスクと非同期に、かつ並行
して、実行される。Obviously, the system controller 18a is triggered by the presence of the start address which starts the local processing of the image data, and as long as the image data block address exists in the address FIFO 34, the processing of the image data is performed. Keep controlling. Therefore, the address FIFO EMPT
Use of the Y status flag is a fixed processing cycle stage (DCTQ
The operation of the device 42 and the DCT device 40) is separated from the variable processing cycle stages implemented by the processor 30. Similarly,
Use of the EMPTY status flag in output FIFO 26 decouples processor 30 from the fixed cycle DCT and DCTQ stages. In addition, all images and
Data processing (encoding and decoding) is performed by the host processor 14.
Is executed asynchronously and in parallel with other processing tasks that can be executed by
【0074】単一ブロックのデータの処理に説明の重点
が置かれているけれども、通常の動作中は一般に幾つか
のブロックが処理パイプライン通じて移動していること
が理解されるべきである。例えば、圧縮されたイメージ
・データが圧縮解除を待ってSRAM 32 内に記憶され、プ
ロセッサ30は圧縮解除に備えているデータ・ブロックに
関するVLC動作を実行しており、プロセッサ30により既
にVLC化された少なくとも1つのデータ・ブロックが入
力FIFO 28内にエンキュー(enqueue)され、そして現在の
データ・ブロックに関連する見出し情報の制御の下にCO
DEC 24が現在のデータ・ブロックを処理している。Although emphasis has been placed on processing a single block of data, it should be understood that during normal operation several blocks will generally be moving through the processing pipeline. For example, the compressed image data is stored in the SRAM 32 after being decompressed, and the processor 30 is performing the VLC operation on the data block in preparation for the decompression and has already been VLCed by the processor 30. At least one data block is enqueued in the input FIFO 28 and is controlled by the CO under control of the header information associated with the current data block.
DEC 24 is processing the current data block.
【0075】図9の本発明の良好な実施例と図1の新し
いプロセス・パイプライン・アーキテクチャの間の対応
が図10に示されている。明らかに、システム資源捕捉
境界14aにおけるデータフローの同期はプロセッサ30に
より、RDYフラグ48a及びACKフラグ48bに関連して、それ
ぞれ達成される。SRAM 32は図1の入力及び出力バッフ
ァ(i-1)として機能する。ステージ(i)はプロセッサ30、
システム制御部 LSM 18a、入力FIFO 28及び出力FIFO 26
から成る。ステージ(i)(VLC)内で起きる処理はデータ従
属であり、可変数の処理サイクルを必要とする。ステー
ジ(i)とステージ(i+1)の間のデータフローの同期はシス
テム制御部LSM 18aにより、アドレスFIFO34のEMPTYフラ
グ(図10には図示せず)に関連して達成される。ステー
ジ(i+1)及びステージ(i+2)はそれぞれDCTQ装置42及びDC
T装置40から成る。これらのステージはデータから独立
して動作し、データ・ブロック毎に一定数の処理サイク
ルを有する。図1のバッファ(i+1)はDCTQ装置42及びDCT
装置40の内部バッファ40a 及び42aにより実現される。6
4バイト・バッファ44及びイメージ・メモリ22へ(から)
のデータ移動の制御は変換制御部LSM 18bによって行な
われる。The correspondence between the preferred embodiment of the present invention of FIG. 9 and the new process pipeline architecture of FIG. 1 is shown in FIG. Obviously, synchronization of the data flow at the system resource acquisition boundary 14a is achieved by the processor 30 in relation to the RDY flag 48a and the ACK flag 48b, respectively. The SRAM 32 functions as the input and output buffer (i-1) in FIG. Stage (i) is processor 30,
System control unit LSM 18a, input FIFO 28 and output FIFO 26
Consists of The processing that takes place in stage (i) (VLC) is data dependent and requires a variable number of processing cycles. Synchronization of the data flow between stage (i) and stage (i + 1) is achieved by the system controller LSM 18a in relation to the EMPTY flag of the address FIFO 34 (not shown in FIG. 10). Stage (i + 1) and stage (i + 2) are DCTQ device 42 and DC
It consists of a T device 40. These stages operate independently of the data and have a fixed number of processing cycles per data block. The buffer (i + 1) in FIG.
This is realized by the internal buffers 40a and 42a of the device 40. 6
To (from) 4-byte buffer 44 and image memory 22
Is controlled by the conversion control unit LSM 18b.
【0076】実時間でイメージ・データのブロックを圧
縮し圧縮解除するシステムに関連して以上のように説明
したが、図1のプロセス・パイプライン・アーキテクチ
ャはイメージ処理以外のデータ処理アプリケーションに
も用いることができる。図9に示す本発明の良好な実施
例に幾つかの変更を行なうこともできる。例えば、イメ
ージ処理システムの動作は、MPEG(映画エキスパート)規
格に従って移動補償を実行するブロック64の付加により
高めることができる。この改良により、イメージ・メモ
リ22内に記憶されるイメージ・データの2つのフレーム
がDCT装置40 により引かれ処理される。ビデオ・インタ
フェース62をイメージ・バス52に接続し、ビデオ・イン
タフェース62を介してイメージ・データを出し入れする
ことにより他の機能を提供することもできる。これらの
他の機能はイメージ・スケーリング、カラー変換、フィ
ルタリング、回転、再構成及びデプス・キューイング(d
epth cueing)を含むことができる。同様に、イメージ・
データ符号化及び復号以外の機能を実行する他のイメー
ジ処理回路によりDCT 装置40及びDCTQ装置42を置き換え
ることができる。Although described above in connection with a system for compressing and decompressing blocks of image data in real time, the process pipeline architecture of FIG. 1 is used for data processing applications other than image processing. be able to. Some modifications may be made to the preferred embodiment of the present invention shown in FIG. For example, the operation of the image processing system can be enhanced by the addition of a block 64 that performs motion compensation according to the MPEG (Movie Expert) standard. With this improvement, two frames of image data stored in image memory 22 are retrieved and processed by DCT device 40. Other functions can be provided by connecting the video interface 62 to the image bus 52 and moving image data in and out through the video interface 62. These other functions include image scaling, color conversion, filtering, rotation, reconstruction and depth queuing (d
epth cueing). Similarly, the image
The DCT device 40 and DCTQ device 42 can be replaced by other image processing circuits that perform functions other than data encoding and decoding.
【図1】イメージ処理システムの部分、特に本発明に従
って構築され作動される多重ステージ順次プロセス・パ
イプラインを示す簡略回路ブロック図である。FIG. 1 is a simplified circuit block diagram illustrating portions of an image processing system, particularly a multi-stage sequential process pipeline constructed and operated in accordance with the present invention.
【図2】図1のプロセス・パイプライン・アーキテクチ
ャに従って構築されているイメージ・データ符号化及び
復号システムの実施例を示す簡略回路ブロック図であ
る。FIG. 2 is a simplified circuit block diagram illustrating an embodiment of an image data encoding and decoding system constructed in accordance with the process pipeline architecture of FIG.
【図3】図2の入力FIFOの、イメージ・データ復号動作
例の内容を示す図である。FIG. 3 is a diagram showing contents of an example of image data decoding operation of the input FIFO of FIG. 2;
【図4】図2の入力FIFOの、イメージ・データ符号化動
作例の内容を示す図である。FIG. 4 is a diagram showing the content of an example of image data encoding operation of the input FIFO of FIG. 2;
【図5】図2のアドレスFIFOの、図3のイメージ・デー
タ復号動作例の内容を示す図である。5 is a diagram showing the contents of an example of image data decoding operation in FIG. 3 of the address FIFO in FIG. 2;
【図6】図2のアドレスFIFOの、図4のイメージ・デー
タ符号化動作例の内容を示す図である。6 is a diagram showing the contents of an example of the image data encoding operation of FIG. 4 of the address FIFO of FIG. 2;
【図7】図2の出力FIFOの、図4のイメージ・データ符
号化動作例の内容を示す図である。7 is a diagram showing contents of an example of image data encoding operation of FIG. 4 of the output FIFO of FIG. 2;
【図8】図2に示すイメージ・データ符号化及び復号シ
ステムの良好な実施例の詳細な回路ブロック図である。FIG. 8 is a detailed circuit block diagram of a preferred embodiment of the image data encoding and decoding system shown in FIG.
【図9】JPEG DCT(統合写真エキスパート・グループ、
離散コサイン変換)に基づいたイメージ・データ符号化
モデルを示す論理流れ図である。Figure 9: JPEG DCT (Integrated Photo Expert Group,
3 is a logic flow diagram illustrating an image data encoding model based on a discrete cosine transform).
【図10】図1のプロセス・パイプライン・アーキテク
チャと図8の主要機能の対応をより詳細に示すブロック
図である。FIG. 10 is a block diagram showing the correspondence between the process pipeline architecture of FIG. 1 and the main functions of FIG. 8 in more detail.
10 イメージ処理システム 12 順次プロセス・パイプライン 14 ホスト・プロセッサ 14a システム資源捕捉境界(SRIB) 15 大容量記憶装置 16a バッファ 16b バッファ 18 局所状態機械(LSM) 18a システム制御部 18b 変換制御部 20 プロセス・ブロック 22 イメージ・メモリ 22a メモリ制御装置 24 圧縮/圧縮解除(CODEC)装置 26 出力FIFO 28 入力FIFO 30 局所プロセッサ/DSPプロセッサ 32 局所メモリ/SRAM 34 アドレスFIFO 36 制御レジスタ(REG) 40 DCT装置 40a データ・バッファ 42 DCTQ装置 42a データ・バッファ 44 64バイト変換バッファ 46 ホスト・バス 48 ホスト・バス・インタフェース 48a 使用可能(RDY)フラグ 48b 肯定応答(ACK)フラグ 50 システム・バス 52 イメージ・バス 54 システム・バス・ゲート 62 ビデオ・インタフェース 64 移動補償ブロック 10 Image Processing System 12 Sequential Process Pipeline 14 Host Processor 14a System Resource Capture Boundary (SRIB) 15 Mass Storage 16a Buffer 16b Buffer 18 Local State Machine (LSM) 18a System Controller 18b Conversion Controller 20 Process Block 22 Image memory 22a Memory controller 24 Compression / decompression (CODEC) device 26 Output FIFO 28 Input FIFO 30 Local processor / DSP processor 32 Local memory / SRAM 34 Address FIFO 36 Control register (REG) 40 DCT device 40a Data buffer 42 DCTQ device 42a Data buffer 44 64-byte conversion buffer 46 Host bus 48 Host bus interface 48a Enable (RDY) flag 48b Acknowledgment (ACK) flag 50 System bus 52 Image bus 54 System bus gate 62 Video interface 64 Motion compensation block
フロントページの続き (72)発明者 トーマス・アコス・ホーヴァス アメリカ合衆国12582、ニューヨーク州 ストームビル、ジュディス・ドライブ 55 (72)発明者 ノーマン・ヘンリ・クライツァー アメリカ合衆国10598、ニューヨーク州 ヨークタウン・ハイツ、サルタナ・ドラ イブ 2218 (72)発明者 アンディ・ゲン−チェン・リーン アメリカ合衆国11566、ニューヨーク州 メリック、ケネス・ロード 2062 (72)発明者 トーマス・マッカーシー アメリカ合衆国10566、ニューヨーク州 ピークスキル、クレストビュー・アベニ ュー 29 (56)参考文献 特開 昭62−144283(JP,A) 特開 平2−188879(JP,A) 特開 昭61−131122(JP,A) 特開 昭63−137375(JP,A) 特開 昭62−203283(JP,A) 特開 昭62−138973(JP,A)Continued on the front page (72) Inventor Thomas Akos Hovath United States 12582, Stormville, NY, Judith Drive 55 2218 (72) Inventor Andy Gen-Chen Lean United States 11566, Kenneth Road, Merrick, New York 2062 (72) Inventor Thomas McCarthy United States 10566, Peakskill, New York Crestview Avenue 29 (56) Reference Document JP-A-62-144283 (JP, A) JP-A-2-188879 (JP, A) JP-A-61-131122 (JP, A) JP-A-63-137375 (JP, A) 203283 (JP, A) JP-A-62-138973 (JP, A)
Claims (2)
へ出力される圧縮されたイメージ・データを記憶する局
所メモリと、 前記局所メモリに接続され、圧縮されたイメージ・デー
タのブロックに対し所定の信号処理を実行するプロセッ
サと、 圧縮されないイメージ・データを記憶するイメージ・メ
モリと、 前記プロセッサと前記イメージ・メモリとの間に接続さ
れ、イメージ・データの圧縮および圧縮解除を実行する
CODECと、 前記プロセッサと前記CODECとの間に接続されたバ
ッファ手段と、 を備え、 前記バッファ手段は、 圧縮時にはCODEC制御情報を前記プロセッサから受
け取り、圧縮解除時には前記CODEC制御情報および
信号処理されたイメージ・データのブロックを前記プロ
セッサから受け取って、それぞれ前記CODECに供給
する入力バッファ手段と、 圧縮時に圧縮されたイメージ・データのブロックを前記
CODECから受け取って前記プロセッサに供給する出
力バッファ手段と、 圧縮時には前記イメージ・メモリに記憶されている圧縮
されないイメージ・データのブロックの先頭アドレスを
前記プロセッサから受け取り、圧縮解除時には前記イメ
ージ・メモリに記憶すべき圧縮解除されたイメージ・デ
ータのブロックの先頭アドレスを前記プロセッサから受
け取るアドレス・バッファ手段と、 を含むイメージ処理システム。1. A local memory for storing compressed image data received from a host or output to the host, and a predetermined signal connected to the local memory for a block of compressed image data. A processor for performing processing; an image memory for storing uncompressed image data; a CODEC connected between the processor and the image memory for performing compression and decompression of image data; And buffer means connected between the CODEC and the CODEC, the buffer means receiving CODEC control information from the processor during compression, and a block of the CODEC control information and signal-processed image data upon decompression. From the processor, and Input buffer means for supplying to the CODEC, output buffer means for receiving a block of image data compressed at the time of compression from the CODEC and supplying it to the processor, and an uncompressed image stored in the image memory at the time of compression Address buffer means for receiving a head address of a block of data from the processor, and receiving a head address of a block of decompressed image data to be stored in the image memory upon decompression from the processor; Processing system.
ス手段と、 離散コサイン変換を実行する第2プロセス手段と、 前記第1プロセス手段と前記第2プロセス手段との間に
接続された第1バッファ手段と、 前記第2プロセス手段と前記イメージ・メモリとの間に
接続された第2バッファ手段と、 前記第1バッファ手段および前記第2バッファ手段を介
するデータ転送を制御する制御手段と、 を含む、請求項1のイメージ処理システム。2. The codec comprises: first processing means for performing a discrete cosine transform quantization process; second processing means for performing a discrete cosine transform; and between the first processing means and the second processing means. A second buffer connected between the second processing unit and the image memory; and controlling data transfer via the first buffer and the second buffer. The image processing system according to claim 1, further comprising:
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US894121 | 1978-04-06 | ||
| US07/894,121 US5289577A (en) | 1992-06-04 | 1992-06-04 | Process-pipeline architecture for image/video processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06187434A JPH06187434A (en) | 1994-07-08 |
| JP2761449B2 true JP2761449B2 (en) | 1998-06-04 |
Family
ID=25402639
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5084663A Expired - Fee Related JP2761449B2 (en) | 1992-06-04 | 1993-04-12 | Image processing system |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5289577A (en) |
| EP (1) | EP0572766A3 (en) |
| JP (1) | JP2761449B2 (en) |
| SG (1) | SG43737A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE48845E1 (en) | 2002-04-01 | 2021-12-07 | Broadcom Corporation | Video decoding system supporting multiple standards |
Families Citing this family (100)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0576749B1 (en) | 1992-06-30 | 1999-06-02 | Discovision Associates | Data pipeline system |
| GB9405914D0 (en) * | 1994-03-24 | 1994-05-11 | Discovision Ass | Video decompression |
| US6417859B1 (en) | 1992-06-30 | 2002-07-09 | Discovision Associates | Method and apparatus for displaying video data |
| US6047112A (en) | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
| US6079009A (en) | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
| US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
| US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
| US6435737B1 (en) | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
| US5784631A (en) | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
| US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| US5809270A (en) | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
| US6034674A (en) * | 1992-06-30 | 2000-03-07 | Discovision Associates | Buffer manager |
| US6067417A (en) | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
| US6112017A (en) | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
| JP3076462B2 (en) * | 1992-11-09 | 2000-08-14 | 松下電器産業株式会社 | Versatile variable length coder for digital video coder |
| EP0614317A3 (en) * | 1993-03-05 | 1995-01-25 | Sony Corp | Decoding of a video signal. |
| EP0853431B1 (en) * | 1993-03-31 | 2001-10-17 | Sony Corporation | Signal processing apparatus |
| JP3193525B2 (en) * | 1993-05-31 | 2001-07-30 | キヤノン株式会社 | Information processing device |
| US5557795A (en) * | 1993-06-15 | 1996-09-17 | Xerox Corporation | Pipelined image processing system for a single application environment |
| US5396616A (en) * | 1993-06-15 | 1995-03-07 | Xerox Corporation | System for emulating multi-tasking pipelines in a single tasking environment |
| US5768629A (en) * | 1993-06-24 | 1998-06-16 | Discovision Associates | Token-based adaptive video processing arrangement |
| US5805914A (en) | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
| DE69415126T2 (en) * | 1993-10-21 | 1999-07-08 | Sun Microsystems Inc., Mountain View, Calif. | Counterflow pipeline processor |
| CA2130064C (en) * | 1993-10-27 | 1999-05-18 | Cory A. Cherichetti | Method and apparatus for transferring data between a host processor and a subsystem processor in a data processing system |
| JP3163880B2 (en) * | 1993-12-16 | 2001-05-08 | 松下電器産業株式会社 | Image compression coding device |
| JP3031152B2 (en) * | 1993-12-24 | 2000-04-10 | 日本電気株式会社 | Motion prediction processor and motion prediction device |
| KR0130446B1 (en) * | 1994-01-18 | 1998-04-15 | 배순훈 | Two-dimensional inverse discrete cosine transform method and apparatus |
| US5576765A (en) * | 1994-03-17 | 1996-11-19 | International Business Machines, Corporation | Video decoder |
| ATE278988T1 (en) * | 1994-03-24 | 2004-10-15 | Discovision Ass | METHOD AND DEVICE FOR INTERFACE FORMATION WITH RAM MEMORY |
| CA2145379C (en) | 1994-03-24 | 1999-06-08 | William P. Robbins | Method and apparatus for addressing memory |
| CA2145361C (en) | 1994-03-24 | 1999-09-07 | Martin William Sotheran | Buffer manager |
| CA2145365C (en) | 1994-03-24 | 1999-04-27 | Anthony M. Jones | Method for accessing banks of dram |
| WO1995031803A1 (en) * | 1994-05-18 | 1995-11-23 | Zoran Corporation | Dynamic random access memory for mpeg decoding |
| KR0148153B1 (en) * | 1994-05-31 | 1998-09-15 | 김광호 | Removal apparatus of bit stuffing |
| NO942080D0 (en) * | 1994-06-03 | 1994-06-03 | Int Digital Tech Inc | Picture Codes |
| KR0134299B1 (en) * | 1994-07-11 | 1998-04-29 | 김광호 | Vlc |
| GB9417138D0 (en) | 1994-08-23 | 1994-10-12 | Discovision Ass | Data rate conversion |
| US5659362A (en) * | 1994-09-07 | 1997-08-19 | University Of South Florida | VLSI circuit structure for implementing JPEG image compression standard |
| KR100202538B1 (en) * | 1994-12-23 | 1999-06-15 | 구자홍 | MPEG video codec device |
| US5646687A (en) * | 1994-12-29 | 1997-07-08 | Lucent Technologies Inc. | Temporally-pipelined predictive encoder/decoder circuit and method |
| US5835735A (en) * | 1995-03-03 | 1998-11-10 | Eastman Kodak Company | Method for negotiating software compatibility |
| US5694170A (en) * | 1995-04-06 | 1997-12-02 | International Business Machines Corporation | Video compression using multiple computing agents |
| US6002801A (en) * | 1995-04-18 | 1999-12-14 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics |
| US5784494A (en) * | 1995-04-18 | 1998-07-21 | Advanced Micro Devices, Inc. | Method and apparatus for prestoring dequantization information for DCT VLC decoding |
| US5872866A (en) * | 1995-04-18 | 1999-02-16 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics |
| US5668998A (en) * | 1995-04-26 | 1997-09-16 | Eastman Kodak Company | Application framework of objects for the provision of DICOM services |
| US5680482A (en) * | 1995-05-17 | 1997-10-21 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by adaptive selection of video input buffer parameters |
| US5860086A (en) * | 1995-06-07 | 1999-01-12 | International Business Machines Corporation | Video processor with serialization FIFO |
| US5818967A (en) * | 1995-06-12 | 1998-10-06 | S3, Incorporated | Video decoder engine |
| US5867603A (en) * | 1995-07-10 | 1999-02-02 | Iterated Systems, Inc. | Method for transmitting fractal transform data to support different compressor/decompressor designs |
| US5671353A (en) * | 1996-02-16 | 1997-09-23 | Eastman Kodak Company | Method for validating a digital imaging communication standard message |
| US5949440A (en) * | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
| US6003098A (en) * | 1996-04-30 | 1999-12-14 | Hewlett-Packard Company | Graphic accelerator architecture using two graphics processing units for processing aspects of pre-rasterized graphics primitives and a control circuitry for relaying pass-through information |
| EP0807922A1 (en) * | 1996-05-08 | 1997-11-19 | Matsushita Electric Industrial Co., Ltd. | Image data format conversion apparatus with interpolation filters |
| EP0830030A3 (en) * | 1996-09-13 | 2002-01-30 | Nec Corporation | Video and audio data compression system |
| US6900845B1 (en) | 1996-12-18 | 2005-05-31 | Thomson Licensing S.A. | Memory architecture for a multiple format video signal processor |
| US6496537B1 (en) * | 1996-12-18 | 2002-12-17 | Thomson Licensing S.A. | Video decoder with interleaved data processing |
| DE69719365T2 (en) * | 1996-12-18 | 2003-10-16 | Thomson Consumer Electronics, Inc. | EFFICIENT COMPRESSION AND DECOMPRESSION OF BLOCK FIXED LENGTH |
| US6111582A (en) * | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
| US6057847A (en) * | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
| US6028608A (en) * | 1997-05-09 | 2000-02-22 | Jenkins; Barry | System and method of perception-based image generation and encoding |
| US6157395A (en) * | 1997-05-19 | 2000-12-05 | Hewlett-Packard Company | Synchronization of frame buffer swapping in multi-pipeline computer graphics display systems |
| US6122000A (en) * | 1997-06-03 | 2000-09-19 | Hewlett Packard Company | Synchronization of left/right channel display and vertical refresh in multi-display stereoscopic computer graphics systems |
| WO1999067742A1 (en) * | 1998-06-25 | 1999-12-29 | Matsushita Electric Industrial Co., Ltd. | Image processor |
| US6480205B1 (en) | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
| US6414996B1 (en) | 1998-12-08 | 2002-07-02 | Stmicroelectronics, Inc. | System, method and apparatus for an instruction driven digital video processor |
| US7209140B1 (en) | 1999-12-06 | 2007-04-24 | Nvidia Corporation | System, method and article of manufacture for a programmable vertex processing model with instruction set |
| US6894802B1 (en) * | 2000-02-25 | 2005-05-17 | Xerox Corporation | Multi-job image buffering system and method |
| US6757450B1 (en) * | 2000-03-30 | 2004-06-29 | Microsoft Corporation | Negotiated image data push processing |
| JP4306997B2 (en) * | 2000-05-12 | 2009-08-05 | 富士通株式会社 | Data control device and ATM control device |
| KR100354768B1 (en) * | 2000-07-06 | 2002-10-05 | 삼성전자 주식회사 | Video codec system, method for processing data between the system and host system and encoding/decoding control method in the system |
| US7426567B2 (en) * | 2000-09-02 | 2008-09-16 | Emageon Inc. | Methods and apparatus for streaming DICOM images through data element sources and sinks |
| US6748020B1 (en) * | 2000-10-25 | 2004-06-08 | General Instrument Corporation | Transcoder-multiplexer (transmux) software architecture |
| JP3674495B2 (en) * | 2000-10-26 | 2005-07-20 | セイコーエプソン株式会社 | Display driver, display unit including the same, and electronic device |
| US7116712B2 (en) * | 2001-11-02 | 2006-10-03 | Koninklijke Philips Electronics, N.V. | Apparatus and method for parallel multimedia processing |
| JP2003233366A (en) * | 2002-02-13 | 2003-08-22 | Nec Access Technica Ltd | Display composing circuit and portable electronic equipment |
| US6931061B2 (en) * | 2002-11-13 | 2005-08-16 | Sony Corporation | Method of real time MPEG-4 texture decoding for a multiprocessor environment |
| US7081874B2 (en) * | 2002-12-20 | 2006-07-25 | Motorola, Inc. | Portable display device and method utilizing embedded still image buffer to facilitate full motion video playback |
| JP2004274212A (en) * | 2003-03-06 | 2004-09-30 | Renesas Technology Corp | Picture encoding device |
| US20050162435A1 (en) * | 2004-01-22 | 2005-07-28 | Electronic Arts Inc. | Image rendering with multi-level Z-buffers |
| US7697026B2 (en) * | 2004-03-16 | 2010-04-13 | 3Vr Security, Inc. | Pipeline architecture for analyzing multiple video streams |
| US7634776B2 (en) * | 2004-05-13 | 2009-12-15 | Ittiam Systems (P) Ltd. | Multi-threaded processing design in architecture with multiple co-processors |
| US7388588B2 (en) * | 2004-09-09 | 2008-06-17 | International Business Machines Corporation | Programmable graphics processing engine |
| JP4658563B2 (en) * | 2004-10-13 | 2011-03-23 | パナソニック株式会社 | Image data processing apparatus and image data processing method |
| EP1810220A4 (en) * | 2004-11-03 | 2008-04-30 | Tyzx Inc | An integrated image processor |
| JP4612831B2 (en) * | 2004-11-15 | 2011-01-12 | キヤノン株式会社 | Variable length coding apparatus and variable length coding method |
| US20060256854A1 (en) * | 2005-05-16 | 2006-11-16 | Hong Jiang | Parallel execution of media encoding using multi-threaded single instruction multiple data processing |
| CN101359284B (en) * | 2006-02-06 | 2011-05-11 | 威盛电子股份有限公司 | Multiply-accumulate unit and method for handling several different data formats |
| JP2007287084A (en) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | Image processor and program |
| US7778822B2 (en) * | 2006-05-19 | 2010-08-17 | Sony Ericsson Mobile Communications Ab | Allocating audio processing among a plurality of processing units with a global synchronization pulse |
| JP4795138B2 (en) * | 2006-06-29 | 2011-10-19 | 富士ゼロックス株式会社 | Image processing apparatus and program |
| JP4979287B2 (en) | 2006-07-14 | 2012-07-18 | 富士ゼロックス株式会社 | Image processing apparatus and program |
| JP4969396B2 (en) * | 2007-10-17 | 2012-07-04 | 株式会社リコー | Image processing apparatus, image processing method, and image processing program |
| US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
| JP5151999B2 (en) * | 2009-01-09 | 2013-02-27 | セイコーエプソン株式会社 | Image processing apparatus and image processing method |
| JP5451542B2 (en) * | 2010-06-30 | 2014-03-26 | 日本電信電話株式会社 | Integrated circuit |
| JP5966346B2 (en) * | 2011-12-21 | 2016-08-10 | ソニー株式会社 | Image processing apparatus and method |
| JP5479519B2 (en) * | 2012-03-30 | 2014-04-23 | 富士フイルム株式会社 | Image processing apparatus, method, and program |
| EP3767481A1 (en) | 2019-07-19 | 2021-01-20 | PLS Patent-, Lizenz- und Schutzrechte Verwertung GmbH | Processor |
| US12293218B2 (en) * | 2019-09-28 | 2025-05-06 | Tencent America LLC | Method and apparatus for a step-enabled workflow |
Family Cites Families (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54136135A (en) * | 1978-04-13 | 1979-10-23 | Iryo Gijutsu Kenkyu Kaihatsu Zaidan | Picture information processor |
| US4376588A (en) * | 1981-06-30 | 1983-03-15 | International Business Machines Corporation | Bi-directional serial printer with look-ahead |
| US4480314A (en) * | 1982-05-17 | 1984-10-30 | International Business Machines Corporation | Method for optimizing printer response time for a key to print operation |
| US4646075A (en) * | 1983-11-03 | 1987-02-24 | Robert Bosch Corporation | System and method for a data processing pipeline |
| US4601055A (en) * | 1984-04-10 | 1986-07-15 | The United States Of America As Represented By The Secretary Of Commerce | Image processor |
| JPS61131122A (en) * | 1984-11-30 | 1986-06-18 | Fujitsu Ltd | Parallel pipeline processor |
| JPS61198988A (en) * | 1985-02-28 | 1986-09-03 | Mitsubishi Electric Corp | Image encoding and transmitting system |
| US4987530A (en) * | 1985-11-15 | 1991-01-22 | Data General Corp. | Input/output controller for a data processing system |
| JPS62138973A (en) * | 1985-12-11 | 1987-06-22 | Fujitsu Ltd | Pipeline multi-connection control system |
| JPS62144283A (en) * | 1985-12-18 | 1987-06-27 | Fujitsu Ltd | Pipe line control system |
| JPS62203283A (en) * | 1986-03-03 | 1987-09-07 | Hitachi Ltd | image processing processor |
| US4949301A (en) * | 1986-03-06 | 1990-08-14 | Advanced Micro Devices, Inc. | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs |
| US4843632A (en) * | 1986-05-09 | 1989-06-27 | Prodigy Systems Corporation | Compressed image expansion system |
| JPS63107269A (en) * | 1986-10-23 | 1988-05-12 | Canon Inc | Image processing system |
| JPS63137375A (en) * | 1986-11-29 | 1988-06-09 | Toshiba Corp | Lsi for image processing |
| US4922437A (en) * | 1986-12-25 | 1990-05-01 | Kabushiki Kaisha Toshiba | Image information processing apparatus |
| JPS63227276A (en) * | 1987-03-17 | 1988-09-21 | Toshiba Corp | Expansion/compression processor |
| JP2641858B2 (en) * | 1987-03-17 | 1997-08-20 | 株式会社東芝 | Compression / expansion processor |
| JPS63276973A (en) * | 1987-03-17 | 1988-11-15 | Toshiba Corp | Compression expanding processor |
| JP2695790B2 (en) * | 1987-07-15 | 1998-01-14 | 株式会社東芝 | Image processing system |
| US4928247A (en) * | 1987-08-13 | 1990-05-22 | Digital Equipment Corporation | Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures |
| GB8722394D0 (en) * | 1987-09-23 | 1987-10-28 | British Telecomm | Video coder |
| JPS6482275A (en) * | 1987-09-25 | 1989-03-28 | Minolta Camera Kk | Digital image processor |
| US5185599A (en) * | 1987-10-26 | 1993-02-09 | Tektronix, Inc. | Local display bus architecture and communications method for Raster display |
| JPH0727571B2 (en) * | 1987-10-26 | 1995-03-29 | テクトロニックス・インコーポレイテッド | Raster scan display device and graphic data transfer method |
| JP2545886B2 (en) * | 1987-10-28 | 1996-10-23 | ダイキン工業株式会社 | Graphic data management device |
| US4823201A (en) * | 1987-11-16 | 1989-04-18 | Technology, Inc. 64 | Processor for expanding a compressed video signal |
| JPH081599B2 (en) * | 1988-02-24 | 1996-01-10 | 三菱電機株式会社 | Data processing device |
| US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
| JP2924964B2 (en) * | 1988-09-02 | 1999-07-26 | 富士ゼロックス株式会社 | Image information encoding device, image information decoding device, and image information encoding / decoding device |
| JPH02123489A (en) * | 1988-11-02 | 1990-05-10 | Toshiba Corp | Image processor |
| JPH02188879A (en) * | 1989-01-17 | 1990-07-24 | Mitsubishi Heavy Ind Ltd | Picture processor |
| KR920007920B1 (en) * | 1989-05-30 | 1992-09-19 | 재단법인 한국전자통신연구소 | Video phone system |
| US5020115A (en) * | 1989-07-10 | 1991-05-28 | Imnet Corporation | Methods and apparatus for dynamically scaling images |
| US5007100A (en) * | 1989-10-10 | 1991-04-09 | Unisys Corporation | Diagnostic system for a parallel pipelined image processing system |
| US5148521A (en) * | 1989-10-23 | 1992-09-15 | International Business Machines Corporation | Pick data queue for pipelined graphics system |
-
1992
- 1992-06-04 US US07/894,121 patent/US5289577A/en not_active Expired - Lifetime
-
1993
- 1993-03-05 SG SG1996000346A patent/SG43737A1/en unknown
- 1993-03-05 EP EP9393103587A patent/EP0572766A3/en not_active Withdrawn
- 1993-04-12 JP JP5084663A patent/JP2761449B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE48845E1 (en) | 2002-04-01 | 2021-12-07 | Broadcom Corporation | Video decoding system supporting multiple standards |
Also Published As
| Publication number | Publication date |
|---|---|
| SG43737A1 (en) | 1997-11-14 |
| EP0572766A2 (en) | 1993-12-08 |
| US5289577A (en) | 1994-02-22 |
| EP0572766A3 (en) | 1994-09-28 |
| JPH06187434A (en) | 1994-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2761449B2 (en) | Image processing system | |
| US5450599A (en) | Sequential pipelined processing for the compression and decompression of image data | |
| US5774206A (en) | Process for controlling an MPEG decoder | |
| US5812791A (en) | Multiple sequence MPEG decoder | |
| US8533166B1 (en) | Methods and systems for encoding/decoding files and transmission thereof | |
| US7403564B2 (en) | System and method for multiple channel video transcoding | |
| US8913667B2 (en) | Video decoding system having a programmable variable-length decoder | |
| US4772956A (en) | Dual block still video compander processor | |
| US20050066083A1 (en) | Method and system for bit-based data access | |
| KR940006350A (en) | Decoder for Compressed Video Signals | |
| JP2001505386A (en) | Efficient compression and decompression of fixed-length blocks | |
| JP3860574B2 (en) | Apparatus and method for extracting data from and loading into a buffer | |
| WO2005024636A1 (en) | Semiconductor device | |
| EP0616747A4 (en) | IMAGE DIGITIZER WITH PIXEL PROCESSOR. | |
| US5781134A (en) | System for variable length code data stream position arrangement | |
| JP4100836B2 (en) | Image processing device | |
| JP2004501531A (en) | Method and apparatus for run-length encoding video data | |
| JP4181701B2 (en) | Image processing device | |
| WO1996036178A1 (en) | Multiple sequence mpeg decoder and process for controlling same | |
| US9330060B1 (en) | Method and device for encoding and decoding video image data | |
| JPH04258084A (en) | Code rule converter | |
| JPH05110447A (en) | Data processing unit | |
| US20070192393A1 (en) | Method and system for hardware and software shareable DCT/IDCT control interface | |
| KR100731640B1 (en) | Bitstream handler | |
| JPS63146677A (en) | Predictive coding device for video signals |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |