本発明は、動画像を対象とした画像処理システムに係り、特に、サーバ装置において時間方向を含む3次元の周波数変換を用いる符号化方式によって動画像を符号化し、その符号をクライアント装置側で受信して編集などの処理を行う画像処理システムと、それを構築するためのサーバ装置及びクライアント装置に関する。
特許文献1に、動画コンテンツを配信するサーバと、このサーバによる動画配信を制御するマネージャと、サーバより配信された動画を視聴するクライアントからなる動画配信システムが記載されている。この動画配信システムにおいては、クライアントからマネージャに番組の配信要求を送ると、その番組に関する構造情報がサーバからクライアントへ送信される。クライアント側で、その構造情報を基に編集した構造情報(再構成情報)をマネージャへ返すと、サーバから再構成情報に従って編集した番組の動画データがクライアントへ送信される。
特許文献2に、動画像を複数のシーンに分解して階層的な木構造で管理し、この木構造の変形操作によって動画像の編集を行う画像編集装置が記載されている。
画像をタイル分割し、タイル毎にウェーブレット変換を用いて圧縮するJPEG2000のような符号化方式では、符号から画像を復号すると、タイル境界に歪みが生ずることがある。特許文献3には、そのような符号の復号処理において、隣接したタイルのローパス係数とハイパス係数を利用してタイル境界付近のハイパス係数を補正することにより、タイル境界歪みを効果的に除去する方法が記載されている。
高精細の動画像の符号化方式として、各フレームをJPEG2000で符号化するMotion−JPEG2000がある。この符号化方式は、個々のフレームを独立して処理できる等の利点があるが、符号化時にフレーム間差分を用いないため、フレーム間差分を用いるMPEGなどの圧縮方式に比べ、画質の面で必ずしも有利ではない場合があり得る。その対策として、Motion−JPEG2000の動画像のような各フレームが2次元周波数変換された動画像に対し、連続したフレームの集まり(GOF;Group of Flames)毎に時間方向にウェーブレット変換のような周波数変換を行うことによって、動画像を3次元サブバンド符号化する試みがなされている。しかし、このようなGOF毎に符号化された動画像符号を復号した動画像には、GOF境界に痙攣するように揺らぐ、いわゆるGOF境界歪み(jerk)が発生するという問題が指摘されている(例えば非特許文献1参照)。
上述のように、時間方向を含む3次元の周波数変換を用いる符号化方式は、時間方向を含まない2次元の周波数変換を用いる符号化方式に比べ圧縮率の向上を期待できる。しかし、GOF分割を行わないで動画像を符号化処理して生成される符号は、符号状態での編集などが困難である。一方、GOF分割を行って動画像を符号化処理して生成される符号は、GOF境界歪みによる画質劣化が起きやすい。
本発明は、このような時間方向を含む3次元の周波数変換を用いる符号化方式の特質に配慮した新規な画像処理システムと、それを構築するための新規なサーバ装置及び新規なクライアント装置を提供することを目的とするものである。
請求項1記載の発明は、サーバ装置とクライアント装置とが伝送路を通じて相互に接続された画像処理システムであって、
前記クライアント装置は、
動画像に関する用途指定などを利用者が入力するための入力手段と、
前記用途指定を前記サーバ装置へ通知する手段と、
動画像符号を前記サーバ装置より受信する手段と、
前記サーバ装置より受信した動画像符号に対し前記用途指定に対応した処理を行う ための処理手段と、
を有し、
前記サーバ装置は、
動画像に対し、連続した所定数フレーム(GOF)毎に分割して又は分割せずに、 時間方向を含む3次元の周波数変換を用いる符号化処理を実行して動画像符号を生 成する符号化処理手段と、
前記符号化処理手段により生成された動画像符号を前記クライアント装置へ送信す る手段と、
前記クライアント装置から通知された前記用途指定に応じて前記符号化処理手段の 符号化処理において動画像をGOF毎に分割するか否かを制御する制御手段と、
を有する、
ことを特徴とする画像処理システムである。
請求項2記載の発明は、請求項1記載の発明に係る画像処理システムであって、前記用途指定が動画像の編集を指定するものである場合に、前記サーバ装置において前記符号化処理手段によってGOF毎に分割した符号化処理が実行され、前記クライアント装置において前記処理手段によって、前記サーバ装置より受信された動画像符号に対し、前記入力手段により入力される編集指示に従ってGOF単位の編集処理が実行されることを特徴とする画像処理システムである。
請求項3記載の発明は、請求項1記載の発明に係る画像処理システムであって、前記用途指定が動画像の鑑賞を指定するものである場合に、前記サーバ装置において前記符号化処理手段によってGOF毎に分割しない符号化処理が実行され、前記クライアント装置において前記処理手段によって、前記サーバ装置より受信された動画像符号に対し動画像の通常表示のための復号処理が実行され、該復号処理により生成された動画像の通常表示のためのフレームデータが表示手段に表示されることを特徴とする画像処理システムである。
請求項4記載の発明は、請求項2記載の画像処理システムであって、前記用途指定が動画像の編集を指定するものである場合に、前記クライアント装置において前記処理手段により、前記編集処理に先だって、前記サーバ装置より受信された動画像符号に対し動画像のサムネイル表示のための部分復号処理が実行され、該部分復号処理により生成された動画像のサムネイル表示のためのフレームデータが表示手段に表示されることを特徴とする画像処理システムである。
請求項5記載の発明は、請求項2又は4記載の発明に係る画像処理システムであって、前記用途指定が動画像の編集を指定するものである場合に、前記クライアント装置において前記処理手段により、前記編集処理の後に編集後の動画像符号に対し動画像の通常表示のための復号処理が実行され、該復号処理における時間方向の逆周波数変換の際に、GOF境界付近の高周波係数に対しGOF境界歪み抑制のための係数補正が施され、該復号処理により生成された動画像の通常表示のためのフレームデータが表示手段に表示されることを特徴とする画像処理システムである。
請求項6記載の発明は、請求項5記載の発明に係る画像処理システムであって、前記クライアント装置において、前記入力手段によりGOF境界歪み抑制を行う指定が入力された場合にのみ、前記GOF境界歪み抑制のための係数補正が行われることを特徴とする画像処理システムである。
請求項7記載の発明は、請求項5記載の発明に係る画像処理システムであって、前記クライアント装置において、前記GOF境界歪み抑制のための係数補正は、GOFに付けられたシーン番号が連続しないGOF間では行われないことを特徴とする画像処理システムである。
請求項8記載の発明は、請求項5記載の発明に係る画像処理システムであって、前記クライアント装置において、前記GOF境界歪み抑制のための係数補正は、所定階層より上位階層の周波数係数については行われないことを特徴とする画像処理システムである。
請求項9記載の発明は、請求項5記載の発明に係る画像処理システムであって、前記クライアント装置において、前記GOF境界歪み抑制のための係数補正は、量子化ステップ数が所定値以下の周波数係数については行われないことを特徴とする画像処理システムである。
請求項10記載の発明は、伝送路を通じてクライアント装置と接続されるサーバ装置であって、
動画像に対し、連続した所定数フレーム(GOF)毎に分割して又は分割せずに、時間方向を含む3次元の周波数変換を用いる符号化処理を実行して動画像符号を生成する符号化処理手段と、
前記符号化処理手段により生成された動画像符号を前記クライアント装置へ送信する手段と、
前記クライアント装置から通知された動画像に関する用途指定に応じて、前記符号化処理手段の符号化処理において動画像をGOF毎に分割するか否かを制御する制御手段と、を有することを特徴とするサーバ装置である。
請求項11記載の発明は、請求項10記載の発明に係るサーバ装置であって、前記用途指定が動画像の編集を指定するものである場合に、前記符号化処理手段によってGOF毎に分割した符号化処理が実行されることを特徴とするサーバ装置である。
請求項12記載の発明は、請求項10記載の発明に係るサーバ装置であって、前記用途指定が動画像の鑑賞を指定するものである場合に、前記符号化処理手段によってGOF毎に分割しない符号化処理が実行されることを特徴とするサーバ装置である。
請求項13記載の発明は、伝送路を通じてサーバ装置と接続されるクライアント装置であって、
動画像に関する用途指定などを利用者が入力するための入力手段と、
前記入力手段により入力された用途指定を前記サーバ装置へ通知する手段と、
前記サーバ装置より前記用途指定に応じて選択されて送信される、動画像に対し連続した所定数フレーム(GOF)毎に分割して時間方向を含む3次元の周波数変換を用いる符号化処理を実行することにより生成された動画像符号、又は、動画像に対しGOF毎に分割をしないで時間方向を含む3次元の周波数変換を用いる符号化処理を実行することにより生成された動画像符号のいずれかを受信する手段と、
前記サーバ装置より受信した動画像符号に対し、前記用途指定に対応した処理を行うための処理手段と、
を有することを特徴とするクライアント装置である。
請求項14記載の発明は、請求項13記載の発明に係るクライアント装置であって、前記用途指定が動画像の編集を指定するものである場合に、前記サーバ装置より受信された、GOF毎に分割した符号化処理により生成された動画像符号に対し、前記処理手段によって、前記入力手段により入力される編集指示に従ったGOF単位の編集処理が実行されることを特徴とするクライアント装置装置である。
請求項15記載の発明は、請求項13と記載の発明に係るクライアント装置であって、前記用途指定が動画像の鑑賞を指定するものである場合に、前記サーバ装置より受信された、GOFに分割しない符号化処理により生成された動画像符号に対し、前記処理手段によって動画像の通常表示のための復号処理が実行され、該復号処理により生成された動画像の通常表示のためのフレームデータが表示手段に表示されることを特徴とするクライアント装置である。
請求項16記載の発明は、請求項14記載の発明に係るクライアント装置であって、前記用途指定が動画像の編集を指定するものである場合に、前記処理手段により、前記編集処理に先だって、前記サーバ装置より受信された動画像符号に対し動画像のサムネイル表示のための部分復号処理が実行され、該部分復号処理により生成された動画像のサムネイル表示のためのフレームデータが表示手段に表示されることを特徴とするクライアント装置である。
請求項17記載の発明は、請求項14又は16記載の発明に係るクライアント装置であって、前記用途指定が動画像の編集を指定するものである場合に、前記処理手段により、前記編集処理の後に編集後の動画像符号に対し動画像の通常表示のための復号処理が実行され、該復号処理における時間方向の逆周波数変換の際に、GOF境界付近の高周波係数に対し、GOF境界歪み抑制のための係数補正が施され、該復号処理により生成される動画像の通常表示のためのフレームデータが表示手段に表示されることを特徴とするクライアント装置である。
請求項18記載の発明は、請求項17記載のクライアント装置であって、前記入力手段によりGOF境界歪み抑制を行う指定が入力された場合にのみ、前記GOF境界歪み抑制のための係数補正が行われることを特徴とするクライアント装置である。
請求項19記載の発明は、請求項17記載のクライアント装置であって、前記GOF境界歪み抑制のための係数補正はGOFに付けられたシーン番号が連続しないGOF間では行われないことを特徴とするクライアント装置である。
請求項20記載の発明は、請求項17記載の発明に係るクライアント装置であって、前記GOF境界歪み抑制のための係数補正は、所定階層より上位階層の周波数係数については行われないことを特徴とするクライアント装置である。
請求項21記載の発明は、請求項17記載の発明に係るクライアント装置であって、前記GOF境界歪み抑制のための係数補正は、量子化ステップ数が所定値以下の周波数係数については行われないことを特徴とするクライアント装置である。
請求項22記載の発明は、請求項10,11又は12記載の発明に係るサーバ装置の各手段としてコンピュータを機能させるプログラムである。
請求項23記載の発明は、請求項13乃至21のいずれか1項記載の発明に係るクライアント装置の各手段としてコンピュータを機能させるプログラムである。
請求項24記載の発明は、請求項22又は23記載の発明に係るプログラムが記録されたコンピュータが読み取り可能な情報記録媒体である。
(1)請求項1記載の発明に係る画像処理システムによれば、クライアント装置側で、その利用者により入力された動画像に関する用途指定に適した、GOF分割した符号化処理により生成された動画像符号又はGOF分割しない符号処理により生成された動画像符号をサーバ装置より受信し、用途指定に対応した処理を行うことができる。
(2)請求項2記載の発明に係る画像処理システムによれば、クライアント装置側で動画像の編集を行いたい場合には、符号状態でのGOF単位の編集が容易なGOF分割した動画像符号を受信し、その編集を容易に実行することができる。
(3)請求項3記載の発明に係る画像処理システムによれば、クライアント装置側で動画像の鑑賞を行いたい場合には、GOF境界歪みがなく画質的に優れたGOF分割しない動画像符号を受信して復号し、高画質の動画像を表示することができる。
(4)請求項4記載の発明に係る画像処理システムによれば、クライアント装置側で編集に先立って動画像がサムネイル表示されるため、動画像の内容を確認しつつ編集を容易かつ的確に行うことができる。また、動画像符号はGOF分割されたものであるため、サムネイル表示のための部分復号はGOF単位で高速に行うことができる。
(5)請求項5記載の発明に係る画像処理システムによれば、クライアント装置側で、GOF分割された動画像符号よりGOF境界歪みを抑制した動画像を復号し表示させることができる。
(6)請求項6記載の発明に係る画像処理システムによれば、クライアント装置の利用者の選択により、GOF境界歪み抑制のための係数補正を行わせて歪みの抑制した動画像を表示させることも、GOF境界歪み抑制のための係数補正を行わせず、その分だけ処理を高速化させることもできる。
(7)請求項7記載の発明に係る画像処理システムによれば、編集によって入れ替えられたGOFなどにおける、GOF境界歪み抑制のための係数補正による副作用を避けることができる。
(8)請求項8,9記載の発明に係る画像処理システムによれば、GOF境界歪みの抑制効果を損なうことなく、GOF境界歪み抑制のための係数補正に係る処理量を削減し、また係数補正による副作用を避けることができる。
(10)請求項10乃至21記載の発明に係るサーバ装置及びクライアント装置を利用することにより、請求項1乃至9記載の発明に係る画像処理システムを容易に実現することができる。
(11)請求項22,23記載の発明に係るプログラムをコンピュータにロードし、又は、請求項24記載の発明に係る情報記録媒体に記録されたプログラムをコンピュータに読み取らせることにより、コンピュータを利用して請求項10乃至21記載の発明に係るサーバ装置又はクライアント装置を容易に実現することができる。
<予備的説明>
JPEG2000により画像をタイル分割して符号化した符号を復号すると、符号化による圧縮率が高い場合にタイル境界歪みが目立つことがある。前記特許文献3記載のタイル境界歪み除去(デタイル)方法は、復号処理においてウェーブレット係数の状態でタイル境界歪みを除去しようとするものであり、そのメカニズムを理解すると、本発明におけるGOF境界歪み抑制方法の理解が容易になるであろう。
そこで、まず、JPEG2000のウェーブレット変換・逆変換、タイル境界歪みの発生要因などとともに、上記タイル境界歪み除去方法の具体例について説明する。
上記タイル境界歪み除去方法は、ウェーブレット係数空間での画像復元に類する手法である。画像復元では、失われた情報を復元するために、ある経験的な拘束条件を採用し、その条件に基づいて復元すべき解を算出する。前記特許文献3の方法においては、
(近似1)タイル境界が生じるのは圧縮率が高い場合であり、タイリングの有無にかかわ らず全てのハイパス係数は0に量子化される。
(近似2)タイリングした場合のローパス係数は、タイリングしない場合のローパス係数 に等しい。
という近似を採用し、
{(0に量子化されたが)補正されたハイパス係数を用いて逆ウェーブレット変換をした 場合のタイル境界の画素値}={ハイパス係数が0の場合の、タイリングをせずに逆 ウェーブレット変換をした場合の同じ位置の画素値}
という式から、ハイパス係数の補正値を算出している(0に量子化されたハイパス係数に対し、0でない補正値を算出する過程は画像復元である)。
以下、JPEG2000に規定されている5×3ウェーブレット変換を例にとり、上記補正式の算出について説明する。
図1乃至図4は、16×16のモノクロの画像に対して、5x3変換と呼ばれるウェーブレット変換(順変換)を2次元(垂直方向および水平方向)で施す過程の例を示したものである。
図1の様にxy座標をとり、あるxについて、y座標がyである画素の画素値をP(y)(0≦y≦15)と表す。JPEG2000では、まず垂直方向(Y座標方向)について、y座標が奇数(y=2i+1)の画素を中心にハイパスフィルタを施して係数C(2i+1)を得る。次に、y座標が偶数(y=2i)の画素を中心にローパスフィルタを施して係数C(2i)を得る(これを全てのx座標について行う)。
ここで、ハイパスフィルタは式(1)で表され、ローパスフィルタは式(2)で表される。式中の記号|_x_|はxのフロア関数(実数xを、xを越えず、かつ、xに最も近い整数に置換する関数)を示している。
式(1) C(2i+1)=P(2i+1)−|_(P(2i)+P(2i+2))/2_|
式(2) C(2i)=P(2i)+|_(C(2i-1)+C(2i+1)+2)/4_|
なお、画像の端部においては、中心となる画素に対して隣接画素群が存在しないことがあり、この場合は図6に示した「ミラリング」と呼ばれる手法によって不足する画素値を補うことになる。ミラリングは、文字通り境界を中心として画素値を線対称に折り返し、折り返した値を隣接画素群の値とみなす処理である。
簡単のため、ハイパスフィルタで得られる係数をH、ローパスフィルタで得られる係数をL、と表記すれば、前記垂直方向の変換によって図1の画像は図2のような係数の配列へと変換される。
続いて、図2の係数配列に対し、水平方向について、x座標が奇数(y=2i+1)の係数を中心にハイパスフィルタを施し、次にx座標が偶数(x=2i)の係数を中心にローパスフィルタを施す(これを全てのyについて行う)。この場合、前記式(1),(2)中のP(2i)等は係数値を表すものと読み替える。簡単のため、
前記L係数を中心にローパスフィルタを施して得られる係数をLL、
前記L係数を中心にハイパスフィルタを施して得られる係数をHL、
前記H係数を中心にローパスフィルタを施して得られる係数をLH、
前記H係数を中心にハイパスフィルタを施して得られる係数をHH、
と表記すれば、図2の係数配列は、図3の様な係数配列へと変換される。ここで、同一の記号を付した係数群はサブバンドと呼ばれる。すなわち、図3は4つのサブバンドで構成される。
以上で、1回のウェーブレット変換(1回のデコンポジション(分解))が終了し、LL係数だけを集めると(図4の様にサブバンド毎に係数を集め、LLサブバンドだけ取り出すと)、ちょうど原画像の1/2の解像度の“画像”が得られる(このように、サブバンド毎に分類することをデインターリーブと呼び、図3のような状態に配置することをインターリーブと呼ぶ)。
また、2回目のウェーブレット変換は、上記LLサブバンドを原画像と見なして、上記と同様の変換を行えばよい。この場合、デインターリーブすると模式的な図5が得られる。図4及び図5の係数の接頭の1や2は、その係数が何回のウェーブレット変換で得られたかを示しており、これはデコンポジションレベルと呼ばれる。なお、以上の議論において、1次元のみのウェーブレット変換をしたい場合には、いずれかの方向だけの処理を行えばよい。
一方、逆ウェーブレット変換は、図3の様なインターリーブされた係数の配列に対し、まず水平方向について、x座標が偶数(x=2i)の係数を中心に逆ローパスフィルタを施し、次に、x座標が奇数(x=2i+1)の係数を中心に逆ハイパスフィルタを施す(これを全てのyについて行う)。ここで、逆ローパスフィルタは式(3)で表され、逆ハイパスフィルタは式(4)で表される。順変換の場合と同様に、画像の端部において中心となる係数に対して隣接係数群が存在しないことがあり、この場合も図6のミラリングによって係数値を適宜補うことになる。
式(3) P(2i)=C(2i)−|_(C(2i-1)+C(2i+1)+2)/4_|
式(4) P(2i+1)=C(2i+1)+|_(P(2i)+P(2i+2))/2_|
これにより、図3の係数配列は図2のような係数配列に変換(逆変換)される。続いて、垂直方向について、y座標が偶数(y=2i)の係数を中心に逆ローパスフィルタを施し、次に、y座標が奇数(y=2i+1)の係数を中心に逆ハイパスフィルタを施せば(これを全てのxについて行う)、1回の逆ウェーブレット変換が終了し、図1の画像に戻る(再構成される)ことになる。順ウェーブレット変換が複数回施されている場合は、図1をLLサブバンドとみなし、HL等の他の係数を利用して同様の逆変換を繰り返せばよい。
以上のように、5x3の逆ウェーブレット変換ではL,H,L,Hの順にインターリーブした係数列に対し、偶数位置中心に逆ローパスフィルタをかけ、奇数位置中心に逆ハイパスフィルタをかける。
さて、前記フィルタの式(1)〜(4)をフロア関数を省略して展開すれば明らかなように、順変換と逆変換ではタップ数は逆転し、フィルタ係数もインターリーブされる。
このため、順変換のフィルタ係数が
ハイパス(HIGH): -0.5,1,-0.5
ローパス(LOW): -0.125,0.25,0.75,0.25,-0.125
の場合、逆変換のフィルタ係数は
逆ローパス(LOW): -0.25,1,-0.25
逆ハイパス(HIGH): -0.125,0.5,0.75,0.5,-0.125
となる(ここでは、フロア関数部分を考慮せずにフィルタ係数を表現している)。
「タイリングをしない場合で、かつハイパス係数が全て0のとき(近似1)」、インターリーブされた係数列
L1 H1 L2 H2 L3 H3
において、H2位置を中心に逆ハイパスフィルタをかけた値は、
-0.125H1+0.5L2+0.75H2+0.5L3−0.125H3=0.5L2+0.5L3 ‥‥(i)
となる。
一方、上記係数が、2つのタイルに分割されてから算出されたもので、H2位置がタイル境界であるとする。この場合、L1,H1,L2,H2は左側のタイルの係数、L3,H3は右側のタイルの係数になる。ここで、H2は、順変換(3タップのハイパスフィルタ)時にミラリングの影響を受けており、補正の対象となる係数である。タイリングは、各タイル内の画素だけを用いてウェーブレット変換を行う処理、あるいは、各タイル内の係数だけを用いて逆ウェーブレット変換を行う処理であるため、ミラリングによって左タイルの係数
L1 H1 L2 H2
を右側に補った場合
L1 H1 L2 H2 L2 H1
となる。
よって、H2位置を中心に逆ハイパスフィルタをかけた値は、
-0.125H1+0.5L2+0.75H2+0.5L2−0.125H1=-0.25H1+L2+0.75H2‥‥(ii)
となる。
デタイルのためには、(i)=(ii)を狙うため、
式(iii) H2=1/3H1−2/3L2+2/3L3
を得る。これが、タイル境界に隣接し、順変換時にミラリングの影響を受けたハイパス係数に対する「補正式」である。ただし、この補正値の算出時には、タイリングした係数しか存在しないため、L2は左タイルの係数、L3は右タイルの係数を使用する(近似2)。
タイル境界に隣接するローパス係数(L3)に関しても同様な立式が可能であり、その結果、H3の補正式として
式(iv) H3=0
を得ることができる。ただし、デコンポジションレベル1の場合は、H3はミラリングの誤差を含まないため補正しない(デコンポジションレベル2以上の場合は、H3に隣接するL3自体が、デコンポジションレベル1でミラリングの影響を受けているため補正する)。
JPEG2000に規定された非可逆の9×7ウェーブレット変換の場合についても、上記と同様な考え方で補正式を導出できる。すなわち、インターリーブされた係数列
H0 L1 H1 L2 H2 L3 H3 L4 H4
において、H2とL3の間がタイル境界である場合、次の補正式が得られる。
式(v) H2=(-0.0535H0+0.15644H1+0.09127L1-0.59127L2
+0.59127L3-0.09127L4)/0.60295
式(iv) H3=(0.05754L2-0.05754L4+0.03372H4)/0.53372
ただし、9×7変換の場合、デコンポジションレベル1の場合も補正してよい。
次に、4タイル分割、デコンポジションレベル2のJPEG2000の符号の復号処理を例に、上に述べたデタイル処理の流れを具体的に説明する。図7乃至図14は、デタイル処理の説明のための係数配列図である。なお、復号処理は、符号のエントロピー復号、復号された各サブバンド係数の逆量子化、2次元の逆ウェーブレット変換、逆色空間変換の順に処理が進むが、その2次元逆ウェーブレット変換の過程でデタイル処理が実行される。
図7は逆量子化後の4タイル分の係数配列を示しており、デコンポジションレベル2の係数2LL〜2HHはインターリーブされている。5x3変換が用いられている場合、図8に示した列Aの係数(H2対応)が式(iii)で補正され、列Bの係数(H3対応)が式(iv)で補正される。9x7変換の場合は、列Aの係数が式(v)で補正され、列Bの係数が式(vi)で補正される。このような補正後の係数に対し、水平方向の逆ウェーブレット変換が行われる(JPEG2000では、順ウェーブレット変換は垂直方向、水平方向の順に行われるため、逆ウェーブレット変換は水平方向、垂直方向の順に行われる)。この水平方向の逆変換後の係数配列を図9に示す。
次に、デコンポジションレベル2の係数のうち、図10に示す行Cの係数(H2対応)と行Dの係数(H3対応)を補正する。5x3変換の場合、行Cの係数は式(iii)で補正され、行Dの係数は式(iv)で補正される。9x7変換の場合、行Cの係数は式(v)で補正され、行Dの係数は式(vi)で補正される。このような補正後の係数に対し、垂直方向の逆ウェーブレット変換が行われ、図11の様なデコンポジションレベル1の係数がデインターリーブされた状態になる。係数をインターリーブすると図12のようになる。
図12に示すデコンポジションレベル1の係数のうち、5x3変換の場合は、図13に示す列Eの係数を式(iii)で補正する。先に述べたように5×3変換の場合、デコンポジションレベル1では、列Fの係数はミラリングの誤差を含まないため補正不要である。。一方、9x7変換の場合、列Eの係数が式(v)で補正され、列Fの係数が式(vi)で補正される。このような補正後に水平方向の逆ウェーブレット変換が行われ、図14の状態になる。そして、5x3変換の場合、図14の行Gの係数が式(iii)で補正される。9x7変換の場合、行Gの係数が式(v)で補正され、行Hの係数が式(vi)で補正される。補正後の係数に対し垂直方向の逆ウェーブレット変換が行われる。これでデタイル処理と2次元逆ウェーブレット変換処理が終了した。
<本発明の実施の形態の説明>
以下、本発明の実施の形態について説明する。図15は、本発明の実施の形態を説明するためのブロック図である。図15に示す画像処理システム100は、クライアント装置101とサーバ装置102をLAN、イントラネット、インターネットなどのネットワークの伝送路103を介して接続した構成である。
クライアント装置101は送受信部111、復号処理部112、編集処理部113、記憶部114、利用者操作部115、表示部116及び制御部117から構成される。
利用者操作部115は、動画像に関する用途指定、GOF境界歪み抑制を行うか否かの指定、編集処理部113に対する編集指示などを利用者が入力するための手段である。指定可能な用途として「鑑賞」と「編集」がある。後述のように、これ以外の用途も指定できるようにしてもよいが、ここではこの2つの用途のみを指定できるものとする。
記憶部114は、利用者操作部115を通じて利用者により入力された用途指定情報118やGOF境界歪み抑制指定情報119、サーバ装置102より受信した動画像符号、動画像符号を復号したフレームデータなどのための記憶域や、編集処理部113や復号処理部112などの作業用記憶域などを提供する手段である。送受信部111は伝送路103を介しサーバ装置102との間で各種情報や動画像符号の送受信を行うための手段である。復号処理部112は、サーバ装置102より受信した動画像符号や編集処理部113により編集後の動画像符号の復号処理を行う手段である。
表示部116は、復号処理部112により復号された画像データなどを画面表示するための手段である。好ましい態様としては、表示部116の画面表示を利用したグラフィカル・ユーザ・インターフェース(GUI)を提供し、このGUIを利用して対話的に利用者操作部115により各種の指定や指示の入力を行うように構成される。制御部117は各部の動作制御や上記GUIの制御などを行う手段である。
なお、復号処理部112と編集処理部113は、制御部117及び記憶部114とともに、動画像符号に対し用途指定に応じた処理を行うための処理手段を構成している。
サーバ装置102は送受信部131、符号化処理部132、画像入力部133、記憶部134及び制御部135から構成される。送受信部131は伝送路103を介しクライアント装置101との間で各種情報や動画像の符号の送受信を行うための手段である。画像入力部133は動画像の画像データ(フレームデータ)を例えば不図示のCCDカメラや記憶媒体などから取り込む手段である。符号化処理部132は動画像のフレームデータの符号化処理を行うための手段である。記憶部134は、画像入力部133により入力された動画像のフレームデータ、符号化処理部132により符号化された動画像符号、送受信部131によりクライアント装置131から受信された用途指定情報136などの記憶域、符号化処理部132の作業域などを提供する手段である。制御部135は各部の動作制御などを行う手段である。
図16及び図18はクライアント装置101の動作を説明するためのフローチャートであり、また図17はサーバ装置102の動作を説明するためのフローチャートである。
まず図16を参照する。クライアント装置101において、利用者は利用者操作部115により、動画像に関する用途指定を入力する(step101)。入力された用途指定の情報118は制御部17の制御により記憶部114の所定の記憶域に書き込まれる(step102)。利用者により入力された用途指定が「編集」の場合、利用者はGOF境界歪み抑制を行わせるか否かの指定を入力する(step103)。このGOF境界歪み抑制指定の情報119は、制御部117の制御により記憶部114の所定の記憶域に書き込まれる(step104)。最後に、制御部117の制御により、記憶部114に書き込まれた用途指定情報118を含むメッセージが作成され、これが送受信部111を通じてサーバ装置102へ送信される(step105)。このメッセージはサーバ装置102の送受信部131によって受信され、当該メッセージ中の用途指定情報136(用途指定情報118と同内容)が制御部135の制御により記憶部134の所定の記憶域に書き込まれる。
次に図17を参照し、サーバ装置102の符号生成・送信動作を説明する。まず画像入力部133によって動画像のフレームデータが入力され、記憶部134に記憶される(step111)。制御部135は、用途指定情報136を参照し、クライアント装置側で指定された動画像の用途が何であるかを判定する(step112)。ここでは指定される用途は「編集」又は「鑑賞」のいずれかであるとして説明する。
用途指定が「編集」であるならば、制御部135により符号処理部132に対しGOF毎に分割した符号化処理を実行するように指示され(step113)、符号化処理部132において記憶部134に蓄積されている動画像のフレームデータに対しGOF毎に分割した符号化処理が実行される(step114)。この符号化処理においては、フレームデータに対し3次元の周波数変換(ここではウェーブレット変換が用いられる)が施されるが、その奥行き方向が時間方向である。そして、GOF分割を行う符号化処理においては、図19に模式的に示すように、動画像のフレーム系列を連続した所定数フレーム(ここでは8フレーム)のGOFに分割し、GOF毎に時間方向のウェーブレット変換(順変換)が施される。GOFには、図19に示すように0,1,...というように連続した番号(シーン番号)が付けられる。
このようなGOF毎に分割した符号化処理により生成される符号のフォーマットの一例を図21に示す。すなわち、コードストリームの開始タグ(SOC)150の後に符号全体のタグ情報であるメインヘッダ(MH)151が続き、その後に各GOFパート152がシーン順に並び、終了タグ(EOC)152で終わる。各GOFパート152は、該GOFに関するタグ情報であるGOFヘッダ155と、GOFの符号156からなる。シーン番号はGOFヘッダ155に記述される。
一方、指定用途が「鑑賞」であるならば、制御部135により符号処理部132に対しGOF毎に分割しない符号化処理が指示され(step115)、符号化処理部132において記憶部134に蓄積されている動画像のフレームデータに対しGOF毎に分割しない符号化処理が実行される(step116)。この符号化処理においてもフレームデータに対し3次元の周波数変換(ここではウェーブレット変換が用いられる)が施され、その奥行き方向が時間方向である。ただし、図19に模式的に示すように、フレーム系列はGOFに分割されることなく、時間方向のウェーブレット変換(順変換)が施される。
なお、符号化処理における3次元ウェーブレット変換は、最初に時間方向のウェーブレット変換を行ってからフレーム内2次元ウェーブレット変換を行う形態と、フレーム内2次元ウェーブレット変換を行ってから時間方向のウェーブレット変換を行う形態とがある。前者の形態は後述の「実施例1」で採用され、後者の形態は後述の「実施例2」で採用される。
符号化処理部132により生成された符号は記憶部134に一旦記憶された後、制御部135の制御により送受信部131を介してクライアント装置101へ送信される(step117)。
次に図18を参照し、クライアント装置101において動画像符号を受信した場合の動作を説明する。サーバ装置102より送信された動画像符号は送受信部111によって受信され、記憶部114に記憶される(step121)。制御部117によって記憶部114上の用途指定情報118が参照され、用途指定が「編集」であるか「鑑賞」であるかが判定される(step122)。
用途指定が「鑑賞」の場合、制御部117からの指示に従って、復号処理部112において、受信された動画像符号は編集されることなく、その全体(全階層)について動画像の通常表示のための復号処理が実行され、動画像のフレームデータが記憶装置114上に生成される(step123)。用途指定が「鑑賞」の場合に受信される動画像符号は、GOF分割することなく符号化されたものでありGOF境界歪みは生じていないため、この復号処理においてはGOF境界歪み抑制のための係数補正は施されない。生成されたフレームデータはフレーム順に表示部116によって表示され(step130)、利用者は高画質の動画像を鑑賞することができる。
一方、用途指定が「編集」の場合、受信された動画像符号はGOF分割して符号化されたものであり、符号構造もGOF単位に分割された形となっている(図21参照)。このような動画像符号は、符号状態のままで、GOF単位の編集を容易に行うことができる。また、時間方向の周波数変換(ここではウェーブレット変換)はGOF単位で施されているため、復号処理もGOF単位で容易に行うことができる。ただし、GOF境界歪みが生じるため、画質はGOF分割を行わない符号に比べ劣る場合が多い。
さて、用途指定が「編集」の場合、制御部117によって復号処理部124に対しサムネイル表示のための部分復号処理が指示され、復号処理部124において、サムネイル表示に必要な各GOF符号の上位階層部分のみ復号する部分復号処理が実行される(step124)。この部分復号処理では、例えば、エントロピー復号と逆量子化は全階層について行われれるが、フレーム内2次元逆ウェーブレット変換は最上位階層についてのみ行われ、生成された係数に対し時間方向ウェーブレット変換は最終階層まで行われ、次に逆色変換が行われることによってサムネイル表示のためのフレームデータが生成される。ただし、この時間方向逆ウェーブレット変換の際にはGOF境界歪み抑制のための係数補正は行われない。
このような部分復号処理によって、符号全体を復号した場合に比べ小サイズの(低解像度の)サムネイル表示のためのフレームデータが記憶装置114上に生成され、これが表示部116に表示される(step125)。
部分復号処理が全GOFについて終わった時点で(又は先頭から所定数以上のGOFについて終わった時点で、あるいは利用者操作部115によって編集開始の指示が入力された時に)、制御部117により編集処理部113が起動され、利用者は表示部116に表示されている動画像のサムネイル画像を見ながら、利用者操作部115から編集指示を入力することにより、編集処理部113において動画像符号のGOF単位での編集処理を実行させることができる(step126)。このように、利用者操作部115は、用途指定やGOF境界歪み抑制指定を入力するための手段であるとともに、編集指示などを入力するための手段である。
この編集処理においては、図22に模式的に示すように、例えばGOF1の符号とGOF5の符号を入れ替えるような操作(GOF入れ替え)や、図23に模式的に示すように、例えばGOF1の符号を削除し、その前後のGOF0とGOF2の符号を連結する編集操作(GOF削除、GOF連結)、図示しないが、あるGOFの符号のコピーを任意のGOFの符号の前又は後に追加する操作(GOF複写挿入)などが可能である。なお、GOFヘッダに記述されているシーン番号は編集によっては変化しない。したがって、例えば図22に見られるようなGOFの入れ替えや図23に見られるようなGOFが削除された箇所については、GOFとシーン番号が連続しなくなる。このようなシーン番号が連続しないGOF間については、後述のようにGOF境界歪み抑制のための係数補正は行われない。
上記のような編集処理の終了指示が利用者操作部115より入力されると、制御部117はGOF境界歪み抑制指定情報119を参照し、歪み抑制を行うように指定されているか又は歪み抑制を行わないように指定されているかを判定する(step127)。
GOF境界歪み抑制を行わない指定の場合(step127,OFF)、制御部117からの指示に従って、復号処理部112において記憶部114に記憶されている編集後の動画像符号について通常サイズ(解像度)で動画像を表示(通常表示)するための復号処理が実行されるが、この復号処理にはGOF境界歪み抑制のための係数補正処理は含まれない(step129)。一方、GOF境界歪み抑制を行う指定の場合(step127,ON)、制御部117からの指示に従って、復号処理部112において編集後の動画像符号について通常表示のための復号処理が実行されるが、この復号処理にはGOF境界歪み抑制のための係数補正処理が含まれる(step128)。部分復号処理(step124)でエントロピー復号と逆量子化が全階層について行われている場合には、当該復号処理の内容は3次元逆ウェーブレット変換(及び係数補正)と逆色変換のみである。
なお、step128又はstep129の復号処理において、step124で復号済みの上位階層部分をも処理の対象とする態様をとることも、step124で復号されなかった下位階層部分のみを処理の対象とし、その結果と部分復号処理の結果から最終的なフレームデータを生成する態様をとることもできる。後者の態様が処理効率の面では一般に有利であるが、動画像の符号の構造によっては後者の態様をとることが困難なことがある。
このようにして編集後の動画像の通常表示のためのフレームデータが記憶部114上に生成され、これが表示部116に動画像として表示される(step130)。ただし、step126の段階で利用者操作部115より指示することにより、編集後の符号を記憶部114に保存させるのみで、その復号・表示を行わずせず一連の処理を終了させることもできる。
さて、符号化処理部132は、例えばJPEG2000のアルゴリズムに準拠してフレームデータを符号化するものであり、図24に示すように色変換部201、3次元ウェーブレット変換部202、量子化部204、エントロピー符号化部205、符号形成・タグ処理部2066から構成される。
符号化処理動作の概略は次の通りである。動画像のフレームデータは色変換部201に入力され、フレームデータ(例えばRGBデータ)はYCbCrなどの輝度・色差データに変換される。変換後の各コンポーネントのデータは、3次元ウェーブレット変換部202によって、時間方向(フレーム並び方向)を含む3次元のウェーブレット変換(順変換)を適用されてウェーブレット係数データへ変換される。この3次元ウェーブレット変換は、GOF単位で行うことも、GOF分割をしないで行うことも可能である。各コンポーネントのウェーブレット係数データは量子化部203でサブバンド毎に量子化された後、エントロピー符号化部205でエントロピー符号化される。符号形成・タグ処理部206において、必要なエントロピー符号からパケットが生成され、それが所定の順番に並べられるとともに必要なタグやタグ情報を付加されることにより符号が形成され、外部に出力される。
また、復号処理部112はJPEG2000のアルゴリズムに準拠して動画像符号を復号するものであり、図30に示すようにタグ処理部221、エントロピー復号部222、逆量子化部223、3次元逆ウェーブレット変換部224、逆色変換部225からなり、3次元逆ウェーブレット変換部224にGOF境界歪み抑制のための係数補正を行う係数補正手段226を含む構成である。
伸長処理動作の概略は次の通りである。動画像符号はタグ処理部221に入力され、コンポーネント毎の符号に分離される。各コンポーネントの符号はエントロピー復号部222によりエントロピー復号化され、ウェーブレット係数データに戻される。このウェーブレット係数データは逆量子化部223で逆量子化されてから3次元逆ウェーブレット変換224に入力され、時間方向を含む3次元の逆ウェーブレット変換を適用される。この時間方向の逆ウェーブレット変換の過程で、係数補正手段226によってGOF境界歪み抑制のための係数補正を行うことができる。3次元逆ウェーブレット変換により生成された各コンポーネントの画像データは、逆色変換部225により元の表色系のフレームデータに戻されて外部へ出力される。
以下、符号化処理、復号処理とGOF境界歪み抑制のための係数補正処理などについて、より具体的に説明する。
本実施例においては、符号化処理部132の3次元ウェーブレット変換部202において、最初に時間方向の順ウェーブレット変換が行われ、次にフレーム内2次元順ウェーブレット変換が行われる。したがって、3次元ウェーブレット変換部202の機能的構成は図25のように表すことができる。図25において、211は時間方向順ウェーブレット変換手段であり、212はフレーム内2次元順ウェーブレット変換手段である。
図26は時間方向順ウェーブレット変換手段211による処理のフローチャートである。ここでは、この処理をGOF分割を行う場合を例にして説明する。図27はその説明のための模式図である。
時間方向順ウェーブレット変換手段211によって、GOF内の先頭フレームから最終フレームまでの全フレームの各対応位置の画素値列に対し一次元の順ウェーブレット変換が実行される(step141)。これにより画素値列は1L係数と1H係数に分解される。次に、階層(デコンポジションレベル)を1つ上げて(step143)、1L係数列に対し同様の順ウェーブレット変換が実行される(step141)。これにより1L係数列は2L係数と2H係数に分解される。このような順ウェーブレット変換が最終階層まで実行されると(step142,Yes)、時間方向の順ウェーブレット変換処理が終了する。なお、GOF分割を行わない場合は、動画像の先頭フレームから最終フレームまでのフレームに対し同様の時間方向の順ウェーブレット変換処理が実行される。
以上の時間方向順ウェーブレット変換処理について、図28によりさらに説明する。図27に示す時刻t0〜t7の8フレームf0〜f7の同じ位置の画素値がメモリ上に図28(a)に示すようなマッピングで記憶されているとする。この画素値列は、1回目の順ウェーブレット変換によって1L,1H係数に分解され、それら係数は図28(b)に示すようなマッピングで記憶される。2回目の順ウェーブレット変換により、1L係数は2L,2H係数に分解され、それら係数は図28(c)に示すようなマッピングで記憶される。
なお、次に説明するフレーム内2次元ウェーブレット変換では、図28(c)のf0対応位置にマッピングされた2L係数群が先頭のフレームのデータとして、f1対応位置にマッピングされた1H係数群が次のフレームのデータとして、同様に、f7対応位置にマッピングされた1H係数群が最終フレームのデータとして、それぞれ扱われる。
図29はフレーム内2次元順ウェーブレット変換手段212による処理のフローチャートである。ここではGOF分割される場合を想定して、フレーム内2次元順ウェーブレット変換処理について説明する。
GOFの先頭フレームのデータ(係数)に対しまず垂直方向の順ウェーブレット変換が実行され(step151)、次に水平方向の順ウェーブレット変換が実行される(step152)。階層(デコンポジションレベル)を1つ上げ(step154)、直前の変換によるLL係数に対し垂直方向と水平方向の順ウェーブレット変換が実行される(step151,152)。同様の変換が最終階層まで終わると(step153,Yes)、次のフレームを処理対象に選び(step156)、そのフレームのデータ(係数)に対し同様の2次元順ウェーブレット変換が実行される。GOF内の最終フレームまで同様の変換が繰り返されると(step155,Yes)、当該GOFに対する3次元順ウェーブレット変換処理が終了する。他のGOFについても同様の2次元ウェーブレット変換が行われる。なお、GOF分割が行われない場合には、先頭フレームから最終フレームまで同様の変換が実行される。
本実施例においては、復号処理部112の3次元逆ウェーブレット変換部224で、エントロピー復号され、逆量子化された後の係数データに対し、まずフレーム内2次元逆ウェーブレット変換が適用され、次に時間方向逆ウェーブレット変換が適用されるため、その機能的構成は図31のように表すことができる。図31において、231はフレーム内2次元逆ウェーブレット変換手段であり、232は時間方向逆ウェーブレット変換手段である。225はGOF境界歪み抑制のための前記係数補正手段である。
図32はフレーム内2次元逆ウェーブレット変換手段231による処理のフローチャートである。ここでは、対象とする符号がGOF分割されて符号化されたものであるとして処理を説明する。
GOF内の先頭フレームの係数データに対し、水平方向逆ウェーブレット変換と垂直方向逆ウェーブレット変換が順に実行される(step161,162)。符号化時のフレーム内順ウェーブレット変換が2階層以上で実行された符号を対象とする場合には、階層(デコンポジションレベル)を1つ下げ(step164)、水平方向及び垂直方向の逆ウェーブレット変換が順次実行される(step161,162)。最終階層まで水平方向及び垂直方向の逆ウェーブレット変換が実行されると(step163,Yes)、次のフレームが処理対象に選ばれ(step166)、このフレームについての水平方向及び垂直方向の逆ウェーブレット変換が最終階層まで実行される。GOFの各フレームに対し同様の処理が繰り返され、GOFの最終フレームまで処理が終わると(step165,Yes)、1つのGOFに対するフレーム内2次元逆ウェーブレット変換処理を終了する。
なお、図18のstep124の部分復号処理では、step163で例えば最上位階層のフレーム内2次元逆ウェーブレット変換が済んだと判定したならばstep165に進む制御の流れとなる。また、図18のstep128又は129の復号処理において、step124の部分復号処理によるフレーム内2次元逆ウェーブレット変換の結果を利用する態様をとる場合には、部分復号処理で処理された階層の次の階層からstep161,162の処理が開始される。
次に、係数補正手段225及び時間方向逆ウェーブレット変換手段232による処理について、図33のフローチャートを参照して説明する。ここでは編集後の符号の復号処理を想定しており、図33中のstep172〜step176は図18中のstep128又はstep129におけるフレーム内2次元逆ウェーブレット変換処理の後の処理ステップに相当する。また、説明の便宜のため、図18のstep127に対応する判定ステップが図33中にstep171として示されている。また、図33のフローチャートは全階層を処理対象とする場合を想定している。
なお、図18中のstep123におけるフレーム内2次元逆ウェーブレット変換処理後の処理フローは、図33中のstep171〜174を省いたものとなる。
GOF境界歪み抑制を行う指定がされている場合(step171,ON)、図18中のstep128に相当した処理内容となる。ここでは、図34(a)に示されるように時間方向に2階層の順ウェーブレット変換がなされた符号を想定し、シーン番号が連続した図示の2つのGOFを例に処理内容を説明する。
時間方向のデコンポジションレベル2の係数2L,2Hがインターリーブされて(図34(b)に示すように2L,2H,2L,2H,...の順に配置しなおされる)係数補正手段225に入力され、図34(b)に点線で示すGOF境界に隣接したハイパス係数(f62H(t6))とGOF境界に隣接しない境界近傍のハイパス係数(f102H(t10))が係数補正手段225によって補正される(step173,174)。
ウェーブレット変換として5×3変換が用いられている場合の各ハイパス係数の補正式を図36に示す。
ウェーブレット変換として9×7変換が用いられている場合の補正式は
f62H(t6)=(-0.0535xf22H(t2)+0.15644xf22H(t2)+0.09127xf02L(t0)
-0.59127xf42L(t4)+0.591272xf82L(t8)-0.09127xf102L(t10))/0.60295
f102H(t10)=(0.05754xf42L(t4)-0.05754xf82L(t8)+0.03372xf142H(t14))/0.53372
となる。
このような係数補正後のデコンポジションレベル2のウェーブレット係数に対し、時間方向逆ウェーブレット変換手段により時間方向の逆ウェーブレット変換が行われ(step175)、図34(c)に示すようなデコンポジションレベル1の係数1Lが生成される。
階層(デコンポジションレベルがさげられ(step177)、時間方向のデコンポジションレベル1のウェーブレット係数に対する係数補正(step173,174)と逆ウェーブレット変換(step175)が行われる。図35はその説明のための図である。図35(b)に示すようにインターリーブされたデコンポジションレベル1の係数1L,1Hに対し、GOF境界に隣接したハイパス係数(f71H(t7))と、GOF境界近傍の境界に隣接しないハイパス係数(f91H(t9))が係数補正手段225により補正される。その係数補正式は図37に示す通りである。5×3変換の場合、デコンポジションレベル1のGOF境界に隣接しないハイパス係数(f91H(t9))はミラリングの影響を受けていないので補正しない。
ただし、9×7変換ではGOF境界に隣接しないハイパス係数(f91H(t9))もミラリングの影響を受けているので補正する。9×7変換の場合の補正式は
f71H(t7)=(-0.0535xf31H(t3)+0.15644xf51H(t5)+0.09127xf41L(t4)
-0.59127xf61L(t6)+0.591272xf91L(t9)-0.09127xf111L(t11))/0.60295
f91H(t9)=(0.05754xf61L(t6)-0.05754xf81L(t8)+0.03372xf111H(t11))/0.53372
となる。
この例では、この段階で最終階層まで処理が済んだため(step176,Yes)、処理は終了する。
なお、隣り合ったGOFのシーン番号が連続しない場合、例えば、図22に示した編集後のGOF0,GOF5や、図23に示した編集後のGOF0,GOF2のような場合、step172の判定結果はNoとなるので、係数補正のstep173,174はスキップされる。このようなシーン番号が連続しないGOFは、符号化時には隣接しなかったGOFであるから、上に述べた係数補正を行っても歪み抑制効果は期待できず、むしろ副作用が心配されるため係数補正を行わないように制御されるである。
GOF境界歪み抑制を行わない指定(step171,OFF)がされている場合、step172,173,174はスキップされ、図18中のstep129に相当する処理内容となる。
本実施例の第1の変形例によれば、図38に示すように、step173,174により補正されたハイパス係数に対するクリッピング処理(step181,182)が追加される。このクリッピング処理は係数補正手段225で行われる。
図40はクリッピング処理の説明図である。このクリッピング処理では、GOF境界歪み抑制によるハイパス係数の補正値が、その係数の量子化区間をはみ出た場合に、係数値を量子化区間の近い方の端の値に戻す。図40の例の場合、量子化後の係数値(補正前)は量子化区間[Q,2Q](Qは量子化ステップ数)の中にあり、そのクリップ値は量子区間の近い方の端のQとなる。
本実施例の第2の変形例によれば、図39に示すように、step172とstep183の間に、係数の量子化ステップ数と閾値thQの比較判定ステップstep183が追加され、量子化ステップ数>閾値thQと判定された場合にのみGOF境界歪みのための係数補正が行われるが、そうでない場合にはstep173からstep182までの処理がスキップされる。
量子化ステップ数>閾値thQ以下の場合に係数補正(したがって補正値のクリッピング処理も)を行わない理由は次の通りである。
図41は圧縮率が小さい場合のクリッピング処理の説明図面である。一般に圧縮率が小さいときには量子化ステップ数Qが小さい。よって、図41の例は量子化ステップ数が小さい例と考えることができる。
図41のように量子化前の係数値(原信号)が2Qと3Qの間にあるとき、この係数は2Q+(3/8)Qの値に逆量子化される(リコンストラクションパラメータが3/8の場合)。ウェーブレット変換が5×3変換の場合を例にとると、前記のように2Q+(3/8)Qの位置に逆量子化された係数は0に補正され(GOF境界に隣接しない係数の場合)、次にクリッピングにより2Qの位置に戻される。補正前の値とクリップ後の値の差は(3/8)Qである。よって、量子化ステップ数Qが十分小さければ補正前の値とクリップ後の値の差(3/8)Qは、さほど目立たないような微小な値になる。すなわち、量子化ステップ数Qが所定閾値thQ以下の場合には、GOF境界歪み抑制のための係数補正を行っても効果は小さいので、係数補正とクリッピング処理を行わない。このようにすることで、GOF境界歪み抑制のための処理量が削減される。
図42は圧縮率が大きい場合のクリッピング処理の説明図である。一般に圧縮率が大きいときには量子化ステップ数Qが大きい。よって、図の例は量子化ステップ数が大きい例と考えることができる。図のように量子化前の係数値(原信号)がQと2Qの間にあるとき、この係数はQ+(3/8)Q の位置に逆量子化される(リコンストラクションパラメータが3/8の場合)。ウェーブレット変換が5×3変換の場合を例にとると、前記のようにQ+(3/8)Qの位置に逆量子化された係数は0に補正され(GOF境界に隣接しない係数の場合)、次にクリッピングによりQの位置に戻される。補正前の値とクリップ後の値の差は(3/8)Qである。よって、量子化ステップ数Qが大きければ、補正前の値とクリップ後の値の差(3/8)Qはかなり大きな値になる。したがって、量子化ステップ数Qが所定の閾値thQより大きい場合には、GOF境界歪み抑制のための係数補正とその補正値のクリッピング処理を行うわけである。
本実施例の第3の変形例によれば、図43に示すように、step172とstep173の間に、階層(デコンポジションレベル)と所定の閾値th_levの比較判定のためのstep184が追加され、閾値th_levを超えるデコンポジションレベルの係数に対してはGOF境界歪み抑制のための係数補正とその補正値のクリッピング処理(step173からstep182)がスキップされる。
閾値th_levより高いデコンポジションレベルで係数補正を行わない理由は次の通りである。一つは、高いデコンポジションレベルの低周波係数はローパス処理を繰り返しかけられているので、もともと補正されているような状態であり、その係数をさらに補正してもGOF境界歪みを抑制する効果は少ないため、所定の閾値th_levより高いデコンポジションレベルを係数補正の対象外とすることにより、GOF境界歪み抑制を効率的に実現しようとするものである。もう一つは、高いデコンポジションレベルの係数に対する補正の副作用は多くのフレームに及ぶため、所定の閾値より高いデコンポジションレベルを係数補正の対象から外すことにより、係数補正の副作用が及ぶ範囲を限定しようとするものである。もう一つは、高いデコンポジションレベルにおいては、画像によっては係数の数が足りなくなり、そもそも係数補正そのものが不可能である場合があるからである。
なお、閾値th_lev以下のデコンポジションレベルに関し、前記第2の変形例の場合と同様に量子化ステップ数に応じて係数補正を制御するようにしてもよい。
本実施例においては、符号化処理部132の3次元ウェーブレット変換部202において、最初にフレーム内2次元順ウェーブレット変換が行われ、次に時間方向順ウェーブレット変換が行われる。したがって、3次元ウェーブレット変換部202の機能的構成は図44のように表すことができる。
図45は、符号化時の3次元順ウェーブレット変換の説明のための模式図である。ここに示す例では、GOF分割を行い、GOF内の各フレームはフレーム内2次元順ウェーブレット変換手段212によって2階層の2次元順ウェーブレット変換が適用される。次に、GOF内の先頭フレームから最終フレームまでの各対応位置の係数列に対し時間方向順ウェーブレット変換手段211によって2階層の順ウェーブレット変換が適用される。フレーム内2次元順ウェーブレット変換処理のフローは図29の通りであり、時間方向順ウェーブレット変換処理のフローは図26の通りである。
本実施例においては、復号処理部112の3次元逆ウェーブレット変換部224は、エントロピー復号され、逆量子化された後の係数データに対し、まず時間方向逆ウェーブレット変換を行い、次にフレーム内2次元逆ウェーブレット変換を行う。したがって、3次元逆ウェーブレット変換部224の機能的構成は図46のように表すことができる。
フレーム内2次元逆ウェーブレット変換手段231による処理フローは図32の通りであるので説明を繰り返さない。
係数補正手段225と時間方向逆ウェーブレット変換手段232による処理フローは図33、図38又は図43により説明したと同様であるが、図47乃至図50を参照し説明を補足する。
図47(a)に示すような、フレーム内2次元順ウェーブレット変換が2階層で施され、時間方向順ウェーブレット変換が2階層で施された符号を例に用いる。そして、フレーム内2LLサブバンド係数に対応した時間方向ウェーブレット係数の補正及び逆ウェーブレット変換を例にして説明するが、フレーム内の他のサブバンド係数に対応した時間方向ウェーブレット係数についても同様に考えればよい。
まず、時間方向のデコンポジションレベル2の2L,2H係数をインターリーブし(2L同士、2H同士まとまっていたものを2L,2H,2L,2H…の順に配置しなおす)、インターリーブ後の係数2L,2Hに関し、図47(b)に点線で示すGOF境界に隣接するハイパス係数(2LL2H(t6))と、GOF境界近傍の境界に隣接しないハイパス係数(2LL2H(t10))を補正する。ウェーブレット変換として5×3変換が用いられる場合の係数補正式は図49に示す通りである。
なお、ウェーブレット変換として9×7変換が用いる場合の係数補正式は
2LL2H(t6)=(-0.0535x2LL2H(t2)+0.15644x2LL2H(t2)+0.09127x2LL2L(t0)
-0.59127x2LL2L(t4)+0.591272x2LL2L(t8)-0.09127x2LL2L(t10))/0.60295
2LL2H(t10)=(0.05754x2LL2L(t4)-0.05754x2LL2L(t8)+0.03372x2LL2H(t14))/0.53372
となる。
フレーム内の2LH,2HL,2HH,1LH,1HL,1HHサブバンド係数に対応した時間方向のデコンポジションレベル2のウェーブレット係数に対しても同様の係数補正がなされる。補正式も同様である。
このような係数補正後のデコンポジションレベル2のウェーブレット係数に対し、時間方向の逆ウェーブレット変換を行う。図47(b)のデコンポジションレベル2のウェーブレット係数の場合、その逆ウェーブレット変換により図47(c)に示すようなデコンポジションレベル1の係数(2LL1L)が生成される。
次に、時間方向のデコンポジションレベル1のウェーブレット係数に対する係数補正と逆ウェーブレット変換を行う。図48はその説明のための図である。図48(a)に示すのデコンポジションレベル1の1L,1H係数をインターリーブし、図48(b)に示すGOF境界に隣接したハイパス係数(2LL1H(t7))と、GOF境界近傍の境界に隣接しないハイパス係数(2LL1H(t9))を補正する。5×3変換の場合の係数補正式は図50に示す通りである。5×3変換の場合、デコンポジションレベル1のGOF境界に隣接しないハイパス係数(2LL1H(t9))はミラリングの影響を受けていないので補正しない。
ただし、9×7変換の場合はGOF境界に隣接しないハイパス係数(2LL1H(t9))もミラリングの影響を受けているので補正する。9×7変換の場合の係数補正式は
2LL1H(t7)=(-0.0535x2LL1H(t3)+0.15644x2LL1H(t5)+0.09127x2LL1L(t4)
-0.59127x2LL1L(t6)+0.591272x2LL1L(t9)-0.09127x2LL1L(t11))/0.60295
2LL1H(t9)=(0.05754x2LL1L(t6)-0.05754x2LL1L(t8)+0.03372x2LL1H(t11))/0.53372
となる。
フレーム内の2LH,2HL,2HH,1LH,1HL,1HHサブバンド係数に対応した時間方向のデコンポジションレベル1のウェーブレット係数に対しても同様の係数補正がなされる。補正式も同様である。
このような係数補正後のデコンポジションレベル1のウェーブレット係数に対し、時間方向の逆ウェーブレット変換を行う。図48(b)のデコンポジションレベル1のウェーブレット係数の場合、その逆ウェーブレット変換により、図48(c)に示すようなデコンポジションレベル0のデータ、つまり、フレーム内2次元ウェーブレット係数に戻ることになる。
<コンピュータを利用した実現形態>
以上のような画像処理システム100のクライアント装置101は、例えば図51に示すCPU301、メモリ302、ハードディスク装置303、キーボードやマウスなどのユーザ入力デバイス304、ディスプレイ装置305、ネットワーク・インターフェース306などをシステムバス307で相互接続したような構成のコンピュータを利用し、プログラムによって実現可能である。すなわち、クライアント装置101の各機能部111〜117に相当する手段としてコンピュータを機能させるプログラムをメモリ302にロードし、CPU301に実行させることにより、コンピュータをクライアント装置101として動作させることができる。このようなプログラム、及び、同プログラムが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶デバイスなどのコンピュータが読み取り可能な情報記録媒体も本発明に包含される。
サーバ装置102も、その各機能部131〜135としてコンピュータを機能させるプログラムを用いることにより実現可能である。このようなプログラム、及び、それが記録された各種情報記録媒体も本発明に包含される。
<GUIの一例>
図15に関連した説明中で、GUIを利用して対話的に各種の指定や指示の入力を行うのが好ましいと述べた。そのようなGUIの一例を図52を用いて説明する。
この例では、図52の上段に示す画面において、ファイル312を例えばマウスを用いてポイントすることにより「ファイル」のプルダウンメニュー313を表示させる。このプルダウンメニュー311中の「プロパティ」314をマウスでクリックすると、図52の下段に示す用途指定のためのポップアップメニュー315が表示される。このポップアップメニュー315内の「編集」ボタンをマウスでクリックすることにより「編集」の用途指定を入力することができ、「鑑賞」ボタンをクリックすることにより「鑑賞」の用途指定を入力することができる。「編集」を指定すると、GOF境界歪み抑制の指定のためのポップアップメニュー316が表示され、その「有り」ボタンをクリックすることによりGOF境界歪み抑制を行う指定を入力することができ、また「無し」ボタンをクリックすることによりGOF境界歪み抑制を行わない指定を入力することができる。311は動画像がサムネイル表示又は通常表示される画像表示領域である。
なお、ここに示す例では、用途指定のためのポップアップメニュー315に、これまで説明されていない「監視」、「保存」及び「自動」の各ボタンも含まれている。「監視」ボタンは、例えば室内や街路等を撮影した動画像の人物が移動しているシーン等の特徴のあるシーンを検索するような用途を指定するものである。「監視」ボタンがクリックされ、その指定がサーバ装置102へ通知された場合、サーバ装置102側では、例えば特徴が検出しやすい高周波帯域を重視した符号化を行うと良いであろう。「保存」ボタンは、動画像の符号を復号することなく保存する用途を指定するものである。「保存」ボタンがクリックされ、その指定がサーバ装置102へ通知された場合、サーバ装置102側では、符号処理によって、符号状態でのレートコントロールが容易なレイヤー構造の符号を生成すると良いであろう。「自動」ボタンは用途を指定するものではなく、サーバ装置102側でGOF分割を行う符号化処理とGOF分割を行わない符号化処理を自動的に選択させようとするものである。例えばサーバ装置102において、クライアント装置101に対してGOF分割符号化処理とGOF分割無しの符号化処理の利用履歴を記録しておき、クライアント装置101より「自動」ボタンがクリックされ、その指定が通知された場合にサーバ装置102側で該利用履歴を参照し、それまでに最も多く採用された符号化処理あるいは最近採用された符号化処理を選択するような制御を行う。
<その他>
以上の説明においては周波数変換としてウェーブレット変換が用いられたが、ウェーブレット変換以外の周波数変換が用いられる場合についても本発明に適用し得ることは明らかである。
ウェーブレット変換を説明するための原画像と座標系を示す図である。
垂直方向への順ウェーブレット変換後の係数配列を示す図である。
水平方向への順ウェーブレット変換後の係数配列を示す図である。
デコンポジションレベル1のデインターリーブした状態の係数配列を示す図である。
デコンポジションレベル2のデインターリーブした状態の係数配列を示す図である。
ミラリングの説明図である。
4タイルについてデコンポジションレベル2のインターリーブした状態の係数を示す図である。
デコンポジションレベル2において水平方向のデタイルのために補正すべきハイパス係数を示す図である。
係数補正、水平方向逆ウェーブレット変換後の係数を示す図である。
デコンポジションレベル2において垂直方向のデタイルのために補正すべきハイパス係数を示す図である。
係数補正、垂直方向逆ウェーブレット変換後の係数(デインターリーブ状態を示す図である。
インターリーブしたデコンポジションレベル1の係数を示す図である。
デコンポジションレベル1において水平方向デタイルのために補正すべき係数を示す図である。
デコンポジションレベル1において垂直方向デタイルのために補正すべき係数を示す図である。
本発明に係る画像処理システム、クライアント装置及びサーバ装置の構成を説明するためのブロック図である。
クライアント装置における用途等の指定時の動作を説明するためのフローチャートである。
サーバ装置の動作を説明するためのフローチャートである。
クライアント装置の符号受信時の動作を説明するためのフローチャートである。
動画像のBOF分割を行う符号化処理の説明のための模式図である。
動画像のBOF分割を行わない符号化処理の説明のための模式図である。
GOF分割を行い符号化された動画像符号のフォーマットの一例を示す図である。
GOFを入れ替える編集の説明図である。
GOFを削除する編集の説明図である。
サーバ装置内の符号化処理部の構成を示すブロック図である。
実施例1に係る3次元ウェーブレット変換部の機能的構成図である。
時間方向順ウェーブレット変換手段のフローチャートである。
GOF単位の時間方向順ウェーブレット変換の説明図である。
時間方向順ウェーブレット変換を説明するためのメモリマップを示す図である。
フレーム内2次元順ウェーブレット変換手段のフローチャートである。
クライアント装置内の復号処理部の構成を示すブロック図である。
実施例1に係る3次元逆ウェーブレット変換部の機能的構成図である。
フレーム内2次元逆ウェーブレット変換手段のフローチャートである。
編集後の動画像符号に対する係数補正及び時間方向逆ウェーブレット変換の説明のためのフローチャートである。
実施例1におけるデコンポジションレベル2の係数補正と時間方向逆ウェーブレット変換の説明図である。
実施例1におけるデコンポジションレベル1の係数補正と時間方向逆ウェーブレット変換の説明図である。
デコンポジションレベル2における係数補正式を示す図である。
デコンポジションレベル1における係数補正式を示す図である。
第1の変形例を説明するためのフローチャートである。
第2の変形例を説明するためのフローチャートである。
クリッピングの説明図である。
クリッピングの説明図である。
クリッピングの説明図である。
第3の変形例を説明するためのフローチャートである。
実施例2に係る3次元ウェーブレット変換部の機能的構成図である。
フレーム内2次元順ウェーブレット変換とBOF単位の時間方向順ウェーブレット変換の説明図である。
実施例2に係る3次元逆ウェーブレット変換部の機能的構成図である。
実施例2におけるデコンポジションレベル2の係数補正と時間方向逆ウェーブレット変換の説明図である。
実施例2におけるデコンポジションレベル1の係数補正と時間方向逆ウェーブレット変換の説明図である。
デコンポジションレベル2における係数補正式を示す図である。
デコンポジションレベル1における係数補正式を示す図である。
本発明に係るクライアント装置の実現に利用し得るコンピュータの構成例を示すブロック図である。
クライアント装置において用途等を指定するためのグラフィカル・ユーザ。インターフェースの一例を説明するための模式図である。
符号の説明
100 画像処理システム
101 クライアント装置
102 サーバ装置
103 伝送路
111 送受信部
112 復号処理部
113 編集処理部
114 記憶部
115 利用者操作部
116 表示部
117 制御部
118 用紙指定情報
119 GOF境界歪み抑制指定情報
131 送受信部
132 符号化処理部
133 画像入力部
134 記憶部
135 制御部
136 用途指定情報
201 色変換部
202 3次元ウェーブレット変換部
203 量子化部
204 エントロピー符号化部
205 符号形成・タグ処理部
211 時間方向順ウェーブレット変換手段
212 フレーム内2次元順ウェーブレット変換手段
221 タグ処理部
222 エントロピー復号部
223 逆量子化部
224 3次元逆ウェーブレット変換部
225 逆色変換部
226 係数補正手段
231 フレーム内2次元逆ウェーブレット変換手段
232 時間方向逆ウェーブレット変換手段