説明

画像処理回路および画像符号化装置

【課題】本発明の一実施例では、実装面積の小さい画像処理回路を提供することを目的とする。
【解決手段】上記課題を解決するため、行列状に並んだ画素の画素値から補間画素値を求める画像処理回路は、列内の該画素値から補間演算処理により第一補間画素値を求める第一演算回路と、該第一演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第二補間画素値を求める第二演算回路と、該第二演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第三補間画素値を求める第三演算回路と、該第一演算部と該第二演算部で処理した画素列間の第四補間画素値を該第一補間画素値と該第二補間画素値から補間演算処理により求める第四演算回路と、該第二演算部と該第三演算部で処理した画素列間の第五補間画素値を該第二補間画素値と該第三補間画素値から補間演算処理により求める第五演算回路とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画データの動き補償を行う画像処理回路および画像符号化装置に関する。
【背景技術】
【0002】
動画データのフレーム間およびフレーム内の差分値に基づいてデータを圧縮し符号化する画像符号化技術が様々な分野で利用されている。フレームとは動画データを構成する一枚の静止画である。1つのフレームは複数のマクロブロックに分割される。全ての処理はマクロブロック単位で実行される。
【0003】
画像の圧縮符号化によって動画データのデータサイズを小さくすることにより、限られた記憶容量を有する記憶媒体に対し、より長時間で高画質の動画データを記憶させることが出来る。動画圧縮の機能を有する画像符号化装置はハンディカメラなどの携帯機器にも実装されている。フレーム間およびフレーム内の差分値に基づいてデータサイズを圧縮し符号化する画像符号化技術としてH.264やMPEG(Moving Picture Experts Group)などがある(角野眞也ほか、H.264/AVC教科書、株式会社インプレス、2006)。
【0004】
H.264は高精度の圧縮符号化を実現するため、フレーム間の差分値に基づく圧縮処理であるフレーム間予測処理を行う。フレーム間予測処理において、フレーム間の個々のマクロブロックにおける輝度の比較により、マクロブロックの移動量である動きベクトルを検出する。動きベクトルの検出の際にフレーム間予測処理における精度を向上させるため、整数精度の輝度参照画像から補間処理によって仮想的に求めた分数精度の輝度参照画像を用い、符号化対象画像の動き検出が行われる。
【0005】
動き検出で検出した動きベクトルを基に、参照画像フレームから補間処理によって輝度と色差の補間画素を生成する。参照画像フレーム中の複数の輝度また色差の参照画素から輝度と色差の補間画素を生成することを動き補償処理という。補間画素の補間関数は輝度と色差とで異なる。本発明は色差補間画素の生成に関する発明であるため、以下輝度の補間画素の説明は省略する。
【0006】
色差の補間画素は検出した動きベクトルの座標に近接する4つの参照画素から生成される。1つの補間画素は1つのPU(Proccesing Unit)と呼ばれる画素演算部が演算処理を行う。1つのマクロブロックにおいて計算すべき補間画素は複数存在する。
【0007】
補間画素の演算処理速度を上げるため、画像符号化装置は複数の画素演算部により複数の補間画素を並列して同時に演算する。画像の圧縮精度を向上させながら高速な圧縮符号化処理を実現するには、画素演算部の並列数をより多くする必要がある。並列数を多くするほど補間画素の演算処理速度は速くなるが、画素演算部の実装面積は大きくなる。
【0008】
以下の特許文献1には画像符号化装置における予測画素と参照画素との差分を求める回路において、共通部分を共有化する技術が開示されている。特許文献2には画像複合化装置においてメモリ部分を共有化する技術が開示されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第2848057号公報
【特許文献2】特開平08−130742号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の一実施例では、実装面積の小さい画像処理回路を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため、行列状に並んだ画素の画素値から補間画素値を求める画像処理回路は、列内の該画素値から補間演算処理により第一補間画素値を求める第一演算回路と、該第一演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第二補間画素値を求める第二演算回路と、該第二演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第三補間画素値を求める第三演算回路と、該第一演算部と該第二演算部で処理した画素列間の第四補間画素値を該第一補間画素値と該第二補間画素値から補間演算処理により求める第四演算回路と、該第二演算部と該第三演算部で処理した画素列間の第五補間画素値を該第二補間画素値と該第三補間画素値から補間演算処理により求める第五演算回路とを有する。
【発明の効果】
【0012】
実施形態によれば、実装面積の小さい画像処理回路を提供することができる。
【図面の簡単な説明】
【0013】
【図1】画像符号化装置のブロック図である。
【図2】参照画素と補間画素とのイメージ図である。
【図3】複数の参照画素と複数の補間画素とのイメージ図である。
【図4】画像処理回路の詳細ブロック図である。
【図5】画素演算部における乗算部のブロック図である。
【図6】従来技術による実装面積と本発明による実装面積との比較グラフである。
【発明を実施するための形態】
【0014】
以下、本実施の形態について説明する。なお、各実施形態における構成の組み合わせも本発明の実施形態に含まれる。
【0015】
図1は本実施の形態に係る画像符号化装置1の構成の一例を示すブロック図である。画像符号化装置1は入力された動画データを圧縮し符号化する。画像符号化装置1は差分器5、DCT変換部3、量子化部10、逆量子化部17、逆DCT変換部7、加算器18、フレーム内予測部11、フレーム間予測部12、可変長符号化部13を有する。ここでDCTとは離散コサイン変換(Discrete Cosine Transform)であり、離散信号を周波数領域の信号に変換する処理である。
【0016】
フレーム内予測部11は予測対象ブロックの予測計算に用いる符号化済みの隣接ブロックの画素16から予測画像を生成し、生成した予測画像と元の入力画像2との差分値が最も小さい予測モードを求めるフレーム内予測処理を行う。フレーム内予測部11は差分値が最も小さい予測モードを選択することにより、最も正確な画像予測が可能な予測モードを決定する。フレーム内予測部11は決定したモードの予測画素とコストを算出し判定部6へ出力する。ここでコストとは、元の入力画像2と生成した予測画像との差分値である。
【0017】
フレーム間予測部12は予測対象ブロックに対し、前方、後方、あるいはその両方のフレームから予測画像を生成し、生成した予測画像と元の入力画像2との差分を求めるフレーム間予測処理を行う。フレーム間予測部12は入力画像2および参照画像82を入力とし、予測画像ブロックの生成を行う。
【0018】
フレーム間予測部12は動き検出回路20、画像処理回路21を有する。動き検出回路20は入力画像2および参照画像82の輝度データから動きベクトル22およびコストを算出する。画像処理回路21は算出した動きベクトル22および参照画像82から、補間演算された輝度と色差データを有する予測画素を算出しコストと共に判定部6へ出力する動き補償回路として動作する。
【0019】
判定部6はフレーム間予測部12およびフレーム内予測部11が出力するコストのうち、コストの小さい方をマクロブロックのモードとして判定する。なお、画像を予測画像8として出力する。
【0020】
差分器5は入力画像2とその予測結果である予測画像8との差分を計算し、その差分値を予測誤差80として出力する。ここで予測画像8はフレーム間予測処理またはフレーム内予測処理において隣接フレームのマクロブロックあるいは同一フレームの隣接マクロブロックに基づいて生成された画像である。画像符号化装置1は各予測処理により生成された予測画像8と予測処理前の入力画像2との差分を符号化し出力する。差分が小さくなるほど画像の圧縮率は高くなる。
【0021】
DCT変換部3は予測誤差80を離散コサイン変換により周波数領域に変換する。量子化部10は変換したDCT係数値に対し、量子化ステップで除算した結果を整数値に丸める処理をする。
【0022】
可変長符号化部13は整数値に丸め込まれたDCT係数値のうち、出現頻度の高い情報を短い符号で表現し、出現頻度の低い情報を長い符号で表現することにより、全体として出力ビット数を減らす処理を行い、符号化データ19を出力する。
【0023】
逆量子化部17は量子化部10により量子化された予測誤差を逆量子化する。逆量子化した予測誤差は逆DCT変換部7により逆変換され、DCT係数値に変換される前の予測誤差81となる。
【0024】
加算器18はフレーム内予測部11又はフレーム間予測部12により生成された予測画像8と予測誤差81とを加算し画像16を出力する。画像16はフィルタ部9に入力される。フィルタ部9はデブロッキング・フィルタとも呼ばれ、画像16のブロックひずみを減少させる。フィルタ部9はブロックひずみ処理後の画像を復元画像15として出力する。復元画像15はフレーム間予測部12によるフレーム間予測処理の参照画像として用いられる。
【0025】
入力画像2が入力されると、フレーム間予測部12によりフレーム間予測処理が実行され、フレーム内予測部11によりフレーム内予測処理が実行される。判定部6はフレーム間予測処理結果およびフレーム内予測処理結果のうち最も入力画像2との差分値が小さい予測画像8を出力する。
【0026】
差分器5は生成された予測画像8と入力画像2との差分を計算し予測誤差80をDCT変換部3に出力する。予測誤差80はDCT変換部3により変換され量子化部10で量子化される。量子化された予測画像8は可変長符号化部13により符号化され、符号化データ19として出力される。
【0027】
量子化部10は量子化した予測誤差を可変長符号化部13に出力すると共に、逆量子化部17へ出力する。逆量子化部17により逆量子化された予測誤差は逆DCT変換部7により周波数領域から時間領域に変換される。加算器18は時間領域に変換された予測誤差と判定部6から出力された予測画像8とを加算し、予測処理前の画像16を復号生成する。
【0028】
以上の動作により画像符号化装置1は、フレーム間予測処理とフレーム内予測処理により動画を圧縮することが出来る。
【0029】
図2は参照画素A、B、C、Dと補間画素30とのイメージ図である。本実施例において補間画素30は色差データである。補間画素30は近接する参照画素A、B、C、Dを1/8画素精度で線形補間して重み付けし生成する。H.264規格において参照画素A、B、C、Dは整数画素信号である。1/8画素精度とは、参照画素A、B間および参照画素A、C間を8分割した距離を最小単位として補間画素30の画素値を補間演算できることを示す。
【0030】
図2において補間画素30の補間係数は参照画素Aを基準として定義されている。補間画素30は参照画素Aに対し、参照画素Bの方向へdx、参照画素Cの方向へdyの距離に位置する。dxは行方向に配置された参照画素A、Bまたは参照画素C、Dと補間画素30との関係から決まる補間係数である。dyは列方向に配置された参照画素A、Cまたは参照画素B、Dと補間画素30との関係から決まる補間係数である。補間係数dx、dyはそれぞれ0から8の整数である。図2の条件において、補間画素30の色差データは、補間画素30={(8−dx)×(8−dy)×A+dx×(8−dy)×B+(8−dx)×dy×C+dx×dy×D+32}>>6として重み付けにより補間演算される。ここで‘>>’は右方向にビットシフトする演算を示し、‘>>6’は6ビット右シフト演算することを示す。
【0031】
なお、本実施例は参照画素Aを基準としているが、参照画素B、C、Dを基準としても同様の計算により補間画素30の画素値を求めることが出来る。
【0032】
図3は参照画像82における複数の参照画素と複数の補間画素とのイメージ図である。図3は1つのマクロブロックである参照画像82の一部である。参照画像82を構成する参照画素A、B、C、D、E、F、G、H、I、J、M、Nは行列状に並んでいる。参照画像82の列83は参照画素A、C、Iを有する。列84は参照画素B、D、Jを有する。列85は参照画素E、G、Mを有する。列86は参照画素F、H、Nを有する。
【0033】
参照画像82において、補間画素31は補間画素30に隣接する補間対象画素である。補間画素31の画素値は補間画素30の画素値と同様に、左上の参照画素Bを基準として計算される。補間画素の画素値を演算する画素演算部が複数ある場合、画像符号化装置1は補間画素30、31を同時に計算することが出来る。
【0034】
補間画素30、31を同時計算する場合、参照画素Aを基準とする補間画素30の補間係数と、参照画素Bを基準とする補間画素31の補間係数は同じである。よってそれぞれの補間画素の画素値の計算式は、補間画素30={(8−dx)×(8−dy)×A+dx×(8−dy)×B+(8−dx)×dy×C+dx×dy×D+32}>>6、補間画素31={(8−dx)×(8−dy)×B+dx×(8−dy)×E+(8−dx)×dy×D+dx×dy×G+32}>>6となる。
【0035】
図3において、補間画素30の画素値は列83の参照画素A、Cの画素値と列84の参照画素B、Dの画素値を参照して演算される。補間画素31の画素値は列84の参照画素B、Dの画素値と列85の参照画素E、Gの画素値を参照して演算される。よって2つの補間画素30、31の画素値は列84の参照画素B、Dの画素値を共通に参照して演算される。共通に参照される参照画素B、Dに着目して上記補間画素の画素値の計算式を変形すると、補間画素30=[(8−dx)×{(8−dy)×A+dy×C}+dx×{(8−dy)×B+dy×D}+32]>>6、補間画素31=[(8−dx)×{(8−dy)×B+dy×D}+dx×{(8−dy)×E+dy×G}+32]>>6となる。
【0036】
変形後の補間画素30、31の画素値の計算式において、2つの式は{(8−dy)×B+dy×D}を共通項として有する。よって参照画素B、Dに係る共通項を演算する演算回路を2つの補間画素30、31に係る画素演算部において共有することにより、2つの補間画素30、31の画素値を別々の画素演算部で計算するときに比べて画素演算部の実装面積を小さくすることが出来る。
【0037】
図4は画像処理回路21の詳細ブロック図である。本実施例において画像処理回路21は係数生成部40、画素演算部41、42を有する。
【0038】
係数生成部40は基準となる参照画素に対する補間画素の補間係数dx、dyに基づいてそれぞれの参照画素A、B、C、Dの画素値に積算する係数を生成する。減算部38は補間係数dxおよび整数‘8’を入力とし、その差分である‘8−dx’を出力する。また、減算部39は補間係数dyおよび整数‘8’を入力とし、その差分である‘8-dy’を出力する。
【0039】
画素演算部41は参照画素A、B、C、Dの画素値に基づいて補間画素30の画素値を演算し出力する。
画素演算部42は参照画素B、D、E、Gの画素値に基づいて補間画素31の画素値を演算し出力する。画素演算部41、42はそれぞれ演算回路87、88、43を有する。画素演算部41、42は演算回路43を共有する。演算回路43は補間画素30、31の補間画素演算において共有される参照画素B、Dを入力とする。以下に画素演算部41および演算回路43の詳細構成について説明する。
【0040】
画素演算部41において、演算回路87は図3における列83の参照画素A、Cの画素値より列方向の補間係数dy、‘8−dy’に基づく重み付けを行い、参照画素A、Cの画素値から画素値‘(8−dy)×A+dy×C’を補間演算し出力する。画素演算部41における演算回路87は乗算部44、45、加算部46を有する。乗算部44は参照画素Aの画素値および‘8−dy’を入力とし、(8−dy)×Aを出力する。乗算部45は参照画素Cの画素値およびdyを入力とし、dy×Cを出力する。加算部46は乗算部44、45から出力される(8−dy)×A、dy×Cを入力とし、‘(8−dy)×A+dy×C’を出力する。
【0041】
演算回路43は、図3の列84において補間画素30、31の画素値の演算に共通に用いる参照画素B、Dより列方向の補間係数dy、‘8−dy’に基づく重み付けを行い、参照画素B、Dの画素値から画素値‘(8−dy)×B+dy×D’を補間演算し出力する。演算回路43は乗算部51、52、加算部53を有する。乗算部51は参照画素Bの画素値と補間係数‘8−dy’とを乗算し、(8−dy)×Bを出力する。乗算部52は参照画素Dの画素値と補間係数dyとを乗算し、dy×Dを出力する。加算部53は2つの乗算部51、52の出力(8−dy)×Bとdy×Dを加算し、画素値‘(8−dy)×B+dy×D’を出力する。演算回路43の出力する画素値は画素演算部41、42の演算回路88にそれぞれ入力される。
【0042】
演算回路88は演算回路87で求めた画素値と演算回路43で求めた画素値より行方向の補間係数dx、‘8−dx’に基づく重み付けを行い、補間演算により補間画素30の画素値を求める。演算回路88は乗算部47、48、加算部49を有する。乗算部47は‘8−dx’と演算回路87の出力である‘(8−dy)×A+dy×C’とを乗算し、(8−dx){(8−dy)×A+dy×C}を出力する。乗算部48はdxと演算回路43の出力である‘(8−dy)×B+dy×D’とを乗算し、dx×{(8−dy)×B+dy×D}を出力する。
【0043】
加算部49は乗算部47の出力(8−dx){(8−dy)×A+dy×C}と乗算部48の出力dx×{(8−dy)×B+dy×D}と‘32’を加算し‘(8−dx){(8−dy)×A+dy×C}+dx×{(8−dy)×B+dy×D}+32’を出力する。シフト演算部50は加算部49の出力を6ビット右シフトし、補間画素30の色差データである[(8−dx){(8−dy)×A+dy×C}+dx×{(8−dy)×B+dy×D}+32]>>6を出力する。
【0044】
画素演算部42は参照画素B、D、E、Gの画素値を入力とし、補間画素31の画素値である色差データを出力する。画素演算部41に対し画素演算部42の参照画素は異なるが、補間画素の画素値の演算処理内容は画素演算部41と同じである。よって画素演算部42について画素演算部41と同一構成には同一番号を付し、その説明を省略する。
【0045】
以上の通り、画素演算部41と画素演算部42は隣接する補間画素の演算において共通に使用する参照画素に係る共通項の演算回路を演算回路43として共有する。画素演算部における演算回路の一部を共有化することにより、画素演算部をそれぞれ別個独立に実装する場合に比べて画素演算部全体の実装面積を小さくすることが出来る。
【0046】
さらに3以上の画素演算部を並列に実装した場合、演算回路87には隣接する画素演算部と共有する列の参照画素が入力される。よって演算回路43と同様に隣接する画素演算部同士で演算回路87を共有することが出来る。
【0047】
図5は演算回路43における乗算部51の詳細ブロック図である。図5のAは乗算部51のブロック図を示し、図5のBは乗算部51の制御部60における制御テーブル71を示す。
【0048】
乗算部51はシフト演算部61、62、63、65、制御部60、マルチプレクサ64、66、加減算部67を有する。
【0049】
乗算部51に入力された参照画素Bは、マルチプレクサ64、66、シフト演算部61、62、63、65に入力される。本実施例において参照画素は8ビットの2進数である。
【0050】
シフト演算部61、62、63、65は入力された参照画素Bの画素値をあらかじめ指定された回数ビットシフトさせる。シフト演算部61、65は入力された参照画素Bを1ビット左シフトさせて出力する。シフト演算部62は入力された参照画素Bを2ビット左シフトさせて出力する。シフト演算部63は入力された参照画素Bを3ビット左シフトさせて出力する。
【0051】
制御部60は補間係数‘8−dy’に応じてシフト演算部のシフト回数を設定する。本実施例において、制御部60は補間係数‘8−dy’に応じて複数のシフト演算部61、62、63、65から出力されたシフト演算後の画素値から1つの画素値を選択する。制御部60は図5のBに示す制御テーブル71を記憶する。制御部60は入力信号‘8−dy’の値に応じてマルチプレクサ64、66、加減算部67に対し制御信号68、69、70を出力する。
【0052】
マルチプレクサ64は入力端子0から4に入力された信号のうち、制御信号68の値に応じて1つの入力信号を選択し出力する。制御信号68は5つの入力端子のうちいずれかを指定可能な、例えば3ビットの信号である。マルチプレクサ66は入力端子0から2に入力された信号のうち、制御信号69の値に応じて1つの入力信号を選択し出力する。制御信号69は3つの入力端子のうちいずれかを指定可能な、例えば2ビットの信号である。
【0053】
加減算部67は補間係数‘8−dy’に応じてマルチプレクサ64、66から出力された値を加算または減算し、その結果である‘(8−dy)×B’を出力する。制御部60は補間係数‘8−dy’に応じて制御信号70の値を設定する。加減算部67は制御信号70の値に応じてマルチプレクサ64、66から出力された値を加算または減算する。
【0054】
図5のBは制御部60に記憶された制御テーブル71である。制御テーブル71において、列72は乗算部51に入力される‘8−dy’の値である。
【0055】
列73は‘8−dy’の値に応じて制御部60から出力される制御信号68の値である。マルチプレクサ64は制御信号68の値に対応した入力端子から入力される信号を選択し出力する。
【0056】
列74は‘8−dy’の値に応じて制御部60から出力される制御信号69の値である。マルチプレクサ66は制御信号69の値に対応した入力端子から入力される信号を選択し出力する。
【0057】
列75は‘8−dy’の値に応じて制御部60から出力される制御信号70の値である。加減算部67は制御信号が‘0’の場合はマルチプレクサ64の出力値にマルチプレクサ66の出力値を加算し、制御信号が‘1’の場合はマルチプレクサ64の出力値からマルチプレクサ66の出力値を減算する。
【0058】
列76は‘8−dy’の値に応じて加減算部67から出力される値である。加減算部67から出力される値は乗算部51に入力される‘8−dy’と参照画素Bとの乗算値に対応する。
【0059】
例えば‘8-dy’が‘0’の場合、制御部60は制御信号68として‘0’を出力し、制御信号69として‘0’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子0の入力値‘0’を出力し、マルチプレクサ66は入力端子0の入力値‘0’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘0’を出力する。
【0060】
‘8-dy’が‘1’の場合、制御部60は制御信号68として‘1’を出力し、制御信号69として‘0’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子1の入力値‘B’を出力し、マルチプレクサ66は入力端子0の入力値‘0’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘B’を出力する。
【0061】
‘8-dy’が‘2’の場合、制御部60は制御信号68として‘2’を出力し、制御信号69として‘0’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子2の入力値‘B<<1’を出力し、マルチプレクサ66は入力端子0の入力値‘0’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘B<<1’を出力する。
【0062】
‘8-dy’が‘3’の場合、制御部60は制御信号68として‘2’を出力し、制御信号69として‘1’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子2の入力値‘B<<1’を出力し、マルチプレクサ66は入力端子1の入力値‘B’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘(B<<1)+B’を出力する。
【0063】
‘8-dy’が‘4’の場合、制御部60は制御信号68として‘3’を出力し、制御信号69として‘0’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子3の入力値‘B<<2’を出力し、マルチプレクサ66は入力端子0の入力値‘0’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘B<<2’を出力する。
【0064】
‘8-dy’が‘5’の場合、制御部60は制御信号68として‘3’を出力し、制御信号69として‘1’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子3の入力値‘B<<2’を出力し、マルチプレクサ66は入力端子1の入力値‘B’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘(B<<2)+B’を出力する。
【0065】
‘8-dy’が‘6’の場合、制御部60は制御信号68として‘3’を出力し、制御信号69として‘2’を出力し、制御信号70として‘0’を出力する。これによりマルチプレクサ64は入力端子3の入力値‘B<<2’を出力し、マルチプレクサ66は入力端子2の入力値‘B<<1’を出力し、加減算部67はマルチプレクサ64、66からの出力値を加算した結果である‘(B<<2)+(B<<1)’を出力する。
【0066】
‘8-dy’が‘7’の場合、制御部60は制御信号68として‘4’を出力し、制御信号69として‘1’を出力し、制御信号70として‘1’を出力する。これによりマルチプレクサ64は入力端子4の入力値‘B<<3’を出力し、マルチプレクサ66は入力端子1の入力値‘B’を出力し、加減算部67はマルチプレクサ64の出力からマルチプレクサ66の出力値を減算した結果である‘(B<<3)−B’を出力する。
【0067】
以上の通り乗算部51はシフト演算部と加減算部との組み合わせにより実装することができる。演算回路43における他方の乗算部52についても乗算部51と同様の構成にすることが出来る。
【0068】
以上の通り演算回路43を構成する乗算部51、52をディジタル乗算器で実装するのではなく、シフト演算部と加減算部で実現することにより、演算回路43の実装面積を小さくすることが出来る。また、画素演算部41、42における乗算部44、45においても同様にシフト演算部と加減算部で実現することにより、画素演算部41、42の実装面積を小さくすることが出来る。
【0069】
なお、本実施例において補間画素が横方向に隣接している場合について記載したが、補間画素が縦方向に隣接している場合であっても同様に回路の実装面積を小さくすることが出来る。また本実施例では2つの補間画素を同時に演算する場合について記載したが、画素演算部が3つ以上であっても、それぞれの補間画素を演算するのに共有する参照画素について回路を共有し、画素演算部の実装面積をより小さくすることができる。
【0070】
図6は画素演算部の並列数を多くしたときの、従来技術による実装面積と本発明による実装面積との比較グラフである。図6において、グラフ91は従来技術における画素演算部の並列数と回路面積との関係を示したものであり、グラフ92は本実施例における画素演算部の並列数と回路面積との関係を示したものである。ゲート1つ当りの回路面積はすべて同じとする。
【0071】
図6より、画素演算部の並列数を増やすほど回路の共有面積が増え、画素演算部全体の実装面積削減効果が大きくなる。より具体的には、画素演算部が2並列の場合には回路面積を17%減らすことが出来、4並列の場合には24%減らすことが出来、8並列の場合には28%減らすことが出来る。
【符号の説明】
【0072】
1 画像符号化装置
2 入力画像
11 フレーム内予測部
12 フレーム間予測部
20 動き検出回路
21 画像処理回路
22 動きベクトル
30、31 補間画素
40 係数生成部
41、42 画素演算部
43、87、88 演算回路
64、66 マルチプレクサ

