JP4686048B2 - 画素演算装置 - Google Patents

画素演算装置 Download PDF

Info

Publication number
JP4686048B2
JP4686048B2 JP2001125119A JP2001125119A JP4686048B2 JP 4686048 B2 JP4686048 B2 JP 4686048B2 JP 2001125119 A JP2001125119 A JP 2001125119A JP 2001125119 A JP2001125119 A JP 2001125119A JP 4686048 B2 JP4686048 B2 JP 4686048B2
Authority
JP
Japan
Prior art keywords
pixel
unit
data
processing
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001125119A
Other languages
English (en)
Other versions
JP2002008025A (ja
Inventor
広之 岡
督三 清原
誠 平井
浩三 木村
康介 ▲よし▼岡
英志 西田
隆治 松浦
広之 森下
敏昭 辻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001125119A priority Critical patent/JP4686048B2/ja
Publication of JP2002008025A publication Critical patent/JP2002008025A/ja
Application granted granted Critical
Publication of JP4686048B2 publication Critical patent/JP4686048B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像をリサイズするためのフィルタリング回路を含む画素演算装置に関する。
【0002】
【従来の技術】
近年、デジタル映像機器の技術進歩が著しく、動画の圧縮処理/伸張処理、リサイズ等を扱ういわゆるメディアプロセッサが実用化されている。
画像のリサイズには、FIR(finite impulse response)フィルタがよく用いられる。
【0003】
図1は、従来技術におけるFIRフィルタ処理を行う回路例を示すブロック図である。同図はタップ数7、係数が対称なFIRフィルタである。
同図において、データ入力端子1001より時系列的に入力されたデータは、遅延器1002、1003、1004、1005、1006、1007とこの順に順次転送される。フィルタ係数が対称である場合、つまりデータ入力端子の入力及び各遅延器の出力(タップと呼ばれる)に対応する係数が、中央のタップ(遅延機1004の出力)に対して対称である場合、各タップのデータにフィルタ係数を乗算するのではなく、同じ係数のタップのデータ同士の加算を行ってから係数を乗算する。
【0004】
例えば、データ入力部1001の入力データと遅延器1007の出力データは、加算器1008で加算され、さらに乗算器1008にて加算結果と係数h0とが乗算される。遅延器1002の出力と遅延器1006の出力は、加算器1009で加算され、さらに、乗算器1009にて加算結果と係数h1とが乗算される。
乗算器1011〜乗算器1014の各出力データは、加算器1015により加算される。加算器1015の出力データはフィルタ処理結果としてデータ出力端子1016から時系列的に出力される。係数h0〜h3は画像の縮小率に応じて定められる。例えば縮小率が1/2であれば、時系列の出力データを1/2に間引くことにより縮小画像が得られる。
【0005】
また、フィルタ係数が対称に選ばれるのは、直線位相(位相特性が周波数に対して直線になること)が得られることにより画像の視覚上好ましいからである。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来の方法では、画像データに対してフィルタリング処理を行う場合、回路の構成上、画像を構成する画素データを端から順に入力していくので、1クロックで入力できる画素データは1つであるため、処理速度を高めるには動作周波数を高める必要がある。高い動作周波数での動作は、コスト及び消費電力大きくなるという問題がある。
【0007】
また、従来の方法ではタップ数毎に回路が異なるため自由度がなく、タップ数毎別に回路を設けると莫大なコストがかかってしまう。
本発明の第1の目的は、タップ数を可変にすることができ、周波数を上げずに処理を高速化するフィルタリング処理を行う画素演算装置を提供することにある。
【0008】
本発明の第2の目的は、さらにフィルタリング処理だけでなくMC(動き補償)処理にも利用可能で、回路規模の小型化を図った画素演算装置を提供することにある。
第3の目的は、さらにフィルタリング処理だけでなくME(動き予測)処理にも利用可能であり、回路規模の小型化を図った画素演算装置を提供することにある。
【0009】
第4の目的は、さらにフィルタリング処理だけでなく、デジタル映像機器におけるOSD(On Screen Display)処理にも利用であり、回路規模の小型化を図った画素演算装置を提供することにある。
【0010】
【課題を解決するための手段】
上記第1の目的を達成する画素演算装置は、フィルタ処理を行う画素演算装置であって、N個の画素処理手段と、N個の画素データ及びフィルタ係数を供給する供給手段と、N個の画素処理手段を並列に動作させる制御手段とを備える。
各画素処理手段は、供給手段に供給された画素データとフィルタ係数とを用いて演算した後、各画素処理手段に対して隣接する画素処理手段から画素データを取得し、取得した画素データを用いて演算して演算結果を累積する。前記制御手段は、隣接する画素処理手段からの画素データの取得と、取得した画素データを用いた演算及び累積とをタップ数に応じた回数繰り返すようN個の画素処理手段を制御する。
【0011】
ここで、前記N個の画素処理手段は、N個の画素データを右シフトする第1シフタと、N個の画素データを左シフトする第2シフタを形成する。各画素処理手段は、隣接する2つの画素処理手段からシフトアウトされる2つの画素データを用いて演算する。
上記第2の目的を達成する画素演算装置は、画素データとして差分画像の画素データと参照フレームの画素データとを供給手段から供給する。
【0012】
【発明の実施の形態】
本発明の画素演算ユニットは、主に(a)画像の拡大/縮小に用いられるフィルタ処理、(b)動き補償(Moving Compensation、以下ME)処理、(c)OSD(On Screen Display)処理、(d)動き予測(Moving Estimation、以下ME)処理などを選択的に実行するように構成される。(a)フィルタ処理については、画素演算ユニットは、でタップ数を固定することなく可変とし、水平方向又は垂直方向に連続する複数の画素(例えば16画素)を並列に処理する。さらに、垂直方向のフィルタ処理は、圧縮動画データの伸長処理と同期して行う。
【0013】
以下、本発明の実施の形態における画素演算ユニットについて次の順に説明する。
1 メディアプロセッサの構成
1.1 画素演算ユニットの構成
1.2 画素並列処理部の構成
2.1 フィルタ処理
2.2 MC(動き補償)処理
2.3 OSD(オンスクリーンディスプレイ)処理
2.4 ME(動き予測)処理
3.1 垂直フィルタ処理(その1)
3.1.1 1/2縮小
3.1.2 1/4縮小
3.2 垂直フィルタ処理(その2)
3.2.1 1/2縮小
3.2.2 1/4縮小
4 変形例
<1 メディアプロセッサの構成>
本実施形態における画素演算ユニットがメディア処理(圧縮音声動画データの伸長処理、音声動画データの圧縮処理など)を行うメディアプロセッサに内臓されている場合について以下説明する。メディアプロセッサは、例えばデジタルTV放送を受信するセットトップボックス、テレビ受像機、DVD録画再生装置などに実装される。
【0014】
図2は、画素演算ユニットを備えるメディアプロセッサの構成を示すブロック図である。同図においてメディアプロセッサ200は、デュアルポートメモリ100、ストリームユニット201、入出力バッファ(以下I/Oバッファと略す)202、セットアッププロセッサ203、ビットストリームFIFO204、可変長符号復号部(VLD)205、可変長符号復号部205、変換エンジン(Transfer Engine、以下TE)206、画素演算ユニットA(以下POUA)207、画素演算ユニットB(以下POUB)208、POUC209、オーディオユニット210、IOP211、入出力プロセッサ(以下IOP)211、ビデオバッファメモリ212、ビデオユニット213、ホストユニット214、RE215、フィルタ部216を備える。
【0015】
デュアルポートメモリ100は、外部メモリ220に対する入出力ポート(以下外部ポート)と、メディアプロセッサ200内部に対する入出力(以下内部ポートと呼ぶ)と、キャッシュメモリとを備え、メディアプロセッサ200内の各構成要素のうち外部メモリ220にデータを読み書きする構成要素(以下マスターデバイス)からのアクセス要求を内部ポートから受け付け、受け付けたアクセス要求に従って外部メモリ220をアクセスする。その際、デュアルポートメモリ100は、内部のキャッシュメモリに外部メモリ220のデータの一部をキャッシングする。また、外部メモリ220はSDRAMやRDRAMなどのメモリであり、圧縮動画データ、圧縮音声データ、復号後の音声データ、復号後の動画データなどを一時的に記憶する。
【0016】
ストリームユニット201は、外部からストリームデータ(いわゆるMPEGストリーム)を入力し、入力されたストリームデータをビデオエレメンタリーストリーム、オーディオエレメンタリーストリームに分離し、それぞれをI/Oバッファ202に書き込む。
I/Oバッファ202は、ビデオエレメンタリーストリーム、オーディオエレメンタリーストリーム、オーディオデータ(伸長されたオーディオデータ)を一時的に保持するバッファメモリである。ビデオエレメンタリーストリーム、オーディオエレメンタリーストリームはそれぞれストリームユニット201からI/Oバッファ202に格納され、さらにIOP211の制御によってデュアルポートメモリ100を介して外部メモリ220に格納される。オーディオデータは、IOP211の制御によって外部メモリ220からデュアルポートメモリ100を介してI/Oバッファ202に格納される。
【0017】
セットアッププロセッサ203は、オーディオエレメンタリーストリームのデコード(伸長)と、ビデオエレメンタリーストリームのマクロブロックのヘッダ解析とを行う。オーディオエレメンタリーストリーム及びビデオエレメンタリーストリームは、IOP211の制御によって、外部メモリ220からデュアルポートメモリ100を介してビットストリームFIFO204に転送される。セットアッププロセッサ203はビットストリームFIFO204からオーディオエレメンタリーストリームを読み出してデコードし、デコード後のオーディオデータをセットアップメモリ217に格納する。セットアップメモリ217内のオーディオデータは、IOP211によってデュアルポートメモリ100を介して外部メモリ220に転送される。また、セットアッププロセッサ203は、ビットストリームFIFO204からビデオエレメンタリーストリームを読み出してマクロブロックヘッダを解析し、解析結果をVLD205に通知する。
【0018】
ビットストリームFIFO204は、ビデオエレメンタリーストリームを可変長符号復号部205に、オーディオエレメンタリーストリームをセットアッププロセッサ203に供給するためのFIFOメモリである。ビデオエレメンタリーストリーム及びオーディオエレメンタリーストリームは、IOP211の制御によって外部メモリ220からデュアルポートメモリ100を介してビットストリームFIFO204に転送される。
【0019】
VLD205は、ビットストリームFIFO204から供給されるビデオエレメンタリーストリームに含まれる可変長符号を復号する。この復号結果はマクロブロック単位のDCT係数群である。
TE206は、VLD205の復号結果に対してマクロブロック単位にIQ(逆量子化)処理及びIDCT(逆DCT)処理を行う。これらの処理結果はマクロブロックである。1マクロブロックは、4つの輝度ブロック(Y1〜Y4)と2つの色差ブロック(Cb、Cr)からなる。1ブロックは8×8画素である。但し、Pピクチャ、Bピクチャについては1ブロックは8×8個の差分値としてTE206から出力され。TE206は復号結果をデュアルポートメモリ100を介して外部メモリ220に格納する。
【0020】
POUA207は、主に(a)フィルタ処理、(b)MC処理、(c)OSD処理、(d)動き予測(Moving Estimation)処理などを選択的に実行する。
(a)のフィルタ処理では、POUA207は外部メモリ220に格納されたビデオデータ(フレームデータ)に含まれる16個の画素データを並列にフィルタリングし、フィルタリング後の16個の画素を間引く又は補間することにより縮小、拡大する。縮小語の後のデータはPOUC209の制御によってデュアルポートメモリ100を介して外部メモリ220に格納される。
【0021】
(b)のMC処理では、POUA207は、TE206によって外部メモリ220に格納されたPピクチャ及びBピクチャについてのIQ及びIDCT処理結果(つまり画素データの差分値)と、参照フレーム中の画素データとを16並列に加算する。16組の差分値と画素データは、セットアッププロセッサ203におけるマクロブロックヘッダ解析によって検出された動きベクトルに従って、POUC209によってPOUA207に入力される。
【0022】
(c)OSD処理では、POUA207は、外部メモリ220等に格納されたOSD画像(静止画)をデュアルポートメモリ100を介して入力し、外部メモリ220内の表示用フレームデータに上書きする。ここでOSD画像とは、ユーザのリモコン操作などに応じて表示されるメニュー画像や、時刻表示、チャネル番号表示などをいう。
【0023】
(d)のME処理とは、未圧縮のフレームデータ内の符号化対象のマクロブロックに対して、参照フレーム中の相関性の高い矩形領域を探索し、符号化対象のマクロブロックから相関性の最も高い矩形領域を指す動きベクトルを求める処理である。POUA207は、符号化対象のマクロブロックの画素と、探索領域内の矩形領域の画素との差分を16個並列で算出する。
【0024】
POUB208は、POUA207と同一構成であり、上記(a)〜(d)の処理を動的に分担する。
POUC209は、POUA207及びPOUB208に対する画素データ群の供給と、処理結果の外部メモリ220への転送とを制御する。
オーディオユニット210は、I/Oバッファ202に格納されたオーディオデータを出力する。
【0025】
IOP211は、メディアプロセッサ200内のデータ入出力(データ転送)を制御する。データ転送には次の種類がある。第1は、I/Oバッファ202に格納されたストリームデータをデュアルポートメモリ100を介して外部メモリ220内のストリームバッファ領域に転送することである。第2は、外部メモリ220に格納されたビデオエレメンタリーストリーム及びオーディオエレメンタリーストリームをデュアルポートメモリ100を介してビットストリームFIFO204に転送することである。第3は、外部メモリ220に格納されたオーディオデータをデュアルポートメモリ100を介してI/Oバッファ202に転送することである。
【0026】
ビデオユニット213は、外部メモリ220のビデオデータ(画像フレーム)から2,3ライン分の画素データを読み出して、ビデオバッファメモリ212に格納し、その2,3ライン分の画素データを映像信号に変換して外部に接続されたテレビ受像器等のディスプレィ装置に出力する。
ホストユニット(HOST)214は、外部のホストマイコンからの指示を受け取り、指示に応じてMPEGデコード、MPEGエンコード、OSD処理、縮小・拡大処理など開始・終了を制御する。
【0027】
レンダリングエンジン(RE)215は、マスターデバイスであり、コンピュ−タ・グラフィックスにおけるレンダリング処理を行う。外部に専用LSI218とが接続されている場合に間でデータ入出力を行う。
フィルタ216は、静止画データの拡大縮小処理を行う。外部に専用LSI218とが接続されている場合に間でデータ入出力を行う。
【0028】
上記ではメディアプロセッサが、ストリームユニット201からストリームデータを入力してデコード(伸長)する場合を中心に説明したが、圧縮されていないビデオデータ及びオーディオデータをエンコード(圧縮)する場合は、逆の流れとなる。その際、POUA207(又はPOUB208)はME処理を、TE206はDCT処理及びQ(量子化)処理を、VLD205は可変長符号化を、行う。
<1.1 画素演算ユニットの構成>
図3は、画素演算ユニットの構成を示すブロック図である。
【0029】
POUA207とPOUB208は同じ構成であるため、ここではPOUA207を説明する。
同図のようにPOUA207は、画素並列処理部21、入力バッファ群22出力バッファ群23、命令メモリ24、命令デコーダ25、指示回路26、DDA回路27を備える。
【0030】
画素並列処理部21は、画素転送部17、16個の画素処理部1〜画素処理部16、画素転送部18を備え、入力バッファ群22から入力される複数の画素を対象に上記(a)フィルタ処理、(b)MC処理、(c)OSD処理、(d)ME)処理を行い、出力バッファ群23に出力する。(a)〜(d)の各処理は、マクロブロック単位すなわち16画素を16回(16ライン分)繰り返すことにより終了する。各処理の起動は、POUC209により制御される。また、画素転送部17は、フィルタ処理において16個の画素のさらに左側(又は上側)の複数画素(ここでは8画素)を保持し、クロック毎に右シフトする。画素転送部18は、フィルタ処理において16個の画素のさらに右側(又は下側)の複数画素(ここでは8画素)を保持し、クロック毎に左シフトアウトする。
【0031】
入力バッファ群22は、POUC209の制御により、デュアルポートメモリ100から転送される処理対象となる複数の画素を保持し、さらにフィルタ処理ではフィルタ係数も保持する。
出力バッファ群23は、画素並列処理部21による処理結果(16画素に対応する16の処理結果)の並びを任意に変更して一時的に保持する。フィルタ処理では画素の並びを変更して保持することにより画素の間引き(縮小時)又は補間(拡大時)とを行う。
【0032】
命令メモリ24は、フィルタ処理用のマイクロプログラム(フィルタμP)、MC処理用のマイクロプログラム(MCμP)、OSD処理用のマイクロプログラム(OSDμP)、ME処理用のマイクロプログラム(MEμP)を記憶している。これ以外にも命令メモリ24は、マクロブロックのフォーマット変換用のマイクロプログラム、画素の数値表現を変換するためのマイクロプログラムなどを記憶している。ここで、マクロブロックのフォーマットとは、MPEG規格に定められている「4:2:0」、「4:2:2」、「4:4:4」などのY、Cb、Crブロックの画素のサンプリングレートの比率をいう。画素の数値表現には画素のとりうる値として0〜255で表現される場合(一般的なMPEGデータ等)と−128〜127で表現される場合(DVカメラ等)がある。
【0033】
命令デコーダ25は、命令メモリ24からマイクロプログラム中のマイクロコードを逐次読み出して解読し、解読結果に従ってPOUA207内の各部を制御する。
指示回路26は、POUC209から命令メモリ24のどのマイクロプログラムを起動すべきかの指示(開始アドレス等)を受付けて、指示されたマイクロプログラムを起動する。
【0034】
DDA回路27は、フィルタ処理において、入力バッファ群22に保持されたフィルタ係数群の選択制御を行う。
<1.2 画素並列処理部の構成>
図4、図5は、画素並列処理部の左半分、右半分の詳細な構成を示すブロック図である。
【0035】
図4において画素転送部17は、8個の入力ポートA1701〜H1708、画素データ保持し1クロック時間遅延する8個の遅延器A1701〜遅延器H1709、入力ポートの画素データと左の遅延器出力の内一方を選択する7個の選択部A1717〜G1723から構成され、入力バッファ群22から並列入力される8画素を8つの遅延器に保持し、8つの遅延器に保持した画素をクロック同期して右シフトする右シフタとして機能する。
【0036】
図5において画素転送部18は画素転送部17と比べシフトする方向が左である点で異なり、これ以外は同様の構成なので説明を省略する。
図4、図5における16個の画素処理部1〜画素処理部16は、いずれも同一構成であるので、画素処理部2を代表として説明する。
画素処理部2は、入力ポートA201〜入力ポートC203と、選択部A204、B205、遅延器A206〜D209、加算器A120、乗算器A211、加算器B212、出力ポートD213とから構成される。
【0037】
選択部A204は、入力ポートA201から入力される画素データと左隣の画素転送部17から出力される画素データとのうち一方を選択する。
選択部A204と遅延器A206は、右隣の画素処理部3から入力される画素データを左隣の画素処理部1にシフト出力する機能も果たす。
選択部B205は、入力ポートB202から入力される画素データと右隣外部メモリ220からシフト出力される画素データとのうち一方を選択する。
【0038】
選択部B205と遅延器B207は、左隣の画素処理部1から入力される画素データを右隣の画素処理部3にシフト出力する機能も果たす。
遅延器A206、遅延器B207はそれぞれ選択部A204、選択部B205に選択された画素データを保持する。
遅延器B207は、入力ポートC203からの画素データを保持する
加算器A120は遅延器A206と遅延器B207から出力される画素データを加算する。
【0039】
乗算器A211は、加算器A120の加算結果と遅延器C208からの画素データとを乗算する。この乗算器A211はフィルタ処理では画素データとフィルタ係数との乗算に利用される。
加算器B212は、乗算器A211の乗算結果を遅延器D209のデータとを加算する。
【0040】
遅延器D109は、加算器B212の加算結果を累積する。
画素処理部2は、これらの構成要素を選択的に組み合わせて動作させることにより上記(a)フィルタ処理、(b)MC処理、(c)OSD処理、(d)ME処理を実行する。これらの構成要素を選択的に組み合わせる動作は、命令メモリ24及び命令デコーダ25によるマイクロプログラム制御によってなされる。
【0041】
図6(a)は、入力バッファ群22の詳細な構成を示すブロック図である。
同図のように入力バッファ群22は、画素転送部17に画素データを供給する8個のラッチ221と、画素処理部1〜16に画素データを供給する16個のラッチ部222と、画素転送部18に画素データを供給する8個のラッチ223とから構成される。これらは、POUC209の制御により外部メモリ220からデュアルポートメモリ100を介して画素データ群が転送される。
【0042】
各ラッチ部222は、画素処理部の入力ポートA、Bに画素データを供給する2個のラッチと、画素処理部の入力ポートCに画素データ又はフィルタ係数を供給する選択部224からなる。
図6(b)は、選択部224の詳細な構成を示すブロック図である。
同図のように選択部224は、8つのラッチ224a〜224hと、8つのラッチからデータの何れか1つを選択するセレクタ224iとからなる。
【0043】
ラッチ224a〜224hは、フィルタ処理においてフィルタ係数a0〜a7(又はa0/2、a1〜a7)を保持する。これらフィルタ係数は、POUC209により外部メモリ220からデュアルポートメモリ100を介してラッチ224a〜224hに転送される。
セレクタ224iは、DDA回路27の制御によってクロックに同期してラッチ224aから224hに順次選択される。このようにフィルタ係数の画素処理部への供給は、マイクロコードにより直接制御されるのではなく、DDA回路27によりハードウェアにより制御されるので高速化される。
【0044】
図7は、出力バッファ群23の構成を示すブロック図である。
同図のように出力バッファ群23は、16個のセレクタ24a〜24pと、16個のラッチ23a〜23pとからなる。
セレクタ24a〜24pは、いずれも画素処理部1〜16の16個の処理結果が入力され、そのうち1つを選択する。この選択制御は命令デコーダ25によってなされる。
【0045】
ラッチ23a〜23pはそれぞれセレクタ24a〜24pの選択結果を保持する。
例えば、フィルタ処理の結果を1/2に縮小する場合には、16個の画素に対する画素処理部1〜16の16個の処理結果のうち、画素処理部1、3、5、・・・15の処理結果を8個のセレクタ24a〜24hが選択してラッチ23a〜23hに格納され、さらに、次の16個の画素に対する画素処理部1〜16の16個の処理結果のうち、画素処理部2、4、6、・・・16の処理結果を8個のセレクタ24i〜24pが選択してラッチ23i〜23pに格納される。このようにして画素が間引かれ、1/2縮小された16個の画素データが出力バッファ群23に保持され、さらにPOUC209の制御によりデュアルポートメモリ100を介して外部メモリ220に転送される。
<2.1 フィルタ処理>
画素演算ユニットにおけるフィルタ処理の詳細について説明する。
【0046】
POUC209はフィルタ処理の対象となるマクロブロックを特定し、POUA207又はPOUB208に対して32個の画素データ及びフィルタ係数a0/2,a1〜a7を初期値として入力バッファ群22に転送し、さらに指示回路26にタップ数の通知とともにフィルタ処理の開始を指示する。
図8は、画素演算ユニット(POUA207)にてフィルタ処理を行う場合の画素データの初期入力値を示す図である。同図において入力ポート欄は図4、図5に示した各入力ポートを意味する。入力画素欄は、入力バッファ群22から各入力ポートに供給される画素データを意味する。出力ポート欄は図4、図5に示した出力ポートD(加算器B出力)を、出力画素欄はその出力値を意味する。
【0047】
入力ポートに画素データを供給する入力バッファ群22には、図9に示すように水平方向に連続する32個の画素データX1〜X32が、POUC209によって転送されて保持されている。ここでのフィルタ処理の対象はX9〜X24の16個の画素データである。図8のように画素処理部1〜16の入力ポートA及びBには画素データX9〜X24が、入力ポートCには入力バッファ群22にて選択されたフィルタ係数a0/2が初期値として供給される。
【0048】
さらに、入力バッファ群22から初期入力値が画素並列処理部21に供給された後、フィルタ処理として所望するタップ数に応じた数のクロック入力によりフィルタ処理がなされる。
図10は、16個の画素処理部のうち画素処理部1を代表として、その演算過程を示す説明図である。同図では、入力クロック数毎に、画素処理部1内の遅延器A〜Dの保持内容と、加算器Bの出力値とを記している。また、図11は、画素処理部1のクロック入力毎の出力ポートD(加算器B出力)の出力値を示す図である
画素処理部1は最初のクロック入力(CLK1)によって初期入力値として遅延器A及びBは画素データX9を、遅延器Dはフィルタ係数a0/2を保持し、遅延器Dは0クリアされる。このとき選択部A及びBは何れも入力ポートを選択している。その結果加算器Aは(X9+X9)を、乗算器Aは(X9+X9)*a0/2を、加算器Bは(X9*a0/2+0(つまりa0*X9)を出力する(図11参照)。
【0049】
2回目のクロック入力(CLK2)以降では、選択部A及びBは入力ポートA、Bではなく隣接する画素処理部又は画素転送部からのシフト出力を選択する。
2回目のクロック入力(CLK2)によって、遅延器A〜Dには、画素データX10、X8、フィルタ係数a1、a0*X9を保持する。その結果、加算器Bはa0*X9+a1(X10+X8)を出力する(図11参照)。このように2回目は、フィルタ係数a1(遅延器C)と、両隣からシフト出力される画素データの和(加算器A)とを乗算器Aにて乗算している。加算器Bは、この乗算結果と遅延器Dの累積値とを加算している。
【0050】
3回目のクロック入力(CLK3)では、画素処理部1は2回目のクロック入力と同様に動作をすることにより、加算器Bからa0*X9+a1(X10+x8)+a2(X11+X7)を出力する。
4回目〜9回目のクロック入力(CLK4〜CLK9)でも同様に動作をすることにより、加算器Bは図11に示す出力値をそれぞれ出力することになる。
【0051】
このようにして、画素処理部1のファイルタ処理結果(出力データ)は9クロックの場合、
a0・X9+a1(X10+X8)+a2(X11+X7)+a3(X12+X6)
+a4(X13+X5)+a5(X14+X4)+a6(X15+X3)+a7(X16+X2)+a8(X17+X1)
となる。
【0052】
図10、図11ではCLK9までの処理過程を示しているが、入力クロック数はPOUC209から通知されたタップ数に応じて命令デコーダ25の制御によって打ち切られる。すなわち、各画素処理部は、タップ数3の場合はCLK2でフィルタ処理を終了し、タップ数5の場合はCLK3で終了し、タップ数7の場合はCLK4でフィルタ処理を終了する。別言すると、タップ数(2n−1)のフィルタ処理ではn回のクロック入力で終了する。
【0053】
命令デコーダ25は16画素の並列処理を16ライン分繰り返し、これにより4ブロックのフィルタ処理を終える。その際、16個のフィルタ処理結果は、出力バッファ群23において間引き処理または補間処理されることによって縮小又は拡大される。出力バッファ群23の縮小又は拡大後の画素群は16個保持される毎にPOUC209の制御によってデュアルポートメモリ100を介して外部メモリ220に転送される。また、命令デコーダ25は、16ライン目終了時にPOUC209に終了した旨を通知する。POUC209は、次のマクロブロックについて上記と同様にPOUA207を初期入力値とフィルタ係数の供給及びフィルタ処理の開始を指示する。
【0054】
なお、画素処理部2のファイルタ処理結果は9クロックの場合次式となる。
a0・X10+a1(X11+X9)+a2(X12+X8)+a3(X13+X7)
+a4(X14+X6)+a5(X15+X5)+a6(X16+X4)+a7(X17+X3)+a8(X18+X2)
画素処理部3のファイルタ処理結果は9クロックの場合次式となる。
a0・X11+a1(X12+X10)+a2(X13+X9)+a3(X14+X8)
+a4(X15+X7)+a5(X16+X6)+a6(X17+X5)+a7(X18+X4)+a8(X19+X3)
画素処理部4〜16のファイルタ処理結果も画素位置が異なるのみで同様なので省略する。
【0055】
このように画素並列処理部21は、16個の入力画素に対して並列にフィルタ処理を実行し、しかも入力クロック数の制御によってタップ数を任意にすることができる。
なお、図8では、画素処理部1の入力ポートA、B、Cの入力画素が(X9、X9、a0/2)としているが、(X9、0、a0)又は(0、X9、a0)としてもよい。画素処理部2〜16も対象画素が異なるだけで同様にしてもよい。
<2.2 MC(動き補償)処理>
復号対象フレームがPピクチャである場合のMC処理の詳細について説明する。
【0056】
POUC209は指示回路26にMC処理の開始を指示するとともに、MC処理の対象となる復号処理中のフレーム内のマクロブロック(差分値)と、参照フレームにおける動きベクトルが指す矩形領域を特定し、POUA207又はPOUB208に対して16個の差分値D1〜D16及び矩形領域内の16個の画素データP1〜P16を入力バッファ群22に設定する。
【0057】
図12は、画素演算ユニットにてMC処理(Pピクチャ)を行う場合の入出力画素データを示す図である。同図において入力ポート欄は、図4及び図5に示した画素転送部17、画素処理部1〜16、画素転送部18の入力ポートを意味する。入力画素欄は、入力ポートに入力される画素データを意味する。MC処理では画素転送部17及び18は使用されないので、入力画素は何であってもよい(don't care)。出力ポート欄は図4、図5に示した出力ポートD(加算器B出力)を、出力画素欄はその出力値を意味する。
【0058】
図13はMC処理における画素処理部1〜16への入力画素の説明図である。同図に示すようにD1〜D16は復号対象フレームのマクロブロック(MB)中の16個の差分値である。P1〜P16は参照フレームにおいて動きベクトルが指す矩形領域中の16個の画素データである。
MC処理では、画素処理部1〜16内の選択部A、Bはそれぞれ常に入力ポートA、Bを選択する。これにより、入力ポートAからの画素データ、入力ポートBからの差分値は、選択部A、Bを介して遅延器A、Bに入力され保持され、さらに加算器Aにて加算される。この加算結果は乗算器にて1倍され、加算器Bにて0を加えられて出力ポートDから出力される。つまり入力ポートAからの画素データと入力ポートBからの差分値と単純に加算され出力ポートDから出力される。
【0059】
さらに16個の加算結果は出力バッファ群23に格納され、POUC209によりデュアルポートメモリ100を介して外部メモリ220内の復号対象フレームに書き戻される。
以上の処理を復号対象フレームの16画素単位に繰り返すことによりMC処理がなされる。なお、各画素処理部では単純加算しているだけであり1クロック毎に16画素の加算結果を得ることができる。
【0060】
次に復号対象フレームがBピクチャの場合のMC処理を説明する。
図14は、画素演算ユニットにてMC処理(Bピクチャ)を行う場合の入出力画素データを示す図である。同図において入力ポート欄、入力画素欄、出力ポート欄、出力画素欄は、図12と同様である。ただし、入力画素欄は第1クロック(CLK1)と第2クロック(CLK2)と2回に分けて入力される点が図12と異なっている。
【0061】
P1〜P16と、B1〜B16は異なる2つの参照フレームにおいてそれぞれ動きベクトルが指す矩形領域中の16個の画素データである。
MC処理では、画素処理部1〜16内の選択部A、Bはそれぞれ常に入力ポートA、Bを選択する。第1クロック(CLK1)において入力ポートA、Bから選択部A、Bを介して遅延器A、BにP1、B1が保持され、同時に入力ポートCから定数1/2遅延器Cに保持される。これにより乗算器Aから(P1+B1)/2が得られる。第2クロック(CLK2)において、乗算結果(P1+B1)/2が遅延器Dに保持され、同時に入力ポートA、B、Cからの(1,0,D1)が遅延器A、B、Cに保持されるので、乗算器AからのD1と遅延器Dからの(P1+B1)/2とが加算器Bにより加算される。その結果出力ポートから(P1+B1)/2+D1が出力される。
【0062】
さらに16個の加算結果は出力バッファ群23に格納され、POUC209によりデュアルポートメモリ100を介して外部メモリ220内の復号対象フレームに書き戻される。
以上の処理を復号対象フレームの16画素単位に繰り返すことによりBピクチャに対するMC処理がなされる。
<2.3 OSD(オンスクリーンディスプレイ)処理>
POUC209は指示回路26にOSD処理の開始を指示するとともに、外部メモリ220に保持されたOSD画像から順次16個の画素データX1〜X16を読み出して入力バッファ群22に設定する。
【0063】
図15は、画素演算ユニットにてOSD(オンスクリーンディスプレイ)処理を行う場合の入出力画素データを示す図である。
同図において画素転送部17、18は使用されない。画素処理部1〜16の入力ポートAには入力バッファ群22から画素データX1〜X16が、入力ポートBにはそれぞれ0が、入力ポートCにはそれぞれ1が入力される。図16にOSD画像中の16個の画素が順次入力バッファ群22に書き込まれる様子を示す。
【0064】
画素処理部1〜16内の各選択部A、Bは、OSD処理では入力ポートを常に選択する。例えば、画素処理部1では、入力ポートAの画素データX1、入力ポートBの”0”は、それぞれ遅延器A、Bに保持され、さらに加算器Aにより加算される(X1+0=X1)。加算結果は乗算器Aにて入力ポートCから入力された”1”と乗算され加算器Bにて”0”が加算される。その結果、入力ポートAの画素データX1はそのまま加算器Bから出力されることになる。同様に画素処理部2〜画素処理部16からの入力ポートAの画素データX2〜X16がそのまま加算器Bから出力される。
【0065】
加算器Bから出力された画素データX1〜X16は出力バッファ群23に格納され、さらにPOUC209によってデュアルポートメモリ100を介して外部メモリ220内の表示用フレームデータに上書きされる。
上記処理を図16に示したように、OSD画像全体に繰り返すことにより、外部メモリ220内のOSD画像を表示用フレームデータに上書きコピーすることになる。これは、OSD処理のうち最も単純な処理であり、POUA207又はPOUB208は単にOSD画像を16画素単位に中継しているだけである。
【0066】
なお、OSD処理の他の形態として、(1)OSD画像と表示用フレームデータとをブレンドしてもよい。ブレンド率が0.5の場合には、入力バッファ群22から画素処理部1〜画素処理部16の各入力ポートAにOSD画像の画素データ、各入力ポートBに表示用フレームデータの画素データを供給すればよい。
また、ブレンド率がα:(1−α)の場合は、入力バッファ群22から第1クロックにおいて各画素処理部の入力ポートA、B、Cに(OSD画像の画素データ、0、α)を、第2クロックにおいて(0、表示用フレームデータの画素データ、1−α)を供給すればよい。
【0067】
また、OSD画像を縮小表示する場合には、入力バッファ群22からOSD画像に上記フィルタ処理を施し、出力バッファ群23から表示用フレームデータ内の縮小表示すべき位置に上書きコピーすればよい。
さらに、OSD画像をフィルタ処理によって縮小した後上記ブレンドをするようにしてもよい。
<2.4 ME(動き予測)処理>
図17は、画素演算ユニットにてME(動き予測)処理を行う場合の入出力画素データを示す図である。同図の入力画素欄においてX1〜X16は符号化対象のフレーム中のマクロブロックの16画素であり、R1〜R16は参照フレーム中の16×16画素の矩形領域中の16画素である。図18はこれらの画素の関係を示す説明図である。同図の参照フレーム中動きベクトル(MV)探索範囲は、符号化対象のマクロブロックと同じ位置の周辺(例えば水平及び垂直方向に+16画素〜−16画素)の動きベクトルを探索する対象となる範囲である。このMV探索範囲には、16画素×16画素の矩形領域が、画素単位の探索であれば16×16通りの位置に存在し、ハーフペル(1/2画素)単位の探索であれば32×32通りの位置に存在する。図13ではMV探索範囲内の左上の矩形領域のみを図示している。
【0068】
ME処理は、MV探索範囲内の個々の矩形領域と、符合化対象のマクロブロックとの間で、各画素同士の差分の総和を求め、さらに総和が最小の矩形領域(つまり相関性の最も高い矩形領域)と符号化対象マクロブロックとの相対的な位置の変位を動きベクトルと決定する。符号化対象ブロックは相関性の最も高い矩形領域と差分がとられる。
【0069】
入力バッファ群22には、POUC209の制御によって、符号化対象の画素データX1〜X16と、一の矩形領域の画素データR1〜R16とが転送される。この矩形領域内の画素データR1〜R16はクロック毎に矩形領域内の1ライン分が転送される。従って一の矩形領域について16ライン分のR1〜R16が転送される。
図17によれば、図4に示した例えば画素処理部1は、第1クロックで入力ポートAの画素データX1と、入力ポートBの画素データR1との減算及び絶対値化が加算器Aにてなされ、乗算器Aを素通りする(1倍される)。加算器Bは乗算器出力と遅延器Dの保持データとの加算値が出力される。第1クロックでは加算器Bは1ライン目の|X1-R1|を出力することになる。
【0070】
第2クロックでは、遅延器に1ライン目の|X1-R1|が保持されるので、加算器Bは、乗算器Aからの2ライン目の|X1-R1|と遅延器Dに保持された1ライン目の|X1-R1|とを加算する。
第3クロックでは、遅延器に1及び2ライン目の|X1-R1|が累積されるので、加算器Bは、乗算器Aからの3ライン目の|X1-R1|と遅延器Dに保持された1ライン目の|X1-R1|とを加算する。
【0071】
同様の繰り返しにより第16クロックでは、加算器Bは、1〜16ラインまでの|X1-R1|の累積値(Σ|X1-R1|)を出力する。
画素処理部2〜16についても各々累積値(Σ|X1-R1|)〜(Σ|X16-R16|)がを出力する。
これら16個の累積値は第17クロックにおいて出力バッファ群23に保持され、POUC209によって取り出され、16個の累積値の合計が算出された後外部メモリ220内のワークエリアに保存される。
【0072】
以上により一矩形領域と符号化対象マクロブロックとの画素データの差分の総和の計算が終了する。
この後さらに、MV探索範囲内の他の矩形領域についても同様にして差分の総和が算出される。MV探索範囲内の全て矩形領域(あるいは必要な矩形領域)について差分の総和が算出されると、そのうち最小の値をもつ矩形領域が最も相関性の高い矩形領域と判断され、動きベクトルが生成される。
【0073】
なお、上記ME処理では画素処理部からの16個の累積値の合計を別途行っているが、16個の累積値の合計を画素処理部1〜16において算出するようにしてもよい。この場合、一の矩形領域についての16個の累積値は出力バッファ群23からそのまま外部メモリ220のワークエリアに保存しておき、このワークエリアに16個以上の矩形領域について累積値群が保存されたときに、画素処理部1〜16のそれぞれが1つの矩形領域を分担して16個の累積値を順次累積することにより差分の総和を求めるようにすればよい。
【0074】
また、上記ME処理では画素単位で差分の算出を行っているが、ハーフペル単位で行うようにしてもよい。その場合、ハーフラインと実ラインのうち、実ラインに対しては上記のように1クロックで|X1-R1|を算出し、ハーフラインに対しては、例えば2クロックのうち1クロックでハーフペルの画素値((R1+R1')/2)を算出し、次の1クロックで差分|X1-(R1+R1')/2|を算出するようにしてもよい。あるいは、5クロックのうち4クロックでハーフペルの画素値((R1+R1'+R2+R2')/4)を算出し、次の1クロックで差分を算出するようにしてもよい。
<3.1 垂直フィルタ処理(その1)>
図19は、図2に示したメディアプロセッサにおいて垂直フィルタ処理する場合のデータの流れを示した、メディアプロセッサの模式的なブロック図である。
【0075】
同図において、デコーダ部301は、図2中のビデオエレメンタリーストリームをデコード(伸長する)VLD205、TE206及びPOUA207(MC処理)に相当し、ビデオエレメンタリーストリームをデコード(伸長)する。
フレームメモリ302は、外部メモリ220に相当し、デコード結果のビデオデータ(フレームデータ)を保持する
垂直フィルタ303は、POUB208に相当し、垂直方向のフィルタ処理により垂直方向の縮小を行うする。
、バッファメモリ304は、外部メモリ220に相当し、縮小されたビデオデータ(表示用のフレームデータ)を保持する。
【0076】
画像出力部305は、ビデオバッファメモリ212、ビデオユニット213に相当し、表示フレームデータを映像信号に変換して出力する。
なお、POUA207はMC処理を、POUB208は垂直フィルタ処理を分担する。また、水平フィルタ処理による水平方向の縮小は、フレームメモリ302のデコードフレームデータに対してPOUA207、POUB208の一方が行うものとする。
<3.1.1 1/2縮小>
図20は、図19において1/2縮小処理を行う場合のフレームメモリ302、バッファメモリ304のデータ供給状態の時間変化を示す図である。
【0077】
図20において、グラフ701〜703の縦軸は、それぞれフィールドの垂直同期信号の周期Vを単位とする時間を示す。同図では5周期分を記してあり、グラフ70〜703では時間軸が一致している。グラフ701の横軸は、フレームメモリ302データ量を示す。グラフ7702の横軸は、バッファメモリ304のデータ量を示す。グラフ703は画像出力部305において出力中のフレーム(フィールド)を示す。
【0078】
グラフ701中の実線704はデコーダ部301からフレームメモリ302へのフレームデータの供給量を示している。破線705はフレームメモリ302から垂直フィルタ部303へのフレームデータの供給量を示している。
グラフ702中の破線706は垂直フィルタ部303からバッファメモリ304への1stフィールド縮小画像の供給量を示している。一点鎖線707は垂直フィルタ部303からバッファメモリ304への2ndフィールド縮小画像の供給量を示している。
【0079】
またグラフ702中の実線708はバッファメモリ304から画像出力部305への1stフィールド縮小画像データの供給状態を示している。1/2縮小の場合、縮小画像の表示位置はフレームの上半分の位置から下半分の位置までとりうるため、同図の実線709は表示位置に応じてタイミングが異なっている。同様に、実線709はバッファメモリ304から画像出力部305への2ndフィールド縮小画像データの供給状態を示している。
【0080】
グラフ701で示すように、デコーダ部301からフレームメモリ302へのnフレームのフレームデータの供給はn-1フレームの2ndフィールドのフレームメモリ302から垂直フィルタ部303への供給開始直後に開始し、フレームメモリ302から垂直フィルタ部303へのnフレームのフレームデータの供給はnフレームの1stフィールドのフレームメモリ302から垂直フィルタ部303への供給完了直前までに終了するように制御を行う。
【0081】
グラフ702で示すように、垂直フィルタ部303からバッファメモリ304へのnフレームの1stフィールドのフレームデータの供給はn-1フレームの2ndフィールド表示中に、nフレームの2ndフィールドのフレームデータの供給はnフレームの1stフィールド表示中にそれぞれ完了するように制御を行う。
このように装置を制御する事により、デコーダ部301からフレームメモリ302間は、2Vの期間に1フレームのフレームデータを転送する能力があれば十分である。フレームメモリ302から垂直フィルタ部303間は、1Vの期間に1/2フレームのフレームデータを転送する能力があれば十分である。デコーダ部301は2Vの期間に1フレームのフレームデータを生成する演算能力、垂直フィルタ部303は1Vの期間に1/2フレームのフレームデータをフィルタ処理する演算能力があれば十分である。垂直フィルタ部303からバッファメモリ304間は、1Vの期間に1/4フレームのフレームデータを転送する能力があれば十分である。バッファメモリ304から画像出力部305間は、1Vの期間に1/4フレームのフレームデータを転送する能力があれば十分である。フレームメモリ302は、フレームデータ1フレームを保持し、バッファメモリ304は、フレームデータ1/2フレームを保持する容量があれば十分である。
【0082】
次に、図20と対比するため、図21にバッファメモリ304を備えていない場合のデータ供給状態の時間変化を示す。
縮小処理を行わない場合、フレームメモリ302へのnフレームのデジタル画像データの供給は実線506で示すように、破線507で示すn-1フレームの2ndフィールドの垂直フィルタ部303への供給が始まった時から開始し、破線508で示すnフレームの1stフィールドの垂直フィルタ部303への供給が完了する前に終了する。そのため、図5のグラフ上で示す2Vの期間の間に1フレームのデジタル画像データを一定の速度で供給する。
【0083】
また、nフレームの1stフィールドのフレームメモリ302から垂直フィルタ部303へのデジタル画像データの供給は破線508で示すように、実線511が示すフレームメモリ302へのnフレームのデジタル画像データの供給が終了する直後に完了し、続いて2ndフィールドの処理を開始する。そのため、フレームメモリ302から垂直フィルタ部303へのデジタル画像データの供給は、図21のグラフ上で示す1Vの期間の間に1フィールドのデジタル画像データを一定の速度で供給される。
【0084】
ところが、1/2縮小処理を行う場合、フレームメモリ302へのnフレームのデジタル画像データの供給開始が可能となるタイミングは、n-1フレームの2ndフィールドの表示位置によって異なってくる。n-1フレームの2ndフィールドの表示位置によって、フレームメモリ302から垂直フィルタ部303へのデジタル画像データの供給は破線509から510の間のどこかで行われ、フレームメモリ302へのnフレームのデジタル画像データの供給開始が可能となるタイミングが時間的に最も遅れるのは、破線510で示す表示位置の場合である。この場合、1/2縮小画像は画像出力部501の下半分に出力される。また、フレームメモリ302へのnフレームのデジタル画像データの供給は、破線511で示すnフレームの1stフィールドの垂直フィルタ部303への供給が完了する前にに終了していなければならない。そのため、図21のグラフ上で示す1Vの期間の間に1フレームのデジタル画像データを一定の速度で供給する必要があり、縮小を行わない場合に比べ2倍の供給能力が必要となる。
【0085】
また、nフレームの1stフィールドのフレームメモリ302から垂直フィルタ部303へのデジタル画像データの供給は破線511で示すように、実線512が示すフレームメモリ302へのnフレームのデジタル画像データの供給が終了する直後に完了し、続いて2ndフィールドの処理を開始する。そのため、図5のグラフ上で示す1/2Vの期間の間に1フィールドのデジタル画像データを一定の速度で供給する必要があり、縮小を行わない場合に比べ2倍の供給能力が必要となる。垂直フィルタ部303も、供給されるデジタル画像データに見合った性能が要求されるため、縮小を行わない場合に比べ2倍の演算能力が必要となる。
【0086】
また、図23は、図20と対比するため、バッファメモリ304を備えていない場合であって1/4縮小処理を行う場合のデータ供給状態の時間変化を示す。
1/4縮小処理を行う場合のグラフを図23に示す。上記と同様の理由より、フレームメモリ302へのデジタル画像データの供給能力、フレームメモリ302から垂直フィルタ部303への供給能力、垂直フィルタ部の演算能力はそれぞれ縮小処理を行わない場合の4倍が必要となる。このように、バッファメモリ304を備えない場合は、縮小率が上がると必要なピーク性能も大きくなってしまう。
<3.1.2 1/4縮小>
図22は、図19示したメディアプロセッサにて1/4縮小を行う場合の各部のデータ供給状態とその時間変化を示す図である。
【0087】
図22において、グラフの横軸、縦軸は図20と同様である。
グラフ上の実線804はデコーダ部301からフレームメモリ302へのフレームデータの供給状態を示している。グラフ上の破線805はフレームメモリ302から垂直フィルタ部303へのフレームデータの供給状態を示している。グラフ上の破線806は垂直フィルタ部303からバッファメモリ304への1stフィールド縮小画像データの供給状態を示している。グラフ上の破線807は垂直フィルタ部303からバッファメモリ304への2ndフィールド縮小画像データの供給状態を示している。グラフ上の実線808はバッファメモリ304から画像出力部305への1stフィールド縮小画像データの供給状態を示している。グラフ上の実線809はバッファメモリ304から画像出力部305への2ndフィールド縮小画像データの供給状態を示している。
【0088】
同図に示すように、デコーダ部301からフレームメモリ302間は、2Vの期間に1フレームのフレームデータを転送する能力があれば十分である。フレームメモリ302から垂直フィルタ部303間は、1Vの期間に1/2フレームのフレームデータ転送する能力があれば十分である。デコーダ部301は2Vの期間に1フレームのフレームデータを生成する演算能力があれば十分である。垂直フィルタ部303は1Vの期間に1/2フレームのフレームデータをフィルタ処理する演算能力、垂直フィルタ部303からバッファメモリ304間は、1Vの期間に1/8フレームのフレームデータ転送能力、バッファメモリ304から画像出力部305間は、1Vの期間に1/8フレームのフレームデータ転送能力があれば十分である。フレームデータ1フレームを保持できるフレームメモリ302、フレームデータ1/4フレームを保持できるバッファメモリ304がそれぞれ必要となる。
【0089】
これらの各必要性能は最短でも1Vの期間での平均の能力であり、縮小率が大きくなっても短い期間に大きなピーク性能を要求される事がない。また、最も処理性能を必要とされるのが縮小なしの場合である。この場合、デコーダ部301からフレームメモリ302間は、2Vの期間に1フレームのフレームデータ転送能力で足りる。フレームメモリ302から垂直フィルタ部303間は、1Vの期間に1/2フレームのフレームデータ転送能力で足りる。デコーダ部301は2Vの期間に1フレームのフレームデータを生成する演算能力で足りる。垂直フィルタ部303は1Vの期間に1/2フレームのフレームデータをフィルタ処理する演算能力で足りる。垂直フィルタ部303からバッファメモリ304間は、1Vの期間に1/2フレームのフレームデータ転送能力で足りる。バッファメモリ304から画像出力部305間は、1Vの期間に1/2フレームのフレームデータ転送能力で足りる。フレームメモリ302はフレームデータ1フレームを保持でき、バッファメモリ304は、フレームデータ1フレームを保持できればよい。この能力であらゆる垂直縮小処理を行う事ができる。これらにより回路規模を削減し、動作クロックを引き下げる事が出来る。
<3.2 垂直フィルタ処理(その2)>
図24は、メディアプロセッサにおいて垂直フィルタ処理を行う場合のデータの流れを示した模式的なブロック図である。
【0090】
同図は、デコード部401、バッファメモリ402、垂直フィルタ部403、バッファメモリ404、映像出力部405、制御部406からなる。同図は、図19と比べて、デコード部401、垂直フィルタ部403、バッファメモリ404、映像出力部405は、同名の構成要素と同様である。従って同じ点は説明を省略し、異なる点を中心に説明する。
【0091】
バッファメモリ402は、1フレーム分の記憶容量より少ない容量でよい点でフレームメモリ302とは異なる。
垂直フィルタ部403は、垂直方向の64ライン(処理前のフレーム中の4マクロブロックライン)のフィルタ処理を終える毎に制御部406にその旨(フィルタ状態)を通知する点で垂直フィルタ部303と異なる。なお、通知の単位はマクロブロックライン2〜3単位としてもよい。
【0092】
デコード部401は、64ライン単位のデコードを終える毎に制御部406にその旨(デコード状態)を通知する点でデコード部301と異なる。なお、通知の単位は16ライン単位でもよい。
制御部406は、図2中のIOP211に相当し、デコード部401と垂直フィルタ部403の動作状態を、それぞれからの通知に基づいて監視し、垂直フィルタ処理がデコード処理を越さないように、かつデコード処理が垂直フィルタ処理を追い越さないようにデコード部401及び垂直フィルタ部403を制御する。つまり、制御部406の次の2つを制御する。1つは、フィルタ処理の対象となるマクロブロックラインの画素データ群をデコード部401がバッファメモリ402に書き込んでいないのに、垂直フィルタ部403が前のフレーム(又はフィールド)のマクロブロックラインの画素データ群を対象にフィルタ処理を行うことを防止することである。もう1つは、垂直フィルタ部403が垂直フィルタ処理の対象だが未処理のマクロブロックラインに対して、デコード部401が次のフレームの画素データ群を上書きしてしまうことを防止することである。
【0093】
図25は、制御部406における制御内容を示す説明図である。
同図の横軸は時間であり、制御部406、VSYNC(垂直同期信号)、デコード部401、垂直フィルタ部403、映像出力部405の各動作を記してある。
同図のように デコード部401は64ラインのデコードを終える毎にその旨を制御部406に通知し、垂直フィルタ部403は64ラインのフィルタしょりを終える毎にその旨を制御部406に通知する。制御部406は、これらの通知を下に、デコードが完了したライン番号Ndと、フィルタ処理が完了したライン番号Nfとを保持及び更新し、Nd(現フレーム)>Nf(現フレーム)、Nd(次のフレーム)<Nf(現フレーム)を満たすよう、デコード部401、垂直フィルタ部403を制御する。具体的には、制御部406は、NdとNfが接近した場合(その差がしきい値以下になった場合)にはデコード部401、垂直フィルタ部403の一方を一時的に停止させる。なお、Nd、Nfはマクロブロックラインの番号であってもよい。
【0094】
また、NdとNfが接近した場合には、制御部406の制御によって、デコード部401、垂直フィルタ部403の一方は制御部406により一時的に停止されるが、NdとNfが接近したか否かの判定及びデコード部401又は垂直フィルタ部403を一時的に停止させる制御は、制御部406以外が担当するように構成してもよい。
【0095】
たとえば、垂直フィルタ部403がデコード部401に上記フィルタ状態の通知を行うようにし、デコード部401は、フィルタ状態の通知と内部のデコード状態とに従って、NdとNfとが接近したか否かを判定し、判定結果に応じてデコード動作を一時的に停止し又は垂直フィルタ部403を一時的に停止させる構成としてもよい。
【0096】
あるいは、逆に、デコード部401が垂直フィルタ部403に上記デコード状態の通知を行うようにし、垂直フィルタ部403は、デコード状態の通知と内部のフィルタ状態とに従って、NdとNfとが接近したか否かを判定し、判定結果に応じてフィルタ処理を一時的に停止し又はデコード部401を一時的に停止させる構成としてもよい。
<3.2.1 1/2縮小>
図26は図24において1/2縮小処理を行う場合の各部の供給データ量を示す図である。
【0097】
グラフ901の横軸はバッファメモリ402上のフレームデータ量を示し、縦軸は時間を示している。グラフ902の横軸はバッファメモリ404上のフレームデータ量を示し、縦軸は時間を示している。グラフ903は画像出力部405の状態を時系列上に並べたものであり、時間軸はグラフ901、902の縦軸と合っている。
【0098】
グラフ上の実線904はデコーダ部401からバッファメモリ402へのフレームデータの供給状態を示している。グラフ上の破線905はバッファメモリ402から垂直フィルタ部403へのフレームデータの供給状態を示している。グラフ上の破線906は垂直フィルタ部403からバッファメモリ404への1stフィールド縮小画像データの供給状態を示している。グラフ上の破線907は垂直フィルタ部403からバッファメモリ404への2ndフィールド縮小画像データの供給状態を示している。グラフ上の実線908はバッファメモリ404から画像出力部405への1stフィールド縮小画像データの供給状態を示している。グラフ上の実線909はバッファメモリ404から画像出力部405への2ndフィールド縮小画像データの供給状態を示している。
【0099】
グラフ901で示すように、デコーダ部401からバッファメモリ402へのnフレームのフレームデータの供給が開始された直後に、バッファメモリ402から垂直フィルタ部403へのnフレームのフレームデータの供給を開始し、デコーダ部401からバッファメモリ402へのnフレームのフレームデータの供給が終了する直後にバッファメモリ402から垂直フィルタ部403へのnフレームのフレームデータの供給が終了するように制御を行う。グラフ902で示すように、垂直フィルタ部403からバッファメモリ404へのnフレームのフレームデータの供給はn-1フレーム表示中に完了するように制御を行う。
【0100】
このように装置を制御する事により、デコーダ部401からバッファメモリ402間は、2Vの期間に1フレームのフレームデータ転送能力、バッファメモリ402から垂直フィルタ部403間は、2Vの期間に1フレームのフレームデータ転送能力、デコーダ部401は2Vの期間に1フレームのフレームデータを生成する演算能力、垂直フィルタ部403は2Vの期間に1フレームのフレームデータをフィルタ処理する演算能力、垂直フィルタ部403からバッファメモリ404間は、2Vの期間に1/2フレームのフレームデータ転送能力、バッファメモリ404から画像出力部405間は、1Vの期間に1/4フレームのフレームデータ転送能力、数ライン分のフレームデータを保持できるバッファメモリ402、フレームデータ1フレームを保持できるバッファメモリ404がそれぞれ必要となる。
<3.2.2 1/4縮小>
図27は図24において1/4縮小を行った場合の各部のデータ供給量を示す図である。
【0101】
グラフ1001の横軸はバッファメモリ402上のフレームデータ量を示し、縦軸は時間を示している。グラフ1002の横軸はバッファメモリ404上のフレームデータ量を示し、縦軸は時間を示している。グラフ1003は画像出力部405の状態を時系列上に並べたものであり、時間軸はグラフ1001、1002の縦軸と合っている。
【0102】
グラフ上の実線1004はデコーダ部401からバッファメモリ402へのフレームデータの供給状態を示している。グラフ上の破線1005はバッファメモリ402から垂直フィルタ部403へのフレームデータの供給状態を示している。グラフ上の破線1006は垂直フィルタ部403からバッファメモリ404への1stフィールド縮小画像データの供給状態を示している。グラフ上の破線1007は垂直フィルタ部403からバッファメモリ404への2ndフィールド縮小画像データの供給状態を示している。グラフ上の実線1008はバッファメモリ404から画像出力部405への1stフィールド縮小画像データの供給状態を示している。グラフ上の実線1009はバッファメモリ404から画像出力部405への2ndフィールド縮小画像データの供給状態を示している。
【0103】
このように装置を制御する事により、デコーダ部401からバッファメモリ402間は、2Vの期間に1フレームのフレームデータ転送能力で足り、バッファメモリ402から垂直フィルタ部403間は、2Vの期間に1フレームのフレームデータ転送能力で足り、デコーダ部401は2Vの期間に1フレームのフレームデータを生成する演算能力で足り、垂直フィルタ部403は2Vの期間に1フレームのフレームデータをフィルタ処理する演算能力で足り、垂直フィルタ部403からバッファメモリ404間は、2Vの期間に1/4フレームのフレームデータ転送能力で足り、バッファメモリ404から画像出力部405間は、1Vの期間に1/8フレームのフレームデータ転送能力で足りる。バッファメモリ402は、数ライン分のフレームデータを保持でき、バッファメモリ404はフレームデータ1/2フレームを保持できれば足りる。
【0104】
これらの各必要性能は最短でも1Vの期間での平均の能力であり、縮小率が短い期間で大きなピーク性能を要求される事がない。
また、最も処理性能を必要とされるが縮小なしの場合であり、その場合に要求されるのがデコーダ部401からバッファメモリ402間は、2Vの期間に1フレームのフレームデータ転送能力、バッファメモリ402から垂直フィルタ部403間は、2Vの期間に1フレームのフレームデータ転送能力、デコーダ部401は2Vの期間に1フレームのフレームデータを生成する演算能力、垂直フィルタ部403は2Vの期間に1フレームのフレームデータをフィルタ処理する演算能力、垂直フィルタ部403からバッファメモリ404間は、2Vの期間に1フレームのフレームデータ転送能力、バッファメモリ404から画像出力部405間は、1Vの期間に1/2フレームのフレームデータ転送能力、数ライン分のフレームデータを保持できるバッファメモリ402、フレームデータ2フレームを保持できるバッファメモリ404であり、この能力であらゆる垂直縮小処理を行う事ができる。これらにより回路規模を削減し、動作クロックを引き下げる事が出来る。
<4.変形例>
図28、29は、画素並列処理部の左半分、右半分の第1の変形例を示す図である。これらの図は、図3、4に対して同じ構成要素には同じ符号を付しているので説明を省略し、異なる点を中心に説明する。
【0105】
図28、29は、図3、4の画素処理部1〜16の代わりに画素処理部1a〜16aを、画素転送部17、18の代わりに画素転送部17a、18bを備える。画素処理部1a〜16aはいずれも同じ構成なので、画素処理部1aを代表して説明する。
画素処理部1aは、画素処理部1における選択部A104、選択部B105の代わりに選択部A104a、選択部B105aを備える。
【0106】
選択部A104aは、選択部A104と比べると2入力から3入力になっている点が異なる。つまり、選択部A104aは、2つ隣の画素転送部(又は画素処理部)の遅延器(遅延器B)から画素データ入力が増えている。
選択部B105aは、同様に2つ隣の画素転送部(又は画素処理部)の遅延器(遅延器B)の画素データ入力が増えている。
【0107】
また、画素転送部17aは、選択部B1703〜選択部G1708の代わりに選択部B1703a〜選択部G1708aを備える。選択部B1703a〜選択部G1708aは、それぞれ2入力ではなく3入力になっている。増えている入力は、2つ左の遅延器からの画素データ入力である。
また、画素転送部18aは、選択部B1803〜選択部G1808の代わりに選択部B1803a〜選択部G1808aを備える。選択部B1803a〜選択部G1808aは、それぞれ2入力ではなく3入力になっている。増えている入力は、2つ右の遅延器からの画素データ入力である。
【0108】
この構成によれば、処理対象の画素と、その画素から左右に2つ隣の画素を順に用いたフィルタ処理を行うことができる。
例えば、画素処理部1aでは次式などを演算することができる。
a0・X9+a1(X11+X7)+a2(X13+X5)+a3(X15+X3)
図30、31は、画素並列処理部の左半分、右半分の第2の変形例を示す図である。
【0109】
図30、31は、図3、4の画素処理部1と画素処理部16との代わりに画素処理部1bと画素処理部16bとを備える。
画素処理部1bは、画素処理部1における選択部B105の代わりに選択部b105bを備える。選択部B105bは、遅延器B107からのフィードバック入力を有している点で選択部B105と異なっている。
【0110】
画素処理部16bは、画素処理部16における選択部A1604の代わりに選択部A1604bを備える。選択部A1604bは、遅延器A1606からのフィードバック入力を有している点で選択部A1605と異なっている。
この構成によれば、画素処理部1bは例えば次の演算を行う。
a3*X6+a2*X7+a1*X8+a0*X9+a1*X10+a2*X11+a3*X12
このとき画素処理部2の出力は、次のようになる。
【0111】
a3*X20+a2*X21+a1*X22+a0*X23+a1*X24+a2*X24+a3*X24
このとき、画素処理部16bの出力は次のようになる。
a3*X21+a2*X22+a1*X23+a0*X24+a1*X24+a2*X24+a3*X24
このように、図30、31では、左端の画素処理部1bにデータ列の左端の画素データが転送されてきた場合に、選択部B105bは画素処理部1b内の遅延器Bからのフィードバック入力を選択する。右端の画素処理部16bにデータ列の右端の画素データが転送されてきた場合、選択部A1604bは、遅延器A1606からのフィードバック入力を選択する。
【0112】
図32、33は、画素並列処理部の左半分、右半分の第2の変形例を示す図である。
図32、33は、図3、4の画素処理部1〜16の代わりに画素処理部1c〜16c、画素転送部17、18の代わりに画素転送部17c、18cを備える。画素処理部1c〜16cはいずれも同じ構成なので、画素処理部1aを代表して説明する。
【0113】
画素処理部1cは、画素処理部1における選択部A104、選択部B105の代わりに選択部A104c、選択部B105cを備える。
選択部A104cは、選択部A104と比べると2入力から3入力になっている点が異なる。つまり、選択部A104cは、2つ隣の画素転送部(又は画素処理部)の遅延器(遅延器B)の画素データ入力が増えている。
【0114】
選択部B105cは、2つ隣の画素転送部(又は画素処理部)の遅延器(遅延器B)の画素データ入力と、遅延器B107からのフィードバック入力とが増えている。
画素転送部17c、18cは、図28、図29に示した画素転送部17a、18aと同様に2入力ではなく3入力になっている。
【0115】
この構成によれば、画素処理部1cは例えば次の演算を行う。
a3*X9+a2*X9+a1*X9+a0*X9+a1*X11+a2*X13+a3*X15
このとき画素処理部2cの出力は、次のようになる。
a3*X10+a2*X10+a1*X10+a0*X10+a1*X12+a2*X14+a3*X16
このとき画素処理部15cの出力は、次のようになる。
a3*X17+a2*X19+a1*X21+a0*X23+a1*X23+a2*X23+a3*X23
このとき画素処理部16cの出力は、次のようになる。
a3*X18+a2*X20+a1*X22+a0*X24+a1*X24+a2*X24+a3*X24
図34は、POUA207の変形例を示す図である。
【0116】
同図のPOUA207は、図2と比べてアップサンプリング回路22aとダウンサンプリング回路23aとが追加されている。図2と同じ点は説明を省略し、異なる点を中心に説明する。
アップサンプリング回路22aは、入力バッファ群22から入力される画素データ群を垂直方向に拡大する。例えば、入力バッファ群22から入力される画素データ群を垂直方向に2倍にするよう画素データを補間するため、入力バッファ群22からの画素データ群の入力1回に対して、同じ画素データ群を2回画素並列処理部21に出力する。
【0117】
ダウンサンプリング回路23aは、画素並列処理部21から入力される画素データ群を垂直方向に縮小する。例えば、画素並列処理部21から入力される画素データ群を垂直方向に1/2倍にするよう画素データを間引く。つまり、画素並列処理部21からの画素データ群の入力2回に対して、1回分を破棄し1回分を出力する。
【0118】
この構成によれば、画素並列処理部21の入力側で垂直方向に2倍、出力側で垂直方向に1/2倍するので、外部メモリ220における1フレームあたりのデータ量を垂直方向に1/2にすることができ、その結果、POUC209によるPOUA207へのデータ転送量を1/2にすることができる。これにより、デュアルポートメモリ100の内部ポートへのアクセスが集中する場合にバスネックを解消することができる。
【0119】
また、本発明の画素演算装置は画像のをリサイズ等を行うのフィルタリング処理を複数画素に対して並列に行うので、動画の圧縮処理/伸張処理、リサイズ等を扱うメディアプロセッサなどのデジタル映像機器に利用される。
【0120】
【発明の効果】
本発明の画素演算装置は、フィルタ処理を行う画素演算装置であって、N個の画素処理手段と、N個の画素データ及びフィルタ係数を供給する供給手段と、N個の画素処理手段を並列に動作させる制御手段とを備える。
各画素処理手段は、供給手段に供給された画素データとフィルタ係数とを用いて演算した後、各画素処理手段に対して隣接する画素処理手段から画素データを取得し、取得した画素データを用いて演算して演算結果を累積する。前記制御手段は、隣接する画素処理手段からの画素データの取得と、取得した画素データを用いた演算及び累積とをタップ数に応じた回数繰り返すようN個の画素処理手段を制御する。
【0121】
ここで、前記N個の画素処理手段は、N個の画素データを右シフトする第1シフタと、N個の画素データを左シフトする第2シフタを形成する。各画素処理手段は、隣接する2つの画素処理手段からシフトアウトされる2つの画素データを用いて演算する。
この構成によれば、タップ数を可変にすることができ、周波数をあげずに処理を高速化するフィルタリング処理を行うことができるという効果がある。
【0122】
また、本発明の画素演算装置は、画素データとして差分画像の画素データと参照フレームの画素データとを供給手段から供給する。
この構成によれば、フィルタリング処理だけでなくMC(動き補償)処理にも利用可能で、フィルタ装置とMC回路とを独立に設ける必要がないので、回路規模の小型化を図ることができるという効果がある。
【図面の簡単な説明】
【図1】従来技術におけるFIRフィルタ処理を行う回路例を示すブロック図である。
【図2】画素演算ユニットを備えるメディアプロセッサの構成を示すブロック図である。
【図3】画素演算ユニット(POUA、POUB)の構成を示すブロック図である。
【図4】画素並列処理部の左半分の構成を示すブロック図である。
【図5】画素並列処理部の右半分の構成を示すブロック図である。
【図6】(a)は、入力バッファ群22の詳細な構成を示すブロック図である。
(b)は、入力バッファ群22内の選択部の詳細な構成を示すブロック図である。
【図7】出力バッファ群23の構成を示すブロック図である。
【図8】画素演算ユニットにてフィルタ処理を行う場合の画素データの初期入力値を示す図である。
【図9】画素処理部1に対する画素データの初期入力値を示す説明図である。
【図10】画素処理部1でのフィルタ処理における演算過程を示す図である。
【図11】画素処理部1でのフィルタ処理の演算内容を示す説明図である。
【図12】画素演算ユニットにてMC(動き補償)処理(Pピクチャ)を行う場合の入出力画素データを示す図である。
【図13】MC処理における復号対象フレームと参照フレームとを示す説明図である。
【図14】画素演算ユニットにてMC処理(Bピクチャ)を行う場合の入出力画素データを示す図である。
【図15】画素演算ユニットにてOSD(オンスクリーンディスプレイ)処理を行う場合の入出力画素データを示す図である。
【図16】画素演算ユニットにおけるOSD(オンスクリーンディスプレイ)処理の説明図である。
【図17】画素演算ユニットにてME(動き予測)処理を行う場合の入出力画素データを示す図である。
【図18】画素演算ユニットにてME(動き予測)の説明図である。
【図19】メディアプロセッサにおいて垂直フィルタ処理を行う場合のデータの流れを示した模式的なブロック図である。
【図20】垂直1/2縮小を行う場合の説明図である。
【図21】従来技術において垂直1/2縮小を行う場合の説明図である。
【図22】垂直1/4縮小を行う場合の説明図である。
【図23】従来技術において垂直1/4縮小を行う場合の説明図である。
【図24】メディアプロセッサにおいて垂直フィルタ処理を行う場合のデータの流れを示した模式的な別のブロック図である。
【図25】デコード処理と垂直フィルタ処理とのタイミングを示す説明図である。
【図26】垂直1/2縮小を行う場合の説明図である。
【図27】垂直1/4縮小を行う場合の説明図である。
【図28】画素並列処理部の左半分の第1の変形例を示す図である。
【図29】画素並列処理部の右半分の第1の変形例を示す図である。
【図30】画素並列処理部の左半分の第2の変形例を示す図である。
【図31】画素並列処理部の右半分の第2の変形例を示す図である。
【図32】画素並列処理部の左半分の第3の変形例を示す図である。
【図33】画素並列処理部の右半分の第3の変形例を示す図である。
【図34】画素処理ユニットの変形例を示す図である。
【符号の説明】
1 画素処理部
1〜16 画素処理部
17 画素転送部
18 画素転送部
21 画素並列処理部
22 入力バッファ群
22a アップサンプリング回路
23 出力バッファ群
23a ダウンサンプリング回路
23a〜23h ラッチ
23a〜23p ラッチ
23i〜23p ラッチ
24 命令メモリ
24a〜24h セレクタ
24a〜24p セレクタ
24i〜24p セレクタ
25 命令デコーダ
26 指示回路
27 DDA回路
100 デュアルポートメモリ
104 選択部A
104a 選択部A
104c 選択部A
105 選択部B
105a 選択部B
105b 選択部B
105c 選択部B
107 遅延器B
109 遅延器D
120 加算器A
200 メディアプロセッサ
201 ストリームユニット
201 入力ポートA
202 I/Oバッファ
202 入力ポートB
203 セットアッププロセッサ
203 入力ポートC
204 ビットストリームFIFO
205 可変長符号復号部
206 TE
207 POUA
208 POUB
209 POUC
210 オーディオユニット
211 IOP
212 ビデオバッファメモリ
213 ビデオユニット
214 ホストユニット
215 RE
216 フィルタ部
217 セットアップメモリ
218 専用LSI
220 外部メモリ
401 デコーダ部
402 バッファメモリ
403 垂直フィルタ部
404 バッファメモリ
405 映像出力部
406 制御部

Claims (2)

  1. フィルタ処理を行う画素演算装置であって、
    N個の画素処理手段と、
    N個の画素データ及びフィルタ係数を供給する供給手段と、
    N個の画素処理手段を並列に動作させる制御手段とを備え、
    前記N個の画素処理手段は、クロック入力毎にN個の画素データを右シフトする第1シフタと、クロック入力毎にN個の画素データを左シフトする第2シフタを形成し、
    前記第1シフタは、前記供給手段に供給された画素データを右シフトした後、前クロック入力において左隣の画素処理手段から右シフトされた画素データを右シフトし、
    前記第2シフタは、前記供給手段に供給された画素データを左シフトした後、前クロック入力において右隣の画素処理手段から左シフトされた画素データを左シフトし、
    各画素処理手段は、供給手段に供給された画素データとフィルタ係数とを用いて演算した後、各画素処理手段に対して隣接する2つの画素処理手段からクロック入力毎にシフトされる2つの画素データをクロック入力毎に取得し、取得した画素データを用いてクロック入力毎に演算し演算結果をクロック入力毎に累積することを特徴とする画素演算装置。
  2. フィルタ処理のタップ数を指定する手段をさらに備え、
    前記画素処理手段は、隣接する画素処理手段からの画素データの取得と、取得した画素データを用いた演算及び累積とを、指定されたタップ数に応じたクロック入力回数繰り返すことを特徴とする請求項1記載の画素処理装置。
JP2001125119A 2000-04-21 2001-04-23 画素演算装置 Expired - Fee Related JP4686048B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001125119A JP4686048B2 (ja) 2000-04-21 2001-04-23 画素演算装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2000-120754 2000-04-21
JP2000120753 2000-04-21
JP2000-120753 2000-04-21
JP2000120754 2000-04-21
JP2001125119A JP4686048B2 (ja) 2000-04-21 2001-04-23 画素演算装置

Publications (2)

Publication Number Publication Date
JP2002008025A JP2002008025A (ja) 2002-01-11
JP4686048B2 true JP4686048B2 (ja) 2011-05-18

Family

ID=27343160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001125119A Expired - Fee Related JP4686048B2 (ja) 2000-04-21 2001-04-23 画素演算装置

Country Status (1)

Country Link
JP (1) JP4686048B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
JP4042065B1 (ja) * 2006-03-10 2008-02-06 健治 吉田 情報処理装置への入力処理システム
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
JP5522893B2 (ja) * 2007-10-02 2014-06-18 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JPWO2010001562A1 (ja) 2008-07-02 2011-12-15 ルネサスエレクトロニクス株式会社 フィルタ処理装置及び半導体装置
JP4978936B2 (ja) * 2008-08-27 2012-07-18 京セラドキュメントソリューションズ株式会社 2次元空間フィルタ装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06292178A (ja) * 1993-03-31 1994-10-18 Sony Corp 適応形ビデオ信号演算処理装置
JPH10134176A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理方法及び装置
JPH10134175A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像処理装置および方法
JP2000020705A (ja) * 1998-06-30 2000-01-21 Sharp Corp 並列画像処理プロセッサ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06292178A (ja) * 1993-03-31 1994-10-18 Sony Corp 適応形ビデオ信号演算処理装置
JPH10134176A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理方法及び装置
JPH10134175A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像処理装置および方法
JP2000020705A (ja) * 1998-06-30 2000-01-21 Sharp Corp 並列画像処理プロセッサ

Also Published As

Publication number Publication date
JP2002008025A (ja) 2002-01-11

Similar Documents

Publication Publication Date Title
US7692688B2 (en) Method for correcting distortion of captured image, device for correcting distortion of captured image, and imaging device
US6411333B1 (en) Format conversion using patch-based filtering
US8111331B2 (en) Image resizer and resizing method
US6327000B1 (en) Efficient image scaling for scan rate conversion
US8072511B2 (en) Noise reduction processing apparatus, noise reduction processing method, and image sensing apparatus
JPH06326996A (ja) 圧縮されたビデオデータをデコードする方法及び装置
JP5788198B2 (ja) ビデオ処理、高速静止画処理、及び高品質静止画処理のためのアーキテクチャ
JPH09214972A (ja) デコーダ回路、mpegビデオストリーム復号化方法およびコンピュータ
JP2007221631A (ja) 撮像画像の歪み補正方法、撮像画像の歪み補正装置、撮像方法および撮像装置
JP6190386B2 (ja) ビデオスケーラのリンギング低減
US8260075B2 (en) Two-dimensional filter arithmetic device and method
JP4686048B2 (ja) 画素演算装置
US8014618B2 (en) High-speed motion compensation apparatus and method
US6829302B2 (en) Pixel calculating device
KR100794098B1 (ko) 화소연산장치
KR100287866B1 (ko) 수직 영상 포맷 변환 장치 및 이를 이용한 디지털 수신 시스템
JP4540191B2 (ja) 画像処理装置
Li et al. A general-purpose FPGA-based reconfigurable platform for video and image processing
TWI424371B (zh) Video processing device and processing method thereof
JP2011059911A (ja) 画像処理装置
JP2009296046A (ja) 撮像装置
JP2000059663A (ja) 撮像装置
KR19990051709A (ko) 엔티에스씨 영상 비디오의 해상도 변환 시스템
JP2004140879A (ja) デジタルカメラおよびデジタルカメラにおける画像処理方法
JPH0937215A (ja) 圧縮補間回路とアスペクト変換機能付き映像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4686048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees