画像符号化装置
【課題】 限られた符号量の範囲で、画像の精細度を選択可能にする。
【解決手段】 画像の符号化を行う画像符号化装置において、画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部6と、離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部7と、離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、量子化ステップを決定する制御部19と、を備える。画像特性パラメータが離散コサイン係数から算出されるので、少ない演算量で、画像特性パラメータが求められる。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができる。
【解決手段】 画像の符号化を行う画像符号化装置において、画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部6と、離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部7と、離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、量子化ステップを決定する制御部19と、を備える。画像特性パラメータが離散コサイン係数から算出されるので、少ない演算量で、画像特性パラメータが求められる。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができる。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、H.263規格、MPEG規格等にもとづく画像符号化に好適な、画像符号化装置に関し、特に、符号量を低減するための改良に関する。
【0002】
【従来の技術】動画像の符号化を行うことによって、画像の圧縮、すなわち、画像信号の量を低減する技術として、周知のMPEG規格等に代表される符号化技術が知られている。MPEG規格の符号化技術の例では、フレーム間の局部的な画像の動きの量を表現する動きベクトルを用いた動き補償を取り入れることによって、フレーム間の符号化が行われる。それによって、動画像の圧縮効率の飛躍的な向上が図られている。
【0003】
【発明が解決しようとする課題】しかしながら、従来の画像符号化技術では、リアルな動画像を電話回線等の伝送容量の限られた伝送経路を用いて伝送するには、なお、符号化信号の信号量、すなわち符号量を低く抑えることが課題となっている。
【0004】この発明は、従来の画像符号化技術における上記した問題点を解消するためになされたもので、符号量を低減し得る画像符号化装置を提供することを目的とする。
【0005】
【課題を解決するための手段】第1の発明の装置は、画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、前記離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、前記量子化ステップを決定する制御部と、を備えることを特徴とする。
【0006】第2の発明の装置は、第1の発明の画像符号化装置において、可変長符号化テーブルを参照しつつ前記量子化係数に対して可変長符号化を行う可変長符号化部を、さらに備え、前記制御部が、画像種別、マクロブロックの種別、および、前記可変長符号化テーブルに適合した方法にもとづいて、前記画像特性パラメータを算出することを特徴とする。
【0007】第3の発明の装置は、第1または第2の発明の画像符号化装置において、前記制御部が、さらに、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化の中における発生符号量にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量を決定することを、特徴とする。
【0008】第4の発明の装置は、画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、各マクロブロックに対して、画面内での位置、および、符号化対象画像における前記離散コサイン変換係数から、画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、視覚上の重要度に応じた重み付けを行うための重み付けパラメータを算出し、さらに、当該重み付けパラメータにもとづいて、前記マクロブロックごとに、目標符号量の割当、および、前記量子化ステップに対する重み付けを行う制御部と、を備えることを特徴とする。
【0009】
【発明の実施の形態】<1.実施の形態1>はじめに、実施の形態1の装置について説明する。
【0010】<1-1.装置の全体構成>図1は、実施の形態1の画像符号化装置の構成を示すブロック図である。後述するように、実施の形態1の装置は、フレーム間の符号化であるインター符号化が施された画像の中に、部分的に、フレーム内の符号化であるイントラ符号化が施された画像を組み込む装置部分(図1では、モード切替部20)に、主要な特徴を有している。したがって、図1R>1には、広く知られるMPEG規格にもとづいて画像信号の符号化を実行する装置を例示するが、実施の形態1に具体化される発明は、イントラ符号化画像とインター符号化画像との双方を得て送信する画像符号化装置一般に対して、適用可能である。
【0011】はじめに、モード切替部20の構成の前提となる周辺部を含めて、図1の装置の全体構成の概略について説明する。図1に示すように、カラーカメラなどの画像入力部1は、撮像された画像を表現する画像信号を、デジタル信号の形式で出力する。なお、本明細書では、説明の無用な煩雑化を避けるために、混同のおそれのない範囲で、画像を表現する画像信号と、画像そのものとを、等しく「画像」と表現する。
【0012】画像入力部1から出力される画像は、フレーム単位でフレームメモリ2に一時的に記憶される。その後、フレームメモリ読出部3によって、フレームメモリ2から、フレームごとに一定の順序で画像が読み出され、カレント画像22として差分回路4および切換部5へと入力される。
【0013】差分回路4は、フレームメモリ読出部3から送られたカレント画像22と、予測メモリ11から送られる予測画像12との間で、画素値の差分を演算する。切換部5は、差分回路4から出力される差分画像23と、フレームメモリ読出部3からのカレント画像22との間で、いずれかを選択して出力する。切換部5が出力する信号は、変換部6へと入力される。
【0014】変換部6では、いわゆる離散コサイン変換(DCT)が実行される。この離散コサイン変換では、例えば8×8画素で構成されるブロックごとに、入力された画像が、ブロックを構成する画素の数と同数(例えば、8×8=64個)の空間周波数成分(DCT係数)の組へと変換される。変換によって得られたDCT係数は、量子化部7へと入力される。
【0015】量子化部7では、その内部に備わる量子化テーブルに規定される係数値の組、および、符号化パラメータ制御部19から送出される量子化ステップ指示信号25を参照して、各DCT係数ごとに量子化が施される。すなわち、DCT係数が量子化係数へと変換される。量子化ステップ指示信号25は、量子化テーブルに規定される係数値の組に対して、一律に共通の倍率を付与することによって、量子化テーブルにもとづく量子化の幅、すなわち量子化ステップを、すべてのDCT係数に共通の倍率で補正する。量子化ステップが小さいほど、画質の劣化は抑えられるが、符号量は多くなる。
【0016】量子化部7で得られた量子化係数は、可変長符号化部(VLC)15へと入力されると同時に、逆量子化部8へと入力される。逆量子化部8では、量子化部7とは逆の演算が実行される。したがって、量子化される以前のDCT係数と同一形式の信号が得られる。
【0017】ただし、量子化部7における処理は、一般に非可逆であるため、逆量子化部8で再構成されたDCT係数は、変換部6から出力されるDCT係数と、一般には同一ではない。すなわち、逆量子化部8の出力には、量子化部7の処理によって生じる量子化誤差が一般に含まれる。いうまでもなく、量子化ステップが小さいほど、量子化誤差は小さくなる。
【0018】逆量子化部8で得られたDCT係数は、逆変換部9へと入力される。逆変換部9では、DCTとは逆の演算(逆DCT)が実行される。その結果、変換部6でDCT変換が施される前の画像信号と同一形式の画像信号が得られる。この画像信号も、いうまでもなく、一般には変換部6へ入力された画像信号と同一ではなく、量子化誤差を含んでいる。
【0019】再構成された画像信号は、参照画像13として、予測メモリ11へとフレーム単位で格納される。予測メモリ11に格納される参照画像13は、動きベクトル検出部14へと入力される。フレームメモリ読出部3から読み出されたカレント画像22は、動きベクトル検出部14へも同時に入力される。動きベクトル検出部14は、マクロブロック単位で、このカレント画像22にもっとも近い参照画像13の部分を探索する。探索された部分は、予測画像と称される。
【0020】動きベクトル検出部14は、さらに、予測画像からこれに対応するカレント画像22の上のマクロブロックまでの変位を表現するベクトルを、動きベクトル24として、予測メモリ11、および、可変長符号化部15へと送出する。予測メモリ11は、動きベクトル24にもとづいて、マクロブロックごとに参照画像13の中から予測画像12を抽出して、差分回路4へと送出する。
【0021】ここで、マクロブロックとは、動きベクトル24が定義される画像の単位であり、例えば、画像信号の輝度成分に対しては16×16画素、色差成分に対しては8×8画素で構成される。輝度成分に対して16×16画素でマクロブロックが定義される場合には、輝度成分に対しては、例えば、1つのマクロブロックが4分割されてなる8×8画素で構成されるブロックを単位として、変換部6におけるDCT変換処理、および、量子化部7における量子化処理が施される。
【0022】切換部5は、図示しない制御部に接続されており、この制御部の指示にもとづいて、既述したように、カレント画像22および差分画像23の間で、いずれかを選択して変換部6へと出力する。カレント画像22が選択されると、フレーム内での符号化、すなわちイントラ符号化が行われることとなる。そうして得られた画像は、Iピクチャーと称される。また、差分回路4が出力する差分画像23が選択されると、インター符号化の一種であるフレーム間予測符号化が行われることとなる。そうして得られた画像は、Pピクチャーと称される。
【0023】ところで、差分回路4と切換部5との間には、イントラ/インター間のモード切替を行うモード切替部20が介挿されている。したがって、差分画像23は切換部5へと直接には入力されずに、モード切替部20を介することによって、モード切替部20が出力するモード選択画像10として切換部5へと入力される。すなわち、切換部5は、直接には、カレント画像22とモード選択画像10とのいずれかを選択して出力する。
【0024】モード切替部20は、カレント画像22と差分画像23との間で、マクロブロックの単位で、いずれかを選択し、モード選択画像10として切換部5へ送出する。すなわち、モード切替部20は、本来ではインター符号化がなされるべきPピクチャー内に、マクロブロック単位で、イントラ符号化されたIピクチャーを混ぜ合わせるべく機能する。
【0025】可変長符号化部15では、入力される量子化係数に対して、例えばハフマン符号化などの可変長符号化処理が実行されると同時に、動きベクトル検出部14から送出される動きベクトル24が付加され、その結果、符号化信号が得られる。得られた符号化信号は、つづく多重化部16で多重化処理を施された上で、送信バッファ17に一旦蓄積される。
【0026】送信バッファ17に蓄積された符号化信号は、適時、送信経路18へと送出される。送信バッファ17からは、その状態、すなわち、バッファがオーバフローである、あるいは、空であることを通知するステータス信号が、符号化パラメータ制御部19へと送出される。符号化信号には動きベクトル24が含まれているため、符号化信号を受信し、カレント画像22を再構成する復号化装置において、動きベクトル24を考慮した復号化が可能となる。
【0027】<1-2.モード切替部>つぎに、本発明の特徴部をなすモード切替部20について説明する。モード切替部20は、プログラムを搭載したメモリと、そのプログラムに従って動作するコンピュータとを、備えることによって、所定の動作を実現することが可能である。モード切替部20は、また、プログラムによらずに、集積回路を含むハードウェアのみで構成することも可能である。
【0028】はじめに、比較対照のために、モード切替部20が、"Test Model Near-Term5"(以下、"TMN 5"と略記する)にもとづいて動作する例について説明する。"TMN 5"は、ITU-T(国際電気通信連合ITUの常設機関の一つ)に属する研究委員会によって記述されたテストモデルである。この"TMN 5"では、イントラ/インター間のモード切替をつぎの要領で行う。
【0029】まず、カレント画像内の一つのマクロブロックのすべての輝度成分(Y成分)の平均値mean が算出される。すなわち、数1に示す要領で、平均値mean が算出される。数1は、輝度成分に関して、1つのマクロブロックが16×16画素で構成されることを前提としている。そして、数1における記号YCi (i=1,・・,4)は、1個のマクロブロックを4等分割して成る4個のブロックの一つである第iブロック(i=1,・・,4)におけるすべての画素の輝度成分を表している。
【0030】
【数1】
【0031】つぎに、数2に示す要領で、各ブロックごとに、輝度成分から平均値mean が差し引かれ、その上で、得られた差の絶対値の総和Aが算出される。
【0032】
【数2】
【0033】つぎに、数3に示す要領で、輝度成分YCi の動きベクトルに対応するマクロブロックの輝度成分Ypiと輝度成分YCi とが差し引かれ、さらに、その差の絶対値の総和sumが算出される。
【0034】
【数3】
【0035】ただし、動きベクトルのx、y成分(画面上の水平、垂直成分)のいずれもが、値0であるときには、数4に示すように、絶対値の総和sumは、値100だけ差し引かれる。
【0036】
【数4】
【0037】こうして得られた総和sumにもとづいて、モード選択が行われる。すなわち、数5の関係が成り立つ(真)ならば、イントラモードが選択され、成り立たない(偽)ならば、インターモードが選択される。
【0038】
【数5】
【0039】以上が、"TMN 5"にもとづく、イントラ/インター間のモード切替のアルゴリズムである。
【0040】これに対して、この実施の形態のモード切替部20では、つぎの要領でモード切替が行われる。まず、数6に示す要領で、4個のブロックの各々ごとに、輝度成分の平均値が算出される。数6において、記号mean(i)は、第iブロック(i=1,・・,4)における輝度成分の平均値を表している。
【0041】
【数6】
【0042】つぎに、数7に示す要領で、各ブロックごとに、輝度成分から平均値mean(i)が差し引かれ、その上で、得られた差の絶対値の総和Aが算出される。
【0043】
【数7】
【0044】つぎに、数8に示す要領で、輝度成分YCi の動きベクトルに対応するマクロブロックの輝度成分Ypiと輝度成分YCi とが差し引かれ、さらに、その差の絶対値の総和sumが算出される。
【0045】
【数8】
【0046】こうして得られた総和sumにもとづいて、モード選択が行われる。すなわち、数5の関係が成り立つ(真)ならば、イントラモードが選択され、成り立たない(偽)ならば、インターモードが選択される。
【0047】テストモデル"TMN 5"では、1個のマクロブロックに属する各ブロックの中で、輝度成分の分散が小さくても、各ブロックにおける輝度成分の平均値の間に、大きな差があるときには、符号量が大きくなる方のモードが選択されることがある。例えば、一つのマクロブロックに含まれる各ブロックに関する輝度成分の平均値が、125,36,126,38であり、分散が8,15,9,16である場合が、これに相当する。
【0048】この実施の形態のモード切替部20では、"TMN 5"とは異なり、マクロブロック全体にわたる輝度成分の平均値が算出されるのではなく、ブロックごとに平均値が算出され、その平均値と各ブロックにおける輝度成分との絶対値差分の総和が、モード切替の判断基準とされる。このため、発生する符号量の少ない方が、モード切替部20において適切に選択される。すなわち、送信経路18へと送出される符号化信号の符号量を、低く抑えることができるという利点が得られる。
【0049】<2.実施の形態2>実施の形態2の画像符号化装置の全体構成は、図1のブロック図で示される。実施の形態2では、量子化ステップを決定する装置部分である符号化パラメータ制御部19に、実施の形態1とは異なる特徴がある。すなわち、実施の形態2では、符号化パラメータ制御部19は、符号化の対象とされる画像(符号化対象画像)のDCT係数から求めた画像特性パラメータを用いて、目標符号量を達成する符号化に最適な量子化ステップ指示値(QUANT)を決定する。決定されたQUANTは、それを表現する信号である量子化ステップ指示信号25の形式で量子化部7へ送られる。
【0050】また、画像特性パラメータは、符号化対象画像が属するI/Pピクチャー等のピクチャータイプ、マクロブロックのタイプ、および、ハフマンテーブル等のVLC(可変長符号化)テーブルに対して適合した方法を用いて決定される。以上の手順で決定されたQUANTを用いて量子化が行われることによって、目標符号量に対して符号量を±5%以内とする符号化が達成される。
【0051】図2および図3に、符号化対象画像がIピクチャーであるときの符号化の流れを示す。また、図4〜図6に符号化対象画像がPピクチャーであるときの符号化の流れを示す。以下に、これらのフローチャートに沿って、符号化の手順について説明する。
【0052】図2に示すように、符号化対象画像がIピクチャーであるときに、符号化が開始されると、まず、ステップS1において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS2〜S6までの第1ループの処理が、マクロブロックごとに反復して実行される。第1ループでは、レートコントロールを行うためのデータが準備される。
【0053】まず、ステップS3では、変換部6によるDCT変換が行われる。つづくステップS4では、同一画像内の隣接マクロブロックのDCT係数の値を参照して、疑似DC/AC係数予測が行われる。予測モードも、これらのデータによって、擬似的に決定される。つぎに、ステップS5において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。
【0054】符号化対象画像のすべてのマクロブロックに対して、第1ループが反復的に実行されると、その後、処理はステップS7へ移行する。ステップS7では、I/P比率の予測と、符号量割当の決定とが行われる。すなわち、直前のPピクチャーの符号量と、第1ループで求められる予測符号量とにもとづいて、I/Pピクチャーの符号量の比率(I/P比率)が推測される。そして、それにもとづいて、GOP(Group of Pictures:I,Pピクチャー等によって構成される画面群)を構成する各ピクチャーへの符号量割当が決定される。この処理は、例えば、符号化パラメータ制御部19において行われる。
【0055】つぎに、図3に示すように、ステップS8〜S18までの第2ループの処理が、マクロブロックごとに反復して実行される。第2ループでは、符号化が行われる。まず、ステップS9において、残りビットとQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロックまでの発生符号量と、第1ループで求められた画像特性パラメータとにもとづいて、残りビットとQUANTとが算出される。この処理は、符号化パラメータ制御部19によって実行される。
【0056】つぎに、ステップS10において、実際のDC/AC係数予測が行われる。このDC/AC係数予測は、ローカルデコードされた画像信号にもとづいて遂行される。つづくステップS11では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS12において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。この処理は、可変長符号化部15によって実行される。
【0057】つぎに、ステップS13において、レートコントロール用パラメータが更新される。つづくステップS14では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS15において、DC/AC係数補償が行われる。その後、ステップS16において、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。つぎに、ステップS17において、デコード(復号化)された画像が予測メモリ11へと格納される。
【0058】符号化対象画像のすべてのマクロブロックに対して、第2ループが反復的に実行されると、その後、処理はステップS19へ移行する。ステップS19では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Iピクチャーに対する符号化が行われる。
【0059】図4に示すように、符号化対象画像がPピクチャーであるときに、符号化が開始されると、まず、ステップS21において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS22〜S30までの第1ループの処理が、マクロブロックごとに反復して実行される。第1ループでは、レートコントロールを行うためのデータが準備される。
【0060】まず、ステップS23では、動き検出が行われる。つづくステップS24では、イントラ/インターモードの判断が行われる。すなわち、動き検出の結果にもとづいて、イントラモード/インターモードのいずれかが判定される。つぎに、ステップS25において、DCT変換が行われる。すなわち、符号化対象画像(イントラモードに対してはカレント画像、インターモードに対しては差分画像23)に対して、DCT変換が施される。この処理は、変換部6で実行される。
【0061】つぎに、ステップS26において、イントラモードであるか否かが判断される。そして、イントラモードであれば、処理はステップS27へと移行し、イントラモードでなければ、ステップS28へと移行する。ステップS27では、疑似DC/AC係数予測が行われる。イントラ予測モードは擬似的に決定される。ステップS27が終了すると、処理はステップS28へと移行する。ステップS28では、動きベクトル差分など、量子化されたDCT係数以外で発生する符号量の予測が行われる。この処理は、例えば、符号化パラメータ制御部19によって実行される。
【0062】つぎに、ステップS29において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、イントラブロックとインターブロックで異なる。イントラブロックでは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。インターブロックでは、動き検出後のDCT係数のY、Cr、Cb成分のすべてについて、AC成分の絶対値和とDCT係数の絶対値の最大値である。
【0063】符号化対象画像のすべてのマクロブロックに対して、第1ループが反復的に実行されると、その後、図5に示すように、ステップS31〜S40までの第2ループの処理が、マクロブロックごとに反復して実行される。第2ループでは、符号化が行われる。
【0064】第2ループが開始されると、まず、ステップS32において、残りビットとQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロックまでの発生符号量と、第1ループで求められた画像特性パラメータとにもとづいて、残りビットとQUANTとが算出される。この処理は、符号化パラメータ制御部19によって実行される。
【0065】つぎに、ステップS33において、現在において対象とされるマクロブロックがイントラブロック(イントラモードのマクロブロック)であるか否かが判定される。そして、イントラブロックであれば、処理はステップS34へ移行し、そうでなければ、ステップS35へと飛躍する。ステップS34では、ローカルデコードされた画像信号にもとづいて、実際のDC/AC係数予測が行われる。ステップS34の後、処理は、ステップS35へと移行する。
【0066】ステップS35では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS36において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。ステップS36の処理は、可変長符号化部15によって実行される。
【0067】つぎに、ステップS37において、レートコントロール用パラメータが更新される。つづくステップS38では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS39で、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS40へ移行し、そうでなければ、ステップS41へと飛躍する。
【0068】ステップS40では、DC/AC係数補償が行われる。すなわち、イントラブロックにおいては、マクロブロックごとのイントラ予測モードにもとづいて、係数の復元が行われる。ステップS40が終了すると、図6に示すように、処理はステップS41へ移行する。ステップS41では、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。
【0069】つぎに、ステップS42で、現在において対象とされるマクロブロックがインターブロック(インターモードのマクロブロック)であるか否かが判定される。そして、インターブロックであれば、処理はステップS43へ移行し、そうでなければ、ステップS44へと飛躍する。ステップS43では、動き補償が行われる。すなわち、インターブロックに対しては、動きベクトルにもとづいて動き補償が行われる。ステップS43の後、処理はステップS44へと移行する。
【0070】ステップS44では、ローカルデコードされた画像が予測メモリ11へと格納される。符号化対象画像のすべてのマクロブロックに対して、第2ループが反復的に実行されると、その後、処理はステップS46へ移行する。ステップS46では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Pピクチャーに対する符号化が行われる。
【0071】以上の処理において、イントラブロック(第iマクロブロック)の画像特性パラメータXIiは、数9にもとづいて算出される。
【0072】
【数9】
【0073】ここで、符号coeffsは係数を表し、符号blksはマクロブロックを構成するブロックを表す。
【0074】また、インターブロック(第iマクロブロック)の画像特性パラメータXPiは、数10にもとづいて算出される。
【0075】
【数10】
【0076】さらに、Pピクチャー内のイントラブロック(第iマクロブロック)の画像特性パラメータXIiは、数11にもとづいて、インターブロックのパラメータXPiへと変換される。
【0077】
【数11】
【0078】ピクチャー内の第iマクロブロックに対するQUANTは、Iピクチャーに対しては、数12にもとづき、Pピクチャーに対しては、数13にもとづいて算出される。
【0079】
【数12】
【0080】
【数13】
【0081】従来技術においては、QUANTを決定するのに、標準偏差またはSAD(差分絶対値和)が用いられていた。標準偏差が用いられるときには、画像の符号化に必要な計算と別途に標準偏差を計算する必要があった。また、SADが用いられるときには、発生符号量の予測精度が低いという問題点があった。また、いずれが用いられたときにも、Iピクチャーの画面内のDC/AC係数予測に対応した符号化量予測ができないという問題点があった。
【0082】これに対して、実施の形態2の装置では、以上に説明したように、QUANTを決定するのに、DCT係数から求めた画像特性パラメータが用いられる。画像特性パラメータは、DCT係数から、少ない演算量で求めることができるという利点がある。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができるという利点がある。また、Iピクチャーの画面内のDC/AC係数予測に対応した符号量予測が行い得るという利点も得られる。
【0083】<3.実施の形態3>実施の形態3の画像符号化装置の全体構成も、実施の形態2と同様に、図1のブロック図で示される。実施の形態2では、二つのループすなわち第1および第2ループ(図2〜図6)に沿って処理が行われていた。これに対して、実施の形態3では、二つのループを単一のループへと統合すべく構成されている点が、実施の形態2とは特徴的に異なっている。すなわち、実施の形態3の装置は、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化が行われつつある符号化対象画像の発生符号量にもとづいて、現在符号化の対象としているマクロブロックのつぎに符号化対象とされるマクロブロックの目標符号量が決定される点を主要な特徴としている。
【0084】図7および図8に、符号化対象画像がIピクチャーであるときの符号化の流れを示す。また、図9〜図11に符号化対象画像がPピクチャーであるときの符号化の流れを示す。以下に、これらのフローチャートに沿って、符号化の手順について説明する。
【0085】図7に示すように、符号化対象画像がIピクチャーであるときに、符号化が開始されると、まず、ステップS51において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つづくステップS52では、I/P比率の推測、および、符号量割当の決定が行われる。すなわち、最新のIピクチャーとPピクチャーの符号量から、Iピクチャー/Pピクチャーの符号化量の比率(I/P比率)が推測される。さらに、これにもとづいて、GOPを構成する各ピクチャーへの符号量割当が決定される。この処理は、例えば、符号化パラメータ制御部19において行われる。
【0086】つぎに、ステップS53〜S66までのループの処理が、マクロブロックごとに反復して実行される。ループが開始されると、まず、ステップS54において、変換部6によるDCT変換が行われる。つづくステップS55では、同一画像内の隣接マクロブロックのDCT係数の値を参照して、疑似DC/AC係数予測が行われる。予測モードも、これらのデータによって、擬似的に決定される。
【0087】つぎに、ステップS56において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。つづくステップS57では、目標符号量とQUANTの更新とが行われる。
【0088】すなわち、現在において対象とされるマクロブロック(対象マクロブロック)までの発生符号量と、最新のIピクチャーの画像特性パラメータの分布とにもとづいて、対象マクロブロックの目標符号量が算出される。さらに、この目標符号量と、先に算出された画像特性パラメータとにもとづいて、QUANTが算出される。このステップS57の処理は、符号化パラメータ制御部19によって実行される。つぎに、ステップS58において、実際のDC/AC係数予測が行われる。このDC/AC係数予測は、ローカルデコードされた画像信号にもとづいて遂行される。
【0089】図8に示すように、つづくステップS59では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS60において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。この処理は、可変長符号化部15によって実行される。
【0090】つぎに、ステップS61において、レートコントロール用パラメータが更新される。つづくステップS62では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS63において、DC/AC係数補償が行われる。その後、ステップS64において、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。つぎに、ステップS65において、デコード(符号化)された画像が予測メモリ11へと格納される。
【0091】符号化対象画像のすべてのマクロブロックに対して、ループが反復的に実行されると、その後、処理はステップS67へ移行する。ステップS67では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Iピクチャーに対する符号化が行われる。
【0092】図9に示すように、符号化対象画像がPピクチャーであるときに、符号化が開始されると、まず、ステップS71において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS72〜S93までのループの処理が、マクロブロックごとに反復して実行される。
【0093】ループが開始されると、まず、ステップS73において、動き検出が行われる。つづくステップS74では、イントラ/インターモードの判断が行われる。すなわち、動き検出の結果にもとづいて、イントラモード/インターモードのいずれかが判定される。つぎに、ステップS75において、DCT変換が行われる。すなわち、符号化対象画像(イントラモードに対してはカレント画像22、インターモードに対しては差分画像23)に対して、DCT変換が施される。この処理は、変換部6で実行される。
【0094】つぎに、ステップS76において、イントラモードであるか否かが判断される。そして、イントラモードであれば、処理はステップS77へと移行し、イントラモードでなければ、ステップS78へと移行する。ステップS77では、疑似DC/AC係数予測が行われる。イントラ予測モードは擬似的に決定される。ステップS77が終了すると、処理はステップS78へと移行する。ステップS78では、動きベクトル差分など、量子化されたDCT係数以外で発生する符号量の予測が行われる。この処理は、例えば、符号化パラメータ制御部19によって実行される。
【0095】つぎに、ステップS79において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、イントラブロックとインターブロックで異なる。イントラブロックでは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。インターブロックでは、動き検出後のDCT係数のY、Cr、Cb成分のすべてについて、AC成分の絶対値和とDCT係数の絶対値の最大値である。
【0096】つぎに、図10に示すように、ステップS80において、目標符号量とQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロック(対象マクロブロック)までの発生符号量と、最新のPピクチャーの画像特性パラメータ分布とにもとづいて、対象マクロブロックの目標符号量が算出される。さらに、この目標符号量と、先に算出された画像特性パラメータとにもとづいて、QUANTが算出される。このステップS80の処理は、符号化パラメータ制御部19によって実行される。
【0097】つぎに、ステップS81において、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS82へ移行し、そうでなければ、ステップS83へと飛躍する。ステップS82では、ローカルデコードされた画像信号にもとづいて、実際のDC/AC係数予測が行われる。ステップS82の後、処理は、ステップS83へと移行する。
【0098】ステップS83では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS84において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。ステップS84の処理は、可変長符号化部15によって実行される。
【0099】つぎに、ステップS85において、レートコントロール用パラメータが更新される。つづくステップS86では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS87で、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS88へ移行し、そうでなければ、ステップS89へと飛躍する。
【0100】ステップS88では、DC/AC係数補償が行われる。すなわち、イントラブロックにおいては、マクロブロックごとのDC/AC係数予測モードにもとづいて、係数の復元が行われる。ステップS88が終了すると、図11に示すように、処理はステップS89へ移行する。ステップS89は、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。
【0101】つぎに、ステップS90で、現在において対象とされるマクロブロックがインターブロックであるか否かが判定される。そして、インターブロックであれば、処理はステップS91へ移行し、そうでなければ、ステップS92へと飛躍する。ステップS91では、動き補償が行われる。すなわち、インターブロックに対しては、動きベクトルにもとづいて動き補償が行われる。ステップS91の後、処理はステップS92へと移行する。
【0102】ステップS92では、ローカルデコードされた画像が予測メモリ11へと格納される。符号化対象画像のすべてのマクロブロックに対して、ループが反復的に実行されると、その後、処理はステップS94へ移行する。ステップS94では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Pピクチャーに対する符号化が行われる。
【0103】以上の処理において、画像特性パラメータは、実施の形態2と同様の数式にもとづいて算出される。また、ピクチャー内の第iマクロブロックに対する目標符号量は、第iマクロブロックがIピクチャーであるときには数14にもとづき、Pピクチャーであるときには数15にもとづいて算出される。
【0104】
【数14】
【0105】
【数15】
【0106】ピクチャー内の第iマクロブロックに対するQUANTは、Iピクチャーに対しては、数16にもとづき、Pピクチャーに対しては、数17にもとづいて算出される。
【0107】
【数16】
【0108】
【数17】
【0109】従来技術の一つにおいては、QUANTの決定に先だって、符号化対象画像の全体に対して解析が行われていた。その結果、発生符号量の制御の精度は高いが、符号化対象画像を2度にわたって走査する必要があり、演算にメモリ容量を多く必要とし、また、前処理に時間がかかるという問題点があった。
【0110】また、別の従来技術においては、発生符号量の増減にもとづいて、QUANTの制御が行われていた。このため、符号化対象画像の走査は1度でよく、演算に必要なメモリ容量が少なく、また、前処理時間も短いという利点はあるが、実際の発生符号量とQUANTの増減との間に遅延が生じ、発生符号量の制御の精度が低いという問題点があった。
【0111】これに対して、実施の形態3の装置では、符号化対象画像の走査は一度でよく、演算に必要なメモリ容量が少なく、また、前処理時間も短いという利点とともに、演算量に対して高い符号量の制御精度が得られるという利点がある。
【0112】<4.実施の形態4>実施の形態4の画像符号化装置の全体構成も、実施の形態2と同様に、図1のブロック図で示される。実施の形態4は、実施の形態2または3で用いられる目標符号量の割当、あるいは、QUANTなどに対して、マクロブロックごとに重みが付加される点を、主要な特徴としている。
【0113】すなわち、実施の形態4の装置では、各マクロブロックに対して、画面内の位置や、符号化対象画像のDCT係数から求められた画像特性パラメータにもとづいて、例えば画面の中央部あるいは画像が速く動く部分など視覚的に重要なマクロブロックであるか、あるいは否かに応じた重み付けパラメータが算出される。そして、この重み付けパラメータにもとづいて、マクロブロックごとに目標符号量の割当、あるいは、QUANTに対して重み付けが行われる。
【0114】演算の一例を示すと、まず、第(i,j)マクロブロックに対する画像位置パラメータPijが、数18にもとづいて算出される。
【0115】
【数18】
【0116】数18に示されない他の(i,j)に対しては、適当な補完を行うことによって画像位置パラメータPijが算出される。画像位置パラメータPijは、画面内の位置の視覚的重要度を反映している。
【0117】つぎに、第(i,j)マクロブロックに対する画像特性パラメータXijを用いて、第(i,j)マクロブロックに対する重み付けパラメータAijが、数19にもとづいて算出される。
【0118】
【数19】
【0119】このようにして算出された重み付けパラメータAijが、実施の形態2,3で述べた発生符号量の制御に用いられる。すなわち、目標符号量の割当やQUANTに対して、重み付けパラメータAijが積として付加されることにより、視覚的重要度に応じた重み付け補正が加えられる。
【0120】従来技術においては、重み付けパラメータとして、標準偏差が用いられていた。その結果、画像符号化に必要な計算とは別途に標準偏差を計算する必要があるという問題点があった。さらに、重み付けと符号量制御との両立が困難であるという問題点もあった。
【0121】これに対して、実施の形態4の装置では、DCT係数にもとづいて少ない演算量で画像特性パラメータが算出でき、さらに、実施の形態2,3で述べた発生符号量制御との整合性が良好であり、両立が容易であるという利点が得られる。
【0122】<5.実施の形態5>実施の形態5の画像符号化装置の全体構成は、図12のブロック図で示される。実施の形態5の装置は、フレームレートを制御する装置部分であるフレームレート制御部30、および、これに付随するユーザ画質指定部31を備える点を、主要な特徴としている。
【0123】フレームレート制御部30は、第1に、外部から与えられたビットレートと、ユーザ画質指定部31を通じてユーザが選択的に指定した指定画質とにしたがって、初期フレームレートを設定する。フレームレート制御部30は、第2に、符号化時の発生符号量とQUANTの履歴にもとづいて、フレームレートを最適値へと自動的に更新する。フレームレート制御部30は、第3に、符号化の過程の中においても、ユーザ画質指定部31を通じたユーザの要求に応じて、フレームレートを更新する。
【0124】すなわち、1フレーム当たりの符号量の多い高精細画像を伝送すべき時には、フレームレートを犠牲にし、逆に、フレームレートを高くして動きの滑らかな画像を伝送すべき時には、各フレームの画像の精細度を犠牲にすることで、送信経路18の伝送容量における制約の中でトレードオフの関係にある、1フレームの画像の精細度とフレームレートとを、選択可能にしている。
【0125】図13のフローチャートに、図12の装置における特徴的な動作の流れを示す。図13に示すように、フレームレート制御が開始されると、まず、ステップS101において、テーブルへのパターンの格納が行われる。すなわち、装置が採り得るフレームレートのパターンが、参照用テーブルに格納される。同時に、採り得るフレームレート変更間隔(=s秒)も与えられる。このテーブルと、フレームレート間隔を記憶するメモリは、例えば、フレームレート制御部30に内蔵されている。
【0126】つぎに、ステップS102において、画質パラメータが定められる。すなわち、ユーザが選択可能な解像度の幅、間隔等の選択枝が、画質パラメータとして準備される。例えば、圧縮率の下限に対応する値を0、圧縮率の上限に対応する値を1とし、解像度の度合いに対応する0〜1の範囲の値を、ユーザが選択可能な範囲として準備する。圧縮率の下限には、最低の精細画像、および、最高のフレームレートが対応し、また、圧縮率の上限には、最高の精細画像、および、最低のフレームレートが対応する。準備された画質パラメータは、参照用テーブルに格納される。
【0127】つぎに、ステップS103において、QUANTの限界値が定められる。すなわち、QUANTの上限値Qu、下限値Ql、および、実効上限値Qmu、実効下限値Qmlが決定される。QUANTは、下限値Ql<QUANT<上限値Quの範囲になくてはならず、実効下限値Qml<QUANT<実効上限値Qmuの範囲にあることが望ましいとされる。
【0128】つぎに、ステップS104において、ビットレートが定義される。つづく、ステップS105では、フレームレートパターンに対応した画質パラメータが参照用テーブルへと格納される。つづいて、ステップS106において、ユーザによって画質が指定される。この指定は、入力装置として構成されるユーザ画質指定部31を通じて行われる。
【0129】つぎに、ステップS107において、精細度とフレームレートの探索が行われる。すなわち、指定された精細度に対応する画質パラメータが、参照用テーブルから探索され、さらに、その値に対応するフレームレートが、参照用テーブルから探索される。そして、得られたフレームレートが基準フレームレートとして設定される。
【0130】つぎに、ステップS108において、ビット割当および符号化が行われる。すなわち、基礎フレームレートの下で、各フレームのビット割当、および、エンコード(符号化)が行われる。つづく、ステップS109では、符号化の結果にもとづいて、フレームレートの自動調整が行われる。つづいて、ステップS110において、ユーザによって、あらためて画質の指示がなされることにより、画質変更が定されると、処理はステップS107へと戻って、ステップS107〜ステップS109の処理が改めて実行される。
【0131】図14および図15は、ステップS109の処理の流れを詳細に示すフローチャートである。図14R>4に示すように、ステップS109の処理が開始されると、ステップS111において、最新の2フレームについて、QUANT>上限値Qu、であるか否かが判定される。判定の結果が「Yes」であれば、処理はステップS112へと移行し、逆に、「No」であれば、ステップS120へと飛躍する。
【0132】ステップS112では、フレームレートが基準値よりも1段階引き下げられる。つぎに、ステップS113において、s秒間の待機が行われる。すなわち、ステップS112で引き下げられたフレームレートが、s秒間にわたってそのまま維持される。s秒の値は、先のステップS101で決定されている。
【0133】つづくステップS114では、最新の2フレームについて、QUANT>上限値Qu、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS115へ移行し、「No」であれば、ステップS116へと移行する。ステップS115では、フレームレートの再調整が行われ、フレームレートが現在の値よりも1段階引き下げられる。その後、処理はステップS113へと戻る。
【0134】ステップS116では、最新の2フレームについて、QUANT>実効上限値Qmu、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS117へと移行し、「No」であれば、ステップS118へ移行する。ステップS117では、フレームレートは変更されることなく、現在の値のままに保持される。その後、処理はステップS113へと戻る。
【0135】一方、ステップS118では、フレームレートが、現在の値よりも1段階引き上げられる。つづいて、ステップS119において、現在のフレームレートが基準値に一致するか否かが判定される。判定の結果が「No」であれば、処理はステップS113へと戻り、「Yes」であれば、ステップS109の処理は完了する。
【0136】つぎに、図15に示すように、ステップS120において、最新の2フレームについて、QUANT<下限値Ql、であるか否かが判定される。判定の結果が「Yes」であれば、処理はステップS121へと移行し、「No」であればステップS109の処理は完了する。
【0137】ステップS121では、フレームレートが基準値よりも1段階引き上げられる。つぎに、ステップS122において、s秒間の待機が行われる。すなわち、ステップS121で引き上げられたフレームレートが、s秒間にわたってそのまま維持される。
【0138】つづくステップS123では、最新の2フレームについて、QUANT<下限値Ql、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS124へ移行し、「No」であれば、ステップS125へと移行する。ステップS124では、フレームレートの再調整が行われ、フレームレートが現在の値よりも1段階引き上げられる。その後、処理はステップS122へと戻る。
【0139】ステップS125では、最新の2フレームについて、QUANT<実効下限値Qml、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS126へと移行し、「No」であれば、ステップS127へ移行する。ステップS126では、フレームレートは変更されることなく、現在の値のままに保持される。その後、処理はステップS122へと戻る。
【0140】一方、ステップS127では、フレームレートが、現在の値よりも1段階引き下げられる。つづいて、ステップS128において、現在のフレームレートが基準値に一致するか否かが判定される。判定の結果が「No」であれば、処理はステップS122へと戻り、「Yes」であれば、ステップS109の処理は完了する。
【0141】
【発明の効果】第1の発明の装置では、画像特性パラメータが離散コサイン係数から算出されるので、少ない演算量で、画像特性パラメータが求められる。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができるという効果が得られる。
【0142】第2の発明の装置では、イントラピクチャー(Iピクチャー)の画面内のDC/AC係数予測に対応した符号量予測が行い得るという効果がある。
【0143】第3の発明の装置では、過去の画像の画像特性パラメータの分布履歴等にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量が決定されるので、符号化対象画像の走査が一度でよく、演算に必要なメモリ容量が少なくて済み、前処理時間も短いのに加えて、高い符号量の制御精度が得られるという効果がある。
【0144】第4の発明の装置では、前記離散コサイン変換係数等にもとづいて画像特性パラメータが算出され、これにもとづいて算出された重み付けパラメータに応じて、マクロブロックごとに、目標符号量の割当、および、量子化ステップに対する重み付けが行われる。このため、少ない演算量で画像特性パラメータが算出でき、さらに、発生符号量制御との整合性が良好であり、両立が容易であるという効果が得られる。
【図面の簡単な説明】
【図1】 実施の形態1〜4の装置のブロック図である。
【図2】 実施の形態2の装置の動作の流れを示す流れ図である。
【図3】 実施の形態2の装置の動作の流れを示す流れ図である。
【図4】 実施の形態2の装置の動作の流れを示す流れ図である。
【図5】 実施の形態2の装置の動作の流れを示す流れ図である。
【図6】 実施の形態2の装置の動作の流れを示す流れ図である。
【図7】 実施の形態3の装置の動作の流れを示す流れ図である。
【図8】 実施の形態3の装置の動作の流れを示す流れ図である。
【図9】 実施の形態3の装置の動作の流れを示す流れ図である。
【図10】 実施の形態3の装置の動作の流れを示す流れ図である。
【図11】 実施の形態3の装置の動作の流れを示す流れ図である。
【図12】 実施の形態5の装置のブロック図である。
【図13】 実施の形態5の装置の動作の流れを示す流れ図である。
【図14】 実施の形態5の装置の動作の流れを示す流れ図である。
【図15】 実施の形態5の装置の動作の流れを示す流れ図である。
【符号の説明】
6 変換部
7 量子化部
15 可変長符号化部
19 符号化パラメータ制御部(制御部)
30 フレームレート制御部(制御部)
【0001】
【発明の属する技術分野】この発明は、H.263規格、MPEG規格等にもとづく画像符号化に好適な、画像符号化装置に関し、特に、符号量を低減するための改良に関する。
【0002】
【従来の技術】動画像の符号化を行うことによって、画像の圧縮、すなわち、画像信号の量を低減する技術として、周知のMPEG規格等に代表される符号化技術が知られている。MPEG規格の符号化技術の例では、フレーム間の局部的な画像の動きの量を表現する動きベクトルを用いた動き補償を取り入れることによって、フレーム間の符号化が行われる。それによって、動画像の圧縮効率の飛躍的な向上が図られている。
【0003】
【発明が解決しようとする課題】しかしながら、従来の画像符号化技術では、リアルな動画像を電話回線等の伝送容量の限られた伝送経路を用いて伝送するには、なお、符号化信号の信号量、すなわち符号量を低く抑えることが課題となっている。
【0004】この発明は、従来の画像符号化技術における上記した問題点を解消するためになされたもので、符号量を低減し得る画像符号化装置を提供することを目的とする。
【0005】
【課題を解決するための手段】第1の発明の装置は、画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、前記離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、前記量子化ステップを決定する制御部と、を備えることを特徴とする。
【0006】第2の発明の装置は、第1の発明の画像符号化装置において、可変長符号化テーブルを参照しつつ前記量子化係数に対して可変長符号化を行う可変長符号化部を、さらに備え、前記制御部が、画像種別、マクロブロックの種別、および、前記可変長符号化テーブルに適合した方法にもとづいて、前記画像特性パラメータを算出することを特徴とする。
【0007】第3の発明の装置は、第1または第2の発明の画像符号化装置において、前記制御部が、さらに、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化の中における発生符号量にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量を決定することを、特徴とする。
【0008】第4の発明の装置は、画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、各マクロブロックに対して、画面内での位置、および、符号化対象画像における前記離散コサイン変換係数から、画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、視覚上の重要度に応じた重み付けを行うための重み付けパラメータを算出し、さらに、当該重み付けパラメータにもとづいて、前記マクロブロックごとに、目標符号量の割当、および、前記量子化ステップに対する重み付けを行う制御部と、を備えることを特徴とする。
【0009】
【発明の実施の形態】<1.実施の形態1>はじめに、実施の形態1の装置について説明する。
【0010】<1-1.装置の全体構成>図1は、実施の形態1の画像符号化装置の構成を示すブロック図である。後述するように、実施の形態1の装置は、フレーム間の符号化であるインター符号化が施された画像の中に、部分的に、フレーム内の符号化であるイントラ符号化が施された画像を組み込む装置部分(図1では、モード切替部20)に、主要な特徴を有している。したがって、図1R>1には、広く知られるMPEG規格にもとづいて画像信号の符号化を実行する装置を例示するが、実施の形態1に具体化される発明は、イントラ符号化画像とインター符号化画像との双方を得て送信する画像符号化装置一般に対して、適用可能である。
【0011】はじめに、モード切替部20の構成の前提となる周辺部を含めて、図1の装置の全体構成の概略について説明する。図1に示すように、カラーカメラなどの画像入力部1は、撮像された画像を表現する画像信号を、デジタル信号の形式で出力する。なお、本明細書では、説明の無用な煩雑化を避けるために、混同のおそれのない範囲で、画像を表現する画像信号と、画像そのものとを、等しく「画像」と表現する。
【0012】画像入力部1から出力される画像は、フレーム単位でフレームメモリ2に一時的に記憶される。その後、フレームメモリ読出部3によって、フレームメモリ2から、フレームごとに一定の順序で画像が読み出され、カレント画像22として差分回路4および切換部5へと入力される。
【0013】差分回路4は、フレームメモリ読出部3から送られたカレント画像22と、予測メモリ11から送られる予測画像12との間で、画素値の差分を演算する。切換部5は、差分回路4から出力される差分画像23と、フレームメモリ読出部3からのカレント画像22との間で、いずれかを選択して出力する。切換部5が出力する信号は、変換部6へと入力される。
【0014】変換部6では、いわゆる離散コサイン変換(DCT)が実行される。この離散コサイン変換では、例えば8×8画素で構成されるブロックごとに、入力された画像が、ブロックを構成する画素の数と同数(例えば、8×8=64個)の空間周波数成分(DCT係数)の組へと変換される。変換によって得られたDCT係数は、量子化部7へと入力される。
【0015】量子化部7では、その内部に備わる量子化テーブルに規定される係数値の組、および、符号化パラメータ制御部19から送出される量子化ステップ指示信号25を参照して、各DCT係数ごとに量子化が施される。すなわち、DCT係数が量子化係数へと変換される。量子化ステップ指示信号25は、量子化テーブルに規定される係数値の組に対して、一律に共通の倍率を付与することによって、量子化テーブルにもとづく量子化の幅、すなわち量子化ステップを、すべてのDCT係数に共通の倍率で補正する。量子化ステップが小さいほど、画質の劣化は抑えられるが、符号量は多くなる。
【0016】量子化部7で得られた量子化係数は、可変長符号化部(VLC)15へと入力されると同時に、逆量子化部8へと入力される。逆量子化部8では、量子化部7とは逆の演算が実行される。したがって、量子化される以前のDCT係数と同一形式の信号が得られる。
【0017】ただし、量子化部7における処理は、一般に非可逆であるため、逆量子化部8で再構成されたDCT係数は、変換部6から出力されるDCT係数と、一般には同一ではない。すなわち、逆量子化部8の出力には、量子化部7の処理によって生じる量子化誤差が一般に含まれる。いうまでもなく、量子化ステップが小さいほど、量子化誤差は小さくなる。
【0018】逆量子化部8で得られたDCT係数は、逆変換部9へと入力される。逆変換部9では、DCTとは逆の演算(逆DCT)が実行される。その結果、変換部6でDCT変換が施される前の画像信号と同一形式の画像信号が得られる。この画像信号も、いうまでもなく、一般には変換部6へ入力された画像信号と同一ではなく、量子化誤差を含んでいる。
【0019】再構成された画像信号は、参照画像13として、予測メモリ11へとフレーム単位で格納される。予測メモリ11に格納される参照画像13は、動きベクトル検出部14へと入力される。フレームメモリ読出部3から読み出されたカレント画像22は、動きベクトル検出部14へも同時に入力される。動きベクトル検出部14は、マクロブロック単位で、このカレント画像22にもっとも近い参照画像13の部分を探索する。探索された部分は、予測画像と称される。
【0020】動きベクトル検出部14は、さらに、予測画像からこれに対応するカレント画像22の上のマクロブロックまでの変位を表現するベクトルを、動きベクトル24として、予測メモリ11、および、可変長符号化部15へと送出する。予測メモリ11は、動きベクトル24にもとづいて、マクロブロックごとに参照画像13の中から予測画像12を抽出して、差分回路4へと送出する。
【0021】ここで、マクロブロックとは、動きベクトル24が定義される画像の単位であり、例えば、画像信号の輝度成分に対しては16×16画素、色差成分に対しては8×8画素で構成される。輝度成分に対して16×16画素でマクロブロックが定義される場合には、輝度成分に対しては、例えば、1つのマクロブロックが4分割されてなる8×8画素で構成されるブロックを単位として、変換部6におけるDCT変換処理、および、量子化部7における量子化処理が施される。
【0022】切換部5は、図示しない制御部に接続されており、この制御部の指示にもとづいて、既述したように、カレント画像22および差分画像23の間で、いずれかを選択して変換部6へと出力する。カレント画像22が選択されると、フレーム内での符号化、すなわちイントラ符号化が行われることとなる。そうして得られた画像は、Iピクチャーと称される。また、差分回路4が出力する差分画像23が選択されると、インター符号化の一種であるフレーム間予測符号化が行われることとなる。そうして得られた画像は、Pピクチャーと称される。
【0023】ところで、差分回路4と切換部5との間には、イントラ/インター間のモード切替を行うモード切替部20が介挿されている。したがって、差分画像23は切換部5へと直接には入力されずに、モード切替部20を介することによって、モード切替部20が出力するモード選択画像10として切換部5へと入力される。すなわち、切換部5は、直接には、カレント画像22とモード選択画像10とのいずれかを選択して出力する。
【0024】モード切替部20は、カレント画像22と差分画像23との間で、マクロブロックの単位で、いずれかを選択し、モード選択画像10として切換部5へ送出する。すなわち、モード切替部20は、本来ではインター符号化がなされるべきPピクチャー内に、マクロブロック単位で、イントラ符号化されたIピクチャーを混ぜ合わせるべく機能する。
【0025】可変長符号化部15では、入力される量子化係数に対して、例えばハフマン符号化などの可変長符号化処理が実行されると同時に、動きベクトル検出部14から送出される動きベクトル24が付加され、その結果、符号化信号が得られる。得られた符号化信号は、つづく多重化部16で多重化処理を施された上で、送信バッファ17に一旦蓄積される。
【0026】送信バッファ17に蓄積された符号化信号は、適時、送信経路18へと送出される。送信バッファ17からは、その状態、すなわち、バッファがオーバフローである、あるいは、空であることを通知するステータス信号が、符号化パラメータ制御部19へと送出される。符号化信号には動きベクトル24が含まれているため、符号化信号を受信し、カレント画像22を再構成する復号化装置において、動きベクトル24を考慮した復号化が可能となる。
【0027】<1-2.モード切替部>つぎに、本発明の特徴部をなすモード切替部20について説明する。モード切替部20は、プログラムを搭載したメモリと、そのプログラムに従って動作するコンピュータとを、備えることによって、所定の動作を実現することが可能である。モード切替部20は、また、プログラムによらずに、集積回路を含むハードウェアのみで構成することも可能である。
【0028】はじめに、比較対照のために、モード切替部20が、"Test Model Near-Term5"(以下、"TMN 5"と略記する)にもとづいて動作する例について説明する。"TMN 5"は、ITU-T(国際電気通信連合ITUの常設機関の一つ)に属する研究委員会によって記述されたテストモデルである。この"TMN 5"では、イントラ/インター間のモード切替をつぎの要領で行う。
【0029】まず、カレント画像内の一つのマクロブロックのすべての輝度成分(Y成分)の平均値mean が算出される。すなわち、数1に示す要領で、平均値mean が算出される。数1は、輝度成分に関して、1つのマクロブロックが16×16画素で構成されることを前提としている。そして、数1における記号YCi (i=1,・・,4)は、1個のマクロブロックを4等分割して成る4個のブロックの一つである第iブロック(i=1,・・,4)におけるすべての画素の輝度成分を表している。
【0030】
【数1】
【0031】つぎに、数2に示す要領で、各ブロックごとに、輝度成分から平均値mean が差し引かれ、その上で、得られた差の絶対値の総和Aが算出される。
【0032】
【数2】
【0033】つぎに、数3に示す要領で、輝度成分YCi の動きベクトルに対応するマクロブロックの輝度成分Ypiと輝度成分YCi とが差し引かれ、さらに、その差の絶対値の総和sumが算出される。
【0034】
【数3】
【0035】ただし、動きベクトルのx、y成分(画面上の水平、垂直成分)のいずれもが、値0であるときには、数4に示すように、絶対値の総和sumは、値100だけ差し引かれる。
【0036】
【数4】
【0037】こうして得られた総和sumにもとづいて、モード選択が行われる。すなわち、数5の関係が成り立つ(真)ならば、イントラモードが選択され、成り立たない(偽)ならば、インターモードが選択される。
【0038】
【数5】
【0039】以上が、"TMN 5"にもとづく、イントラ/インター間のモード切替のアルゴリズムである。
【0040】これに対して、この実施の形態のモード切替部20では、つぎの要領でモード切替が行われる。まず、数6に示す要領で、4個のブロックの各々ごとに、輝度成分の平均値が算出される。数6において、記号mean(i)は、第iブロック(i=1,・・,4)における輝度成分の平均値を表している。
【0041】
【数6】
【0042】つぎに、数7に示す要領で、各ブロックごとに、輝度成分から平均値mean(i)が差し引かれ、その上で、得られた差の絶対値の総和Aが算出される。
【0043】
【数7】
【0044】つぎに、数8に示す要領で、輝度成分YCi の動きベクトルに対応するマクロブロックの輝度成分Ypiと輝度成分YCi とが差し引かれ、さらに、その差の絶対値の総和sumが算出される。
【0045】
【数8】
【0046】こうして得られた総和sumにもとづいて、モード選択が行われる。すなわち、数5の関係が成り立つ(真)ならば、イントラモードが選択され、成り立たない(偽)ならば、インターモードが選択される。
【0047】テストモデル"TMN 5"では、1個のマクロブロックに属する各ブロックの中で、輝度成分の分散が小さくても、各ブロックにおける輝度成分の平均値の間に、大きな差があるときには、符号量が大きくなる方のモードが選択されることがある。例えば、一つのマクロブロックに含まれる各ブロックに関する輝度成分の平均値が、125,36,126,38であり、分散が8,15,9,16である場合が、これに相当する。
【0048】この実施の形態のモード切替部20では、"TMN 5"とは異なり、マクロブロック全体にわたる輝度成分の平均値が算出されるのではなく、ブロックごとに平均値が算出され、その平均値と各ブロックにおける輝度成分との絶対値差分の総和が、モード切替の判断基準とされる。このため、発生する符号量の少ない方が、モード切替部20において適切に選択される。すなわち、送信経路18へと送出される符号化信号の符号量を、低く抑えることができるという利点が得られる。
【0049】<2.実施の形態2>実施の形態2の画像符号化装置の全体構成は、図1のブロック図で示される。実施の形態2では、量子化ステップを決定する装置部分である符号化パラメータ制御部19に、実施の形態1とは異なる特徴がある。すなわち、実施の形態2では、符号化パラメータ制御部19は、符号化の対象とされる画像(符号化対象画像)のDCT係数から求めた画像特性パラメータを用いて、目標符号量を達成する符号化に最適な量子化ステップ指示値(QUANT)を決定する。決定されたQUANTは、それを表現する信号である量子化ステップ指示信号25の形式で量子化部7へ送られる。
【0050】また、画像特性パラメータは、符号化対象画像が属するI/Pピクチャー等のピクチャータイプ、マクロブロックのタイプ、および、ハフマンテーブル等のVLC(可変長符号化)テーブルに対して適合した方法を用いて決定される。以上の手順で決定されたQUANTを用いて量子化が行われることによって、目標符号量に対して符号量を±5%以内とする符号化が達成される。
【0051】図2および図3に、符号化対象画像がIピクチャーであるときの符号化の流れを示す。また、図4〜図6に符号化対象画像がPピクチャーであるときの符号化の流れを示す。以下に、これらのフローチャートに沿って、符号化の手順について説明する。
【0052】図2に示すように、符号化対象画像がIピクチャーであるときに、符号化が開始されると、まず、ステップS1において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS2〜S6までの第1ループの処理が、マクロブロックごとに反復して実行される。第1ループでは、レートコントロールを行うためのデータが準備される。
【0053】まず、ステップS3では、変換部6によるDCT変換が行われる。つづくステップS4では、同一画像内の隣接マクロブロックのDCT係数の値を参照して、疑似DC/AC係数予測が行われる。予測モードも、これらのデータによって、擬似的に決定される。つぎに、ステップS5において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。
【0054】符号化対象画像のすべてのマクロブロックに対して、第1ループが反復的に実行されると、その後、処理はステップS7へ移行する。ステップS7では、I/P比率の予測と、符号量割当の決定とが行われる。すなわち、直前のPピクチャーの符号量と、第1ループで求められる予測符号量とにもとづいて、I/Pピクチャーの符号量の比率(I/P比率)が推測される。そして、それにもとづいて、GOP(Group of Pictures:I,Pピクチャー等によって構成される画面群)を構成する各ピクチャーへの符号量割当が決定される。この処理は、例えば、符号化パラメータ制御部19において行われる。
【0055】つぎに、図3に示すように、ステップS8〜S18までの第2ループの処理が、マクロブロックごとに反復して実行される。第2ループでは、符号化が行われる。まず、ステップS9において、残りビットとQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロックまでの発生符号量と、第1ループで求められた画像特性パラメータとにもとづいて、残りビットとQUANTとが算出される。この処理は、符号化パラメータ制御部19によって実行される。
【0056】つぎに、ステップS10において、実際のDC/AC係数予測が行われる。このDC/AC係数予測は、ローカルデコードされた画像信号にもとづいて遂行される。つづくステップS11では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS12において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。この処理は、可変長符号化部15によって実行される。
【0057】つぎに、ステップS13において、レートコントロール用パラメータが更新される。つづくステップS14では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS15において、DC/AC係数補償が行われる。その後、ステップS16において、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。つぎに、ステップS17において、デコード(復号化)された画像が予測メモリ11へと格納される。
【0058】符号化対象画像のすべてのマクロブロックに対して、第2ループが反復的に実行されると、その後、処理はステップS19へ移行する。ステップS19では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Iピクチャーに対する符号化が行われる。
【0059】図4に示すように、符号化対象画像がPピクチャーであるときに、符号化が開始されると、まず、ステップS21において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS22〜S30までの第1ループの処理が、マクロブロックごとに反復して実行される。第1ループでは、レートコントロールを行うためのデータが準備される。
【0060】まず、ステップS23では、動き検出が行われる。つづくステップS24では、イントラ/インターモードの判断が行われる。すなわち、動き検出の結果にもとづいて、イントラモード/インターモードのいずれかが判定される。つぎに、ステップS25において、DCT変換が行われる。すなわち、符号化対象画像(イントラモードに対してはカレント画像、インターモードに対しては差分画像23)に対して、DCT変換が施される。この処理は、変換部6で実行される。
【0061】つぎに、ステップS26において、イントラモードであるか否かが判断される。そして、イントラモードであれば、処理はステップS27へと移行し、イントラモードでなければ、ステップS28へと移行する。ステップS27では、疑似DC/AC係数予測が行われる。イントラ予測モードは擬似的に決定される。ステップS27が終了すると、処理はステップS28へと移行する。ステップS28では、動きベクトル差分など、量子化されたDCT係数以外で発生する符号量の予測が行われる。この処理は、例えば、符号化パラメータ制御部19によって実行される。
【0062】つぎに、ステップS29において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、イントラブロックとインターブロックで異なる。イントラブロックでは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。インターブロックでは、動き検出後のDCT係数のY、Cr、Cb成分のすべてについて、AC成分の絶対値和とDCT係数の絶対値の最大値である。
【0063】符号化対象画像のすべてのマクロブロックに対して、第1ループが反復的に実行されると、その後、図5に示すように、ステップS31〜S40までの第2ループの処理が、マクロブロックごとに反復して実行される。第2ループでは、符号化が行われる。
【0064】第2ループが開始されると、まず、ステップS32において、残りビットとQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロックまでの発生符号量と、第1ループで求められた画像特性パラメータとにもとづいて、残りビットとQUANTとが算出される。この処理は、符号化パラメータ制御部19によって実行される。
【0065】つぎに、ステップS33において、現在において対象とされるマクロブロックがイントラブロック(イントラモードのマクロブロック)であるか否かが判定される。そして、イントラブロックであれば、処理はステップS34へ移行し、そうでなければ、ステップS35へと飛躍する。ステップS34では、ローカルデコードされた画像信号にもとづいて、実際のDC/AC係数予測が行われる。ステップS34の後、処理は、ステップS35へと移行する。
【0066】ステップS35では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS36において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。ステップS36の処理は、可変長符号化部15によって実行される。
【0067】つぎに、ステップS37において、レートコントロール用パラメータが更新される。つづくステップS38では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS39で、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS40へ移行し、そうでなければ、ステップS41へと飛躍する。
【0068】ステップS40では、DC/AC係数補償が行われる。すなわち、イントラブロックにおいては、マクロブロックごとのイントラ予測モードにもとづいて、係数の復元が行われる。ステップS40が終了すると、図6に示すように、処理はステップS41へ移行する。ステップS41では、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。
【0069】つぎに、ステップS42で、現在において対象とされるマクロブロックがインターブロック(インターモードのマクロブロック)であるか否かが判定される。そして、インターブロックであれば、処理はステップS43へ移行し、そうでなければ、ステップS44へと飛躍する。ステップS43では、動き補償が行われる。すなわち、インターブロックに対しては、動きベクトルにもとづいて動き補償が行われる。ステップS43の後、処理はステップS44へと移行する。
【0070】ステップS44では、ローカルデコードされた画像が予測メモリ11へと格納される。符号化対象画像のすべてのマクロブロックに対して、第2ループが反復的に実行されると、その後、処理はステップS46へ移行する。ステップS46では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Pピクチャーに対する符号化が行われる。
【0071】以上の処理において、イントラブロック(第iマクロブロック)の画像特性パラメータXIiは、数9にもとづいて算出される。
【0072】
【数9】
【0073】ここで、符号coeffsは係数を表し、符号blksはマクロブロックを構成するブロックを表す。
【0074】また、インターブロック(第iマクロブロック)の画像特性パラメータXPiは、数10にもとづいて算出される。
【0075】
【数10】
【0076】さらに、Pピクチャー内のイントラブロック(第iマクロブロック)の画像特性パラメータXIiは、数11にもとづいて、インターブロックのパラメータXPiへと変換される。
【0077】
【数11】
【0078】ピクチャー内の第iマクロブロックに対するQUANTは、Iピクチャーに対しては、数12にもとづき、Pピクチャーに対しては、数13にもとづいて算出される。
【0079】
【数12】
【0080】
【数13】
【0081】従来技術においては、QUANTを決定するのに、標準偏差またはSAD(差分絶対値和)が用いられていた。標準偏差が用いられるときには、画像の符号化に必要な計算と別途に標準偏差を計算する必要があった。また、SADが用いられるときには、発生符号量の予測精度が低いという問題点があった。また、いずれが用いられたときにも、Iピクチャーの画面内のDC/AC係数予測に対応した符号化量予測ができないという問題点があった。
【0082】これに対して、実施の形態2の装置では、以上に説明したように、QUANTを決定するのに、DCT係数から求めた画像特性パラメータが用いられる。画像特性パラメータは、DCT係数から、少ない演算量で求めることができるという利点がある。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができるという利点がある。また、Iピクチャーの画面内のDC/AC係数予測に対応した符号量予測が行い得るという利点も得られる。
【0083】<3.実施の形態3>実施の形態3の画像符号化装置の全体構成も、実施の形態2と同様に、図1のブロック図で示される。実施の形態2では、二つのループすなわち第1および第2ループ(図2〜図6)に沿って処理が行われていた。これに対して、実施の形態3では、二つのループを単一のループへと統合すべく構成されている点が、実施の形態2とは特徴的に異なっている。すなわち、実施の形態3の装置は、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化が行われつつある符号化対象画像の発生符号量にもとづいて、現在符号化の対象としているマクロブロックのつぎに符号化対象とされるマクロブロックの目標符号量が決定される点を主要な特徴としている。
【0084】図7および図8に、符号化対象画像がIピクチャーであるときの符号化の流れを示す。また、図9〜図11に符号化対象画像がPピクチャーであるときの符号化の流れを示す。以下に、これらのフローチャートに沿って、符号化の手順について説明する。
【0085】図7に示すように、符号化対象画像がIピクチャーであるときに、符号化が開始されると、まず、ステップS51において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つづくステップS52では、I/P比率の推測、および、符号量割当の決定が行われる。すなわち、最新のIピクチャーとPピクチャーの符号量から、Iピクチャー/Pピクチャーの符号化量の比率(I/P比率)が推測される。さらに、これにもとづいて、GOPを構成する各ピクチャーへの符号量割当が決定される。この処理は、例えば、符号化パラメータ制御部19において行われる。
【0086】つぎに、ステップS53〜S66までのループの処理が、マクロブロックごとに反復して実行される。ループが開始されると、まず、ステップS54において、変換部6によるDCT変換が行われる。つづくステップS55では、同一画像内の隣接マクロブロックのDCT係数の値を参照して、疑似DC/AC係数予測が行われる。予測モードも、これらのデータによって、擬似的に決定される。
【0087】つぎに、ステップS56において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。つづくステップS57では、目標符号量とQUANTの更新とが行われる。
【0088】すなわち、現在において対象とされるマクロブロック(対象マクロブロック)までの発生符号量と、最新のIピクチャーの画像特性パラメータの分布とにもとづいて、対象マクロブロックの目標符号量が算出される。さらに、この目標符号量と、先に算出された画像特性パラメータとにもとづいて、QUANTが算出される。このステップS57の処理は、符号化パラメータ制御部19によって実行される。つぎに、ステップS58において、実際のDC/AC係数予測が行われる。このDC/AC係数予測は、ローカルデコードされた画像信号にもとづいて遂行される。
【0089】図8に示すように、つづくステップS59では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS60において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。この処理は、可変長符号化部15によって実行される。
【0090】つぎに、ステップS61において、レートコントロール用パラメータが更新される。つづくステップS62では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS63において、DC/AC係数補償が行われる。その後、ステップS64において、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。つぎに、ステップS65において、デコード(符号化)された画像が予測メモリ11へと格納される。
【0091】符号化対象画像のすべてのマクロブロックに対して、ループが反復的に実行されると、その後、処理はステップS67へ移行する。ステップS67では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Iピクチャーに対する符号化が行われる。
【0092】図9に示すように、符号化対象画像がPピクチャーであるときに、符号化が開始されると、まず、ステップS71において、初期化が行われる。すなわち、レートコントロールなどの制御に用いられる変数のうち、初期化が必要なものすべてについて初期化が行われる。つぎに、ステップS72〜S93までのループの処理が、マクロブロックごとに反復して実行される。
【0093】ループが開始されると、まず、ステップS73において、動き検出が行われる。つづくステップS74では、イントラ/インターモードの判断が行われる。すなわち、動き検出の結果にもとづいて、イントラモード/インターモードのいずれかが判定される。つぎに、ステップS75において、DCT変換が行われる。すなわち、符号化対象画像(イントラモードに対してはカレント画像22、インターモードに対しては差分画像23)に対して、DCT変換が施される。この処理は、変換部6で実行される。
【0094】つぎに、ステップS76において、イントラモードであるか否かが判断される。そして、イントラモードであれば、処理はステップS77へと移行し、イントラモードでなければ、ステップS78へと移行する。ステップS77では、疑似DC/AC係数予測が行われる。イントラ予測モードは擬似的に決定される。ステップS77が終了すると、処理はステップS78へと移行する。ステップS78では、動きベクトル差分など、量子化されたDCT係数以外で発生する符号量の予測が行われる。この処理は、例えば、符号化パラメータ制御部19によって実行される。
【0095】つぎに、ステップS79において、画像特性パラメータの算出が行われる。すなわち、レートコントロールを行うための画像特性パラメータが算出される。必要とされるデータは、イントラブロックとインターブロックで異なる。イントラブロックでは、Y、Cr、Cb成分のすべての疑似DC/AC係数予測後のDCT係数の絶対値和である。インターブロックでは、動き検出後のDCT係数のY、Cr、Cb成分のすべてについて、AC成分の絶対値和とDCT係数の絶対値の最大値である。
【0096】つぎに、図10に示すように、ステップS80において、目標符号量とQUANTの更新が行われる。すなわち、現在において対象とされるマクロブロック(対象マクロブロック)までの発生符号量と、最新のPピクチャーの画像特性パラメータ分布とにもとづいて、対象マクロブロックの目標符号量が算出される。さらに、この目標符号量と、先に算出された画像特性パラメータとにもとづいて、QUANTが算出される。このステップS80の処理は、符号化パラメータ制御部19によって実行される。
【0097】つぎに、ステップS81において、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS82へ移行し、そうでなければ、ステップS83へと飛躍する。ステップS82では、ローカルデコードされた画像信号にもとづいて、実際のDC/AC係数予測が行われる。ステップS82の後、処理は、ステップS83へと移行する。
【0098】ステップS83では、量子化が行われる。量子化は、先のステップで求められたQUANTにもとづいて、量子化部7によって実行される。つぎに、ステップS84において、可変長符号化が行われる。すなわち、量子化によって得られた量子化係数が1次元配列に変換された上で、可変長符号化が行われる。ステップS84の処理は、可変長符号化部15によって実行される。
【0099】つぎに、ステップS85において、レートコントロール用パラメータが更新される。つづくステップS86では、量子化係数に対して逆量子化が施される。この処理は、逆量子化部8によって実行される。つづいて、ステップS87で、現在において対象とされるマクロブロックがイントラブロックであるか否かが判定される。そして、イントラブロックであれば、処理はステップS88へ移行し、そうでなければ、ステップS89へと飛躍する。
【0100】ステップS88では、DC/AC係数補償が行われる。すなわち、イントラブロックにおいては、マクロブロックごとのDC/AC係数予測モードにもとづいて、係数の復元が行われる。ステップS88が終了すると、図11に示すように、処理はステップS89へ移行する。ステップS89は、逆DCT変換が行われる。この処理は、逆変換部9によって実行される。
【0101】つぎに、ステップS90で、現在において対象とされるマクロブロックがインターブロックであるか否かが判定される。そして、インターブロックであれば、処理はステップS91へ移行し、そうでなければ、ステップS92へと飛躍する。ステップS91では、動き補償が行われる。すなわち、インターブロックに対しては、動きベクトルにもとづいて動き補償が行われる。ステップS91の後、処理はステップS92へと移行する。
【0102】ステップS92では、ローカルデコードされた画像が予測メモリ11へと格納される。符号化対象画像のすべてのマクロブロックに対して、ループが反復的に実行されると、その後、処理はステップS94へ移行する。ステップS94では、スタッフビットの挿入が行われる。すなわち、発生符号量が割当てビット量よりも少ないときには、スタッフビットが挿入される。以上の手順で、Pピクチャーに対する符号化が行われる。
【0103】以上の処理において、画像特性パラメータは、実施の形態2と同様の数式にもとづいて算出される。また、ピクチャー内の第iマクロブロックに対する目標符号量は、第iマクロブロックがIピクチャーであるときには数14にもとづき、Pピクチャーであるときには数15にもとづいて算出される。
【0104】
【数14】
【0105】
【数15】
【0106】ピクチャー内の第iマクロブロックに対するQUANTは、Iピクチャーに対しては、数16にもとづき、Pピクチャーに対しては、数17にもとづいて算出される。
【0107】
【数16】
【0108】
【数17】
【0109】従来技術の一つにおいては、QUANTの決定に先だって、符号化対象画像の全体に対して解析が行われていた。その結果、発生符号量の制御の精度は高いが、符号化対象画像を2度にわたって走査する必要があり、演算にメモリ容量を多く必要とし、また、前処理に時間がかかるという問題点があった。
【0110】また、別の従来技術においては、発生符号量の増減にもとづいて、QUANTの制御が行われていた。このため、符号化対象画像の走査は1度でよく、演算に必要なメモリ容量が少なく、また、前処理時間も短いという利点はあるが、実際の発生符号量とQUANTの増減との間に遅延が生じ、発生符号量の制御の精度が低いという問題点があった。
【0111】これに対して、実施の形態3の装置では、符号化対象画像の走査は一度でよく、演算に必要なメモリ容量が少なく、また、前処理時間も短いという利点とともに、演算量に対して高い符号量の制御精度が得られるという利点がある。
【0112】<4.実施の形態4>実施の形態4の画像符号化装置の全体構成も、実施の形態2と同様に、図1のブロック図で示される。実施の形態4は、実施の形態2または3で用いられる目標符号量の割当、あるいは、QUANTなどに対して、マクロブロックごとに重みが付加される点を、主要な特徴としている。
【0113】すなわち、実施の形態4の装置では、各マクロブロックに対して、画面内の位置や、符号化対象画像のDCT係数から求められた画像特性パラメータにもとづいて、例えば画面の中央部あるいは画像が速く動く部分など視覚的に重要なマクロブロックであるか、あるいは否かに応じた重み付けパラメータが算出される。そして、この重み付けパラメータにもとづいて、マクロブロックごとに目標符号量の割当、あるいは、QUANTに対して重み付けが行われる。
【0114】演算の一例を示すと、まず、第(i,j)マクロブロックに対する画像位置パラメータPijが、数18にもとづいて算出される。
【0115】
【数18】
【0116】数18に示されない他の(i,j)に対しては、適当な補完を行うことによって画像位置パラメータPijが算出される。画像位置パラメータPijは、画面内の位置の視覚的重要度を反映している。
【0117】つぎに、第(i,j)マクロブロックに対する画像特性パラメータXijを用いて、第(i,j)マクロブロックに対する重み付けパラメータAijが、数19にもとづいて算出される。
【0118】
【数19】
【0119】このようにして算出された重み付けパラメータAijが、実施の形態2,3で述べた発生符号量の制御に用いられる。すなわち、目標符号量の割当やQUANTに対して、重み付けパラメータAijが積として付加されることにより、視覚的重要度に応じた重み付け補正が加えられる。
【0120】従来技術においては、重み付けパラメータとして、標準偏差が用いられていた。その結果、画像符号化に必要な計算とは別途に標準偏差を計算する必要があるという問題点があった。さらに、重み付けと符号量制御との両立が困難であるという問題点もあった。
【0121】これに対して、実施の形態4の装置では、DCT係数にもとづいて少ない演算量で画像特性パラメータが算出でき、さらに、実施の形態2,3で述べた発生符号量制御との整合性が良好であり、両立が容易であるという利点が得られる。
【0122】<5.実施の形態5>実施の形態5の画像符号化装置の全体構成は、図12のブロック図で示される。実施の形態5の装置は、フレームレートを制御する装置部分であるフレームレート制御部30、および、これに付随するユーザ画質指定部31を備える点を、主要な特徴としている。
【0123】フレームレート制御部30は、第1に、外部から与えられたビットレートと、ユーザ画質指定部31を通じてユーザが選択的に指定した指定画質とにしたがって、初期フレームレートを設定する。フレームレート制御部30は、第2に、符号化時の発生符号量とQUANTの履歴にもとづいて、フレームレートを最適値へと自動的に更新する。フレームレート制御部30は、第3に、符号化の過程の中においても、ユーザ画質指定部31を通じたユーザの要求に応じて、フレームレートを更新する。
【0124】すなわち、1フレーム当たりの符号量の多い高精細画像を伝送すべき時には、フレームレートを犠牲にし、逆に、フレームレートを高くして動きの滑らかな画像を伝送すべき時には、各フレームの画像の精細度を犠牲にすることで、送信経路18の伝送容量における制約の中でトレードオフの関係にある、1フレームの画像の精細度とフレームレートとを、選択可能にしている。
【0125】図13のフローチャートに、図12の装置における特徴的な動作の流れを示す。図13に示すように、フレームレート制御が開始されると、まず、ステップS101において、テーブルへのパターンの格納が行われる。すなわち、装置が採り得るフレームレートのパターンが、参照用テーブルに格納される。同時に、採り得るフレームレート変更間隔(=s秒)も与えられる。このテーブルと、フレームレート間隔を記憶するメモリは、例えば、フレームレート制御部30に内蔵されている。
【0126】つぎに、ステップS102において、画質パラメータが定められる。すなわち、ユーザが選択可能な解像度の幅、間隔等の選択枝が、画質パラメータとして準備される。例えば、圧縮率の下限に対応する値を0、圧縮率の上限に対応する値を1とし、解像度の度合いに対応する0〜1の範囲の値を、ユーザが選択可能な範囲として準備する。圧縮率の下限には、最低の精細画像、および、最高のフレームレートが対応し、また、圧縮率の上限には、最高の精細画像、および、最低のフレームレートが対応する。準備された画質パラメータは、参照用テーブルに格納される。
【0127】つぎに、ステップS103において、QUANTの限界値が定められる。すなわち、QUANTの上限値Qu、下限値Ql、および、実効上限値Qmu、実効下限値Qmlが決定される。QUANTは、下限値Ql<QUANT<上限値Quの範囲になくてはならず、実効下限値Qml<QUANT<実効上限値Qmuの範囲にあることが望ましいとされる。
【0128】つぎに、ステップS104において、ビットレートが定義される。つづく、ステップS105では、フレームレートパターンに対応した画質パラメータが参照用テーブルへと格納される。つづいて、ステップS106において、ユーザによって画質が指定される。この指定は、入力装置として構成されるユーザ画質指定部31を通じて行われる。
【0129】つぎに、ステップS107において、精細度とフレームレートの探索が行われる。すなわち、指定された精細度に対応する画質パラメータが、参照用テーブルから探索され、さらに、その値に対応するフレームレートが、参照用テーブルから探索される。そして、得られたフレームレートが基準フレームレートとして設定される。
【0130】つぎに、ステップS108において、ビット割当および符号化が行われる。すなわち、基礎フレームレートの下で、各フレームのビット割当、および、エンコード(符号化)が行われる。つづく、ステップS109では、符号化の結果にもとづいて、フレームレートの自動調整が行われる。つづいて、ステップS110において、ユーザによって、あらためて画質の指示がなされることにより、画質変更が定されると、処理はステップS107へと戻って、ステップS107〜ステップS109の処理が改めて実行される。
【0131】図14および図15は、ステップS109の処理の流れを詳細に示すフローチャートである。図14R>4に示すように、ステップS109の処理が開始されると、ステップS111において、最新の2フレームについて、QUANT>上限値Qu、であるか否かが判定される。判定の結果が「Yes」であれば、処理はステップS112へと移行し、逆に、「No」であれば、ステップS120へと飛躍する。
【0132】ステップS112では、フレームレートが基準値よりも1段階引き下げられる。つぎに、ステップS113において、s秒間の待機が行われる。すなわち、ステップS112で引き下げられたフレームレートが、s秒間にわたってそのまま維持される。s秒の値は、先のステップS101で決定されている。
【0133】つづくステップS114では、最新の2フレームについて、QUANT>上限値Qu、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS115へ移行し、「No」であれば、ステップS116へと移行する。ステップS115では、フレームレートの再調整が行われ、フレームレートが現在の値よりも1段階引き下げられる。その後、処理はステップS113へと戻る。
【0134】ステップS116では、最新の2フレームについて、QUANT>実効上限値Qmu、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS117へと移行し、「No」であれば、ステップS118へ移行する。ステップS117では、フレームレートは変更されることなく、現在の値のままに保持される。その後、処理はステップS113へと戻る。
【0135】一方、ステップS118では、フレームレートが、現在の値よりも1段階引き上げられる。つづいて、ステップS119において、現在のフレームレートが基準値に一致するか否かが判定される。判定の結果が「No」であれば、処理はステップS113へと戻り、「Yes」であれば、ステップS109の処理は完了する。
【0136】つぎに、図15に示すように、ステップS120において、最新の2フレームについて、QUANT<下限値Ql、であるか否かが判定される。判定の結果が「Yes」であれば、処理はステップS121へと移行し、「No」であればステップS109の処理は完了する。
【0137】ステップS121では、フレームレートが基準値よりも1段階引き上げられる。つぎに、ステップS122において、s秒間の待機が行われる。すなわち、ステップS121で引き上げられたフレームレートが、s秒間にわたってそのまま維持される。
【0138】つづくステップS123では、最新の2フレームについて、QUANT<下限値Ql、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS124へ移行し、「No」であれば、ステップS125へと移行する。ステップS124では、フレームレートの再調整が行われ、フレームレートが現在の値よりも1段階引き上げられる。その後、処理はステップS122へと戻る。
【0139】ステップS125では、最新の2フレームについて、QUANT<実効下限値Qml、であるか否かが判定される。判定の結果が、「Yes」であれば、処理はステップS126へと移行し、「No」であれば、ステップS127へ移行する。ステップS126では、フレームレートは変更されることなく、現在の値のままに保持される。その後、処理はステップS122へと戻る。
【0140】一方、ステップS127では、フレームレートが、現在の値よりも1段階引き下げられる。つづいて、ステップS128において、現在のフレームレートが基準値に一致するか否かが判定される。判定の結果が「No」であれば、処理はステップS122へと戻り、「Yes」であれば、ステップS109の処理は完了する。
【0141】
【発明の効果】第1の発明の装置では、画像特性パラメータが離散コサイン係数から算出されるので、少ない演算量で、画像特性パラメータが求められる。また、画像特性パラメータが用いられるので、高い精度で発生符号量を予測することができるという効果が得られる。
【0142】第2の発明の装置では、イントラピクチャー(Iピクチャー)の画面内のDC/AC係数予測に対応した符号量予測が行い得るという効果がある。
【0143】第3の発明の装置では、過去の画像の画像特性パラメータの分布履歴等にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量が決定されるので、符号化対象画像の走査が一度でよく、演算に必要なメモリ容量が少なくて済み、前処理時間も短いのに加えて、高い符号量の制御精度が得られるという効果がある。
【0144】第4の発明の装置では、前記離散コサイン変換係数等にもとづいて画像特性パラメータが算出され、これにもとづいて算出された重み付けパラメータに応じて、マクロブロックごとに、目標符号量の割当、および、量子化ステップに対する重み付けが行われる。このため、少ない演算量で画像特性パラメータが算出でき、さらに、発生符号量制御との整合性が良好であり、両立が容易であるという効果が得られる。
【図面の簡単な説明】
【図1】 実施の形態1〜4の装置のブロック図である。
【図2】 実施の形態2の装置の動作の流れを示す流れ図である。
【図3】 実施の形態2の装置の動作の流れを示す流れ図である。
【図4】 実施の形態2の装置の動作の流れを示す流れ図である。
【図5】 実施の形態2の装置の動作の流れを示す流れ図である。
【図6】 実施の形態2の装置の動作の流れを示す流れ図である。
【図7】 実施の形態3の装置の動作の流れを示す流れ図である。
【図8】 実施の形態3の装置の動作の流れを示す流れ図である。
【図9】 実施の形態3の装置の動作の流れを示す流れ図である。
【図10】 実施の形態3の装置の動作の流れを示す流れ図である。
【図11】 実施の形態3の装置の動作の流れを示す流れ図である。
【図12】 実施の形態5の装置のブロック図である。
【図13】 実施の形態5の装置の動作の流れを示す流れ図である。
【図14】 実施の形態5の装置の動作の流れを示す流れ図である。
【図15】 実施の形態5の装置の動作の流れを示す流れ図である。
【符号の説明】
6 変換部
7 量子化部
15 可変長符号化部
19 符号化パラメータ制御部(制御部)
30 フレームレート制御部(制御部)
【特許請求の範囲】
【請求項1】 画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、前記離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、前記量子化ステップを決定する制御部と、を備えることを特徴とする画像符号化装置。
【請求項2】 請求項1に記載の画像符号化装置において、可変長符号化テーブルを参照しつつ前記量子化係数に対して可変長符号化を行う可変長符号化部を、さらに備え、前記制御部は、画像種別、マクロブロックの種別、および、前記可変長符号化テーブルに適合した方法にもとづいて、前記画像特性パラメータを算出することを特徴とする画像符号化装置。
【請求項3】 請求項1または請求項2に記載の画像符号化装置において、前記制御部は、さらに、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化の中における発生符号量にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量を決定することを、特徴とする画像符号化装置。
【請求項4】 画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、各マクロブロックに対して、画面内での位置、および、符号化対象画像における前記離散コサイン変換係数から、画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、視覚上の重要度に応じた重み付けを行うための重み付けパラメータを算出し、さらに、当該重み付けパラメータにもとづいて、前記マクロブロックごとに、目標符号量の割当、および、前記量子化ステップに対する重み付けを行う制御部と、を備えることを特徴とする画像符号化装置。
【請求項1】 画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、前記離散コサイン変換係数から画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、前記量子化ステップを決定する制御部と、を備えることを特徴とする画像符号化装置。
【請求項2】 請求項1に記載の画像符号化装置において、可変長符号化テーブルを参照しつつ前記量子化係数に対して可変長符号化を行う可変長符号化部を、さらに備え、前記制御部は、画像種別、マクロブロックの種別、および、前記可変長符号化テーブルに適合した方法にもとづいて、前記画像特性パラメータを算出することを特徴とする画像符号化装置。
【請求項3】 請求項1または請求項2に記載の画像符号化装置において、前記制御部は、さらに、過去の画像の画像特性パラメータの分布履歴、視覚特性、および、符号化の中における発生符号量にもとづいて、つぎの符号化対象とされるマクロブロックにおける目標符号量を決定することを、特徴とする画像符号化装置。
【請求項4】 画像の符号化を行う画像符号化装置において、前記画像に離散コサイン変換を行って離散コサイン変換係数を算出する変換部と、前記離散コサイン変換係数に対して、量子化ステップにもとづき量子化を行って量子化係数を算出する量子化部と、各マクロブロックに対して、画面内での位置、および、符号化対象画像における前記離散コサイン変換係数から、画像特性パラメータを算出し、当該画像特性パラメータにもとづいて、視覚上の重要度に応じた重み付けを行うための重み付けパラメータを算出し、さらに、当該重み付けパラメータにもとづいて、前記マクロブロックごとに、目標符号量の割当、および、前記量子化ステップに対する重み付けを行う制御部と、を備えることを特徴とする画像符号化装置。
【図6】
【図11】
【図1】
【図2】
【図3】
【図5】
【図4】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図11】
【図1】
【図2】
【図3】
【図5】
【図4】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2003−163933(P2003−163933A)
【公開日】平成15年6月6日(2003.6.6)
【国際特許分類】
【出願番号】特願2002−261788(P2002−261788)
【分割の表示】特願平9−282082の分割
【出願日】平成9年10月15日(1997.10.15)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】
【公開日】平成15年6月6日(2003.6.6)
【国際特許分類】
【分割の表示】特願平9−282082の分割
【出願日】平成9年10月15日(1997.10.15)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】
[ Back to top ]