JPH11225334A - Mpeg−2画像復号器の分散値算定アクセラレータ - Google Patents
Mpeg−2画像復号器の分散値算定アクセラレータInfo
- Publication number
- JPH11225334A JPH11225334A JP10321574A JP32157498A JPH11225334A JP H11225334 A JPH11225334 A JP H11225334A JP 10321574 A JP10321574 A JP 10321574A JP 32157498 A JP32157498 A JP 32157498A JP H11225334 A JPH11225334 A JP H11225334A
- Authority
- JP
- Japan
- Prior art keywords
- value
- pixel
- variance
- macroblock
- input
- 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/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/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/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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
(57)【要約】
【課題】 デジタル映像のマクロブロックの分散値を算
定できる好適な分散値算定アクセラレータを提供する。 【解決手段】 8つの個別の分散値演算経路への画素の
伝送を、簡単なカウンタを使って、2つのデマルチプレ
クサで所定の入力画素列がどの分散値に属しているかを
判断するような方法で行う。これにより、従来のように
8つの個別のフィルタ/デマルチプレクサを使用する必
要がなくなる。
定できる好適な分散値算定アクセラレータを提供する。 【解決手段】 8つの個別の分散値演算経路への画素の
伝送を、簡単なカウンタを使って、2つのデマルチプレ
クサで所定の入力画素列がどの分散値に属しているかを
判断するような方法で行う。これにより、従来のように
8つの個別のフィルタ/デマルチプレクサを使用する必
要がなくなる。
Description
【0001】
【発明の属する技術分野】本発明は、ビデオ画像の復号
化信号を処理するための分散値算定アクセラレータに関
する。
化信号を処理するための分散値算定アクセラレータに関
する。
【0002】
【従来の技術】MPEG−2圧縮アルゴリズム:MPE
G−2の画像圧縮アルゴリズムにおいては、デジタル画
像画素のマクロブロックの分散値の演算が必要である。
図1はMPEG−2の画像圧縮に必要な回路のブロック
図である。
G−2の画像圧縮アルゴリズムにおいては、デジタル画
像画素のマクロブロックの分散値の演算が必要である。
図1はMPEG−2の画像圧縮に必要な回路のブロック
図である。
【0003】(1)フレーム順序処理部(FRAME ORDERI
NG):このブロック部は、MPEG基準による順序でフ
ィールド(画像)を出力するフィールドメモリから成
る。例えば、入力信号がIBBPBBP…の場合、出力
はIPBBPBB…などとなる。ここで、Iは時相冗長
成分を含む1個のフィールドや半フィールド(イントラ
画像)であり、Pは先行のIまたはP(符号化/復号
化)画像の時相冗長成分が除去された1個のフィールド
や半フィールド(予測画像)であり、Bは(いずれの場
合も、I画像とP画像は符号化/復号化処理が完了した
ものとする)先行のI及び後続のP(または先行のPと
後続のP)の時相冗長成分が除去された1個のフィール
ドや半フィールド(双方向予測画像)である。
NG):このブロック部は、MPEG基準による順序でフ
ィールド(画像)を出力するフィールドメモリから成
る。例えば、入力信号がIBBPBBP…の場合、出力
はIPBBPBB…などとなる。ここで、Iは時相冗長
成分を含む1個のフィールドや半フィールド(イントラ
画像)であり、Pは先行のIまたはP(符号化/復号
化)画像の時相冗長成分が除去された1個のフィールド
や半フィールド(予測画像)であり、Bは(いずれの場
合も、I画像とP画像は符号化/復号化処理が完了した
ものとする)先行のI及び後続のP(または先行のPと
後続のP)の時相冗長成分が除去された1個のフィール
ドや半フィールド(双方向予測画像)である。
【0004】4:2:0フォーマットにおける各フレー
ムバッファは、下記のような記憶容量をもつ。
ムバッファは、下記のような記憶容量をもつ。
【表1】 標準PAL 輝度信号Y 720×576×8=3,317,760ビット 色差信号U 360×288×8= 829,440ビット 色差信号V 360×288×8= 829,440ビット 合計 Y+U+V=4,976,640ビット 標準NTSC 輝度信号Y 720×480×8=2,764,800ビット 色差信号U 360×240×8= 691,200ビット 色差信号V 360×240×8= 691,200ビット 合計 Y+U+V=4,147,200ビット
【0005】(2)動き算定部(MOTION ESTIMATOR):
このブロック部では、P画像やB画像から時相冗長成分
を除去する。
このブロック部では、P画像やB画像から時相冗長成分
を除去する。
【0006】(3)離散コサイン変換部(DCT):こ
のブロック部は、MPEG−2基準に従った離散コサイ
ン変換を行う。なお、I画像や誤差画像P、Bは、16
×16画素のマクロブロックに分割され、さらに各マク
ロブロックは離散コサイン変換が行われる8×8画素の
4個のブロックに分割される。
のブロック部は、MPEG−2基準に従った離散コサイ
ン変換を行う。なお、I画像や誤差画像P、Bは、16
×16画素のマクロブロックに分割され、さらに各マク
ロブロックは離散コサイン変換が行われる8×8画素の
4個のブロックに分割される。
【0007】(4)量子化部(Q):DCT処理が終わ
った8×8ブロックは、画像の別個のマクロブロックに
よって異なる量子化マトリクスに分割され、DCT係数
の数値が多少とも小さくなる。その場合、人間の目には
可視困難な周波数部分の情報が失われる。量子化結果
は、再調整されて次のブロック部へ送られる。
った8×8ブロックは、画像の別個のマクロブロックに
よって異なる量子化マトリクスに分割され、DCT係数
の数値が多少とも小さくなる。その場合、人間の目には
可視困難な周波数部分の情報が失われる。量子化結果
は、再調整されて次のブロック部へ送られる。
【0008】(5)可変長符号化部(VLC):量子化
部から出力された符号化ワードには、その後に非0値が
続くような0値が含まれている場合がある。第1番目の
非0値の前の0値がカウントされ、その結果値はその第
2部分が非0値であるワードの第1部分となる。それら
「対」のうちのいくつかは、他よりも高位の推定値をも
つ。高位の推定値は比較的短いワード(2/3/4ビッ
ト)に符号化され、低位の推定値は長いワードに符号化
される。統計学的結果として、圧縮処理を行わない場合
に比べて、出力ビット数が削減できる。
部から出力された符号化ワードには、その後に非0値が
続くような0値が含まれている場合がある。第1番目の
非0値の前の0値がカウントされ、その結果値はその第
2部分が非0値であるワードの第1部分となる。それら
「対」のうちのいくつかは、他よりも高位の推定値をも
つ。高位の推定値は比較的短いワード(2/3/4ビッ
ト)に符号化され、低位の推定値は長いワードに符号化
される。統計学的結果として、圧縮処理を行わない場合
に比べて、出力ビット数が削減できる。
【0009】(6)マルチプレクサとバッファ(MUX &
BUFFER):各マクロブロックのVLCで生成したデー
タ、量子化マトリクス、動きベクトル、その他の構文要
素を組み合わせて、MPEG−2基準による構文を再構
成する。再構成したデータ列は、容量がMPEG−2基
準で設定されて拡張できないメモリバッファに記憶され
る。量子化ブロック部Qでは、バッファの格納限度への
アプローチ度合に従って8×8DCTブロック部の量子
化処理の程度を調整することにより限定容量を保証す
る。
BUFFER):各マクロブロックのVLCで生成したデー
タ、量子化マトリクス、動きベクトル、その他の構文要
素を組み合わせて、MPEG−2基準による構文を再構
成する。再構成したデータ列は、容量がMPEG−2基
準で設定されて拡張できないメモリバッファに記憶され
る。量子化ブロック部Qでは、バッファの格納限度への
アプローチ度合に従って8×8DCTブロック部の量子
化処理の程度を調整することにより限定容量を保証す
る。
【0010】(7)逆可変長符号化部(I−VLC):
VLCブロック部の機能が、本ブロック部では逆の順序
で実行される。
VLCブロック部の機能が、本ブロック部では逆の順序
で実行される。
【0011】(8)逆量子化部(I−Q):I−VLC
ブロック部のワード出力が、それぞれが符号処理で使っ
たのと同じ量子化マトリクスで乗算される8×8ブロッ
クに再構成される。
ブロック部のワード出力が、それぞれが符号処理で使っ
たのと同じ量子化マトリクスで乗算される8×8ブロッ
クに再構成される。
【0012】(9)逆DCT部(I−DCT):DCT
機能が逆に行われ、量子化処理で生成された各8×8ブ
ロックに充てられる。
機能が逆に行われ、量子化処理で生成された各8×8ブ
ロックに充てられる。
【0013】(10)動き補償とフレーム記憶(FRAMES
STORE):8×8サイズのI−DCTブロック部からは
以下のものが出力され、本ブロックで記憶される。すな
わち、後続のP画像やB画像から時相冗長成分を除去す
るために記憶しなければならない復号化Iフィールド
(または半フィールド)と、動き算定操作中に前もって
除去された情報に付加する必要のある予測誤差Pフィー
ルドとBフィールド(またはそれら半フィールド)であ
る。P画像の場合、結果となる加算値は続くP画像やB
画像の動き算定処理中に使われる。いずれも、復号化I
画像および/またはP画像は、フレーム順序処理で使う
メモリとは異なるフィールドメモリに記憶される。
STORE):8×8サイズのI−DCTブロック部からは
以下のものが出力され、本ブロックで記憶される。すな
わち、後続のP画像やB画像から時相冗長成分を除去す
るために記憶しなければならない復号化Iフィールド
(または半フィールド)と、動き算定操作中に前もって
除去された情報に付加する必要のある予測誤差Pフィー
ルドとBフィールド(またはそれら半フィールド)であ
る。P画像の場合、結果となる加算値は続くP画像やB
画像の動き算定処理中に使われる。いずれも、復号化I
画像および/またはP画像は、フレーム順序処理で使う
メモリとは異なるフィールドメモリに記憶される。
【0014】(11)表示ユニット部(DISPLAY UNI
T):ここでは、フィールドが4:2:0フォーマット
から4:2:2フォーマットへと変換され、画像の連続
表示のためのインターレースフォーマットが生成され
る。
T):ここでは、フィールドが4:2:0フォーマット
から4:2:2フォーマットへと変換され、画像の連続
表示のためのインターレースフォーマットが生成され
る。
【0015】符号化部の各ブロック部の機能構成が図2
に示されている。フレーム順序処理部(1)と、再構成
されたP画像及びI画像を記憶する動き補償とフレーム
記憶部(10)と、MPEG−2で生成したビット列を
記憶するマルチプレクサとバッファ(6)とは、集積回
路による専用インタフェース経由でのアクセスが可能
で、メモリ制御器(Memory Controller)で制御される
専用の外部メモリ内に形成される。
に示されている。フレーム順序処理部(1)と、再構成
されたP画像及びI画像を記憶する動き補償とフレーム
記憶部(10)と、MPEG−2で生成したビット列を
記憶するマルチプレクサとバッファ(6)とは、集積回
路による専用インタフェース経由でのアクセスが可能
で、メモリ制御器(Memory Controller)で制御される
専用の外部メモリ内に形成される。
【0016】映像コアブロック部(Video CORE)は、色
差信号をフィルタ処理してサブサンプルすることにより
受信画像を4:2:2フォーマットから4:2:0フォ
ーマットへ変換するプリプロセッサ部と、復号化処理と
表示の動作中に逆機能を実行するポストプロセッサ部か
ら成る。
差信号をフィルタ処理してサブサンプルすることにより
受信画像を4:2:2フォーマットから4:2:0フォ
ーマットへ変換するプリプロセッサ部と、復号化処理と
表示の動作中に逆機能を実行するポストプロセッサ部か
ら成る。
【0017】符号化ブロック部(3、4、5)と復号化
ブロック部(7、8、9)は、符号化復号化コア部(En
coding & Decoding CORE)内に形成される。
ブロック部(7、8、9)は、符号化復号化コア部(En
coding & Decoding CORE)内に形成される。
【0018】システムコントローラ(System Controlle
r)では機器内で行う処理を調整し、マルチプレクサと
バッファ(6)で説明したバッファの格納状態や、動き
算定処理部(2)の前段にあるソース画像マクロブロッ
クの分散値から、量子化部(4)で使う量子化マトリク
スを演算する。このようなシステムコントローラは、外
部メモリとの通信に要するサブシステムを備えたRIS
C(縮小命令処理機能)式と呼ばれる32ビットのCP
Uと、制御バスと、実行されるコードを備えたブロック
部とで形成してもよい。
r)では機器内で行う処理を調整し、マルチプレクサと
バッファ(6)で説明したバッファの格納状態や、動き
算定処理部(2)の前段にあるソース画像マクロブロッ
クの分散値から、量子化部(4)で使う量子化マトリク
スを演算する。このようなシステムコントローラは、外
部メモリとの通信に要するサブシステムを備えたRIS
C(縮小命令処理機能)式と呼ばれる32ビットのCP
Uと、制御バスと、実行されるコードを備えたブロック
部とで形成してもよい。
【0019】符号化アルゴリズムは、R列とS行のマク
ロブロックに分解可能なM列とN行から成るフレームを
必要とする。M/RとN/Sとは異なる偶数であって、
各画素が1個以上のブロックや条件に従属している可能
性をもち、決められた方法でマクロブロックから抜き出
されたサイズがH(Rの約数)やK(Sの約数)のブロ
ックから開始することにより演算できるマクロブロック
毎の分散値Tは、T=2×(R/H)×(S/K)で表
すことができる。つまり、各フレームにおいて、H×K
画素ごとに(M×N)/(R×S)×Tの分散値演算が
必要となる。
ロブロックに分解可能なM列とN行から成るフレームを
必要とする。M/RとN/Sとは異なる偶数であって、
各画素が1個以上のブロックや条件に従属している可能
性をもち、決められた方法でマクロブロックから抜き出
されたサイズがH(Rの約数)やK(Sの約数)のブロ
ックから開始することにより演算できるマクロブロック
毎の分散値Tは、T=2×(R/H)×(S/K)で表
すことができる。つまり、各フレームにおいて、H×K
画素ごとに(M×N)/(R×S)×Tの分散値演算が
必要となる。
【0020】例えば、MPEG−2アルゴリズムにおい
て、PAL形式の画像ではR=S=16、H=K=T=
8、M=576、N=720となるため、64画素ごと
に12960の異なる分散値が必要となる。このような
大量の演算処理により、CPUの演算能力のほとんど全
部が要求されることになる。逆に、このような演算処理
をハード装置であるアクセラレータに任せると、最適化
されたアクセラレータを実現するための回路面積を確保
するだけで、CPUの演算能力について多大な負担節約
が可能となる。
て、PAL形式の画像ではR=S=16、H=K=T=
8、M=576、N=720となるため、64画素ごと
に12960の異なる分散値が必要となる。このような
大量の演算処理により、CPUの演算能力のほとんど全
部が要求されることになる。逆に、このような演算処理
をハード装置であるアクセラレータに任せると、最適化
されたアクセラレータを実現するための回路面積を確保
するだけで、CPUの演算能力について多大な負担節約
が可能となる。
【0021】分散の概念:算定される分散値は、上記の
ように、デジタル画像の輝度成分が、H×KサイズのT
サブブロック、つまりブロックに分割できるR×Sマク
ロブロックに分割され、M行N列の画素マトリクスで示
されると仮定した従来の説明から算定できる。なお、各
画素は8ビットで符号化してもよい。各サブブロックに
おいて、分散値は下記の式で表せる。
ように、デジタル画像の輝度成分が、H×KサイズのT
サブブロック、つまりブロックに分割できるR×Sマク
ロブロックに分割され、M行N列の画素マトリクスで示
されると仮定した従来の説明から算定できる。なお、各
画素は8ビットで符号化してもよい。各サブブロックに
おいて、分散値は下記の式で表せる。
【数1】
【0022】PAL形式の画像の場合、MとNはそれぞ
れ576と720であって、標準のMPEG−2によれ
ばR=S=16、H=K=T=8となる。
れ576と720であって、標準のMPEG−2によれ
ばR=S=16、H=K=T=8となる。
【0023】MPEG基準によれば、各フレームは、図
4に示されているように左上角から始めて16×16画
素のマクロブロックに分割される。さらに、各マクロブ
ロックを8×8のサブブロックに分割する。各マクロブ
ロックについては、以下で説明する方法により、それぞ
れがマクロブロックからの8×8サブブロックの分散値
から成る8個の分散値を計算する必要がある。分散値演
算のための上記の数式は、(演算には関係しないが、画
素の入力順序が、左から右、上の行から下の行として)
それぞれのサブブロックに対応する下記のようなより簡
単な式で表すことができる。
4に示されているように左上角から始めて16×16画
素のマクロブロックに分割される。さらに、各マクロブ
ロックを8×8のサブブロックに分割する。各マクロブ
ロックについては、以下で説明する方法により、それぞ
れがマクロブロックからの8×8サブブロックの分散値
から成る8個の分散値を計算する必要がある。分散値演
算のための上記の数式は、(演算には関係しないが、画
素の入力順序が、左から右、上の行から下の行として)
それぞれのサブブロックに対応する下記のようなより簡
単な式で表すことができる。
【数2】
【0024】図5に示す方法により、8個のサブブロッ
クが得られる(b0、b1、b2、b3、b4、b5、
b6、b7)。つまり、前半の4個のサブブロックはマ
クロブロックを構成しており、後半の4個のサブセット
はマクロブロックの偶数フィールドと奇数フィールドで
あって、マクロブロックの偶数番目の行と奇数番目の行
とを分離することにより得られる。
クが得られる(b0、b1、b2、b3、b4、b5、
b6、b7)。つまり、前半の4個のサブブロックはマ
クロブロックを構成しており、後半の4個のサブセット
はマクロブロックの偶数フィールドと奇数フィールドで
あって、マクロブロックの偶数番目の行と奇数番目の行
とを分離することにより得られる。
【0025】ブロックの分散値の算出が終わると、次
に、v0、…、v7は8個の分散算出値であるmax
(v0、v1、v2、v3、v4、v5、v6、v7)
+1で示されるようなマクロブロックの活動値を算出す
る。各マクロブロックの活動値は、量子化部Qで使用す
る量子化マトリクスの演算において使用する。
に、v0、…、v7は8個の分散算出値であるmax
(v0、v1、v2、v3、v4、v5、v6、v7)
+1で示されるようなマクロブロックの活動値を算出す
る。各マクロブロックの活動値は、量子化部Qで使用す
る量子化マトリクスの演算において使用する。
【0026】分散値算定部の標準構成:図6に示す分散
値算定部は、分散値を算出する機能をもつ並列に並べら
れた8個の個別演算部から成る。8個の個別演算部は、
それぞれ分散演算回路とは別に、対応ブロックの画素だ
けを補足できるフィルタ/デマルチプレクサを備えてい
る。しかしこの構造は、演算される分散値ごとに、例え
ば常に同じ演算を実行する分散値計算器などの、機能的
に同様な部分を複数持つという欠点を有する。また、
(それぞれが選定された画素のサブブロックを補足し
て)パラメータが異なっても、フィルタ/デマルチプレ
クサは同じ機能を行う。
値算定部は、分散値を算出する機能をもつ並列に並べら
れた8個の個別演算部から成る。8個の個別演算部は、
それぞれ分散演算回路とは別に、対応ブロックの画素だ
けを補足できるフィルタ/デマルチプレクサを備えてい
る。しかしこの構造は、演算される分散値ごとに、例え
ば常に同じ演算を実行する分散値計算器などの、機能的
に同様な部分を複数持つという欠点を有する。また、
(それぞれが選定された画素のサブブロックを補足し
て)パラメータが異なっても、フィルタ/デマルチプレ
クサは同じ機能を行う。
【0027】
【発明が解決しようとする課題】本発明の目的は、MP
EG−2映像アルゴリズムによって先行および後続の画
像と同時に現在の画像をリアルタイムで符号化する際
に、その結果を利用できるようデジタル映像のマクロブ
ロックの分散値を算定できる好適な分散値算定アクセラ
レータを提供することである。
EG−2映像アルゴリズムによって先行および後続の画
像と同時に現在の画像をリアルタイムで符号化する際
に、その結果を利用できるようデジタル映像のマクロブ
ロックの分散値を算定できる好適な分散値算定アクセラ
レータを提供することである。
【0028】
【課題を解決するための手段】本発明のアクセラレータ
で、符号化処理を管理するCPUが行う作業から分散値
の算出処理を減らすことにより、演算能力の劣るCPU
の利用が可能になり、逆に、本発明のアクセラレータが
装備されてない場合には、高性能或いは複数のCPUが
必要となる。ここで提案する構造は、周知の適用例と比
べて、アクセラレータを形成するために必要な回路面積
を最小限にして、コストを低減している。
で、符号化処理を管理するCPUが行う作業から分散値
の算出処理を減らすことにより、演算能力の劣るCPU
の利用が可能になり、逆に、本発明のアクセラレータが
装備されてない場合には、高性能或いは複数のCPUが
必要となる。ここで提案する構造は、周知の適用例と比
べて、アクセラレータを形成するために必要な回路面積
を最小限にして、コストを低減している。
【0029】本発明の分散値算定器で実行されるアルゴ
リズムは、実現化に必要な回路面積を最適にするため、
入力データや分散値の数式を改良したものである。特
に、8つの個別の分散値演算経路への画素の伝送を、簡
単なカウンタを使って、2つのデマルチプレクサで所定
の入力画素列がどの分散値に属しているかを判断するよ
うな方法で行う。これにより、従来のように8つの個別
のフィルタ/デマルチプレクサを使用する必要がなくな
る。
リズムは、実現化に必要な回路面積を最適にするため、
入力データや分散値の数式を改良したものである。特
に、8つの個別の分散値演算経路への画素の伝送を、簡
単なカウンタを使って、2つのデマルチプレクサで所定
の入力画素列がどの分散値に属しているかを判断するよ
うな方法で行う。これにより、従来のように8つの個別
のフィルタ/デマルチプレクサを使用する必要がなくな
る。
【0030】その回路は、PとQがそれぞれHとKの約
数でありMがZ=(P/H)×(Q/K)と同じまたは
大きい数である場合に、それぞれのモジュールが、複数
の分散値(v0、v1、…vM)の1つと同じまたは大
きい整数Mを出力し、画像が分割された複数のH×K画
素のマクロブロックのうちの1つから取り出されたP行
とQ列からなるM個の個別のサブブロックに属する画素
を用いる複数の分散値演算モジュールで構成された分散
値算的器に所定数のビットで符号化された画素のデジタ
ル列が入力される、画素の行列から成る画像の符号化装
置のための分散値算定アクセラレータであって、連続し
て入力される画素の平方値を出力する第1マルチプライ
ヤと、分散値が演算されるべき画素値のH×K和のため
の少なくともM個のH×Kマクロブロック専用の第1ア
キュムレータと、分散値が演算されるべき第1マルチプ
ライヤから出力される平方値のH×K和のための少なく
ともM個のH×Kマクロブロック専用の第2アキュムレ
ータと、マクロブロックの各画素の入力によりカウント
アップしてマクロブロックの最終画素の入力と同時にリ
セットされる少なくとも1個のカウンタ(LC)と、画
素の画素値/平方値の対が属するマクロブロックによる
カウンタ(LC)の内容によって画素の画素値と平方値
をアキュムレータに伝送する少なくともM/Z個のデマ
ルチプレクサと、第1及び第2アキュムレータの累積結
果値を記憶して各マクロブロックの最終端でその入力が
カウンタ(LC)により指示されるM個のレジスタの2
つのバンク部と、それぞれ1つの出力を持ってレジスタ
の2つのバンク部の出力に接続されたM入力マルチプレ
クサの2つのバンク部と、レジスタの第1バンク部のM
番目のセルに記憶されているH×K画素のM和(Sp)
のそれぞれの平方値(Qs)を演算するマルチプレクサ
の出力に接続された第2マルチプライヤと、Mレジスタ
にその結果値が記憶されてそれぞれが画素(Sp)の和
の平方値(Qs)を保有するデマルチプレクサと、平方
値(Sq)の和を保有するMレジスタに記憶されたデー
タ、及び和(Sp)の平方値(Qs)を保有するMレジ
スタに記憶されたデータからM個の分散値を数式V=
{(Sq)−(Qs/64)}/64で順番に演算する
第2ブロック部と、デマルチプレクサにより制御されて
各M番目の分散値をレジスタに伝送するMレジスタの第
3バンク部と、M個の分散値の最大値及び/又は最少値
を決めて、最大値及び/又は最少値を1にする活動パラ
メータを演算する第3ブロック部と、からなることを特
徴とする。第1マルチプライヤは、LSBに対応する位
置に0値を挿入し、その0値の数だけビット数を増や
し、各画素の修正値を符号化し、入力された画素の平方
値と等価な値を出力できるような、各画素値をその画素
の修正値と加算するカスケード接続された複数の加算器
からなる。第2マルチプライヤが、加算演算を行う回路
で構成されている。
数でありMがZ=(P/H)×(Q/K)と同じまたは
大きい数である場合に、それぞれのモジュールが、複数
の分散値(v0、v1、…vM)の1つと同じまたは大
きい整数Mを出力し、画像が分割された複数のH×K画
素のマクロブロックのうちの1つから取り出されたP行
とQ列からなるM個の個別のサブブロックに属する画素
を用いる複数の分散値演算モジュールで構成された分散
値算的器に所定数のビットで符号化された画素のデジタ
ル列が入力される、画素の行列から成る画像の符号化装
置のための分散値算定アクセラレータであって、連続し
て入力される画素の平方値を出力する第1マルチプライ
ヤと、分散値が演算されるべき画素値のH×K和のため
の少なくともM個のH×Kマクロブロック専用の第1ア
キュムレータと、分散値が演算されるべき第1マルチプ
ライヤから出力される平方値のH×K和のための少なく
ともM個のH×Kマクロブロック専用の第2アキュムレ
ータと、マクロブロックの各画素の入力によりカウント
アップしてマクロブロックの最終画素の入力と同時にリ
セットされる少なくとも1個のカウンタ(LC)と、画
素の画素値/平方値の対が属するマクロブロックによる
カウンタ(LC)の内容によって画素の画素値と平方値
をアキュムレータに伝送する少なくともM/Z個のデマ
ルチプレクサと、第1及び第2アキュムレータの累積結
果値を記憶して各マクロブロックの最終端でその入力が
カウンタ(LC)により指示されるM個のレジスタの2
つのバンク部と、それぞれ1つの出力を持ってレジスタ
の2つのバンク部の出力に接続されたM入力マルチプレ
クサの2つのバンク部と、レジスタの第1バンク部のM
番目のセルに記憶されているH×K画素のM和(Sp)
のそれぞれの平方値(Qs)を演算するマルチプレクサ
の出力に接続された第2マルチプライヤと、Mレジスタ
にその結果値が記憶されてそれぞれが画素(Sp)の和
の平方値(Qs)を保有するデマルチプレクサと、平方
値(Sq)の和を保有するMレジスタに記憶されたデー
タ、及び和(Sp)の平方値(Qs)を保有するMレジ
スタに記憶されたデータからM個の分散値を数式V=
{(Sq)−(Qs/64)}/64で順番に演算する
第2ブロック部と、デマルチプレクサにより制御されて
各M番目の分散値をレジスタに伝送するMレジスタの第
3バンク部と、M個の分散値の最大値及び/又は最少値
を決めて、最大値及び/又は最少値を1にする活動パラ
メータを演算する第3ブロック部と、からなることを特
徴とする。第1マルチプライヤは、LSBに対応する位
置に0値を挿入し、その0値の数だけビット数を増や
し、各画素の修正値を符号化し、入力された画素の平方
値と等価な値を出力できるような、各画素値をその画素
の修正値と加算するカスケード接続された複数の加算器
からなる。第2マルチプライヤが、加算演算を行う回路
で構成されている。
【0031】
【発明の実施の形態】図7に示すように、本発明の分散
値算定のアクセラレータで実行するアルゴリズムでは、
簡単なカウンタLCを使って、2つのデマルチプレクサ
により所定の入力画素列がどの分散値に属しているかを
判断するような方法で処理される入力ライン(列)を、
8つの個別分散値演算経路へ伝送する。これにより、図
6に示すようにフィルタ/デマルチプレクサ部を8つ装
備する必要がなくなる。
値算定のアクセラレータで実行するアルゴリズムでは、
簡単なカウンタLCを使って、2つのデマルチプレクサ
により所定の入力画素列がどの分散値に属しているかを
判断するような方法で処理される入力ライン(列)を、
8つの個別分散値演算経路へ伝送する。これにより、図
6に示すようにフィルタ/デマルチプレクサ部を8つ装
備する必要がなくなる。
【0032】各ラインは、ブロック群(b0、b1、b
2、b3)及びブロック群(b4、b5、b6、b7)
からそれぞれ1つずつ2つのブロック、つまり図5の画
素のサブブロックに属する。カウンタLCの所定ビット
値が2つのデマルチプレクサの制御値として使われるた
め、入力データを何回も読み取ることなく、8個の分散
値の入力画素ラインの選定論理をコピーすることなく得
られる2つの分散値により、入力画素ラインをリアルタ
イムで再指定できる。サンプル実行に従う図5のような
マクロブロックラインの走査経路では、制御ビットは、
デマルチプレクサv0〜v3ではビット6、7、デマル
チプレクサv4〜v7ではビット6、3となり、しか
も、マクロブロックの入力ラインを走査する方法によっ
て異なり、カウンタLCの異なるビットパターンがマル
チプレクサを正しく指示できるよう決められるが、それ
は、各ラインがb0〜b3のブロックのうちの1つとb
4〜b7のブロックのうちの1つに属するような基本的
条件が満足するからである。
2、b3)及びブロック群(b4、b5、b6、b7)
からそれぞれ1つずつ2つのブロック、つまり図5の画
素のサブブロックに属する。カウンタLCの所定ビット
値が2つのデマルチプレクサの制御値として使われるた
め、入力データを何回も読み取ることなく、8個の分散
値の入力画素ラインの選定論理をコピーすることなく得
られる2つの分散値により、入力画素ラインをリアルタ
イムで再指定できる。サンプル実行に従う図5のような
マクロブロックラインの走査経路では、制御ビットは、
デマルチプレクサv0〜v3ではビット6、7、デマル
チプレクサv4〜v7ではビット6、3となり、しか
も、マクロブロックの入力ラインを走査する方法によっ
て異なり、カウンタLCの異なるビットパターンがマル
チプレクサを正しく指示できるよう決められるが、それ
は、各ラインがb0〜b3のブロックのうちの1つとb
4〜b7のブロックのうちの1つに属するような基本的
条件が満足するからである。
【0033】原則として、マクロブロックが走査される
所定のラインパターンでは、マルチプレクサを駆動する
カウンタLCのビットは、分散値を正確に演算できるよ
う選択される。カウンタLCは、各マクロブロックの開
始時にリセットされ、各画素の入力によりカウントアッ
プされる。このようにして、分散器算定器内で記憶する
必要なく、各ラインが1度だけ読み取られるので、選択
論理回路を8個用意することもなく、メモリ容量を削減
でき、構造がより簡単で小型化できる。本発明の構成を
用いない場合は、図6のように、各ラインを選択するた
めに8個の個別のフィルタが必要となる。
所定のラインパターンでは、マルチプレクサを駆動する
カウンタLCのビットは、分散値を正確に演算できるよ
う選択される。カウンタLCは、各マクロブロックの開
始時にリセットされ、各画素の入力によりカウントアッ
プされる。このようにして、分散器算定器内で記憶する
必要なく、各ラインが1度だけ読み取られるので、選択
論理回路を8個用意することもなく、メモリ容量を削減
でき、構造がより簡単で小型化できる。本発明の構成を
用いない場合は、図6のように、各ラインを選択するた
めに8個の個別のフィルタが必要となる。
【0034】図8に示すように、分散値演算装置は、処
理実行に必要なレジスタや対応論理回路を最小限にする
ため、分散値の数式の演算処理を行う。
理実行に必要なレジスタや対応論理回路を最小限にする
ため、分散値の数式の演算処理を行う。
【0035】特に、加算要素の分割により連続読取動作
が必要なく、マクロブロックの最終画素の到着と同時
に、その後で行う最後の加算と除算のための加算値が並
列に記憶される。このようにして、2つの加算値が画素
の到着と同時に図8のブロック部2、3で並列に計算さ
れるのである。全画素が入力された後、画素を再読取す
る必要なくそれぞの加算値を前段ブロック部へ送ること
ができる。この特性がない場合には、分散値を算定する
ためにm値を前もって演算し、全データをメモリから再
度読み取るか、又は専用の内蔵レジスタに画素を記憶し
ておく必要がある。
が必要なく、マクロブロックの最終画素の到着と同時
に、その後で行う最後の加算と除算のための加算値が並
列に記憶される。このようにして、2つの加算値が画素
の到着と同時に図8のブロック部2、3で並列に計算さ
れるのである。全画素が入力された後、画素を再読取す
る必要なくそれぞの加算値を前段ブロック部へ送ること
ができる。この特性がない場合には、分散値を算定する
ためにm値を前もって演算し、全データをメモリから再
度読み取るか、又は専用の内蔵レジスタに画素を記憶し
ておく必要がある。
【0036】本発明のアクセラレータ(Variance Estim
ator Engine:VEE)は、図9の機能ブロック部で構
成される。
ator Engine:VEE)は、図9の機能ブロック部で構
成される。
【0037】VEEコア部(VEE CORE)は、画素の入力
や実行結果値(算出した分散値や活動値)をメモリに書
き込むためのDMA(Direct Memory Access)装置から
の外部ワードと相互作用する。DMAは、符号器の中央
メモリから画像データをマクロブロック毎に読み取り、
左上端のライン1から下方のライン32までマクロブロ
ックを走査し、次のマクロブロックのライン1から再び
走査し始め、というやり方で図7に示されているような
配列に従って分散値算定器のコア部に入力する。コア部
では、第1ブロック部であるスクエアパイプライン(SQ
UARES PIPELINE)で、その後の分散値の算定で使う各画
素の平方値が計算される。この演算は、図8のブロック
部1で行われる。
や実行結果値(算出した分散値や活動値)をメモリに書
き込むためのDMA(Direct Memory Access)装置から
の外部ワードと相互作用する。DMAは、符号器の中央
メモリから画像データをマクロブロック毎に読み取り、
左上端のライン1から下方のライン32までマクロブロ
ックを走査し、次のマクロブロックのライン1から再び
走査し始め、というやり方で図7に示されているような
配列に従って分散値算定器のコア部に入力する。コア部
では、第1ブロック部であるスクエアパイプライン(SQ
UARES PIPELINE)で、その後の分散値の算定で使う各画
素の平方値が計算される。この演算は、図8のブロック
部1で行われる。
【0038】その次段のブロック部であるマクロブロッ
ク部分算定部(M.BLOCK PARTICALSESTIMATOR)では、図
8のブロック部2、3から出力される値の加算や、図7
の回路に従って、画素を対応分散値に分離する。このよ
うなブロック部には、8つ全部の分散値の和を保管する
全レジスタが構成される。3番目のブロック部である分
散値活動値算定部(VARIANCES & ACTIVITY ESTIMATOR)
では、ブロック部4からの平方出力値を算定し、部分結
果値から分散値や活動値を得るための幾何学加算や最終
除算が行われる。
ク部分算定部(M.BLOCK PARTICALSESTIMATOR)では、図
8のブロック部2、3から出力される値の加算や、図7
の回路に従って、画素を対応分散値に分離する。このよ
うなブロック部には、8つ全部の分散値の和を保管する
全レジスタが構成される。3番目のブロック部である分
散値活動値算定部(VARIANCES & ACTIVITY ESTIMATOR)
では、ブロック部4からの平方出力値を算定し、部分結
果値から分散値や活動値を得るための幾何学加算や最終
除算が行われる。
【0039】詳細に説明すると、第1ブロック部では、
8つの和のパイプラインを利用することにより平方サイ
クルを算出する。実際には、平方値は同じ数の積とみな
され、乗算は一連の加算処理である。8ビットのバイナ
リ演算の場合、この操作は8つの加数の加算にすぎな
い。加数N(N=0、1、…7)は、(画素をそれ自体
で乗算する事実を考慮すれば)画素のN番目のビットが
1である場合はNだけシフトされた画素値であり、
(「列」で乗算を行うのと同じ様な操作である)それ以
外の場合は0だけシフトされた画素値である。
8つの和のパイプラインを利用することにより平方サイ
クルを算出する。実際には、平方値は同じ数の積とみな
され、乗算は一連の加算処理である。8ビットのバイナ
リ演算の場合、この操作は8つの加数の加算にすぎな
い。加数N(N=0、1、…7)は、(画素をそれ自体
で乗算する事実を考慮すれば)画素のN番目のビットが
1である場合はNだけシフトされた画素値であり、
(「列」で乗算を行うのと同じ様な操作である)それ以
外の場合は0だけシフトされた画素値である。
【0040】図10に示すパイプラインの各段階では、
画素の値、macro_strobe値、次段のブロック部で使うop
erate信号、画素の平方演算の部分結果値などが直列に
レジスタ経由で伝送される。ステージN(N=0、…、
7)は、前述の加算における加数Nを処理する。画素の
ビットがセットされると、平方の部分値がNビットだけ
左側へシフトした分だけ画素値(レジスタPX_Nに記
憶)が増加し、その反対の場合は、そのまま転送され
る。
画素の値、macro_strobe値、次段のブロック部で使うop
erate信号、画素の平方演算の部分結果値などが直列に
レジスタ経由で伝送される。ステージN(N=0、…、
7)は、前述の加算における加数Nを処理する。画素の
ビットがセットされると、平方の部分値がNビットだけ
左側へシフトした分だけ画素値(レジスタPX_Nに記
憶)が増加し、その反対の場合は、そのまま転送され
る。
【0041】このような構成により、各サイクルごとに
平方値を生成するという必要な処理能力を維持しつつ回
路面積を最小限にできる。データ列の連続性を確保する
ことにより、パイプラインは(各サイクルごとに生成さ
れる平方値の平均における)平方値を算定するのに要す
る平均時間を最短にすることができ、ルックアップテー
ブルが不要になる。
平方値を生成するという必要な処理能力を維持しつつ回
路面積を最小限にできる。データ列の連続性を確保する
ことにより、パイプラインは(各サイクルごとに生成さ
れる平方値の平均における)平方値を算定するのに要す
る平均時間を最短にすることができ、ルックアップテー
ブルが不要になる。
【0042】平方パイプライン部は、クロックパルスあ
たり1対の画素平方値を生成する能力をもつ。画素値と
平方値の対は、operate信号やmacro_strobe信号と共に
図11の第2の処理ブロック部へと送られ、そこで画素
値と平方値の対が2つの分散値に分離され、マクロブロ
ック全体のデータ列毎に演算される8つの分散値全部の
ために、画素値と平方値の加算が行われる。
たり1対の画素平方値を生成する能力をもつ。画素値と
平方値の対は、operate信号やmacro_strobe信号と共に
図11の第2の処理ブロック部へと送られ、そこで画素
値と平方値の対が2つの分散値に分離され、マクロブロ
ック全体のデータ列毎に演算される8つの分散値全部の
ために、画素値と平方値の加算が行われる。
【0043】カウンタLCのビットは、8つ全部の分散
値(v0、v1、v2、v3、v4、v5、v6、v
7)の部分値を記憶している加算記憶レジスタへ、個別
ラインの画素を搬送する2個の復号器の選択に使われ
る。
値(v0、v1、v2、v3、v4、v5、v6、v
7)の部分値を記憶している加算記憶レジスタへ、個別
ラインの画素を搬送する2個の復号器の選択に使われ
る。
【0044】加算と記憶のレジスタでは、復号器の指示
により、入力データの加算と記憶の処理を行う。加算と
記憶のレジスタには、画素値の加算と記憶用と画素平方
値の加算と記憶用との2つのレジスタバンク部が備わっ
ている。各バンク部は、分散値に対応する8個のレジス
タで構成されている。
により、入力データの加算と記憶の処理を行う。加算と
記憶のレジスタには、画素値の加算と記憶用と画素平方
値の加算と記憶用との2つのレジスタバンク部が備わっ
ている。各バンク部は、分散値に対応する8個のレジス
タで構成されている。
【0045】macro_strobe信号は、新規のマクロブロッ
クの開始認識に使われ、カウンタLCと2つのレジスタ
バンク部をリセットする。operate信号は、ブロック部
への入力基準値が無効になった場合、例えばDMAによ
る画素の読み取りタイミングがずれた場合に、レジスタ
やカウンタを一時停止する。
クの開始認識に使われ、カウンタLCと2つのレジスタ
バンク部をリセットする。operate信号は、ブロック部
への入力基準値が無効になった場合、例えばDMAによ
る画素の読み取りタイミングがずれた場合に、レジスタ
やカウンタを一時停止する。
【0046】画素値が入力されると、図8のブロック部
2、3では2つの加算が順番に行われる。それらの演算
は、それぞれのマクロブロックの最後の8つの分散値で
完了する。演算が終了すると、カウンタ値が255とな
り、output_strobe信号が出力される。
2、3では2つの加算が順番に行われる。それらの演算
は、それぞれのマクロブロックの最後の8つの分散値で
完了する。演算が終了すると、カウンタ値が255とな
り、output_strobe信号が出力される。
【0047】このブロック部の入力端の入力画素値は、
カウンタLCがビット7、6の場合、v0、v1、v
2、v3のうちの選択された部分値へ送られ、カウンタ
LCがビット6、3の場合、v4、v5、v6、v7の
うちの選択された部分値へ送られる。
カウンタLCがビット7、6の場合、v0、v1、v
2、v3のうちの選択された部分値へ送られ、カウンタ
LCがビット6、3の場合、v4、v5、v6、v7の
うちの選択された部分値へ送られる。
【0048】2つの選択部分値に対して、加算/記憶の
1サイクル操作、つまりレジスタの最終値が新規の入力
画素がプラスされた初期値となる操作が行われる。選択
されない部分の内容は、変動せずそのまま残る。各マク
ロブロックが終了すると、生成された16の加算値(各
部分の画素の平方値と画素値との和)が、次段の図12
に示されている分散値/活動値算定器へ送られる。
1サイクル操作、つまりレジスタの最終値が新規の入力
画素がプラスされた初期値となる操作が行われる。選択
されない部分の内容は、変動せずそのまま残る。各マク
ロブロックが終了すると、生成された16の加算値(各
部分の画素の平方値と画素値との和)が、次段の図12
に示されている分散値/活動値算定器へ送られる。
【0049】このブロック部の動作は、カウンタMCに
より制御される。input_strobe信号によりカウンタがリ
セットされ、制御サブブロック部によりカウントアップ
される。output_strobe信号がオンのときは、後で処理
できるよう画素値とその平方値の部分和がレジスタsum_
stとレジスタprod_stに記憶される。カウンタMCの最
初の8つの値の処理中は、ブロック部square_14_×_14
がオンとなって画素の和の8つの平方値を順番に演算
し、その演算結果はレジスタsquared_sumに記憶され
る。
より制御される。input_strobe信号によりカウンタがリ
セットされ、制御サブブロック部によりカウントアップ
される。output_strobe信号がオンのときは、後で処理
できるよう画素値とその平方値の部分和がレジスタsum_
stとレジスタprod_stに記憶される。カウンタMCの最
初の8つの値の処理中は、ブロック部square_14_×_14
がオンとなって画素の和の8つの平方値を順番に演算
し、その演算結果はレジスタsquared_sumに記憶され
る。
【0050】この操作は、図8の機能ブロック部4で行
われれる。また、ブロック部5における除算は、演算結
果値の6つのLSBを除去することにより行われる。
われれる。また、ブロック部5における除算は、演算結
果値の6つのLSBを除去することにより行われる。
【0051】8つの平方値の演算が終了すると、カウン
タMCにより、分散値演算ブロック部variance compute
の8サイクル動作が可能になる。そして、レジスタsum_
stに記憶されている平方値の和およびレジスタprods_st
部の和の平方値から始めて、8つの分散値が減算により
順番に算定されるのである。
タMCにより、分散値演算ブロック部variance compute
の8サイクル動作が可能になる。そして、レジスタsum_
stに記憶されている平方値の和およびレジスタprods_st
部の和の平方値から始めて、8つの分散値が減算により
順番に算定されるのである。
【0052】この操作は、図8の機能回路図の代数学和
算部のノードにおいて実行される。さらに、ブロック部
6での除算も、6つのLSBの除去により行われる。
算部のノードにおいて実行される。さらに、ブロック部
6での除算も、6つのLSBの除去により行われる。
【0053】算定された8つの分散値は、分散値レジス
タvariancesに記憶される。その後、カウンタMCが活
動値演算ブロック部をオンにして、次の8サイクル操作
中に、その8つの分散値を読み取って、分散値に1を足
した最大値としての活動値を生成するのである。
タvariancesに記憶される。その後、カウンタMCが活
動値演算ブロック部をオンにして、次の8サイクル操作
中に、その8つの分散値を読み取って、分散値に1を足
した最大値としての活動値を生成するのである。
【図1】MPEG−2圧縮装置の高レベル構造図。
【図2】MPEG−2符号化器の高レベル構造図。
【図3】ハード装置分散値算定器を備えた装置コントロ
ーラの構造図。
ーラの構造図。
【図4】フレームの複数の画素マイクロブロックへの分
割図。
割図。
【図5】標準MPEGによる各マクロブロックのサブブ
ロックのデータ構成図。
ロックのデータ構成図。
【図6】従来の分散値算定器の基本構造図。
【図7】本発明の分散値算定器の高レベル構造図、及び
入力ビット列のフォーマット図。
入力ビット列のフォーマット図。
【図8】本発明の分散値算定器における加算と記憶の機
能図。
能図。
【図9】本発明の分散値算定器の構成の別の構造図。
【図10】本発明の分散値算定器のアクセラレータで使
う加算器のカスケード構成図。
う加算器のカスケード構成図。
【図11】2つの固有分散値を分離処理するブロック回
路図。
路図。
【図12】図11の回路にカスケード接続された機能
図。
図。
フロントページの続き (72)発明者 バルサスナ アンナ イタリア 21047 サロンノ, ヴィア トルストイ,31 (72)発明者 ブルーニ ロベルタ イタリア 20038 セレグノ, ヴィア マルティノ バッシ,40
Claims (3)
- 【請求項1】 PとQがそれぞれHとKの約数でありM
がZ=(P/H)×(Q/K)と同じまたは大きい数で
ある場合に、それぞれのモジュールが、複数の分散値
(v0、v1、…vM)の1つと同じまたは大きい整数
Mを出力し、画像が分割された複数のH×K画素のマク
ロブロックのうちの1つから取り出されたP行とQ列か
らなるM個の個別のサブブロックに属する画素を用いる
複数の分散値演算モジュールで構成された分散値算的器
に所定数のビットで符号化された画素のデジタル列が入
力される、画素の行列から成る画像の符号化装置のため
の分散値算定アクセラレータであって、 連続して入力される画素の平方値を出力する第1マルチ
プライヤと、分散値が演算されるべき画素値のH×K和
のための少なくともM個のH×Kマクロブロック専用の
第1アキュムレータと、分散値が演算されるべき第1マ
ルチプライヤから出力される平方値のH×K和のための
少なくともM個のH×Kマクロブロック専用の第2アキ
ュムレータと、マクロブロックの各画素の入力によりカ
ウントアップしてマクロブロックの最終画素の入力と同
時にリセットされる少なくとも1個のカウンタ(LC)
と、画素の画素値/平方値の対が属するマクロブロック
によるカウンタ(LC)の内容によって画素の画素値と
平方値をアキュムレータに伝送する少なくともM/Z個
のデマルチプレクサと、第1及び第2アキュムレータの
累積結果値を記憶して各マクロブロックの最終端でその
入力がカウンタ(LC)により指示されるM個のレジス
タの2つのバンク部と、それぞれ1つの出力を持ってレ
ジスタの2つのバンク部の出力に接続されたM入力マル
チプレクサの2つのバンク部と、レジスタの第1バンク
部のM番目のセルに記憶されているH×K画素のM和
(Sp)のそれぞれの平方値(Qs)を演算するマルチ
プレクサの出力に接続された第2マルチプライヤと、M
レジスタにその結果値が記憶されてそれぞれが画素(S
p)の和の平方値(Qs)を保有するデマルチプレクサ
と、平方値(Sq)の和を保有するMレジスタに記憶さ
れたデータ、及び和(Sp)の平方値(Qs)を保有す
るMレジスタに記憶されたデータからM個の分散値を数
式V={(Sq)−(Qs/64)}/64で順番に演
算する第2ブロック部と、デマルチプレクサにより制御
されて各M番目の分散値をレジスタに伝送するMレジス
タの第3バンク部と、M個の分散値の最大値及び/又は
最少値を決めて、最大値及び/又は最少値を1にする活
動パラメータを演算する第3ブロック部と、からなるこ
とを特徴とする分散値算定アクセラレータ。 - 【請求項2】 第1マルチプライヤが、LSBに対応す
る位置に0値を挿入し、その0値の数だけビット数を増
やし、各画素の修正値を符号化し、入力された画素の平
方値と等価な値を出力できるような、各画素値をその画
素の修正値と加算するカスケード接続された複数の加算
器からなる請求項1記載の分散値算定アクセラレータ。 - 【請求項3】 第2マルチプライヤが、加算演算を行う
回路で構成されている請求項1記載の分散値算定アクセ
ラレータ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP97830591A EP0917362A1 (en) | 1997-11-12 | 1997-11-12 | Macroblock variance estimator for MPEG-2 video encoder |
| IT97830591.0 | 1997-11-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11225334A true JPH11225334A (ja) | 1999-08-17 |
Family
ID=8230853
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10321574A Pending JPH11225334A (ja) | 1997-11-12 | 1998-11-12 | Mpeg−2画像復号器の分散値算定アクセラレータ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6223193B1 (ja) |
| EP (1) | EP0917362A1 (ja) |
| JP (1) | JPH11225334A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014528663A (ja) * | 2011-10-01 | 2014-10-27 | インテル・コーポレーション | ビデオトランスコーディングにおける後処理および前処理を統合するためのシステム、方法およびコンピュータプログラム |
| USRE48845E1 (en) | 2002-04-01 | 2021-12-07 | Broadcom Corporation | Video decoding system supporting multiple standards |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001195347A (ja) * | 2000-01-12 | 2001-07-19 | Mitsubishi Electric Corp | Dma転送装置 |
| US6891893B2 (en) * | 2000-04-21 | 2005-05-10 | Microsoft Corp. | Extensible multimedia application program interface and related methods |
| US7649943B2 (en) * | 2000-04-21 | 2010-01-19 | Microsoft Corporation | Interface and related methods facilitating motion compensation in media processing |
| US6940912B2 (en) * | 2000-04-21 | 2005-09-06 | Microsoft Corporation | Dynamically adaptive multimedia application program interface and related methods |
| US7634011B2 (en) * | 2000-04-21 | 2009-12-15 | Microsoft Corporation | Application program interface (API) facilitating decoder control of accelerator resources |
| JP3662171B2 (ja) * | 2000-06-05 | 2005-06-22 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
| JP2003324732A (ja) * | 2002-04-30 | 2003-11-14 | Sony Corp | 画像処理装置およびその方法 |
| US7437666B2 (en) | 2003-10-22 | 2008-10-14 | Intel Corporation | Expression grouping and evaluation |
| US7328403B2 (en) | 2003-10-22 | 2008-02-05 | Intel Corporation | Device for structured data transformation |
| US7458022B2 (en) * | 2003-10-22 | 2008-11-25 | Intel Corporation | Hardware/software partition for high performance structured data transformation |
| US7409400B2 (en) * | 2003-10-22 | 2008-08-05 | Intel Corporation | Applications of an appliance in a data center |
| US7889792B2 (en) | 2003-12-24 | 2011-02-15 | Apple Inc. | Method and system for video encoding using a variable number of B frames |
| US7869503B2 (en) * | 2004-02-06 | 2011-01-11 | Apple Inc. | Rate and quality controller for H.264/AVC video coder and scene analyzer therefor |
| US7492820B2 (en) | 2004-02-06 | 2009-02-17 | Apple Inc. | Rate control for video coder employing adaptive linear regression bits modeling |
| US7986731B2 (en) | 2004-02-06 | 2011-07-26 | Apple Inc. | H.264/AVC coder incorporating rate and quality controller |
| US7609766B2 (en) | 2005-02-08 | 2009-10-27 | Vixs Systems, Inc. | System of intra-picture complexity preprocessing |
| FR2899743A1 (fr) * | 2006-04-11 | 2007-10-12 | Vixs Systems Inc | Systeme de pre-traitement de donnees intra-images |
| US9071842B2 (en) | 2012-04-19 | 2015-06-30 | Vixs Systems Inc. | Detection of video feature based on variance metric |
| US9560361B2 (en) | 2012-12-05 | 2017-01-31 | Vixs Systems Inc. | Adaptive single-field/dual-field video encoding |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69225365T2 (de) * | 1991-08-30 | 1998-11-19 | Fuji Xerox Co Ltd | Bildsignalkodierungsvorrichtung |
| WO1995003674A1 (en) * | 1993-07-19 | 1995-02-02 | British Telecommunications Public Limited Company | Detecting errors in video images |
| JP3356516B2 (ja) * | 1993-12-28 | 2002-12-16 | シャープ株式会社 | 動画像符号化装置 |
| US5486863A (en) * | 1994-04-29 | 1996-01-23 | Motorola, Inc. | Method for determining whether to intra code a video block |
| JPH08275160A (ja) * | 1995-03-27 | 1996-10-18 | Internatl Business Mach Corp <Ibm> | 離散余弦変換方法 |
| US5610659A (en) * | 1995-05-08 | 1997-03-11 | Futuretel, Inc. | MPEG encoder that concurrently determines video data encoding format and rate control |
| EP0778709B1 (en) * | 1995-12-04 | 2001-05-23 | STMicroelectronics S.r.l. | MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG decompressed data |
| IT1289206B1 (it) * | 1996-09-12 | 1998-09-29 | Sgs Thomson Microelectronics | Metodo di ricompressione e decompressione adpcm di un flusso di dati digitali costituente un segnale video digitale e stimatore |
-
1997
- 1997-11-12 EP EP97830591A patent/EP0917362A1/en not_active Withdrawn
-
1998
- 1998-11-12 JP JP10321574A patent/JPH11225334A/ja active Pending
- 1998-11-12 US US09/190,550 patent/US6223193B1/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE48845E1 (en) | 2002-04-01 | 2021-12-07 | Broadcom Corporation | Video decoding system supporting multiple standards |
| JP2014528663A (ja) * | 2011-10-01 | 2014-10-27 | インテル・コーポレーション | ビデオトランスコーディングにおける後処理および前処理を統合するためのシステム、方法およびコンピュータプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0917362A1 (en) | 1999-05-19 |
| US6223193B1 (en) | 2001-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11225334A (ja) | Mpeg−2画像復号器の分散値算定アクセラレータ | |
| US5774206A (en) | Process for controlling an MPEG decoder | |
| EP0673171B1 (en) | Video decoder | |
| US5345408A (en) | Inverse discrete cosine transform processor | |
| EP0572262A2 (en) | Decoder for compressed video signals | |
| JPH06326615A (ja) | 可変長コードのコードストリームをデコードする方法及び装置 | |
| US5867601A (en) | Inverse discrete cosine transform processor using parallel processing | |
| JPH07262175A (ja) | 関数変換演算装置 | |
| KR20000008477A (ko) | 엠펙디코더의 역이산여현변환장치 | |
| JP2003223433A (ja) | 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置 | |
| US7076105B2 (en) | Circuit and method for performing a two-dimensional transform during the processing of an image | |
| US20190238832A1 (en) | Image processing device | |
| US5668748A (en) | Apparatus for two-dimensional discrete cosine transform | |
| US9918079B2 (en) | Electronic device and motion compensation method | |
| US20060280245A1 (en) | MPEG video storage address generation apparatuses and methods for uniformly fetching and storing video data | |
| US5784011A (en) | Multiplier circuit for performing inverse quantization arithmetic | |
| KR100824287B1 (ko) | 저전력 고속 디블록킹 필터 | |
| KR0178746B1 (ko) | 매크로블럭의 반픽셀처리장치 | |
| WO1996036178A1 (en) | Multiple sequence mpeg decoder and process for controlling same | |
| JPH08307868A (ja) | 動画像復号装置 | |
| US5774590A (en) | Image data reproducing apparatus | |
| US5801979A (en) | Carry logic that produces a carry value from NLSBs for a ROM accumulator in an inverse discrete cosine transform processor | |
| JPH04137975A (ja) | 逆直交変換方法および逆直交変換回路 | |
| JPH1070721A (ja) | 逆量子化・逆dct回路 | |
| KR100350943B1 (ko) | 분포연산방식을 이용한 고속 dct 연산회로 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040921 |