(57)【特許請求の範囲】
【請求項１】
符号化画像から復号した動きベクトルの統計情報を取得し、該符号化画像を復号する復号部と、
前記復号部により復号された復号画像を圧縮し、圧縮後のサイズを見積もる見積もり部と、
前記復号画像を符号化する際、第１メモリに記憶された局所復号画像のうちの一部を第２メモリに記憶し、前記第２メモリ内の局所復号画像の一部を用いて符号化する符号化部と、
前記見積もり部により見積もられた圧縮後のサイズ及び前記動きベクトルの統計情報に基づき、前記符号化部により符号化された画像の局所復号画像を圧縮するか否かを決定し、圧縮後又は非圧縮の局所復号画像を前記第１メモリに記憶する圧縮部と、
を備えるトランスコード装置。
【請求項２】
前記第２メモリ内の局所復号画像の一部に前記符号化部で参照するデータがない確率を示すミスヒット率を、前記見積もり部により見積もられた圧縮後のサイズ及び前記動きベクトルの統計情報に基づき計算する計算部をさらに備え、
前記圧縮部は、
前記ミスヒット率と閾値との比較結果に応じて前記局所復号画像を圧縮するか否かを決定する請求項1記載のトランスコード装置。
【請求項３】
前記計算部は、
前記動きベクトルの統計情報から、前記見積もり部により見積もられた圧縮後のサイズが前記第２メモリのサイズ以下である前記復号画像の一部を参照する動きベクトルの数、及び該復号画像の一部以外の部分を参照する動きベクトルの数を計算して前記ミスヒット率を計算する請求項２記載のトランスコード装置。
【請求項４】
前記圧縮部は、
圧縮するか否かを決定する単位を、ピクチャ単位又はマクロブロックライン単位のいずれかを選択可能とする請求項１乃至３いずれか一項に記載のトランスコード装置。
【請求項５】
符号化画像から復号した動きベクトルの統計情報を取得し、該符号化画像を復号し、
復号された復号画像を圧縮して圧縮後のサイズを見積もり、
前記復号画像を符号化する際、第１メモリに記憶された局所復号画像のうちの一部を第２メモリに記憶して前記第２メモリ内の局所復号画像の一部を用いて符号化し、
前記復号された復号画像を圧縮して見積もられた圧縮後のサイズ及び前記動きベクトルの統計情報に基づき、符号化された画像の局所復号画像を圧縮するか否かを決定し、圧縮後又は非圧縮の局所復号画像を前記第１メモリに記憶するトランスコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化画像を復号した復号画像に対し、再符号化を行なうトランスコード装置及びトランスコード方法に関する。
【背景技術】
【０００２】
地上デジタル放送の開始により、地上デジタルチューナーを内蔵した録画機が主流となりつつある。近年では、ＨＤＤ（Hard Disk Drive）／ＢＤ（Blu-lay Disc）レコーダの出荷数がＨＤＤ／ＤＶＤ（Digital Versatile Disc）レコーダを上回っており、ＤＶＤからＢＤにシフトが始まっている。ＢＤのディスク容量は２５ＧＢ（２層では５０ＧＢ）である。よって、地上デジタル放送を、放送画質のままＢＤに保存する場合は、約３時間程度しか録画することができない。
【０００３】
そこで、長時間録画を実現するトランスコード技術が重要視されてきている。トランスコード技術を用いることにより、放送と同程度のハイビジョン画質においても、そのまま保存する場合と比べて、倍の録画時間を達成することが可能となる。よって、録画機では、ＢＤやＨＤＤの容量をより有効利用することができる。
【０００４】
一方で、トランスコード技術には、例えばＭＰＥＧ（Moving Picture Experts Group）−２で符号化されている映像を直接ＭＰＥＧ−４／ＡＶＣ  Ｈ．２６４（以下、Ｈ．２６４という）に変換する手法と、一度ＭＰＥＧ−２を復号して、復号画を再度Ｈ．２６４で符号化する手法に分類できる。現状では、よりＨ．２６４の符号化アルゴリズムを生かすことのできる後者の方が画質的に優位である。
【０００５】
しかし、後者は、復号と符号化を行うため、処理量や外部メモリ帯域は前者と比較すると増加する。よって、外部メモリ帯域を削減するために、符号化時のローカルデコード画像（局所復号画像ともいう）を外部メモリに書き込む前後で可逆圧縮／展開する手法が用いられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−７４７０５号公報
【特許文献２】特開２００７−２６６９７０号公報
【特許文献３】特開平１１−６９３５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１は、従来技術におけるトランスコード装置１００の構成の一例を示す図である。図１に示す例では、入力ストリームを復号部１０１が復号し、復号部１０１により生成されたデコード画像が、第１メモリ１０３に記憶される。復号部１０１は、例えばＭＰＥＧ−２のデコーダであり、第１メモリ１０３は、例えばトランスコード装置１００の外部にある外部メモリとしてのＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。
【０００８】
デコード画像は、スケーラ部１０５により解像度変換され、スケーリング後のデコード画像は、第１メモリ１０３に記憶される。スケーリング後のデコード画像は、符号化部１０７により符号化される。符号化部１０７は、例えばＨ．２６４のエンコーダである。
【０００９】
符号化部１０７により符号化された画像のうち、参照画像となりうる画像は、ローカルデコード画像として復号される。ローカルデコード画像は、圧縮部１０９により圧縮され、第１メモリ１０３に記憶される。
【００１０】
トランスコード装置１００からの外部メモリ１０３へのアクセス回数を減らすため、符号化部１０７は、圧縮されたローカルデコード画像の一部を第２メモリ１１１に記憶する。第２メモリ１１１に記憶された圧縮後のローカルデコード画像の一部は、展開部１１３により展開（伸長）され、動き探索部１１５により、動き探索領域として用いられる。
【００１１】
圧縮部１０９によるローカルデコード画像の圧縮手法は、例えば、ローカルデコード画像を８×８画素や１６×１６画素などの小領域に分割し、分割した小領域に対して可変長符号化を施すことにより画像データの可逆圧縮を行う。符号化部１０７における動き予測処理では、可逆圧縮されたローカルデコード画像を第１メモリ１０３より読み出して、スケーリング後のデコード画像とのブロックマッチングを行う。このとき、ブロックマッチングを行う領域が、圧縮単位のグリッドにのっているとは限らないため、のりしろ領域（マッチング領域より外側にある余分な領域）を含めたサイズを読み出す必要がある。
【００１２】
図２は、圧縮のあり／なしによる第１メモリ１０３から読み出す領域の違いを説明するための図である。図２（Ａ）は、圧縮なしの場合の処理単位と探索範囲（探索領域）を示す。図２（Ａ）に示すように、圧縮なしの場合の処理単位は、８×１単位であり、探索範囲１０は、３３×２９である。
【００１３】
図２（Ｂ）は、圧縮なしの場合の、第１メモリ１０３から読み出す読出領域１１を示す。図２（Ｂ）に示すように、読出領域１１は、処理単位の倍数である４０×２９である。符号化部１０７は、この読出領域１１（４０×２９＝１１６０（ｂｙｔｅ））を第１メモリ１０３から読み出しておく必要がある。
【００１４】
図２（Ｃ）は、圧縮ありの場合の処理単位と探索範囲（探索領域）を示す。図２（Ｃ）に示すように、圧縮ありの場合の処理単位は、１６×１６単位であり、探索範囲１０は、３３×２９である。
【００１５】
図２（Ｄ）は、圧縮ありの場合の、第１メモリ１０３から読み出す読出領域１２を示す。図２（Ｄ）に示すように、読出領域１２は、処理単位の倍数である４８×４８である。符号化部１０７は、この読出領域１２（４８×４８＝２３０４（ｂｙｔｅ））を第１メモリ１０３から読み出しておく。
【００１６】
よって、ローカルデコード画像を圧縮すれば、第１メモリ１０３の帯域を削減することができるが、第１メモリ１０３からののりしろ領域を含めたサイズを読み出す必要がある。
【００１７】
一方、圧縮されたローカルデコード画像（参照画）における、符号化対象ＭＢ（マクロブロック）位置の上下数ＭＢラインを第２メモリ１１１にキャッシュすることにより、のりしろ領域の無駄読みを防ぐことができる（図３参照）。
【００１８】
図３は、第２メモリ１１１にキャッシュされた領域を示す図である。図３に示すように、符号化対象ＭＢと第２メモリ１１１にキャッシュされた領域内のＭＢとがマッチングするのであれば、第１メモリ１０３へのアクセスは必要ない。
【００１９】
しかし、圧縮率により第２メモリ１１１に格納できるＭＢライン数が変化するため、圧縮率が悪い場合においては、キャッシュミスヒット率が高くなり、ミスヒットによる第１メモリ１０３へのアクセスが増加してしまう。
【００２０】
図４は、キャッシュミスヒットを説明するための図である。図４に示す前方参照画は、圧縮率が高く（良く）、多くの領域が第２メモリ１１１に記憶される。よって、圧縮率が高い場合、第２メモリ１１１へのキャッシュによりミスヒットは起きにくい。
【００２１】
一方、図４に示す後方参照画は、圧縮率が低く（悪く）、前方参照画より多くない領域が第２メモリ１１１に記憶される。よって、圧縮率が低い場合、第２メモリ１１１へのキャッシュによりミスヒットは起きやすい。よって、ミスヒットによる第１メモリ１０３へのアクセスが増え、第１メモリ１０３帯域の削減効果が相殺される場合がある。
【００２２】
そこで、開示の技術は、上記課題に鑑みてなされたものであり、圧縮の処理単位でのキャッシュミスヒットによるメモリアクセスの増加を防ぐトランスコード装置及びトランスコード方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
開示の一態様におけるトランスコード装置は、符号化画像から復号した動きベクトルの統計情報を取得し、該符号化画像を復号する復号部と、前記復号部により復号された復号画像を圧縮し、圧縮後のサイズを見積もる見積もり部と、前記復号画像を符号化する際、第１メモリに記憶された局所復号画像のうちの一部を第２メモリに記憶し、前記第２メモリ内の局所復号画像の一部を用いて符号化する符号化部と、前記見積もり部により見積もられた圧縮後のサイズ及び前記動きベクトルの統計情報に基づき、前記符号化部により符号化された画像の局所復号画像を圧縮するか否かを決定し、圧縮後又は非圧縮の局所復号画像を前記第１メモリに記憶する圧縮部と、を備える。
【発明の効果】
【００２４】
開示の技術によれば、圧縮の処理単位でのキャッシュミスヒットによるメモリアクセスの増加を防ぐことができる。
【図面の簡単な説明】
【００２５】
【図１】従来技術におけるトランスコード装置の構成の一例を示す図。
【図２】圧縮のあり／なしによる第１メモリから読み出す領域の違いを説明するための図。
【図３】第２メモリ１１１にキャッシュされた領域を示す図。
【図４】キャッシュミスヒットを説明するための図。
【図５】トランスコードにおけるパイプライン処理の一例を示す図。
【図６】実施例１におけるトランスコード装置の構成の一例を示すブロック図。
【図７】垂直方向の動きベクトルの統計情報の一例を示す図。
【図８】参照されるピクチャに対する動きベクトルの統計情報を説明するための図。
【図９】ＭＢライン毎の圧縮見積もりサイズを説明するための図。
【図１０】実施例１における符号化画像に対する復号処理及び見積もり処理の一例を示すフローチャート。
【図１１】実施例１における動きベクトルの統計情報の取得処理の一例を示すフローチャート。
【図１２】実施例１における圧縮又は非圧縮の判定処理の一例を示すフローチャート。
【図１３】実施例１におけるキャッシュミスヒット率の計算処理の一例を示すフローチャート。
【図１４】実施例１における下方向データサイズの計算処理の一例を示すフローチャート。
【図１５】実施例１における上方向データサイズの計算処理の一例を示すフローチャート。
【図１６】実施例１におけるヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【図１７】実施例１における上方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【図１８】実施例１における下方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【図１９】実施例２における圧縮又は非圧縮の判定処理の一例を示すフローチャート。
【図２０】実施例２におけるキャッシュミスヒット率の計算処理の一例を示すフローチャート。
【図２１】実施例２におけるヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【図２２】実施例２における上方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【図２３】実施例２における下方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャート。
【発明を実施するための形態】
【００２６】
以下、添付図面を参照しながら実施例について詳細に説明する。
【００２７】
［実施例１］
実施例１では、復号されたデコード画像を再エンコードする際に、ピクチャ単位でローカルデコード画像（局所復号画像）を圧縮するか否かの判定を行う例について説明する。ここでいうピクチャは、インタレース方式により取得されるフィールド、又はプログレッシブ方式により取得されるフレームの何れであってもよい。
【００２８】
また、実施例１では、符号化画像の復号処理と、復号した画像の再符号化処理とは、ピクチャ単位のパイプライン処理によって処理される。図５は、トランスコードにおけるパイプライン処理の一例を示す図である。
【００２９】
図５に示す例では、ＭＰＥＧ−２のデコード処理、スケーリング処理、Ｈ．２６４の前処理０、前処理１、符号化処理がピクチャ単位でパイプライン処理される。なお、前処理０は、例えば、動き探索をするための画像の縮小化処理であり、前処理１は、縮小画像に対する動き探索処理である。符号化処理は、探索された動きベクトルを用いて入力画像を符号化する処理である。Ｉ、Ｐ、Ｂの後の番号は、表示順番号を示す。
【００３０】
パイプライン処理によって、例えば、ＭＰＥＧ−２の符号化情報をＨ．２６４の符号化に用いることができる。以下、パイプライン処理を行うトランスコード装置の構成について説明する。
【００３１】
＜構成＞
図６は、実施例１におけるトランスコード装置２００の構成の一例を示すブロック図である。図６に示すトランスコード装置２００は、復号部２０１、見積もり部２０３、計算部２０７、スケーラ部２０９、符号化部２１１、圧縮部２１３を備える。トランスコード装置１００は、第１メモリ２０５と接続され、第１メモリ２０５にデータを書き込んだり、第１メモリ２０５からデータを読み出したりすることができる。
【００３２】
復号部２０１は、例えば、ＭＰＥＧ−２やＨ．２６４などのデコーダであり、入力ストリームを復号して動きベクトルを取得し、復号画像（デコード画像）を生成する。例えば、復号部２０１は、入力ストリームに対し、マクロブロック（以下、ＭＢともいう）単位で復号処理を行う際、現マクロブロックがＩピクチャであるか否かを判定する。
【００３３】
現ＭＢがＩピクチャであれば、復号部２０１は、Ｉピクチャに対する復号処理を行なう。現ＭＢがＩピクチャでなければ（Ｐ又はＢピクチャであれば）、復号部２０１は、垂直方向の動きベクトルの統計情報を取得し、デコード画像を生成する。復号部２０１は、復号したデコード画像を見積もり部２０３に出力する。
【００３４】
復号部２０１は、ＭＢの１ラインに対し、取得した垂直方向の動きベクトルの大きさ毎にカウントし、これを統計情報とする。図７は、垂直方向の動きベクトルの統計情報の一例を示す図である。復号部２０１は、図７に示す例では、動きベクトルの大きさについて−６４〜＋６４までの１６刻みにグループ分けする。１６に設定した理由は、ＭＢの縦のサイズだからである。また、グループ分けする単位は、符号化時のブロックに対する縦のサイズに合わせればよい。復号部２０１は、復号対象の現ＭＢの垂直方向の動きベクトルの大きさによって、該当するグループを＋１カウントする。
【００３５】
図７（Ａ）は、現ＭＢを含むＭＢラインｇの垂直方向の動きベクトルの例を示す。図７（Ｂ）は、ＭＢラインｇの動きベクトルの統計情報の一例を示す。図７（Ｂ）に示す動きベクトル数[ｇ][０][０]について説明する。一番左の[]は、ＭＢラインのライン識別番号を示す。真ん中の[]は、「０」であれば下方向を示し、「１」であれば上方向を示す。一番右の[]は、１６毎に刻んだグループ識別番号を示す。復号部２０１は、図７に示すような動きベクトルの統計情報を第１メモリ２０５に書き込む（記憶する）。
【００３６】
なお、復号部２０１は、動きベクトルの統計情報を第１メモリ２０５に書き込まず、トランスコード装置２００内部のメモリ（例えばＲＡＭ（Random Access Memory））に格納するようにしてもよい。
【００３７】
また、復号部２０１は、参照されるピクチャ毎にカウント値を累積させていく。図８は、参照されるピクチャに対する動きベクトルの統計情報を説明するための図である。図８に示すように、Ｉ２ピクチャのＨ．２６４符号化時に用いる動きベクトルの統計情報は、Ｂ０、Ｂ１、Ｐ５ピクチャの動きベクトルの統計情報の累積となる。
【００３８】
復号部２０１は、以下の式（１）により、Ｉ２ピクチャに対する動きベクトルの統計情報を累積する。
Ｉ２ピクチャに対する動きベクトルの統計情報＝
Ｂ０ピクチャの動きベクトルの統計情報＋Ｂ１ピクチャの動きベクトルの統計情報＋Ｐ５ピクチャの動きベクトルの統計情報  ・・・式（１）
なお、累積するピクチャの枚数は、パイプラインの段数によって変わる。例えば、スケーリング処理を行わなくてもよいし、Ｈ．２６４の符号化処理を３段階以上に分けたりしてもよい。
【００３９】
図６に戻り、見積もり部２０３は、復号部２０１から取得したデコード画像をＭＢ単位で圧縮符号化し、圧縮後のデータサイズ（以下、圧縮データサイズともいう）を取得する。例えば、見積もり部２０３は、取得したデコード画像が参照されるピクチャ（Ｉ、Ｐピクチャ）であれば、このデコード画像の画素の圧縮符号化を行う。画素の圧縮手法は、例えば、ラスタスキャン順に左上か画素からの差分を計算し、差分値を可変長符号化する手法や、ＪＰＥＧ（Joint Photographic Experts Group）の離散コサイン変換と量子化によって圧縮する手法などがある。
【００４０】
圧縮データサイズは、１ＭＢラインの処理毎に集計され、第１メモリ２０５に書き込まれる。図９は、ＭＢライン毎の圧縮見積もりサイズを説明するための図である。圧縮見積もりサイズ（ｎ）とは、ＭＢラインのｎライン目の圧縮データサイズの累積を示す。見積もり部２０３は、参照されるピクチャの圧縮見積もりサイズ（）を第１メモリ２０５に書き込む。
【００４１】
なお、圧縮見積もりサイズは、動きベクトルの統計情報同様、トランスコード装置２００内部のメモリに格納してもよい。
【００４２】
よって、復号部２０１、見積もり部２０３により、１枚の参照画（参照されるピクチャ）毎に、圧縮見積もりサイズ、参照されるときの動きベクトルの統計情報が得られる。
【００４３】
図６に戻り、第１メモリ２０５は、圧縮見積もりサイズを含む圧縮データサイズ情報、垂直方向の動きベクトルの情報、デコード画像、スケーリング後のデコート画像、ローカルデコード画像を記憶する。第１メモリ２０５は、例えば、外部メモリとしてのＳＤＲＡＭである。
【００４４】
計算部２０７は、後述する第２メモリ２１５のキャッシュミスヒット率（単にミスヒット率ともいう）を計算して推定する。計算部２０７は、見積もり部２０３により見積もられた圧縮後のサイズが第２メモリ２１５のサイズ以下となる復号画像の一部を推測する。
【００４５】
計算部２０７は、推測した復号画像の一部を参照する動きベクトルの数（ヒット数）、及びこの復号画像の一部以外の部分を参照する動きベクトルの数（ミスヒット数という）を、動きベクトルの統計情報を用いて求める。計算部２０７は、ヒット数及びミスヒット数を用いてキャッシュミスヒット率を計算する。
【００４６】
よって、キャッシュミスヒット率は、圧縮見積もりサイズ及び動きベクトルの統計情報に基づいて計算される。キャッシュミスヒット率の詳細な計算方法は、図１６〜１９を用いて後述する。計算部２０７は、見積もったキャッシュミスヒット率を圧縮部２１３に出力する。
【００４７】
スケーラ部２０９は、第１メモリ２０５に記憶されているデコード画像に対し、解像度変換を行う。スケーラ部２０９は、例えば、ＨＤからＳＤへ解像度変換を行う。解像度変換されたデコード画像（以下、スケーリング後デコード画像ともいう）は、第１メモリ２０５に記憶される。
【００４８】
符号化部２１１は、スケーリング後デコード画像を原画像として所定の符号化方式で符号化処理を行う。所定の符号化方式は、例えば、Ｈ．２６４やＭＰＥＧ−４などの符号化方式である。
【００４９】
符号化部２１１は、符号化した画像が参照画像となる場合は、ローカルデコードを行い、このデコード画像（以下、ローカルデコード画像）を圧縮部２１３に出力する。
【００５０】
符号化部２１１は、第２メモリ２１５、展開部２１７、動き探索部２１９を有する。第２メモリ２１５は、例えばキャッシュメモリであり、第１メモリ２０５からローカルデコード画像の一部を取得し、記憶する。なお、このローカルデコード画像の一部は、後述するように、圧縮されている場合もあれば、圧縮されていない場合もある。
【００５１】
展開部２１７は、第２メモリ２１５内の圧縮されたローカルデコード画像の一部を展開する（伸長処理を行う）。
【００５２】
動き探索部２１９は、第２メモリ２１５に記憶されたローカルデコード画像の一部が圧縮されている場合は、展開部２１７により展開されたローカルデコード画像の一部を参照画像として動き探索を行う。
【００５３】
動き探索部２１９は、第２メモリ２１５に記憶されたローカルデコード画像の一部が圧縮されていない場合は、第２メモリ２１５からローカルデコード画像の一部を取得し、このローカルデコード画像の一部を参照画像として動き探索を行う。
【００５４】
動き探索部２１９は、ブロックマッチング処理を行い、マッチングするＭＢが第２メモリ２１５内になかった場合、展開部２１７に第１メモリ２０５へのアクセスを要求する。展開部２１７は、動き探索部２１９から第１メモリ２０５へのアクセス要求を受けると、第１メモリ２０５から所望のＭＢを含む領域を取得する。取得された領域は、圧縮されていた場合は展開されて動き探索部２１９に出力され、非圧縮の場合はそのまま動き探索部２１９に出力される。
【００５５】
また、動き探索部２１９は、処理負荷を軽減させるため、原画像を縮小画像にしてから動き探索を行ってもよい。
【００５６】
符号化部２１１は、動き探索部２１９により求められた動きベクトルを符号化する。符号化部２１１は、原画像に対し、所定の符号化方式で符号化処理を行う。例えば、符号化部２１１は、インター画像であれば、ＭＢ毎に参照ＭＢと差分をとり、ＤＣＴ変換処理、量子化処理、可変長符号化処理などを行う。可変長符号化されたデータ及び符号化された動きベクトルは、出力ストリームとして出力される。
【００５７】
圧縮部２１３は、符号化部２１１から取得したローカルデコード画像に対し、圧縮見積もりサイズ及び動きベクトルの統計情報に基づき計算されたキャッシュミスヒット率に応じて圧縮するか否かを決定する。
【００５８】
圧縮部２１３は、キャッシュミスヒット率が閾値（例えば２０％）より大きければ、圧縮をせずにそのままローカルデコード画像を第１メモリ２０５に記憶する。圧縮部２１３は、キャッシュミスヒット率が閾値以下であれば、ローカルデコード画像を圧縮符号化し、第１メモリ２０５に記憶する。このときの圧縮手法は、見積もりを有効に用いるため、見積もり部２０３で圧縮した圧縮手法と同じが望ましい。
【００５９】
圧縮部２１３は、キャッシュミスヒット率が高い場合は、のりしろ領域の無駄読みをなくすため、圧縮せずにローカルデコード画像を第１メモリ２０５に記憶する。また、圧縮部２１３は、キャッシュミスヒット率が低い場合は、第１メモリ２０５の帯域を減らすため、ローカルデコード画像を圧縮して第１メモリ２０５に記憶する。
【００６０】
これにより、キャッシュミスヒット率を事前に予測することで、圧縮単位でのメモリアクセスの増加を防ぎ、のりしろ領域を含めた無駄読みとなる外部メモリ２０５の帯域を削減することが可能である。
【００６１】
なお、圧縮率が高い（良い）場合、又は圧縮率は低い（悪い）が符号化対象ＭＢに近い位置しか参照されない場合は、キャッシュミスヒット率は小さくなりやすく、圧縮率が低く、探索範囲が広い場合は、キャッシュミスヒット率は大きくなりやすい。
【００６２】
＜動作＞
次に、トランスコード装置２００の動作について説明する。
【００６３】
（復号処理と見積もり処理）
図１０は、実施例１における符号化画像に対する復号処理及び見積もり処理の一例を示すフローチャートである。ステップＳ１０１で、復号部２０１は、ＭＢ単位で復号処理を行う。１ピクチャ分の復号処理が終了すると、ステップＳ１０２に進む。１ピクチャの復号処理を行って動きベクトルの統計情報を取得するが、この処理については図１１を用いて説明する。
【００６４】
ステップＳ１０２で、見積もり部２０３は、復号された画像（現ピクチャ）が参照画（Ｉ、Ｐピクチャ）であるか否かを判定する。現ピクチャが参照画であれば（ステップＳ１０２−ＹＥＳ）ステップＳ１０３に進み、現ピクチャが参照画でなければ（ステップＳ１０２−ＮＯ）見積もり処理は行われない。
【００６５】
ステップＳ１０３で、見積もり部２０３は、ＭＢ単位で圧縮処理を行い、圧縮データサイズの累積を行う。
【００６６】
ステップＳ１０４で、見積もり部２０３は、１ＭＢラインの圧縮処理を行ったか否かを判定する。１ＭＢラインが終了していれば（ステップＳ１０４−ＹＥＳ）ステップＳ１０５に進み、１ＭＢラインが終了していなければ（ステップＳ１０４−ＮＯ）ステップＳ１０３に戻る。
【００６７】
ステップＳ１０５で、見積もり部２０３は、１ＭＢライン分の圧縮データサイズの累積である圧縮見積もりサイズを第１メモリ２０５に書き込む。
【００６８】
ステップＳ１０６で、見積もり部２０３は、１ピクチャ分の圧縮の見積もりが終了したかを判定する。１ピクチャ分の見積もりが終了していれば（ステップＳ１０６−ＹＥＳ）次のピクチャの復号処理が行われ、１ピクチャの分の見積もりが終了していなければ（ステップＳ１０６−ＮＯ）ステップＳ１０３に戻る。これにより、参照画毎に、１ＭＢライン毎の圧縮見積もりサイズが得られる。
【００６９】
（動きベクトル統計情報の取得）
図１１は、実施例１における動きベクトルの統計情報の取得処理の一例を示すフローチャートである。図１１に示す処理は、図１０に示すステップＳ１０１の処理に対応する。
【００７０】
図１１に示すステップＳ２０１で、復号部２０１は、現ピクチャはＩピクチャであるか否かを判定する。現ピクチャがＩピクチャであれば（ステップＳ２０１−ＹＥＳ）ステップＳ２０８に進み、現ピクチャがＩピクチャでなければ（ステップＳ２０１−ＮＯ）ステップＳ２０２に進む。
【００７１】
ステップＳ２０２で、復号部２０１は、処理対象の現ＭＢはイントラＭＢであるかを判定する。現ＭＢがイントラＭＢであれば（ステップＳ２０２−ＹＥＳ）ステップＳ２０５に進み、現ＭＢがイントラＭＢでなければ（ステップＳ２０２−ＮＯ）ステップＳ２０３に進む。
【００７２】
ステップＳ２０３で、復号部２０１は、現ＭＢの参照画を取得する。ステップＳ２０４で、復号部２０１は、現ＭＢの動きベクトルにおける垂直方向の大きさの統計情報を取得する。動きベクトルの統計情報は、例えば、１６ごとにグループ分けされた各グループの度数である。
【００７３】
ステップＳ２０５で、復号部２０１は、１ＭＢラインが終了したかを判定する。１ＭＢラインが終了していれば（ステップＳ２０５−ＹＥＳ）ステップＳ２０６に進み、１ＭＢラインが終了していなければ（ステップＳ２０５−ＮＯ）ステップＳ２０２に戻る。
【００７４】
ステップＳ２０６で、復号部２０１は、１ＭＢラインにおける垂直方向の動きベクトルの統計情報を第１メモリ２０５に書き込む。
【００７５】
ステップＳ２０７で、復号部２０１は、１ピクチャ分の垂直方向の動きベクトル統計情報の取得処理が１ピクチャ分終了したかを判定する。１ピクチャ分終了していれば（ステップＳ２０７−ＹＥＳ）ステップＳ２０８に進み、１ピクチャ分終了していなければ（ステップＳ２０７−ＮＯ）ステップＳ２０２に戻る。
【００７６】
ステップＳ２０８で、復号部２０１は、現ピクチャをＭＢ単位で復号し、デコード画像を生成する。これにより、１枚の参照画に対し、１ＭＢライン毎に、参照されるときの垂直方向の動きベクトルの統計情報を取得することができる。
【００７７】
（圧縮するか否かの判定）
次に、圧縮部２１３における圧縮するか否かの判定について説明する。図１２は、実施例１における圧縮又は非圧縮の判定処理の一例を示すフローチャートである。まず、図１２に示す処理の前の事前設定について説明する。
【００７８】
圧縮部２１３は、下方向ＭＢライン数と、第２メモリのサイズを設定しておく。下方向ＭＢラインとは、圧縮対象のピクチャの現ＭＢを含むカレントＭＢラインから下方向に何ＭＢラインキャッシュするかを示す。下方向ＭＢラインは、Ｃａｃｈｅ＿Ｌｏｗ＿ＭＢｌｉｎｅ＝Ｌ（Ｌ≧１）で表し、例えばＬ＝４とする。第２メモリ２１５のサイズは、Ｃｈａｃｈｅ＝α（α＞Ｌ×１ＭＢラインのワースト圧縮サイズ）で表し、例えばα＝５００ｋバイトとする。
【００７９】
なお、下方向ＭＢラインを予め設定したが、上方向ＭＢラインを予め設定するようにしてもよい。ここで、下方向ＭＢラインのＬを設定したのは、下方向は符号化方向と同じ方向だからである。
【００８０】
図１２に示すステップＳ３０１で、圧縮対象のローカルデコード画像（現ピクチャ）は、参照画であるかを判定する。参照画であるか否かは、例えば参照インデックスが付与されるか否かで判断できる。現ピクチャが参照画であれば（ステップＳ３０１−ＹＥＳ）ステップＳ３０３に進み、現ピクチャが参照画でなければ（ステップＳ３０１−ＮＯ）ステップＳ３０２に進む。
【００８１】
ステップＳ３０２で、圧縮部２１３は、ローカルデコード画像を第１メモリ２０５に書き込まずに、次のピクチャの処理を行う。ローカルデコード画像が参照画でなければ、メモリに保存しておく必要がないからである。
【００８２】
ステップＳ３０３で、圧縮部２１３は、現ピクチャに対するミスヒット率を計算部２０７から取得する。ミスヒット率の計算処理は、図１３〜１５を用いて後述する。
【００８３】
ステップＳ３０４で、圧縮部２１３は、取得したミスヒット率が閾値Ａ未満であるかを判定する。閾値Ａは、例えば２０％である。ミスヒット率が閾値Ａ以上であれば（ステップＳ３０４−ＮＯ）ステップＳ３０６に進み、ミスヒット率が閾値Ａ未満であれば（ステップＳ３０４−ＹＥＳ）ステップ３０５に進む。
【００８４】
ステップＳ３０５で、圧縮部２１３は、ローカルデコード画像を圧縮して第１メモリ２０５に書き込む。ここでの圧縮方法は、公知の圧縮方法のいずれか１つを用いればよいが、見積もり部２０３と同じ圧縮方法が望ましい。
【００８５】
ステップＳ３０６で、圧縮部２１３は、ローカルデコード画像を圧縮せずに第１メモリ２０５に書き込む。
【００８６】
これにより、ミスヒット率が高い場合は、圧縮せずに第１メモリ２０５に書き込むことで、圧縮することによるのりしろ部分の無駄読みを削減することができる。
【００８７】
（キャッシュミスヒット率の計算処理）
次に、キャッシュミスヒット率の計算処理について説明する。図１３は、実施例１におけるキャッシュミスヒット率の計算処理の一例を示すフローチャートである。実施例１では、ミスヒット率は、ピクチャ単位で求める。
【００８８】
図１３に示すステップＳ４０１で、計算部２０７は、次のパラメータについて初期化を行う。
ＴｏｔａｌＳｉｚｅ（ＭＢラインの圧縮見積もりサイズを累積したサイズ）＝０
ＭＢ＿ｌｉｎｅＩＤ（ＭＢラインの識別情報）＝０
ＨｉｔＮｕｍ（ヒットしたＭＢ（又は動きベクトル）の数）＝０
ＭｉｓｓＨｉｔＮｕｍ（ミスヒットしたＭＢ（又は動きベクトル）の数）＝０
ステップＳ４０２で、計算部２０７は、次の条件を満たすかを判定する。
ＭＢ＿ｌｉｎｅＩＤ＝ＭＢ＿ｌｉｎｅＮｕｍ（１ピクチャのＭＢライン数）
この条件を満たせば（ステップＳ４０２−ＹＥＳ）ステップＳ４０７に進み、この条件を満たさなければ（ステップＳ４０２−ＮＯ）ステップＳ４０３に進む。
【００８９】
ステップＳ４０３で、計算部２０７は、下方向データサイズの計算を行う。この計算処理は、図１４を用いて後述する。これにより、カレントＭＢラインから下方向にＬライン分のデータ数が見積もられる。
【００９０】
ステップＳ４０４で、計算部２０７は、上方向のデータサイズの計算を行う。この計算処理は、図１５を用いて後述する。これにより、第２メモリサイズ以内となるような上方向のＭＢライン数が分かる。よって、計算部２０７は、第２メモリ２１５には、カレントＭＢラインから上下何ライン分キャッシュできているかを判断することができる。
【００９１】
なお、スケーリングにより、画像サイズに変化がある場合は、計算部２０７は、圧縮データサイズにそのスケール比を乗算することで、スケーリングによる誤差を削減することができる。
【００９２】
ステップＳ４０５で、計算部２０７は、カレントＭＢラインに対するヒット数／ミスヒット数を計算する。ヒット数／ミスヒット数の計算処理は、図１６〜１８を用いて後述する。ステップＳ４０６で、計算部２０７は、ＭＢ＿ｌｉｎｅＩＤを１インクリメントする。ステップＳ４０６の処理後にステップＳ４０２に戻る。
【００９３】
ステップＳ４０７で、計算部２０７は、１ピクチャ分のミスヒット数やヒット数をカウントできたら、次の式（２）によりミスヒット率を計算する。
ミスヒット率（％）＝１００×ＭｉｓｓＨｉｔＮｕｍ／（ＨｉｔＮｕｍ＋ＭｉｓｓＨｉｔＮｕｍ）      ・・・式（２）
計算部２０７は、計算したミスヒット率を圧縮部２１３に出力する。
【００９４】
（下方向データサイズの計算）
次に、下方向のデータサイズの計算方法について説明する。図１４は、実施例１における下方向データサイズの計算処理の一例を示すフローチャートである。図１４に示すステップＳ５０１で、計算部２０７は、ｉ＝０に初期化する。
【００９５】
ステップＳ５０２で、計算部２０７は、次の式（３）によりＴｏｔａｌＳｉｚｅを求める。
ＴｏｔａｌＳｉｚｅ＝ＴｏｔａｌＳｉｚｅ＋圧縮見積もりサイズ（ＭＢ＿ｌｉｎｅＩＤ＋ｉ）      ・・・式（３）
ステップＳ５０３で、計算部２０７は、次の条件を満たすか否かを判定する。
ｉ＋１＝Ｌ
この条件を満たす場合（ステップＳ５０３−ＹＥＳ）この計算処理を終了し、この条件を満たさない場合（ステップＳ５０３−ＮＯ）ステップＳ５０４に進む。ステップＳ５０４で、計算部２０７は、ｉ＝ｉ＋１にし、ステップＳ５０２に戻る。これにより、下方向のＬ個のＭＢラインに対し、見積もりデータサイズの累積を求めることができる。
【００９６】
（上方向データサイズの計算）
次に、上方向のデータサイズの計算方法について説明する。図１５は、実施例１における上方向データサイズの計算処理の一例を示すフローチャートである。図１５に示すステップＳ６０１で、計算部２０７は、ｊ＝０に初期化する。
【００９７】
ステップＳ６０２で、計算部２０７は、次の式（４）によりＴｏｔａｌＳｉｚｅを求める。
ＴｏｔａｌＳｉｚｅ＝ＴｏｔａｌＳｉｚｅ＋圧縮見積もりサイズ（ＭＢ＿ｌｉｎｅＩＤ−ｊ）      ・・・式（４）
ステップＳ６０３で、計算部２０７は、次の条件を満たすか否かを判定する。
ＴｏｔａｌＳｉｚｅ＜α
この条件を満たす場合（ステップＳ６０３−ＹＥＳ）ステップＳ６０４に進み、この条件を満たさない場合（ステップＳ６０３−ＮＯ）ステップＳ６０５に進む。
【００９８】
ステップＳ６０４で、計算部２０７は、ｊ＝ｊ＋１にし、ステップＳ６０２に戻る。ステップＳ６０５で、計算部２０７は、ｊ＝ｊ−１にし、ステップＳ６０６に進む。
【００９９】
ステップＳ６０６で、計算部２０７は、Ｃａｃｈｅ＿ＵＰ＿ＭＢｌｉｎｅ＝ｊに設定する。これにより、上方向のＭＢラインに対し、下方向のＭＢラインのデータ数と合計して第２メモリサイズ以内となるようなライン数を求めることができる。
【０１００】
（ヒット数及びミスヒット数の計算）
次に、ヒット数及びミスヒット数の計算方法について説明する。図１６は、実施例１におけるヒット数及びミスヒット数の計算処理の一例を示すフローチャートである。図１６に示すステップＳ７０１で、計算部２０７は、上方向のヒット数及びミスヒット数を計算する。この処理は、図１７を用いて後述する。
【０１０１】
ステップＳ７０２で、計算部２０７は、下方向のヒット数及びミスヒット数を計算する。この処理は、図１８を用いて後述する。なお、ステップＳ７０１とステップＳ７０２とは、順序は問わない。
【０１０２】
（上方向のヒット数及びミスヒット数の計算）
次に、上方向のヒット数及びミスヒット数の計算について説明する。図１７は、実施例１における上方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャートである。ステップＳ８０１で、計算部２０７は、ｍ＝０とする。
【０１０３】
ステップＳ８０２で、計算部２０７は、次の条件を満たすかを判定する。
ｍ＋１≦Ｃａｃｈｅ＿ＵＰ＿ＭＢｌｉｎｅ
この条件を満たす場合（ステップＳ８０２−ＹＥＳ）ステップＳ８０３に進み、この条件を満たさない場合（ステップＳ８０２−ＮＯ）ステップＳ８０４に進む。
【０１０４】
ステップＳ８０３で、計算部２０７は、次に式（５）によりヒット数をカウントする。
ＨｉｔＮｕｍ＝ＨｉｔＮｕｍ＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][１][ｍ]    ・・・式（５）
ステップＳ８０４で、計算部２０７は、次の式（６）によりミスヒット数をカウントする。
ＭｉｓｓＨｉｔＮｕｍ＝ＭｉｓｓＨｉｔＮｕｍ＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][１][ｍ]    ・・・式（６）
ステップＳ８０５で、計算部２０７は、次の条件を満たすかを判定する。
ｍ×１６＜垂直方向の動きベクトルの最大値
この条件を満たす場合（ステップＳ８０５−ＹＥＳ）ステップＳ８０６に進み、この条件を満たさない場合（ステップＳ８０５−ＮＯ）この計算処理を終了する。
【０１０５】
ステップＳ８０６で、計算部２０７は、ｍ＝ｍ＋１とし、ステップＳ８０２に戻る。つまり、上方向のヒット数及びミスヒット数のカウントについて、計算部２０７は、まず、動きベクトル統計情報から、動きベクトルが上方向に０より大きい、かつ１６以下となっているＭＢの個数を取り出す。
【０１０６】
次に、計算部２０７は、上方向のＭＢラインの上限値の範囲内であればヒットと判定し、範囲外であればミスヒットと判定する。次に、計算部２０７は、動きベクトルが上方向に１６より大きいかつ３２以下となっているＭＢの個数を取り出し、同様の判定を行う。この処理を動きベクトルが最大値となるまで行い、現ＭＢラインの上方向のヒット数とミスヒット数の値を求める。動きベクトルの最大値は、例えば、動きベクトル統計情報内の上向きの最大値である。
【０１０７】
（下方向のヒット数及びミスヒット数の計算）
次に、下方向のヒット数及びミスヒット数の計算について説明する。図１８は、実施例１における下方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャートである。ステップＳ９０１で、計算部２０７は、ｋ＝０とする。
【０１０８】
ステップＳ９０２で、計算部２０７は、次の条件を満たすかを判定する。
ｋ＋１≦Ｌ
この条件を満たす場合（ステップＳ９０２−ＹＥＳ）ステップＳ９０３に進み、この条件を満たさない場合（ステップＳ９０２−ＮＯ）ステップＳ９０４に進む。
【０１０９】
ステップＳ９０３で、計算部２０７は、次に式（７）によりヒット数をカウントする。
ＨｉｔＮｕｍ＝ＨｉｔＮｕｍ＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][０][ｋ]    ・・・式（７）
ステップＳ９０４で、計算部２０７は、次の式（８）によりミスヒット数をカウントする。
ＭｉｓｓＨｉｔＮｕｍ＝ＭｉｓｓＨｉｔＮｕｍ＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][０][ｋ]    ・・・式（８）
ステップＳ９０５で、計算部２０７は、次の条件を満たすかを判定する。
ｋ×１６＜垂直方向の動きベクトルの最大値
この条件を満たす場合（ステップＳ９０５−ＹＥＳ）ステップＳ９０６に進み、この条件を満たさない場合（ステップＳ９０５−ＮＯ）この計算処理を終了する。
【０１１０】
ステップＳ９０６で、計算部２０７は、ｋ＝ｋ＋１とし、ステップＳ９０２に戻る。なお、下方向のヒット数及びミスヒット数のカウントについて、計算部２０７は、現在のＭＢラインに対し、下方向として処理しているため、範囲内かどうかの判定式が上方向とは一部異なる。
【０１１１】
計算部２０７は、まず、垂直方向の動きベクトルが０のＭＢの個数を取り出す。下方向には予めキャッシュするＭＢライン数（１以上）が固定されており、垂直方向の動きベクトルが０のＭＢについては必ずヒットとなる。
【０１１２】
計算部２０７は、次に、垂直方向の動きベクトルが下方向に０より大きいかつ１６以下となっているＭＢの個数を取り出し、下方向のＭＢラインの設定値の範囲内であればヒットと判定し、範囲外であればミスヒットと判定する。
【０１１３】
計算部２０７は、この処理を垂直方向の下向きの動きベクトルの最大値まで繰り返す。動きベクトルの最大値は、例えば、動きベクトル統計情報内の下向きの最大値である。
【０１１４】
これにより、上方向でカウントしたヒット数及びミスヒット数に下方向のヒット数とミスヒット数を累積することで、上下方向のヒット数及びミスヒット数をカウントすることができる。
【０１１５】
なお、ここでは、動きベクトル０については、下方向の一部としてカウントしているが、上方向の一部としてカウントすることも可能であり、動きベクトル０を他の動きベクトルと独立して処理することも可能である。
【０１１６】
これにより、動きベクトルの統計情報とデコード画像の圧縮見積もり値とに基づき計算されたミスヒット率を用いて、ローカルデコード画像を圧縮するか否かを決定することができる。
【０１１７】
以上、実施例１によれば、ピクチャ単位でのデコード画像の圧縮データの見積もり値、動きベクトル統計情報に基づき、局所復号画像を圧縮するか否かを決めることで、圧縮の処理単位でのキャッシュミスヒットによるメモリアクセスの増加を防ぐことができる。
【０１１８】
［実施例２］
次に、実施例２におけるトランスコード装置について説明する。実施例２では、ＭＢライン単位でローカルデコード画像を圧縮するか否かを決定する。なお、実施例２でのトランスコード装置の構成は、図６に示す実施例１の構成と同様であるので、以下、同じ符号を用いて説明する。
【０１１９】
＜動作＞
実施例２における、圧縮見積もりサイズ、及び動きベクトルの統計情報の取得については、実施例１と同様であるのでその説明を省略する。
【０１２０】
（圧縮するか否かの判定）
図１９は、実施例２における圧縮又は非圧縮の判定処理の一例を示すフローチャートである。まず、図１９に示す処理は、ＭＢライン単位で行う。圧縮部２１３による事前設定は、実施例１と同様であり、Ｌとαとが設定される。
【０１２１】
図１９に示すステップＳ１００１で、圧縮対象のローカルデコード画像（現ピクチャ）は、参照画であるかを判定する。現ピクチャが参照画であれば（ステップＳ１００１−ＹＥＳ）ステップＳ１００３に進み、現ピクチャが参照画でなければ（ステップＳ１００１−ＮＯ）ステップＳ１００２に進む。
【０１２２】
ステップＳ１００２で、圧縮部２１３は、１枚のローカルデコード画像を第１メモリ２０５に書き込まずに、次のピクチャの処理に移る。
【０１２３】
ステップＳ１００３で、圧縮部２１３は、現ピクチャに対するミスヒット率を計算部２０７から取得する。ミスヒット率の計算処理は、図２０〜２３を用いて後述する。なお、ミスヒット率は、ＭＢライン毎に計算される。
【０１２４】
ステップＳ１００４で、圧縮部２１３は、カレントＭＢラインを０に設定する。ステップＳ１００５で、カレントＭＢラインのミスヒット率が閾値Ｂ未満であるかを判定する。カレントＭＢラインのミスヒット率が閾値Ｂ以上であれば（ステップＳ１００５−ＮＯ）ステップＳ１００７に進み、カレントＭＢラインのミスヒット率が閾値Ｂ未満であれば（ステップＳ１００５−ＹＥＳ）ステップ１００６に進む。閾値Ｂは、例えば２０％である。
【０１２５】
ステップＳ１００６で、圧縮部２１３は、ローカルデコード画像のカレントＭＢラインを圧縮して第１メモリ２０５に書き込む。ここでの圧縮方法は、公知の圧縮方法のいずれか１つを用いればよい。なお、見積もり部２０３と同じ圧縮方法を用いるのが望ましい。
【０１２６】
ステップＳ１００７で、圧縮部２１３は、ローカルデコード画像のカレントＭＢラインを圧縮せずに第１メモリ２０５に書き込む。
【０１２７】
これにより、ピクチャ単位よりも細かいＭＢライン単位で、ローカルデコード画像の圧縮又は非圧縮を判定するので、さらに、圧縮の処理単位でのキャッシュミスヒットによるメモリアクセスの増加を防ぐことができる。
【０１２８】
（キャッシュミスヒット率の計算処理）
次に、キャッシュミスヒット率の計算処理について説明する。図２０は、実施例２におけるキャッシュミスヒット率の計算処理の一例を示すフローチャートである。実施例２では、ミスヒット率は、ＭＢライン単位で求める。
【０１２９】
図２０に示すステップＳ１１０１〜Ｓ１１０４は、図１３に示すステップＳ４０１〜Ｓ４０４と同様であるので、その説明を省略する。
【０１３０】
ステップＳ１１０５で、計算部２０７は、ＭＢライン毎にヒット数／ミスヒット数を計算する。この処理の詳細は、図２１〜２３を用いて後述する。
【０１３１】
ステップＳ１１０６で、計算部２０７は、ＭＢ＿ｌｉｎｅＩＤを１インクリメントし、ステップＳ１１０２に戻る。ステップＳ１１０２でＮＯと判定されるまで、ＭＢライン毎にヒット数／ミスヒット数がカウントされる。
【０１３２】
ステップＳ１１０７で、計算部２０７は、ＭＢ＿ｌｉｎｅＩＤを０に設定する。ステップＳ１１０８で、次の条件を満たすかを判定する。
ＭＢ＿ｌｉｎｅＩＤ＝ＭＢ＿ｌｉｎｅＮｕｍ
この条件を満たす場合（ステップＳ１１０８−ＹＥＳ）処理を終了し、この条件を満たさない場合（ステップＳ１１０８−ＮＯ）ステップＳ１１０９に進む。
【０１３３】
ステップＳ１１０９で、計算部２０７は、１ＭＢライン分のミスヒット数やヒット数をカウントに基づき、次の式（９）によりＭＢライン毎のミスヒット率を計算する。
ミスヒット率[ＭＢ＿ｌｉｎｅＩＤ]（％）＝１００×ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ]／（ＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ]＋ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ]）      ・・・式（９）
計算部２０７は、計算したミスヒット率[ＭＢ＿ｌｉｎｅＩＤ]を圧縮部２１３に出力する。
【０１３４】
ステップＳ１１１０で、計算部２０７は、ＭＢ＿ｌｉｎｅＩＤを１インクリメントし、ステップＳ１１０８に戻る。
【０１３５】
なお、図２０に示す処理では、ミット数及びミスヒット数のカウントと、ミスヒット率の計算を分けて記載したが、ステップＳ１１０５の後にステップＳ１１０９を行って、その都度、ＭＢライン毎のミスヒット率を計算するようにしてもよい。
【０１３６】
（ヒット数及びミスヒット数の計算）
次に、実施例２におけるヒット数及びミスヒット数の計算方法について説明する。図２１は、実施例２におけるミスヒット数の計算処理の一例を示すフローチャートである。図２１に示すステップＳ１２０１で、計算部２０７は、上方向のヒット数及びミスヒット数を計算する。この処理は、図２２を用いて後述する。
【０１３７】
ステップＳ１２０２で、計算部２０７は、下方向のヒット数及びミスヒット数を計算する。この処理は、図２３を用いて後述する。なお、ステップＳ１２０１とステップＳ１２０２とは、順序は問わない。
【０１３８】
（上方向のヒット数及びミスヒット数の計算）
次に、実施例２における上方向のヒット数及びミスヒット数の計算について説明する。図２２は、実施例２における上方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャートである。ステップＳ１３０１で、計算部２０７は、ｍ＝０とする。
【０１３９】
ステップＳ１３０２で、計算部２０７は、次の条件を満たすかを判定する。
ｍ＋１≦Ｃａｃｈｅ＿ＵＰ＿ＭＢｌｉｎｅ
この条件を満たす場合（ステップＳ１３０２−ＹＥＳ）ステップＳ１３０３に進み、この条件を満たさない場合（ステップＳ１３０２−ＮＯ）ステップＳ１３０４に進む。
【０１４０】
ステップＳ３０３で、計算部２０７は、次に式（１０）によりヒット数をカウントする。
ＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ−ｍ]＝ＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ−ｍ]＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][１][ｍ]    ・・・式（１０）
ステップＳ８０４で、計算部２０７は、次の式（１１）によりミスヒット数をカウントする。
ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ−ｍ]＝ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ−ｍ]＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][１][ｍ]    ・・・式（１１）
ステップＳ１３０５で、計算部２０７は、次の条件を満たすかを判定する。
ｍ×１６＜垂直方向の動きベクトルの最大値
この条件を満たす場合（ステップＳ１３０５−ＹＥＳ）ステップＳ１３０６に進み、この条件を満たさない場合（ステップＳ１３０５−ＮＯ）この計算処理を終了する。
【０１４１】
ステップＳ１３０６で、計算部２０７は、ｍ＝ｍ＋１とし、ステップＳ１３０２に戻る。これにより、上方向のＭＢライン毎に参照されるときのヒット数及びミスヒット数をカウントすることができる。
【０１４２】
（下方向のヒット数及びミスヒット数の計算）
次に、実施例２における下方向のヒット数及びミスヒット数の計算について説明する。図２３は、実施例２における下方向のヒット数及びミスヒット数の計算処理の一例を示すフローチャートである。ステップＳ１４０１で、計算部２０７は、ｋ＝０とする。
【０１４３】
ステップＳ１４０２で、計算部２０７は、次の条件を満たすかを判定する。
ｋ＋１≦Ｌ
この条件を満たす場合（ステップＳ１４０２−ＹＥＳ）ステップＳ１４０３に進み、この条件を満たさない場合（ステップＳ１４０２−ＮＯ）ステップＳ１４０４に進む。
【０１４４】
ステップＳ１４０３で、計算部２０７は、次に式（１２）によりヒット数をカウントする。
ＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ＋ｋ]＝ＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ＋ｋ]＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][０][ｋ]    ・・・式（１２）
ステップＳ１４０４で、計算部２０７は、次の式（１３）によりミスヒット数をカウントする。
ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ＋ｋ]＝ＭｉｓｓＨｉｔＮｕｍ[ＭＢ＿ｌｉｎｅＩＤ＋ｋ]＋動きベクトル数[ＭＢ＿ｌｉｎｅＩＤ][０][ｋ]    ・・・式（１３）
ステップＳ１４０５で、計算部２０７は、次の条件を満たすかを判定する。
ｋ×１６＜垂直方向の動きベクトルの最大値
この条件を満たす場合（ステップＳ１４０５−ＹＥＳ）ステップＳ１４０６に進み、この条件を満たさない場合（ステップＳ１４０５−ＮＯ）この計算処理を終了する。
【０１４５】
ステップＳ１４０６で、計算部２０７は、ｋ＝ｋ＋１とし、ステップＳ１４０２に戻る。
【０１４６】
これにより、下方向のＭＢライン毎に参照されるときのヒット数及びミスヒット数をカウントすることができる。
【０１４７】
以上、実施例２によれば、ＭＢライン単位でローカルデコード画像を圧縮するか否かを決定することができ、より、圧縮の処理単位でのキャッシュミスヒットによるメモリアクセスの増加を防ぐことができる。
【０１４８】
［変形例］
前述した各実施例において、スケーリング処理は必ずしも必要ではない。また、前述した各実施例では、ＭＢのスキャン順が左から右を優先して上から下であることを前提にしたため、水平方向のＭＢライン単位の圧縮見積もりサイズ、垂直方向の動きベクトルの統計情報を取得した。しかし、仮に、ＭＢのスキャン順が上から下を優先して左から右であることを考えた場合、垂直方向のＭＢライン単位の圧縮見積もりサイズ、水平方向の動きベクトルの統計情報を取得するようにしてもよい。また、圧縮の処理単位は、ピクチャ単位、又はＭＢライン単位のいずれかを選択可能にしておけばよい。
【０１４９】
以上、各実施例や変形例について詳述したが、特定の実施例や変形例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施例や変形例以外にも種々の変形及び変更が可能である。
【０１５０】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記１）
符号化画像から復号した動きベクトルの統計情報を取得し、該符号化画像を復号する復号部と、
前記復号部により復号された復号画像を圧縮し、圧縮後のサイズを見積もる見積もり部と、
前記復号画像を符号化する際、第１メモリに記憶された局所復号画像のうちの一部を第２メモリに記憶し、前記第２メモリ内の局所復号画像の一部を用いて符号化する符号化部と、
前記圧縮後のサイズ及び前記動きベクトルの統計情報に基づき、前記符号化部により符号化された画像の局所復号画像を圧縮するか否かを決定し、圧縮後又は非圧縮の局所復号画像を前記第１メモリに記憶する圧縮部と、
を備えるトランスコード装置。
（付記２）
前記第２メモリ内の局所復号画像の一部に前記符号化部で参照するデータがない確率を示すミスヒット率を、前記圧縮後のサイズ及び前記動きベクトル情報に基づき計算する計算部をさらに備え、
前記圧縮部は、
前記ミスヒット率と閾値との比較結果に応じて前記局所復号画像を圧縮するか否かを決定する付記1記載のトランスコード装置。
（付記３）
前記計算部は、
前記動きベクトルの統計情報から、前記見積もり部により見積もられた圧縮後のサイズが前記第２メモリのサイズ以下である復号画像の一部を参照する動きベクトルの数、及び該復号画像の一部以外の部分を参照する動きベクトルの数を計算して前記ミスヒット率を計算する付記２記載のトランスコード装置。
（付記４）
前記圧縮部は、
圧縮するか否かを決定する単位を、ピクチャ単位又はマクロブロックライン単位のいずれかを選択可能とする付記１乃至３いずれか一項に記載のトランスコード装置。
（付記５）
符号化画像から復号した動きベクトルの統計情報を取得し、該符号化画像を復号し、
復号された復号画像を圧縮して圧縮後のサイズを見積もり、
前記復号画像を符号化する際、第１メモリに記憶された局所復号画像のうちの一部を第２メモリに記憶して前記第２メモリ内の局所復号画像の一部を用いて符号化し、
前記圧縮後のサイズ及び前記動きベクトルの統計情報に基づき、符号化された画像の局所復号画像を圧縮するか否かを決定し、圧縮後又は非圧縮の局所復号画像を前記第１メモリに記憶するトランスコード方法。
【符号の説明】
【０１５１】
１０１、２０１  復号部
１０３、２０５  第１メモリ
１０５、２０９  スケーラ部
１０７、２１１  符号化部
１０９、２１３  圧縮部
１１１、２１５  第２メモリ
１１３、２１７  展開部
１１５、２１９  動き探索部
２０３  見積もり部
２０７  計算部
【図１】
0005736863.tif 000002
【図２】
0005736863.tif 000003
【図３】
0005736863.tif 000004
【図４】
0005736863.tif 000005
【図５】
0005736863.tif 000006
【図６】
0005736863.tif 000007
【図７】
0005736863.tif 000008
【図８】
0005736863.tif 000009
【図９】
0005736863.tif 000010
【図１０】
0005736863.tif 000011
【図１１】
0005736863.tif 000012
【図１２】
0005736863.tif 000013
【図１３】
0005736863.tif 000014
【図１４】
0005736863.tif 000015
【図１５】
0005736863.tif 000016
【図１６】
0005736863.tif 000017
【図１７】
0005736863.tif 000018
【図１８】
0005736863.tif 000019
【図１９】
0005736863.tif 000020
【図２０】
0005736863.tif 000021
【図２１】
0005736863.tif 000022
【図２２】
0005736863.tif 000023
【図２３】
0005736863.tif 000024