説明

復元されたフレームのフレーム率をアップコンバートする装置および方法

【課題】本発明はビデオデコーダで復元されたフレームおよび動き情報を利用してフレーム率をアップコンバートする装置および方法を提供する。
【解決手段】ビデオデコーダで復元された動き情報および復元されたフレームを利用して、補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする。前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用し、前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする動きベクトルリサンプリング部と、前記リサンプリングされた動きベクトルによって前記復元されたフレームを動き補償することによって、前記補間フレームを生成する動き補償部と、フレームの時間的順序にともない前記復元されたフレームおよび前記補間フレームのうちから一つを選択して出力するスイッチで形成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオコーディング技術に関するものであって、より詳細にはビデオデコーダで復元されたフレームおよび動き情報を利用してフレーム率をアップコンバートする装置および方法に関するものである。
【背景技術】
【0002】
インターネットを含む情報通信技術が発達するにつれ文字、音声だけでなく画像通信が増加している。既存の文字中心の通信方式では消費者の多様な欲求を充足させることができず、これに伴い文字、映像、音楽など多様な形態の特性を受容できるマルチメディアサービスが増加している。マルチメディアデータはその量が膨大なため、大容量の保存媒体を必要とし伝送時に広い帯域幅を必要とする。したがって文字、映像、オーディオを含んだマルチメディアデータを伝送するためには圧縮コーディング技法を使用することが必須的である。
【0003】
データを圧縮する基本的な原理はデータの重複(redundancy)要素を除去する過程である。イメージで同一な色やオブジェクトが反復されるような空間的重複や、動画フレームにおいて隣接のフレームがほとんど変化がない場合やオーディオにおいて同じ音が継続して反復されるような時間的重複、または人間の視覚および知覚能力が高い周波数に鈍感なことを考慮した視覚的重複を除去することによってデータを圧縮することができる。一般的なビデオコーディング方法において、ビデオデータの時間的重複は動き補償に基づいた時間的フィルタリング(temporal filtering)によって除去し、空間的重複は空間的変換(spatial transform)によって除去する。
【0004】
ビデオデータの重複を除去した結果はまた量子化過程を通して所定の量子化ステップにしたがって損失符号化される。前記量子化された結果は最終的にエントロピ符号化(entropy coding)によって最終的に無損失符号化される。
【0005】
このようなビデオデータの圧縮技法はデジタルTV、DVDプレーヤなどのように高容量のデータ処理が可能な機器から、携帯電話、PDA(Personal Digital Assistant)、デジタルムービービデオなどのように相対的に低容量のデータの処理だけが可能なモバイル機器に至るまで多様な機器に採択されている。
【0006】
一般的に、このようなモバイル機器は、データ保存空間、ネットワーク通信帯域幅、演算処理能力などが充分ではないため、使用されるビデオデータの解像度やフレーム率なども相対的に低いはずである。ところで、携帯用機器のLCD(Liquid Crystal Display)パネル上において再生する低いフレーム率のビデオ映像はユーザに多少不自然に見られ得る。
【0007】
このような問題点を解決するため、コーディングされたビデオが有するフレーム率をアップコンバート(up−converting)という技法が提案された。このようなフレーム率アップコンバートという所定のフレーム率でコーディングされたビデオのフレーム率を向上させる作業を意味する。例えば、図1に図示するように、本来フレーム(コーディングされたビデオでのフレーム)のフレーム率が15Hzという時、各フレームの間に新たな補間フレーム(interpolated frame)を追加すれば総30Hzのフレーム率を有するビデオフレームを得ることができる。この時、本来のフレームから補間フレームをどのように求めるのかが重要な問題である。ところで、万一エンコーダと同じように別途の動き推定過程によって補間フレームを求めるならば相当な計算量が要求されるためモバイル機器でのビデオ再生には適していない。
【0008】
したがって、別途の動き推定過程なしで、コーディングされたビデオにすでに含まれている動きベクトルを活用し、フレーム率アップコンバージョンを具現する必要性がある。
【特許文献1】韓国公開特許第2003−0069277号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明が解決しようとする課題は、デコーディングされた動きベクトルから実際動きに近い動きベクトルをリサンプリングし、フレーム率アップコンバージョンを効率的に達成できる技術を提供しようとするものである。
【0010】
本発明の技術的課題は以上で言及した技術的課題に制限されず、言及されていないまた他の技術的課題は次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【0011】
前記した技術的課題を達成するため、ビデオデコーダで復元された動き情報および復元されたフレームを利用して、補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする装置であって、前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して、前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする動きベクトルリサンプリング部と、前記リサンプリングされた動きベクトルによって、前記復元されたフレームを動き補償することによって前記補間フレームを生成する動き補償部、およびフレームの時間的順序に応じ前記復元されたフレームおよび前記補間フレームのうちから一つを選択して出力するスイッチを含む。
【0012】
前記した技術的課題を達成するために、ビデオデコーダで復元された動き情報および復元されたフレームを利用して、補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする方法であって、前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して、前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする段階、前記リサンプリングされた動きベクトルによって前記復元されたフレームを動き補償することによって前記補間フレームを生成する段階、およびフレームの時間的順序に応じ前記復元されたフレームおよび前記補間フレームのうちから一つを選択して出力する段階を含む。
【発明の効果】
【0013】
本発明によれば、迅速で効率的にフレーム率をアップコンバージョンできる長所があり、特に、低い演算能力、制限されたメモリ資源または低電力条件を有する機器に適して使用され得る。
【発明を実施するための最良の形態】
【0014】
以下添付された図を参照して本発明の一実施形態を詳細に説明する。
【0015】
図2は本発明の一実施形態によるフレーム率アップコンバート装置100の構成を図示するブロック図である。アップコンバート装置100はデコーダ200、動きベクトルリサンプリング部300、動き補償部400およびスイッチ500を含み構成され得る。
【0016】
デコーダ200はエンコーディングされたビデオストリーム(以下単純にエンコーディングされたストリームという)からフレームおよび動き情報を復元する。本発明で動き情報には少なくとも各ブロックに割り当てられた動きベクトルが含まれ、ブロックの種類、ブロックパーテーション情報、参照フレームオフセットなどがさらに含み得る。ブロックの種類は該当ブロックが時間的予測によって得られたブロック(以下予測ブロックという)であるか、時間的予測せず得られたブロック(以下イントラブロックという)であるかを示す。ブロックパーテーション情報はH.264で使用する可変サイズのブロックマッチング技法にともなう該当ブロックサイズに関する情報である。図3を参照すれば、動きベクトルが割り当てられるブロックは16×16、16×8、8×16、8×8、8×4、4×8および4×4等多様なピクセルサイズを有し得る。
【0017】
図4は多重フレーム参照の概念を示す図である。H.264標準では現在フレーム41のブロックは各々現在フレーム41より前に立つ互いに異なるフレーム42を参照することを許容している。この時、現在フレーム41との距離によって4個のフレーム42の参照フレームオフセットは各々4から1までの値になる(距離が遠いほどオフセットが大きい)。現在フレーム41には動きベクトルを必要とする予測符号化ブロック(predictive−coding block)、動きベクトルを必要としないイントラ符号化ブロック(intra−coding block)等を挙げることができる。したがって、現在フレーム41のすべてのブロックが動きベクトルを有することではない。
【0018】
図5は本発明の一実施形態によるデコーダ200の構成を示すブロック図である。
エントロピ復号化部210は無損失復号化を遂行し、エンコーディングされたストリームから動き情報と、コーディングされた残差(coded residual)を抽出する。前記無損失復号化には可変長復号化、算術復号化、ハフマン復号化など多様な復号化技法が利用され得る。前記抽出された残差は逆量子化部220に提供され、前記動き情報は動き補償部250に提供される。
【0019】
逆量子化部220はエントロピ復号化部210から提供される残差を逆量子化する。このような逆量子化過程は量子化過程で使用されたものと同一な量子化テーブルを利用して、量子化過程で生成されたインデックスからそれにマッチングされる値を復元する過程である。
【0020】
逆変換部230は前記逆量子化された結果に対して逆変換を遂行する。このような逆変換はエンコーダでの変換過程の逆に遂行され、具体的に逆DCT変換、逆ウェーブレット変換などが使用され得る。前記逆変換の結果、すなわち復元された残差信号は加算器235に提供される。
【0021】
動き補償部250はエントロピ復号化部210から提供される動き情報を利用し、前記現在フレームに対する参照フレーム(すでに復元されてバッファ240に保存されている)を動き補償することによって予測信号を生成する。
【0022】
加算器235は逆変換部230から提供される復元された残差と前記生成された予測信号を加算して現在フレームを復元する。復元された現在フレームはバッファ240に一時保存されて他のフレームの復元のために利用され得る。
【0023】
また図2を参照すれば、デコーダ200のエントロピ復号化部210から提供される動き情報は動きベクトルリサンプリング部300に提供され、デコーダ200で復元されたフレームは動き補償部400およびスイッチ500に提供される。
【0024】
動きベクトルリサンプリング部300はデコーダ200から提供される動き情報を利用し、補間フレームの生成のための動きベクトルをリサンプリングし、リサンプリングされた動きベクトルを動き補償部400に提供する。本発明の一実施形態による動きベクトルリサンプリング部300のより詳細な動作に対しては図6を参照して後述することにする。
【0025】
動き補償部400はリサンプリングされた動きベクトル(およびその他動き情報)の入力を受けてすでに復元されたフレームを動き補償することによって補間フレームを生成する。
【0026】
スイッチ500はフレーム率アップコンバージョンを実行するために、時間的順序(temporal order)に応じデコーダ200から提供される復元されたフレームおよび動き補償部400から提供される補間フレームのうちから一つを選択して出力する。デコーダ200、動きベクトルリサンプリング部300または動き補償部400には多重フレームの動き情報を保存することに使用されるバッファが含まれ得る。
【0027】
図6は図2の動きベクトルリサンプリング部300の構成をより詳しく図示するブロック図である。動きベクトルリサンプリング部300は動きベクトル定規化部(motion vector normalizer、310)、ブロックサイズ規準化部(block size regularizer、320)、動きベクトル計算部(motion vector calculator、330)、動きベクトル検証部(motion vector verifier、340)および動きベクトル挿入部(motion vector filler、350)を含み構成され得る。
【0028】
一般的に、ビデオエンコーダでは、生成されるデータのサイズを最小化するために最小の動き補償された残差値を生成する動きベクトルを求める方法を使用する。そのため動きベクトルは実際オブジェクトの動きとは相異なり得る。また、動きベクトルは先行する互いに異なる参照フレームを参照することができるため、動きベクトルのサイズを定規化することが重要である。
【0029】
動きベクトル定規化部310デコーダ200から提供された動きベクトルが有する参照距離(現在フレームと参照フレーム間の時間的距離)に応じ動きベクトルを定規化する。例えば、動きベクトル定規化部310は前記動きベクトルを参照フレームオフセット(reference frame offset)で割る演算によって、前記動きベクトルを定規化することができる。前記参照フレームオフセットは今後動きベクトル計算で使用され得るようにバッファ(未図示)に保存され得る。
【0030】
ブロックサイズ規準化部320は動きベクトルが割り当てられる多様なサイズを有するブロックを日程サイズ以上のブロックで規準化する。前記規準化とは所定のブロックサイズより小さいブロックを前記ブロックサイズの代表ブロックに併合することを意味する。もちろん、デコーダ200から提供された動きベクトルが割り当てられるブロックサイズが前記ブロックサイズ以下の固定サイズになっていれば本過程は省略されても構わないものであろう。
【0031】
H.264のような向上されたビデオコーディング((Advanced Video Coding)技法では、最小のコーディングサイズを達成するために図3のように、ブロックサイズが可変する可変ブロックサイズ動き補償を採択する。例えば、H.264標準では、マクロブロックは16×16ピクセルで定義されるが、各マクロブロックは図3で示すように、16×16から4×4までの多様なブロックサイズでパーテーション(partitioning)できるようになっている。
【0032】
しかし、動きベクトルリサンプリングした後に動き補償を遂行するためには、同一なサイズのブロックに割り当てられた動きベクトルを求めるのが好ましく、またリサンプリングされた動きベクトルが実際ビデオ上のオブジェクト(object)の実際動き(true motion)を反映することが非常に重要である。
【0033】
図7はブロックサイズ規準化の一例である。左側の規準化前のブロックはブロックサイズがだいぶ多様である。ここで、最小ブロックF、G、H、Iが4×4ピクセルを有し、最も大きいブロックLは16×16ピクセルを有する。しかし、右側の規準化されたブロックは日程以上(8×8以上)のブロックサイズを有する。
【0034】
図7で規準化されたブロックサイズ(例8×8)より小さいブロックは前記規準化されたブロックサイズを有する一つの代表ブロックで規準化される。これは、小さいブロックサイズの動きベクトルは参照されるピクセルの数がさらに小さいため、大きいブロックサイズの動きベクトルより実際動きをよく反映できないという事実に起因する。例えば、規準化前のブロックA、Bは一つの代表ブロックOで、ブロックD、Eは一つの代表ブロックQで、ブロックF、G、H、Iは一つの代表ブロックRで各々規準化される。
【0035】
複数のブロックが有する動きベクトルから規準化されたブロック(代表ブロック)に付与される単一の動きベクトルを求めるための演算は様々なものがあり得るが、一例としてベクタメディアン(vector median)演算が利用され得る。ベクタメディアン演算に関するより具体的な説明は動きベクトル計算部330の動作説明ですることとする。ただし、代表ブロックOやQは含まれたブロックが2個であるためベクタメディアンを計算することができない。この時には該当代表ブロックに含まれるブロックの動きベクトルのうち小さいサイズを有する動きベクトルを代表ブロックの動きベクトルとして選択することができる。なぜなら、動きベクトルのサイズが小さいほど実際動きに近接する可能性が高いと見ることができるからである。
【0036】
一方、8×8サイズを越えるブロックK、J、M、N、Lは別途のブロックサイズの変更が成されなくても構わない。今後動き補償部400において8×8の一定のサイズを有するブロックに対する動き補償が必要とされれば、これらブロックK、J、M、N、Lはいつでも8×8サイズのブロックに変換されることができるからである。図8に図示するように、16×16サイズのブロックLは4個の8×8サイズのブロックに分割されて分割されたブロックごとに動きベクトルが割り当てられ得る。当然なことに、分割されたブロックに割り当てられる動きベクトルはブロックLの本来動きベクトルと同一である。
【0037】
動きベクトル計算部330は規準化された現在ブロックの動きベクトルとその周辺ブロックの動きベクトルを参照し、前記現在ブロックの動きベクトルを計算する。前記動きベクトル計算とは、空間的または時間的領域で隣接する動きベクトルを参照して、実際動きに近接する動きベクトルを求めるためのフィルタリング演算を意味する。
【0038】
前記動きベクトル計算過程は、フィルタリング演算に関与されるブロック(以下、評価(evaluation)のためのブロックという)を選択する段階と、ブロックの種類によって前記ブロック各々に加重値を割り当てる段階と、前記加重値を反映した所定の演算によって最適の動きベクトルを求める段階でなされ得る。
【0039】
先に、評価のためのブロックを選択する段階を図9を参照して説明する。現在フィルタリングが適用されるブロック(以下、現在ブロック)は“X”と表示されている。本発明による一実施形態において、評価のためのブロックは前記現在ブロックと前記現在ブロックの周辺ブロック(以下、周辺ブロック)を含む。本発明の他の実施形態においては、現在補間フレームだけでなくその以前の補間フレームを考慮することもできる。図9の例では、現在補間フレームの現在ブロック、現在ブロックの周辺ブロックだけでなく、以前補間フレームのうち現在ブロックと対応される位置のブロック(以下、以前ブロック)も、評価のためのブロックに属するものと示されている。
【0040】
前記現在ブロック、周辺ブロックの動きベクトルは所定の演算(例、ベクタメディアン)によってフィルタリングされた動きベクトルとなる可能性がある候補動きベクトルである。以前のブロックは前記演算で評価のためだけに使用され候補動きベクトルに選択されないこともある。もちろん、これは一つの例に過ぎず、以前ブロックも候補動きベクトルに含めることもできることはもちろんである。
【0041】
図9の現在補間フレームにおいて候補動きベクトルを提供する領域はカーネル(kernel)と定義することができる。図9の実施形態では、現在ブロックサイズに応じ周辺ブロックも変わるためカーネルのサイズも変わるということが分かる。
【0042】
フィルタリング過程のうちに加重値を割り当てる段階は次の図10を参照して説明する。本発明のフィルタリング段階では規準化されたブロックサイズを超過するサイズのブロックを規準化されたブロックサイズで分割しない代わりに、前記ブロックサイズに応じ加重値を適用する方式を採択する。なぜなら、例えば16×16ブロックの場合4個の規準化されたブロックで分割され得るが、この時、分割されたブロックの動きベクトルはすべて同一であるため、ベクタメディアンと同じ演算を適用すれば前記分割されたブロックの動きベクトルがフィルタリングされた動きベクトルとして選択される可能性が高まるからである。したがって、周辺ブロックまたは以前ブロックまで考慮して実際動きに近い動きベクトルを求めようとするフィルタリング段階の目的から外れることもある。
【0043】
ただし、大きいブロックの動きベクトルは小さいブロックの動きベクトルに比べて、相対的に重要であることは事実であるため、本発明ではブロックサイズに応じ互いに異なる加重値をベクタメディアン演算に適用する。次の図10は評価のためのブロックサイズ、種類およびサイズに応じ互いに異なる加重値が設定されることを示している。図10を参照すれば、イントラ符号化されたブロックは動きベクトルを有しないため、加重値は0となり、予測符号化されたブロックはブロックサイズに応じ加重値が大きくなるということが分かる。もちろん、具体的な加重値の値は当業者の立場でいかようにも異なるように選択することができる。
【0044】
図11は評価のためのブロックの種類およびサイズに応じ互いに異なる加重値が設定される例を示す図である。図11においてPは予測符号化されたブロックを、Iはイントラ符号化されたブロックを各々示す。
【0045】
現在の補間フレームには、予測符号化されたブロックの数に応じ周辺ブロックが最大12個まで存在することができる。現在ブロックサイズが16×16である例では、現在補間フレームで7個(ブロックIは当然除外される)の候補動きベクトルが存在する。ただし、評価のためのブロックは前記7個の候補動きベクトルに以前補間フレームでの2個の動きベクトルが追加で含み得る。
【0046】
以上のように評価のためのすべてのブロックに対して加重値が設定されたとすれば、フィルタリング過程中の最後の段階である最適の動きベクトルを所定の演算によって求める段階が遂行される。前記演算の例として、ベクタメディアン演算が使用され得る。
【0047】
総N個の評価のためのブロックが存在し、この中でM(Nより小さかったり同じ値)個の候補動きベクトルを有するブロックが存在すると仮定する。この時ベクタメディアン演算とは、それぞれの候補動きベクトルに対して残りN−1個の動きベクトルとの差異(動きベクトル偏差)を求め、前記求めた差異の合計を求め、前記合計が最小となる候補動きベクトルを出力する演算を意味する。一般的に、ベクトルメディアン演算では加重値が適用されないが、本発明の一実施形態によるベクトルメディアン演算では次の式(1)のように、多様な加重値を適用することができる。ここで、Nは候補動きベクトルのセットを意味し、Nは評価することだけに使用される動きベクトルセットを意味する。Nは存在しないこともあり得る。
【0048】
【数9】

式(1)で、
【0049】
【数10】

は前記候補動きベクトルを含み評価に使用される動きベクトルを、
【0050】
【数11】

はベクトルメディアン演算の結果、すなわち現在ブロックのフィルタリングされた動きベクトルを各々示し、添字x、yは各々x方向およびy方向を示す。そして、
【0051】
【数12】

は多様な加重値を示す。
【0052】
この中
【0053】
【数13】

は図10ないし図11のようにブロックの種類およびサイズを考慮した加重値である。残り
【0054】
【数14】

は選択的に適用することが可能である。
【0055】
まず、
【0056】
【数15】

は該当ブロックが参照するフレームとの参照距離(参照フレームオフセット)が大きくなることによって小さくなるように設定される加重値である。この加重値は参照距離が大きいほど実際動きとは相異なる可能性が大きいという点を考慮したものである。
【0057】
次に、
【0058】
【数16】

は該当ブロックが属するフレームが該当する時間的位置(temporal position)に応じ設定される加重値である。図9の例のように、現在補間フレームに属するブロックだけではなく少なくとも一つ以上の以前補間フレームに属するブロックもフィルタリング演算に関与するとした時、現在補間フレームの時間的位置から遠ざかるほど低い加重値が設定されるものである。
【0059】
最後に、
【0060】
【数17】

はあるブロックがカーネルにおいて占める位置によって設定される加重値である。
【0061】
【数18】

は前記ブロックがカーネルの中央から遠ざかるほど小さくなるように設定されるのが好ましい。
【0062】
前記
【0063】
【数19】

は例えば、ガウス分布(Gaussian distribution)を従うように設定され得る。
【0064】
一方、図9では現在ブロックサイズに応じカーネルのサイズも変更される例を説明したが、前記カーネルサイズを固定することも可能である。図12はこのように、固定されたカーネルサイズを適用する例を示している。図12を参照すれば、カーネルサイズは現在ブロックサイズと無関係であり、24×24サイズで固定されている。ただし、ブロックの種類およびサイズにともなう加重値
【0065】
【数20】

は図10と同じように適用される。本実施形態では、デコーダ200から提供された単一のブロック(例、16×16、8×16、16×8、8×8ブロック)に対しても互いに異なる動きベクトルが割り当てられ得る。図12で各ケースことに、動きベクトルフィルタリングが適用される領域は各々11ないし14と表示されている。
【0066】
動きベクトル検証部340は動きベクトル計算部330でフィルタリングされた動きベクトルが有効であるかの可否を検証する。前記フィルタリングされた動きベクトルの信頼度は主にベクトルメディアンのサイズにかかっている。図13は本発明の一実施形態による検証技法を示すグラフである。ここで使用される検証関数は例えば、線形関数で簡単に定義され得る。動きベクトル検証部340は特定メディアンセットのサイズでメディアン合計(median sum)が検証関数より小さい時、有効であるものと判断する。前記メディアン合計とは、例えば式(1)のように求められるベクトルメディアン演算の合計、すなわちベクトルメディアン演算の結果を意味する。また、メディアンセットのサイズとは式(1)のように、動きベクトルメディアン演算過程で評価のために使用される動きベクトルの数(またはブロックの数)を意味する。式(1)でメディアンセットのサイズはNのサイズとNのサイズと同じである。
【0067】
図13はベクトルメディアン演算を検証する例を示す図である。図13で検証関数は線形関数となっているが他の任意の関数を選択しても構わない。横軸は現在および以前動きフィールドで予測符号化された動きベクトルの数、すなわちベクトルメディアン評価に使用されるメディアンセットのサイズを示す。縦軸はベクトルメディアン合計を示す。ベクトルメディアン合計は特定のメディアンセットのサイズで検証関数を越えない場合のみ有効である。
【0068】
動きベクトル挿入部350は動きベクトル検証部340で無効であるものと判断された動きベクトルを有するブロックに対して動きベクトルを決定して前記ブロックに決定された動きベクトルであって無効な動きベクトルを代替する役割を遂行する。このように無効な動きベクトルを有するブロックに対して動きベクトルを決定する方法としては、有効化された動きベクトルのみを演算して所定サイズ(例3×3のカーネル)のベクトルメディアン演算を遂行する方法を考えることができる。
【0069】
今まで図2、5および6の各構成要素はメモリ上の所定領域で遂行されるタスク、クラス、サブルーチン、プロセス、オブジェクト、実行スレッド、プログラムのようなソフトウェア(software)や、FPGA(field−programmable gate array)やASIC(application−specific integrated circuit)のようなハードウェア(hardware)で具現することができ、また前記ソフトウェアおよびハードウェアの組合で形成されることもできる。前記構成要素はコンピュータで判読可能な保存媒体に含まれ得、複数のコンピュータにその一部が分散され分布され得る。
【0070】
また、各構成要素は特定された論理的機能を実行するための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示し得る。また、いくつかの代替実行形態では前記構成要素で言及された機能が順序から外れ発生することも可能である。例えば、相次いで図示されている二つの構成要素は事実実質的に同時に遂行されることも可能であり、時々該当する機能にともない逆順で遂行されることも可能である。
【0071】
以上添付された図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者は本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態で実施され得るということを理解できるであろう。したがって以上で記述した実施形態はすべての面で例示的なものであり、限定的ではないことと理解しなければならない。
【図面の簡単な説明】
【0072】
【図1】フレーム率アップサンプリングの概念を簡略に示す図である。
【図2】本発明の一実施形態によるフレーム率アップコンバート装置の構成を図示するブロック図である。
【図3】H.264による多様なサイズを有する可変ブロックの例を示す図である。
【図4】多重フレーム参照の概念を示す図である。
【図5】本発明の一実施形態によるデコーダの構成を示すブロック図である。
【図6】本発明の一実施形態による動きベクトルリサンプリング部の構成をより詳しく図示するブロック図である。
【図7】ブロックサイズの規準化の一例を示す図である。
【図8】規準化されたブロックサイズより大きいブロックを規準化されたブロックサイズで分割する例を示す図である。
【図9】ベクトルメディアン演算の評価のために使用されるブロックを選択する例を示す図である。
【図10】本発明の一実施形態によるフィルタリング過程のうち加重値を割り当てる例を示す図である。
【図11】評価のためのブロックの種類およびサイズに応じ互いに異なる加重値が設定される例を示す図である。
【図12】固定されたカーネルサイズが使用する例を示す図である。
【図13】本発明の一実施形態による検証技法を示すグラフである。
【符号の説明】
【0073】
100 フレーム率アップコンバート装置
200 デコーダ
210 エントロピ復号化部
220 逆量子化部
230 逆変換部
240 バッファ
235 加算器
250、400 動き補償部
300 動きベクトルリサンプリング部
310 動きベクトル定規化部
320 ブロックサイズ規準化部
330 動きベクトル計算部
340 動きベクトル検証部
350 動きベクトル挿入部
500 スイッチ

【特許請求の範囲】
【請求項1】
ビデオデコーダで復元された動き情報および復元されたフレームを利用して、補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする装置であって、
前記復元されたフレームにおいて現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする動きベクトルリサンプリング部と、
前記リサンプリングされた動きベクトルによって前記復元されたフレームを動き補償することによって前記補間フレームを生成する動き補償部、および
フレームの時間的順序に応じ前記復元されたフレームおよび前記補間フレームのうち一つを選択して出力するスイッチを含むフレーム率アップコンバート装置。
【請求項2】
前記動きベクトルリサンプリング部は、
前記復元されたフレームにおいて現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して前記現在ブロックの動きベクトルをフィルタリングする動きベクトル計算部を含む、請求項1に記載のフレーム率アップコンバート装置。
【請求項3】
前記動きベクトルリサンプリング部は、
前記フィルタリングされた動きベクトルの有効性を検証する動きベクトル検証部をさらに含む、請求項2に記載のフレーム率アップコンバート装置。
【請求項4】
前記動きベクトルリサンプリング部は、
前記動き情報に含まれた動きベクトルを参照フレームオフセットによって、定規化する動きベクトル定規化部をさらに含む、請求項2に記載のフレーム率アップコンバート装置。
【請求項5】
前記動きベクトルリサンプリング部は、
前記定規化された動きベクトルを有するブロックを所定のブロックサイズで規準化するブロックサイズ規準化部をさらに含む、請求項4に記載のフレーム率アップコンバート装置。
【請求項6】
前記ブロックサイズ規準化部は、
前記ブロックサイズより小さいブロックを前記ブロックサイズの代表ブロックで併合する請求項5に記載のフレーム率アップコンバート装置。
【請求項7】
前記動きベクトルリサンプリング部は、
前記有効性を検証した結果、有効ではないものと判断されるブロックの動きベクトルを周辺の有効な動きベクトルを利用して決定された動きベクトルに代替する動きベクトル挿入部をさらに含む、請求項3に記載のフレーム率アップコンバート装置。
【請求項8】
前記動きベクトル計算部は、
前記現在ブロックの動きベクトルおよび前記周辺ブロックの動きベクトルの入力を受け、ベクトルメディアン演算を計算することによって前記現在ブロックの動きベクトルをフィルタリングする、請求項3に記載のフレーム率アップコンバート装置。
【請求項9】
前記動きベクトル計算部は、
前記ベクトルメディアン演算において、前記現在ブロックサイズおよび周辺ブロックサイズにともなう加重値を適用する、請求項8に記載のフレーム率アップコンバート装置。
【請求項10】
前記動きベクトル計算部は、
前記ベクトルメディアン演算において、前記現在ブロックおよび周辺ブロックが形成するカーネル内への位置にともなう加重値を適用する、請求項9に記載のフレーム率アップコンバート装置。
【請求項11】
前記動きベクトル計算部は、
前記ベクトルメディアン演算において、前記現在ブロックの参照フレームオフセットおよび前記周辺ブロックのオフセットにともなう加重値を適用する、請求項10に記載のフレーム率アップコンバート装置。
【請求項12】
前記動きベクトル検証部は、
特定メディアンセットのサイズにおいて、メディアン合計(median sum)が所定の検証関数より小さい時、前記現在ブロックのフィルタリングされた動きベクトルを有効であるものと判断する、請求項8に記載のフレーム率アップコンバート装置。
【請求項13】
前記動きベクトル計算部は、
現在ブロックの動きベクトル、周辺ブロックの動きベクトルおよび以前補間フレームのうち前記現在ブロックと対応される位置のブロックを使用して前記現在ブロックの動きベクトルをフィルタリングする、請求項2に記載のフレーム率アップコンバート装置。
【請求項14】
前記ベクトルメディアン演算は、
【数1】

によって遂行され、前記Mはフィルタリングされた動きベクトルに対応される候補動きベクトルの数、前記Nは前記動きベクトル計算部が前記動きベクトルをフィルタリングするために使用する評価ブロックの数、
【数2】

は前記候補動きベクトルを含み評価に使用される動きベクトル、
【数3】

はベクトルメディアン演算の結果、すなわち現在ブロックのフィルタリングされた動きベクトルを各々示し、添字x、yは各々x方向およびy方向、そして
【数4】

は多様な加重値を意味する、請求項9に記載のフレーム率アップコンバート装置。
【請求項15】
前記動きベクトル計算部は、
第1ブロックに第1加重値を適用し、第2ブロックに前記第1加重値より小さい第2加重値を適用する、請求項9に記載のフレーム率アップコンバート装置。
【請求項16】
ビデオデコーダで復元された動き情報および復元されたフレームを利用して補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする方法であって、
前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする段階と、
前記リサンプリングされた動きベクトルによって、前記復元されたフレームを動き補償することによって前記補間フレームを生成する段階、および
フレームの時間的順序に応じ前記復元されたフレームおよび前記補間フレームのうちから一つを選択して出力する段階を含むフレーム率アップコンバート方法。
【請求項17】
前記リサンプリングする段階は、
前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して前記現在ブロックの動きベクトルをフィルタリングする段階を含む、請求項16に記載のフレーム率アップコンバート方法。
【請求項18】
前記リサンプリングする段階は、
前記フィルタリングされた動きベクトルの有効性を検証する段階をさらに含む、請求項17に記載のフレーム率アップコンバート方法。
【請求項19】
リサンプリングする段階は、
前記動き情報に含まれた動きベクトルを参照フレームオフセットによって定規化する段階をさらに含む、請求項17に記載のフレーム率アップコンバート方法。
【請求項20】
前記リサンプリングする段階は、
前記定規化された動きベクトルを有するブロックを所定のブロックサイズで規準化する段階をさらに含む、請求項19に記載のフレーム率アップコンバート方法。
【請求項21】
前記規準化する段階は、
前記ブロックサイズより小さいブロックを前記ブロックサイズの代表ブロックに併合する段階を含む、請求項20に記載のフレーム率アップコンバート方法。
【請求項22】
前記リサンプリングする段階は、
前記有効性を検証した結果、有効ではないものと判断されるブロックの動きベクトルを周辺の有効な動きベクトルを利用して決定された動きベクトルに変える段階をさらに含む、請求項18に記載のフレーム率アップコンバート方法。
【請求項23】
フィルタリングする段階は、
前記現在ブロックの動きベクトルおよび前記周辺ブロックの動きベクトルの入力を受け、ベクトルメディアン演算を計算することによって前記現在ブロックの動きベクトルをフィルタリングする段階を含む、請求項17に記載のフレーム率アップコンバート方法。
【請求項24】
フィルタリングする段階は、
前記ベクトルメディアン演算において、前記現在ブロックサイズおよび周辺ブロックサイズにともなう加重値を適用する段階を含む、請求項23に記載のフレーム率アップコンバート方法。
【請求項25】
フィルタリングする段階は、
前記ベクトルメディアン演算において、前記現在ブロックおよび周辺ブロックが形成するカーネル内への位置にともなう加重値を適用する段階を含む、請求項24に記載のフレーム率アップコンバート方法。
【請求項26】
フィルタリングする段階は、
前記ベクトルメディアン演算において、前記現在ブロックの参照フレームオフセットおよび前記周辺ブロックのオフセットにともなう加重値を適用する段階を含む、請求項25に記載のフレーム率アップコンバート方法。
【請求項27】
前記検証する段階は、
特定メディアンセットのサイズにおいて、メディアン合計(median sum)が所定の検証関数より小さい時、前記現在ブロックのフィルタリングされた動きベクトルを有効なことに判断する段階を含む、請求項23に記載のフレーム率アップコンバート方法。
【請求項28】
前記現在ブロックの動きベクトルをフィルタリングする段階は、
現在ブロックの動きベクトル、周辺ブロックの動きベクトルおよび以前補間フレームのうち前記現在ブロックと対応される位置のブロックを使用して、前記現在ブロックの動きベクトルをフィルタリングする段階を含む、請求項17に記載のフレーム率アップコンバート方法。
【請求項29】
前記ベクトルメディアン演算は、
【数5】

によって遂行され、前記Mはフィルタリングされた動きベクトルに対応される候補動きベクトルの数、前記Nは前記動きベクトル計算部が前記動きベクトルをフィルタリングするために使用する評価ブロックの数、
【数6】

は前記候補動きベクトルを含み評価に使用される動きベクトル、
【数7】

はベクトルメディアン演算の結果、すなわち現在ブロックのフィルタリングされた動きベクトルを各々示し、添字x、yは各々x方向およびy方向、そして
【数8】

は多様な加重値を意味する、請求項24に記載のフレーム率アップコンバート方法。
【請求項30】
前記加重値を適用する段階は、
第1ブロックに第1加重値を適用し、第2ブロックが前記第1加重値より小さい第2加重値を適用する段階を含む、請求項24に記載のフレーム率アップコンバート方法。
【請求項31】
第16項が方法を遂行するためのプログラムが記録されたコンピュータ判読可能記録媒体。
【請求項32】
ビデオストリームから復元された動き情報および復元されたフレームを利用して補間フレームを生成することによって前記復元されたフレームのフレーム率をアップコンバートする装置であって、
ビデオストリームからビデオストリームのフレームおよび動き情報を復元するデコーダと、
前記復元されたフレームにおいて現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して前記現在ブロックの動きベクトルをフィルタリングすることによって前記補間フレームのための動きベクトルをリサンプリングする動きベクトルリサンプリング部と、
前記リサンプリングされた動きベクトルによって、前記復元されたフレームを動き補償することによって前記補間フレームを生成する動き補償部、および
フレームの時間的順序にともない前記復元されたフレームおよび前記補間フレームのうちから一つを選択して出力するスイッチを含むフレーム率アップコンバート装置。
【請求項33】
前記動きベクトルリサンプリング部は、
前記復元されたフレームで現在ブロックの動きベクトルおよび前記現在ブロックの周辺ブロックの動きベクトルを利用して、前記現在ブロックの動きベクトルをフィルタリングする動きベクトル計算部を含む、請求項32に記載のフレーム率アップコンバート装置。
【請求項34】
前記動きベクトル計算部は、
前記現在ブロックの動きベクトルおよび前記周辺ブロックの動きベクトルの入力を受け、ベクトルメディアン演算を計算することによって前記現在ブロックの動きベクトルをフィルタリングする、請求項33に記載のフレーム率アップコンバート装置。
【請求項35】
前記動きベクトル計算部は、
前記ベクトルメディアン演算において、前記現在ブロックと前記各周辺ブロックサイズにともなう加重値を適用する、請求項34に記載のフレーム率アップコンバート装置。
【請求項36】
前記デコーダは、
ビデオストリームから動き情報とコーディングされた残差を抽出して無損失復号化を遂行するエントロピ復号化部と、
量子化過程で使用されたものと同一な量子化テーブルを利用して前記量子化過程で生成されたインデックスからそれがマッチングされる値を復元して前記残差を逆量子化する逆量子化部と、
エンコーダでの変換過程と逆に遂行されて前記逆量子化された残差に対して逆変化を遂行する逆変換部、および
前記抽出された動き情報を利用して予測信号を生成する動き補償部を含む、請求項32に記載のフレーム率アップコンバート装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−193691(P2008−193691A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2008−20736(P2008−20736)
【出願日】平成20年1月31日(2008.1.31)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】