(57)【特許請求の範囲】
【請求項１】
フィールド符号化及びフレーム符号化をブロック単位に切り替えて，参照フレームから予測画像を作成する際に有効領域外を参照可能とする画像圧縮装置のデータ処理方法であって，前記画像圧縮装置が，
動きベクトルを用いて予測画像を作成する動き補償処理において，参照フレームの有効画素領域内および有効画素領域外の各々に対応する参照画素位置の算出項であって前記算出項各々が与えられた論理画素の位置に応じて当該算出項の演算結果が無効となるように設定された異なる係数を含むものを持つ演算式を用いて，参照フレームの参照画素位置を得る
ことを特徴とするデータ処理方法。
【請求項２】
前記係数では，予め，前記参照フレームの有効画素領域内と有効画素領域外との境界で正負符号が転換する境界値が設定され，与えられた前記論理画素の位置および設定された前記境界値に基づいて論理演算の真または偽を示す値が決定される
ことを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
フィールド符号化及びフレーム符号化をブロック単位に切り替えて，参照フレームから予測画像を作成する際に有効領域外を参照可能とする画像圧縮装置のデータ処理プログラムであって，
前記画像圧縮装置に，
動きベクトルを用いて予測画像を作成する動き補償処理において，参照フレームの有効画素領域内および有効画素領域外の各々に対応する参照画素位置の算出項であって前記算出項各々が与えられた論理画素の位置に応じて当該算出項の演算結果が無効となるように設定された異なる係数を含むものを持つ演算式を用いて，参照フレームの参照画素位置を得る，処理を実行させる
ことを特徴とするデータ処理プログラム。
【請求項４】
フィールド符号化及びフレーム符号化をブロック単位に切り替えて，参照フレームから予測画像を作成する際に有効領域外を参照可能とする画像圧縮装置であって，
動きベクトルを用いて予測画像を作成する動き補償処理において，参照フレームの有効画素領域内および有効画素領域外の各々に対応する参照画素位置の算出項であって前記算出項各々が与えられた論理画素の位置に応じて当該算出項の演算結果が無効となるように設定された異なる係数を含むものを持つ演算式を用いて，参照フレームの参照画素位置を得る動き補償部を備える
ことを特徴とする画像圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像圧縮処理にかかるデータ処理に関し，より詳しくは，画像圧縮・復号処理における動き補償処理の領域外拡張処理に関する。
【背景技術】
【０００２】
画像圧縮処理では，ピクチャ間の相関を活用した動き補償技術を用いて，データの圧縮率向上を図っている。
【０００３】
図１２に，動き補償技術を用いた画像圧縮（符号化）処理を行うシステムのブロック構成例を示し，図１３に，画像データの処理単位例を示す。
【０００４】
図１３に示すように，画像圧縮（符号化）処理は１６ｘ１６画素などのブロック単位に行われるものとする。
【０００５】
図１２に示すシステム９に画像が入力されると，まず，動き検出・符号化モード決定部９１が，動きベクトル検出や符号化モードの決定を行う。動きベクトル検出とは，現在処理中のフレームの処理中ブロックが，符号化済フレームのどこに一番似ているかの探索を行う処理である。処理中ブロックに最も類似する画像として選択された類似画像ブロックを参照画像または参照ブロックと言う。現在処理中の画素ブロックに，より類似した参照画像を選定することで，差分情報が少なくて済み，符号化効率向上につながる。また，符号化モードの決定とは，例えば，動きベクトルを使用するブロックの大きさ（１６ｘ１６，１６ｘ８，８ｘ１６，８ｘ８，など）や，画面間予測（インター予測）符号化，画面内予測（イントラ予測）符号化などの複数の符号化モードのうち，どのモードで符号化すると一番効率が良くなるかの判定を行う処理である。動き検出・符号化モード決定部９１は，複数のモードに対して発生ビット量の見積りを行い，より少ないビット量となるような判定を行う。
【０００６】
インター予測の場合には，動き補償部９２が，参照画像を作成し，イントラ予測の場合には，画面内予測部９３が，現在処理中の同一フレームの上画素または下画素等の隣接画素から参照画像を作成する。
【０００７】
ＤＣＴ量子化部９４は，参照画像と入力現画像の差分画像に対し，ＤＣＴ変換を施し，さらに量子化を行う。さらに，エントロピー符号化部９５が，符号化モード，ベクトル情報，差分情報など所定のシンタックス要素を可変長符号化する。逆量子化逆ＤＣＴ部９６は，復号フレーム作成のために，逆量子化と逆ＤＣＴを行う。これは，次回フレームの参照画像用にエンコーダ内部に符号化済画像を持っておく必要があるためである。
【０００８】
符号化制御部９７は，入力原画状況やそれまで発生したストリームのビット量などを元に今回発生させるビット量の制御を行う。
【０００９】
動き補償について，図１４を用いてさらに説明する。
【００１０】
画像ストリームデータ中にはベクトル情報と残差情報のみが符号化されている。図１４に示すｆｒａｍｅ３が現在処理中のフレームである場合に，ｆｒａｍｅ３の処理中ブロックの情報とｆｒａｍｅ２の動きベクトルにより特定される画像ブロックである参照画像との差分が残差情報となる。
【００１１】
画像復号化の場合には，図１４に示すように，復号処理でベクトル情報を用いて予測画像（ｆｒａｍｅ２の参照画像）を作成し，作成した予測画像と残差情報とを加算することで復号画像を再生している。例えば，１６ｘ１６画素ブロックごとに動きベクトルを定義し，参照画像上のベクトルの指す位置を再生時の予測画像として用いる。より類似度の高い予測画像を選択することによって圧縮効率を高めることができる。
【００１２】
さらに，参照位置は，１／２および１／４画素位置も参照できるようになっており，参照位置が１／２，１／４画素位置の場合は，フィルタ処理で補間画像を作成することでより近い参照画像の作成を可能としている。
【００１３】
次に，領域外参照について，図１５を用いて説明する。
【００１４】
動き補償をする参照先領域は，符号化済フレームの任意の位置を指定することができる。ここで，参照ブロックの一部に有効フレーム領域の範囲外（領域外）を含むような位置も参照先領域として指定可能とすることで，さらに符号化効率を高めることができる。例えば，図１５に示すように，フレームの外部からフレームの内部へ物体が徐々に入ってくるような動画において，ブロックの一部がフレーム内であり一部がフレーム外であるような位置の画像ブロック（参照ブロック）を，処理中フレームの予測画像として用いるような場合である。参照ブロックが，一部に類似するフレーム内画像を含む場合には，一部にフレーム外を含んでいたとしても符号化効率が良い場合となることが多いことによる。
【００１５】
有効フレーム領域の範囲外で画素がない部分は，有効フレーム領域の一番縁（外辺）の画素で代用する画素拡張処理が行われる。
【００１６】
なお，画素拡張処理のために符号ビットを利用した有効フレーム領域内外を区分けする手法が知られている。
【００１７】
次に，適応フレーム・フィールド符号化について図１６を用いて説明する。
【００１８】
上述の説明では，「予測画像」に「残差情報」を加算する復号処理として，１６ｘ１６画素単位などのブロック単位で行われる場合の処理例を示していた。しかし，図１６（Ａ）に示すような処理ブロック単位を単純な１６ｘ１６画素を１ブロック単位として処理する場合と，図１６（Ｂ）に示すような奇数ラインと偶数ラインを分けて別個に処理する場合との２種類の符号化方法による処理を行えるように構成しておき，これら２つの符号化処理を適応的に切り替えることによって，より予測効率の良い処理を選択でき，符号化効率を向上させることができる。
【００１９】
したがって，適応フレーム・フィールド符号化の手法を切り替える構成でのフレーム外参照処理では，画素拡張について，以下のような処理を行う。
【００２０】
参照ブロック（予測ブロック）の一部に有効フレーム領域の範囲外を含むような場合に，フレーム符号化において，参照元が１６ｘ１６画素のブロックであれば，参照ブロック内の画素がない部分（領域外画素）は，有効フレーム領域の縁の画素を単純に拡張して代用される。
【００２１】
しかし，フィールド予測の場合には，有効フレーム領域の上部の領域外および下部の領域外の参照ブロックについては，奇数フィールド及び偶数フィールドを，それぞれ別々に拡張するほうが，符号化効率が良い。これは，フィールド符号化でフィールド内の相関が高いことが多いからである。したがって，通常，現在処理中のブロックがフレーム符号化を行う場合とフィールド符号化を行う場合とで，領域外画素の拡張方法を切り替えている。従来，フレーム符号化とフィールド符号化について有効画素の有効フレーム領域から領域外へ複写するラインを決定する手法が知られている。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００１−７５５２５号公報
【特許文献２】特開平１１−２２５３３９号公報
【特許文献３】特開２００８−７８８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２３】
上述したような，適応フレーム・フィールド符号化を採用し，かつ，領域外参照を行うような符号化・復号化を行う場合には，動き補償時に実際の参照画像のアクセス位置（アクセスアドレス）を求めるための分岐処理回数が多くなってしまうという問題がある。
【００２４】
図１７は，アクセス画素位置のＹ座標を求める場合の分岐例を示す図である。
【００２５】
図１７（Ａ）に示すように，左上を原点（０，０）とするｗ×ｈ（画素）サイズの有効フレーム領域に対し，その上部及び下部に領域外が設定されているとする。
【００２６】
図１７（Ｂ）に示すように，アクセス画素位置のＹ座標のアクセスアドレスを決定する処理フロー例では，アクセスアドレスＹがフレーム上部領域外であるかの分岐処理（Ｙ＜０？），参照ブロックが有効フレーム領域の下部領域外であるかの分岐処理（Ｙ＜ｈ？），符号化が，フレーム予測であるかフィールド予測であるかの分岐処理（フィールド符号化？），フィールドが，奇数フィールドであるか偶数フィールドであるかの分岐処理（ｔｏｐフィールド？）と，最大４回の分岐判定が必要となる。
【００２７】
一方，通常プロセッサ上での分岐命令処理には非常に多くのサイクル数がかかる。これは，プロセッサのパイプライン処理において，次に実行される命令が分岐先によって変わってしまうことに起因し，いったんパイプラインが停止（パイプラインストール）するためである。近年のプロセッサは１５段程度のパイプラインを持つものもあり，分岐予測などペナルティ軽減のしくみはあるものの，予測が外れた場合は大幅なペナルティとなる。図１７に示す処理フローにおいて判定回数が４回となる場合には，分岐処理のペナルティが１５サイクルであれば，最悪６０サイクルの実行時間がかかる。
【００２８】
また，フレーム符号化・フィールド符号化のモードは，ブロックごとに切り替わるため，この判定処理が，ブロック処理ごとに毎回行われ，処理速度性能低下の一因となっている。
【００２９】
本発明の目的は，動画像符号化・復号化において適用フレーム・フィールド予測を用いた動き補償処理において，分岐処理を削減して負担の少ない処理を実現する処理技術を提供することである。
【課題を解決するための手段】
【００３０】
本発明の一態様として開示するデータ処理方法は，フィールド符号化及びフレーム符号化をブロック単位に切り替えて，参照フレームから予測画像を作成する際に有効領域外を参照可能とする画像圧縮装置のデータ処理方法であって，画像圧縮装置が，動きベクトルを用いて予測画像を作成する動き補償処理において，参照フレームの有効画素領域内および有効画素領域外の各々に対応する参照画素位置の算出項であって算出項各々が与えられた論理画素の位置に応じてその算出項の演算結果が無効となるように設定された異なる係数を含むものを持つ演算式を用いて，参照フレームの参照画素位置を得るものである。
【００３１】
また，本発明の別の態様として開示する画像圧縮装置のデータ処理プログラムは，コンピュータにより実施する画像圧縮システムまたは画像圧縮装置に，上記の処理を実行させるためのものである。さらに，本発明の別の態様として開示する画像圧縮装置は，上記の処理を実行する処理手段を備えるものである。
【発明の効果】
【００３２】
上記した画像圧縮装置のデータ処理方法，データ処理プログラム，または画像圧縮装置によれば，動画像符号化・復号化において適用フレーム・フィールド予測を用いた動き補償処理の処理負担を軽減することができる。
【図面の簡単な説明】
【００３３】
【図１】開示する画像圧縮システムが実行する動き補償処理を説明するための図である。
【図２】アクセス位置が３２ｂｉｔアドレスである場合の処理例を示す図である。
【図３】開示する画像圧縮システムの一実施例におけるブロック構成例を示す図である。
【図４】動き補償部の処理ブロック構成例を示す図である。
【図５】動き補償部の動き補償処理を説明するための図である。
【図６】アクセス位置算出部の処理フロー例を示す図である。
【図７】アドレス位置（アクセスアドレスＹ）と各ＯＮ＿ＯＦＦ係数の係数値の算出結果例を示す図である。
【図８】代用画素の位置関係例を示す図である。
【図９】代用画素の位置関係例を示す図である。
【図１０】画像圧縮システムのハードウェア構成の一例を示す図である。
【図１１】従来の一手法及び画像圧縮システムが実行する手法による動き補償処理の結果例を示す図である。
【図１２】動き補償技術を用いた画像圧縮（符号化）処理を行うシステムのブロック構成例を示す図である。
【図１３】画像データの処理単位例を示す図である。
【図１４】動き補償を説明するための図である。
【図１５】領域外参照を説明するための図である。
【図１６】適応フレーム・フィールド符号化を説明するための図である。
【図１７】アクセス画素位置のＹ座標を求める場合の分岐例を示す図である。
【発明を実施するための形態】
【００３４】
以下，本発明の一態様として開示する画像圧縮システムで実行するデータ処理方法について概説する。
【００３５】
図１を用いて，開示する画像圧縮システムが実行する動き補償処理を説明する。
【００３６】
従来手法では，図１（Ａ）に示すように，動き補償処理における参照画像のアクセス位置（アクセスアドレスＹ）の算出では，有効フレーム領域（領域ｒ１）とフレーム領域外（領域ｒ２）とを設定し，アクセスアドレスＹが領域ｒ１であるか，領域ｒ２であるかの分岐処理を行い，アクセスアドレスＹが領域ｒ１であれば演算ｆ１を行い，領域ｒ２であれば演算ｆ２を実行していた。この場合に，演算ｆ１は，領域ｒ１の場合のアクセスアドレスＹの計算式であり，演算ｆ２は，領域ｒ２の場合のアクセスアドレスＹの計算式である。
【００３７】
しかし，開示する画像圧縮システムが実行する動き補償処理では，参照画像のアクセス画素位置（アクセスアドレス）の算出を，従来の分岐処理の代わりに演算処理を用いて実行する。すなわち，開示する画像圧縮システムの動き補償処理において，以下の処理によって，アクセス位置を求める。
【００３８】
（１）  アクセス位置を示すアドレス値（アクセスアドアレス）の正負符号が，有効フレーム領域の境界で転換するような境界値（正負境界）を設定する。以下の説明では，アクセスアドレスＹを用いて説明するが，アクセスアドレスＹは，参照ブロックへのアクセス位置を示すＹ座標値である。
【００３９】
例えば，図１（Ｂ）に示すように，各領域でのアクセスアドレスＹのアドレス値の正負符号が，有効フレーム領域と領域外との境界で転換するような境界値として，アクセスアドレスＹのアドレス値ＹＹ（ＹＹ＝アドレスＹ＋または−Ｈ）が領域ｒ１の範囲であれば符号ビットが“−（１）”となり，領域ｒ２の範囲であれば符号ビットが“＋（０）”となるように境界値を設定しておく。
【００４０】
（２）  上記（１）の処理で得られたアドレス値の符号ビット（１または０）を取り出し，アクセス位置を示すアドレス値を算出する演算結果に乗算することによって，演算結果の有効無効を切り替え，有効な演算結果をアクセス位置のアドレス値とする。例えば，図１（Ｃ）に示すような演算式Ｆを用いて，アクセス位置のアドレス値（アクセスアドレスＹ）を決定する。演算式Ｆは，上記（１）の処理によって，各領域（ｒ１，ｒ２）におけるアクセスアドレスＹを計算する演算式Ｆに符号ビットまたは反転させた符号ビットを乗算する項を有している。
【００４１】
そして，上記の設定に基づいて得られたアクセスアドレスＹのアドレス値の符号ビット（１または０）を取り出し，演算式Ｆの各項でアクセスアドレスＹの演算結果に乗算して，演算式Ｆの各項の有効または無効が切り替えられ，有効な項により得られたアクセスアドレスＹをアクセス位置とする。
【００４２】
図１（Ｃ）に示す演算式Ｆでは，符号ビットが“１”すなわちアクセスアドレスＹが領域ｒ１内であれば，第１項が有効かつ第２項が無効となり，演算ｆ１の結果得られたアクセスアドレスＹがアクセス位置となる。また，符号ビットが“０”すなわちアクセスアドレスＹが領域ｒ２内であれば，第１項が無効かつ第２項が有効となり，演算ｆ２の結果得られたアクセスアドレスＹがアクセス位置となる。すなわち，アドレス値の符号を示すビット（１または０），例えば，アクセスアドレスＹが３２ｂｉｔアドレスである場合には最上位ビットによって，演算式Ｆの各項の有効／無効を切り替えることができるため，アクセスアドレスＹが属する領域を特定するという分岐処理を，簡単な演算処理だけで実現することができる。
【００４３】
図２を用いて，アクセスアドレスＹを求める具体的処理を説明する。
【００４４】
図２は，アクセス位置が３２ｂｉｔアドレスである場合の処理例であり，図２中に示すａｄｒ＿ｙを参照位置論理アドレス，ＡＤＲ＿Ｙをアクセスする物理アドレスとする。ｈｅｉｇｈｔは，フレームのＹ座標軸方向の画素数である。
【００４５】
図２（Ａ）は，フレーム内の領域である領域（ｂ）のみを表し，図２（Ｂ）は，フレーム内の領域（ｂ）と，フレーム上部の領域外である領域（ａ）及び下部の領域外である領域（ｃ）を表している。
【００４６】
ＡＤＲ＿Ｙを求める上記の演算式Ｆは，
ＡＤＲ＿Ｙ＝領域（ａ）のアドレス式  ×  ＯＮ＿ＯＦＦ係数Ａ
＋領域（ｂ）のアドレス式  ×  ＯＮ＿ＯＦＦ係数Ｂ
＋領域（ｃ）のアドレス式  ×  ＯＮ＿ＯＦＦ係数Ｃ    （式ｆ−１）
となる。
【００４７】
さらに，（ｆ−１）式における各項は，以下のとおりである。以下の各項における演算子は，“＆”がビット積，“｜”がビット和，“＞＞”が論理右シフト，“〜”がビット反転を表す。“ｉｓＦｉｅｌｄ”は符号化ビットであり，フィールド符号化の場合に１，それ以外の場合に０となる。
【００４８】
ＯＮ＿ＯＦＦ係数Ａは，領域（ａ）の場合に１，それ以外の場合に０となり，
Ａの値は，
Ａ＝（ａｄｒ＿ｙ＞＞３１）＆１      （式ｆ−２）
となる。
【００４９】
ＯＮ＿ＯＦＦ係数Ｃは，領域（ｃ）の場合に１，それ以外の場合に０となり，
Ｃの値は，
Ｃ＝（〜（（ａｄｒ＿ｙ−ｈｅｉｇｈｔ）＞＞３１））＆１      （式ｆ−３）
となる。
【００５０】
ＯＮ＿ＯＦＦ係数Ｂは，領域（ｂ）の場合に１，それ以外の場合に０となり，
Ｂの値は，
Ｂ＝（〜（Ａ｜Ｃ））＆１      （式ｆ−４）
となる。
【００５１】
アドレス式は，以下のとおりとなる。
【００５２】
領域（ａ）のアドレス式＝（ａｄｒ＿ｙ＆１）＆ｉｓＦｉｅｌｄ      （式ｆ−５）
領域（ｂ）のアドレス式＝ａｄｒ＿ｙ      （式ｆ−６）
領域（ｃ）のアドレス式＝（ｈｅｉｇｈｔ−１）＋（（（ａｄｒ＿ｙ−ｈｅｉｇｈｔ）＆１）−１）×ｉｓＦｉｅｌｄ        （式ｆ−７）
以上のようにして，開示する画像圧縮システムでは，動き補償処理において，分岐処理を置き換えて，演算式Ｆによる演算処理でアクセスアドレスＹを算出するため，プロセッサの分岐処理により生ずる処理遅延をなくすことができる。
【００５３】
以下に，開示する画像圧縮システムの実施例を説明する。
【００５４】
図３に，開示する画像圧縮システムの一実施例におけるブロック構成例を示す。
【００５５】
図３の画像圧縮システム１は，適用フレーム・フィールド予測かつフレーム領域外の画素拡張を行う動き補償処理を用いた画像圧縮を実行するシステムである。画像圧縮システム１は，動き検出・符号化モード決定部１１，動き補償部１２，画面内予測部１３，ＤＣＴ量子化部１４，エントロピー符号化部１５，逆量子化逆ＤＣＴ部１６，符号化制御部１７，フレームメモリ１８を備える。
【００５６】
動き補償部１２は，画面間予測（インター予測）の場合の参照画像を生成する。動き補償部１２は，図１（Ｂ）を用いて説明した演算処理により，参照ブロックのアクセス位置を算出する。
【００５７】
なお，画像圧縮システム１の動き検出・符号化モード決定部１１，画面内予測部１３，ＤＣＴ量子化部１４，エントロピー符号化部１５，逆量子化逆ＤＣＴ部１６，符号化制御部１７は，図１２に示すシステム９が備える動き検出・符号化モード決定部９１，画面内予測部９３，ＤＣＴ量子化部９４，エントロピー符号化部９５，逆量子化逆ＤＣＴ部９６，符号化制御部９７と，それぞれ，同様の処理を行うので，本実施例では処理の詳細についての説明を省略する。
【００５８】
本実施例において，画像圧縮システム１における画像の符号化・復号化処理では，図１３に示すように，例えば１６×１６画素を１つの処理単位（ブロック）としている。図１３に示すフレーム中のブロック内番号は，処理順序の一例を表している。このように，１フレーム画面をブロック単位に分割し，図３に示す動き補償部１２も，１ブロック処理に１回呼び出される。
【００５９】
図４は，動き補償部１２の処理ブロック構成例を示す図である。
【００６０】
動き補償部１２は，アクセス位置算出部１２１及び予測画像取得部１２２を備える。
【００６１】
アクセス位置算出部１２１は，参照画像における参照ブロックのアクセス位置（アクセスアドレス）を算出する。
【００６２】
予測画像取得部１２２は，算出したアクセス位置をもとに，フレームメモリ１８に格納されている復号済みのフレームデータから予測画像を切り出す。
【００６３】
図５を用いて，動き補償部１２の動き補償処理を説明する。
【００６４】
図５に示す内側の矩形は，有効フレーム領域（有効画素領域）を示し，有効フレーム領域の左上画素位置を座標（０，０）として，Ｘ軸方向では，右方向が正の座標値，Ｙ軸方向では，下方向が正の座標値とする。
【００６５】
（ｐｏｓＸ，ｐｏｘＹ）は，現在処理中の処理ブロックの左上画素位置を示す。（ｖｘ，ｖｙ）は，処理ブロックの動きベクトルであり，現在の処理ブロックと参照位置ブロックとの相対座標を示す。（ｒｘ，ｒｙ）は，参照ブロックの左上画素位置である。（ｐｏｓＸ，ｐｏｓＹ）及び（ｒｘ，ｒｙ）は，有効フレーム領域の左上画素位置を座標（０，０）として，Ｘ軸方向の右方向が正，Ｙ軸方向の下方向が正の値をとる。
【００６６】
アクセス位置算出部１２１は，処理ブロック位置（ｐｏｓＸ，ｐｏｓＹ），動きベクトル（ｖｘ，ｖｙ），現在処理中ブロックの符号化方法がフィールド符号化であるか，フレーム符号化であるかを示すｉｓＦｉｅｌｄを入力する。ｉｓＦｉｅｌｄは，図３に示す動き検出・符号化モード決定部１１において事前に決定されている。動きアクセス位置算出部１２１は予測画像位置（ｒｘ，ｒｙ）を出力する。
【００６７】
予測画像取得部１２２は，予測画像位置（ｒｘ，ｒｙ），復号済の参照フレームの何番目を参照するかを示すｆｒａｍｅ＿ｉｄｘ，およびｉｓＦｉｅｌｄを入力する。予測画像取得部１２２は，切り出された予測画像ｐｒｅｄ＿ｉｍｇを出力する。図１４に示すように，現在の処理ブロックにおける参照画像として使用され，この画像に差分情報を加算することで復号画像を作成する。
【００６８】
図６に，アクセス位置算出部１２１の処理フロー例を示す。
【００６９】
ステップＳ１：  アクセス位置算出部１２１は，（ｆ−１）式を用いて，アクセス位置を計算する。（ｆ−１）式は，ＯＮ＿ＯＦＦ係数の決定部分（（ｆ−２）〜（ｆ−４））及び各領域のアドレス式部分（（ｆ−５）〜（ｆ−７））で構成される。
【００７０】
アクセス位置算出部１２１は，（ｆ−２）〜（ｆ−４）式により，ＯＮ＿ＯＦＦ係数の各係数値を計算する。
【００７１】
図７に，アドレス位置（アクセスアドレスＹ）と各ＯＮ＿ＯＦＦ係数の係数値の算出結果例を示す。
【００７２】
係数値は，参照ブロックのＹ座標が有効フレーム領域の上部領域外（領域（ａ））を指す場合には，ＯＮ＿ＯＦＦ係数Ａのみが１となり，有効フレーム領域内（領域（ｂ））を指す場合には，ＯＮ＿ＯＦＦ係数Ｂのみが１となり，有効フレーム領域の下部領域外（領域（ｃ））を指す場合には，ＯＮ＿ＯＦＦ係数Ｃのみが１となる。
【００７３】
具体的な計算例として，ｈｅｉｇｈｔ＝４８０の場合の各領域での係数値算出を以下に示す。参照位置論理アドレスａｄｒ＿ｙは，符号付き３２ｂｉｔ整数である。
【００７４】
（１）  ａｄｒ＿ｙ＝−２（０ｘｆｆｆｆｆｆｆｅ）の場合に，（ｆ−２）〜（ｆ−４）式を適用すると，
ＯＮ＿ＯＦＦ係数Ａ＝（０ｘｆｆｆｆｆｆｆｅ＞＞３１）＆１＝１，
ＯＮ＿ＯＦＦ係数Ｃ
＝（〜（（０ｘｆｆｆｆｆｆｆｅ−０ｘ０００００１ｅ０）＞＞３１））＆１
＝（〜（（０ｘｆｆｆｆｆｅ１ｅ）＞＞３１））＆１＝０，
ＯＮ＿ＯＦＦ係数Ｂ＝（〜（１｜０））＆１＝０，
となる。
【００７５】
（２）  ａｄｒ＿ｙ＝４８４（０ｘ０００００１ｅ４）の場合に，（ｆ−２）〜（ｆ−４）式を適用すると，
ＯＮ＿ＯＦＦ係数Ａ＝（０ｘ０００００１ｅ４＞＞３１）＆１＝０，
ＯＮ＿ＯＦＦ係数Ｃ
＝（〜（（０ｘ０００００１ｅ４−０ｘ０００００１ｅ０）＞＞３１））＆１
＝（〜（（０ｘ０００００００４）＞＞３１））＆１＝０，
ＯＮ＿ＯＦＦ係数Ｂ＝（〜（０｜１））＆１＝０，
となる。
【００７６】
（３）  ａｄｒ＿ｙ＝１０（０ｘ０００００００ａ）の場合に，（ｆ−２）〜（ｆ−４）式を適用すると，
ＯＮ＿ＯＦＦ係数Ａ＝（０ｘ０００００００ａ＞＞３１）＆１＝０，
ＯＮ＿ＯＦＦ係数Ｃ
＝（〜（（０ｘ０００００００ａ−０ｘ０００００１ｅ０）＞＞３１））＆１
＝（〜（（０ｘｆｆｆｆｆｅ２ａ）＞＞３１））＆１＝０
ＯＮ＿ＯＦＦ係数Ｂ＝（〜（１｜０））＆１＝１，
となる。
【００７７】
ステップＳ２：  アクセス位置算出部１２１は，各領域におけるアドレス式を計算する。ＯＮ＿ＯＦＦ係数の係数値が１である項のアドレス式の計算結果が，アクセスするアクセス位置となる。
【００７８】
領域（ｂ）のアドレス値の計算では，有効フレーム領域内であるため，（ｆ−６）式により，ａｄｒ＿ｙが，そのまま，アクセスするアクセス位置（Ｙ座標のアドレス）となる。
【００７９】
領域（ａ）のアドレス値の計算では，（ｆ−５）式により，アクセス位置が求められる。
【００８０】
フレーム符号化（ｉｓＦｉｅｌｄ＝０）の場合には，Ｙ＝０の位置の画素を用いて拡張される。一方，フィールド符号化（ｉｓＦｉｅｌｄ＝１）の場合には，Ｙ座標のアドレスの絶対値が偶数であれば，Ｙ＝０の位置の画素が，Ｙ座標のアドレスの絶対値が奇数であれば，Ｙ＝１の位置の画素が，それぞれ代用画素として使用される。
【００８１】
図８に，代用画素の位置関係例を示す。図８の円形は画素を表し，円形内の数字は，画素情報を表す。Ｘ軸方向の画素の並びをラインと呼ぶ。図８の上部に示すように，有効フレーム領域の上部側の縁にあたる最外のラインを上縁ｔｏｐライン，上縁ｔｏｐラインの１つ下のラインを上縁ｂｏｔｔｏｍラインとする。
【００８２】
参照ブロックが，図２に示す上部領域外の領域（ａ）である画素拡張において，参照元がフレーム符号化である場合には，フレーム拡張処理として，予測画像の領域外に該当する範囲に対し，上縁ｔｏｐラインの画素が代用画素となり，対応する代用画素の単純コピーが行われる。図８の下左部に示すように，フレーム領域の上縁ｔｏｐラインの画素が，“０，１，２，３，４，…”である場合に，予測画像の領域外の範囲に，これらの画素“０，１，２，３，４，…”が単純にコピーされる。
【００８３】
参照元がフィールド符号化である場合には，フィールド拡張処理として，予測画像の領域外に該当する範囲に対し，下縁ｔｏｐラインと下縁ｂｏｔｔｏｍラインの画素が代用画素となり，これらのラインの画素の交互コピーが行われる。図８の下右部に示すように，フレーム領域の上縁ｔｏｐラインの画素が，“０，１，２，３，４，…”であり，上縁ｂｏｔｔｏｍラインの画素が，“２５６，２５７，２５８，２５９，２６０，…”である場合に，予測画像の領域外の範囲に，画素“０，１，２，３，４，…”と画素“２５６，２５７，２５８，２５９，２６０，…”の並びが交互にコピーされる。
【００８４】
以下に，ａｄｒ＿ｙ＝−２及びａｄｒ＿ｙ＝−３の場合の具体的な算出例を示す。
【００８５】
（１）フレーム符号化の場合に，（ｆ−５）式を適用すると，ａｄｒ＿ｙ＝−２については，
アクセスアドレス＝（０ｘｆｆｆｆｆｆｆｅ＆１）＆０＝０
となる。ａｄｒ＿ｙ＝−３については，
アクセスアドレス＝（０ｘｆｆｆｆｆｆｆｄ＆１）＆０＝０
となり，どちらも，アクセス位置は０となる。
【００８６】
（２）フィールド符号化の場合に，（ｆ−５）式を適用すると，ａｄｒ＿ｙ＝−２については，
アクセスアドレス＝（０ｘｆｆｆｆｆｆｆｅ＆１）＆１＝０
となり，ａｄｒ＿ｙ＝−３については，
アクセスアドレス＝（０ｘｆｆｆｆｆｆｆｄ＆１）＆１＝１
となり，アクセスアドレスＹ＝０またはアクセスアドレスＹ＝１がアクセスされる。
【００８７】
図２に示す領域（ｃ）のアドレス値の計算では，（ｆ−７）式により，アクセス位置が求められる。フレーム符号化（ｉｓＦｉｅｌｄ＝０）の場合に，Ｙ＝ｈｅｉｇｈｔ−１の位置の画素が代用画素として使用され，拡張される。一方，フィールド符号化（ｉｓＦｉｅｌｄ＝１）の場合には，（Ｙ座標のアドレス−ｈｅｉｇｈｔ）の値が偶数である場合は，ｈｅｉｇｈｔ−１の位置の画素が代用画素として使用される。（Ｙ座標のアドレス−ｈｅｉｇｈｔ）の値が奇数の場合は，ｈｅｉｇｈｔ−２の位置の画素が代用画素として使用される。
【００８８】
図９に，代用画素の位置関係例を示す。図９は，図８と同様，円形が画素，円形内の数字が画素情報を表し，Ｘ軸方向の画素の並びをラインと呼ぶ。図９の上部に示すように，フレーム領域下部側の縁にあたる最外のラインを下縁ｂｏｔｔｏｍラインとし，下縁ｂｏｔｔｏｍラインの１つ上のラインを下縁ｔｏｐラインとする。
【００８９】
図９の下左部に示すように，フレーム領域の下縁ｂｏｔｔｏｍラインの画素が，“７６８，７６９，７７０，７７１，７７２，…”である場合に，予測画像の領域外の範囲に，これらの画素“７６８，７６９，７７０，７７１，７７２，…”が単純にコピーされる。また，図９の下右部に示すように，フレーム領域の下縁ｔｏｐラインの画素が“５１２，５１３，５１４，５１５，５１６，…”であり，上縁ｂｏｔｔｏｍラインの画素が“７６８，７６９，７７０，７７１，７７２，…”である場合に，予測画像の領域外の範囲に，画素“５１２，５１３，５１４，５１５，５１６，…”と画素“７６８，７６９，７７０，７７１，７７２，…”の並びが交互にコピーされる。
【００９０】
以下に，ｈｅｉｇｈｔ＝４８０における，ａｄｒ＿ｙ＝４８２及びａｄｒ＿ｙ＝４８３の場合の具体的な算出例を示す。
【００９１】
（１）フレーム符号化の場合に，（ｆ−７）式を適用すると，ａｄｒ＿ｙ＝４８２の場合には，
アクセスアドレス＝（４８０−１）＋（（（４８２−４８０）＆１）−１）×０
＝４７９
となる。ａｄｒ＿ｙ＝４８３の場合には，
アクセスアドレス＝（４８０−１）＋（（（４８３−４８０）＆１）−１）×０
＝  ４７９
となる。どちらの場合も，下縁ｂｏｔｔｏｍラインがアクセス位置となる。
【００９２】
（２）フィールド符号化の場合に，（ｆ−７）式を適用すると，ａｄｒ＿ｙ＝４８２の場合には，
アクセスアドレス＝（４８０−１）＋（（（４８２−４８０）＆１）−１）×１
＝４７９＋（−１）＝４７８
となる。ａｄｒ＿ｙ＝４８３の場合には，
アクセスアドレス＝（４８０−１）＋（（（４８３−４８０）＆１）−１）×１
＝４７９＋０＝４７９
となる。下縁ｔｏｐライン，または下縁ｂｏｔｔｏｍラインがアクセス位置となる。
【００９３】
以上のように，アドレス値の最下位の値を示すビット（１または０），例えば，Ｙ座標のアドレスが３２ｂｉｔアドレスである場合には，Ｙ座標のアドレスの最下位ビットによって，拡張に用いる画素位置を特定できるため，フィールド符号化において参照画素のラインを特定する分岐処理を，簡単な演算処理だけで実現することができる。
【００９４】
図３に示す画像圧縮システム１は，専用ハードウェアまたはコンピュータにより実施することができる。図１０は，画像圧縮システム１のハードウェア構成の一例を示す図である。
【００９５】
コンピュータ２００は，例えば，演算装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１，主記憶装置２０２，補助記憶装置２０３，駆動装置２０４，ネットワーク接続装置２０５，入力装置２０６，出力装置２０７などを備え，これらの各装置がバスＢに接続されている構成である。
【００９６】
演算装置２０１は，コンピュータ２００の全体を制御し，主記憶装置２０２に格納されたプログラムに従って画像圧縮システム１に関する機能を実現する。主記憶装置２０２は，ＣＰＵ２０１に実行させるＯＳのプログラム，アプリケーションプログラム，データ等を補助記憶装置２０３から読み出して格納する。補助記憶装置２０３は，プログラム及び処理に必要なデータ等も格納する。
【００９７】
プログラムが記録された記録媒体が駆動装置２０４にセットされることにより，プログラムが，駆動装置２０４を介して補助記憶装置２０３にインストールされる。記録媒体は，例えば，ＦＤ（フレキシブルディスク），ＣＤ−ＲＯＭ，ＤＶＤ，光磁気ディスクなどの媒体である。なお，プログラムのインストールは必ずしも記録媒体により行う必要はなく，ネットワークを経由して他のコンピュータによりダウンロードすることができる。
【００９８】
ネットワーク接続装置２０５は，ネットワークに接続するためのものであり，他のコンピュータとプログラムやデータの送受信を行う。入力装置２０６は，操作指示を入力するためのものであり，例えばキーボード，マウス，タッチパネルなどである。出力装置２０７は，プログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示するものであり，例えばディスプレイなどである。
【００９９】
さらに，画像圧縮システム１は，コンピュータのソフトウェアとしても実施することができる。例えば，図３に示した各処理部の機能をコンピュータに実行させるプログラムを作成し，当該プログラムをコンピュータ２００の主記憶装置２０２に読み込ませて実行させることによって，画像圧縮システム１を実現することができる。開示した画像圧縮システム１を実現するプログラムは，ＣＤ−ＲＯＭ，ＣＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＡＭ，ＤＶＤ−ＲＷ等やフレキシブルディスク等の記録媒体だけでなく，通信回線の先に備えられた他の記憶装置やコンピュータのハードディスク等の記憶装置に記憶されるものであってもよい。
【０１００】
以上説明した，本発明の一実施形態における画像圧縮システム１を構成する要素は，任意の組合せで実現されてもよい。複数の構成要素が１つの部材として実現されてもよく，１つの構成要素が複数の部材から構成されてもよい。また，画像圧縮システム１は，上述した実施形態に限定されず，本発明の要旨を逸脱しない範囲において，各種の改良および変更を行ってもよいことは当然である。
【０１０１】
本発明の効果を説明するために，開示する画像圧縮システム１が実行する処理手法（演算方式）と従来の条件分岐を行う一手法（条件分岐方式）の処理を試行し，その結果を比較した。
【０１０２】
図１１は，従来の一手法及び画像圧縮システム１が実行する手法による動き補償処理の結果例を示す図である。
【０１０３】
ここでは，高精細（ＨＤ：Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）及び標準精細（ＳＤ：Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）の２種のフレームサイズの動画像データについて処理を行った。図１１（Ａ）は，ＨＤフレーム有効領域および領域外の拡張領域を示す図である。ＨＤフレームの有効領域サイズ（Ｗ×Ｈ＝１９２０×１０８８）に対して，各辺の領域外の範囲を１２画素ずつ拡張するものとした。なお，ＳＤフレームの場合は図示しないが，有効領域のサイズ（Ｗ×Ｈ＝７２０×４８０）についても，同様に領域外の範囲を１２画素ずつ拡張するものとした。
【０１０４】
この比較において，従来手法の算出条件は，以下のとおりとした。
【０１０５】
・分岐命令のペナルティ＝１５，
・領域の上下１２画素までのはずれをカウントする，
・判定数は，上部領域外では３，有効領域内では２，下部領域外では，４とする，
・どの画素一も，同一回数だけアクセスされたとする，
・全ての主分岐で，フィールド符号化のモード（ｆｉｅｌｄ）が選択されたとする。
【０１０６】
図１１（Ｂ）は，当該処理の試行において，Ｙ画素算出にかかるサイクル数試算を示す図である。
【０１０７】
ＨＤサイズの動画像データの処理では，従来手法（条件分岐方式）では，６８３５１０４０サイクル，本発明に係る手法（演算方式）では，４４１６７６８０サイクルであった。ＳＤサイズの動画像データの処理では，条件分岐方式では，１２５８８４８０サイクル，本発明の演算方式では，７８５６６４０サイクルであった。すなわち，本発明に係る手法は，従来手法に比べて，ＨＤで６４％，ＳＤで６２％の実行サイクル数となっている。
【０１０８】
以上のように，開示した画像圧縮システム１によれば，動画像符号化・復号化における適応フレーム・フィールド予測を用いた動き補償処理の分岐処理を削減することができ，プロセッサの処理負荷を軽減することができる。
【符号の説明】
【０１０９】
１  画像圧縮システム
１１  動き検出・符号化モード決定部
１２  動き補償部
１３  画面内予測部
１４  ＤＣＴ量子化部
１５  エントロピー符号化部
１６  逆量子化逆ＤＣＴ部
１７  符号化制御部
【図１】
0005874461.tif 000002
【図２】
0005874461.tif 000003
【図３】
0005874461.tif 000004
【図４】
0005874461.tif 000005
【図５】
0005874461.tif 000006
【図６】
0005874461.tif 000007
【図７】
0005874461.tif 000008
【図８】
0005874461.tif 000009
【図９】
0005874461.tif 000010
【図１０】
0005874461.tif 000011
【図１１】
0005874461.tif 000012
【図１２】
0005874461.tif 000013
【図１３】
0005874461.tif 000014
【図１４】
0005874461.tif 000015
【図１５】
0005874461.tif 000016
【図１６】
0005874461.tif 000017
【図１７】
0005874461.tif 000018