JPH09200761A - 映像信号符号化システム用コントローラ - Google Patents
映像信号符号化システム用コントローラInfo
- Publication number
- JPH09200761A JPH09200761A JP34914796A JP34914796A JPH09200761A JP H09200761 A JPH09200761 A JP H09200761A JP 34914796 A JP34914796 A JP 34914796A JP 34914796 A JP34914796 A JP 34914796A JP H09200761 A JPH09200761 A JP H09200761A
- Authority
- JP
- Japan
- Prior art keywords
- value
- input
- video signal
- values
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/16—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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
- 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/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【課題】 量子化パラメータを計算すると共に、イン
タ/イントラモード及びフィールド/フレームDCTモ
ードの決定も行うコントローラ及びその動作方法を提供
する。 【解決手段】 現フレームの開始及び種類を示す信号
に応じて、制御シーケンスを発生する制御ユニット11
0と、第1群の予め決められた方程式を計算して第1組
の値を求める算術ユニット140と、制御シーケンス及
び第1組の値に応じて、現フレームでのマクロブロック
に対する制御値の組を、現在符号化されたマクロブロッ
クの一連の番号及び予め決められた初期定数値に基づい
て第2群の予め決められた方程式を計算することによっ
て、求める処理ユニット180と、初期定数値の格納、
初期定数値の処理ユニット180への供給、この処理ユ
ニット180で求められた制御値の組の格納及び映像信
号の符号化の際に用いられる制御値を供給するメモリ及
びI/Oユニット150とを含む。
タ/イントラモード及びフィールド/フレームDCTモ
ードの決定も行うコントローラ及びその動作方法を提供
する。 【解決手段】 現フレームの開始及び種類を示す信号
に応じて、制御シーケンスを発生する制御ユニット11
0と、第1群の予め決められた方程式を計算して第1組
の値を求める算術ユニット140と、制御シーケンス及
び第1組の値に応じて、現フレームでのマクロブロック
に対する制御値の組を、現在符号化されたマクロブロッ
クの一連の番号及び予め決められた初期定数値に基づい
て第2群の予め決められた方程式を計算することによっ
て、求める処理ユニット180と、初期定数値の格納、
初期定数値の処理ユニット180への供給、この処理ユ
ニット180で求められた制御値の組の格納及び映像信
号の符号化の際に用いられる制御値を供給するメモリ及
びI/Oユニット150とを含む。
Description
【0001】
【発明の属する技術分野】本発明は、映像信号符号化シ
ステムで用いるコントローラに関し、特に、量子化パラ
メータを決定することにより符号化システムからのデー
タの量を制御してバッファのオーバフローまたはアンダ
フローを避けると共に、符号化システムのインタ/イン
トラモード及びフィールド/フレームDCTモードの決
定も行うコントローラに関する。
ステムで用いるコントローラに関し、特に、量子化パラ
メータを決定することにより符号化システムからのデー
タの量を制御してバッファのオーバフローまたはアンダ
フローを避けると共に、符号化システムのインタ/イン
トラモード及びフィールド/フレームDCTモードの決
定も行うコントローラに関する。
【0002】
【従来の技術】近年の通信技術及び集積回路技術の発展
につれ、ディジタル映像信号の伝送は幅広く行われるよ
うになった。一連の映像「フレーム」からなる映像信号
がディジタル形態に表現される場合、とりわけ、高精細
度テレビジョンシステムの場合、大量のディジタルデー
タが必要である。しかしながら、通常の伝送チャネル上
の利用可能な周波数帯域幅は制限されているので、その
チャネルを通じて大量のディジタルデータを伝送するた
めには、映像の画質を低下させず、伝送すべきデータを
圧縮してデータの量を減すデータ圧縮技術を用いられな
ければならない。これに関して、ディジタル映像信号を
圧縮するための幾つかの国際標準案が提案されて、現在
も引き続き研究されている。そのような国際標準案の1
つに、ISO及びIECの合同技術委員会の一部である
MPEGにより開発された、ISO/IEC MPEG
標準案がある。この国際標準案は圧縮されたビットスト
リームのシンタックス及び復号化方法に基づいたもので
あるが、符号化システムに採用されるアルゴリズムを多
様に適用することができる。本発明はそのような符号化
システムに適合するように意図されており、以後、本発
明の容易な理解のため、MPEGビデオ信号圧縮アルゴ
リズムのうちで幾つかの関連事項について説明する。こ
こで、本発明は、本発明に直接関連するMPEGアルゴ
リズムの特徴のいくつかを有する他の映像符号化アルゴ
リズムにも適用し得ることに注意されたい。
につれ、ディジタル映像信号の伝送は幅広く行われるよ
うになった。一連の映像「フレーム」からなる映像信号
がディジタル形態に表現される場合、とりわけ、高精細
度テレビジョンシステムの場合、大量のディジタルデー
タが必要である。しかしながら、通常の伝送チャネル上
の利用可能な周波数帯域幅は制限されているので、その
チャネルを通じて大量のディジタルデータを伝送するた
めには、映像の画質を低下させず、伝送すべきデータを
圧縮してデータの量を減すデータ圧縮技術を用いられな
ければならない。これに関して、ディジタル映像信号を
圧縮するための幾つかの国際標準案が提案されて、現在
も引き続き研究されている。そのような国際標準案の1
つに、ISO及びIECの合同技術委員会の一部である
MPEGにより開発された、ISO/IEC MPEG
標準案がある。この国際標準案は圧縮されたビットスト
リームのシンタックス及び復号化方法に基づいたもので
あるが、符号化システムに採用されるアルゴリズムを多
様に適用することができる。本発明はそのような符号化
システムに適合するように意図されており、以後、本発
明の容易な理解のため、MPEGビデオ信号圧縮アルゴ
リズムのうちで幾つかの関連事項について説明する。こ
こで、本発明は、本発明に直接関連するMPEGアルゴ
リズムの特徴のいくつかを有する他の映像符号化アルゴ
リズムにも適用し得ることに注意されたい。
【0003】MPEGビデオシーケンスは、各組がピク
チャ群(GOP)として定義される連続的なピクチャの
組に、または連続的なフレームの組に分けられることが
できる。各GOPは複数のピクチャまたはフレームを有
し、各ピクチャまたはフレームは複数のスライスに再度
分けられる。各スライスは、複数のマクロブロック(M
B)からなり、各マクロブロックは各々が8×8個のブ
ロックからなる四つのルミナンスブロックと、各々が8
×8個のブロックからなる2つのクロミナンスブロック
とから構成されている。
チャ群(GOP)として定義される連続的なピクチャの
組に、または連続的なフレームの組に分けられることが
できる。各GOPは複数のピクチャまたはフレームを有
し、各ピクチャまたはフレームは複数のスライスに再度
分けられる。各スライスは、複数のマクロブロック(M
B)からなり、各マクロブロックは各々が8×8個のブ
ロックからなる四つのルミナンスブロックと、各々が8
×8個のブロックからなる2つのクロミナンスブロック
とから構成されている。
【0004】GOPには3つのタイプのピクチャが現れ
得る。その中、第1タイプのピクチャ(即ち、イントラ
モードピクチャまたはI−ピクチャ)は他のピクチャか
ら独立して圧縮される。第2タイプのピクチャは予測動
き補償ピクチャ(P−ピクチャ)であり、第3タイプの
ピクチャは双方向動き補償ピクチャ(B−ピクチャ)で
ある。
得る。その中、第1タイプのピクチャ(即ち、イントラ
モードピクチャまたはI−ピクチャ)は他のピクチャか
ら独立して圧縮される。第2タイプのピクチャは予測動
き補償ピクチャ(P−ピクチャ)であり、第3タイプの
ピクチャは双方向動き補償ピクチャ(B−ピクチャ)で
ある。
【0005】動き補償は、連続的なピクチャ間で生じる
冗長度を取り除くための圧縮方法である。MPEGで
は、各MBは、基準フレーム内の同一の空間位置に存在
する16×16個の領域と比較される。以前に存在する
単一の前フレームを基準フレームとして用いて、予測的
に動き補償されたフレームがP−ピクチャとなる。この
ような予測方法を、順方向予測(forward−in
−time prediction)と称する。B−ピ
クチャでは、前フレームに基づいた予測だけでなく逆方
向予測(backward−in−time pred
iction)も行われる。I−ピクチャにおいては、
マクロブロック全体がイントラモーで符号化される(即
ち、フレーム間の動き補償を考慮せずに独立して符号化
される)。P−ピクチャ及びB−ピクチャにおいて、各
マクロブロックはイントラモードまたはインタモードで
符号化され得る。ここで、マクロブロックはフレーム間
動き補償によって符号化される。マクロブロック(即
ち、現在処理されるべきマクロブロック(処理マクロブ
ロック))を処理する2つの符号化モードのうち一方を
選択するため、最初に、「VAR_DIF」及び「VA
R_ORG」が次式のように計算される。 (VAR_DIF)=(1/256)Σ[i=1,16]Σ[j=1,16] {O(i、j)−S(i、j)}2 式(1A) (VAR_ORG)=(1/256)Σ[i=1,16]Σ[j=1,16] {O(i、j)2 −ave(0(i、j))}2 式(1B) O(i,j):符号化されるべき元の処理マクロブロッ
ク内の画素値 S(i,j):通常の動き補償方法を用いて再構成され
たマクロブロック内の画素値 ave(O(i,j)):処理マクロブロックのO
(i,j)の平均値 i及びj:マクロブロックの画素の位置を表すインデッ
クス Σ[i=0、I]Σ[j=0、J]a(i,j)=a
(0,0)+a(0,1)+…+ a(0,J)+a(1,0)+…+a(1,J)+…+
a(I、0)+…+a(I,J) ここで、「VAR_DIF」はインターモードを、「V
AR_ORG」はイントラモードを各々用いてマクロブ
ロックの符号化の際に得られるデータの量を表すことに
注意されたい。図10に示すように、インターモード/
イントラモードは、「VAR_DIF」及び「VAR_
ORG」の値によって決定される。
冗長度を取り除くための圧縮方法である。MPEGで
は、各MBは、基準フレーム内の同一の空間位置に存在
する16×16個の領域と比較される。以前に存在する
単一の前フレームを基準フレームとして用いて、予測的
に動き補償されたフレームがP−ピクチャとなる。この
ような予測方法を、順方向予測(forward−in
−time prediction)と称する。B−ピ
クチャでは、前フレームに基づいた予測だけでなく逆方
向予測(backward−in−time pred
iction)も行われる。I−ピクチャにおいては、
マクロブロック全体がイントラモーで符号化される(即
ち、フレーム間の動き補償を考慮せずに独立して符号化
される)。P−ピクチャ及びB−ピクチャにおいて、各
マクロブロックはイントラモードまたはインタモードで
符号化され得る。ここで、マクロブロックはフレーム間
動き補償によって符号化される。マクロブロック(即
ち、現在処理されるべきマクロブロック(処理マクロブ
ロック))を処理する2つの符号化モードのうち一方を
選択するため、最初に、「VAR_DIF」及び「VA
R_ORG」が次式のように計算される。 (VAR_DIF)=(1/256)Σ[i=1,16]Σ[j=1,16] {O(i、j)−S(i、j)}2 式(1A) (VAR_ORG)=(1/256)Σ[i=1,16]Σ[j=1,16] {O(i、j)2 −ave(0(i、j))}2 式(1B) O(i,j):符号化されるべき元の処理マクロブロッ
ク内の画素値 S(i,j):通常の動き補償方法を用いて再構成され
たマクロブロック内の画素値 ave(O(i,j)):処理マクロブロックのO
(i,j)の平均値 i及びj:マクロブロックの画素の位置を表すインデッ
クス Σ[i=0、I]Σ[j=0、J]a(i,j)=a
(0,0)+a(0,1)+…+ a(0,J)+a(1,0)+…+a(1,J)+…+
a(I、0)+…+a(I,J) ここで、「VAR_DIF」はインターモードを、「V
AR_ORG」はイントラモードを各々用いてマクロブ
ロックの符号化の際に得られるデータの量を表すことに
注意されたい。図10に示すように、インターモード/
イントラモードは、「VAR_DIF」及び「VAR_
ORG」の値によって決定される。
【0006】MPEG及び他のいくつかの圧縮標準案で
は、離散的コサイン変換(DCT)が採用されている。
このDCTには、フィールド単位のDCTまたはフレー
ム単位のDCTの2つのタイプがあり、これらのタイプ
は飛越し走査を行ってフレームを規定するMPEG符号
化方法において選択的に用いられ得る。フレームを形成
する水平ラインは奇数フィールド及び偶数フィールドに
分けられる。ここで、偶数ライン(ライン2,4,
6,..)は偶数フィールドを、奇数ライン(ライン
1,3,5,..)は奇数フィールドを各々形成する。
ディジタル化された飛越し走査された映像信号は、フィ
ールドモードまたはフレームモードによって圧縮され得
る。フィールドモードでは、各フレームは偶数フィール
ド及び奇数フィールドに分けられ、別々に取扱われる。
フレームモードでは、2つのフィールドは対応する偶数
フィールド及び奇数フィールドのラインをインターリー
ブすることにより、単一のフレームとして処理される。
どちらの符号化モードを用いてもデータの圧縮は十分に
満足なものではない。与えられた映像に対して、各フレ
ームが一方のフィールドに存在するラインの2倍のライ
ンを有するため、サンプル間の相関関係はより高くな
り、その圧縮性はより一層高まる。しかしながら、詳細
に動くエリアでは、フレームモードの処理は、偶数フィ
ールド及び奇数フィールドのインタリーブによって生じ
る見かけの垂直方向周波数が高くなる影響を受ける。
は、離散的コサイン変換(DCT)が採用されている。
このDCTには、フィールド単位のDCTまたはフレー
ム単位のDCTの2つのタイプがあり、これらのタイプ
は飛越し走査を行ってフレームを規定するMPEG符号
化方法において選択的に用いられ得る。フレームを形成
する水平ラインは奇数フィールド及び偶数フィールドに
分けられる。ここで、偶数ライン(ライン2,4,
6,..)は偶数フィールドを、奇数ライン(ライン
1,3,5,..)は奇数フィールドを各々形成する。
ディジタル化された飛越し走査された映像信号は、フィ
ールドモードまたはフレームモードによって圧縮され得
る。フィールドモードでは、各フレームは偶数フィール
ド及び奇数フィールドに分けられ、別々に取扱われる。
フレームモードでは、2つのフィールドは対応する偶数
フィールド及び奇数フィールドのラインをインターリー
ブすることにより、単一のフレームとして処理される。
どちらの符号化モードを用いてもデータの圧縮は十分に
満足なものではない。与えられた映像に対して、各フレ
ームが一方のフィールドに存在するラインの2倍のライ
ンを有するため、サンプル間の相関関係はより高くな
り、その圧縮性はより一層高まる。しかしながら、詳細
に動くエリアでは、フレームモードの処理は、偶数フィ
ールド及び奇数フィールドのインタリーブによって生じ
る見かけの垂直方向周波数が高くなる影響を受ける。
【0007】DCT処理において、フィールド/フレー
ムDCTモードはマクロブロック単位で選択される。D
CTモードを決定する基準の一つを、下記の式を用いて
説明する(Test Model 4,ISO−IEC
/JTC1/SC29/WG11 MPEG93/22
5 参照)。
ムDCTモードはマクロブロック単位で選択される。D
CTモードを決定する基準の一つを、下記の式を用いて
説明する(Test Model 4,ISO−IEC
/JTC1/SC29/WG11 MPEG93/22
5 参照)。
【0008】 (VAR_FRM)=Σ[i=1,16]Σ[j=1,14] {O(i、j)−O(i、j+1)}2 式(2A) (VAR_ORG)=Σ[i=1,16]Σ[j=1,14] {O(i、j)−O(i、j+2)}2 式(2B) 「VAR_FRM」が「VAR_FLD」より大きいマ
クロブロックの場合、フレーム単位のDCTが用いら
れ、その逆の場合、フィールド単位のDCTが用いられ
る。
クロブロックの場合、フレーム単位のDCTが用いら
れ、その逆の場合、フィールド単位のDCTが用いられ
る。
【0009】その後、フィールド単位のDCTまたはフ
レーム単位のDCTによって得られたDCT係数は量子
化される。この量子化プロセスは、DCT係数のブロッ
クをWmn×QPに分けることによって行われる。ここ
で、Wmnはマトリックス形態で構成される重みファク
ターを表し、QPは量子化パラメータを表す。重みファ
クターは、視覚的に余り重要でない係数に対してはより
粗い量子化が適用されるようにするのに用いられる。量
子化パラメータQPは、ビットレートと映像の質との間
のトレードオフの関係を調節するための手段として機能
する。QPは同一フレーム内でMBによって変わり得
る。このような特徴(適応量子化として知られている)
によって、各フレームの異なる領域を異なる量子化ステ
ップサイズにて量子化することができる。
レーム単位のDCTによって得られたDCT係数は量子
化される。この量子化プロセスは、DCT係数のブロッ
クをWmn×QPに分けることによって行われる。ここ
で、Wmnはマトリックス形態で構成される重みファク
ターを表し、QPは量子化パラメータを表す。重みファ
クターは、視覚的に余り重要でない係数に対してはより
粗い量子化が適用されるようにするのに用いられる。量
子化パラメータQPは、ビットレートと映像の質との間
のトレードオフの関係を調節するための手段として機能
する。QPは同一フレーム内でMBによって変わり得
る。このような特徴(適応量子化として知られている)
によって、各フレームの異なる領域を異なる量子化ステ
ップサイズにて量子化することができる。
【0010】量子化後、量子化係数はハフマン符号化
(Huffman coding)のような可変長符号
化(VLC)を用いて符号化される。VLC過程の際に
生じるデータの量は映像信号の特性に応じて時間的に変
化する。従って、符号化データを与えられた伝送レート
で送り出すためにレート制御技法が必要である。前述し
たように、そのような伝送レートのコントローラは、例
えばバッファの占有率(fullness)及び入力映
像のアクティビティに従って量子化パラメータQPを変
更することによって、符号化データの量を制御する働き
を果たす。
(Huffman coding)のような可変長符号
化(VLC)を用いて符号化される。VLC過程の際に
生じるデータの量は映像信号の特性に応じて時間的に変
化する。従って、符号化データを与えられた伝送レート
で送り出すためにレート制御技法が必要である。前述し
たように、そのような伝送レートのコントローラは、例
えばバッファの占有率(fullness)及び入力映
像のアクティビティに従って量子化パラメータQPを変
更することによって、符号化データの量を制御する働き
を果たす。
【0011】マクロブロック単位で量子化パラメータを
変更してビットレートの制御を行う方法の1つを以下に
述べる。このビットレート制御方法は3つの過程、即
ち、目標ビット割当て過程(第1過程)、レート制御過
程(第2過程)及び適応的量子化過程(第3過程)から
なる。第1過程では、次フレームの符号化に使用可能な
ビット数が推定される。第2過程では、各マクロブロッ
クに対する量子化パラメータの基準値が仮想バッファを
用いて決定される。最後に、第3過程では、量子化パラ
メータの基準値がマクロブロックに於ける空間的アクテ
ィビティに従って調節され、量子化パラメータが求めら
れる。上記の各過程について以下に詳しく述べる。
変更してビットレートの制御を行う方法の1つを以下に
述べる。このビットレート制御方法は3つの過程、即
ち、目標ビット割当て過程(第1過程)、レート制御過
程(第2過程)及び適応的量子化過程(第3過程)から
なる。第1過程では、次フレームの符号化に使用可能な
ビット数が推定される。第2過程では、各マクロブロッ
クに対する量子化パラメータの基準値が仮想バッファを
用いて決定される。最後に、第3過程では、量子化パラ
メータの基準値がマクロブロックに於ける空間的アクテ
ィビティに従って調節され、量子化パラメータが求めら
れる。上記の各過程について以下に詳しく述べる。
【0012】<第1過程:目標ビット割当て過程>ある
タイプのフレーム(I、PまたはB−ピクチャ)が符号
化された後、各々のグローバル複雑さ測定値( Xi 、
XpまたはXb )が次のように更新される。
タイプのフレーム(I、PまたはB−ピクチャ)が符号
化された後、各々のグローバル複雑さ測定値( Xi 、
XpまたはXb )が次のように更新される。
【0013】 Xi = Si × Qi 式(3A) Xp = Sp × Qp 式(3B) Xb = Sb × Qb 式(3C) ここで、Si、SpまたはSbは対応するフレームの符号
化により発生したビット数を各々表し、Qi、Qpまたは
Qbはフレーム内の全てのマクロブロックに対する実際
の量子化パラメータを平均することによって計算された
量子化パラメータの平均値を各々表す。
化により発生したビット数を各々表し、Qi、Qpまたは
Qbはフレーム内の全てのマクロブロックに対する実際
の量子化パラメータを平均することによって計算された
量子化パラメータの平均値を各々表す。
【0014】符号化プロセスの開始の際、グローバル複
雑さ測定値の初期定数値が下記式のように定められる。
雑さ測定値の初期定数値が下記式のように定められる。
【0015】 Xi = 160 × (BIT_RATE)/115 式(3D) Xp = 60 × (BIT_RATE)/115 式(3E) Xb = 42 × (BIT_RATE)/115 式(3F) ここで、「BIT−RATE」の値は、ビット/秒の単
位として予め決められた定数である。
位として予め決められた定数である。
【0016】Xi 、Xp またはXb が決定された後、
目標ビット数(即ち、次フレームの符号化にて発生され
るビットの推定数)が決定される。
目標ビット数(即ち、次フレームの符号化にて発生され
るビットの推定数)が決定される。
【0017】I、PまたはB−ピクチャに対する目標ビ
ットの個数(Ti、Tp またはTb)は、下記式のよう
に計算される。
ットの個数(Ti、Tp またはTb)は、下記式のよう
に計算される。
【0018】 Ti = max[R/(1+(Np×Xp / Xi×kp )+(Nb×Nb/ Xi×kb )) ×( BIT_RATE )/(8×(PICTURE_RATE))] 式( 4A) Tp = max[ R/( Np+( Nb×Kp ×Xb /Kb×Xp )) ×( BIT−RATE )/(8×( PICTURE_RATE ))] 式 (4B) Tb = max[R/( Nb+( Nb×Kb×Xp /KKb×Xp )) ×( BIT_RATE )/(8×( PICTURE_RATE ))] 式 (4C) ここで、Kp 及びKb:予め決められた定数 R:現GOPに割り当てられたビットの残余数 フレームが符号化される後、残余数Rは下記式のように
更新される。
更新される。
【0019】 R =R−Si(または、Sp、Sb) 式(5) ここで、Si(または、Sp、Sb)は直ちに符号化され
たフレームで生じたビット数を表し、下付け符号i、p
及びbはフレームのタイプを各々表す。GOPの最初の
フレームが符号化される前の残余数Rの値は、下記式の
ように決定される。
たフレームで生じたビット数を表し、下付け符号i、p
及びbはフレームのタイプを各々表す。GOPの最初の
フレームが符号化される前の残余数Rの値は、下記式の
ように決定される。
【0020】 R=G+R 式(6A) G=(BIT_RATE)×N/(PICTURE_RATE) 式(6B) ここで、N:GOP内のフレームの数(定数) PICTURE_RATE:予め決められた定数 符号化プロセスの開始に於いて、Rの初期定数値はゼロ
である。
である。
【0021】上記の式(4A)〜(4C)において、N
pは現GOPでの残りのP−ピクチャの個数、NbはB−
ピクチャの個数を表す。従って、あるGOPに対する処
理の開始の時、Np及びNbは該GOPに含まれたP−ピ
クチャ及びB−ピクチャの総数を各々表す。
pは現GOPでの残りのP−ピクチャの個数、NbはB−
ピクチャの個数を表す。従って、あるGOPに対する処
理の開始の時、Np及びNbは該GOPに含まれたP−ピ
クチャ及びB−ピクチャの総数を各々表す。
【0022】<第2過程:ビットレート制御過程>本過
程では、基準量子化パラメータが仮想バッファの概念に
基づいて各マクロブロックに対して計算される。
程では、基準量子化パラメータが仮想バッファの概念に
基づいて各マクロブロックに対して計算される。
【0023】マクロブロックmの符号化の前に、仮想バ
ッファの占有率がフレームのタイプに応じて下記式のよ
うに決定される。
ッファの占有率がフレームのタイプに応じて下記式のよ
うに決定される。
【0024】 dm i=d0 i+Bm-1−(Ti×( m−1)/( MB_cnt ) (式7A) dm p=d0 p+Bm-1−(Tp×( m−1)/( MB_cnt ) (式7B) dm b=d0 b+Bm-1−(Tb×( m−1)/( MB_cnt ) (式7C) ここで、 d0 i、d0 p、及びd0 bは、あるピクチャの開
始時での各ピクチャタイプに対する仮想バッファの占有
率を表し、Bmは現ピクチャ内の全てのマクロブロック
(mを含む)を符号化することにより発生されたビット
の数を表し、「MB_cnt」は該ピクチャ内のマクロ
ブロックの個数を表し、 dm i、 dm p、及びdm bは、マ
クロブロックmに於ける各ピクチャタイプに対する仮想
バッファの占有率を各々表す。
始時での各ピクチャタイプに対する仮想バッファの占有
率を表し、Bmは現ピクチャ内の全てのマクロブロック
(mを含む)を符号化することにより発生されたビット
の数を表し、「MB_cnt」は該ピクチャ内のマクロ
ブロックの個数を表し、 dm i、 dm p、及びdm bは、マ
クロブロックmに於ける各ピクチャタイプに対する仮想
バッファの占有率を各々表す。
【0025】ピクチャの終わりにて仮想バッファの最終
占有率(即ち、m=(MB_cnt)の時のdm i、 dm
p、及びdm b )はd0 i、 d0 p及びd0 bとして同一タイ
プの次ピクチャを符号化するのに用いられる。
占有率(即ち、m=(MB_cnt)の時のdm i、 dm
p、及びdm b )はd0 i、 d0 p及びd0 bとして同一タイ
プの次ピクチャを符号化するのに用いられる。
【0026】その後、マクロブロックmに対する基準量
子化パラメータ(Qm)は、下記式のように決定され
る。
子化パラメータ(Qm)は、下記式のように決定され
る。
【0027】 Qm =(dmx31)/r (式8) ここで、r=2×(BIT−RATE)/(PICTU
RE−RATE)であり、dmは仮想バッファの占有率
である。
RE−RATE)であり、dmは仮想バッファの占有率
である。
【0028】符号化プロセスの開始に於ける仮想バッフ
ァの占有率は、下記式のように定められる。
ァの占有率は、下記式のように定められる。
【0029】 d0 i=10×r/31 (式7D) d0 p=Kpd0 i (式7E) d0 b=Kbd0 i (式7F) <第3過程:適応的量子化過程>本過程では、各マクロ
ブロックの量子化の際に実際に用いられる、更新された
量子化パラメータ(Mquant)が、映像の空間的ア
クティビティに基づいて、基準量子化パラメータから計
算される。
ブロックの量子化の際に実際に用いられる、更新された
量子化パラメータ(Mquant)が、映像の空間的ア
クティビティに基づいて、基準量子化パラメータから計
算される。
【0030】マクロブロックmに対する空間的アクティ
ビティの測定値はイントラ画素値を用いて、マクロブロ
ックmの4つのルミナンスフレームよりなるブロック
と、4つのフィールドよりなるブロックとから、下記式
のように計算される。
ビティの測定値はイントラ画素値を用いて、マクロブロ
ックmの4つのルミナンスフレームよりなるブロック
と、4つのフィールドよりなるブロックとから、下記式
のように計算される。
【0031】 actm=1+min(var_sblk) (sblk=1〜8) (式9) ここで、 (var_sblk)=(1/64)Σ[n=1,64](pn−pmean)2 (式10) また、 pmean=(1/64)Σ[n=1,64](pn) (式11) (ここで、Σ[n=1,I]a(n)=a(1)+a(2)+…+a(I)) ここで、Pnは元のブロック内の画素値である。フレー
ムよりなるブロックの場合、1つのブロックが8つの連
続ラインを含むが、フィールドよりなるブロックの場合
には、偶数フィールドと奇数フィールドのラインは分け
られて別個のブロックを形成する。
ムよりなるブロックの場合、1つのブロックが8つの連
続ラインを含むが、フィールドよりなるブロックの場合
には、偶数フィールドと奇数フィールドのラインは分け
られて別個のブロックを形成する。
【0032】その後、正規化されたactm即ち、(N
_actm)が、下記式のように計算される。 (N_actm)= (2× actm +( avg_act ))/ ( actm +2×( avg_act )) (式12) ここで、「avg_act」は、最後のピクチャに対す
るactmの平均値である。最初のピクチャに於いて
は、「avg_act」は400である。
_actm)が、下記式のように計算される。 (N_actm)= (2× actm +( avg_act ))/ ( actm +2×( avg_act )) (式12) ここで、「avg_act」は、最後のピクチャに対す
るactmの平均値である。最初のピクチャに於いて
は、「avg_act」は400である。
【0033】その後、最後に、「Mquant」が下記
式のように計算される。
式のように計算される。
【0034】 Mquantm=Qm × (N_actm) (式13) Mquantmの最終値は1から31の範囲に限定さ
れ、量子化プロセスの際に用いられる。
れ、量子化プロセスの際に用いられる。
【0035】かくして、符号化プロセスの際に生じるビ
ットの数が予め決められた値を越える場合(バッファへ
の入力データが増加する場合)、量子化ステップサイズ
を大きくし、そうでない場合は量子化ステップサイズを
小さくすることによって、バッファの占有率はある適当
なレベルに保つ。
ットの数が予め決められた値を越える場合(バッファへ
の入力データが増加する場合)、量子化ステップサイズ
を大きくし、そうでない場合は量子化ステップサイズを
小さくすることによって、バッファの占有率はある適当
なレベルに保つ。
【0036】前述した3つのタスク(即ち、インタ/イ
ントラモード、フィールド/フレームモード及び量子化
パラメータの決定)は一連の数学的プロセスに関連して
いる。これらのジョブを汎用プロセッサを用いて実行す
ることもできるが、そのような用途に合わせた回路を設
計することには費用面及び速度面で効果を奏する。
ントラモード、フィールド/フレームモード及び量子化
パラメータの決定)は一連の数学的プロセスに関連して
いる。これらのジョブを汎用プロセッサを用いて実行す
ることもできるが、そのような用途に合わせた回路を設
計することには費用面及び速度面で効果を奏する。
【0037】
【発明が解決しようとする課題】従って、本発明の主な
目的は、量子化パラメータを計算すると共に、インタ/
イントラモード及びフィールド/フレームDCTモード
の決定も行うコントローラ及びその動作方法を提供する
ことにある。
目的は、量子化パラメータを計算すると共に、インタ/
イントラモード及びフィールド/フレームDCTモード
の決定も行うコントローラ及びその動作方法を提供する
ことにある。
【0038】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明によれば、映像信号符号化システムに用い
られ、インタ/イントラモード、フィールド/フレーム
DCTモード、及び量子化パラメータを決定する映像信
号符号化システム用コントローラであって、前記映像信
号は、各々が3つの種類のフレームに分けられる複数の
GOPを有し、前記各フレームは各々が複数のブロック
からなる複数のマクロブロックに分けられ、前記各ブロ
ックは奇数番目のラインのハーフブロック及び偶数番目
のラインのハーフブロックを有し、前記映像信号符号化
システムはマクロブロック単位で前記映像信号を符号化
する、前記映像信号符号化システム用コントローラが、
現フレームの開始及び種類を示す信号に応じて、複数の
制御信号からなる制御シーケンスを発生する制御シーケ
ンスを発生手段と、第1群の予め決められた方程式を計
算して、第1組の値を求める算術ユニットと、前記制御
シーケンス及び前記第1組の値に応じて、前記現フレー
ムでの前記マクロブロックに対する制御値の組を、現在
符号化されたマクロブロックの一連の番号及び予め決め
られた初期定数値に基づいて第2群の予め決められた方
程式を計算することによって、求める処理手段であっ
て、前記制御値の組は前記インタ/イントラモード、前
記フィールド/フレームDCTモード、及び前記量子化
パラメータを示す、前記処理手段と、前記初期定数値の
格納、前記初期定数値の前記処理手段への供給、前記処
理手段で求められた前記制御値の組の格納、及び映像信
号の符号化の際に用いられる前記制御値の供給するメモ
リ及び入出力ユニットとを含むことを特徴とする映像信
号符号化システム用コントローラが提供される。
めに、本発明によれば、映像信号符号化システムに用い
られ、インタ/イントラモード、フィールド/フレーム
DCTモード、及び量子化パラメータを決定する映像信
号符号化システム用コントローラであって、前記映像信
号は、各々が3つの種類のフレームに分けられる複数の
GOPを有し、前記各フレームは各々が複数のブロック
からなる複数のマクロブロックに分けられ、前記各ブロ
ックは奇数番目のラインのハーフブロック及び偶数番目
のラインのハーフブロックを有し、前記映像信号符号化
システムはマクロブロック単位で前記映像信号を符号化
する、前記映像信号符号化システム用コントローラが、
現フレームの開始及び種類を示す信号に応じて、複数の
制御信号からなる制御シーケンスを発生する制御シーケ
ンスを発生手段と、第1群の予め決められた方程式を計
算して、第1組の値を求める算術ユニットと、前記制御
シーケンス及び前記第1組の値に応じて、前記現フレー
ムでの前記マクロブロックに対する制御値の組を、現在
符号化されたマクロブロックの一連の番号及び予め決め
られた初期定数値に基づいて第2群の予め決められた方
程式を計算することによって、求める処理手段であっ
て、前記制御値の組は前記インタ/イントラモード、前
記フィールド/フレームDCTモード、及び前記量子化
パラメータを示す、前記処理手段と、前記初期定数値の
格納、前記初期定数値の前記処理手段への供給、前記処
理手段で求められた前記制御値の組の格納、及び映像信
号の符号化の際に用いられる前記制御値の供給するメモ
リ及び入出力ユニットとを含むことを特徴とする映像信
号符号化システム用コントローラが提供される。
【0039】
【発明の実施の形態】以下、本発明の好適実施例を添付
図面を参照して詳細に説明する。
図面を参照して詳細に説明する。
【0040】図1に、本発明のコントローラ10が組み
込まれた従来の映像信号符号化システムのブロック図が
示されている。このコントローラ10は、インタ/イン
トラモード、フィールド/フレームモード及び量子化パ
ラメータ「Mquant」を決定する。
込まれた従来の映像信号符号化システムのブロック図が
示されている。このコントローラ10は、インタ/イン
トラモード、フィールド/フレームモード及び量子化パ
ラメータ「Mquant」を決定する。
【0041】最初に、符号化されるべき映像信号の現フ
レームのデータが、DPCM(差分パルス符号変調)ブ
ロック20及び動き推定及び動き補償(MC)ブロック
50へ入力される。同時に、予測されたフレームデータ
がMCブロック50からDPCMブロック20へ入力さ
れる。実際には、映像データは、符号化プロセスの全過
程に亘ってマクロブロック単位で供給され処理される。
DPCMブロック20では、マクロブロックの符号化モ
ード(即ち、インタ/イントラモード)に従って、予測
フレームデータと現フレームデータとの間の差分である
差分フレームデータ、または現フレームデータ自体がD
CTブロック25へ供給される。差分データまたは現フ
レームデータは、例えば、DCTを用いてDCTブロッ
ク25にて変換され、変換係数は量子化(Q)ブロック
30へ入力されて量子化される。その後、量子化された
変換係数は二つの信号経路を介して送られる。詳述する
と、その信号経路の一方はエントロピー符号化器35へ
の経路である。このエントロピー符号化器35にて、量
子化変換係数は例えば、ラン・レングス符号化と可変長
符号化とを組み合わせた符号化方法を用いて符号化され
る。他方は逆量子化(IQ)ブロック40への経路であ
る。この逆量子化(IQ)ブロック40では、量子化さ
れた変換係数は復元されたフレームデータに再度変換さ
れる。この復元フレームデータは、動き推定及び補償ブ
ロック(MC)50へ入力され、ここで、予測フレーム
データが公知の動き推定及び補償技法を用いて求められ
る。
レームのデータが、DPCM(差分パルス符号変調)ブ
ロック20及び動き推定及び動き補償(MC)ブロック
50へ入力される。同時に、予測されたフレームデータ
がMCブロック50からDPCMブロック20へ入力さ
れる。実際には、映像データは、符号化プロセスの全過
程に亘ってマクロブロック単位で供給され処理される。
DPCMブロック20では、マクロブロックの符号化モ
ード(即ち、インタ/イントラモード)に従って、予測
フレームデータと現フレームデータとの間の差分である
差分フレームデータ、または現フレームデータ自体がD
CTブロック25へ供給される。差分データまたは現フ
レームデータは、例えば、DCTを用いてDCTブロッ
ク25にて変換され、変換係数は量子化(Q)ブロック
30へ入力されて量子化される。その後、量子化された
変換係数は二つの信号経路を介して送られる。詳述する
と、その信号経路の一方はエントロピー符号化器35へ
の経路である。このエントロピー符号化器35にて、量
子化変換係数は例えば、ラン・レングス符号化と可変長
符号化とを組み合わせた符号化方法を用いて符号化され
る。他方は逆量子化(IQ)ブロック40への経路であ
る。この逆量子化(IQ)ブロック40では、量子化さ
れた変換係数は復元されたフレームデータに再度変換さ
れる。この復元フレームデータは、動き推定及び補償ブ
ロック(MC)50へ入力され、ここで、予測フレーム
データが公知の動き推定及び補償技法を用いて求められ
る。
【0042】エントロピーフレーム器35からの符号化
データは、バッファ60へ入力されて対応する復号化シ
ステムへ伝送器によって伝送される。
データは、バッファ60へ入力されて対応する復号化シ
ステムへ伝送器によって伝送される。
【0043】一方、コントローラ10はDPCMブロッ
ク20からの差分データ及び現フレームデータとバッフ
ァ60からの占有率を表すバッファ信号を受け取る。本
発明のコントローラ10は、インタ/イントラモード、
フィールド/フレームDCTモード及び量子化パラメー
タをマクロブロック単位で求めると共に、インタ/イン
トラモード及びフィールド/フレームDCTモードの報
知信号をDPCMブロック20に、量子化パラメータを
Qブロック30へ各々供給する役目を果たす。インタ/
イントラモード信号に応じて、DPCMブロック20は
差分フレームデータと現フレームデータ(インタモー
ド)、または現フレームデータ自体(イントラモード)
をDCTブロック25へ供給する。これらの差分または
現フレームデータは8×8画素のブロックとして供給さ
れ、ブロック単位でDCT処理が行われる。DPCMブ
ロック20からDCTブロック25へ供給されたこれら
のブロックのフォーマットは、フィールド/フレームD
CTモード信号に応じて決まる。フレームDCTモード
の場合、DPCMブロック20はフレームよりなるブロ
ックを供給し、フィールドDCTモードの場合には、D
CTブロック25がモードに応じてフィールドまたはフ
レーム単位のDCT処理を行うようにフィールドよりな
るブロックを供給する。Qブロック30に供給された量
子化パラメータは、量子化の粗さ(coarsenes
s)/稠密(fineness)を調節してバッファ6
0の占有率を制御する用いられる。
ク20からの差分データ及び現フレームデータとバッフ
ァ60からの占有率を表すバッファ信号を受け取る。本
発明のコントローラ10は、インタ/イントラモード、
フィールド/フレームDCTモード及び量子化パラメー
タをマクロブロック単位で求めると共に、インタ/イン
トラモード及びフィールド/フレームDCTモードの報
知信号をDPCMブロック20に、量子化パラメータを
Qブロック30へ各々供給する役目を果たす。インタ/
イントラモード信号に応じて、DPCMブロック20は
差分フレームデータと現フレームデータ(インタモー
ド)、または現フレームデータ自体(イントラモード)
をDCTブロック25へ供給する。これらの差分または
現フレームデータは8×8画素のブロックとして供給さ
れ、ブロック単位でDCT処理が行われる。DPCMブ
ロック20からDCTブロック25へ供給されたこれら
のブロックのフォーマットは、フィールド/フレームD
CTモード信号に応じて決まる。フレームDCTモード
の場合、DPCMブロック20はフレームよりなるブロ
ックを供給し、フィールドDCTモードの場合には、D
CTブロック25がモードに応じてフィールドまたはフ
レーム単位のDCT処理を行うようにフィールドよりな
るブロックを供給する。Qブロック30に供給された量
子化パラメータは、量子化の粗さ(coarsenes
s)/稠密(fineness)を調節してバッファ6
0の占有率を制御する用いられる。
【0044】図2を参照すると、図1に示したコントロ
ーラ10の詳細なブロック図が示されている。
ーラ10の詳細なブロック図が示されている。
【0045】本発明のコントローラ10では、3つのタ
イプの決定に関連する全ての算術計算は、ステートマシ
ン120と、メモリ及びI/Oユニット150とを用い
て算術ユニット130にて行われる。
イプの決定に関連する全ての算術計算は、ステートマシ
ン120と、メモリ及びI/Oユニット150とを用い
て算術ユニット130にて行われる。
【0046】以後、この算術計算のための入力信号に対
して述べる。入力信号は「PIC_SYNC」、「MS
B」、「CLK」、「RESET」、「PIC_TYP
E」、「BUF_FULL」及び図1のDPCMブロッ
ク20からの差分フレームデータまたは現フレームデー
タ、等である。これらの入力信号のうちで、図2に示し
た制御ユニット110へ入力される「PIC_SYN
C」は各フレームの開始を表し、MSBはマクロブロッ
クの開始を表す。「RESET」及び「CLK」は各々
システム制御信号である。ステートマシン120へ入力
される「PIC_TYPE」は、3つのピクチャタイプ
(即ちI、PまたはB)のうちで現在処理されるフレー
ムがどのピクチャに属するかに対する信号を表す。「P
IC_SYNC」,「MBS」及び「PIC_TYP
E」は入力ビデオ映像ストリームから取り出される信号
を表す。「BUF_FULL」はバッファ60の状態を
表し、算術ユニット130へ入力される。
して述べる。入力信号は「PIC_SYNC」、「MS
B」、「CLK」、「RESET」、「PIC_TYP
E」、「BUF_FULL」及び図1のDPCMブロッ
ク20からの差分フレームデータまたは現フレームデー
タ、等である。これらの入力信号のうちで、図2に示し
た制御ユニット110へ入力される「PIC_SYN
C」は各フレームの開始を表し、MSBはマクロブロッ
クの開始を表す。「RESET」及び「CLK」は各々
システム制御信号である。ステートマシン120へ入力
される「PIC_TYPE」は、3つのピクチャタイプ
(即ちI、PまたはB)のうちで現在処理されるフレー
ムがどのピクチャに属するかに対する信号を表す。「P
IC_SYNC」,「MBS」及び「PIC_TYP
E」は入力ビデオ映像ストリームから取り出される信号
を表す。「BUF_FULL」はバッファ60の状態を
表し、算術ユニット130へ入力される。
【0047】上記の算術計算のためには多様な初期定数
値が必要である。そのような初期定数値はシステムデザ
インによって予め定められ、本発明のコントローラ10
に入力される。詳述すると、コントローラ10が算術計
算を行う前に、初期定数値はL90を介してメモリ及び
I/0ユニット150に入力される。上記式のうちで、
初期定数値は符号化過程の開始にてXi,Xp,Xb,
R,Nb及びNpの値とKp及びKbの値である。
値が必要である。そのような初期定数値はシステムデザ
インによって予め定められ、本発明のコントローラ10
に入力される。詳述すると、コントローラ10が算術計
算を行う前に、初期定数値はL90を介してメモリ及び
I/0ユニット150に入力される。上記式のうちで、
初期定数値は符号化過程の開始にてXi,Xp,Xb,
R,Nb及びNpの値とKp及びKbの値である。
【0048】制御ユニット110は入力信号に応じて、
制御信号をステートマシン120に供給する。制御ユニ
ット110は最初、コントローラ10にてピクチャ単位
の動作またはマクロブロック単位の動作が行われたかを
表す「PRCS_PIC_MB」を発生する。このピク
チャ単位の動作は上記式で各ピクチャ当り、マクロブロ
ック単位の動作は上記式で各マクロブロック当り各々行
われることをいう。ここで、ピクチャ単位の動作は式
(3A)〜(3C)、式(4A)〜(5)に基づいて行
われ、マクロブロック単位の動作は式(1A)、式(1
B)、式(2A)、式(2B)、式(7A)〜(7
C)、式(8)〜(13)によって行われる。その後、
制御ユニット110は現在処理されているマクロブロッ
クを表す「MBNUM」を生成して、算術ユニット13
0へ供給する。
制御信号をステートマシン120に供給する。制御ユニ
ット110は最初、コントローラ10にてピクチャ単位
の動作またはマクロブロック単位の動作が行われたかを
表す「PRCS_PIC_MB」を発生する。このピク
チャ単位の動作は上記式で各ピクチャ当り、マクロブロ
ック単位の動作は上記式で各マクロブロック当り各々行
われることをいう。ここで、ピクチャ単位の動作は式
(3A)〜(3C)、式(4A)〜(5)に基づいて行
われ、マクロブロック単位の動作は式(1A)、式(1
B)、式(2A)、式(2B)、式(7A)〜(7
C)、式(8)〜(13)によって行われる。その後、
制御ユニット110は現在処理されているマクロブロッ
クを表す「MBNUM」を生成して、算術ユニット13
0へ供給する。
【0049】入力信号(例えば、「PIC_TYPE」
及び「PRCS_PIC_MB」)に応じて、ステート
マシン120は、一連の制御シーケンスを生成して、算
術ユニット130とメモリ及びユニット150へ供給す
ることによって、算術ユニット130が上記式のうちの
何れか1つに基づいて計算を行うことになる。このステ
ートマシン120は、算術ユニット130がどの式に基
づいて計算を行うかによって予め定められている制御シ
ーケンスを発生するようにプログラムされ得る。
及び「PRCS_PIC_MB」)に応じて、ステート
マシン120は、一連の制御シーケンスを生成して、算
術ユニット130とメモリ及びユニット150へ供給す
ることによって、算術ユニット130が上記式のうちの
何れか1つに基づいて計算を行うことになる。このステ
ートマシン120は、算術ユニット130がどの式に基
づいて計算を行うかによって予め定められている制御シ
ーケンスを発生するようにプログラムされ得る。
【0050】メモリ及びI/Oユニット150は、ホス
トプロセッサ(図示せず)からのラインL90上の初期
定数値及び算術ユニット130からのラインL50上の
計算結果を受け取って格納する。ステートマシン120
からのラインL80上の制御シーケンスに応じて、メモ
リ及びI/Oユニット150は初期定数値と、計算結果
に含まれた臨時値及び最終値とをラインL60上に供給
する。この臨時値は上記式の幾つかの計算過程から得ら
れる値であり、他の幾つかの式において必要な値であ
り、かつ、前マクロブロック(または、ピクチャ)に対
する値を用いて、各マクロブロック(または、ピクチ
ャ)に対して更新される値である。詳述すると、最終値
を求める過程で算術ユニット130から供給される全て
の値をいう。
トプロセッサ(図示せず)からのラインL90上の初期
定数値及び算術ユニット130からのラインL50上の
計算結果を受け取って格納する。ステートマシン120
からのラインL80上の制御シーケンスに応じて、メモ
リ及びI/Oユニット150は初期定数値と、計算結果
に含まれた臨時値及び最終値とをラインL60上に供給
する。この臨時値は上記式の幾つかの計算過程から得ら
れる値であり、他の幾つかの式において必要な値であ
り、かつ、前マクロブロック(または、ピクチャ)に対
する値を用いて、各マクロブロック(または、ピクチ
ャ)に対して更新される値である。詳述すると、最終値
を求める過程で算術ユニット130から供給される全て
の値をいう。
【0051】上記式中で、Ti,Tp,Tb,R,dm i,
dm p及びdm bの値は、臨時値の例である。また、メモリ
及びI/Oユニット150は計算の最終結果(即ち、イ
ンタ/イントラモード、フィールド/フレームDCTモ
ード)、量子化パラメータを図1のDPCMブロック2
0及びQブロック30へ各々供給する。メモリ及びI/
Oユニット150の動作の詳細は図3を参照して、算術
ユニット130の動作の詳細は、図4〜図13を参照し
て、各々説明される。
dm p及びdm bの値は、臨時値の例である。また、メモリ
及びI/Oユニット150は計算の最終結果(即ち、イ
ンタ/イントラモード、フィールド/フレームDCTモ
ード)、量子化パラメータを図1のDPCMブロック2
0及びQブロック30へ各々供給する。メモリ及びI/
Oユニット150の動作の詳細は図3を参照して、算術
ユニット130の動作の詳細は、図4〜図13を参照し
て、各々説明される。
【0052】図3を参照すれば、図2に示したメモリ及
びI/Oユニット150の詳細なブロック図が示されて
いる。
びI/Oユニット150の詳細なブロック図が示されて
いる。
【0053】「HOST_DATA」は、算術ユニット
130で式に基づく計算を行うために用いられる初期定
数値を示す。「BIT_RATE」,「PICTURE
_RATE」,式(4A)〜(4C)のKp及びKbの
符号化過程の開始にて、Xi、Xp、Xb、R、Np、
Nb、d0i、dop、dobが「HOST_DAT
A」として供給される初期定数値の例である。これらの
初期定数値はホストプロセッサから供給される。このホ
ストプロセッサは例えば、システムデザインによって予
め定められている多様な初期定数値を格納し供給する機
能を果たす。映像シーケンスの符号化の開始際に、全て
の必要な定数は、ラインL90からMUX166を経て
RAM160に格納される。算術ユニット130にて初
期定数値が上記式を計算するに必要である場合、その初
期定数値がRAM160からラインL60を介して算術
ユニット130へ供給される。
130で式に基づく計算を行うために用いられる初期定
数値を示す。「BIT_RATE」,「PICTURE
_RATE」,式(4A)〜(4C)のKp及びKbの
符号化過程の開始にて、Xi、Xp、Xb、R、Np、
Nb、d0i、dop、dobが「HOST_DAT
A」として供給される初期定数値の例である。これらの
初期定数値はホストプロセッサから供給される。このホ
ストプロセッサは例えば、システムデザインによって予
め定められている多様な初期定数値を格納し供給する機
能を果たす。映像シーケンスの符号化の開始際に、全て
の必要な定数は、ラインL90からMUX166を経て
RAM160に格納される。算術ユニット130にて初
期定数値が上記式を計算するに必要である場合、その初
期定数値がRAM160からラインL60を介して算術
ユニット130へ供給される。
【0054】また、算術ユニット130から得られたた
計算結果はラインL50を介してMUX166に入力さ
れた後、RAM160に格納される。このような計算結
果の例が、R,Np,Nb,Ti,Tp,Tbである。Rは
(式5)に示したように、現GOPに割り当てられたビ
ットのうち残っている量であり、RAM160に格納さ
れた1つのフレームが符号化された後、算術ユニット1
30にて更新される。Np及びNbは現GOPに残ってい
るPピクチャ及びBピクチャの数で、式(4A)〜(4
C)によって目標ビット数Ti,Tp,Tbを計算するた
めに用いられる。さらに、式(1A)、式(1B)、式
(9)、式(10)及び式(11)の計算過程と式(2
A)及び式(2B)の計算結果から得られた複数の臨時
値は、RAM160へ伝送され格納される。これに関し
ては、図12を参照して説明する。
計算結果はラインL50を介してMUX166に入力さ
れた後、RAM160に格納される。このような計算結
果の例が、R,Np,Nb,Ti,Tp,Tbである。Rは
(式5)に示したように、現GOPに割り当てられたビ
ットのうち残っている量であり、RAM160に格納さ
れた1つのフレームが符号化された後、算術ユニット1
30にて更新される。Np及びNbは現GOPに残ってい
るPピクチャ及びBピクチャの数で、式(4A)〜(4
C)によって目標ビット数Ti,Tp,Tbを計算するた
めに用いられる。さらに、式(1A)、式(1B)、式
(9)、式(10)及び式(11)の計算過程と式(2
A)及び式(2B)の計算結果から得られた複数の臨時
値は、RAM160へ伝送され格納される。これに関し
ては、図12を参照して説明する。
【0055】「ST_WR_ADRS」(図3)は、算
術ユニット130からMUX166を介して入力された
データをRAM160に書き込まれるようにするアドレ
ス信号であり、「HOST_WR_ADRS」(図3)
は「HOST_DATA」をRAM160に書き込まれ
るようにするアドレス信号である。「ST_WR_E
N」と「HOST_WR_EN」とはRAM160にデ
ータを格納する際、アクティブ状態になるイネーブル信
号である。
術ユニット130からMUX166を介して入力された
データをRAM160に書き込まれるようにするアドレ
ス信号であり、「HOST_WR_ADRS」(図3)
は「HOST_DATA」をRAM160に書き込まれ
るようにするアドレス信号である。「ST_WR_E
N」と「HOST_WR_EN」とはRAM160にデ
ータを格納する際、アクティブ状態になるイネーブル信
号である。
【0056】初期定数値がRAM160に入力される
間、MUX162は「HOST_WR_ADRS」を,
MUX164は「HOST_WR_EN」を、MUX1
66は「HOST_DATA」を各々選択する。「HO
ST_WR_ADRS」は初期定数値が格納されるRA
M160のアドレスを表し、「HOST_WR_EN」
はアクティブ状態になる。同様に、算術ユニット130
からの計算結果がRAM160に入力される間、MUX
162は「ST_WR_ADRS」を,MUX164は
「ST_WR_EN」を、MUX166はL50上のデ
ータを、各々選択する。ここで、「ST_WR_ADR
S」は計算結果値が格納されるRAM160のアドレス
を表し、「ST_WR_EN」はアクティブ状態にな
る。
間、MUX162は「HOST_WR_ADRS」を,
MUX164は「HOST_WR_EN」を、MUX1
66は「HOST_DATA」を各々選択する。「HO
ST_WR_ADRS」は初期定数値が格納されるRA
M160のアドレスを表し、「HOST_WR_EN」
はアクティブ状態になる。同様に、算術ユニット130
からの計算結果がRAM160に入力される間、MUX
162は「ST_WR_ADRS」を,MUX164は
「ST_WR_EN」を、MUX166はL50上のデ
ータを、各々選択する。ここで、「ST_WR_ADR
S」は計算結果値が格納されるRAM160のアドレス
を表し、「ST_WR_EN」はアクティブ状態にな
る。
【0057】「RD ADRS」(図3)は、RAM1
60に格納されたデータを読み出して、算術ユニット1
30または図1のDPCMブロック20、Qブロック3
0へ供給する場合に用いられるアドレス信号である。詳
述すれば、初期定数値、算術ユニット130で決定され
た臨時値及び結果値はRAM160から読み出され、ラ
インL60を介して算術ユニット130に再度入力され
る。一方、3つの種類の決定の最終結果、即ち、インタ
ー/イントラモード、フィールド/フレームDCTモー
ド及び量子化パラメータ決定の結果Mquantmは図
1のDPCMブロック20、Qブロック30へ供給され
る。前述した「ST_WR_ADRS」、「HOST_
WR_ADRS」、「RD_ADRS」、「ST_WR
_EN」及び「HOST_WR_EN」は、ステートマ
シン120からラインL80を介して供給された制御シ
ーケンスの部分である。
60に格納されたデータを読み出して、算術ユニット1
30または図1のDPCMブロック20、Qブロック3
0へ供給する場合に用いられるアドレス信号である。詳
述すれば、初期定数値、算術ユニット130で決定され
た臨時値及び結果値はRAM160から読み出され、ラ
インL60を介して算術ユニット130に再度入力され
る。一方、3つの種類の決定の最終結果、即ち、インタ
ー/イントラモード、フィールド/フレームDCTモー
ド及び量子化パラメータ決定の結果Mquantmは図
1のDPCMブロック20、Qブロック30へ供給され
る。前述した「ST_WR_ADRS」、「HOST_
WR_ADRS」、「RD_ADRS」、「ST_WR
_EN」及び「HOST_WR_EN」は、ステートマ
シン120からラインL80を介して供給された制御シ
ーケンスの部分である。
【0058】図4を参照すれば、図2の算術ユニット1
30の詳細なブロック図が示されている。この算術ユニ
ット130は計算ユニット140及び処理ユニット18
0から構成されている。
30の詳細なブロック図が示されている。この算術ユニ
ット130は計算ユニット140及び処理ユニット18
0から構成されている。
【0059】計算ユニット140は、DPCMブロック
20からの差分フレームデータ及び現フレームデータを
受け取ると共に、処理ユニット180に第1組の臨時値
を供給する。ここで、差分フレームデータ及び現フレー
ムデータは対で構成され供給される。即ち、同じライン
に存在する2つの隣接する画素の値は、同じクロックサ
イクルの間に供給される。現フレームデータの画素値を
表すO(2i,j)及びO(2i+1、j)が一対にな
り、差分フレームデータの画素値を表すD(2i,j)
及びD(2i+1,j)が一対になる。ここで、i及び
jはフレーム内の画素の位置を表す整数である。計算ユ
ニット140から処理ユニット180へ供給された第1
組の臨時値は、図5〜図9及び図11を参照して説明す
る。
20からの差分フレームデータ及び現フレームデータを
受け取ると共に、処理ユニット180に第1組の臨時値
を供給する。ここで、差分フレームデータ及び現フレー
ムデータは対で構成され供給される。即ち、同じライン
に存在する2つの隣接する画素の値は、同じクロックサ
イクルの間に供給される。現フレームデータの画素値を
表すO(2i,j)及びO(2i+1、j)が一対にな
り、差分フレームデータの画素値を表すD(2i,j)
及びD(2i+1,j)が一対になる。ここで、i及び
jはフレーム内の画素の位置を表す整数である。計算ユ
ニット140から処理ユニット180へ供給された第1
組の臨時値は、図5〜図9及び図11を参照して説明す
る。
【0060】計算ユニット140からの第1組の臨時値
の他に、制御ユニット110からの「MB_NUM」、
バッファ60からの「BUF_FULL」及びステート
マシン120からの制御シーケンスは各々処理ユニット
180へ供給される。処理ユニット180は、計算結果
及び初期定数値のような多様なデータのやりとりのため
に、メモリ及びI/Oユニット150に接続されてい
る。
の他に、制御ユニット110からの「MB_NUM」、
バッファ60からの「BUF_FULL」及びステート
マシン120からの制御シーケンスは各々処理ユニット
180へ供給される。処理ユニット180は、計算結果
及び初期定数値のような多様なデータのやりとりのため
に、メモリ及びI/Oユニット150に接続されてい
る。
【0061】図5には、計算ユニット140の詳細なブ
ロック図が示されている。第1組の臨時値は画素値に関
連された複数の値(例えば、画素値の二乗値、またはハ
ーフブロック、1つのブロックまたはマクロブロックに
対して2つの画素値間の差分値)を加えて得られる値で
ある。ここで、ハーフブロックは図11に示した4つの
奇数番号ラインまたは4つの偶数番号ラインを表す。
ロック図が示されている。第1組の臨時値は画素値に関
連された複数の値(例えば、画素値の二乗値、またはハ
ーフブロック、1つのブロックまたはマクロブロックに
対して2つの画素値間の差分値)を加えて得られる値で
ある。ここで、ハーフブロックは図11に示した4つの
奇数番号ラインまたは4つの偶数番号ラインを表す。
【0062】図11には、4つのフレームよりなるブロ
ック(B1〜B4)を有するマクロブロックの例示的な
構造が示されている。ここで、各ブロックは2つのハー
フブロックを有する。ブロックB1はHB1(ハーフブ
ロック1)及びHB2(ハーフブロック2)を、ブロッ
クB2はHB3及びHB4を、B3はHB5及びHB6
を、ブロックB4はHB7及びHB8を各々備える。こ
こで、各奇数番目のハーフブロック(HB1、HB3、
HB5、HB7)は奇数番号のライン(ライン1、3、
5、7)を有し、各偶数番目のハーフブロック(HB
2、HB4、HB6、HB8)は偶数番号のライン(ラ
イン2、4、6、8)を有する。また、マクロブロック
は4つのフィールドよりなるブロック(B5、B6、B
7、B8)(図示せず)を有するように構成され得る。
ここで、ブロックB5はHB1(ハーフブロック1)及
びHB5(ハーフブロック2)を、ブロックB6はHB
2及びHB6を、B7はHB3及びHB7を、ブロック
B8はHB4及びHB8を各々備える。
ック(B1〜B4)を有するマクロブロックの例示的な
構造が示されている。ここで、各ブロックは2つのハー
フブロックを有する。ブロックB1はHB1(ハーフブ
ロック1)及びHB2(ハーフブロック2)を、ブロッ
クB2はHB3及びHB4を、B3はHB5及びHB6
を、ブロックB4はHB7及びHB8を各々備える。こ
こで、各奇数番目のハーフブロック(HB1、HB3、
HB5、HB7)は奇数番号のライン(ライン1、3、
5、7)を有し、各偶数番目のハーフブロック(HB
2、HB4、HB6、HB8)は偶数番号のライン(ラ
イン2、4、6、8)を有する。また、マクロブロック
は4つのフィールドよりなるブロック(B5、B6、B
7、B8)(図示せず)を有するように構成され得る。
ここで、ブロックB5はHB1(ハーフブロック1)及
びHB5(ハーフブロック2)を、ブロックB6はHB
2及びHB6を、B7はHB3及びHB7を、ブロック
B8はHB4及びHB8を各々備える。
【0063】元バラツキ計算ブロック200及びハーフ
ブロック累算ブロック300はハーフブロック単位で、
差分バラツキ計算ブロック600はブロック単位で、フ
レームバラツキ計算ブロック400及びフィールドバラ
ツキ計算ブロック500はマクロブロック単位で臨時値
を各々供給する。
ブロック累算ブロック300はハーフブロック単位で、
差分バラツキ計算ブロック600はブロック単位で、フ
レームバラツキ計算ブロック400及びフィールドバラ
ツキ計算ブロック500はマクロブロック単位で臨時値
を各々供給する。
【0064】元バラツキ計算ブロック200は、現フレ
ームデータのマクロブロックに含まれたk番目のハーフ
ブロックに含まれた画素値(例えば、32個)の二乗の
和を表す、「var_org(k)」を発生する。ここ
で、kは、マクロブロックに含まれたハーフブロックを
表すインデックスであって、1からMKまでの正の整数
である。MKは、マクロブロックに含まれたハーフブロ
ックの数(例えば、8)である。
ームデータのマクロブロックに含まれたk番目のハーフ
ブロックに含まれた画素値(例えば、32個)の二乗の
和を表す、「var_org(k)」を発生する。ここ
で、kは、マクロブロックに含まれたハーフブロックを
表すインデックスであって、1からMKまでの正の整数
である。MKは、マクロブロックに含まれたハーフブロ
ックの数(例えば、8)である。
【0065】差分バラツキ計算ブロック600は、差分
フレームデータのマクロブロックに含まれたl番目のブ
ロックに含まれた画素値(例えば、64個)の二乗の和
を表す、「var_dif(l)」を発生する。ここ
で、lはマクロブロックに含まれたフレームよりなるブ
ロックを表すインデックスであって、1から4までの整
数からなる。
フレームデータのマクロブロックに含まれたl番目のブ
ロックに含まれた画素値(例えば、64個)の二乗の和
を表す、「var_dif(l)」を発生する。ここ
で、lはマクロブロックに含まれたフレームよりなるブ
ロックを表すインデックスであって、1から4までの整
数からなる。
【0066】ハーフブロック累算ブロック300は、現
フレームデータの各ハーフブロックに含まれた画素値
(例えば、32個)の和を表すsum(k)を、処理ユ
ニット180へ供給する。
フレームデータの各ハーフブロックに含まれた画素値
(例えば、32個)の和を表すsum(k)を、処理ユ
ニット180へ供給する。
【0067】「var_dif(l)」は式(1A)を
計算するために用いられ、「var_org(k)」及
びsum(k)は、式(1B)及び式(10)を計算す
るために用いられる。これらの値を用いて、式(1
A)、式(1B)及び式(10)は次のように変更され
得る。 (VAR_DIF)= (1/256)Σ[l=1、ML]{var_dif(l)} 式(1A′ ) (VAR_ORG)= (1/256)Σ[k=1、MK]{var_org(k)−sum(k)} 式(1B′) (var_l1)= (1/64){Σ[k、ML]( var_org(k)) −Σ[k、ML]sum(k)} 式(10′) ここで、l1はフレーム単位のブロック及びフィールド
単位のブロックのうち1つを表すインデックスであっ
て、1〜MLの正の整数からなる。ここで、MLはマク
ロブロックに含まれた(フレーム単位のブロック及びフ
ィールド単位のブロックを有する)ブロックの数(例え
ば、8)を表す。また、式(10′)の和の計算はl1
番目のブロックに含まれたハーフブロックに対して行わ
れる。フレーム単位のブロック(B1)とフィールド単
位のブロック(B5)とに対して、式(10′)は次の
ように表される。
計算するために用いられ、「var_org(k)」及
びsum(k)は、式(1B)及び式(10)を計算す
るために用いられる。これらの値を用いて、式(1
A)、式(1B)及び式(10)は次のように変更され
得る。 (VAR_DIF)= (1/256)Σ[l=1、ML]{var_dif(l)} 式(1A′ ) (VAR_ORG)= (1/256)Σ[k=1、MK]{var_org(k)−sum(k)} 式(1B′) (var_l1)= (1/64){Σ[k、ML]( var_org(k)) −Σ[k、ML]sum(k)} 式(10′) ここで、l1はフレーム単位のブロック及びフィールド
単位のブロックのうち1つを表すインデックスであっ
て、1〜MLの正の整数からなる。ここで、MLはマク
ロブロックに含まれた(フレーム単位のブロック及びフ
ィールド単位のブロックを有する)ブロックの数(例え
ば、8)を表す。また、式(10′)の和の計算はl1
番目のブロックに含まれたハーフブロックに対して行わ
れる。フレーム単位のブロック(B1)とフィールド単
位のブロック(B5)とに対して、式(10′)は次の
ように表される。
【0068】(var_1)=(1/64){var_
org(1)+var_org(2)−sum(1)−
sum(2)} (var_5)=(1/64){var_org(1)
+var_org(5)−sum(1)−sum
(5)} フレームバラツキ計算ブロック400は上記式(2A)
によって(VAR_FRM)を発生し、フィールドバラ
ツキ計算ブロック500は式(2B)によって(VAR
_FLD)を発生する。
org(1)+var_org(2)−sum(1)−
sum(2)} (var_5)=(1/64){var_org(1)
+var_org(5)−sum(1)−sum
(5)} フレームバラツキ計算ブロック400は上記式(2A)
によって(VAR_FRM)を発生し、フィールドバラ
ツキ計算ブロック500は式(2B)によって(VAR
_FLD)を発生する。
【0069】(var_dif(l))、(var_o
rg(k))、sum(k)、(VAR_FRM)及び
(VAR_FLD)を有する第1組の臨時値は処理ユニ
ット180へ供給され、インター/イントラモード、フ
ィールド/フレームDCTモード及び量子化パラメータ
の決定に用いられる。
rg(k))、sum(k)、(VAR_FRM)及び
(VAR_FLD)を有する第1組の臨時値は処理ユニ
ット180へ供給され、インター/イントラモード、フ
ィールド/フレームDCTモード及び量子化パラメータ
の決定に用いられる。
【0070】図6を参照すれば、元バラツキ計算ブロッ
ク200の詳細なブロック図が示されている。この元バ
ラツキ計算ブロックは2つの二乗ブロック220a及び
220bと、加算器230と、ハーフブロック累算回路
205とから構成されている。現フレームデータ(O
(2i,j)、O(2i+1,j))はフレーム単位の
ブロックの形態で元バラツキ計算ブロック200へ供給
されるため、1つのフレーム単位のブロックに含まれた
2つのハーフブロックの2つの(var_org
(k))は該当フレーム単位のブロックに含まれた画素
値が供給された後に供給される。
ク200の詳細なブロック図が示されている。この元バ
ラツキ計算ブロックは2つの二乗ブロック220a及び
220bと、加算器230と、ハーフブロック累算回路
205とから構成されている。現フレームデータ(O
(2i,j)、O(2i+1,j))はフレーム単位の
ブロックの形態で元バラツキ計算ブロック200へ供給
されるため、1つのフレーム単位のブロックに含まれた
2つのハーフブロックの2つの(var_org
(k))は該当フレーム単位のブロックに含まれた画素
値が供給された後に供給される。
【0071】元バラツキ計算ブロック200の動作の詳
細を、ハーフブロックHB1及びHB2を有するブロッ
クB1に対して説明する。(var_org(1))及
び(var_org(2))を計算する前に、遅延ブロ
ック270a及び270bと計数回路290の内容は0
に初期化される。まず、O(0,0)の二乗は二乗ブロ
ック220aにて、O(1,0)の二乗は二乗ブロック
220bにて求められ、これら二乗値は加算器230に
て加算される。累算器240においては、この二乗の
和、O(0,0)2+O(1,0)2が「0」と加算され
る。この「0」は遅延ブロック270aからマルチプレ
クサMUX280を経て供給される。その後、累算結果
は、デマルチプレクサ(DEMUX)260を経て遅延
ブロック270aに供給される。同様に、O(2,0)
及びO(3,0)は二乗され加算されて、遅延ブロック
270aからのO(0,0)2+O(1,0)2に加算さ
れる。ブロックの第1ラインが処理される間、遅延ブロ
ック270aのみが用いられる。即ち、計数回路290
は、DEMUX260への入力が遅延ブロック270a
のみへ供給されるようにDEMUX260を制御すると
共に、MUX280が遅延ブロック270aからの入力
を選択するようにMUX280を制御する。同様に、第
1ラインに含まれた画素値(例えば、8個)の二乗の和
が遅延ブロック270aに格納される。
細を、ハーフブロックHB1及びHB2を有するブロッ
クB1に対して説明する。(var_org(1))及
び(var_org(2))を計算する前に、遅延ブロ
ック270a及び270bと計数回路290の内容は0
に初期化される。まず、O(0,0)の二乗は二乗ブロ
ック220aにて、O(1,0)の二乗は二乗ブロック
220bにて求められ、これら二乗値は加算器230に
て加算される。累算器240においては、この二乗の
和、O(0,0)2+O(1,0)2が「0」と加算され
る。この「0」は遅延ブロック270aからマルチプレ
クサMUX280を経て供給される。その後、累算結果
は、デマルチプレクサ(DEMUX)260を経て遅延
ブロック270aに供給される。同様に、O(2,0)
及びO(3,0)は二乗され加算されて、遅延ブロック
270aからのO(0,0)2+O(1,0)2に加算さ
れる。ブロックの第1ラインが処理される間、遅延ブロ
ック270aのみが用いられる。即ち、計数回路290
は、DEMUX260への入力が遅延ブロック270a
のみへ供給されるようにDEMUX260を制御すると
共に、MUX280が遅延ブロック270aからの入力
を選択するようにMUX280を制御する。同様に、第
1ラインに含まれた画素値(例えば、8個)の二乗の和
が遅延ブロック270aに格納される。
【0072】同様に、第2のラインに含まれた画素値
(例えば、8個)の二乗の和も計算されて、遅延ブロッ
ク270bに格納される。このために、ブロックの第2
ラインが処理される間、計数回路290は、DEMUX
260及びMUX280を制御して遅延ブロック270
bが用いられるようにする。
(例えば、8個)の二乗の和も計算されて、遅延ブロッ
ク270bに格納される。このために、ブロックの第2
ラインが処理される間、計数回路290は、DEMUX
260及びMUX280を制御して遅延ブロック270
bが用いられるようにする。
【0073】その後、奇数番目のラインに含まれた画素
値の二乗の和は遅延ブロック270aの内容に加えら
れ、偶数番目のラインに含まれた画素値の二乗の和は遅
延ブロック270bの内容に加えられて、「var_o
rg(1)」及び「var_org(2)」をメモリ2
50に供給する。詳述すれば、O(6,6)2 +O
(7,6)2が遅延ブロック270aの内容に加えられ
た後、(var_org(1))が累算器240からメ
モリ250へ供給され、O(6,7)2+O(7,7)2
が遅延ブロック270bの内容に加えられた後、(va
r_org(2))が累算器240でメモリ250に供
給される。メモリ250は(var_org(1))及
び(var_org(2))を処理ユニット180に供
給する。
値の二乗の和は遅延ブロック270aの内容に加えら
れ、偶数番目のラインに含まれた画素値の二乗の和は遅
延ブロック270bの内容に加えられて、「var_o
rg(1)」及び「var_org(2)」をメモリ2
50に供給する。詳述すれば、O(6,6)2 +O
(7,6)2が遅延ブロック270aの内容に加えられ
た後、(var_org(1))が累算器240からメ
モリ250へ供給され、O(6,7)2+O(7,7)2
が遅延ブロック270bの内容に加えられた後、(va
r_org(2))が累算器240でメモリ250に供
給される。メモリ250は(var_org(1))及
び(var_org(2))を処理ユニット180に供
給する。
【0074】図7を参照すれば、(var_dif
(l))を発生する、差分バラツキ計算ブロック600
の詳細なブロック図が示されている。ここで、1はマク
ロブロックに含まれたフレーム単位のブロックを表すイ
ンデックスを表す。元バラツキ計算ブロック200と異
なり、差分バラツキ計算ブロック600はフレーム単位
のブロックに含まれた全ての画素値の二乗の和を供給す
る。1つのブロックの画素が処理される前に、遅延ブロ
ック650及びカウンタ670の内容は0に初期化され
る。差分データ(0、0)は絶対値ブロック610a
に、D(1、0)は絶対値ブロック610bに供給され
て、その符号が除去される。このようにして、両二乗ブ
ロック620a及び620bは、符号値を取り扱う必要
がないため簡便に構成され得る。両二乗ブロック620
a及び620bからのD(0,0)2及びD(1,0)2
は加算器630にて加算された後、累算器640で遅延
ブロック650からの0に加算されることによって、加
算結果は遅延ブロック650に再度供給される。その
後、絶対値データD(2,0)2及びD(3,0)2は加
算器630にて加算され、累算器640にて、遅延ブロ
ック650からの絶対値データD(0,0)2+D
(1,0)2と加算されて、加算結果は遅延ブロック6
50に再度供給される。ブロック内の画素値の二乗が全
て加算された後、例えば、32クロックサイクルの後
に、(var_dif(l))はカウンタ670からの
制御信号に応じて、メモリ660に格納されて処理ユニ
ット180に供給される。
(l))を発生する、差分バラツキ計算ブロック600
の詳細なブロック図が示されている。ここで、1はマク
ロブロックに含まれたフレーム単位のブロックを表すイ
ンデックスを表す。元バラツキ計算ブロック200と異
なり、差分バラツキ計算ブロック600はフレーム単位
のブロックに含まれた全ての画素値の二乗の和を供給す
る。1つのブロックの画素が処理される前に、遅延ブロ
ック650及びカウンタ670の内容は0に初期化され
る。差分データ(0、0)は絶対値ブロック610a
に、D(1、0)は絶対値ブロック610bに供給され
て、その符号が除去される。このようにして、両二乗ブ
ロック620a及び620bは、符号値を取り扱う必要
がないため簡便に構成され得る。両二乗ブロック620
a及び620bからのD(0,0)2及びD(1,0)2
は加算器630にて加算された後、累算器640で遅延
ブロック650からの0に加算されることによって、加
算結果は遅延ブロック650に再度供給される。その
後、絶対値データD(2,0)2及びD(3,0)2は加
算器630にて加算され、累算器640にて、遅延ブロ
ック650からの絶対値データD(0,0)2+D
(1,0)2と加算されて、加算結果は遅延ブロック6
50に再度供給される。ブロック内の画素値の二乗が全
て加算された後、例えば、32クロックサイクルの後
に、(var_dif(l))はカウンタ670からの
制御信号に応じて、メモリ660に格納されて処理ユニ
ット180に供給される。
【0075】図8を参照すれば、ハーフブロック累算ブ
ロック300の詳細なブロック図が示されている。この
ハーフブロック累算ブロック300は、ハーフブロック
kに含まれた画素値の和を表すsum(k)を発生し、
加算器330と、図6に示した加算器230と同一の構
造を有するハーフブロック累算回路305とから構成さ
れている。よって、ハーフブロック累算回路300の動
作は、二乗値の代わりに画素値が累算されることを除い
ては、元バラツキ計算ブロック200と同一である。フ
レーム単位のブロックl(lは1、2、3または4)の
画素値を受け取った後、該ブロックに含まれた2つのハ
ーフブロックの画素値の和(即ち、sum(k)及びs
um(k+1))はメモリ350から処理ユニット18
0に供給される。ここで、Kは(2l−1)である。
ロック300の詳細なブロック図が示されている。この
ハーフブロック累算ブロック300は、ハーフブロック
kに含まれた画素値の和を表すsum(k)を発生し、
加算器330と、図6に示した加算器230と同一の構
造を有するハーフブロック累算回路305とから構成さ
れている。よって、ハーフブロック累算回路300の動
作は、二乗値の代わりに画素値が累算されることを除い
ては、元バラツキ計算ブロック200と同一である。フ
レーム単位のブロックl(lは1、2、3または4)の
画素値を受け取った後、該ブロックに含まれた2つのハ
ーフブロックの画素値の和(即ち、sum(k)及びs
um(k+1))はメモリ350から処理ユニット18
0に供給される。ここで、Kは(2l−1)である。
【0076】図9を参照すれば、「VAR_FRM」を
発生するフレームバラツキ計算ブロック400の詳細な
ブロック図が示されている。このフレームバラツキ計算
ブロック400は2つの遅延ブロック410a及び41
0bと、2つのバッファ412a及び412bと、コン
トローラ413と、2つのMUX414a及び414b
と、2つの減算器416a及び416bと、二乗及び累
算回路405とから構成されている。二乗及び累算回路
405は、図7の差分バラツキ計算ブロック600と動
作及び構造面が類似する。両遅延ブロック410a及び
410bは、その入力を1ラインのブロック(例えば、
8クロック)だけ遅延させるライン遅延素子である。両
バッファ412a及び412bは、1ラインのブロック
(例えば、8つの画素値)を格納し得る。式(2A)に
示したように、VAR_FRMはマクロブロック単位で
決定される。しかし、現フレームデータはブロック単位
で供給される。従って、式(1A)は入力データフォー
マットに合わせるために次の6つのサブ方程式に分けら
れる。
発生するフレームバラツキ計算ブロック400の詳細な
ブロック図が示されている。このフレームバラツキ計算
ブロック400は2つの遅延ブロック410a及び41
0bと、2つのバッファ412a及び412bと、コン
トローラ413と、2つのMUX414a及び414b
と、2つの減算器416a及び416bと、二乗及び累
算回路405とから構成されている。二乗及び累算回路
405は、図7の差分バラツキ計算ブロック600と動
作及び構造面が類似する。両遅延ブロック410a及び
410bは、その入力を1ラインのブロック(例えば、
8クロック)だけ遅延させるライン遅延素子である。両
バッファ412a及び412bは、1ラインのブロック
(例えば、8つの画素値)を格納し得る。式(2A)に
示したように、VAR_FRMはマクロブロック単位で
決定される。しかし、現フレームデータはブロック単位
で供給される。従って、式(1A)は入力データフォー
マットに合わせるために次の6つのサブ方程式に分けら
れる。
【0077】 (VAR_FRM(1))=Σ[i=1、8]Σ[j=2、8] {OB1(i、j−1)−OB1(i、j)}2 式(2A−1) (VAR_FRM(2))=(VAR_FRM(1))Σ[i=1、8] Σ[j=2、8]{OB2(i、j−1)−OB2(i、j)}2 式(2A−2) (VAR_FRM(3))=(VAR_FRM(2))Σ[i=1、8] {OB1(i、8)−OB3(i、j)}2 式(2A−3) (VAR_FRM(4))=(VAR_FRM(3))Σ[i=1、8] Σ[j=2、7]{OB3(i、j−1)−OB3(i、j)}2 式(2A−4) (VAR_FRM(5))=(VAR_FRM(4))Σ[i=1、8] {OB2(i、8)−OB4(i、j)}2 式(2A−5) (VAR_FRM(6))=(VAR_FRM(5))Σ[i=1、8] Σ[j=2、7]{OB4(i、j−1)−OB4(i、j)}2 式(2A−6) 上記式において、OB1(i,j)はフレーム単位のブロ
ックB1に、OB2(i,j)はフレーム単位のブロック
B2に、OB3(i,j)はフレーム単位のブロックB3
に、OB4(i,j)はフレーム単位のブロックB4に各
々含まれた画素値を表す。
ックB1に、OB2(i,j)はフレーム単位のブロック
B2に、OB3(i,j)はフレーム単位のブロックB3
に、OB4(i,j)はフレーム単位のブロックB4に各
々含まれた画素値を表す。
【0078】フレーム単位のブロックB1に含まれた画
素値は、遅延ブロック410a及び410bに入力さ
れ、例えば、8クロックサイクルの間遅延される。従っ
て、画素値O(0,0)がMUX414aを通じて減算
器416aに入力され、画素値O(1,0)がMUX4
14bとを通じて減算器416bに入力される際、画素
値O(0,1)は減算器416a減算器416bに入力
され、画素値O(1,1)は減算器416bに入力され
る。従って、減算器416aからの差値は絶対値ブロッ
ク418aへ、減算器416bからの差値は絶対値ブロ
ック418bへ供給されることになる。このような方法
で、フレーム単位のブロックB1の第2〜第8ラインが
フレームバラツキ計算ブロック400に入力される間、
B1の連続した2つのライン間の差が二乗及び累算ブロ
ック405にて累算されて、式(2A−1)の「VAR
_FRM(1)」を供給する。その後、B2の第1ライ
ンが入力される間、B1の最後ラインがコントローラ4
13からの制御信号に応じて、バッファ412a及び4
12bに格納される。OB1(0,7)、OB1(2,
7)、OB1(4,7)及びOB1(6,7)はバッファ4
12aに格納され、OB1(1,7)、OB1(3,7)、
OB1(5,7)及びOB1(7,7)はバッファ412b
に格納される。その後、B2の第2〜第8ラインが入力
される間、フレームバラツキ計算ブロック400は、式
(2Aー2)によってVAR_FRM(2)を計算す
る。ここで、B1またはB2の第1ラインがフレームバ
ラツキ計算ブロック400に入力される間、二乗及び累
算計算は行われないことに注目されたい。
素値は、遅延ブロック410a及び410bに入力さ
れ、例えば、8クロックサイクルの間遅延される。従っ
て、画素値O(0,0)がMUX414aを通じて減算
器416aに入力され、画素値O(1,0)がMUX4
14bとを通じて減算器416bに入力される際、画素
値O(0,1)は減算器416a減算器416bに入力
され、画素値O(1,1)は減算器416bに入力され
る。従って、減算器416aからの差値は絶対値ブロッ
ク418aへ、減算器416bからの差値は絶対値ブロ
ック418bへ供給されることになる。このような方法
で、フレーム単位のブロックB1の第2〜第8ラインが
フレームバラツキ計算ブロック400に入力される間、
B1の連続した2つのライン間の差が二乗及び累算ブロ
ック405にて累算されて、式(2A−1)の「VAR
_FRM(1)」を供給する。その後、B2の第1ライ
ンが入力される間、B1の最後ラインがコントローラ4
13からの制御信号に応じて、バッファ412a及び4
12bに格納される。OB1(0,7)、OB1(2,
7)、OB1(4,7)及びOB1(6,7)はバッファ4
12aに格納され、OB1(1,7)、OB1(3,7)、
OB1(5,7)及びOB1(7,7)はバッファ412b
に格納される。その後、B2の第2〜第8ラインが入力
される間、フレームバラツキ計算ブロック400は、式
(2Aー2)によってVAR_FRM(2)を計算す
る。ここで、B1またはB2の第1ラインがフレームバ
ラツキ計算ブロック400に入力される間、二乗及び累
算計算は行われないことに注目されたい。
【0079】その後、B3の第1ラインが入力される
間、B2の最後ラインがコントローラ413からの制御
信号に応じて、両バッファ412a及び412bに格納
される。OB2(0,7)、OB2(2,7)、OB2(4,
7)及びOB2(6,7)はバッファ412aに格納さ
れ、OB2(1,7)、OB2(3,7)、OB2(5,7)
及びOB2(7,7)はバッファ412bに格納される。
同時に、B1の最後ラインとB3の第1ラインとの間の
差値が二乗され加算されて、「VAR_FRM(3)」
を供給する。このために、OB3(i,0)が減算器41
6a及び416bに供給される間、MUX414a及び
414bはバッファ412a及び412bからのO
B1(i,7)をコントローラ413からの制御信号に応
じて減算器416a及び416bへ各々供給する。
間、B2の最後ラインがコントローラ413からの制御
信号に応じて、両バッファ412a及び412bに格納
される。OB2(0,7)、OB2(2,7)、OB2(4,
7)及びOB2(6,7)はバッファ412aに格納さ
れ、OB2(1,7)、OB2(3,7)、OB2(5,7)
及びOB2(7,7)はバッファ412bに格納される。
同時に、B1の最後ラインとB3の第1ラインとの間の
差値が二乗され加算されて、「VAR_FRM(3)」
を供給する。このために、OB3(i,0)が減算器41
6a及び416bに供給される間、MUX414a及び
414bはバッファ412a及び412bからのO
B1(i,7)をコントローラ413からの制御信号に応
じて減算器416a及び416bへ各々供給する。
【0080】同様に、B3の第2〜第7ラインが入力さ
れる間、フレームバラツキ計算ブロック400は「VA
R_FRM(4)」を計算し、B4の第1ラインが入力
される間には、B2の最後ラインとB4の第1ラインと
の間の差値が二乗され加算されて、「VAR_FRM
(5)」を供給し、B4の第2〜第7ラインが入力され
る間には、フレームバラツキ計算ブロック400は「V
AR_FRM」を計算する。
れる間、フレームバラツキ計算ブロック400は「VA
R_FRM(4)」を計算し、B4の第1ラインが入力
される間には、B2の最後ラインとB4の第1ラインと
の間の差値が二乗され加算されて、「VAR_FRM
(5)」を供給し、B4の第2〜第7ラインが入力され
る間には、フレームバラツキ計算ブロック400は「V
AR_FRM」を計算する。
【0081】前述した過程を可能にするために、コント
ローラ413は、多様な制御信号を発生する。例えば、
コントローラ413は書き込みアドレス信号、読取りア
ドレス信号及び書き込みイネーブル信号をバッファ41
2a及び412bへ供給すると共に、MUX414a及
び414bに選択信号を供給し、「VAR_FRM
(3)」と「VAR_FRM(5)」を計算する間、M
UX414aがバッファ412aからの画素値を選択
し、MUX414bがバッファ412bからの画素値を
選択し、且つ「VAR_FRM(1)」、「VAR_F
RM(2)」、「VAR_FRM(4)」及び「VAR
_FRM」を計算する間には、遅延ブロック410a及
び410bからの入力を選択するようにする。
ローラ413は、多様な制御信号を発生する。例えば、
コントローラ413は書き込みアドレス信号、読取りア
ドレス信号及び書き込みイネーブル信号をバッファ41
2a及び412bへ供給すると共に、MUX414a及
び414bに選択信号を供給し、「VAR_FRM
(3)」と「VAR_FRM(5)」を計算する間、M
UX414aがバッファ412aからの画素値を選択
し、MUX414bがバッファ412bからの画素値を
選択し、且つ「VAR_FRM(1)」、「VAR_F
RM(2)」、「VAR_FRM(4)」及び「VAR
_FRM」を計算する間には、遅延ブロック410a及
び410bからの入力を選択するようにする。
【0082】フィールドバラツキ計算ブロック500
(図示せず)のブロック図及びその動作は、フレームバ
ラツキ計算ブロック400と類似である。しかし、フィ
ールドバラツキ計算ブロック500に含まれた各遅延ブ
ロックは、その入力をブロックの2ラインだけ(例え
ば、16クロックサイクルだけ)遅延させるライン遅延
素子であり、各バッファはブロックの2ライン(例え
ば、16画素値)を格納し得る。
(図示せず)のブロック図及びその動作は、フレームバ
ラツキ計算ブロック400と類似である。しかし、フィ
ールドバラツキ計算ブロック500に含まれた各遅延ブ
ロックは、その入力をブロックの2ラインだけ(例え
ば、16クロックサイクルだけ)遅延させるライン遅延
素子であり、各バッファはブロックの2ライン(例え
ば、16画素値)を格納し得る。
【0083】図12を参照すれば、図4に示した処理ユ
ニット180の詳細なブロック図が示されている。
ニット180の詳細なブロック図が示されている。
【0084】制御ユニット110からの「MB_NU
M」及びバッファ60からの「BUF_FULL」はM
UX182aへ各々入力される。また、計算ユニット1
40からの第1組の臨時値もMUX182aへ入力され
る。前述したように、初期定数値及び臨時値はメモリ及
びI/Oユニット150から(詳しくは、図3のRAM
160)上に供給される。
M」及びバッファ60からの「BUF_FULL」はM
UX182aへ各々入力される。また、計算ユニット1
40からの第1組の臨時値もMUX182aへ入力され
る。前述したように、初期定数値及び臨時値はメモリ及
びI/Oユニット150から(詳しくは、図3のRAM
160)上に供給される。
【0085】「FR_EXT_SEL」、「REG_E
N_X」、「REG_EN_Y」、「CIN、OPER
ATION_SEL」、「FEED_BACK_SE
L」、「DIV_START」、「QUOT_EN」、
「TO_RAM_SEL」、「WINDOW_PNT」
及び「FR_RAM_PNT」は、図2のステートマシ
ン120からの制御シーケンスに含まれた制御信号であ
る。図4に示した処理ユニット180の各構成要素はこ
の制御シーケンスによって算術作業を行うように制御さ
れる。以下、制御信号の機能に対して説明する。
N_X」、「REG_EN_Y」、「CIN、OPER
ATION_SEL」、「FEED_BACK_SE
L」、「DIV_START」、「QUOT_EN」、
「TO_RAM_SEL」、「WINDOW_PNT」
及び「FR_RAM_PNT」は、図2のステートマシ
ン120からの制御シーケンスに含まれた制御信号であ
る。図4に示した処理ユニット180の各構成要素はこ
の制御シーケンスによって算術作業を行うように制御さ
れる。以下、制御信号の機能に対して説明する。
【0086】(1)「FR_RAM_PNT」(また
は、「WIN_PNT」) バレルシフタ181(または、186)へデータが入力
される場合に有効である。「FR_RAM_PNT」
(または、「WIN_PNT」)の値は、バレルシフタ
181(または、186)にて入力データがシフトされ
たビットの個数を表す。例えば、「FR_RAM_PN
T」が2の場合、バレルシフタ181の出力は入力の4
倍となる。
は、「WIN_PNT」) バレルシフタ181(または、186)へデータが入力
される場合に有効である。「FR_RAM_PNT」
(または、「WIN_PNT」)の値は、バレルシフタ
181(または、186)にて入力データがシフトされ
たビットの個数を表す。例えば、「FR_RAM_PN
T」が2の場合、バレルシフタ181の出力は入力の4
倍となる。
【0087】(2)「FR_EXT_SEL」(また
は、「FB_SEL」) MUX182a(または、182b)への入力の中の何
れか1つが選択されて、REGISTER(X)183
a(または、REGISTER(Y)183b)に供給
されるかを表す。
は、「FB_SEL」) MUX182a(または、182b)への入力の中の何
れか1つが選択されて、REGISTER(X)183
a(または、REGISTER(Y)183b)に供給
されるかを表す。
【0088】(3)「REG_EN_X」(または、
「REG_EN_Y」) データがREGISTER(X)183a(または、R
EGISTER(Y)183b)に格納される場合に有
効である信号である。
「REG_EN_Y」) データがREGISTER(X)183a(または、R
EGISTER(Y)183b)に格納される場合に有
効である信号である。
【0089】(4)「CIN,DIV_START」,
「QUOT_START」 計算ブロック184を制御するための信号である。
「QUOT_START」 計算ブロック184を制御するための信号である。
【0090】CINは、ADD(加算器)184aがR
EGISTER(X)183aとREGISTER
(Y)183bからの出力に対する加算結果を供給する
か、ここに加算結果を1だけ増加させるかを表す信号で
ある。
EGISTER(X)183aとREGISTER
(Y)183bからの出力に対する加算結果を供給する
か、ここに加算結果を1だけ増加させるかを表す信号で
ある。
【0091】「DIV_START」は除算動作の開始
をDIV(除算器)184dに知らせる信号である。
をDIV(除算器)184dに知らせる信号である。
【0092】「QUOT_EN」は除算の結果(即ち、
quotient)がいつDIV184dから出力され
るかを表す。この信号は除算動作の開始からDIV18
4dの遅延の後にイネーブルされなければならない。
quotient)がいつDIV184dから出力され
るかを表す。この信号は除算動作の開始からDIV18
4dの遅延の後にイネーブルされなければならない。
【0093】計算ブロック184に含まれた他のブロッ
ク、即ち、ADD184a,SUB(減算器)184b
及びMUL(乗算器)184cに対しては開始信号の初
期化は必要でないことに注意されたい。REGISTE
R(X)及び/またはREGISTER(Y)からデー
タを読み取り次第、ADD,SUB及びMULは開始信
号を待つことなく該当動作を行うことになる。また、A
DD,SUB及びMULに対しては、QUOT ENに
対応する信号も使用されないことに注目されたい。計算
の終了の際、ADD184a,SUB184b及びMU
L184cはその結果を出力する。ADD184a及び
SUB184bは遅延なしにその結果を出力し、DIV
184d及びMUL184cは予め定められた遅延の後
その結果を出力する。
ク、即ち、ADD184a,SUB(減算器)184b
及びMUL(乗算器)184cに対しては開始信号の初
期化は必要でないことに注意されたい。REGISTE
R(X)及び/またはREGISTER(Y)からデー
タを読み取り次第、ADD,SUB及びMULは開始信
号を待つことなく該当動作を行うことになる。また、A
DD,SUB及びMULに対しては、QUOT ENに
対応する信号も使用されないことに注目されたい。計算
の終了の際、ADD184a,SUB184b及びMU
L184cはその結果を出力する。ADD184a及び
SUB184bは遅延なしにその結果を出力し、DIV
184d及びMUL184cは予め定められた遅延の後
その結果を出力する。
【0094】(5)「OP_SEL」 MUX185が、計算ブロック184から得られた計算
結果の中の何れか1つを選択するようにする信号であ
る。計算ブロック184は、加、減、乗、除算を各々対
応するブロック(即ち、ADD184a,SUB184
b,MUL184c、DIV184d)を用いて行う。
この4つの計算以外にも、計算ブロック184はMUX
185と共に2つのデータ(即ち、REGISTER
(X)からのAとREGISTER(Y)からのB)を
比較する。比較動作は1つのデータ(B)を他のデータ
(A)から減算して減算結果の符号によってデータAま
たはデータBの中のいずれか一つを選択することによっ
て行われる。図12に示したように、SUB184bの
出力のMSBまたは符号ビットが「OP SEL」の1
つのビットを形成するため選択結果に影響を及ぼす。例
えば、符号が「+」の場合、データAがMUX185の
出力として選択され、符号が「−」の場合にはデータB
がMUX185の出力として選択される。
結果の中の何れか1つを選択するようにする信号であ
る。計算ブロック184は、加、減、乗、除算を各々対
応するブロック(即ち、ADD184a,SUB184
b,MUL184c、DIV184d)を用いて行う。
この4つの計算以外にも、計算ブロック184はMUX
185と共に2つのデータ(即ち、REGISTER
(X)からのAとREGISTER(Y)からのB)を
比較する。比較動作は1つのデータ(B)を他のデータ
(A)から減算して減算結果の符号によってデータAま
たはデータBの中のいずれか一つを選択することによっ
て行われる。図12に示したように、SUB184bの
出力のMSBまたは符号ビットが「OP SEL」の1
つのビットを形成するため選択結果に影響を及ぼす。例
えば、符号が「+」の場合、データAがMUX185の
出力として選択され、符号が「−」の場合にはデータB
がMUX185の出力として選択される。
【0095】(6)「TO_RAM_SEL」 処理ユニット180からのデータがRAM160に格納
される場合に有効な信号である。また、MUX187へ
の2つの入力(即ち、MUX182aからの入力とバレ
ルシフタ186からの入力)の中の何れか1つがRAM
160へ供給されるかを表す。
される場合に有効な信号である。また、MUX187へ
の2つの入力(即ち、MUX182aからの入力とバレ
ルシフタ186からの入力)の中の何れか1つがRAM
160へ供給されるかを表す。
【0096】まず、処理ユニット180のサブブロック
は、Tiを下記式を用いて求める例示的な過程が説明さ
れる。 Ti = max[R/(1+(Np×Xp / Xi×k
p )+(Nb×Nb/ Xi×kb ))×( BIT_RA
TE )/(8×(PICTURE_RATE))] まず、( Np×Xp )/( Xi×kp)を求める過程を
説明する。この過程は次の10個の過程から構成されて
いる。各過程では、その過程に割り当てられた作業を行
うためのステートマシン120からの制御信号が、その
機能と共に示されている。各過程に示されていない他の
制御信号は、「ドント・ケア(Don’t car
e)」の状態として、各過程に関係がない信号であるこ
とを意味する。
は、Tiを下記式を用いて求める例示的な過程が説明さ
れる。 Ti = max[R/(1+(Np×Xp / Xi×k
p )+(Nb×Nb/ Xi×kb ))×( BIT_RA
TE )/(8×(PICTURE_RATE))] まず、( Np×Xp )/( Xi×kp)を求める過程を
説明する。この過程は次の10個の過程から構成されて
いる。各過程では、その過程に割り当てられた作業を行
うためのステートマシン120からの制御信号が、その
機能と共に示されている。各過程に示されていない他の
制御信号は、「ドント・ケア(Don’t car
e)」の状態として、各過程に関係がない信号であるこ
とを意味する。
【0097】[1]RAM160からREGISTER
(X)183aへXiを読出す 「RD_ADRS」:RAM160でのXiのアドレス 「FR_RAM_PNT」:「0」(RAM160から
のデータに「2n」が乗じられないという意味、nは正
の整数) 「FR_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせて他の相関ないデー
タがREGISTER(X)の値Xiに重複して書き込
まれることを防止 [2]RAM160からREGISTER(Y)183
bへKpを読出す 「RD_ADRS」:RAM160でKpのアドレス 「FR_RAM_PNT」:「0」 「FB_SEL」:バレルシフタ181からの出力を選
択 「REG_EN_Y」:REGISTER(Y)183
bを1クロックサイクルの間イネーブルさせて、他の相
関のないデータがREGISTER(Y)の値Kpに重
複して書き込まれることを防止 [3]Npを読出し、Xi×Kpを開始 2つの作業が同時に行われる。Xi×Kpを開始するため
には、制御信号は必要でない。
(X)183aへXiを読出す 「RD_ADRS」:RAM160でのXiのアドレス 「FR_RAM_PNT」:「0」(RAM160から
のデータに「2n」が乗じられないという意味、nは正
の整数) 「FR_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせて他の相関ないデー
タがREGISTER(X)の値Xiに重複して書き込
まれることを防止 [2]RAM160からREGISTER(Y)183
bへKpを読出す 「RD_ADRS」:RAM160でKpのアドレス 「FR_RAM_PNT」:「0」 「FB_SEL」:バレルシフタ181からの出力を選
択 「REG_EN_Y」:REGISTER(Y)183
bを1クロックサイクルの間イネーブルさせて、他の相
関のないデータがREGISTER(Y)の値Kpに重
複して書き込まれることを防止 [3]Npを読出し、Xi×Kpを開始 2つの作業が同時に行われる。Xi×Kpを開始するため
には、制御信号は必要でない。
【0098】次はNpを読出すためである。
【0099】 「RD_ADRS」:RAM160でのNpのアドレス 「FR_RAM_PNT」:「0」 「FR_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
【0100】[4]RAM160からXpを読出す 「RD_ADRS」:RAM160でXpのアドレス 「FR_RAM_PNT」:「0」 「FB_SEL」:バレルシフタ181からの出力を選
択 「REG_EN_Y」:REGISTER(Y)を1ク
ロックサイクルの間イネーブルさせる。
択 「REG_EN_Y」:REGISTER(Y)を1ク
ロックサイクルの間イネーブルさせる。
【0101】[5]Np×Xpを開示 制御信号は必要でない [6]Xi×Kpを終了し、その結果をRAM160に書
き込む。
き込む。
【0102】「OP_SEL」:MUL184cの出力
を選択 「WIN_PNT」:「0」(MUX185からのデー
タにp「2n」が乗じられないという意味) 「TO_RAM_SEL」:バレルシフタ186の出力
を選択すると共に、選択値をRAM160へ供給 [7]RAM160からXi×Kpを読出す 「RD_ADRS」:RAM160でのXi×Kpのアド
レス 「FR_RAM_PNT」:「0」(RAM160から
の出力に「2n」が乗じられないという意味) 「FB_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
を選択 「WIN_PNT」:「0」(MUX185からのデー
タにp「2n」が乗じられないという意味) 「TO_RAM_SEL」:バレルシフタ186の出力
を選択すると共に、選択値をRAM160へ供給 [7]RAM160からXi×Kpを読出す 「RD_ADRS」:RAM160でのXi×Kpのアド
レス 「FR_RAM_PNT」:「0」(RAM160から
の出力に「2n」が乗じられないという意味) 「FB_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
【0103】[8]Np×Xpを終了し、その結果をRE
GISTER(Y)にフィードバック 「OP_SEL」:MUL184cの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
GISTER(Y)にフィードバック 「OP_SEL」:MUL184cの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_X」:REGISTER(X)を1ク
ロックサイクルの間イネーブルさせる。
【0104】「REG_EN_Y」:REGISTER
(Y)を1クロックサイクルの間イネーブルさせる。
(Y)を1クロックサイクルの間イネーブルさせる。
【0105】[9](Np×Xp)/(Xi×Kp)の開始 「DIV_START」:DIV184dに除算動作の
開始を知らせる [10](Np×Xp)/(Xi×Kp)を終了し、その結
果をRAM160に書き込む 「QUOT_EN」:除算結果をMUX185に供給 「OP_SEL」:DIV184dからの出力を選択 「WIN_PNT」:「0」 「TO_RAM_SEL」:バレルシフタ186からの
出力を選択し 「ST_WR_ADRS」:(Np×Xp)/(Xi×
Kp)が書き込まれたアドレス「 ST_WR_EN」:RAM160の書き込み動作をイ
ネーブルさせる 上記の各過程[1]から過程[10]を用いて、(Nb
×Xb)/(Xi×Kb)を計算し、RAM160に格納
する。その結果は、「FB_SEL」及び「REG_EN
_Y」によりREGISTER(Y)183bにも入力
される。しかる後、過程[11]から過程[17]まで
の過程が続かれる。
開始を知らせる [10](Np×Xp)/(Xi×Kp)を終了し、その結
果をRAM160に書き込む 「QUOT_EN」:除算結果をMUX185に供給 「OP_SEL」:DIV184dからの出力を選択 「WIN_PNT」:「0」 「TO_RAM_SEL」:バレルシフタ186からの
出力を選択し 「ST_WR_ADRS」:(Np×Xp)/(Xi×
Kp)が書き込まれたアドレス「 ST_WR_EN」:RAM160の書き込み動作をイ
ネーブルさせる 上記の各過程[1]から過程[10]を用いて、(Nb
×Xb)/(Xi×Kb)を計算し、RAM160に格納
する。その結果は、「FB_SEL」及び「REG_EN
_Y」によりREGISTER(Y)183bにも入力
される。しかる後、過程[11]から過程[17]まで
の過程が続かれる。
【0106】[11](Np×Xp)/(Xi×Kp)をR
EGISTER(X)183aへ読出す 上記過程[1]と類似である。このデータは過程[1
0]でRAM160に格納されたものである。
EGISTER(X)183aへ読出す 上記過程[1]と類似である。このデータは過程[1
0]でRAM160に格納されたものである。
【0107】[12](Nb×Xb)/(Xi×Kb)+
(Np×Xp)/(Xi×Kp)を計算して、その結果をR
EGISTER(Y)に供給 「CIN」:「1」を二つの出力の加算結果に加えられ
ることを表す 「OP_SEL」:ADD184aからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN Y」:1クロックサイクルの間イネー
ブル [13]RAM160からREGISTER(X)18
3aを読出す過程[1]と同様である [14]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp)) の計算を開始 「DIV_START」:DIV184dに除算動作の
開始を知らせる [15]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp)) の計算を終了し、その結果をREGISTER(Y)に
入力 「QUOT_EN」:除算結果をMUX185に供給 「OP_SEL」:DIV184dからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_Y」:1クロックサイクル間イネーブ
ル [16]RAM160からREGISTER(X)18
3aへの(BIT_RATE)/(8×(PICTUR
E RATE))の読み込み 過程[1]と同様である [17]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp))と、(BIT RATE)
/(8×(PICTURE_RATE))とを比較し、
より大きいほうを選択して、RAM160に格納する 「OP_SEL」:REGISTER(X)またはRE
GISTER(Y)の出力のうち1つをSUB184b
の出力及び符号ビット(または、MSB)によって選択
する 「WIN_PNT」:[0] 「FB_SEL」:バレルシフタ186からの出力を選
択 「TO_RAM_SEL」:バレルシフタ186からの
出力を選択 「ST_WR_ADRS」:Tiが書き込まれたアドレ
ス 「ST_WR_EN」:RAM160の書き込み動作を
イネーブルさせる 上記の過程を段階的に行うことによって、式(4A)の
Tiが計算されるが、これは加算、乗算、除算、比較演
算とRAM160からデータを読出し、RAM160に
該データを格納する動作を有する。
(Np×Xp)/(Xi×Kp)を計算して、その結果をR
EGISTER(Y)に供給 「CIN」:「1」を二つの出力の加算結果に加えられ
ることを表す 「OP_SEL」:ADD184aからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN Y」:1クロックサイクルの間イネー
ブル [13]RAM160からREGISTER(X)18
3aを読出す過程[1]と同様である [14]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp)) の計算を開始 「DIV_START」:DIV184dに除算動作の
開始を知らせる [15]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp)) の計算を終了し、その結果をREGISTER(Y)に
入力 「QUOT_EN」:除算結果をMUX185に供給 「OP_SEL」:DIV184dからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_Y」:1クロックサイクル間イネーブ
ル [16]RAM160からREGISTER(X)18
3aへの(BIT_RATE)/(8×(PICTUR
E RATE))の読み込み 過程[1]と同様である [17]R/(1+(Nb×Xb)/(Xi×Kb)+(N
p×Xp)/(Xi×Kp))と、(BIT RATE)
/(8×(PICTURE_RATE))とを比較し、
より大きいほうを選択して、RAM160に格納する 「OP_SEL」:REGISTER(X)またはRE
GISTER(Y)の出力のうち1つをSUB184b
の出力及び符号ビット(または、MSB)によって選択
する 「WIN_PNT」:[0] 「FB_SEL」:バレルシフタ186からの出力を選
択 「TO_RAM_SEL」:バレルシフタ186からの
出力を選択 「ST_WR_ADRS」:Tiが書き込まれたアドレ
ス 「ST_WR_EN」:RAM160の書き込み動作を
イネーブルさせる 上記の過程を段階的に行うことによって、式(4A)の
Tiが計算されるが、これは加算、乗算、除算、比較演
算とRAM160からデータを読出し、RAM160に
該データを格納する動作を有する。
【0108】以下の式によって「VAR_ORG」を計
算する過程を説明する。 (VAR_ORG)=(1/256)Σ[k=1、8] {(var_org(k))−sum(k)} 式( 1B′) 第1組の臨時値が演算ユニット140から生成される場
合、これは「FR EXT SEL」に応じて、MUX
182aに供給される。その後、これはMUX187を
経由して、RAM160に供給され格納される。ここ
で、kは1〜8の整数であり、「var_org
(k)」及び「sum(k)」がRAM180に格納さ
れた後には、「var_org」は次の過程を経て計算
される。
算する過程を説明する。 (VAR_ORG)=(1/256)Σ[k=1、8] {(var_org(k))−sum(k)} 式( 1B′) 第1組の臨時値が演算ユニット140から生成される場
合、これは「FR EXT SEL」に応じて、MUX
182aに供給される。その後、これはMUX187を
経由して、RAM160に供給され格納される。ここ
で、kは1〜8の整数であり、「var_org
(k)」及び「sum(k)」がRAM180に格納さ
れた後には、「var_org」は次の過程を経て計算
される。
【0109】[21]「var_org(1)」をRA
M160からREGISTER(X)183aに読み込
む 「RD_ADRS」:RAM160での「var_or
g(1)」のアドレス 「FR_RAM_PNT」:「0」 「FR_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)183
aを1クロックの間イネーブルさせる [22]「var_org(2)」をRAM160から
REGISTER(Y)183bに読み込む 「RD_ADRS」:RAM160で「var_org
(2)」のアドレス 「FR_RAM_PNT」:「0」 「FR_SEL」:バレルシフタ181からの出力を選
択 「REG_EN_Y」:REGISTER(Y)183
bを1クロックの間イネーブルさせる [23](var_org(1))+(var_org
(2))を計算して、その結果をREGISTER
(Y)に格納 「CIN」:「1」が2つの加算結果に加えられないこ
とを意味 「OP_SEL」:ADD184aからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_Y」:REGISTER(Y)を1ク
ロックの間イネーブルさせる [24]「var_org(3)」をRAM160から
REGISTER(X)183aへ読み込」 過程[21]と同様である [25](var_org(3))+(REGISTE
R(Y)183bの内容)を計算して、その結果をRE
GISTER(Y)に格納 過程[23]と同様である [26]「var_org(4)」をRAM160から
REGISTER(X)183aへ読み込み 、{(v
ar_org(4))+(REGISTER(Y)18
3Bの内容)}を計算して、その結果をRAM160に
格納 同様に、「var_org(k)」(kは1〜8の整
数)の和を求めて、RAM160に格納し得る。その
後、sum(k)(kは1〜8の整数)の和を同様なな
方法で求めて、REGISTER(Y)に格納し、次の
過程を行う。
M160からREGISTER(X)183aに読み込
む 「RD_ADRS」:RAM160での「var_or
g(1)」のアドレス 「FR_RAM_PNT」:「0」 「FR_EXT_SEL」:バレルシフタ181からの
出力を選択 「REG_EN_X」:REGISTER(X)183
aを1クロックの間イネーブルさせる [22]「var_org(2)」をRAM160から
REGISTER(Y)183bに読み込む 「RD_ADRS」:RAM160で「var_org
(2)」のアドレス 「FR_RAM_PNT」:「0」 「FR_SEL」:バレルシフタ181からの出力を選
択 「REG_EN_Y」:REGISTER(Y)183
bを1クロックの間イネーブルさせる [23](var_org(1))+(var_org
(2))を計算して、その結果をREGISTER
(Y)に格納 「CIN」:「1」が2つの加算結果に加えられないこ
とを意味 「OP_SEL」:ADD184aからの出力を選択 「WIN_PNT」:「0」 「FB_SEL」:バレルシフタ186からの出力を選
択 「REG_EN_Y」:REGISTER(Y)を1ク
ロックの間イネーブルさせる [24]「var_org(3)」をRAM160から
REGISTER(X)183aへ読み込」 過程[21]と同様である [25](var_org(3))+(REGISTE
R(Y)183bの内容)を計算して、その結果をRE
GISTER(Y)に格納 過程[23]と同様である [26]「var_org(4)」をRAM160から
REGISTER(X)183aへ読み込み 、{(v
ar_org(4))+(REGISTER(Y)18
3Bの内容)}を計算して、その結果をRAM160に
格納 同様に、「var_org(k)」(kは1〜8の整
数)の和を求めて、RAM160に格納し得る。その
後、sum(k)(kは1〜8の整数)の和を同様なな
方法で求めて、REGISTER(Y)に格納し、次の
過程を行う。
【0110】[27]「var_org(k)」の和を
RAM160からREGISTER(X)へ読み込む [28]REGISTER(Y)の内容をREGIST
ER(X)の内容から減算し、その結果を256で除算
し、その結果をRAM160に格納 「OP_SEL」:SUB184bからの出力を選択 「WIN_PNT」:「−8」(MUX185からの出
力を28 で除算することを表す) 「TO_RAM_SEl」:バレルシフタ186からの
出力を選択し、これをRAM160に供給する。
RAM160からREGISTER(X)へ読み込む [28]REGISTER(Y)の内容をREGIST
ER(X)の内容から減算し、その結果を256で除算
し、その結果をRAM160に格納 「OP_SEL」:SUB184bからの出力を選択 「WIN_PNT」:「−8」(MUX185からの出
力を28 で除算することを表す) 「TO_RAM_SEl」:バレルシフタ186からの
出力を選択し、これをRAM160に供給する。
【0111】かくして、「VAR_ORG」が求められ
る。ほかの方程式も類似な方法で行われ得る。各方程式
の結果を用いることによって、本発明のコントローラ1
0は上記の3つのタスクを実現することができる。
る。ほかの方程式も類似な方法で行われ得る。各方程式
の結果を用いることによって、本発明のコントローラ1
0は上記の3つのタスクを実現することができる。
【0112】上述において、本発明の特定の実施例につ
いて説明したが、本発明の範囲を逸脱することなく当業
者は種々の改変をなし得るであろう。
いて説明したが、本発明の範囲を逸脱することなく当業
者は種々の改変をなし得るであろう。
【0113】
【発明の効果】従って、本発明によれば、量子化パラメ
ータを計算すると共に、インタ/イントラモード及びフ
ィールド/フレームDCTモードを容易に決定すること
ができる。
ータを計算すると共に、インタ/イントラモード及びフ
ィールド/フレームDCTモードを容易に決定すること
ができる。
【図1】本発明のコントローラが組み込まれた従来の映
像信号符号化システムのブロック図。
像信号符号化システムのブロック図。
【図2】本発明のコントローラの詳細なブロック図。
【図3】図2に示したメモリ及びI/Oユニットのブロ
ック図。
ック図。
【図4】図2に示した算術ユニットの詳細なブロック
図。
図。
【図5】図4に示した計算ユニットの詳細なブロック
図。
図。
【図6】図5に示した元バラツキ計算ブロックの詳細な
ブロック図。
ブロック図。
【図7】図5に示した差分バラツキ計算ブロックの詳細
なブロック図。
なブロック図。
【図8】図5に示したハーフブロック累算ブロックの詳
細なブロック図。
細なブロック図。
【図9】図5に示したフレームバラツキ計算ブロックの
詳細なブロック図。
詳細なブロック図。
【図10】「VAR−DIF」及び「VAR−ORG」
を用いて、インタ/イントラモードを決定する過程を説
明するための模式図。
を用いて、インタ/イントラモードを決定する過程を説
明するための模式図。
【図11】図6〜図8に示した計算ブロックから求めら
れた「var−org(k)」、「sum(k)」及び
「var−dif(l)」を説明するため模式図。
れた「var−org(k)」、「sum(k)」及び
「var−dif(l)」を説明するため模式図。
【図12】図4に示した処理ユニットの詳細なブロック
図。
図。
10 コントローラ 20 DPCMブロック(DPCM) 25 DCTブロック(DCT) 30 量子化ブロック(Q) 35 エントロピー符号化器 40 逆量子化ブロック(IQ) 45 逆DCTブロック(IDCT) 50 動き推定及び補償ブロック(MC) 60 バッファ 110 制御ユニット 120 ステートマシン 130 算術ユニット 140 計算ユニット 150 メモリ及びI/Oユニット 160 RAM 162、164、166 マルチプレクサ(MUX) 180 処理ユニット 181 バレルシフタ 182a、182b マルチプレクサ(MUX) 183a、183b レジスター 184a 加算器(ADD) 184b 減算器(SUB) 184c 掛算器(MUL) 184d わり算器(DIV) 185 マルチプレクサ(MUX) 186 バレルシフタ 200 元バラツキ計算ブロック 220a、220b 二乗ブロック 230 加算器 240 累算器 250 メモリ 260 ディマルチプレクサ(DMUX) 270a、270b 遅延ブロック 280 マルチプレクサ(MUX) 290 カウンタ 300 ハーフブロック累算ブロック 340 累算器 350 メモリ 360 ディマルチプレクサ(DMUX) 380 マルチプレクサ(MUX) 390 カウンタ 400 フレームバラツキ計算ブロック 410a、410b 遅延ブロック 412a、412b バッファ 413 コントローラ 414a、414b マルチプレクサ(MUX) 420a、420b 二乗ブロック 430 加算器 440 累算器 450 遅延ブロック 460 メモリ 470 カウンタ 500 フィールドバラツキ計算ブロック 600 差分バラツキ計算ブロック 610a、610b 絶対値ブロック 620a、620b 二乗ブロック 630 加算器 640 累算器 650 遅延ブロック 660 メモリ 670 カウンタ
Claims (22)
- 【請求項1】 映像信号符号化システムに用いられ、
インタ/イントラモード、フィールド/フレームDCT
モード、及び量子化パラメータを決定する映像信号符号
化システム用コントローラであって、前記映像信号は、
各々が3つの種類のフレームに分けられる複数のGOP
を有し、前記各フレームは各々が複数のブロックからな
る複数のマクロブロックに分けられ、前記各ブロックは
奇数番目のラインのハーフブロック及び偶数番目のライ
ンのハーフブロックを有し、前記映像信号符号化システ
ムはマクロブロック単位で前記映像信号を符号化する、
前記映像信号符号化システム用コントローラが、 現フレームの開始及び種類を示す信号に応じて、複数の
制御信号からなる制御シーケンスを発生する制御シーケ
ンスを発生手段と、 第1群の予め決められた方程式を計算して、第1組の値
を求める算術ユニットと、 前記制御シーケンス及び前記第1組の値に応じて、前記
現フレームでの前記マクロブロックに対する制御値の組
を、現在符号化されたマクロブロックの一連の番号及び
予め決められた初期定数値に基づいて第2群の予め決め
られた方程式を計算することによって、求める処理手段
であって、前記制御値の組は前記インタ/イントラモー
ド、前記フィールド/フレームDCTモード、及び前記
量子化パラメータを示す、前記処理手段と、 前記初期定数値の格納、前記初期定数値の前記処理手段
への供給、前記処理手段で求められた前記制御値の組の
格納、及び映像信号の符号化の際に用いられる前記制御
値の供給するメモリ及び入出力ユニットとを含むことを
特徴とする映像信号符号化システム用コントローラ。 - 【請求項2】 前記メモリ及び入出力ユニットが、 前記初期定数値及び前記制御値を格納するメモリ手段
と、 前記制御シーケンスに応じて、前記制御値及び前記初期
定数値を供給する読出し手段と、 前記制御シーケンスに応じて、前記制御値を前記メモリ
手段へ入力して格納する書き込み手段とを有することを
特徴とする請求項1記載の映像信号符号化システム用コ
ントローラ。 - 【請求項3】 前記制御シーケンスが、 前記初期定数値及び前記制御値が格納される前記メモリ
手段内の位置を表す書き込みアドレス信号と、 前記初期定数値または前記制御値が前記メモリ手段に格
納される時、アクティブ状態になる書き込みイネーブル
信号と、 前記初期定数値及び前記制御値が前記メモリ手段から供
給される位置を表す読出しアドレス信号とからなること
を特徴とする請求項2記載の映像信号符号化システム用
コントローラ。 - 【請求項4】 前記処理手段が、前記第2群の予め決
められた方程式を計算して求められたテンポラリデータ
を更に発生し、 前記テンポラリデータも前記メモリ手段に格納され、 前記読出し手段が前記制御シーケンスに応じて、前記テ
ンポラリデータを前記算術ユニットに更に供給し、 前記書き込み手段が前記制御シーケンスに応じて、前記
テンポラリデータを更に前記メモリ手段へ供給して格納
することを特徴とする請求項2に記載の映像信号符号化
システム用コントローラ。 - 【請求項5】 前記制御シーケンスが、 前記初期定数値、前記制御値、及び前記テンポラリデー
タが格納される前記メモリ手段内の位置を表す書き込み
アドレス信号と、 前記初期定数値、前記制御値、または前記前記テンポラ
リデータのうちの何れか1つが前記メモリ手段に格納さ
れる時、アクティブ状態になる書き込みイネーブル信号
と、 前記初期定数値、前記制御値、または前記前記テンポラ
リデータのうちの何れか1つが供給される前記メモリ手
段内の位置を表す読出しアドレス信号とからなることを
特徴とする請求項4に記載の映像信号符号化システム用
コントローラ。 - 【請求項6】 前記処理手段が、 第1組の入力値の中から第1入力値を選択する第1入力
手段と前記第1入力手段から選択された前記第1入力値
からなる第2組の入力値のうちから第2入力値を選択す
る第2入力手段と、 前記第1入力値及び前記第2入力値を各々格納する第1
及び第2レジスタと、 前記第1及び第2入力値に対し、加算、減算、乗算、除
算及び比較を行って、加算結果、減算結果、乗算結果、
除算結果、及び比較結果からなる計算結果の組を供給す
る計算手段と 前記計算結果のうちの何れか1つを選択する選択手段
と、 前記選択された計算結果または前記第1入力値を、前記
第2組の入力値のうちの何れか1つとして前記第2入力
手段へ供給するか、あるいは前記メモリ及び入出力ユニ
ットへ供給する出力手段とを有することを特徴とする請
求項1に記載の映像信号符号化システム用コントロー
ラ。 - 【請求項7】 前記計算手段が、 前記第1入力値と前記第2入力値とを加えることによっ
て、前記加算結果を供給する加算手段と、 前記第1入力値から前記第2入力値を減算して、符号及
び絶対値からなる減算結果を供給する減算手段と、 前記第1入力値及び前記第2入力値が入力されてから予
め定められた第1遅延時間の経過した後に、前記第1入
力値と前記第2入力値とを乗じて、乗算結果を供給する
乗算手段と、 前記第1入力値及び前記第2入力値が入力されてから予
め定められた第2遅延時間の経過した後に、前記第1入
力値を前記第2入力値で除算して、除算結果を供給する
除算手段とを有することを特徴とする請求項6に記載の
映像信号符号化システム用コントローラ。 - 【請求項8】 前記処理手段が、 第1組の入力値のうちから第1入力値を選択する第1入
力手段と前記第1入力手段によって選択された前記第1
入力値からなる第2の組の入力値のうちから第2入力値
を選択する第2入力手段と、 前記第1入力値と前記第2入力値を各々格納する第1及
び第2レジスタと、 前記第1入力値及び前記第2入力値に対し、加算、減
算、乗算、除算及び比較を行って、加算結果、減算結
果、乗算結果、除算結果、及び比較結果からなる決算結
果の組を供給する計算手段と、 前記計算結果のうちの何れか1つを選択する選択手段
と、 前記選択された計算結果または前記第1入力値を、前記
第2の組の入力値のうちの何れか1つとして前記第2入
力手段へ供給するか、あるいは前記メモリ及び入出力ユ
ニットへ供給する出力手段とを備え、 前記計算手段が、 前記第1入力値と前記第2入力値とを加えて、加算結果
を供給する加算手段と、 前記第1入力値から前記第2入力値を減算して、符号及
び絶対値からなる減算結果を供給する減算手段と、 前記第1入力値及び前記第2入力値が入力されてから予
め定められた第1遅延時間の経過した後に、前記第1入
力値と前記第2入力値とを乗じて、乗算結果を供給する
乗算手段と、 前記第1入力値及び前記第2入力値が入力されてから予
め定められた第2遅延時間の経過した後に、前記第1入
力値を前記第2入力値で除算して、除算結果を供給する
除算手段とを有することを特徴とする請求項3記載の映
像信号符号化システム用コントローラ。 - 【請求項9】 前記制御シーケンスが、 前記第1入力手段が前記第1入力値を選択し、前記第2
入力手段が前記第2入力値を選択するようにする第1及
び第2入力選択信号と、 前記第1レジスタに前記第1入力値が格納されるよう前
記第1レジスタをイネーブルさせ、前記第2レジスタに
前記第2入力値が格納されるよう前記第2レジスタをイ
ネーブルさせる第1及び第2レジスタイネーブル信号
と、 前記加算手段が前記加算結果に1を加えるか否かを表す
加算制御信号と、 前記除算手段が除算動作を開始するようにする除算開始
信号と、 前記除算手段による除算動作の終了を示す除算終了信号
と、 前記選択手段が前記計算結果のうちの何れか1つを選択
するようにする動作選択信号であって、前記比較結果が
選択される場合、前記選択手段は該動作選択信号及び前
記減算結果の符号に応じて、前記第1入力値または前記
第2入力値の何れかを選択する動作選択信号と、 前記出力手段が、前記選択された計算結果または前記第
1入力値を前記第2組の入力値のうちの何れか1つとし
て、前記第2入力手段へ供給するか、あるいは前記メモ
リ及び入出力ユニットへ供給するようにする選択信号と
からなることを特徴とする請求項8に記載の映像信号符
号化システム用コントローラ。 - 【請求項10】 1つの処理マクロブロックに含まれ
た画素値がO(i,j)として表現され、i及びjは前
記処理マクロブロック内の画素の位置を各々表し、iは
1から(M1+1)までの正の整数からなり、jは1か
ら(M2+1)までの正の整数からなり、M1はマクロ
ブロックのラインに含まれた画素の個数を表し、M2は
マクロブロックに含まれたラインの個数を表し、 前記第1組の値は、 前記映像信号の各ハーフブロックに含まれた画素値の二
乗の和である第1値と、 各ブロックで前記映像信号と動き補償技法によって求め
られた予測映像信号との間の差値である、差分データに
含まれた画素値の二乗の和である第2値と、 前記映像信号の各ハーフブロックに含まれた画素値の和
である第3値と、 Σ[i=0、M1−1]Σ[j=0、M2−3] {O(i、j)−O(i、j+1)}2 (ここで、Σ[i=0、I]Σ[j=0、J]a(i,
j)=a(0,0)+a(0,1)+…+a(0,J)
+a(1,0)+…+a(1,J)+…+a(I、0)
+…+a(I,J)) 上記式のように定義される第4値と、 Σ[i=0、M1−1]Σ[j=0、M2−3] {O(i、j)−O(i、j+2)}2 上記式のように定義される第5値とからなることを特徴
とする請求項1に記載の映像信号符号化システム用コン
トローラ。 - 【請求項11】 前記計算ユニットが、 処理ブロックに含まれた各画素値を乗算して、複数の乗
算画素値を供給する乗算手段と、 2つの乗算画素値を加えて、2つの乗算画素値の和を順
に供給する加算器と、 2つの乗算画素値の和を累算して、前記処理ブロックに
含まれた2つのハーフブロックの各々に対する前記第1
値を供給する累算手段とから構成される第1計算手段と
を有することを特徴とする請求項10に記載の映像信号
符号化システム用コントローラ。 - 【請求項12】 前記累算手段が、 2つの乗算画素値の和を帰還値と加えて、部分和または
前記第1値を供給する累算器と、 前記部分和を格納する2つのメモリ手段と、 第1制御信号に応じて、2つのメモリ手段の内容の1つ
に前記部分和を供給させる部分和供給手段と、 第2制御信号に応じて、2つのメモリ手段の内容の1つ
を選択すると共に、選択値を前記帰還値として供給する
選択手段と、 第3制御信号に応じて、前記累算器の出力を格納すると
共に、格納された前記第1値を前記処理手段に供給する
格納手段と、 前記第1、第2及び第3制御信号を発生する制御信号発
生手段とを有することを特徴とする請求項11に記載の
映像信号符号化システム用コントローラ。 - 【請求項13】 前記計算ユニットが、 前記差分データの処理ブロックに含まれた各画素値を乗
算して、乗算された画素値を供給する乗算手段と、 乗算手段からの2つの乗算画素値を加えて、2つの乗算
画素値の和を順に供給する加算手段と、 2つの乗算画素値の和を帰還値と加えて、部分和または
前記第2値を供給する累算器と、 前記部分和を格納すると共に、前記格納された部分和を
前記帰還値として供給するメモリ手段と、 前記累算器の出力を格納すると共に、制御信号に応じ
て、そこに格納された前記第2値を前記処理手段に供給
する格納手段と、 前記制御信号を発生する制御信号発生手段とから構成さ
れる第2計算手段とを更に有することを特徴とする請求
項10に記載の映像信号符号化システム用コントロー
ラ。 - 【請求項14】 前記計算ユニットが、 処理ブロックに含まれた2つの画素値を加えて、2つの
画素値の和を順に供給する加算手段と、 前記2つの画素値の和を累算して、前記処理ブロックに
含まれた2つのハーフブロックの各々に対して、前記第
3値を供給する累算手段とから構成される第3計算手段
とを更に有することを特徴とする請求項10に記載の映
像信号符号化システム用コントローラ。 - 【請求項15】 前記累算手段が、 2つの画素値の和を前記帰還値と加えて、部分和または
前記第3値を供給する累算器と、 前記部分和を格納する2つのメモリ手段と、 第1制御信号に応じて、前記部分和を前記2つのメモリ
手段のうち1つに供給する部分和供給手段と、 第2制御信号に応じて、前記2つのメモリ手段の内容の
うち1つを選択し、それを前記帰還値として供給する選
択手段と、 前記累算器の出力を格納すると共に、第3制御信号に応
じて、そこに格納された前記第3値を前記処理手段に供
給する格納手段と、 前記第1、第2及び第3制御信号を発生する制御信号発
生手段とを有することを特徴とする請求項14に記載の
映像信号符号化システム用コントローラ。 - 【請求項16】 前記計算ユニットが、 処理マクロブロックに含まれた各ブロック内の画素値を
遅延させて、遅延された画素値を供給する遅延手段と、 第1制御信号に応じて、前記遅延された画素値を格納す
る格納手段と、 第2制御信号に応じて、前記格納され遅延された画素値
または前記遅延された画素値を、選択された画素値とし
て供給する選択手段と、 前記第1及び第2制御信号を発生する制御信号発生手段
と、 前記画素値の各々を前記選択された画素値から減算し
て、差値を供給する減算手段と、 前記差値の各々を乗算すると共に、前記乗算された差分
値を加えて前記第4値を供給する累算手段とを有するこ
とを特徴とする請求項10に記載の映像信号符号化シス
テム用コントローラ。 - 【請求項17】 前記累算手段が、 前記差分値の各々を乗算して、乗算された差分値を供給
する乗算手段と、 2つの乗算された差分値を加えて、それらの和を順に供
給する加算器と、 2つの乗算された差分値の和と帰還値とを加えて、部分
和または前記第4値を供給する累算器と、 前記部分和を格納すると共に、そこに格納された部分和
を前記帰還値として格納するメモリ手段と、 前記累算器の出力を格納すると共に、第3制御信号に応
じて、そこに格納された前記第4値を前記処理手段に供
給する格納手段と、 前記第3制御信号を発生する制御信号発生手段とを有す
ることを特徴とする請求項16に記載の映像信号符号化
システム用コントローラ。 - 【請求項18】 前記遅延手段が、前記画素値をブロ
ックに含まれた1つのラインの画素だけ遅延させ、前記
格納手段がM1個のメモリ空間を有することを特徴とす
る請求項17に記載の映像信号符号化システム用コント
ローラ。 - 【請求項19】 前記計算ユニットが、 処理マクロブロックに含まれた各ブロック内の画素値を
前記ブロックに含まれた2つのラインの画素だけ遅延さ
せ、遅延された画素値を供給する遅延手段と、2×M1
個のメモリ空間を有しており、第1制御信号に応じて、
前記遅延された画素値を格納する格納手段と、 第2制御信号に応じて、前記格納され遅延された画素値
または前記遅延された画素値を選択して、選択された画
素値を供給する選択手段と、 前記第1及び第2制御信号を発生する制御信号発生手段
と、 前記画素値の各々を前記選択された画素の各々から減算
して、差値を供給する減算手段と、 前記差値の各々を乗算し、前記乗算された差値を加えて
前記第5値を供給する累算手段とから構成される第5計
算手段とを有することを特徴とする請求項10に記載の
映像信号符号化システム用コントローラ。 - 【請求項20】 映像信号符号化システムに用いら
れ、インタ/イントラモード、フィールド/フレームD
CTモード、及び量子化パラメータを決定する映像信号
符号化システム用コントローラであって、前記映像信号
は、各々が3つの種類のフレームに分けられる複数のG
OPを有し、前記各フレームは各々が複数のブロックか
らなる複数のマクロブロックに分けられ、前記各ブロッ
クは奇数番目のラインのハーフブロック及び偶数番目の
ラインのハーフブロックを有し、前記映像信号符号化シ
ステムはマクロブロック単位で前記映像信号を符号化す
る、前記映像信号符号化システム用コントローラが、 複数の制御信号からなる制御シーケンスを生成し、現在
符号化されるフレームのタイプに応じて、現在符号化さ
れるマクロブロックの一連の番号を表す信号と、前記フ
レームの開始及び前記マクロブロックの開始を表す信号
とを供給する信号発生手段と、 第1群の予め決められた方程式を計算して、第1組の値
を供給する計算ユニットと、 前記制御シーケンス、前記第1値組及び予め決められた
初期定数値に応じて、第2群の予め決められた方程式を
計算して、各マクロブロックに対して、前記インタ/イ
ントラモード、前記フィールド/フレームDCTモー
ド、前記量子化パラメータを表す制御値の組を発生する
処理手段と、 初期定数値を格納すると共に、前記初期定数値を前記処
理手段へ供給し、前記処理手段にて決定された前記制御
値の組を格納すると共に、前記映像信号の符号化過程の
際に用いられる前記制御値を供給するメモリ及び入出力
ユニットとを含むことを特徴とする映像信号符号化シス
テム用コントローラ。 - 【請求項21】 映像信号符号化システムに用いら
れ、一連の制御信号に応じて、インタ/イントラモー
ド、フィールド/フレームDCTモード、及び量子化パ
ラメータを決定する算術ユニットであって、前記映像信
号は、各々が3つの種類のフレームに分けられる複数の
GOPを有し、前記各フレームは各々が複数のブロック
からなる複数のマクロブロックに分けられ、前記各ブロ
ックは奇数番目のラインのハーフブロック及び偶数番目
のラインのハーフブロックを有し、各マクロブロックに
含まれた画素値がO(i,j)として表現され、i及び
jは前記マクロブロック内の画素の位置を各々表し、i
は1から(M1−1)までの正の整数からなり、jは1
から(M2−1)までの正の整数からなり、M1は前記
マクロブロックのラインに含まれた画素の個数を表し、
M2は前記マクロブロックに含まれたラインの個数を表
し、前記映像信号符号化システムはマクロブロック単位
で前記映像信号を符号化する、前記算術ユニットが、 第1群の予め決められた方程式を計算して、第1組の値
を求める計算ユニットであって、 前記第1組の値は前記映像信号の各ハーフブロックに含
まれた画素値の二乗の和である第1値と、 各ブロックでの、前記映像信号と動き補償技法によって
求められた予測映像信号との間の差値である、差分デー
タに含まれた画素値の二乗の和である第2値と、 前記映像信号の各ハーフブロックに含まれた画素値の和
である第3値と、 Σ[i=0、M1−1]Σ[j=0、M2−3] {O(i、j)−O(i、j+1)}2 上記式のように定義される第4値と、 Σ[i=0、M1−1]Σ[j=0、M2−3] {O(i、j)−O(i、j+2)}2 上記式のように定義される第5値とからなる、前記計算
ユニットと、 前記制御シーケンス及び前記第1組の値に応じて、前記
現在符号化されたマクロブロックの一連の番号及び予め
決められた初期定数値に基づいた第2群の予め決められ
た方程式を計算することによって、前記フレーム内の各
マクロブロックに対して、前記インタ/イントラモー
ド、前記フィールド/フレームDCTモード、前記量子
化パラメータを表す制御値の組を発生する処理手段とを
含むことを特徴とする算術ユニット。 - 【請求項22】 前記処理手段が、 第1組の入力値のうちから第1入力値を選択する第1入
力手段と、 前記第1入力手段によって選択された前記第1入力から
なる第2の組の入力値のうちから第2入力値を選択する
第2入力手段と、 前記第1入力値及び前記第2入力値を各々格納する第1
及び第2レジスターと、 前記第1入力値と前記第2入力値とを加算、減算、乗
算、除算、及び比較して、加算結果、減算結果、乗算結
果、除算結果、比較結果からなる計算結果を供給する計
算手段と、 前記算結果のうちの何れか1つを選択する選択手段と、 前記選択された計算結果または前記第1入力値を前記第
2組の入力値のうちの何れか1つとして前記第2入力手
段へまたは前記メモリ及び入出力ユニットへ供給する出
力手段とを有することを特徴とする請求項21に記載の
算術ユニット。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1995-61378 | 1995-12-28 | ||
| KR1019950061378A KR970057947A (ko) | 1995-12-28 | 1995-12-28 | 영상 부호화기에서의 타입 결정 및 버퍼 제어 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09200761A true JPH09200761A (ja) | 1997-07-31 |
Family
ID=19445887
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34914796A Pending JPH09200761A (ja) | 1995-12-28 | 1996-12-27 | 映像信号符号化システム用コントローラ |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5949488A (ja) |
| EP (1) | EP0782344A3 (ja) |
| JP (1) | JPH09200761A (ja) |
| KR (2) | KR970057947A (ja) |
| CN (1) | CN1159123A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005033789A (ja) * | 2003-07-04 | 2005-02-03 | Nextream France | ビデオデータを符号化するための装置および方法 |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100588795B1 (ko) * | 1997-12-08 | 2006-06-13 | 소니 가부시끼 가이샤 | 부호화 장치 및 부호화 방법 |
| GB2337392B (en) * | 1997-12-08 | 2002-04-17 | Sony Corp | Coding device and method |
| FR2782879B1 (fr) * | 1998-08-28 | 2000-11-03 | Thomson Multimedia Sa | Procede de compression d'images |
| JP2003324732A (ja) * | 2002-04-30 | 2003-11-14 | Sony Corp | 画像処理装置およびその方法 |
| JP2005202248A (ja) * | 2004-01-16 | 2005-07-28 | Fujitsu Ltd | オーディオ符号化装置およびオーディオ符号化装置のフレーム領域割り当て回路 |
| CN101677402B (zh) * | 2004-09-16 | 2012-04-18 | 汤姆逊许可证公司 | 用于快速视频帧和场编码的方法和装置 |
| US7609766B2 (en) | 2005-02-08 | 2009-10-27 | Vixs Systems, Inc. | System of intra-picture complexity preprocessing |
| KR100657314B1 (ko) * | 2005-05-04 | 2006-12-20 | 삼성전자주식회사 | 멀티미디어 스트리밍 송신 장치 및 방법 |
| US20070192393A1 (en) * | 2006-02-14 | 2007-08-16 | Taiyi Cheng | Method and system for hardware and software shareable DCT/IDCT control interface |
| JP5017555B2 (ja) * | 2006-04-10 | 2012-09-05 | 株式会社メガチップス | 画像符号化装置及び画像復号化装置 |
| FR2899743A1 (fr) * | 2006-04-11 | 2007-10-12 | Vixs Systems Inc | Systeme de pre-traitement de donnees intra-images |
| KR101457418B1 (ko) | 2009-10-23 | 2014-11-04 | 삼성전자주식회사 | 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
| US8975851B2 (en) * | 2011-03-29 | 2015-03-10 | Advics Co., Ltd. | Temperature estimating device and temperature estimating method |
| JP5760950B2 (ja) * | 2011-10-28 | 2015-08-12 | 富士通株式会社 | 動画像再符号化装置、動画像再符号化方法及び動画像再符号化用コンピュータプログラム |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
| DE69032177T2 (de) * | 1989-12-25 | 1998-11-12 | Mitsubishi Electric Corp | Kodierungsgerät |
| US5268755A (en) * | 1991-02-21 | 1993-12-07 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transformation encoder |
| US5347309A (en) * | 1991-04-25 | 1994-09-13 | Matsushita Electric Industrial Co., Ltd. | Image coding method and apparatus |
| US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
| JP2991833B2 (ja) * | 1991-10-11 | 1999-12-20 | 松下電器産業株式会社 | インターレス走査ディジタルビデオ信号の符号化装置及びその方法 |
| US5144424A (en) * | 1991-10-15 | 1992-09-01 | Thomson Consumer Electronics, Inc. | Apparatus for video data quantization control |
| US5231484A (en) * | 1991-11-08 | 1993-07-27 | International Business Machines Corporation | Motion video compression system with adaptive bit allocation and quantization |
| US5227878A (en) * | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
| JPH05167998A (ja) * | 1991-12-16 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 画像の符号化制御処理方法 |
| JP2551305B2 (ja) * | 1992-09-11 | 1996-11-06 | 日本電気株式会社 | 動画像符号化制御方式 |
| US5426463A (en) * | 1993-02-22 | 1995-06-20 | Rca Thomson Licensing Corporation | Apparatus for controlling quantizing in a video signal compressor |
| TW301098B (ja) * | 1993-03-31 | 1997-03-21 | Sony Co Ltd | |
| JP3442783B2 (ja) * | 1993-06-08 | 2003-09-02 | ソニー株式会社 | 符号化装置及び方法 |
| BE1007807A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
| US5654760A (en) * | 1994-03-30 | 1997-08-05 | Sony Corporation | Selection of quantization step size in accordance with predicted quantization noise |
| JP3954656B2 (ja) * | 1994-09-29 | 2007-08-08 | ソニー株式会社 | 画像符号化装置及び方法 |
| JPH08256341A (ja) * | 1995-03-17 | 1996-10-01 | Sony Corp | 画像信号符号化方法、画像信号符号化装置、画像信号記録媒体、及び画像信号復号化装置 |
| KR0153671B1 (ko) * | 1995-06-30 | 1998-11-16 | 배순훈 | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 |
-
1995
- 1995-12-28 KR KR1019950061378A patent/KR970057947A/ko active Pending
-
1996
- 1996-12-27 CN CN96114187A patent/CN1159123A/zh active Pending
- 1996-12-27 JP JP34914796A patent/JPH09200761A/ja active Pending
- 1996-12-27 US US08/774,832 patent/US5949488A/en not_active Expired - Fee Related
- 1996-12-28 KR KR1019960075569A patent/KR100269424B1/ko not_active Expired - Fee Related
- 1996-12-30 EP EP19960309553 patent/EP0782344A3/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005033789A (ja) * | 2003-07-04 | 2005-02-03 | Nextream France | ビデオデータを符号化するための装置および方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR970057912A (ko) | 1997-07-31 |
| EP0782344A3 (en) | 1999-05-19 |
| KR100269424B1 (ko) | 2000-10-16 |
| US5949488A (en) | 1999-09-07 |
| CN1159123A (zh) | 1997-09-10 |
| KR970057947A (ko) | 1997-07-31 |
| EP0782344A2 (en) | 1997-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3954656B2 (ja) | 画像符号化装置及び方法 | |
| EP0751687B1 (en) | Video signal encoding system controller | |
| US6819714B2 (en) | Video encoding apparatus that adjusts code amount by skipping encoding of image data | |
| CN100452668C (zh) | 用于在视频编码中选择插值滤波器类型的方法和系统 | |
| JPH09200761A (ja) | 映像信号符号化システム用コントローラ | |
| JPH0865678A (ja) | 動画像符号化方式 | |
| CN103402099A (zh) | 视频编码的图片级速率控制 | |
| JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
| JP3755155B2 (ja) | 画像符号化装置 | |
| JP2012034352A (ja) | ステレオ動画像符号化装置及びステレオ動画像符号化方法 | |
| JPH09322176A (ja) | 符号化モード選択方法、動画像符号化装置、符号化方法、記録方法、及び伝送方法 | |
| JP3508916B2 (ja) | 動画像可変ビットレート符号化方法および装置 | |
| US20060239347A1 (en) | Method and system for scene change detection in a video encoder | |
| EP1833256B1 (en) | Selection of encoded data, setting of encoded data, creation of recoded data, and recoding method and device | |
| JP2001128179A (ja) | 動画像符号化装置および方法 | |
| JP3480067B2 (ja) | 画像符号化装置及び方法 | |
| JP2002199392A (ja) | 映像符号化方法および装置 | |
| JP3812269B2 (ja) | 動画像符号化装置及びその方法 | |
| JP3711572B2 (ja) | 画像符号化装置及び方法 | |
| JP2007228519A (ja) | 画像符号化装置及び画像符号化方法 | |
| JPH10108197A (ja) | 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体 | |
| US6542643B1 (en) | Measurement of activity of video image by DCT and filtering of the prediction error coefficients | |
| KR19980067578A (ko) | 동영상부호화시스템에서의 노이즈 감소를 위한 필터링방법 및 장치 | |
| JP3934772B2 (ja) | 可変転送レート符号化方法および装置 | |
| KR100209417B1 (ko) | 비디오 신호 부호화 시스템 제어기 |