本発明は、画像を圧縮符号化して光ディスク、磁気ディスクあるいはフラッシュメモリ等の記憶メディア上に記録する画像符号化装置および画像符号化方法に関するものであり、特にH.264圧縮符号化方式により圧縮符号化を行う画像符号化装置、画像符号化方法、画像符号化集積回路、および画像符号化プログラムに関する。
デジタル映像技術の発展と共に、データ量の増大に対応してデジタル映像データを圧縮する技術が発展しつつある。その発展は、映像データの特性を生かし、映像データに特化した圧縮技術となって現れている。
また、コンピュータなどの情報処理機器の処理能力の向上に伴い、圧縮技術における複雑な演算も可能となり、映像データの圧縮率は大幅に向上しつつある。
例えば、衛星および地上波デジタルハイビジョン放送で採用されている圧縮技術はMPEG(Moving Picture Experts Group)2と呼ばれる圧縮方式である。例えば、衛星デジタルハイビジョン放送はMPEG2によって映像データを約1/30に圧縮している。
MPEG2に続いて規格化された映像圧縮方式の1つであるMPEG4 AVC/H.264は、MPEG2の約2倍の圧縮率を実現すると言われている。
MPEG4 AVC/H.264は、光ディスクの1つの規格であるBlu−ray、および、ハイビジョン映像をビデオカメラで記録するための規格であるAVCHD(Advanced Video Codec High Definition)の動画圧縮方式としても採用されており、幅広い分野での利用が期待されている。
しかし、MPEG4 AVC/H.264は、非特許文献1に開示されているように、多くの圧縮技術を実装し、それらを組み合わせることで高い圧縮率を実現しているため、演算量もMPEG2と比べ大幅に増加している。
動画像を圧縮するための符号化技術の一つに動き補償がある。動き補償を用いて画像を符号化する場合、まず画像の動き量を推定する動きベクトル探索を行い、動きベクトル探索で求めた動きベクトルを用いて動き補償を行っている。
一般的に動きベクトル探索の探索範囲を大きくするほど動きベクトルの検出精度を向上させることができる。しかし、探索範囲を大きくするほど演算量が増加するため消費電力が大きくなってしまう。このため、動きベクトル探索の探索範囲は、演算量や回路規模を考慮して決定されることが多い。
このように動きベクトル探索の探索範囲を制限した場合、入力画像の動きに対して常に十分な探索範囲を設定できるわけではない。
例えば、入力画像が、ズーム中の動画像に含まれる場合、入力画像が、パンしている動画像に含まれる場合、および入力画像の前後の動きがバラバラで大きい場合などは、入力画像に対して動きベクトル探索の探索範囲が十分ではなくなる。これにより、動きベクトルの検出精度が低下し、画質および符号化効率が低下するという課題があった。
特許文献1には、このような課題を解決するための方法として、カメラのズーム状態に応じて動き補償の予測方法を変更することにより符号化効率を向上させる方法が開示されている。
ITU−T Recommendation H.264
特開2001−145011号公報
しかしながら、特許文献1に開示されている方法によっては、カメラのズーム状態に応じて動き補償の予測方法を変更するだけであり、探索範囲を変更しているわけではない。
そのため、常に十分な動きベクトル探索の探索範囲を得ることができるとは限らず、動きベクトルの検出精度が低下する場合が存在する。
特に、符号化対象ピクチャと参照ピクチャの時間的な距離が離れている場合(例えば2フレーム以上)、動きベクトル探索に十分な探索範囲は、符号化対象ピクチャと参照ピクチャの時間的な距離が近い(例えば1フレーム以内)場合と比べて大きくなる。そのため、動き検出の精度はさらに低下してしまう。
本発明はかかる問題を解決するためになされたものであり、画像符号化処理の演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることができる画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラムを提供することを目的とする。
上記目的を達成するために、本発明の画像符号化装置は、入力画像データを符号化する画像符号化装置であって前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、前記判断の結果を示す符号化フラグ情報を生成する符号化フラグ生成部と、前記符号化フラグ生成部により生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定する符号化方式決定部と、前記符号化方式決定部により決定された前記符号化方式に従って前記入力画像データを圧縮符号化する画像符号化部とを備える。
また、前記符号化フラグ生成部は、ズームまたはパンしている動画像に前記入力画像データが含まれることを示す情報を取得した場合、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記符号化フラグ生成部は、符号化対象である前記入力画像データと、過去の入力画像データとの差分から算出される値である特徴量が、所定の閾値以上である場合、符号化対象である前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを含む複数のピクチャそれぞれを、マクロブロック単位で圧縮符号化し、前記符号化フラグ生成部は、前記画像符号化部による、前記符号化対象ピクチャの圧縮符号化より前の、マクロブロック単位での圧縮符号化に用いられた複数の動きベクトルにより算出される値である特徴量が、予め定められた閾値以上である場合、符号化対象の前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記符号化対象ピクチャが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化対象ピクチャが、入力順において時間的にPピクチャの次に位置するフレームに属し、かつ、前記符号化対象ピクチャをBピクチャとして符号化するとき、前記符号化対象ピクチャよりも時間的に前に位置する1枚以上のピクチャのみを参照するように前記符号化方式を決定するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記符号化対象ピクチャが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化対象ピクチャが、入力順において時間的にPピクチャの直前に位置するフレームに属し、かつ、前記符号化対象ピクチャをBピクチャとして符号化するとき、前記符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するように前記符号化方式を決定するとしてもよい。
また、前記画像符号化部は、前記入力画像データを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記画像符号化部がBピクチャとして符号化するフレームが連続する枚数を、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、少なくするように前記符号化方式を決定するとしてもよい。
また、本発明の画像符号化方法は、入力画像データを符号化する画像符号化方法であって、前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断し、前記判断の結果を示す符号化フラグ情報を生成し、生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定し、決定された前記符号化方式に従って前記入力画像データを圧縮符号化する。
また、本発明の画像符号化集積回路は、入力画像データを符号化する画像符号化集積回路であって前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、前記判断の結果を示す符号化フラグ情報を生成する符号化フラグ生成部と、前記符号化フラグ生成部により生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定する符号化方式決定部と、前記符号化方式決定部により決定された前記符号化方式に従って前記入力画像データを圧縮符号化する画像符号化部とを備える。
また、発明の画像符号化プログラムは、入力画像データを符号化する画像符号化プログラムであって、前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断し、前記判断の結果を示す符号化フラグ情報を生成し、生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定し、決定された前記符号化方式に従って前記入力画像データを圧縮符号化することをコンピュータに実行させるための画像符号化プログラム。
本発明によれば、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データである場合、当該入力画像データ、つまり、符号化対象ピクチャと時間的に近い位置にあるピクチャを参照する。
これにより、動きベクトル探索における動きベクトル検出精度を向上させることができ、その結果、入力画像データが大きな動きを示す動画像に含まれるときの符号化効率を高めることができる。
例えば、ズームまたはパンしている動画像、つまり、カメラがズームまたはパンしながら撮影した動画像を符号化する際の符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくして符号化効率を上げる方法に比べて、回路規模や演算量を削減することができる。したがって、本発明は、画像符号化処理における演算量の削減、高速化、および低消費電力化を図りつつ画質および符号化効率を向上させることが可能となる。
図1は、本発明の実施の形態1に係る画像符号化装置の構成を示すブロック図である。
図2は、本発明の実施の形態1に係る画像符号化装置における画像符号化部の構成を示すブロック図である。
図3は、本発明の実施の形態1に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図4は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が実行する処理の一例を示すフローチャートである。
図5は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第1の方法の一例を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図6は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第1の方法の他の一例を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図7は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第2の方法の一例を示す図である。
図8は、符号化対象ピクチャをPピクチャとして符号化する場合における符号化方式の決定方法を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図9は、プログレッシブ画像を符号化する場合における符号化方式の決定方法を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図10は、本発明の実施の形態2に係る画像符号化装置の構成を示すブロック図である。
図11は、本発明の実施の形態2に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図12は、本発明の実施の形態3に係る画像符号化装置の構成を示すブロック図である。
図13は、本発明の実施の形態3に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図14は、本発明の画像符号化集積回路の構成例を示すブロック図である。
符号の説明
100、800、900 画像符号化装置
101、801、901 符号化フラグ生成部
102 符号化方式決定部
103 画像符号化部
200 画像符号化集積回路
201 入力画像データメモリ
202 参照画像データメモリ
203 面内予測部
204 動きベクトル検出部
205 動き補償部
206 予測モード判定部
207 差分演算部
208 直交変換部
209 量子化部
210 逆量子化部
211 逆直交変換部
212 加算部
213 エントロピー符号化部
以下に、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像符号化装置100の構成を示すブロック図である。本発明の実施の形態1に係る画像符号化装置100には、入力画像データと入力画像データの付加情報である入力画像付加情報が入力される。画像符号化装置100は、入力画像データをH.264圧縮方式で符号化し、ストリームとして出力する。
なお、H.264圧縮方式による符号化においては、1つのピクチャを1つまたは複数のスライスに分割し、そのスライスを処理単位としている。
本発明の実施の形態1におけるH.264圧縮方式による符号化では、1つのピクチャを1つのスライスとして扱う。
また、画像符号化装置100が符号化するそれぞれのピクチャは、本発明の画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラムが符号化の対象とする入力画像データの一例である。
また、“ピクチャ”という場合、2つのフィールド(トップフィールドおよびボトムフィールド)を1つのフレームとして扱う“フレームピクチャ”、および、2つのフィールドを独立した2つのピクチャとして扱う“フィールドピクチャ”のいずれかである。
画像符号化装置100は、符号化方式としてH.264圧縮方式を採用しているため、例えば、インターレース信号を符号化する際に、フレーム符号化を行うか、またはフィールド符号化を行うかをピクチャごとに切り替えることが可能である。
以上説明した、H.264およびピクチャに関する事項は、後述する本発明の実施の形態2および3においても同じである。
図1に示すように、画像符号化装置100は、符号化フラグ生成部101と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部101は、本発明の実施の形態1においては、入力画像データの付加情報である入力画像付加情報を受信する。さらに、入力画像付加情報に基づいて生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
入力画像付加情報は、例えば、画像符号化装置100に画像データを入力するビデオカメラが、ズームをしているか否かを示す情報、パンをしているか否かを示す情報などである。
つまり、入力画像付加情報は、当該入力画像データが、ズームまたはパンしている動画像など、大きな動きを示す動画像に含まれるか否かを示す情報である。また、入力画像付加情報は、入力画像データとともに画像符号化装置100に入力される入力画像データに関する付加情報である。
なお、“パン”には、ビデオカメラを上下方向に振りながら動画を撮影する技法である“チルト”も含まれる。
また、画像符号化装置100はビデオカメラに内蔵されていてもよい。また、画像符号化装置100はビデオカメラと有線または無線により接続された、ビデオカメラとは別体の装置であってもよい。これらのことは、後述する実施の形態2および3でも同じである。
符号化方式決定部102は、画像符号化部103における符号化方式を決定する処理部である。具体的には、符号化方式決定部102は、符号化フラグ生成部101により生成された符号化フラグ情報から、符号化対象ピクチャを符号化するときのピクチャタイプおよび、符号化対象ピクチャがどのピクチャを参照するかといった情報を示す符号化方式などを決定する。符号化方式決定部102はさらに、決定したそれらの情報を画像符号化部103に対し符号化方式決定情報として出力する。
符号化方式決定部102の具体的な動作に関する詳細については後述する。
画像符号化部103は、符号化方式決定部102が出力した符号化方式決定情報に従って、符号化対象ピクチャの画像データをH.264圧縮方式による符号化により圧縮符号化する。
次に、図2を用いて、画像符号化部103の詳細な構成について説明する。
図2は、本発明の実施の形態1の画像符号化装置100における画像符号化部103の構成を示すブロック図である。
図2に示すように、画像符号化部103は、入力画像データメモリ201、参照画像データメモリ202、面内予測部203、動きベクトル検出部204、動き補償部205、予測モード判定部206、差分演算部207、直交変換部208、量子化部209、逆量子化部210、逆直交変換部211、加算部212、およびエントロピー符号化部213を備えている。
入力画像データメモリ201は、入力画像データと、符号化方式決定部102から入力される入力画像データに対応する符号化方式決定情報とを格納する。つまり、入力画像データメモリ201は、符号化対象の入力画像データと、符号化対象の入力画像データに対応する符号化方式決定情報とを保持している。
なお、入力画像データメモリ201が保持している情報は、面内予測部203、動きベクトル検出部204、動き補償部205、および差分演算部207により参照される。
動きベクトル検出部204は、参照画像データメモリ202に格納されているローカルデコード画像を探索対象とし、最も入力画像に近い画像領域を検出してその位置を示す動きベクトルを決定する。動きベクトル検出部204はさらに、最も誤差の小さい符号化対象ブロックのサイズおよびそのサイズでの動きベクトルを決定し、決定したそれらの情報を動き補償部205およびエントロピー符号化部213に送信する。
動き補償部205は、動きベクトル検出部204から受信した情報に含まれる動きベクトルを用いて、参照画像データメモリ202に格納されているローカルデコード画像から予測画像に最適な画像領域を取り出す。動き補償部205はさらに、面間予測の予測画像を生成し、生成した予測画像を予測モード判定部206に出力する。
面内予測部203は、参照画像データメモリ202に格納されているローカルデコード画像から同一画面内の符号化後の画素を用いて面内予測を行い、面内予測の予測画像を生成する。面内予測部203はさらに、生成した予測画像を予測モード判定部206に出力する。
予測モード判定部206は、予測モードを判定する。予測モード判定部206はさらに、その判定結果に基づき、面内予測部203からの面内予測で生成された予測画像と、動き補償部205からの面間予測で生成された予測画像を切り替えて出力する。
予測モード判定部206において予測モードを判定する方法としては、例えば、面間予測と面内予測について、それぞれ入力画像と予測画像との各画素の差分絶対値和(SAD)を求め、この値が小さい方を、採用する予測モードと判定する。
差分演算部207は、入力画像データメモリ201から入力画像データを取得し、取得した入力画像と予測モード判定部206から出力された予測画像との画素差分値を計算する。差分演算部207はさらに、計算した画素差分値を直交変換部208に出力する。
直交変換部208は、差分演算部207から入力された画素差分値を周波数係数に変換し、変換した周波数係数を量子化部209に出力する。
量子化部209は、直交変換部208から入力された周波数係数を量子化し、量子化した値、すなわち量子化値を、符号化すべきデータとしてエントロピー符号化部213および逆量子化部210に出力する。
逆量子化部210は、量子化部209から入力された量子化値を逆量子化して周波数係数に復元し、復元した周波数係数を逆直交変換部211に出力する。
逆直交変換部211は、逆量子化部210から入力された周波数係数を画素差分値に逆周波数変換し、逆周波数変換した画素差分値を加算部212に出力する。
加算部212は、逆直交変換部211から入力される画素差分値と、予測モード判定部206から出力された予測画像を加算してローカルデコード画像を生成する。加算部212はさらに、そのローカルデコード画像を参照画像データメモリ202に出力する。
ここで、参照画像データメモリ202に記憶されるローカルデコード画像は、入力画像データメモリ201に記憶される入力画像と基本的には同じ画像である。
しかし、ローカルデコード画像は、画素差分値が、直交変換部208および量子化部209などで一旦直交変換および量子化処理をされた後、逆量子化部210および逆直交変換部211などで逆量子化および逆直交変換処理をされた結果を含んでいる。そのためローカルデコード画像は、量子化歪みなどの歪み成分を有している。
エントロピー符号化部213は、量子化部209から入力された量子化値および動きベクトル検出部204から入力された動きベクトル等をエントロピー符号化し、その符号化したデータを出力ストリームとして出力する。
次に、以上のように構成された画像符号化装置100が実行する処理について説明する。
まず、入力画像データが画像符号化部103に入力され、また入力画像付加情報が符号化フラグ生成部101にそれぞれ入力される。
入力画像データは、画像符号化部103の入力画像データメモリ201に格納される。入力画像データは、例えば、1920画素×1080画素によって構成されている。
また、入力画像付加情報は、例えば、入力画像データがズーム状態にあるか否かを示す情報などのような入力画像データに関する付加情報を有している。
符号化フラグ生成部101は、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、判断の結果を示す符号化フラグ情報を生成する。
本発明の実施の形態1では、符号化フラグ生成部101は、入力画像付加情報を参照し、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する。
その結果、所定の動き量以上の動きを示す動画像に含まれる画像データであると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。
符号化フラグ生成部101はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
この場合、入力画像付加情報は、例えば、入力画像データがズーム状態にあるか否か、つまり、入力画像データが、ズームしている動画像に含まれるか否かを示している。このような内容を示す入力画像付加情報は、例えば、ビデオカメラのズームボタンなどから符号化フラグ生成部101に入力される。
また、入力画像付加情報は、例えば、入力画像データが、パンしている動画像に含まれるか否かを示している。このような内容を示す入力画像付加情報は、例えば、ビデオカメラが備える加速度センサなどから符号化フラグ生成部101に入力される。
次に、図3を用いて、符号化フラグ生成部101が実行する処理の一例を説明する。
図3は、本発明の実施の形態1の画像符号化装置100における符号化フラグ生成部101が実行する処理の一例を示すフローチャートである。
図3において、符号化フラグ生成部101は、入力画像データがズーム状態にあるか否かを判断する(S301)。S301においてズーム状態にあると判断された場合(S301においてYes)、符号化フラグ生成部101は符号化フラグ情報をONにして符号化方式決定部102へ出力する(S302)。
S301においてズーム状態にないと判断された場合(S301においてNo)、符号化フラグ生成部101は符号化フラグ情報をOFFにして符号化方式決定部102へ出力する(S303)。
なお、図3では、画像符号化装置100が、入力画像付加情報として、当該入力画像データがズームしている動画像に含まれるか否かを示す情報を取得する場合の処理を示している。
しかし、符号化フラグ生成部101は、入力画像付加情報が、当該入力画像データがパンしている動画像に含まれるか否かを示す場合も、同様の処理を行う。つまり、符号化フラグ生成部101は、入力画像付加情報が、当該入力画像データがパンしている動画像に含まれることを示す場合、ONを示す符号化フラグ情報を生成し、そうでない場合、OFFを示す符号化フラグ情報を生成する。
次に、図4を用いて、符号化方式決定部102が実行する処理の一例について説明する。
図4は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が実行する処理の一例を示すフローチャートである。
符号化方式決定部102は、符号化フラグ生成部101から入力された符号化フラグ情報を基にして、符号化対象ピクチャを符号化するときのピクチャタイプおよび、符号化対象ピクチャがどのピクチャを参照するかといった符号化方式を決定して符号化方式決定情報を生成する。符号化方式決定部102はさらに、生成した符号化方式決定情報を画像符号化部103に出力する。
図4において、符号化方式決定部102は、符号化フラグ生成部101から入力された符号化フラグ情報がONであるか否かを判断する(S401)。S401において符号化フラグ情報がONであると判断された場合(S401においてYes)、符号化方式決定部102は符号化フラグ情報がONである場合(以下、「フラグON時」ともいう。)の符号化方式を選択する(S402)。
なお、S401において符号化フラグ情報がOFFであると判断された場合(S401においてNo)、符号化方式決定部102は通常時の符号化方式、すなわち符号化フラグ情報がOFFである場合(以下、「フラグOFF時」ともいう。)の符号化方式を選択する(S403)。
なお、フラグON時の符号化方式および通常時(フラグOFF時)の符号化方式については後に詳しく述べる。簡潔に説明すると、符号化方式決定部102は、符号化対象ピクチャを符号化する際、符号化フラグ情報がONであるときに、符号化対照ピクチャが、符号化フラグ情報がOFFであるときに参照するピクチャよりも入力順において時間的に近い位置にあるピクチャを参照するように符号化方式を決定する。
画像符号化部103は、符号化方式決定部102で決定された符号化方式決定情報に基づいて動きベクトル検出、動き補償、面内予測、直交変換、量子化およびエントロピー符号化等の一連の符号化処理を実行する。
本発明の実施の形態1においては、画像符号化部103は、上述のように、H.264符号化方式にしたがって入力画像データを符号化する。このことは、後述する本発明の実施の形態2および3においても同様である。
以上のように、実施の形態1の画像符号化装置100は、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを示す符号化フラグ情報を入力画像データの付加情報から決定する。
また、画像符号化装置100は、符号化フラグ情報がONであるときに、符号化対象ピクチャが、符号化フラグ情報がOFFであるときに参照するピクチャよりも時間的に近い位置もしくは等しい位置にあるピクチャを参照するよう決定する。
つまり、画像符号化装置100は、符号化フラグ情報がONである場合、符号化対象ピクチャと時間的に近い位置にあるピクチャを参照することで、符号化対象ピクチャを符号化する。
これにより、画像符号化装置100は、動きベクトル探索における動きベクトルの検出精度を向上させることができる。結果として、大きな動きを示す動画像に含まれる入力画像データの符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくすることにより符号化効率を上げる方法に比べて、画像符号化装置100は、回路規模および演算量を削減することができる。したがって、画像符号化装置100は、画像符号化方式の演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることが可能となる。
次に、図5、図6および図7を参照しながら、符号化方式決定部102がどのように符号化方式を決定するかについて説明する。
図5(a)および図5(b)は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第1の方法の一例を説明するための図である。
図6(a)および図6(b)は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第1の方法の他の一例を説明するための図である。
図7は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第2の方法の一例を説明するための図である。
まず、図5(a)および図5(b)を参照して符号化方式を決定する第1の方法について説明する。
図5(a)は、具体的には、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
また、図5(b)は、具体的には、当該符号化対象ピクチャをBピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
なお、図5(a)および図5(b)において、ピクチャI0はIピクチャとして符号化するピクチャであり、ピクチャP1、ピクチャP6およびピクチャP7はPピクチャとして符号化するピクチャであり、ピクチャB2、ピクチャB3、ピクチャB4およびピクチャB5はBピクチャとして符号化するピクチャであることをそれぞれ表している。
これらピクチャは画像符号化装置100に入力された順序で図示されている。つまり、I0、P1、B2、B3...の順に画像符号化装置100に入力されたことを示している。
従って、例えば、B2とB3との時間的な距離は、B2とB4との時間的な距離よりも短いことが判る。また、これらピクチャの入力された順序は、これらピクチャが再生される順序と一致する。
例えば、B2およびB3は、PピクチャであるP1の直前に位置するフレームに属するピクチャである。
また、I0〜P7の各ピクチャは、フィールドピクチャである。また、I0およびB2等の、上段に描かれたピクチャはトップフィールドであり、P1およびB3等の下段に描かれたピクチャはボトムフィールドである。つまり、図5(a)および図5(b)は、画像符号化装置100がインターレース信号を符号化する場合の符号化方式を例示している。
これら各ピクチャについての事項は、後述する図6(a)〜図8(b)でも同じである。
なお、図中の矢印は、矢印の根元(出発点)にあたるピクチャを符号化するときに、矢印の先(到達点)にあたるピクチャを参照することを示している。
また、「Bピクチャ」は双方向予測符号化により得られるピクチャを、「Pピクチャ」は単方向予測符号化により得られるピクチャを、「Iピクチャ」は画面内予測により得られるピクチャをそれぞれ表す。
符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合(図5(a)のピクチャB2およびピクチャB3が該当)、符号化方式決定部102は、通常時の符号化方式として、例えば、図5(a)に示すように、ピクチャB2の参照ピクチャとしてピクチャI0、ピクチャP1およびピクチャP6が選択される符号化方式を決定する。
また、符号化方式決定部102は、ピクチャB3の参照ピクチャとしてピクチャB2、ピクチャP1およびピクチャP7が選択される符号化方式を決定する。
しかし、ピクチャB2とピクチャP6との間、およびピクチャB3とピクチャP7との間の時間的な距離は、符号化対象ピクチャと他の参照ピクチャとの間の距離に比べて大きい。
このため、符号化フラグ情報がONとなるような入力画像データ、つまり、動きが比較的大きな動画像に含まれる入力画像データを符号化する場合には十分な探索範囲をとることができない。結果として、当該入力画像データについての動きベクトル探索における動きベクトルの検出精度が低下する。
このため符号化フラグ情報がONの場合は、符号化方式決定部102は、図5(b)に示すようなフラグON時の符号化方式を決定する。符号化方式決定部102は、フラグON時の符号化方式として、例えば、ピクチャB2の参照ピクチャとしてピクチャI0およびピクチャP1が選択され、ピクチャB3の参照ピクチャとしてピクチャB2およびピクチャP1が選択される符号化方式を決定する。
このように、符号化フラグ情報がONであるときに、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合に、符号化対象ピクチャよりも時間的に前に位置する1枚以上のピクチャのみを参照するよう決定する。
参照するピクチャをこのように決定することにより、符号化対象ピクチャを符号化する際に、当該符号化対象ピクチャについての符号化フラグ情報がONであるときに、時間的に近い位置にあるピクチャを参照することになる。これにより、動きベクトル探索における動きベクトルの検出精度を向上させることができる。したがって、実施の形態1の画像符号化装置100は、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させ、これにより、画質および符号化効率を向上させることが可能となる。
また、上述したフラグON時の符号化方式で符号化する場合、通常時の符号化方式と比べて参照ピクチャの枚数を3枚から2枚に減少させてもよい。例えば、B2の参照ピクチャとしてI0とP1のみを選択させ、それぞれに探索範囲を一箇所ずつ設定してもよい。
この場合、動きベクトルを探索する箇所が2箇所に減少し、動きベクトル探索に必要なデータ処理量が通常時の符号化方式に比べて約2/3に減少する。
したがって、本発明の実施の形態1の画像符号化装置100を集積回路や専用回路で実現する場合、フラグON時の符号化方式で符号化しているときに動きベクトルの探索に必要なサイクル数は、通常時の符号化方式で符号化している場合に比べて2/3に減少させることができる。
また本発明の実施の形態1のように、動きベクトルを探索する箇所の数を減らさないことで、この減少させることができる1/3のサイクル数を有効に利用することができる。
例えば、図5(b)に示すように、符号化方式決定部102は、ピクチャB2の参照ピクチャとしてピクチャI0を選択し、通常時の符号化方式で決定される探索範囲の中心位置とは異なる探索範囲の中心位置を新たに決定する。
つまり、符号化方式決定部102は、ピクチャI0において2箇所に設定された探索範囲で動きベクトル探索が行われるように符号化方式を決定する。
同様に、符号化方式決定部102は、図5(b)におけるピクチャB3についても、ピクチャP1を参照ピクチャとし、2箇所の探索範囲を設定して動きベクトル探索を行うよう符号化方式を決定する。
このようにすることで、予め設定されているハードウェアのサイクル数を無駄に遊ばせることなく有効に利用することができる。その結果動き検出精度をさらに向上させ、符号化効率のさらなる向上を図ることができる。
次に、図6(a)および図6(b)を参照して符号化方式を決定する第1の方法の他の一例について説明する。
図6(a)は、具体的には、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図6(b)は、具体的には、当該符号化対象ピクチャをBピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
また、これら図中の矢印の意味は、図5(a)および図5(b)における矢印の意味と同様である。
符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合(図6(a)におけるピクチャB4およびピクチャB5が該当)、符号化方式決定部102は、通常時の符号化方式として、例えば図6(a)に示ように、ピクチャB4の参照ピクチャとしてピクチャI0、ピクチャP6およびピクチャP7が選択され、ピクチャB5の参照ピクチャとしてピクチャB4、ピクチャP1およびピクチャP7が選択される符号化方式を決定する。
しかし、この場合、ピクチャB4とピクチャI0、およびピクチャB5とピクチャP1の時間的な距離は、他の符号化対象ピクチャと参照ピクチャの距離に比べて大きい。
このため、符号化フラグ情報がONとなるような入力画像データ、つまり、動きが比較的大きな動画像に含まれる入力画像データを符号化する場合には十分な探索範囲をとることができない。結果として、当該入力画像データについての動きベクトル探索における動きベクトルの検出精度が低下する。
このため、符号化フラグ情報がONの場合は、符号化方式決定部102は、図6(b)に示すフラグON時の符号化方式を決定する。図6(b)に示すようにフラグON時の符号化方式においては、ピクチャB4の参照ピクチャとしてピクチャP6およびピクチャP7が選択され、ピクチャB5の参照ピクチャとしてピクチャB4およびピクチャP7が選択される。
このように、符号化フラグ情報がONである場合、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化するとき、符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するよう決定する。
参照するピクチャをこのように決定することにより、符号化対象ピクチャを符号化する際に、当該符号化対象ピクチャについての符号化フラグ情報がONであるときに、時間的に近い位置にあるピクチャを参照することになる。これにより、動きベクトル探索における動きベクトルの検出精度を向上させることができる。したがって、実施の形態1の画像符号化装置100は、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させ、画質および符号化効率を向上させることが可能となる。
なお、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属する場合も、参照ピクチャの枚数を3枚から2枚に減少させてもよい。例えば、B4の参照ピクチャとしてP6とP7のみを選択させ、それぞれに探索範囲を一箇所ずつ設定してもよい。
図6(b)に示す例では、図5(b)に示した例と同様の理由により、符号化方式決定部102は、例えば、ピクチャB4の参照ピクチャとしてピクチャP6を選択し、通常時の符号化方式で決定される探索範囲の中心位置とは異なる探索範囲の中心位置を新たに決定する。
つまり、ピクチャB4の符号化の際に、ピクチャP6において2箇所に設定された探索範囲で動きベクトル探索を行わせるよう符号化方式が決定されている。
同様に、ピクチャB5もピクチャP7を参照ピクチャとし、ピクチャP7において2箇所の探索範囲を設定して動きベクトル探索が行われるよう符号化方式が決定されている。
このようにすることで、予め設定されているハードウェアのサイクル数を無駄に遊ばせることなく有効に利用することができ、その結果動き検出精度をさらに向上させ、符号化効率のさらなる向上を図ることができる。
次に、図7を参照して、符号化方式を決定する第2の方法の一例について説明する。
図7は、具体的には、符号化フラグ情報がONであるときに、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を、符号化フラグ情報がOFFであるときよりも少なくなるように符号化するときの符号化方式の一例を示す図である。
例えば、ビデオカメラから、ズーム中またはパン中であることを示す信号が入力画像付加情報として符号化フラグ生成部101に入力された場合を想定する。この場合、ズームまたはパンが停止されたことを示す信号が符号化フラグ生成部101に入力されるまで、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を通常よりも少なくする。
図7において、ピクチャI0はIピクチャとして符号化するピクチャであり、ピクチャP1、ピクチャP4およびピクチャP5はPピクチャとして符号化するピクチャであり、ピクチャB2、ピクチャB3、ピクチャB6およびピクチャB7はBピクチャとして符号化するピクチャであることをそれぞれ表している。これらピクチャは、図5(a)等と同じく、画像符号化装置100に入力された順序で図示されている。
なお、これら図中の矢印の意味は、図5(a)および図5(b)における矢印の意味と同様である。
また、図7に示す符号化方式を決定する第2の方法においては、通常時の符号化方式は図5(a)または図6(a)に示した方法と同様である。
この第2の方法では、符号化フラグ情報がONの場合は、通常時の符号化方式ではなく、例えば、図7に示すようなフラグON時の符号化方式を選ぶ。
つまり、符号化方式決定部102は、通常時の符号化方式においてBピクチャとして符号化していたピクチャB4およびピクチャB5(図5(a)または図6(a)のB4、B5)を、フラグON時の符号化方式の場合は、Pピクチャ(図7のP4、P5)として符号化するように符号化方式を決定する。
その結果、符号化方式決定部102は、ピクチャB2の参照ピクチャとしてピクチャI0、ピクチャP1およびピクチャP4が選択され、ピクチャB3の参照ピクチャとしてピクチャB2、ピクチャP1およびピクチャP5が選択される符号化方式を決定する。
このように、符号化方式を決定する第2の方法におけるフラグON時の符号化方式では、連続してBピクチャとして符号化するフレームの枚数を通常時の符号化方式の場合の2フレームから1フレームに少なくする。
これにより、本発明の実施の形態1の画像符号化装置100は、符号化対象ピクチャと参照ピクチャとの時間的な距離を短くしている。つまり、探索範囲を大きくすることなく動きベクトル探索における動きベクトルの検出精度を上げている。
なお、図5(a)〜図7を用いて、画像符号化装置100が、符号化対象ピクチャをBピクチャとして符号化する場合について説明した。しかし、画像符号化装置100は、符号化対象ピクチャをPピクチャとして符号化する場合も、当該符号化対象ピクチャに近いピクチャを参照先として選択することで、動きベクトルの検出精度を向上させることができる。
図8(a)は、符号化対象ピクチャをPピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図8(b)は、当該符号化対象ピクチャをPピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
図8(a)および図8(b)において、I0〜B7の各ピクチャはフィールドピクチャであり、画像符号化装置100に入力された順序で図示されている。
図8(a)に示すように、符号化方式決定部102は、通常時は、例えばP2の参照ピクチャとしてI0が選択される符号化方式を決定する。
しかし、図8(b)に示すように、フラグON時には、P2の参照ピクチャとして、I0と同じフレームに含まれ、かつ、P2との距離がI0よりも近いI1が参照ピクチャとして選択される符号化方式を決定する。
このように、本発明の実施の形態1の画像符号化装置100は、符号化対象ピクチャをPピクチャとして符号化する場合も、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。
また、本発明の実施の形態1の画像符号化装置100は、プログレッシブ画像を符号化する場合も、符号化対象ピクチャに近いピクチャを参照先として選択することで、動きベクトルの検出精度を向上させることができる。
図9(a)は、プログレッシブ画像を符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図9(b)は、プログレッシブ画像を符号化する場合における、フラグON時の符号化方式を示す図である。
図9(a)および図9(b)において、I0〜P4の各ピクチャはフレームピクチャであり、画像符号化装置100に入力された順序で図示されている。
図9(a)に示すように、符号化方式決定部102は、通常時は、例えばB2の参照ピクチャとしてI0、P1およびP4が選択される符号化方式を決定する。
しかし、図9(b)に示すように、フラグON時には、符号化方式決定部102は、B2の参照ピクチャとして、P4に換えて、B2との距離がP4よりも近いP1が参照ピクチャとして選択される符号化方式を決定する。
つまり、符号化方式決定部102は、図5(b)に示すフラグON時の符号化方式と同じく、時間的に遠い位置にあるピクチャを参照ピクチャとせず、より近い位置にあるP1に2箇所の探索範囲を設定する。
すなわち、図9(b)は、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合における符号化方式の別の一例を示している。
また、画像符号化装置100は、プログレッシブ画像の符号化において、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合、フラグON時には、符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するよう決定する。
例えば、図9(a)および図9(b)におけるB3が符号化される場合、符号化方式決定部102は、フラグON時には、P4のみが参照ピクチャとして選択される符号化方式を決定する。
また、画像符号化装置100は、プログレッシブ画像の符号化において、上述の第2の方法と同じく、符号化フラグ情報がONである場合、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を、符号化フラグ情報がOFFであるときよりも少なくなるように符号化することもできる。
例えば、符号化方式決定部102は、図9(a)において、2つ連続するBピクチャ(B2およびB3)のうち、フラグON時には、例えばB3がPピクチャとして符号化されるよう符号化方式を決定する。
これにより、B2の直前および直後の両側にPピクチャが配置され、B2の参照ピクチャとして、P4ではなく、B2の直前および直後の2枚のPピクチャの一方または双方のPピクチャが選択される。
以上のように、本発明の実施の形態1の画像符号化装置100は、プログレッシブ画像を符号化する場合も、フラグON時、つまり、ズームまたはパンしている動画像など、所定の動き量以上の動きを示す動画像に含まれる入力画像データを符号化する際に、通常時よりも近いピクチャが参照されるように、符号化方式を決定する。
これにより、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。
(実施の形態2)
図10は、本発明の実施の形態2の画像符号化装置800の構成を示すブロック図である。
図10に示すように、画像符号化装置800は、符号化フラグ生成部801と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部801は、入力画像データを受信し、受信した入力画像データが有している特性、すなわち、入力画像データが必然的に有している情報を用いて符号化フラグ情報を生成する。符号化フラグ生成部801はさらに、生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
符号化方式決定部102および画像符号化部103は、本発明の実施の形態1と同様のものであるので同じ符号を付し、ここでは説明を省略する。
なお、本発明の実施の形態2が本発明の実施の形態1と異なる点は、符号化フラグ生成部801が行う、入力画像データが所定の動き量以上の動画像に含まれるか否かの判断の方法が異なるだけである。実施の形態2における符号化方式決定部102からの符号化方式決定情報に基づいて入力画像データを符号化する符号化方式は実施の形態1と同じである。
次に、以上のように構成された画像符号化装置800における符号化フラグ生成部801が実行する処理について説明する。
まず、入力画像データが画像符号化部103とともに符号化フラグ生成部801に入力される。符号化フラグ生成部801は、入力された入力画像データが必然的に有している情報から、入力画像データが所定の動き量以上の動画像に含まれるか否かを、図11を参照して後述する方法により判断する。
符号化フラグ生成部801は、入力画像データが所定の動き量以上の動画像に含まれると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。符号化フラグ生成部801はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
次に、図11を用いて、符号化フラグ生成部801が実行する処理の一例を説明する。
図11は、本発明の実施の形態2の画像符号化装置800における符号化フラグ生成部801が実行する処理の一例を示すフローチャートである。
図11において、符号化フラグ生成部801は、入力画像データから特徴量を算出する(S901)。符号化フラグ生成部801は、S901において算出した特徴量が予め定めた閾値以上であるか否かを判断する(S902)。
つまり、符号化フラグ生成部801は、符号化処理がなされる前の入力画像データの特徴量が閾値以上であるか否かを判断する。
予め定めた閾値以上であると判断された場合(S902におけるYesの場合)、符号化フラグ生成部801は符号化フラグ情報をONにして出力する(S903)。
特徴量が予め定めた閾値よりも小さいと判断された場合(S902におけるNoの場合)、符号化フラグ生成部801は符号化フラグ情報をOFFにして出力する(S904)。
ここで、入力画像データから算出した特徴量とは、例えば、入力画像のフレーム間差分の絶対値である。また、この特徴量は、例えば現在の入力画像と過去の入力画像との動き量であってもよい。
つまり、現在の符号化対象ピクチャと、例えば1つ前の符号化対象ピクチャとの画像としての差を示す特徴量が閾値よりも大きい場合、これらピクチャは、大きな動きを示す動画像に含まれる一連のピクチャであると判断できる。
そこで、この場合、実施の形態2における符号化フラグ生成部801は、現在の符号化対象ピクチャが、所定の動き量以上の動画像に含まれると判断する。
このような判断手法により、ONを示す符号化フラグ情報が生成された場合に符号化方式決定部102が決定する符号化方式は、上述のように実施の形態1と同じである。
つまり、図5(b)等に例示されるように、通常時よりも近い位置のピクチャが参照ピクチャとして選択される。
実施の形態2の画像符号化装置800は、上記処理を実行することにより、実施の形態1の画像符号化装置100と同様の有用な効果を発揮することができる。
すなわち、実施の形態2の画像符号化装置800は、比較的大きな動きを示す動画像を符号化する場合であっても、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。つまり、画質および符号化効率を向上させることが可能となる。
(実施の形態3)
図12は、本発明の実施の形態3の画像符号化装置900の構成を示すブロック図である。
図12に示すように、画像符号化装置900は、符号化フラグ生成部901と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部901は、画像符号化部103によって現在の入力画像データ、つまり現在の符号化対象ピクチャが符号化されるより前に符号化され生成されたピクチャ(以下、「過去の符号化ピクチャ」という。)の画像符号化情報を用いて符号化フラグ情報を生成する。符号化フラグ生成部901はさらに、生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
符号化方式決定部102および画像符号化部103は、本発明の実施の形態1と同様のものであるので同じ符号を付し、ここでは説明を省略する。
なお、本発明の実施の形態3が本発明の実施の形態1と異なる点は、符号化フラグ生成部901が行う、入力画像データが所定の動き量以上の動画像に含まれるか否かの判断の方法が異なるだけである。実施の形態3における符号化方式決定部102からの符号化方式決定情報に基づいて入力画像データを符号化する符号化方式は実施の形態1と同じである。
次に、以上のように構成された画像符号化装置900における符号化フラグ生成部901が実行する処理について説明する。
まず、入力画像データが画像符号化部103に入力される。画像符号化部103は、本発明の実施の形態1および2と同様、符号化方式決定部102が出力した符号化方式決定情報に従って、符号化対象ピクチャをH.264圧縮方式による符号化により圧縮符号化して出力ストリームとして出力する。
実施の形態3における画像符号化部103はさらに圧縮符号化したピクチャのデータを符号化フラグ生成部901に送信する。
符号化フラグ生成部901は、画像符号化部103から入力画像の圧縮符号化されたデータを受信する。符号化フラグ生成部901はさらに、当該データに含まれる画像符号化情報から、その時点で符号化対象である入力画像データについての判断を行う。
つまり、符号化フラグ生成部901は、過去の符号化ピクチャの画像符号化情報を用いて、当該入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データである可能性があるか否かを判断する。判断方法については、図13を参照して後述する。
符号化フラグ生成部901は、入力画像データが当該動画像に含まれる画像データである可能性があると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。符号化フラグ生成部901はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
次に、図13を用いて、符号化フラグ生成部901が実行する処理の一例を説明する。
図13は、本発明の実施の形態3に係る画像符号化装置900における符号化フラグ生成部901が実行する処理の一例を示すフローチャートである。
図13において、符号化フラグ生成部901は、まず、画像符号化部103から得られた、過去の符号化ピクチャの画像符号化情報から特徴量を算出する(S1001)。
符号化フラグ生成部901は、例えば、当該画像符号化情報から得られる、マクロブロックごとの動きベクトルの絶対値の総和を特徴量として算出する。
次に、S1001において算出された特徴量が予め定めた閾値以上であるか否かを判断(S1002)する。特徴量が予め定めた閾値以上であると判断された場合(S1002においてYes)、符号化フラグ生成部901は、符号化方式決定部102に対して、符号化フラグ情報をONにして出力する(S1003)。
特徴量が予め定めた閾値より小さいと判断された場合(S1002においてNo、符号化フラグ生成部901は、符号化方式決定部102に対して、符号化フラグ情報をOFFにして出力する(S1004)。
ここで、本発明の実施の形態3において、符号化フラグ生成部901が算出する特徴量は、マクロブロックごとの動きベクトルの絶対値の総和であるとした。
つまり、画像符号化部103から得られる過去の符号化ピクチャの画像符号化情報には、マクロブロックごとの動きベクトルが含まれるとした。
しかしながら、特徴量の算出には、動きベクトル以外のパラメータを利用してもよい。
また、特徴量の種類も、マクロブロックごとの動きベクトルの絶対値の総和、つまり、同じピクチャに属する動きベクトルの絶対値の総和以外でもよい。
例えば、特徴量の種類は、同じピクチャに属する動きベクトルの平均値でもよい。また、同じピクチャに属する動きベクトルの絶対値の平均値、または、同じピクチャに属する動きベクトルの分散などであってもよい。このような判断手法により、ONを示す符号化フラグ情報が生成された場合に符号化方式決定部102が決定する符号化方式は、上述のように実施の形態1と同じである。
つまり、図5(b)等に例示されるように、通常時よりも近い位置のピクチャが参照ピクチャとして選択される。
実施の形態3の画像符号化装置900は、上記処理を実行することにより、実施の形態1の画像符号化装置100と同様の有用な効果を発揮することができる。
すなわち、実施の形態3の画像符号化装置900は、比較的大きな動きを示す動画像を符号化する場合であっても、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。つまり、画質および符号化効率を向上させることが可能となる。
以上のように、本発明の実施の形態1〜3の画像符号化装置100、800および900は、符号化フラグ生成部101、801、または901において、入力画像データの付加情報である入力画像付加情報、入力画像データが必然的に有している情報、または画像符号化部103によって生成された現在の入力画像データより以前に符号化したピクチャの画像符号化情報、の内のいずれかの情報に基づき符号化フラグ情報を生成して符号化方式決定部102へ出力する。
符号化フラグ情報を受信した符号化方式決定部102は、符号化フラグ情報から符号化方式決定情報を決定して画像符号化部103へ出力する。
符号化方式決定情報を受信した画像符号化部103は、符号化方式決定情報に基づいて入力画像データを符号化してストリームを出力する。
画像符号化装置100、800および900が、このような構成であることにより、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを示す符号化フラグ情報がONである場合、符号化対象ピクチャと時間的に近い位置にあるピクチャが参照ピクチャとして選択される。
これにより、動きベクトル探索における動きベクトル検出精度を向上させることができる。その結果、入力画像データの動きが大きいときの符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくして符号化効率を上げる方法に比べて、回路規模、演算量を削減することができる。したがって、本発明に係る画像符号化装置は、画像符号化処理における演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることが可能である。
なお、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する方法として、本発明の実施の形態1〜3においてそれぞれ3つの異なる方法を示した。しかしながら、これらの方法を複数組み合わせることにより入力画像データが大きな動きを含む画像であるか否かを判断してもよい。
以上、本発明の実施の形態1〜3について説明したが、本発明はこれに限定されるものではない。
例えば、本発明の実施の形態1においては、符号化フラグ情報がONである時に、符号化方式決定部102は、Bピクチャとして符号化するフレームが連続する枚数を1枚に減らしている。
しかし、符号化方式決定部102は、例えば、ONを示す符号化フラグ情報を受信してからOFFを示す符号化フラグ情報を受信するまでは、すべてのピクチャについて、Bピクチャとして符号化せず、それぞれをIピクチャまたはPピクチャとして符号化してもよい。
また、本発明の実施の形態1においては、通常時にBピクチャを符号化するときの参照ピクチャの枚数を3枚とした。しかし、本発明はこれに限定されるものではない。参照ピクチャの枚数は、例えば、2枚であっても4枚であってもよい。
また、本発明の実施の形態1においては、符号化フラグON時に1枚の参照ピクチャに探索範囲を2箇所設ける場合を例に挙げた。しかし、本発明はこれに限定されるものではない。例えば、最も距離の近いピクチャに対して探索範囲を2箇所設定してもよいし、他の参照ピクチャに対して探索範囲を2箇所設定してもよい。
また、本発明の実施の形態1〜3においては、圧縮符号化方式としてH.264を用いた場合を例に挙げた。しかし、本発明はこれに限定されるものではない。例えば、圧縮符号化方式としてMPEG1、MPEG2またはVC1を用いてもよい。
以上のように、本発明の画像符号化装置は、入力画像付加情報、または入力画像データ、または画像符号化部によって生成された現在の入力画像データより以前に符号化されたピクチャの画像符号化情報から、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する。
本発明の画像符号化装置はさらに、判断結果に応じて、符号化対象ピクチャを符号化するときのピクチャタイプや、符号化対象ピクチャがどのピクチャを参照するかといった符号化方式を決定する。そのため、画質および符号化効率を向上させることが可能となる。
また、探索範囲を大きくすることなく、画質および符号化効率を向上させることが可能となる。そのため、画像符号化装置の回路規模の削減ならびに低消費電力化が可能である。
なお、本発明は、本発明の実施の形態1〜3における各処理部を備える画像符号化装置として提供することができるばかりでなく、画像符号化装置が具備する各処理部の動作を含む画像符号化方法、画像符号化装置が具備する各処理部を備える画像符号化集積回路、および画像符号化方法を実現することができる画像符号化プログラムを提供することも可能である。
そして、この画像符号化プログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
また、画像符号化集積回路は、典型的な集積回路であるLSIとして実現することができる。この場合、LSIは、1チップで構成しても良いし、複数チップで構成しても良い。
例えば、メモリ以外の機能ブロックが1チップLSIで構成しても良い。なお、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
図14は、本発明の画像符号化集積回路の構成例を示すブロック図である。
図14に示す画像符号化集積回路200は、1チップのLSIで構成されている。また、図14は、実施の形態1の画像符号化装置100を画像符号化集積回路200により実現した場合を示している。なお、画像符号化集積回路200は複数チップのLSIで構成されてもよい。
また、実施の形態2の画像符号化装置800、および、実施の形態3の画像符号化装置900も、同様に、1チップまたは複数チップのLSIにより実現することができる。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよいし、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応等がその可能性として有り得ると考えられる。
また、集積回路化に際し、各機能ブロックのうち、データを格納するユニットだけを1チップ化構成に取り込まず、別構成としても良い。
本発明に係る画像符号化装置および画像符号化方法は、より小さな回路規模および低消費電力でH.264、MPEG1、MPEG2およびVC1などの圧縮符号化方式による映像の符号化を実現することができる。従って、本発明は、パーソナルコンピュータ、HDDレコーダ、DVDレコーダおよびカメラ付き携帯電話機等に適用できる。
本発明は、画像を圧縮符号化して光ディスク、磁気ディスクあるいはフラッシュメモリ等の記憶メディア上に記録する画像符号化装置および画像符号化方法に関するものであり、特にH.264圧縮符号化方式により圧縮符号化を行う画像符号化装置、画像符号化方法、画像符号化集積回路、および画像符号化プログラムに関する。
デジタル映像技術の発展と共に、データ量の増大に対応してデジタル映像データを圧縮する技術が発展しつつある。その発展は、映像データの特性を生かし、映像データに特化した圧縮技術となって現れている。
また、コンピュータなどの情報処理機器の処理能力の向上に伴い、圧縮技術における複雑な演算も可能となり、映像データの圧縮率は大幅に向上しつつある。
例えば、衛星および地上波デジタルハイビジョン放送で採用されている圧縮技術はMPEG(Moving Picture Experts Group)2と呼ばれる圧縮方式である。例えば、衛星デジタルハイビジョン放送はMPEG2によって映像データを約1/30に圧縮している。
MPEG2に続いて規格化された映像圧縮方式の1つであるMPEG4 AVC/H.264は、MPEG2の約2倍の圧縮率を実現すると言われている。
MPEG4 AVC/H.264は、光ディスクの1つの規格であるBlu−ray、および、ハイビジョン映像をビデオカメラで記録するための規格であるAVCHD(Advanced Video Codec High Definition)の動画圧縮方式としても採用されており、幅広い分野での利用が期待されている。
しかし、MPEG4 AVC/H.264は、非特許文献1に開示されているように、多くの圧縮技術を実装し、それらを組み合わせることで高い圧縮率を実現しているため、演算量もMPEG2と比べ大幅に増加している。
動画像を圧縮するための符号化技術の一つに動き補償がある。動き補償を用いて画像を符号化する場合、まず画像の動き量を推定する動きベクトル探索を行い、動きベクトル探索で求めた動きベクトルを用いて動き補償を行っている。
一般的に動きベクトル探索の探索範囲を大きくするほど動きベクトルの検出精度を向上させることができる。しかし、探索範囲を大きくするほど演算量が増加するため消費電力が大きくなってしまう。このため、動きベクトル探索の探索範囲は、演算量や回路規模を考慮して決定されることが多い。
このように動きベクトル探索の探索範囲を制限した場合、入力画像の動きに対して常に十分な探索範囲を設定できるわけではない。
例えば、入力画像が、ズーム中の動画像に含まれる場合、入力画像が、パンしている動画像に含まれる場合、および入力画像の前後の動きがバラバラで大きい場合などは、入力画像に対して動きベクトル探索の探索範囲が十分ではなくなる。これにより、動きベクトルの検出精度が低下し、画質および符号化効率が低下するという課題があった。
特許文献1には、このような課題を解決するための方法として、カメラのズーム状態に応じて動き補償の予測方法を変更することにより符号化効率を向上させる方法が開示されている。
ITU−T Recommendation H.264
しかしながら、特許文献1に開示されている方法によっては、カメラのズーム状態に応じて動き補償の予測方法を変更するだけであり、探索範囲を変更しているわけではない。
そのため、常に十分な動きベクトル探索の探索範囲を得ることができるとは限らず、動きベクトルの検出精度が低下する場合が存在する。
特に、符号化対象ピクチャと参照ピクチャの時間的な距離が離れている場合(例えば2フレーム以上)、動きベクトル探索に十分な探索範囲は、符号化対象ピクチャと参照ピクチャの時間的な距離が近い(例えば1フレーム以内)場合と比べて大きくなる。そのため、動き検出の精度はさらに低下してしまう。
本発明はかかる問題を解決するためになされたものであり、画像符号化処理の演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることができる画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラムを提供することを目的とする。
上記目的を達成するために、本発明の画像符号化装置は、入力画像データを符号化する画像符号化装置であって前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、前記判断の結果を示す符号化フラグ情報を生成する符号化フラグ生成部と、前記符号化フラグ生成部により生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定する符号化方式決定部と、前記符号化方式決定部により決定された前記符号化方式に従って前記入力画像データを圧縮符号化する画像符号化部とを備える。
また、前記符号化フラグ生成部は、ズームまたはパンしている動画像に前記入力画像データが含まれることを示す情報を取得した場合、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記符号化フラグ生成部は、符号化対象である前記入力画像データと、過去の入力画像データとの差分から算出される値である特徴量が、所定の閾値以上である場合、符号化対象である前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを含む複数のピクチャそれぞれを、マクロブロック単位で圧縮符号化し、前記符号化フラグ生成部は、前記画像符号化部による、前記符号化対象ピクチャの圧縮符号化より前の、マクロブロック単位での圧縮符号化に用いられた複数の動きベクトルにより算出される値である特徴量が、予め定められた閾値以上である場合、符号化対象の前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれると判断するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記符号化対象ピクチャが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化対象ピクチャが、入力順において時間的にPピクチャの次に位置するフレームに属し、かつ、前記符号化対象ピクチャをBピクチャとして符号化するとき、前記符号化対象ピクチャよりも時間的に前に位置する1枚以上のピクチャのみを参照するように前記符号化方式を決定するとしてもよい。
また、前記画像符号化部は、前記入力画像データである符号化対象ピクチャを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記符号化対象ピクチャが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化対象ピクチャが、入力順において時間的にPピクチャの直前に位置するフレームに属し、かつ、前記符号化対象ピクチャをBピクチャとして符号化するとき、前記符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するように前記符号化方式を決定するとしてもよい。
また、前記画像符号化部は、前記入力画像データを圧縮符号化するときのピクチャタイプとしてBピクチャを選択可能であり、前記符号化方式決定部は、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記画像符号化部がBピクチャとして符号化するフレームが連続する枚数を、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、少なくするように前記符号化方式を決定するとしてもよい。
また、本発明の画像符号化方法は、入力画像データを符号化する画像符号化方法であって、前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断し、前記判断の結果を示す符号化フラグ情報を生成し、生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定し、決定された前記符号化方式に従って前記入力画像データを圧縮符号化する。
また、本発明の画像符号化集積回路は、入力画像データを符号化する画像符号化集積回路であって前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、前記判断の結果を示す符号化フラグ情報を生成する符号化フラグ生成部と、前記符号化フラグ生成部により生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定する符号化方式決定部と、前記符号化方式決定部により決定された前記符号化方式に従って前記入力画像データを圧縮符号化する画像符号化部とを備える。
また、発明の画像符号化プログラムは、入力画像データを符号化する画像符号化プログラムであって、前記入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断し、前記判断の結果を示す符号化フラグ情報を生成し、生成された符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示す場合、前記符号化フラグ情報が、前記入力画像データが前記所定の動き量以上の動きを示す動画像に含まれる画像データであることを示さない場合よりも、入力順において時間的に近い位置の符号化済みの画像データを参照するように、符号化方式を決定し、決定された前記符号化方式に従って前記入力画像データを圧縮符号化することをコンピュータに実行させるための画像符号化プログラム。
本発明によれば、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データである場合、当該入力画像データ、つまり、符号化対象ピクチャと時間的に近い位置にあるピクチャを参照する。
これにより、動きベクトル探索における動きベクトル検出精度を向上させることができ、その結果、入力画像データが大きな動きを示す動画像に含まれるときの符号化効率を高めることができる。
例えば、ズームまたはパンしている動画像、つまり、カメラがズームまたはパンしながら撮影した動画像を符号化する際の符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくして符号化効率を上げる方法に比べて、回路規模や演算量を削減することができる。したがって、本発明は、画像符号化処理における演算量の削減、高速化、および低消費電力化を図りつつ画質および符号化効率を向上させることが可能となる。
図1は、本発明の実施の形態1に係る画像符号化装置の構成を示すブロック図である。
図2は、本発明の実施の形態1に係る画像符号化装置における画像符号化部の構成を示すブロック図である。
図3は、本発明の実施の形態1に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図4は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が実行する処理の一例を示すフローチャートである。
図5は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第1の方法の一例を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図6は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第1の方法の他の一例を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図7は、本発明の実施の形態1に係る画像符号化装置における符号化方式決定部が符号化方式を決定する第2の方法の一例を示す図である。
図8は、符号化対象ピクチャをPピクチャとして符号化する場合における符号化方式の決定方法を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図9は、プログレッシブ画像を符号化する場合における符号化方式の決定方法を示す図であり、(a)は通常時の符号化方式を示す図、(b)はフラグON時の符号化方式を示す図である。
図10は、本発明の実施の形態2に係る画像符号化装置の構成を示すブロック図である。
図11は、本発明の実施の形態2に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図12は、本発明の実施の形態3に係る画像符号化装置の構成を示すブロック図である。
図13は、本発明の実施の形態3に係る画像符号化装置における符号化フラグ生成部が実行する処理の一例を示すフローチャートである。
図14は、本発明の画像符号化集積回路の構成例を示すブロック図である。
以下に、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像符号化装置100の構成を示すブロック図である。本発明の実施の形態1に係る画像符号化装置100には、入力画像データと入力画像データの付加情報である入力画像付加情報が入力される。画像符号化装置100は、入力画像データをH.264圧縮方式で符号化し、ストリームとして出力する。
なお、H.264圧縮方式による符号化においては、1つのピクチャを1つまたは複数のスライスに分割し、そのスライスを処理単位としている。
本発明の実施の形態1におけるH.264圧縮方式による符号化では、1つのピクチャを1つのスライスとして扱う。
また、画像符号化装置100が符号化するそれぞれのピクチャは、本発明の画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラムが符号化の対象とする入力画像データの一例である。
また、“ピクチャ”という場合、2つのフィールド(トップフィールドおよびボトムフィールド)を1つのフレームとして扱う“フレームピクチャ”、および、2つのフィールドを独立した2つのピクチャとして扱う“フィールドピクチャ”のいずれかである。
画像符号化装置100は、符号化方式としてH.264圧縮方式を採用しているため、例えば、インターレース信号を符号化する際に、フレーム符号化を行うか、またはフィールド符号化を行うかをピクチャごとに切り替えることが可能である。
以上説明した、H.264およびピクチャに関する事項は、後述する本発明の実施の形態2および3においても同じである。
図1に示すように、画像符号化装置100は、符号化フラグ生成部101と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部101は、本発明の実施の形態1においては、入力画像データの付加情報である入力画像付加情報を受信する。さらに、入力画像付加情報に基づいて生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
入力画像付加情報は、例えば、画像符号化装置100に画像データを入力するビデオカメラが、ズームをしているか否かを示す情報、パンをしているか否かを示す情報などである。
つまり、入力画像付加情報は、当該入力画像データが、ズームまたはパンしている動画像など、大きな動きを示す動画像に含まれるか否かを示す情報である。また、入力画像付加情報は、入力画像データとともに画像符号化装置100に入力される入力画像データに関する付加情報である。
なお、“パン”には、ビデオカメラを上下方向に振りながら動画を撮影する技法である“チルト”も含まれる。
また、画像符号化装置100はビデオカメラに内蔵されていてもよい。また、画像符号化装置100はビデオカメラと有線または無線により接続された、ビデオカメラとは別体の装置であってもよい。これらのことは、後述する実施の形態2および3でも同じである。
符号化方式決定部102は、画像符号化部103における符号化方式を決定する処理部である。具体的には、符号化方式決定部102は、符号化フラグ生成部101により生成された符号化フラグ情報から、符号化対象ピクチャを符号化するときのピクチャタイプおよび、符号化対象ピクチャがどのピクチャを参照するかといった情報を示す符号化方式などを決定する。符号化方式決定部102はさらに、決定したそれらの情報を画像符号化部103に対し符号化方式決定情報として出力する。
符号化方式決定部102の具体的な動作に関する詳細については後述する。
画像符号化部103は、符号化方式決定部102が出力した符号化方式決定情報に従って、符号化対象ピクチャの画像データをH.264圧縮方式による符号化により圧縮符号化する。
次に、図2を用いて、画像符号化部103の詳細な構成について説明する。
図2は、本発明の実施の形態1の画像符号化装置100における画像符号化部103の構成を示すブロック図である。
図2に示すように、画像符号化部103は、入力画像データメモリ201、参照画像データメモリ202、面内予測部203、動きベクトル検出部204、動き補償部205、予測モード判定部206、差分演算部207、直交変換部208、量子化部209、逆量子化部210、逆直交変換部211、加算部212、およびエントロピー符号化部213を備えている。
入力画像データメモリ201は、入力画像データと、符号化方式決定部102から入力される入力画像データに対応する符号化方式決定情報とを格納する。つまり、入力画像データメモリ201は、符号化対象の入力画像データと、符号化対象の入力画像データに対応する符号化方式決定情報とを保持している。
なお、入力画像データメモリ201が保持している情報は、面内予測部203、動きベクトル検出部204、動き補償部205、および差分演算部207により参照される。
動きベクトル検出部204は、参照画像データメモリ202に格納されているローカルデコード画像を探索対象とし、最も入力画像に近い画像領域を検出してその位置を示す動きベクトルを決定する。動きベクトル検出部204はさらに、最も誤差の小さい符号化対象ブロックのサイズおよびそのサイズでの動きベクトルを決定し、決定したそれらの情報を動き補償部205およびエントロピー符号化部213に送信する。
動き補償部205は、動きベクトル検出部204から受信した情報に含まれる動きベクトルを用いて、参照画像データメモリ202に格納されているローカルデコード画像から予測画像に最適な画像領域を取り出す。動き補償部205はさらに、面間予測の予測画像を生成し、生成した予測画像を予測モード判定部206に出力する。
面内予測部203は、参照画像データメモリ202に格納されているローカルデコード画像から同一画面内の符号化後の画素を用いて面内予測を行い、面内予測の予測画像を生成する。面内予測部203はさらに、生成した予測画像を予測モード判定部206に出力する。
予測モード判定部206は、予測モードを判定する。予測モード判定部206はさらに、その判定結果に基づき、面内予測部203からの面内予測で生成された予測画像と、動き補償部205からの面間予測で生成された予測画像を切り替えて出力する。
予測モード判定部206において予測モードを判定する方法としては、例えば、面間予測と面内予測について、それぞれ入力画像と予測画像との各画素の差分絶対値和(SAD)を求め、この値が小さい方を、採用する予測モードと判定する。
差分演算部207は、入力画像データメモリ201から入力画像データを取得し、取得した入力画像と予測モード判定部206から出力された予測画像との画素差分値を計算する。差分演算部207はさらに、計算した画素差分値を直交変換部208に出力する。
直交変換部208は、差分演算部207から入力された画素差分値を周波数係数に変換し、変換した周波数係数を量子化部209に出力する。
量子化部209は、直交変換部208から入力された周波数係数を量子化し、量子化した値、すなわち量子化値を、符号化すべきデータとしてエントロピー符号化部213および逆量子化部210に出力する。
逆量子化部210は、量子化部209から入力された量子化値を逆量子化して周波数係数に復元し、復元した周波数係数を逆直交変換部211に出力する。
逆直交変換部211は、逆量子化部210から入力された周波数係数を画素差分値に逆周波数変換し、逆周波数変換した画素差分値を加算部212に出力する。
加算部212は、逆直交変換部211から入力される画素差分値と、予測モード判定部206から出力された予測画像を加算してローカルデコード画像を生成する。加算部212はさらに、そのローカルデコード画像を参照画像データメモリ202に出力する。
ここで、参照画像データメモリ202に記憶されるローカルデコード画像は、入力画像データメモリ201に記憶される入力画像と基本的には同じ画像である。
しかし、ローカルデコード画像は、画素差分値が、直交変換部208および量子化部209などで一旦直交変換および量子化処理をされた後、逆量子化部210および逆直交変換部211などで逆量子化および逆直交変換処理をされた結果を含んでいる。そのためローカルデコード画像は、量子化歪みなどの歪み成分を有している。
エントロピー符号化部213は、量子化部209から入力された量子化値および動きベクトル検出部204から入力された動きベクトル等をエントロピー符号化し、その符号化したデータを出力ストリームとして出力する。
次に、以上のように構成された画像符号化装置100が実行する処理について説明する。
まず、入力画像データが画像符号化部103に入力され、また入力画像付加情報が符号化フラグ生成部101にそれぞれ入力される。
入力画像データは、画像符号化部103の入力画像データメモリ201に格納される。入力画像データは、例えば、1920画素×1080画素によって構成されている。
また、入力画像付加情報は、例えば、入力画像データがズーム状態にあるか否かを示す情報などのような入力画像データに関する付加情報を有している。
符号化フラグ生成部101は、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かの判断を行い、判断の結果を示す符号化フラグ情報を生成する。
本発明の実施の形態1では、符号化フラグ生成部101は、入力画像付加情報を参照し、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する。
その結果、所定の動き量以上の動きを示す動画像に含まれる画像データであると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。
符号化フラグ生成部101はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
この場合、入力画像付加情報は、例えば、入力画像データがズーム状態にあるか否か、つまり、入力画像データが、ズームしている動画像に含まれるか否かを示している。このような内容を示す入力画像付加情報は、例えば、ビデオカメラのズームボタンなどから符号化フラグ生成部101に入力される。
また、入力画像付加情報は、例えば、入力画像データが、パンしている動画像に含まれるか否かを示している。このような内容を示す入力画像付加情報は、例えば、ビデオカメラが備える加速度センサなどから符号化フラグ生成部101に入力される。
次に、図3を用いて、符号化フラグ生成部101が実行する処理の一例を説明する。
図3は、本発明の実施の形態1の画像符号化装置100における符号化フラグ生成部101が実行する処理の一例を示すフローチャートである。
図3において、符号化フラグ生成部101は、入力画像データがズーム状態にあるか否かを判断する(S301)。S301においてズーム状態にあると判断された場合(S301においてYes)、符号化フラグ生成部101は符号化フラグ情報をONにして符号化方式決定部102へ出力する(S302)。
S301においてズーム状態にないと判断された場合(S301においてNo)、符号化フラグ生成部101は符号化フラグ情報をOFFにして符号化方式決定部102へ出力する(S303)。
なお、図3では、画像符号化装置100が、入力画像付加情報として、当該入力画像データがズームしている動画像に含まれるか否かを示す情報を取得する場合の処理を示している。
しかし、符号化フラグ生成部101は、入力画像付加情報が、当該入力画像データがパンしている動画像に含まれるか否かを示す場合も、同様の処理を行う。つまり、符号化フラグ生成部101は、入力画像付加情報が、当該入力画像データがパンしている動画像に含まれることを示す場合、ONを示す符号化フラグ情報を生成し、そうでない場合、OFFを示す符号化フラグ情報を生成する。
次に、図4を用いて、符号化方式決定部102が実行する処理の一例について説明する。
図4は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が実行する処理の一例を示すフローチャートである。
符号化方式決定部102は、符号化フラグ生成部101から入力された符号化フラグ情報を基にして、符号化対象ピクチャを符号化するときのピクチャタイプおよび、符号化対象ピクチャがどのピクチャを参照するかといった符号化方式を決定して符号化方式決定情報を生成する。符号化方式決定部102はさらに、生成した符号化方式決定情報を画像符号化部103に出力する。
図4において、符号化方式決定部102は、符号化フラグ生成部101から入力された符号化フラグ情報がONであるか否かを判断する(S401)。S401において符号化フラグ情報がONであると判断された場合(S401においてYes)、符号化方式決定部102は符号化フラグ情報がONである場合(以下、「フラグON時」ともいう。)の符号化方式を選択する(S402)。
なお、S401において符号化フラグ情報がOFFであると判断された場合(S401においてNo)、符号化方式決定部102は通常時の符号化方式、すなわち符号化フラグ情報がOFFである場合(以下、「フラグOFF時」ともいう。)の符号化方式を選択する(S403)。
なお、フラグON時の符号化方式および通常時(フラグOFF時)の符号化方式については後に詳しく述べる。簡潔に説明すると、符号化方式決定部102は、符号化対象ピクチャを符号化する際、符号化フラグ情報がONであるときに、符号化対照ピクチャが、符号化フラグ情報がOFFであるときに参照するピクチャよりも入力順において時間的に近い位置にあるピクチャを参照するように符号化方式を決定する。
画像符号化部103は、符号化方式決定部102で決定された符号化方式決定情報に基づいて動きベクトル検出、動き補償、面内予測、直交変換、量子化およびエントロピー符号化等の一連の符号化処理を実行する。
本発明の実施の形態1においては、画像符号化部103は、上述のように、H.264符号化方式にしたがって入力画像データを符号化する。このことは、後述する本発明の実施の形態2および3においても同様である。
以上のように、実施の形態1の画像符号化装置100は、入力画像データが、所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを示す符号化フラグ情報を入力画像データの付加情報から決定する。
また、画像符号化装置100は、符号化フラグ情報がONであるときに、符号化対象ピクチャが、符号化フラグ情報がOFFであるときに参照するピクチャよりも時間的に近い位置もしくは等しい位置にあるピクチャを参照するよう決定する。
つまり、画像符号化装置100は、符号化フラグ情報がONである場合、符号化対象ピクチャと時間的に近い位置にあるピクチャを参照することで、符号化対象ピクチャを符号化する。
これにより、画像符号化装置100は、動きベクトル探索における動きベクトルの検出精度を向上させることができる。結果として、大きな動きを示す動画像に含まれる入力画像データの符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくすることにより符号化効率を上げる方法に比べて、画像符号化装置100は、回路規模および演算量を削減することができる。したがって、画像符号化装置100は、画像符号化方式の演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることが可能となる。
次に、図5、図6および図7を参照しながら、符号化方式決定部102がどのように符号化方式を決定するかについて説明する。
図5(a)および図5(b)は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第1の方法の一例を説明するための図である。
図6(a)および図6(b)は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第1の方法の他の一例を説明するための図である。
図7は、本発明の実施の形態1の画像符号化装置100における符号化方式決定部102が符号化方式を決定する第2の方法の一例を説明するための図である。
まず、図5(a)および図5(b)を参照して符号化方式を決定する第1の方法について説明する。
図5(a)は、具体的には、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
また、図5(b)は、具体的には、当該符号化対象ピクチャをBピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
なお、図5(a)および図5(b)において、ピクチャI0はIピクチャとして符号化するピクチャであり、ピクチャP1、ピクチャP6およびピクチャP7はPピクチャとして符号化するピクチャであり、ピクチャB2、ピクチャB3、ピクチャB4およびピクチャB5はBピクチャとして符号化するピクチャであることをそれぞれ表している。
これらピクチャは画像符号化装置100に入力された順序で図示されている。つまり、I0、P1、B2、B3...の順に画像符号化装置100に入力されたことを示している。
従って、例えば、B2とB3との時間的な距離は、B2とB4との時間的な距離よりも短いことが判る。また、これらピクチャの入力された順序は、これらピクチャが再生される順序と一致する。
例えば、B2およびB3は、PピクチャであるP1の直前に位置するフレームに属するピクチャである。
また、I0〜P7の各ピクチャは、フィールドピクチャである。また、I0およびB2等の、上段に描かれたピクチャはトップフィールドであり、P1およびB3等の下段に描かれたピクチャはボトムフィールドである。つまり、図5(a)および図5(b)は、画像符号化装置100がインターレース信号を符号化する場合の符号化方式を例示している。
これら各ピクチャについての事項は、後述する図6(a)〜図8(b)でも同じである。
なお、図中の矢印は、矢印の根元(出発点)にあたるピクチャを符号化するときに、矢印の先(到達点)にあたるピクチャを参照することを示している。
また、「Bピクチャ」は双方向予測符号化により得られるピクチャを、「Pピクチャ」は単方向予測符号化により得られるピクチャを、「Iピクチャ」は画面内予測により得られるピクチャをそれぞれ表す。
符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合(図5(a)のピクチャB2およびピクチャB3が該当)、符号化方式決定部102は、通常時の符号化方式として、例えば、図5(a)に示すように、ピクチャB2の参照ピクチャとしてピクチャI0、ピクチャP1およびピクチャP6が選択される符号化方式を決定する。
また、符号化方式決定部102は、ピクチャB3の参照ピクチャとしてピクチャB2、ピクチャP1およびピクチャP7が選択される符号化方式を決定する。
しかし、ピクチャB2とピクチャP6との間、およびピクチャB3とピクチャP7との間の時間的な距離は、符号化対象ピクチャと他の参照ピクチャとの間の距離に比べて大きい。
このため、符号化フラグ情報がONとなるような入力画像データ、つまり、動きが比較的大きな動画像に含まれる入力画像データを符号化する場合には十分な探索範囲をとることができない。結果として、当該入力画像データについての動きベクトル探索における動きベクトルの検出精度が低下する。
このため符号化フラグ情報がONの場合は、符号化方式決定部102は、図5(b)に示すようなフラグON時の符号化方式を決定する。符号化方式決定部102は、フラグON時の符号化方式として、例えば、ピクチャB2の参照ピクチャとしてピクチャI0およびピクチャP1が選択され、ピクチャB3の参照ピクチャとしてピクチャB2およびピクチャP1が選択される符号化方式を決定する。
このように、符号化フラグ情報がONであるときに、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合に、符号化対象ピクチャよりも時間的に前に位置する1枚以上のピクチャのみを参照するよう決定する。
参照するピクチャをこのように決定することにより、符号化対象ピクチャを符号化する際に、当該符号化対象ピクチャについての符号化フラグ情報がONであるときに、時間的に近い位置にあるピクチャを参照することになる。これにより、動きベクトル探索における動きベクトルの検出精度を向上させることができる。したがって、実施の形態1の画像符号化装置100は、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させ、これにより、画質および符号化効率を向上させることが可能となる。
また、上述したフラグON時の符号化方式で符号化する場合、通常時の符号化方式と比べて参照ピクチャの枚数を3枚から2枚に減少させてもよい。例えば、B2の参照ピクチャとしてI0とP1のみを選択させ、それぞれに探索範囲を一箇所ずつ設定してもよい。
この場合、動きベクトルを探索する箇所が2箇所に減少し、動きベクトル探索に必要なデータ処理量が通常時の符号化方式に比べて約2/3に減少する。
したがって、本発明の実施の形態1の画像符号化装置100を集積回路や専用回路で実現する場合、フラグON時の符号化方式で符号化しているときに動きベクトルの探索に必要なサイクル数は、通常時の符号化方式で符号化している場合に比べて2/3に減少させることができる。
また本発明の実施の形態1のように、動きベクトルを探索する箇所の数を減らさないことで、この減少させることができる1/3のサイクル数を有効に利用することができる。
例えば、図5(b)に示すように、符号化方式決定部102は、ピクチャB2の参照ピクチャとしてピクチャI0を選択し、通常時の符号化方式で決定される探索範囲の中心位置とは異なる探索範囲の中心位置を新たに決定する。
つまり、符号化方式決定部102は、ピクチャI0において2箇所に設定された探索範囲で動きベクトル探索が行われるように符号化方式を決定する。
同様に、符号化方式決定部102は、図5(b)におけるピクチャB3についても、ピクチャP1を参照ピクチャとし、2箇所の探索範囲を設定して動きベクトル探索を行うよう符号化方式を決定する。
このようにすることで、予め設定されているハードウェアのサイクル数を無駄に遊ばせることなく有効に利用することができる。その結果動き検出精度をさらに向上させ、符号化効率のさらなる向上を図ることができる。
次に、図6(a)および図6(b)を参照して符号化方式を決定する第1の方法の他の一例について説明する。
図6(a)は、具体的には、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図6(b)は、具体的には、当該符号化対象ピクチャをBピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
また、これら図中の矢印の意味は、図5(a)および図5(b)における矢印の意味と同様である。
符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合(図6(a)におけるピクチャB4およびピクチャB5が該当)、符号化方式決定部102は、通常時の符号化方式として、例えば図6(a)に示ように、ピクチャB4の参照ピクチャとしてピクチャI0、ピクチャP6およびピクチャP7が選択され、ピクチャB5の参照ピクチャとしてピクチャB4、ピクチャP1およびピクチャP7が選択される符号化方式を決定する。
しかし、この場合、ピクチャB4とピクチャI0、およびピクチャB5とピクチャP1の時間的な距離は、他の符号化対象ピクチャと参照ピクチャの距離に比べて大きい。
このため、符号化フラグ情報がONとなるような入力画像データ、つまり、動きが比較的大きな動画像に含まれる入力画像データを符号化する場合には十分な探索範囲をとることができない。結果として、当該入力画像データについての動きベクトル探索における動きベクトルの検出精度が低下する。
このため、符号化フラグ情報がONの場合は、符号化方式決定部102は、図6(b)に示すフラグON時の符号化方式を決定する。図6(b)に示すようにフラグON時の符号化方式においては、ピクチャB4の参照ピクチャとしてピクチャP6およびピクチャP7が選択され、ピクチャB5の参照ピクチャとしてピクチャB4およびピクチャP7が選択される。
このように、符号化フラグ情報がONである場合、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化するとき、符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するよう決定する。
参照するピクチャをこのように決定することにより、符号化対象ピクチャを符号化する際に、当該符号化対象ピクチャについての符号化フラグ情報がONであるときに、時間的に近い位置にあるピクチャを参照することになる。これにより、動きベクトル探索における動きベクトルの検出精度を向上させることができる。したがって、実施の形態1の画像符号化装置100は、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させ、画質および符号化効率を向上させることが可能となる。
なお、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属する場合も、参照ピクチャの枚数を3枚から2枚に減少させてもよい。例えば、B4の参照ピクチャとしてP6とP7のみを選択させ、それぞれに探索範囲を一箇所ずつ設定してもよい。
図6(b)に示す例では、図5(b)に示した例と同様の理由により、符号化方式決定部102は、例えば、ピクチャB4の参照ピクチャとしてピクチャP6を選択し、通常時の符号化方式で決定される探索範囲の中心位置とは異なる探索範囲の中心位置を新たに決定する。
つまり、ピクチャB4の符号化の際に、ピクチャP6において2箇所に設定された探索範囲で動きベクトル探索を行わせるよう符号化方式が決定されている。
同様に、ピクチャB5もピクチャP7を参照ピクチャとし、ピクチャP7において2箇所の探索範囲を設定して動きベクトル探索が行われるよう符号化方式が決定されている。
このようにすることで、予め設定されているハードウェアのサイクル数を無駄に遊ばせることなく有効に利用することができ、その結果動き検出精度をさらに向上させ、符号化効率のさらなる向上を図ることができる。
次に、図7を参照して、符号化方式を決定する第2の方法の一例について説明する。
図7は、具体的には、符号化フラグ情報がONであるときに、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を、符号化フラグ情報がOFFであるときよりも少なくなるように符号化するときの符号化方式の一例を示す図である。
例えば、ビデオカメラから、ズーム中またはパン中であることを示す信号が入力画像付加情報として符号化フラグ生成部101に入力された場合を想定する。この場合、ズームまたはパンが停止されたことを示す信号が符号化フラグ生成部101に入力されるまで、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を通常よりも少なくする。
図7において、ピクチャI0はIピクチャとして符号化するピクチャであり、ピクチャP1、ピクチャP4およびピクチャP5はPピクチャとして符号化するピクチャであり、ピクチャB2、ピクチャB3、ピクチャB6およびピクチャB7はBピクチャとして符号化するピクチャであることをそれぞれ表している。これらピクチャは、図5(a)等と同じく、画像符号化装置100に入力された順序で図示されている。
なお、これら図中の矢印の意味は、図5(a)および図5(b)における矢印の意味と同様である。
また、図7に示す符号化方式を決定する第2の方法においては、通常時の符号化方式は図5(a)または図6(a)に示した方法と同様である。
この第2の方法では、符号化フラグ情報がONの場合は、通常時の符号化方式ではなく、例えば、図7に示すようなフラグON時の符号化方式を選ぶ。
つまり、符号化方式決定部102は、通常時の符号化方式においてBピクチャとして符号化していたピクチャB4およびピクチャB5(図5(a)または図6(a)のB4、B5)を、フラグON時の符号化方式の場合は、Pピクチャ(図7のP4、P5)として符号化するように符号化方式を決定する。
その結果、符号化方式決定部102は、ピクチャB2の参照ピクチャとしてピクチャI0、ピクチャP1およびピクチャP4が選択され、ピクチャB3の参照ピクチャとしてピクチャB2、ピクチャP1およびピクチャP5が選択される符号化方式を決定する。
このように、符号化方式を決定する第2の方法におけるフラグON時の符号化方式では、連続してBピクチャとして符号化するフレームの枚数を通常時の符号化方式の場合の2フレームから1フレームに少なくする。
これにより、本発明の実施の形態1の画像符号化装置100は、符号化対象ピクチャと参照ピクチャとの時間的な距離を短くしている。つまり、探索範囲を大きくすることなく動きベクトル探索における動きベクトルの検出精度を上げている。
なお、図5(a)〜図7を用いて、画像符号化装置100が、符号化対象ピクチャをBピクチャとして符号化する場合について説明した。しかし、画像符号化装置100は、符号化対象ピクチャをPピクチャとして符号化する場合も、当該符号化対象ピクチャに近いピクチャを参照先として選択することで、動きベクトルの検出精度を向上させることができる。
図8(a)は、符号化対象ピクチャをPピクチャとして符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図8(b)は、当該符号化対象ピクチャをPピクチャとして符号化する場合における、フラグON時の符号化方式を示す図である。
図8(a)および図8(b)において、I0〜B7の各ピクチャはフィールドピクチャであり、画像符号化装置100に入力された順序で図示されている。
図8(a)に示すように、符号化方式決定部102は、通常時は、例えばP2の参照ピクチャとしてI0が選択される符号化方式を決定する。
しかし、図8(b)に示すように、フラグON時には、P2の参照ピクチャとして、I0と同じフレームに含まれ、かつ、P2との距離がI0よりも近いI1が参照ピクチャとして選択される符号化方式を決定する。
このように、本発明の実施の形態1の画像符号化装置100は、符号化対象ピクチャをPピクチャとして符号化する場合も、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。
また、本発明の実施の形態1の画像符号化装置100は、プログレッシブ画像を符号化する場合も、符号化対象ピクチャに近いピクチャを参照先として選択することで、動きベクトルの検出精度を向上させることができる。
図9(a)は、プログレッシブ画像を符号化する場合における、通常時(フラグOFF時)の符号化方式を示す図である。
図9(b)は、プログレッシブ画像を符号化する場合における、フラグON時の符号化方式を示す図である。
図9(a)および図9(b)において、I0〜P4の各ピクチャはフレームピクチャであり、画像符号化装置100に入力された順序で図示されている。
図9(a)に示すように、符号化方式決定部102は、通常時は、例えばB2の参照ピクチャとしてI0、P1およびP4が選択される符号化方式を決定する。
しかし、図9(b)に示すように、フラグON時には、符号化方式決定部102は、B2の参照ピクチャとして、P4に換えて、B2との距離がP4よりも近いP1が参照ピクチャとして選択される符号化方式を決定する。
つまり、符号化方式決定部102は、図5(b)に示すフラグON時の符号化方式と同じく、時間的に遠い位置にあるピクチャを参照ピクチャとせず、より近い位置にあるP1に2箇所の探索範囲を設定する。
すなわち、図9(b)は、符号化対象ピクチャが時間的にPピクチャの次に位置するフレームに属し、かつBピクチャとして符号化する場合における符号化方式の別の一例を示している。
また、画像符号化装置100は、プログレッシブ画像の符号化において、符号化対象ピクチャが時間的にPピクチャの直前に位置するフレームに属し、かつBピクチャとして符号化する場合、フラグON時には、符号化対象ピクチャよりも時間的に後に位置する1枚以上のピクチャのみを参照するよう決定する。
例えば、図9(a)および図9(b)におけるB3が符号化される場合、符号化方式決定部102は、フラグON時には、P4のみが参照ピクチャとして選択される符号化方式を決定する。
また、画像符号化装置100は、プログレッシブ画像の符号化において、上述の第2の方法と同じく、符号化フラグ情報がONである場合、符号化対象ピクチャをBピクチャとして符号化するフレームが連続する枚数を、符号化フラグ情報がOFFであるときよりも少なくなるように符号化することもできる。
例えば、符号化方式決定部102は、図9(a)において、2つ連続するBピクチャ(B2およびB3)のうち、フラグON時には、例えばB3がPピクチャとして符号化されるよう符号化方式を決定する。
これにより、B2の直前および直後の両側にPピクチャが配置され、B2の参照ピクチャとして、P4ではなく、B2の直前および直後の2枚のPピクチャの一方または双方のPピクチャが選択される。
以上のように、本発明の実施の形態1の画像符号化装置100は、プログレッシブ画像を符号化する場合も、フラグON時、つまり、ズームまたはパンしている動画像など、所定の動き量以上の動きを示す動画像に含まれる入力画像データを符号化する際に、通常時よりも近いピクチャが参照されるように、符号化方式を決定する。
これにより、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。
(実施の形態2)
図10は、本発明の実施の形態2の画像符号化装置800の構成を示すブロック図である。
図10に示すように、画像符号化装置800は、符号化フラグ生成部801と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部801は、入力画像データを受信し、受信した入力画像データが有している特性、すなわち、入力画像データが必然的に有している情報を用いて符号化フラグ情報を生成する。符号化フラグ生成部801はさらに、生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
符号化方式決定部102および画像符号化部103は、本発明の実施の形態1と同様のものであるので同じ符号を付し、ここでは説明を省略する。
なお、本発明の実施の形態2が本発明の実施の形態1と異なる点は、符号化フラグ生成部801が行う、入力画像データが所定の動き量以上の動画像に含まれるか否かの判断の方法が異なるだけである。実施の形態2における符号化方式決定部102からの符号化方式決定情報に基づいて入力画像データを符号化する符号化方式は実施の形態1と同じである。
次に、以上のように構成された画像符号化装置800における符号化フラグ生成部801が実行する処理について説明する。
まず、入力画像データが画像符号化部103とともに符号化フラグ生成部801に入力される。符号化フラグ生成部801は、入力された入力画像データが必然的に有している情報から、入力画像データが所定の動き量以上の動画像に含まれるか否かを、図11を参照して後述する方法により判断する。
符号化フラグ生成部801は、入力画像データが所定の動き量以上の動画像に含まれると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。符号化フラグ生成部801はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
次に、図11を用いて、符号化フラグ生成部801が実行する処理の一例を説明する。
図11は、本発明の実施の形態2の画像符号化装置800における符号化フラグ生成部801が実行する処理の一例を示すフローチャートである。
図11において、符号化フラグ生成部801は、入力画像データから特徴量を算出する(S901)。符号化フラグ生成部801は、S901において算出した特徴量が予め定めた閾値以上であるか否かを判断する(S902)。
つまり、符号化フラグ生成部801は、符号化処理がなされる前の入力画像データの特徴量が閾値以上であるか否かを判断する。
予め定めた閾値以上であると判断された場合(S902におけるYesの場合)、符号化フラグ生成部801は符号化フラグ情報をONにして出力する(S903)。
特徴量が予め定めた閾値よりも小さいと判断された場合(S902におけるNoの場合)、符号化フラグ生成部801は符号化フラグ情報をOFFにして出力する(S904)。
ここで、入力画像データから算出した特徴量とは、例えば、入力画像のフレーム間差分の絶対値である。また、この特徴量は、例えば現在の入力画像と過去の入力画像との動き量であってもよい。
つまり、現在の符号化対象ピクチャと、例えば1つ前の符号化対象ピクチャとの画像としての差を示す特徴量が閾値よりも大きい場合、これらピクチャは、大きな動きを示す動画像に含まれる一連のピクチャであると判断できる。
そこで、この場合、実施の形態2における符号化フラグ生成部801は、現在の符号化対象ピクチャが、所定の動き量以上の動画像に含まれると判断する。
このような判断手法により、ONを示す符号化フラグ情報が生成された場合に符号化方式決定部102が決定する符号化方式は、上述のように実施の形態1と同じである。
つまり、図5(b)等に例示されるように、通常時よりも近い位置のピクチャが参照ピクチャとして選択される。
実施の形態2の画像符号化装置800は、上記処理を実行することにより、実施の形態1の画像符号化装置100と同様の有用な効果を発揮することができる。
すなわち、実施の形態2の画像符号化装置800は、比較的大きな動きを示す動画像を符号化する場合であっても、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。つまり、画質および符号化効率を向上させることが可能となる。
(実施の形態3)
図12は、本発明の実施の形態3の画像符号化装置900の構成を示すブロック図である。
図12に示すように、画像符号化装置900は、符号化フラグ生成部901と、符号化方式決定部102と、画像符号化部103とを備える。
符号化フラグ生成部901は、画像符号化部103によって現在の入力画像データ、つまり現在の符号化対象ピクチャが符号化されるより前に符号化され生成されたピクチャ(以下、「過去の符号化ピクチャ」という。)の画像符号化情報を用いて符号化フラグ情報を生成する。符号化フラグ生成部901はさらに、生成した符号化フラグ情報を符号化方式決定部102に対して出力する。
符号化方式決定部102および画像符号化部103は、本発明の実施の形態1と同様のものであるので同じ符号を付し、ここでは説明を省略する。
なお、本発明の実施の形態3が本発明の実施の形態1と異なる点は、符号化フラグ生成部901が行う、入力画像データが所定の動き量以上の動画像に含まれるか否かの判断の方法が異なるだけである。実施の形態3における符号化方式決定部102からの符号化方式決定情報に基づいて入力画像データを符号化する符号化方式は実施の形態1と同じである。
次に、以上のように構成された画像符号化装置900における符号化フラグ生成部901が実行する処理について説明する。
まず、入力画像データが画像符号化部103に入力される。画像符号化部103は、本発明の実施の形態1および2と同様、符号化方式決定部102が出力した符号化方式決定情報に従って、符号化対象ピクチャをH.264圧縮方式による符号化により圧縮符号化して出力ストリームとして出力する。
実施の形態3における画像符号化部103はさらに圧縮符号化したピクチャのデータを符号化フラグ生成部901に送信する。
符号化フラグ生成部901は、画像符号化部103から入力画像の圧縮符号化されたデータを受信する。符号化フラグ生成部901はさらに、当該データに含まれる画像符号化情報から、その時点で符号化対象である入力画像データについての判断を行う。
つまり、符号化フラグ生成部901は、過去の符号化ピクチャの画像符号化情報を用いて、当該入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データである可能性があるか否かを判断する。判断方法については、図13を参照して後述する。
符号化フラグ生成部901は、入力画像データが当該動画像に含まれる画像データである可能性があると判断した場合はONを示す符号化フラグ情報を生成し、そうでない場合はOFFを示す符号化フラグ情報を生成する。符号化フラグ生成部901はさらに、生成した符号化フラグ情報を符号化方式決定部102へ出力する。
次に、図13を用いて、符号化フラグ生成部901が実行する処理の一例を説明する。
図13は、本発明の実施の形態3に係る画像符号化装置900における符号化フラグ生成部901が実行する処理の一例を示すフローチャートである。
図13において、符号化フラグ生成部901は、まず、画像符号化部103から得られた、過去の符号化ピクチャの画像符号化情報から特徴量を算出する(S1001)。
符号化フラグ生成部901は、例えば、当該画像符号化情報から得られる、マクロブロックごとの動きベクトルの絶対値の総和を特徴量として算出する。
次に、S1001において算出された特徴量が予め定めた閾値以上であるか否かを判断(S1002)する。特徴量が予め定めた閾値以上であると判断された場合(S1002においてYes)、符号化フラグ生成部901は、符号化方式決定部102に対して、符号化フラグ情報をONにして出力する(S1003)。
特徴量が予め定めた閾値より小さいと判断された場合(S1002においてNo、符号化フラグ生成部901は、符号化方式決定部102に対して、符号化フラグ情報をOFFにして出力する(S1004)。
ここで、本発明の実施の形態3において、符号化フラグ生成部901が算出する特徴量は、マクロブロックごとの動きベクトルの絶対値の総和であるとした。
つまり、画像符号化部103から得られる過去の符号化ピクチャの画像符号化情報には、マクロブロックごとの動きベクトルが含まれるとした。
しかしながら、特徴量の算出には、動きベクトル以外のパラメータを利用してもよい。
また、特徴量の種類も、マクロブロックごとの動きベクトルの絶対値の総和、つまり、同じピクチャに属する動きベクトルの絶対値の総和以外でもよい。
例えば、特徴量の種類は、同じピクチャに属する動きベクトルの平均値でもよい。また、同じピクチャに属する動きベクトルの絶対値の平均値、または、同じピクチャに属する動きベクトルの分散などであってもよい。このような判断手法により、ONを示す符号化フラグ情報が生成された場合に符号化方式決定部102が決定する符号化方式は、上述のように実施の形態1と同じである。
つまり、図5(b)等に例示されるように、通常時よりも近い位置のピクチャが参照ピクチャとして選択される。
実施の形態3の画像符号化装置900は、上記処理を実行することにより、実施の形態1の画像符号化装置100と同様の有用な効果を発揮することができる。
すなわち、実施の形態3の画像符号化装置900は、比較的大きな動きを示す動画像を符号化する場合であっても、動きベクトル探索の探索範囲を大きくすることなく、動きベクトル探索における動きベクトルの検出精度を向上させることができる。つまり、画質および符号化効率を向上させることが可能となる。
以上のように、本発明の実施の形態1〜3の画像符号化装置100、800および900は、符号化フラグ生成部101、801、または901において、入力画像データの付加情報である入力画像付加情報、入力画像データが必然的に有している情報、または画像符号化部103によって生成された現在の入力画像データより以前に符号化したピクチャの画像符号化情報、の内のいずれかの情報に基づき符号化フラグ情報を生成して符号化方式決定部102へ出力する。
符号化フラグ情報を受信した符号化方式決定部102は、符号化フラグ情報から符号化方式決定情報を決定して画像符号化部103へ出力する。
符号化方式決定情報を受信した画像符号化部103は、符号化方式決定情報に基づいて入力画像データを符号化してストリームを出力する。
画像符号化装置100、800および900が、このような構成であることにより、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを示す符号化フラグ情報がONである場合、符号化対象ピクチャと時間的に近い位置にあるピクチャが参照ピクチャとして選択される。
これにより、動きベクトル探索における動きベクトル検出精度を向上させることができる。その結果、入力画像データの動きが大きいときの符号化効率を高めることができる。
また、動きベクトル探索の探索範囲を大きくして符号化効率を上げる方法に比べて、回路規模、演算量を削減することができる。したがって、本発明に係る画像符号化装置は、画像符号化処理における演算量の削減、高速化、および低消費電力化を図りつつ、画質および符号化効率を向上させることが可能である。
なお、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する方法として、本発明の実施の形態1〜3においてそれぞれ3つの異なる方法を示した。しかしながら、これらの方法を複数組み合わせることにより入力画像データが大きな動きを含む画像であるか否かを判断してもよい。
以上、本発明の実施の形態1〜3について説明したが、本発明はこれに限定されるものではない。
例えば、本発明の実施の形態1においては、符号化フラグ情報がONである時に、符号化方式決定部102は、Bピクチャとして符号化するフレームが連続する枚数を1枚に減らしている。
しかし、符号化方式決定部102は、例えば、ONを示す符号化フラグ情報を受信してからOFFを示す符号化フラグ情報を受信するまでは、すべてのピクチャについて、Bピクチャとして符号化せず、それぞれをIピクチャまたはPピクチャとして符号化してもよい。
また、本発明の実施の形態1においては、通常時にBピクチャを符号化するときの参照ピクチャの枚数を3枚とした。しかし、本発明はこれに限定されるものではない。参照ピクチャの枚数は、例えば、2枚であっても4枚であってもよい。
また、本発明の実施の形態1においては、符号化フラグON時に1枚の参照ピクチャに探索範囲を2箇所設ける場合を例に挙げた。しかし、本発明はこれに限定されるものではない。例えば、最も距離の近いピクチャに対して探索範囲を2箇所設定してもよいし、他の参照ピクチャに対して探索範囲を2箇所設定してもよい。
また、本発明の実施の形態1〜3においては、圧縮符号化方式としてH.264を用いた場合を例に挙げた。しかし、本発明はこれに限定されるものではない。例えば、圧縮符号化方式としてMPEG1、MPEG2またはVC1を用いてもよい。
以上のように、本発明の画像符号化装置は、入力画像付加情報、または入力画像データ、または画像符号化部によって生成された現在の入力画像データより以前に符号化されたピクチャの画像符号化情報から、入力画像データが所定の動き量以上の動きを示す動画像に含まれる画像データであるか否かを判断する。
本発明の画像符号化装置はさらに、判断結果に応じて、符号化対象ピクチャを符号化するときのピクチャタイプや、符号化対象ピクチャがどのピクチャを参照するかといった符号化方式を決定する。そのため、画質および符号化効率を向上させることが可能となる。
また、探索範囲を大きくすることなく、画質および符号化効率を向上させることが可能となる。そのため、画像符号化装置の回路規模の削減ならびに低消費電力化が可能である。
なお、本発明は、本発明の実施の形態1〜3における各処理部を備える画像符号化装置として提供することができるばかりでなく、画像符号化装置が具備する各処理部の動作を含む画像符号化方法、画像符号化装置が具備する各処理部を備える画像符号化集積回路、および画像符号化方法を実現することができる画像符号化プログラムを提供することも可能である。
そして、この画像符号化プログラムは、CD−ROM(Compact Disc−Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
また、画像符号化集積回路は、典型的な集積回路であるLSIとして実現することができる。この場合、LSIは、1チップで構成しても良いし、複数チップで構成しても良い。
例えば、メモリ以外の機能ブロックが1チップLSIで構成しても良い。なお、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
図14は、本発明の画像符号化集積回路の構成例を示すブロック図である。
図14に示す画像符号化集積回路200は、1チップのLSIで構成されている。また、図14は、実施の形態1の画像符号化装置100を画像符号化集積回路200により実現した場合を示している。なお、画像符号化集積回路200は複数チップのLSIで構成されてもよい。
また、実施の形態2の画像符号化装置800、および、実施の形態3の画像符号化装置900も、同様に、1チップまたは複数チップのLSIにより実現することができる。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよいし、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応等がその可能性として有り得ると考えられる。
また、集積回路化に際し、各機能ブロックのうち、データを格納するユニットだけを1チップ化構成に取り込まず、別構成としても良い。
本発明に係る画像符号化装置および画像符号化方法は、より小さな回路規模および低消費電力でH.264、MPEG1、MPEG2およびVC1などの圧縮符号化方式による映像の符号化を実現することができる。従って、本発明は、パーソナルコンピュータ、HDDレコーダ、DVDレコーダおよびカメラ付き携帯電話機等に適用できる。
100、800、900 画像符号化装置
101、801、901 符号化フラグ生成部
102 符号化方式決定部
103 画像符号化部
200 画像符号化集積回路
201 入力画像データメモリ
202 参照画像データメモリ
203 面内予測部
204 動きベクトル検出部
205 動き補償部
206 予測モード判定部
207 差分演算部
208 直交変換部
209 量子化部
210 逆量子化部
211 逆直交変換部
212 加算部
213 エントロピー符号化部