【特許請求の範囲】
【請求項1】
行列状に並んだ画素の画素値から補間画素値を求める画像処理回路において、
列内の該画素値から補間演算処理により第一補間画素値を求める第一演算回路と、
該第一演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第二補間画素値を求める第二演算回路と、
該第二演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第三補間画素値を求める第三演算回路と、
該第一演算部と該第二演算部で処理した画素列間の第四補間画素値を該第一補間画素値と該第二補間画素値から補間演算処理により求める第四演算回路と、
該第二演算部と該第三演算部で処理した画素列間の第五補間画素値を該第二補間画素値と該第三補間画素値から補間演算処理により求める第五演算回路と
を有することを特徴とする画像処理回路。
【請求項2】
該第一演算回路、該第二演算回路、または該第三演算回路は、
該画素値と該補間画素値との関係に基づく補間係数を該画素値と乗算する複数の乗算部と、
該複数の乗算部での乗算結果を加算する加算部と
を有することを特徴とする、請求項1に記載の画像処理回路。
【請求項3】
該乗算部は、
画素値を2進数で表し、指定回数ビットシフトを行うシフト演算部と、
該補間係数に応じて該シフト演算部のシフト回数をそれぞれ設定する制御部と、
該シフト演算部から出力されるシフト後の参照画素の画素値を該補間係数に応じて加減算する加減算部と
を有することを特徴とする、請求項2に記載の画像処理回路。
【請求項4】
行列状に並んだ画素値から補間画素値を求める画像処理回路と、
該画像処理回路の出力画素と元の入力画素との差分値を計算する差分器と、
該差分値を離散コサイン変換する離散コサイン変換部と、
該離散コサイン変換された該差分値を可変長符号化する可変長符号化部とを有し、該画像処理回路は、
列内の該画素値から補間演算処理により第一補間画素値を求める第一演算回路と、
該第一演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第二補間画素値を求める第二演算回路と、
該第二演算回路で処理を行う列に隣接した列内の該画素値から補間演算処理により第三補間画素値を求める第三演算回路と、
該第一演算部と該第二演算部で処理した画素列間の第四補間画素値を該第一補間画素値と該第二補間画素値から補間演算処理により求める第四演算回路と、
該第二演算部と該第三演算部で処理した画素列間の第五補間画素値を該第二補間画素値と該第三補間画素値から補間演算処理により求める第五演算回路と
を有することを特徴とする画像符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate