(57)【特許請求の範囲】
【請求項１】
２つのフィールドで１つのフレームが構成される映像データを規定の大きさのマクロブロックに分割して圧縮する映像符号化装置において、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成して、そのフレームマクロブロックを使って動き探索を行うことで符号化コストを算出する第１の算出手段と、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成して、そのフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出する第２の算出手段と、
上記２つの符号化コストの差分絶対値を算出する第３の算出手段と、
上記差分絶対値が所定の閾値よりも小さい場合には、上記処理対象の領域に隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データを上記フレームマクロブロックを使って符号化するのか、上記フィールドマクロブロックを使って符号化するのかを決定し、閾値よりも大きい場合には、上記２つの符号化コストに基づいて、その決定を行う決定手段とを備えることを、
特徴とする映像符号化装置。
【請求項２】
２つのフィールドで１つのフレームが構成される映像データを規定の大きさのマクロブロックに分割して圧縮する映像符号化方法において、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成して、そのフレームマクロブロックを使って動き探索を行うことで符号化コストを算出する第１の算出過程と、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成して、そのフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出する第２の算出過程と、
上記２つの符号化コストの差分絶対値を算出する第３の算出過程と、
上記差分絶対値が所定の閾値よりも小さい場合には、上記処理対象の領域に隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データを上記フレームマクロブロックを使って符号化するのか、上記フィールドマクロブロックを使って符号化するのかを決定し、閾値よりも大きい場合には、上記２つの符号化コストに基づいて、その決定を行う決定過程とを備えることを、
特徴とする映像符号化方法。
【請求項３】
２つのフィールドで１つのフレームが構成される映像データを規定の大きさのマクロブロックに分割して圧縮する映像符号化方法の実現に用いられる映像符号化プログラムであって、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成して、そのフレームマクロブロックを使って動き探索を行うことで符号化コストを算出する第１の算出処理と、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成して、そのフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出する第２の算出処理と、
上記２つの符号化コストの差分絶対値を算出する第３の算出処理と、
上記差分絶対値が所定の閾値よりも小さい場合には、上記処理対象の領域に隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データを上記フレームマクロブロックを使って符号化するのか、上記フィールドマクロブロックを使って符号化するのかを決定し、閾値よりも大きい場合には、上記２つの符号化コストに基づいて、その決定を行う決定処理とをコンピュータに実行させるための映像符号化プログラム。
【請求項４】
２つのフィールドで１つのフレームが構成される映像データを規定の大きさのマクロブロックに分割して圧縮する映像符号化方法の実現に用いられる映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成して、そのフレームマクロブロックを使って動き探索を行うことで符号化コストを算出する第１の算出処理と、
水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成して、そのフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出する第２の算出処理と、
上記２つの符号化コストの差分絶対値を算出する第３の算出処理と、
上記差分絶対値が所定の閾値よりも小さい場合には、上記処理対象の領域に隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データを上記フレームマクロブロックを使って符号化するのか、上記フィールドマクロブロックを使って符号化するのかを決定し、閾値よりも大きい場合には、上記２つの符号化コストに基づいて、その決定を行う決定処理とをコンピュータに実行させるための映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのフィールドで１つのフレームが構成される映像データを規定の大きさのマクロブロックに分割して圧縮する映像符号化装置及びその方法と、その映像符号化方法の実現に用いられる映像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関し、特に、符号化効率を低下させずに計算量及びハード規模の削減を実現する映像符号化装置及びその方法と、その映像符号化方法の実現に用いられる映像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【背景技術】
【０００２】
２つのフィールドで１つのフレームが構成される映像データ（インタレース構造の映像データ）をマクロブロックに分割して符号化する場合、フレームマクロブロックモードかフィールドマクロブロックモードのどちらかのモードを選択して符号化を行うという方式が用いられている。
【０００３】
この符号化方式では、図１５に示すように、１つのフレームから切り出される水平Ｍ画素で垂直２Ｎ画素の大きさを持つ処理対象の領域の映像データを符号化対象として、その映像データを符号化する場合に、フレームマクロブロックモードで符号化を行う場合には、図１６に示すように、その領域を水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することで２つのフレームマクロブロックを生成して、それを使って符号化を行い、一方、フィールドマクロブロックモードで符号化を行う場合には、図１７及び図１８に示すように、その領域を水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することで２つのフィールドマクロブロックを生成して、それを使って符号化を行うようにしている。
【０００４】
従来技術では、この符号化方式に従って、フレームマクロブロックモードかフィールドマクロブロックモードのどちらかのモードを選択して符号化を行う場合には、フレームマクロブロックモード及びフィールドマクロブロックモードの双方で符号化を行って、その発生ビット量を比較して、最終的にどちらのモードで符号化を行うのかを決定するようにしている。また、符号化過程を二重にして、第１過程の結果からモードを決定するという技術も提案されている。
【０００５】
さらに、本発明に関連する技術として、下記に示す特許文献１に記載される発明のような技術も提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２３７４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術のように、フレームマクロブロックモードかフィールドマクロブロックモードのどちらかのモードを選択して符号化を行う場合にあって、フレームマクロブロックモード及びフィールドマクロブロックモードの双方で符号化を行うことで効率の良いモードを選択するようにしていると、符号化処理を複数回行う必要があることから、ソフトウェアで実装する場合には、ＣＰＵ負荷が増大するとともに、処理時間が増大するという問題があり、また、ハードウェアで実装する場合には、チップ面積が増大するとともに、消費電力が増大するという問題がある。
【０００８】
本発明はかかる事情に鑑みてなされたものであって、フレームマクロブロックモード及びフィールドマクロブロックモードの双方で符号化を行うことなくマクロブロックモードを適応的に選択できるようにすることで、符号化効率を低下させずに計算量及びハード規模の削減を実現する新たな映像符号化技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の映像符号化装置は、２つのフィールドで１つのフレームが構成される映像データ（インタレース構造の映像データ）を規定の大きさのマクロブロックに分割して圧縮するという構成を採るときにあって、（ｉ）水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成して、そのフレームマクロブロックを使って動き探索を行うことで符号化コストを算出する第１の算出手段と、（ii）水平Ｍ画素で垂直２Ｎ画素の大きさを持つ映像データの処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成して、そのフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出する第２の算出手段と、(iii) 第１の算出手段の算出した符号化コストと、第２の算出手段の算出した符号化コストとの差分絶対値を算出する第３の算出手段と、(iｖ）第３の算出手段の算出した差分絶対値が所定の閾値よりも小さい場合には、上記処理対象の領域に隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データをフレームマクロブロックを使って符号化するのか、フィールドマクロブロックを使って符号化するのかを決定し、閾値よりも大きい場合には、第１及び第２の算出手段の算出した符号化コストに基づいて、その決定を行う決定手段とを備えるように構成する。
【００１０】
以上の各処理手段が動作することで実現される本発明の映像符号化方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００１１】
このように構成される本発明の映像符号化装置では、第１の算出手段がフレームマクロブロックを使って動き探索を行うことで符号化コストを算出し、第２の算出手段がフィールドマクロブロックを使って動き探索を行うことで符号化コストを算出すると、第３の算出手段は、その２つの符号化コストの差分絶対値を算出する。
【００１２】
この２つの符号化コストの差分絶対値の算出結果を受けて、決定手段は、その差分絶対値が所定の閾値よりも小さい場合には、隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データをフレームマクロブロックを使って符号化するのか、フィールドマクロブロックを使って符号化するのかを決定し、一方、その閾値よりも大きい場合には、第１及び第２の算出手段の算出した２つの符号化コストに基づいて、符号化コストが小さなものとなるマクロブロックを使って符号化することを決定する。
【００１３】
ある１つのフレームの映像データについて符号化を行う場合、フレームマクロブロックを使う符号化モードとフィールドマクロブロックを使う符号化モードとが混在すると、各マクロブロックについて、どちらの符号化モードで符号化を行ったのかということを示す情報を付加する必要があり、これによる符号量の増大が問題となる。
【００１４】
そこで、本発明の映像符号化装置は、動き探索までの符号化を行って、２つの符号化コストに大きな差がない場合には、どちらの符号化モードで符号化を行ったのかということを示す情報の符号量の削減を図るべく、隣接する符号化済みのマクロブロックの符号化モードに基づいて、処理対象の領域の映像データをフレームマクロブロックを使って符号化するのか、フィールドマクロブロックを使って符号化するのかを決定し、一方、２つの符号化コストに大きな差がある場合には、本来の原則に従って、符号化コストが小さなものとなるマクロブロックを使って符号化することを決定するように処理するのである。
【発明の効果】
【００１５】
本発明によれば、２つのフィールドで１つのフレームが構成される映像データをマクロブロックに分割して符号化するときにあって、動き探索までの符号化を行うことで、フレームマクロブロックモードとフィールドマクロブロックモードの内のどちらのマクロブロックモードを使って符号化を行うのかを適応的に選択できるようになり、これにより、符号化効率を低下させずに計算量及びハード規模の削減を実現できるようになる。
【００１６】
これから、本発明によれば、ソフトウェアで実装する場合には、ＣＰＵ負荷を削減できるようになるとともに、処理時間を削減できるようになる。そして、ハードウェアで実装する場合には、チップ面積を削減できるようになるとともに、消費電力を削減できるようになる。
【図面の簡単な説明】
【００１７】
【図１】本発明に関連する発明で構成される映像符号化装置の一例である。
【図２】本発明に関連する発明で構成される映像符号化装置の実行する処理フローの一例である。
【図３】本発明に関連する発明で構成される映像符号化装置の実行する処理の説明図である。
【図４】本発明に関連する発明で構成される映像符号化装置の実行する処理フローの他の一例である。
【図５】本発明に関連する発明で構成される映像符号化装置の実行する処理の説明図である。
【図６】本発明に関連する発明で構成される映像符号化装置の実行する処理フローの他の一例である。
【図７】本発明に関連する発明で構成される映像符号化装置の実行する処理の説明図である。
【図８】本発明に関連する発明で構成される映像符号化装置の実行する処理フローの他の一例である。
【図９】本発明に関連する発明で構成される映像符号化装置の実行する処理の説明図である。
【図１０】本発明に関連する発明の有効性を検証するために行ったシミュレーションの結果の説明図である。
【図１１】本発明に関連する発明の有効性を検証するために行ったシミュレーションの結果の説明図である。
【図１２】本発明に関連する発明の有効性を検証するために行ったシミュレーションの結果の説明図である。
【図１３】本発明の映像符号化装置の一実施形態例である。
【図１４】本発明の映像符号化装置の実行する処理フローの一実施形態例である。
【図１５】本発明の適用される符号化方式の説明図である。
【図１６】フレームマクロブロックモードによる符号化の説明図である。
【図１７】フィールドマクロブロックモードによる符号化の説明図である。
【図１８】フィールドマクロブロックモードによる符号化の説明図である。
【発明を実施するための形態】
【００１８】
以下、実施の形態に従って本発明を詳細に説明する。
【００１９】
本発明の説明に入る前に、本発明に関連する発明で構成される映像符号化装置について説明する。
【００２０】
図１に、本発明に関連する発明で構成される映像符号化装置１の一例を図示する。
【００２１】
この図に示すように、本発明に関連する発明で構成される映像符号化装置１は、１フレーム分の映像データを格納するフレームメモリ１０と、フレームマクロブロック生成手段１１と、フレームマクロブロック映像データ格納手段１２と、第１の算出手段１３と、第１の補正値算出手段１４と、第１の加算手段１５と、フィールドマクロブロック生成手段１６と、フィールドマクロブロック映像データ格納手段１７と、第２の算出手段１８と、第２の補正値算出手段１９と、第２の加算手段２０と、符号化モード決定手段２１と、第１の符号化手段２２と、第２の符号化手段２３とを備える。
【００２２】
このフレームマクロブロック生成手段１１は、フレームメモリ１０に格納される映像データから切り出される水平Ｍ画素で垂直２Ｎ画素の大きさを持つ処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することでフレームマクロブロックを生成する。フレームマクロブロック映像データ格納手段１２は、フレームマクロブロック生成手段１１の生成したフレームマクロブロックの映像データを格納する。
【００２３】
第１の算出手段１３は、フレームマクロブロック生成手段１１の生成したフレームマクロブロックの映像データに基づいて、その映像データの動きの大きさを示す値を算出する。第１の補正値算出手段１４は、フレームマクロブロック生成手段１１の生成したフレームマクロブロックの映像データから導出される補正値を算出する。第１の加算手段１５は、第１の算出手段１３の算出した値に第１の補正値算出手段１４の算出した補正値を加算する。
【００２４】
フィールドマクロブロック生成手段１６は、フレームメモリ１０に格納される映像データから切り出される水平Ｍ画素で垂直２Ｎ画素の大きさを持つ処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することでフィールドマクロブロックを生成する。フィールドマクロブロック映像データ格納手段１７は、フィールドマクロブロック生成手段１６の生成したフィールドマクロブロックの映像データを格納する。
【００２５】
第２の算出手段１８は、フィールドマクロブロック生成手段１６の生成したフィールドマクロブロックの映像データに基づいて、第１の算出手段１３の算出した値の比較値となる値を算出する。第２の補正値算出手段１９は、フィールドマクロブロック生成手段１６の生成したフィールドマクロブロックの映像データから導出される補正値を算出する。第２の加算手段２０は、第２の算出手段１８の算出した値に第２の補正値算出手段１９の算出した補正値を加算する。
【００２６】
符号化モード決定手段２１は、第１の加算手段１５の算出した値と第２の加算手段２０の算出値とを比較することで、フレームマクロブロックモードで符号化を行うのか、フィールドマクロブロックモードで符号化を行うのかを決定する。第１の符号化手段２２は、フレームマクロブロックモードに従って処理対象の領域の映像データを符号化する。第２の符号化手段２３は、フィールドマクロブロックモードに従って処理対象の領域の映像データを符号化する。
【００２７】
図２に、このように構成される本発明に関連する発明で構成される映像符号化装置１の実行する処理フローの一例を図示する。
【００２８】
次に、この処理フローに従って、本発明に関連する発明で構成される映像符号化装置１の実行する処理について詳細に説明する。以下、説明の便宜上、上述したＭ，Ｎについて、Ｍ＝Ｎ＝１６を想定している。
【００２９】
本発明に関連する発明で構成される映像符号化装置１は、フレームメモリ１０に格納される映像データから水平Ｍ画素で垂直２Ｎ画素の大きさを持つ符号化対象となる処理対象の領域を選択すると、図２の処理フローに示すように、先ず最初に、ステップ１００で、処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することで２つのフレームマクロブロックを生成する。
【００３０】
続いて、ステップ１０１で、その生成した２つのフレームマクロブロックの映像データについて、フレームマクロブロックの（ｍ，ｎ）位置の画素値をｉ（ｍ，ｎ）で表し、ａの絶対値をＡＢＳ〔ａ〕で表すならば、
Ｓfrm (1) ＝Σm Σn ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
Ｓfrm (2) ＝Σm Σn ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
Σm ：ｍ＝１〜１６についての総和
Σn ：ｎ＝１〜１５についての総和
という算出式に従って、垂直方向隣接画素間の差分値の絶対値和Ｓfrm を算出する。
【００３１】
ここで、Ｓfrm (1) は一方のフレームマクロブロックについての垂直方向隣接画素間の差分値の絶対値和を示し、Ｓfrm (2) はもう一方のフレームマクロブロックについての垂直方向隣接画素間の差分値の絶対値和を示している。
【００３２】
続いて、ステップ１０２で、Ｓfrm (1) の算出元となった差分絶対値
ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
の最大値ＭＡＸfrm (1) を特定して、その符号を反転させることで補正値Ｃfrm (1) 
Ｃfrm (1) ＝−ＭＡＸfrm (1) 
を算出するとともに、Ｓfrm (2) の算出元となった差分絶対値
ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
の最大値ＭＡＸfrm (2) を特定して、その符号を反転させることで補正値Ｃfrm (2) 
Ｃfrm (2) ＝−ＭＡＸfrm (2) 
を算出する。
【００３３】
続いて、ステップ１０３で、
Ｓ' frm (1) ＝Ｓfrm (1) ＋Ｃfrm (1) 
Ｓ' frm (2) ＝Ｓfrm (2) ＋Ｃfrm (2) 
を算出して、その合計値
Ｓ' frm ＝Ｓ' frm (1) ＋Ｓ' frm (2) 
を求めることで、フレームマクロブロックについての垂直方向隣接画素間の差分値の絶対値和の最終的な値Ｓ' frm を算出する。
【００３４】
ここで、Ｓfrm (1) をＣfrm (1) で補正し、Ｓfrm (2) をＣfrm (2) で補正したのは、ある１つの画素の持つ差分絶対値の最大値が判定結果に支配的な影響を与えるのを避けるためである。
【００３５】
続いて、ステップ１０４で、処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することで２つのフィールドマクロブロックを生成する。
【００３６】
続いて、ステップ１０５で、その生成した２つのフィールドマクロブロックの映像データについて、フィールドマクロブロックの（ｍ，ｎ）位置の画素値をｉ（ｍ，ｎ）で表し、ａの絶対値をＡＢＳ〔ａ〕で表すならば、
Ｓfld (1) ＝Σm Σn ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
Ｓfld (2) ＝Σm Σn ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
Σm ：ｍ＝１〜１６についての総和
Σn ：ｎ＝１〜１５についての総和
という算出式に従って、垂直方向隣接画素間の差分値の絶対値和Ｓfld を算出する。
【００３７】
続いて、ステップ１０６で、Ｓfld (1) の算出元となった差分絶対値
ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
の最大値ＭＡＸfld (1) を特定して、その符号を反転させることで補正値Ｃfld (1) 
Ｃfld (1) ＝−ＭＡＸfld (1) 
を算出するとともに、Ｓfld (2) の算出元となった差分絶対値
ＡＢＳ〔ｉ（ｍ，ｎ）−ｉ（ｍ，ｎ＋１）〕
の最大値ＭＡＸfld (2) を特定して、その符号を反転させることで補正値Ｃfld (2) 
Ｃfld (2) ＝−ＭＡＸfld (2) 
を算出する。
【００３８】
続いて、ステップ１０７で、
Ｓ' fld (1) ＝Ｓfld (1) ＋Ｃfld (1) 
Ｓ' fld (2) ＝Ｓfld (2) ＋Ｃfld (2) 
を算出して、その合計値
Ｓ' fld ＝Ｓ' fld (1) ＋Ｓ' fld (2) 
を求めることで、フィールドマクロブロックについての垂直方向隣接画素間の差分値の絶対値和の最終的な値Ｓ' fld を算出する。
【００３９】
ここで、Ｓfld (1) をＣfld (1) で補正し、Ｓfld (2) をＣfld (2) で補正したのは、ある１つの画素の持つ差分絶対値の最大値が判定結果に支配的な影響を与えるのを避けるためである。
【００４０】
続いて、ステップ１０８で、ステップ１０３で算出したＳ' frm と、ステップ１０７で算出したＳ' fld とを比較して、ステップ１０３で算出したＳ' frm の方が小さいことを判断するときには、ステップ１０９に進んで、フレームマクロブロックモードで符号化することを決定して、処理対象の領域について符号化を行う。
【００４１】
一方、ステップ１０８で、ステップ１０７で算出したＳ' fld の方が小さいことを判断するときには、ステップ１１０に進んで、フィールドマクロブロックモードで符号化することを決定して、処理対象の領域について符号化を行う。
【００４２】
このようにして、本発明に関連する発明で構成される映像符号化装置１は、図２の処理フローを実行する場合には、図３に示すように、フレームマクロブロックの映像データについて垂直方向隣接画素間の差分値の絶対値和Ｓfrm を算出するとともに、フィールドマクロブロックの映像データについて垂直方向隣接画素間の差分値の絶対値和Ｓfld （Ｓfrm の比較基準値となるもの）を算出し、その２つの値を補正してから比較して、フレームマクロブロックの映像データから算出される垂直方向隣接画素間の差分値の絶対値和の方が小さいことで、映像データの動きが小さなものであることを判断する場合には、フレームマクロブロックを使って符号化し、一方、フィールドマクロブロックの映像データから算出される垂直方向隣接画素間の差分値の絶対値和の方が小さいことで、映像データの動きが大きなものであることを判断する場合には、フィールドマクロブロックを使って符号化するように処理するのである。
【００４３】
ここで、図２の処理フローでは、
Ｓ' frm ＝Ｓ' frm (1) ＋Ｓ' frm (2) 
Ｓ' fld ＝Ｓ' fld (1) ＋Ｓ' fld (2) 
という算出式に従って、Ｓ' frm , Ｓ' fld を算出するようにしているが、
Ｓ' frm ＝（Ｓ' frm (1) ＋Ｓ' frm (2) ）／２
Ｓ' fld ＝（Ｓ' fld (1) ＋Ｓ' fld (2) ）／２
という算出式に従って、Ｓ' frm , Ｓ' fld を算出するようにしてもよい。
【００４４】
また、図２の処理フローでは、最大の差分絶対値を持つ１つの画素の影響を取り除くような形で補正値Ｃfrm , Ｃfld を算出するようにしているが、大きな差分絶対値を持つ上位複数画素の影響を取り除くような形で補正値Ｃfrm , Ｃfld を算出するようにしてもよい。
【００４５】
図４に、本発明に関連する発明で構成される映像符号化装置１の実行する処理フローの他の一例を図示する。
【００４６】
この処理フローと図２に示した処理フローとの違いは、本発明に関連する発明で構成される映像符号化装置１は、この処理フローを実行する場合には、
Ｖfrm ＝Σm Σn 〔ｉ（ｍ，ｎ）−Ａave (frm) 〕2 ／（ＭＮ−１）
Ｖfld ＝Σm Σn 〔ｉ（ｍ，ｎ）−Ａave (fld) 〕2 ／（ＭＮ−１）
Ａave (frm) ：フレームマクロブロック内画素の平均値
Ａave (fld) ：フィールドマクロブロック内画素の平均値
という算出式に従って分散値Ｖfrm , Ｖfld を算出して、それを使って、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するように処理することにある。
【００４７】
ここで、この処理フローを実行する場合には、Ｓfrm の算出元となった差分２乗値
〔ｉ（ｍ，ｎ）−Ａave (frm) 〕2 
の最大値ＭＡＸfrm を特定して、
Ｃfrm ＝−ＭＡＸfrm ／（ＭＮ−１）
という算出式に従って補正値Ｃfrm を算出するとともに、Ｓfld の算出元となった差分２乗値
〔ｉ（ｍ，ｎ）−Ａave (fld) 〕2 
の最大値ＭＡＸfld を特定して、
Ｃfld ＝−ＭＡＸfld ／（ＭＮ−１）
という算出式に従って補正値Ｃfld を算出することになる。
【００４８】
このようにして、本発明に関連する発明で構成される映像符号化装置１は、図４の処理フローを実行する場合には、図５に示すように、フレームマクロブロックの映像データについて分散値Ｖfrm を算出するとともに、フィールドマクロブロックの映像データについて分散値Ｖfld （Ｖfrm の比較基準値となるもの）を算出し、その２つの値を補正してから比較して、フレームマクロブロックの映像データから算出される分散値の方が小さいことで、映像データの動きが小さなものであることを判断する場合には、フレームマクロブロックを使って符号化し、一方、フィールドマクロブロックの映像データから算出される分散値の方が小さいことで、映像データの動きが大きなものであることを判断する場合には、フィールドマクロブロックを使って符号化するように処理するのである。
【００４９】
図６に、本発明に関連する発明で構成される映像符号化装置１の実行する処理フローの他の一例を図示する。
【００５０】
この処理フローと図２に示した処理フローとの違いは、本発明に関連する発明で構成される映像符号化装置１は、この処理フローを実行する場合には、フレームマクロブロックの映像データを８×８画素に分割し、それぞれに対して２次元ＤＣＴ処理を施し、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfrm を算出するとともに、フィールドマクロブロックの映像データを８×８画素に分割し、それぞれに対して２次元ＤＣＴ処理を施し、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfld を算出して、それを使って、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するように処理することにある。
【００５１】
ここで、この処理フローを実行する場合には、Ｓfrm の算出元となったＤＣＴ係数のＡＣ成分の中から最大値ＭＡＸfrm を特定して、その符号を反転させることで補正値Ｃfrm を算出するとともに、Ｓfld の算出元となったＤＣＴ係数のＡＣ成分の中から最大値ＭＡＸfld を特定して、その符号を反転させることで補正値Ｃfld を算出することになる。
【００５２】
また、この処理フローでは、ＤＣＴ係数の全てのＡＣ成分を加算対象として、その絶対値和を算出するようにしているが、所定の空間周波数以上のＡＣ成分を加算対象として、その絶対値和を算出するようにしてもよい。
【００５３】
このようにして、本発明に関連する発明で構成される映像符号化装置１は、図６の処理フローを実行する場合には、図７に示すように、フレームマクロブロックの映像データに対して２次元ＤＣＴ処理を施すことで、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfrm を算出するとともに、フィールドマクロブロックの映像データに対して２次元ＤＣＴ処理を施すことで、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfld （Ｓfrm の比較基準値となるもの）を算出し、その２つの値を補正してから比較して、フレームマクロブロックの映像データから算出されるＡＣ成分の絶対値和の方が小さいことで、映像データの動きが小さなものであることを判断する場合には、フレームマクロブロックを使って符号化し、一方、フィールドマクロブロックの映像データから算出されるＡＣ成分の絶対値和の方が小さいことで、映像データの動きが大きなものであることを判断する場合には、フィールドマクロブロックを使って符号化するように処理するのである。
【００５４】
図８に、本発明に関連する発明で構成される映像符号化装置１の実行する処理フローの他の一例を図示する。
【００５５】
この処理フローと図６に示した処理フローとの違いは、本発明に関連する発明で構成される映像符号化装置１は、この処理フローを実行する場合には、フレームマクロブロックの映像データを垂直方向８画素に分割し、それぞれに対して１次元ＤＣＴ処理を施し、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfrm を算出するとともに、フィールドマクロブロックの映像データを垂直方向８画素に分割し、それぞれに対して１次元ＤＣＴ処理を施し、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfld を算出して、それを使って、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するように処理することにある。
【００５６】
このようにして、本発明に関連する発明で構成される映像符号化装置１は、図８の処理フローを実行する場合には、図９に示すように、フレームマクロブロックの映像データに対して１次元ＤＣＴ処理を施すことで、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfrm を算出するとともに、フィールドマクロブロックの映像データに対して１次元ＤＣＴ処理を施すことで、そのＤＣＴ係数のＡＣ成分の絶対値和Ｓfld （Ｓfrm の比較基準値となるもの）を算出し、その２つの値を補正してから比較して、フレームマクロブロックの映像データから算出されるＡＣ成分の絶対値和の方が小さいことで、映像データの動きが小さなものであることを判断する場合には、フレームマクロブロックを使って符号化し、一方、フィールドマクロブロックの映像データから算出されるＡＣ成分の絶対値和の方が小さいことで、映像データの動きが大きなものであることを判断する場合には、フィールドマクロブロックを使って符号化するように処理するのである。
【００５７】
図１０〜図１２に、本発明に関連する発明の有効性を検証するために行ったシミュレーションの結果を図示する。
【００５８】
このシミュレーションは、ＭＰＥＧで配付されている参照ソフトウェア（ＪＭ）を符号化対象として、量子化パラメータ（ＱＰ）を変化させながら、
（１）従来技術通りに、フレームマクロブロックモード及びフィールドマクロブロック        モードの双方で符号化を行って発生符号量を比較して、発生符号量の少ない方で        最終的な符号化を行い、
（２）さらに、本発明に関連する発明については、図２の処理フロー／図４の処理フロ        ー／図６の処理フロー／図８の処理フローのそれぞれに従って符号化を行って、
これらについて、ＰＳＮＲ（ピーク信号対信号比）とビットレートとを比較することで行った。
【００５９】
図１０は参照ソフトウェアで用意される“Horse Race”画像に対して行ったシミュレーション結果を示し、図１１は参照ソフトウェアで用意される“Bicycle"画像に対して行ったシミュレーション結果を示し、図１２は参照ソフトウェアで用意される“Football”画像に対して行ったシミュレーション結果を示す。
【００６０】
ここで、図１０〜図１２中に示す“ＪＭ”が従来技術を用いて符号化を行った場合のシミュレーション結果を示し、“差分値”が図２の処理フローを用いて符号化を行った場合のシミュレーション結果を示し、“分散値”が図４の処理フローを用いて符号化を行った場合のシミュレーション結果を示し、“２次元ＤＣＴ”が図６の処理フローを用いて符号化を行った場合のシミュレーション結果を示し、“１次元ＤＣＴ”が図８の処理フローを用いて符号化を行った場合のシミュレーション結果を示している。
【００６１】
これらのシミュレーション結果から分かるように、本発明に関連する発明を用いることで、フレームマクロブロックモード及びフィールドマクロブロックモードの双方で符号化を行わなくても、従来技術と同等の符号化量でもって符号化を行うことができることを検証できた。
【００６２】
次に、本発明を具備する映像符号化装置について説明する。
【００６３】
図１３に、本発明を具備する映像符号化装置１の一実施形態例を図示する。
【００６４】
この図に示す本発明の映像符号化装置１は、映像データを格納する映像データメモリ３０と、動き探索を行う動き探索手段３１と、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定する符号化モード決定手段３２と、フレームマクロブロックモードに従って処理対象の領域の映像データを符号化する第１の符号化手段３３と、フィールドマクロブロックモードに従って処理対象の領域の映像データを符号化する第２の符号化手段３４とを備える。
【００６５】
これまでに説明した本発明に関連する発明では、水平Ｍ画素で垂直２Ｎ画素の大きさを持つ処理対象の領域について一切の符号化を行うことなく、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するように処理している。
【００６６】
これに対して、図１３に示す本発明の映像符号化装置１は、動き探索までの符号化を行って符号化コストを算出して、それに基づいて、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するという構成を採る。
【００６７】
ある１つのフレームの映像データについて符号化を行う場合、フレームマクロブロックを使う符号化モードとフィールドマクロブロックを使う符号化モードとが混在すると、各マクロブロックについて、どちらの符号化モードで符号化を行ったのかということを示す情報を付加する必要があり、これによる符号量の増大が問題となる。
【００６８】
そこで、図１３に示す本発明の映像符号化装置１では、動き探索までの符号化を行って、２つの符号化コストに大きな差がない場合には、どちらの符号化モードで符号化を行ったのかということを示す情報の符号量の削減を図るべく、１つ前に符号化したマクロブロックの符号化モードに基づいて、処理対象の領域の映像データをフレームマクロブロックを使って符号化するのか、フィールドマクロブロックを使って符号化するのかを決定し、一方、２つの符号化コストに大きな差がある場合には、本来の原則に従って、符号化コストが小さなものとなるマクロブロックを使って符号化することを決定するように処理するという構成を採っている。
【００６９】
すなわち、図１３のように構成される本発明の映像符号化装置１は、フレームメモリ１０に格納される映像データから水平Ｍ画素で垂直２Ｎ画素の大きさを持つ符号化対象となる処理対象の領域を選択すると、図１４の処理フローに示すように、先ず最初に、ステップ５００で、処理対象の領域を、水平Ｍ画素で垂直Ｎ画素の領域と水平Ｍ画素で垂直Ｎ画素の領域とに分割することで２つのフレームマクロブロックを生成して、その生成したフレームマクロブロックで動き探索を行うことで符号化コスト（マクロブロックの予測誤差と、マクロブロックの動きベクトルと周囲の動きベクトルとの差という２つの値の合計値）を算出する。
【００７０】
続いて、ステップ５０１で、処理対象の領域を、水平Ｍ画素で奇数フィールドの垂直Ｎ画素の領域と水平Ｍ画素で偶数フィールドの垂直Ｎ画素の領域とに分割することで２つのフィールドマクロブロックを生成して、その生成したフィールドマクロブロックで動き探索を行うことで符号化コスト（マクロブロックの予測誤差と、マクロブロックの動きベクトルと周囲の動きベクトルとの差という２つの値の合計値）を算出する。
【００７１】
続いて、ステップ５０２で、算出した２つの符号化コストの差分絶対値Ｄを算出し、続くステップ５０３で、その差分絶対値Ｄが予め設定される閾値より小さいのか否かを判断する。
【００７２】
この判断処理に従って、差分絶対値Ｄが予め設定される閾値より小さいことを判断する場合には、ステップ５０４に進んで、１つ前に符号化したマクロブロックの符号化モードに基づいて、処理対象の領域の映像データをフレームマクロブロックを使って符号化するのか、フィールドマクロブロックを使って符号化するのかを決定して、処理対象の領域を符号化する。
【００７３】
一方、ステップ５０３の判断処理に従って、差分絶対値Ｄが予め設定される閾値より大きいことを判断する場合には、ステップ５０５に進んで、フレームマクロブロックの符号化コストの方が小さいのかをチェックする。
【００７４】
続いて、ステップ５０６で、このチェック処理に従ってフレームマクロブロックの符号化コストの方が小さいことを判断する場合には、ステップ５０７に進んで、フレームマクロブロックを使って符号化することを決定して処理対象の領域を符号化し、一方、フィールドマクロブロックの符号化コストの方が小さいことを判断する場合には、ステップ５０８に進んで、フィールドマクロブロックを使って符号化することを決定して処理対象の領域を符号化する。
【００７５】
このようにして、図１３に示す本発明の映像符号化装置１では、動き探索までの符号化を行うことで、フレームマクロブロックモードで符号化するのか、フィールドマクロブロックモードで符号化するのかを決定するのである。
【符号の説明】
【００７６】
１    映像符号化装置
１０  フレームメモリ
１１  フレームマクロブロック生成手段
１２  フレームマクロブロック映像データ格納手段
１３  第１の算出手段
１４  第１の補正値算出手段
１５  第１の加算手段
１６  フィールドマクロブロック生成手段
１７  フィールドマクロブロック映像データ格納手段
１８  第２の算出手段
１９  第２の補正値算出手段
２０  第２の加算手段
２１  符号化モード決定手段
２２  第１の符号化手段
２３  第２の符号化手段
【図１】
0004643736.tif 000002
【図２】
0004643736.tif 000003
【図３】
0004643736.tif 000004
【図４】
0004643736.tif 000005
【図５】
0004643736.tif 000006
【図６】
0004643736.tif 000007
【図７】
0004643736.tif 000008
【図８】
0004643736.tif 000009
【図９】
0004643736.tif 000010
【図１０】
0004643736.tif 000011
【図１１】
0004643736.tif 000012
【図１２】
0004643736.tif 000013
【図１３】
0004643736.tif 000014
【図１４】
0004643736.tif 000015
【図１５】
0004643736.tif 000016
【図１６】
0004643736.tif 000017
【図１７】
0004643736.tif 000018
【図１８】
0004643736.tif 000019