JP3824268B2 - Motion vector deriving method and motion vector deriving device - Google Patents

Motion vector deriving method and motion vector deriving device Download PDF

Info

Publication number
JP3824268B2
JP3824268B2 JP2003122644A JP2003122644A JP3824268B2 JP 3824268 B2 JP3824268 B2 JP 3824268B2 JP 2003122644 A JP2003122644 A JP 2003122644A JP 2003122644 A JP2003122644 A JP 2003122644A JP 3824268 B2 JP3824268 B2 JP 3824268B2
Authority
JP
Japan
Prior art keywords
motion vector
parameter
picture
unit
deriving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003122644A
Other languages
Japanese (ja)
Other versions
JP2004088731A5 (en
JP2004088731A (en
Inventor
眞也 角野
敏志 近藤
誠 羽飼
清史 安倍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003122644A priority Critical patent/JP3824268B2/en
Publication of JP2004088731A publication Critical patent/JP2004088731A/en
Publication of JP2004088731A5 publication Critical patent/JP2004088731A5/ja
Application granted granted Critical
Publication of JP3824268B2 publication Critical patent/JP3824268B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像間でブロック単位の動きを示す動きベクトルを導出する動きベクトル導出方法、導出された動きベクトルを用いて動き補償を伴うピクチャ間予測符号化によって動画像の符号化を行う動画像符号化方法および動画像復号化方法に関する。
【0002】
【従来の技術】
近年、マルチメディアアプリケーションの発展に伴い、画像・音声・テキストなど、あらゆるメディアの情報を統一的に扱うことが一般的になってきた。この時、全てのメディアをディジタル化することにより統一的にメディアを扱うことが可能になる。しかしながら、ディジタル化された画像は膨大なデータ量を持つため、蓄積・伝送のためには、画像の情報圧縮技術が不可欠である。一方で、圧縮した画像データを相互運用するためには、圧縮技術の標準化も重要である。画像圧縮技術の標準規格としては、ITU−T(国際電気通信連合 電気通信標準化部門)のH.261、H.263、ISO(国際標準化機構)のMPEG(Moving Picture Experts Group)-1、MPEG-2、MPEG-4などがある。
【0003】
これらの動画像符号化方式に共通の技術として動き補償を伴うピクチャ間予測がある。これらの動画像符号化方式の動き補償では、入力画像を構成する各ピクチャを所定のサイズの矩形(以下、ブロックという)に分割し、各ブロック毎にピクチャ間の動きを示す動きベクトルから符号化および復号化で参照する予測画像を生成する。
【0004】
動きベクトルの検出はブロックごと若しくはブロックを分割した領域ごとに行われる。符号化の対象としているピクチャに対して、画像の表示順にしたがって前方または後方(以下、単に前方、後方という)に位置する符号化済みのピクチャを参照ピクチャとする。動き検出では、参照ピクチャの中で符号化対象ブロックを最も適切に予測できるブロック(領域)を選定し、そのブロックの符号化対象ブロックに対する相対位置を最適な動きベクトルとする。同時に、参照可能なピクチャの中から最も適切に予測できる予測方法を特定する情報である、予測モードが決定される。
【0005】
予測モードとしては、例えば、表示時間的に前方または後方にあるピクチャを参照してピクチャ間予測符号化を行う直接モードがある(例えば、非特許文献1参照)。直接モードでは、動きベクトルは明示的に符号化データとして符号化されず、既に符号化された動きベクトルから導出される。即ち、符号化対象のピクチャに対して近傍にある符号化済みピクチャ内において、符号化対象ピクチャのブロックとピクチャ内の同じ座標位置(空間位置)にあるブロック(以下、参照ブロックという)の動きベクトルを参照することにより、符号化対象ブロックの動きベクトルを算出する。そして、この算出された動きベクトルに基づいて予測画像(動き補償データ)が生成される。なお、復号化の際には、同様にして既に復号化された動きベクトルから直接モードの動きベクトルが導出される。
【0006】
ここで、具体的に、直接モードにおける動きベクトルの算出について説明する。図17は、直接モードにおける動きベクトルの説明図である。図17において、ピクチャ1200、ピクチャ1201、ピクチャ1202及びピクチャ1203が表示順に配置されている。ピクチャ1202が符号化対象であるピクチャであり、ブロックMB1は符号化対象のブロックである。図17では、ピクチャ1200とピクチャ1203とを参照ピクチャとして、ピクチャ1202のブロックMB1の複数ピクチャ間予測が行われる場合が示されている。なお、以下では説明を簡単にするためにピクチャ1203がピクチャ1202の後方、ピクチャ1200がピクチャ1202の前方として説明するが、必ずしもピクチャ1203およびピクチャ1200がこの順序で並んでいる必要は無い。
【0007】
ピクチャ1202より後方にある参照ピクチャであるピクチャ1203が、前方にあるピクチャ1200を参照する動きベクトルを有している。そこで、符号化対象のピクチャ1202の後方に位置するピクチャ1203の参照ブロックMB2が有する動きベクトルMV1を用いて、符号化対象ブロックMB1の動きベクトルを決定する。求める2つの動きベクトルMVf、MVbは以下の式1(a)及び式1(b)を用いて算出される。
【0008】
MVf=MV1×TRf/TR1 …式1(a)
MVb=−MV1×TRb/TR1 …式1(b)
ここで、MVfは符号化対象ブロックMB1の前方向動きベクトル、MVbは符号化対象ブロックMB1の後方向動きベクトル、TR1はピクチャ1200とピクチャ1203との時間の間隔(動きベクトルMV1の参照先ピクチャまでの時間の間隔)、TRfはピクチャ1200とピクチャ1202との時間の間隔(動きベクトルMVfの参照先ピクチャまでの時間の間隔)、TRbはピクチャ1202とピクチャ1203との時間の間隔(動きベクトルMVbの参照先ピクチャまでの時間の間隔)。なお、TR1、TRf、TRbについては、ピクチャ間の時間の間隔に限られるものではなく、例えばピクチャごとに割り当てられるピクチャ番号の差を利用したデータ、ピクチャの表示順序(またはピクチャの表示順序を示す情報)の差を利用したデータ、ピクチャ間の枚数を利用したデータなど、ピクチャ間の表示順における時間的な間隔が認識でき、動きベクトルのスケーリングで用いられる指標となるデータ(ストリーム中で明示的もしくは暗示的に含まれているデータ、もしくはストリームに関連付けられているデータ)であればよい。
【0009】
次に、動きベクトルを求める処理の流れについて説明する。図18は、動きベクトルを求める処理の流れを示すフローチャートである。まず、参照ブロックMB2の有する動きベクトルの情報が取得される(ステップS1301)。図17の例では、動きベクトルMV1の情報が取得される。次に、符号化対象ブロックMB1の動きベクトルを導出するためのパラメータが取得される(ステップS1302)。符号化対象ブロックMB1の動きベクトルを導出するためのパラメータとは、ステップS1301で取得された動きベクトルをスケーリングする際に用いられるスケーリング係数データである。具体的には、式1(a)及び式1(b)におけるTR1、TRf、TRbが該当する。次に、これらのパラメータにより前述の式1(a)及び式1(b)を用いて乗除算で、ステップS1301で取得された動きベクトルをスケーリングし、符号化対象ブロックMB1の動きベクトルMVf及びMVbを導出する(ステップS1303)。
【0010】
【非特許文献1】
ISO/IEC MPEG and ITU-T VCEG
Working Draft Number 2,Revision 2
2002-03-15、P.64 7.4.2 Motion vectors in direct mode
【0011】
【発明が解決しようとする課題】
上記式1(a)及び式1(b)に示すように動きベクトルを導出するためには除算処理が必要となる。しかし、第一の課題として、除算処理は、加算や乗算といった演算と比べて演算処理に多くの時間がかかる。これでは携帯電話等の低消費電力が要求される機器には、低消費電力仕様で演算能力の低い演算装置が使用されることを鑑みると好ましくない。
【0012】
そこで、除算処理を避けるために、除数に対応する乗数パラメータを参照し、乗算処理により動きベクトルを導出することが考えられる。これにより除算の代わりにより演算量の少ない乗算で演算が可能となり、スケーリングの演算を簡単化できる。
【0013】
しかし、第二の課題として動きベクトルを導出するためのパラメータは、参照ピクチャと対象ブロックのピクチャの間隔によって様々な値が適用されるため、そのパラメータのとりうる値は多い。つまり、全ての除数に対応する乗数パラメータを用意すると膨大なパラメータ数を用意しなければならなく、多くのメモリが必要になる。
【0014】
そこで上記第一の課題と第二の課題を解決するために、本発明は、少ない演算量で、動きベクトルを導出する動きベクトル導出方法、動画像符号化方法、および動画像復号化方法を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る動きベクトル導出方法は、ピクチャを構成するブロックの動きベクトルを導出する動きベクトル導出方法であって、対象ブロックの動きベクトルを導出するための参照動きベクトルを取得する参照動きベクトル取得ステップと、前記参照動きベクトルを有するピクチャと前記参照動きベクトルが参照するピクチャとの間隔に対応する第1パラメータを取得する第1パラメータ取得ステップと、前記対象ブロックを含むピクチャと前記対象ブロックが参照するピクチャとの間隔に対応する少なくとも1つの第2パラメータを取得する第2パラメータ取得ステップと、前記第1パラメータがあらかじめ設定された所定範囲に含まれるか否かを判断する判断ステップと、前記判断ステップでの判断の結果、前記第1パラメータが前記所定範囲に含まれない場合、前記第1所定値および前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出し、一方、前記第1パラメータが前記所定範囲に含まれる場合、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出する動きベクトル導出ステップとを含むことを特徴とする。
【0016】
また、本発明に係る動きベクトル導出方法は、ピクチャを構成するブロックの動きベクトルを導出する動きベクトル導出方法であって、対象ブロックの動きベクトルを導出するための参照動きベクトルを取得する参照動きベクトル取得ステップと、前記参照動きベクトルを有するピクチャと前記参照動きベクトルが参照するピクチャとの間隔に対応する第1パラメータを取得する第1パラメータ取得ステップと、前記対象ブロックを含むピクチャと前記対象ブロックが参照するピクチャとの間隔に対応する少なくとも1つの第2パラメータを取得する第2パラメータ取得ステップと、前記第1パラメータがあらかじめ設定された第1所定値以上であるか否かを判断する判断ステップと、前記判断ステップでの判断の結果、前記第1パラメータが前記第1所定値以上である場合、前記第1所定値および前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出し、一方、前記第1パラメータが前記所定値未満である場合、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出する動きベクトル導出ステップとを含むことを特徴とする。
【0017】
ここで、前記判断ステップでは、さらに、前記第1パラメータがあらかじめ設定された前記第1所定値より小さい値である第2所定値以下であるか否かを判断し、前記動きベクトル導出ステップでは、前記判断ステップでの判断の結果、前記第1パラメータが前記第2所定値以下であれば、前記第2所定値および前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出してもよい。
【0018】
また、前記動きベクトル導出方法は、さらに、前記第1パラメータと前記第1パラメータに対する逆数の値との関係を示す乗数パラメータテーブルを参照して、前記取得された第1パラメータを前記逆数の値に変換し、得られた値を第3パラメータとして取得する変換ステップを含むことが好ましい。
【0019】
また、前記動きベクトル導出ステップでは、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングする際、前記参照動きベクトル、前記第2パラメータ、および前記第3パラメータを乗算して前記対象ブロックの動きベクトルを導出するのが好ましい。
【0020】
これによって、参照動きベクトルをスケーリングする際に必要となる除算処理を乗算処理で行うことができ、さらに参照動きベクトルをスケーリングする際に使用するパラメータの値を所定範囲に制限したことにより、メモリ上に格納する乗数パラメータテーブルを削減することができる。また、符号化処理と復号化処理とで演算誤差による結果の不一致が生じることを防止することができる。
【0021】
また、本発明に係る動きベクトル導出方法は、ピクチャを構成するブロックの動きベクトルを導出する動きベクトル導出方法であって、対象ブロックの動きベクトルを導出するための参照動きベクトルを取得する参照動きベクトル取得ステップと、前記参照動きベクトルを有するピクチャと前記参照動きベクトルが参照するピクチャとの間隔に対応する第1パラメータを取得する第1パラメータ取得ステップと、前記対象ブロックを含むピクチャと前記対象ブロックが参照するピクチャとの間隔に対応する少なくとも1つの第2パラメータを取得する第2パラメータ取得ステップと、前記第1パラメータがあらかじめ設定された第1所定値以上であるか否かを判断する判断ステップと、前記判断ステップでの判断の結果、前記第1パラメータが前記第1所定値以上である場合、前記参照動きベクトルを前記対象ブロックの動きベクトルとして導出し、一方、前記第1パラメータが前記所定値未満である場合、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出する動きベクトル導出ステップとを含むことを特徴とする。
【0022】
ここで、前記判断ステップでは、さらに、前記第1パラメータがあらかじめ設定された前記第1所定値より小さい値である第2所定値以下であるか否かを判断し、前記動きベクトル導出ステップでは、前記判断ステップでの判断の結果、前記第1パラメータが前記第2所定値以下であれば、前記参照動きベクトルを前記対象ブロックの動きベクトルとして導出してもよい。
【0023】
これによって、参照動きベクトルが参照するピクチャと参照動きベクトルを有するピクチャとの間隔が所定範囲以外のとき、動きベクトルの導出を簡略化することができる。
【0024】
また、本発明に係る動画像符号化方法は、動画像を構成する各ピクチャをブロック単位で符号化する動画像符号化方法であって、本発明に係る動きベクトル導出方法により導出された動きベクトルを用いて符号化対象ブロックの動き補償画像を生成する動き補償ステップと、前記動き補償画像を用いて前記符号化対象ブロックを符号化する符号化ステップとを含むことを特徴とする。
【0025】
また、本発明に係る動画像復号化方法は、動画像を構成する各ピクチャがブロック単位で符号化された動画像符号化データを復号化する動画像復号化方法であって、本発明に係る動きベクトル導出方法により導出された動きベクトルを用いて復号化対象ブロックの動き補償画像を生成する動き補償ステップと、前記動き補償画像を用いて前記復号化対象ブロックを復号化する復号化ステップとを含むことを特徴とする。
【0026】
なお、本発明は、このような動きベクトル導出方法、動画像符号化方法および動画像復号化方法として実現することができるだけでなく、このような動きベクトル導出方法、動画像符号化方法および動画像復号化方法が含む特徴的なステップを手段として備える動きベクトル導出装置、動画像符号化装置および動画像復号化装置として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0028】
(実施の形態1)
図1は本実施の形態に係る動画像符号化装置の構成を示すブロック図である。図1の処理において、既に従来の技術で図17を用いて説明した用語については図17における符号と同じ符号を用いて説明する。本実施の形態が従来の技術と異なる点は、符号化対象ピクチャ1202の動きベクトル導出のために用いられるパラメータの数値幅を所定範囲に制限したことである。
【0029】
動画像符号化装置は、図1に示すように動きベクトル符号化部10、動きベクトル導出部11、メモリ12、減算器13、直交変換部14、量子化部15、逆量子化部16、逆直交変換部17、加算器18、および可変長符号化部19を備えている。
【0030】
動きベクトル符号化部10は、各ピクチャの動きベクトル(MV1等)を符号化し、動きベクトルストリームとして出力する。動きベクトル導出部11は、参照ブロックMB2の動きベクトルMVtar(MV1)、パラメータTRtar及びパラメータTR1を用いて符号化対象ブロックMB1の動きベクトルMVscl(MVb及びMVf)を導出する。ここでは既に説明した式1(a)及び式1(b)に基づいて参照ブロックMB2の動きベクトルをスケーリングする。パラメータTRtarは既に説明したTRbまたはTRfに相当する。
【0031】
メモリ12は、参照ピクチャの画像データと動きベクトル導出部11で導出した符号化対象ピクチャ1202の動きベクトルMVsclとを記憶する。また、このメモリ12では、参照ピクチャの画像データと符号化対象ピクチャ1202の動きベクトルMVsclとに基づいて、動き補償データが生成される。減算器13は、入力画像データとメモリ12より入力された動き補償データとの差分を計算し、差分値を得る。直交変換部14は、差分値をDCT変換し、DCT係数を出力する。量子化部15は、DCT係数を量子化ステップを用いて量子化する。逆量子化部16は、量子化されたDCT係数を量子化ステップを用いて逆量子化し、元のDCT係数に戻す。逆直交変換部17は、DCT係数を逆直交変換し差分画像データ(差分値)を出力する。
【0032】
加算器18は、逆直交変換部17からの差分画像データ(差分値)とメモリ12に記憶されている参照ピクチャの画像データとを加算し、符号化対象ピクチャ1202の入力画像データ(元の入力画像データ)に対応する復号画像データを得る。この復号画像データは符号化対象ピクチャ1202より後に符号化される符号化対象ピクチャの符号化の際に参照するための画像データとしてメモリ12に記憶される。可変長符号化部19は、量子化部15で量子化されたDCT係数を可変長符号化する。
【0033】
次に上記のように構成された動画像符号化装置において直接モードによって符号化する際の動作について図1を用いて説明する。
【0034】
各ピクチャの動きベクトルは動きベクトル符号化部10で符号化されて動きベクトルストリームとして出力される。
【0035】
動きベクトル導出部11では、参照ブロックMB2の動きベクトルMVtar(MV1)をパラメータTRtar及びTR1によりスケーリングして符号化対象ブロックMB1の動きベクトルを導出する。メモリ12は、記憶された参照ピクチャの画像データの中から、動きベクトル導出部11で導出した動きベクトルで示す画像を抽出し、動き補償データとして出力する。
【0036】
減算器13により、入力画像データとメモリ12から出力された動き補償データとの差分が計算され、差分値である差分画像データが求められる。差分値は直交変換部14で直交変換されDCT係数に変換される。DCT係数は量子化部15で量子化され、逆量子化部16で元のDCT係数に逆量子化され復元される。DCT係数は逆直交変換部17で差分画像データ(差分値)に逆直交変換して復元され、この差分画像データ(差分値)は、加算器18において、メモリ12から出力された動き補償データと加算されて元の入力画像データに対応する復号画像データが得られる。得られた入力画像データは次の符号化対象ピクチャ符号化の際に参照するための画像データとしてメモリ12に記憶される。
【0037】
また、量子化部15で量子化されたDCT係数は、可変長符号化部19で可変長符号化され、ストリームとして出力される。
【0038】
次にパラメータの数値幅(大きさ)を所定範囲に制限して動きベクトルをスケーリングする構成について図2を用いて説明する。
【0039】
図2は図1の動きベクトル導出部11の構成を示すブロック図である。
【0040】
動きベクトル導出部11は、図2に示すように比較部20、切り換え部21、乗数パラメータテーブル(乗数用)22、乗算器23、25、および乗数パラメータテーブル(除数用)24を備えている。
【0041】
比較部20は、参照ブロックMB2の動きベクトルMVtar(MV1)に係るパラメータTR1が予め定められた所定値を超えるかどうかを比較する。切り換え部21は、比較部20の比較結果に応じて予め記憶されているパラメータTRの最大値を選択するかパラメータTR1を選択するかを切り換える。乗数パラメータテーブル22は、パラメータTRtar(TRbまたはTRf)と乗数(乗算値)の対応を示している。乗算器23は、乗数パラメータテーブル22から出力された乗数パラメータを参照ブロックMB2の動きベクトルMVtar(MV1)に乗じる。
【0042】
乗数パラメータテーブル24は、切り換え部21の出力値と乗算値の対応を示している。乗算器25は、乗数パラメータテーブル24から出力されるパラメータを乗算器23の出力値に乗じる。
【0043】
以下、図2を用いて動作について説明する。この図2に示す動きベクトル導出部11Aは、図1に示す動画像符号化装置のブロック図における動きベクトル導出部11を示している。
【0044】
参照ブロックMB2の動きベクトルMVtar(MV1)に係るパラメータTR1は、比較部20で予め定められた所定値を超えるかどうか比較される。この結果、パラメータTR1が所定値を超えない場合には、切り換え部21は当該パラメータTR1をそのまま選択する。一方、パラメータTR1が所定値を超える場合には、切り換え部21は予め定められた所定値(TRの最大値)を選択する。
【0045】
また、符号化対象ブロックの動きベクトルMVscl(MVbまたはMVf)のパラメータTRtar(TRbまたはTRf)は乗数パラメータテーブル22で対応する乗数パラメータが選択され、選択された乗数パラメータが乗算器23によって参照ブロックMB2の動きベクトルMVtarに乗じられる。
【0046】
乗数パラメータテーブル24では切り換え部21で選択されたパラメータに対応する乗数パラメータが選択され、選択された乗数パラメータが乗算器25によって乗算器23の出力に乗じられる。
【0047】
このようにして、参照ブロックMB2の動きベクトルMVtarに乗算器23及び乗算器25でそれぞれ乗算パラメータを乗じた値(スケーリングされた値)が符号化対象ピクチャ1202の動きベクトルMVsclとなる。
【0048】
図3は乗数パラメータテーブルの一例を示す図であり、この例では図2の乗数パラメータテーブル24に相当する。
【0049】
図3に示す一番左の欄がこのテーブルに入力されるパラメータTR1(除数)を表しており、このパラメータTR1は「1」から「8」までの所定範囲に制限されている。真中の欄はパラメータの逆数(1/TR1)を示している。一番右の欄は乗数パラメータ(Tscl)を示しており、真中の欄に示すパラメータの逆数(1/TR1)に近似された値を示している。実際の計算では一番右の乗算パラメータ(Tscl)が符号化対象ピクチャ1202の動きベクトルMVsclの導出のための値として使用されるため、計算が簡単になる。
【0050】
すなわち、例えば図17に示す符号化対象ブロックMB1の2つの動きベクトルMVf、MVbは、以下の式2(a)及び式2(b)を用いて算出されることになる。
【0051】
MVf= MV1×TRf×Tscl …式2(a)
MVb=−MV1×TRb×Tscl …式2(b)
ここで、MVfは符号化対象ブロックMB1の前方向動きベクトル、MVbは符号化対象ブロックMB1の後方向動きベクトル、Tsclはピクチャ1200とピクチャ1203との間隔の逆数に対応する乗数パラメータ即ち1/TR1であり、TRfはピクチャ1200とピクチャ1702との間隔、TRbはピクチャ1202とピクチャ1203との間隔である。
【0052】
次に、図4を用いて符号化対象ブロックMB1の動きベクトルMVsclを求める処理を説明する。
【0053】
図4は動きベクトルMVsclを求める処理手順を示すフローチャートである。動きベクトル導出部11Aは、参照ブロックMB2の有する動きベクトルMVtarの情報が取得する(ステップS401)。この動きベクトルMVtarは式1(a)、(b)におけるMV1に相当する。次に、動きベクトル導出部11Aは、符号化対象ブロックMB1の動きベクトルMVsclを導出するためのパラメータTRtarおよびパラメータTR1が取得する(ステップS402)。このパラメータTRtarは、式1(a)、(b)におけるTRf及びTRbに該当する。
【0054】
次に、比較部20は、除数に対応するパラメータTR1が予め定められた所定値以上かどうかを判断する(ステップS403)。判断の結果、パラメータTR1が所定値以上であれば、切り換え部21は最大除数に対応するパラメータ(図3の例ではTR1の最大値「8」)を選択する。これによって、動きベクトル導出部11Aは、最大除数に対応するパラメータを用いて、ステップS401で取得された動きベクトルMVtarをスケーリングし、符号化対象ブロックMB1の動きベクトルMVsclを導出する(ステップS405)。一方、取得されたパラメータTR1が所定値未満であれば、切り換え部21は除数に対応するパラメータを選択する。これによって、動きベクトル導出部11Aは、除数に対応するパラメータを用いて同様のスケーリングを行い、符号化対象ブロックMB1の動きベクトルMVsclを導出する(ステップS404)。
【0055】
以上のように、本実施の形態によれば、参照ブロックの動きベクトルをスケーリングする際に使用するパラメータの値を所定値以下制限したことにより、メモリ上に格納する除数に対応する乗数パラメータテーブルを削減でき、また、符号化処理と復号化処理とで演算誤差による結果の不一致が生じることを防止することができるという効果も有する。
【0056】
なお、本実施の形態では、上記判断(ステップS403)においてパラメータTR1が予め定められた所定値以上かどうかを判断しているが、これに限られるものではなく、パラメータTR1が予め定められた所定範囲に含まれるか否かを判断しても構わない。例えば、図5に示すように参照ブロックMB2が有する動きベクトルMV1が後方にあるピクチャを参照する場合、パラメータTR1(除数)およびパラメータTR1に対応する乗数パラメータTsclは、次のように負の値となる。図5において、ピクチャ1500、ピクチャ1501、ピクチャ1502及びピクチャ1503が表示順に配置されている。ピクチャ1501が符号化対象であるピクチャであり、ブロックMB1は符号化対象のブロックである。図5では、ピクチャ1500とピクチャ1503とを参照ピクチャとして、ピクチャ1501のブロックMB1の2方向予測が行われる場合を示している。
【0057】
ピクチャ1501より前方にある参照ピクチャであるピクチャ1500が、後方にあるピクチャ1503を参照する動きベクトルを有している。そこで、符号化対象のピクチャ1501の前方に位置するピクチャ1500の参照ブロックMB2が有する動きベクトルMV1を用いて、符号化対象ブロックMB1の動きベクトルを決定する。求める2つの動きベクトルMVf、MVbは上記式2(a)及び式2(b)を用いて算出される。このように参照ブロックMB2が有する動きベクトルMV1が後方にあるピクチャを参照する場合、パラメータTR1(除数)およびパラメータTR1に対応する乗数パラメータTsclは、負の値となる。
【0058】
よって、パラメータTR1が予め定められた第1の所定値以上であるか否か、およびパラメータTR1が予め定められた第2の所定値以下であるか否かを判断する。この判断の結果、パラメータTR1が第1の所定値以上である場合、最大除数に対応するパラメータを用いて動きベクトルMVtarをスケーリングし、符号化対象ブロックMB1の動きベクトルMVsclを導出する。また、パラメータTR1が第2の所定値以下である場合、最小除数に対応するパラメータを用いて動きベクトルMVtarをスケーリングし、符号化対象ブロックMB1の動きベクトルMVsclを導出する。さらに、パラメータTR1が第1の所定値未満、かつ第2の所定値より大きい場合、パラメータTR1を用いて動きベクトルMVtarをスケーリングし、符号化対象ブロックMB1の動きベクトルMVsclを導出する。
【0059】
なお、従来の技術でも説明したが、本実施の形態において、パラメータTR1及びTRtarのピクチャの間隔は、ピクチャ間の時間の間隔に限られるものではなく、例えばピクチャごとに割り当てられるピクチャ番号の差を利用したデータ、ピクチャの表示順序(またはピクチャの表示順序を示す情報)の差を利用したデータ、ピクチャ間の枚数を利用したデータなど、ピクチャ間の表示順における時間的な間隔が認識でき、動きベクトルのスケーリングで用いられる指標となるデータであれば何でもよい。
【0060】
また、除数を所定の範囲に制限することをしなければ除数に対応する乗数のパラメータは無限個になるため、除数に対応するパラメータテーブルが実現不可能であり、除算を乗算で実現するという仕組み自体が実現できない。
【0061】
なお、パラメータTR1が予め定められた所定範囲に含まれるか否かを判断する一例として、図4に示したように「所定値以上」かどうかを述べたが、「所定値を超える」または「所定値未満」などの条件であっても良い。
【0062】
(実施の形態2)
上記実施の形態1では、参照する動きベクトルである動きベクトルMVtarをスケーリングして動きベクトルMVsclを導出するとき、パラメータTR1と乗数パラメータテーブルが有する除数の上限値とを比較し、TR1が上限値以上のときに乗数パラメータテーブルが有する最大の除数に対応する値を、入力されたパラメータTR1に対応する乗数パラメータとして用いた。本実施の形態2では、パラメータTR1と乗数パラメータテーブルが有する除数の上限値とを比較し、TR1が上限値以上のときに動きベクトルMVtarをスケーリングにより導出せず、入力されたMVtarをそのまま動きベクトルMVsclとする。これにより、上限値以上のときの動きベクトルMVsclの導出処理が簡略化される。以下、本発明の実施の形態2について図面を参照しながら説明する。
【0063】
図6は本実施の形態2に係る動きベクトル導出部の構成を示すブロック図である。この図6に示す動きベクトル導出部11Bは、図1に示す画像符号化装置のブロック図における動きベクトル導出部11を示している。なお、図1に示す画像符号化装置のブロック図における動きベクトル導出部11以外の構成は、実施の形態1において説明したとおりである。よって、図6に示す動きベクトル導出部11Bについて、図3および図17を参照しながら説明する。
【0064】
動きベクトル導出部11Bは、図6に示すように乗数パラメータテーブル(乗数用)50、乗数パラメータテーブル(除数用)51、比較部52、乗算器53、54、および切り換え部55を備えている。
【0065】
この動きベクトル導出部11Bは、図17に示す参照ブロックMB2の動きベクトルMVtar(MV1)、パラメータTRtar(TRfおよびTRb)及びパラメータTR1を用いて符号化対象ブロックMB1の動きベクトル(MVb及びMVf)を導出する。ここでは既に説明した上記式2(a)及び式2(b)を用いて参照ブロックMB2の動きベクトルMVtarをスケーリングする。パラメータTRtarは既に説明したTRbまたはTRfに相当する。
【0066】
比較部52は、参照ブロックMB2の動きベクトルMVtarに係るパラメータTR1が予め定められた所定値を超えるかどうかを比較する。ここで、予め定められた所定値とは、例えば図3に示す乗数パラメータテーブルが有する除数の最大値である「8」である。切り換え部55は、比較部52の比較結果に応じて乗算器54の出力(処理57)または入力された参照ブロックMB2の動きベクトルMVtar(処理58)を選択する。
【0067】
乗数パラメータテーブル(乗数用)50は、パラメータTRtar(TRbまたはTRf)と乗数(乗算値)との対応を示している。乗数パラメータテーブル(除数用)51は、TR1と乗数(除数)との対応を示している。なお、本実施の形態2においては乗数パラメータテーブル50に入力されるTRtarをそのまま乗算器53への入力とするが、これに限られず、乗数パラメータテーブル50において必要に応じて算術処理を行うようにしてもよい。
【0068】
乗算器53は、乗数パラメータテーブル(乗数用)50から出力された乗数パラメータを参照ピクチャ1203の動きベクトルMVtar(MV1)に乗じる。乗算器54は、乗数パラメータテーブル(除数用)51から出力された乗数パラメータを乗算器53の出力値に乗じる。なお、乗算器53と乗算器54の乗算処理の順序は逆になってもよい。
【0069】
次に、図7を用いて図6に示す動きベクトル導出部11Bの動作について説明する。図7は動きベクトルMVsclを求める処理手順を示すフローチャートである。
【0070】
まず、参照ブロックMB2の動きベクトルMVtarを取得する(ステップS601)。次に、符号化対象ブロックMB1の動きベクトルMVsclを導出するためのパラメータ(TR1およびTRtar)を取得する(ステップS602)。
【0071】
次に、上記取得した除数に対応するパラメータTR1が予め定められた所定値以上かどうかを判断する(ステップS603)。判断の結果、除数に対応するパラメータTR1が所定値以上であれば切り換え部55により処理58が選択される。一方、除数に対応するパラメータTR1が所定値以上でなければ切り換え部55により処理57が選択される。
【0072】
切り換え部55により処理58が選択されると、ステップ601で取得された参照する動きベクトルMVTarをそのまま動きベクトルMVsclとする(ステップS605)。一方、切り換え部55により処理57が選択されると、除数(TR1)に対応するパラメータを用いて動きベクトルMVsclが導出される(ステップS604)。つまり、乗算器53と乗算器54の乗算処理の結果が動きベクトルMVsclとなる。
【0073】
図17に示す符号化対象ピクチャ1202は前後2つの動きベクトルMVfとMVbとを有するため、それぞれについて図7の処理がなされる。つまり、動きベクトルMVsclとして動きベクトルMVfを算出するためには、ステップS602において取得するパラメータTRtarはパラメータTRfであり、動きベクトルMVsclとして動きベクトルMVbを算出するためには、ステップS602において取得するパラメータTRtarはパラメータTRbである。
【0074】
以上のように、本実施の形態2によれば、参照ブロックの動きベクトルをスケーリングする際に使用するパラメータの値を所定範囲に制限し、さらに、上限値を超えるとき、動きベクトルMVtarをスケーリングせず、入力されたMVtarをそのまま動きベクトルMVsclとする、といった一定の処理手順を決めることにより、符号化処理と復号化処理とで演算誤差による結果の不一致が生じることを防止することができる。また、動きベクトルを導出するための処理量を減らすことができる。また、メモリ上に格納する乗数パラメータテーブルを削減できる。
【0075】
なお、従来の技術でも説明したが、本実施の形態2においてパラメータTR1及びTRtarは、時間のデータに限らず、ピクチャごとに割り当てられるピクチャ番号の差を利用したデータ(例えば図17でピクチャ1200のピクチャ番号が1200、ピクチャ1203のピクチャ番号が1203の場合、1203から1200を引いて得られる3)、符号化対象ピクチャと参照ピクチャとの間にあるピクチャ枚数を利用したデータ(例えば図17の場合、TR1としてピクチャ1200とピクチャ1203の間にあるピクチャ枚数は2枚であるが、ピクチャ間隔は2+1=3とする)など、ピクチャ間の表示順における時間的な間隔を定量的に定めることができるデータであれば何でもよい。
【0076】
また、本実施の形態2では、パラメータTR1と乗数パラメータテーブルが有する除数の上限値とを比較し、TR1が上限値を超えないときに、乗数パラメータテーブル51を用いて乗算部54で乗算処理を行う例について説明したが、図10に示すように除数パラメータテーブル91を用いて除数部94で除算処理を行うようにしてもよい。この図10に示す動きベクトル導出部11Cは、図1に示す画像符号化装置の構成図における動きベクトル導出部11を示している。なお、図1に示す動画像符号化装置のブロック図における動きベクトル導出部11以外の構成は、実施の形態1において説明したとおりである。また、図10において図6と同一の構成については、図6で用いた符号と同一の符号を用いた。
【0077】
また、上記実施の形態1および実施の形態2では式2(a)及び式2(b)を用いて図17に示す動きベクトルを導出する場合について説明したが、図8や図9に示す動きベクトルを導出する場合でも、本願明細書に記載の発明を利用することができる。
【0078】
まず、図8に示す直接モードにおける動きベクトルの導出方法について説明する。図8において、ピクチャ1700、ピクチャ1701、ピクチャ1702及びピクチャ1703が表示順に配置されており、ブロックMB1は符号化対象ブロックである。図8では、ピクチャ1700とピクチャ1703とを参照ピクチャとして、符号化対象ブロックMB1を双方向予測する例を示す。
【0079】
符号化対象ブロックMB1の動きベクトルMVfおよびMVbは、符号化対象ブロックMB1より表示時間で後方に位置する参照ブロックMB2が有する動きベクトルMV1を用いて、上記の式2(a)と式2(b)により導出することができる。
【0080】
ここで、MVfは符号化対象ブロックMB1の前方向動きベクトル、MVbは符号化対象ブロックMB1の後方向動きベクトル、Tsclはピクチャ1700とピクチャ1703との間隔の逆数に対応する乗数パラメータ即ち1/TR1であり、TRfはピクチャ1701とピクチャ1702との間隔、TRbはピクチャ1702とピクチャ1703との間隔である。
【0081】
なお、TR1、TRf、TRbについては、上記で説明したようにピクチャ間隔を定量的に定めることができるデータであれば何でもよい。また、動きベクトルMVfや動きベクトルMVbを求める処理の流れについては図4または図7で説明した通りである。
【0082】
次に、図9に示す動きベクトルの導出方法について説明する。図9において、ピクチャ1800、ピクチャ1801及びピクチャ1802が表示順に配置されており、ブロックMB1は符号化対象ブロックである。図9では、符号化対象ブロックMB1はピクチャ1800とピクチャ1801とを参照ピクチャとして予測され、動きベクトルMV1と動きベクトルMV2とを有する。また、動きベクトルMV2は動きベクトルMV1を以下のようにスケーリングした動きベクトルMVsclを用いて予測符号化される。
【0083】
まず、符号化対象ブロックMB1から、動きベクトルMV2が参照するピクチャ1800へのベクトルである動きベクトルMVsclが以下の式を用いて導出される。なお、符号化される動きベクトルMV2自体は所定の方法で導出されているものとする。式3(a)及び式3(b)は実施の形態1で示した場合に適用でき、式4(a)及び式4(b)は実施の形態2で示した場合に適用できる。
【0084】
MVscl=MV1×TR3×Tscl (TR1<上限値)式3(a)
MVscl=MV1×TR3×TsclMin(TR1≧上限値)式3(b)
MVscl=MV1×TR3×Tscl (TR1<上限値)式4(a)
MVscl=MV1 (TR1≧上限値)式4(b)
ここで、Tsclは、TR1をピクチャ1801とピクチャ1802との間隔としたときのTR1の逆数、上限値とは乗数パラメータテーブル51(除数用)における最大の除数(図3では「8」)、TsclMinは、乗数パラメータテーブル51(除数用)における最大の除数(TR1)に対応する乗数パラメータ、TR3はピクチャ1800とピクチャ1802との間隔、TR1はピクチャ1801とピクチャ1802との間隔である。
【0085】
次に、動きベクトルMV2を符号化するためには、動きベクトルMV2自体を符号化せず、式3(a)から式4(b)いずれかを用いて導出された動きベクトルMVsclと所定の方法で導出されている動きベクトルMV2との差(差分ベクトル)のみを符号化し、復号化処理において、符号化された差分ベクトルと動きベクトルMV1をスケーリングしたMVsclとを用いて動きベクトルMV2が導出されることになる。
【0086】
なお、TR1、TR3については、上記で説明したようにピクチャ間の表示順における時間的な間隔を定量的に定めることができるデータであれば何でもよい。また、動きベクトルMVsclを求める処理の流れについては図4または図7で説明した通りである。また、図3で示した乗数パラメータテーブルは、上限値を「8」としているが、これに限られず、「16」や「32」としてもよい。ただ、除数が大きくなると、除数に対応する逆数の変化が小さくなるため、上限値を大きく設定し作成した乗数パラメータを用いても導出される動きベクトルの誤差はかなり小さい。
【0087】
(実施の形態3)
図11は、本実施の形態に係る動画像復号化装置の構成を示すブロック図である。
【0088】
動画像復号化装置は、図11に示すように可変長復号化部1000、逆量子化部1001、逆直交変換部1002、加算演算部1003、動きベクトル用復号化部1004、動きベクトル導出部1005、およびメモリ1006を備えている。なお、動きベクトル導出部1005の構成および動作については、上記実施の形態1および実施の形態2と同様であるので詳しい説明を省略する。
【0089】
可変長復号化部1000は、上記した各実施の形態に係る動画像符号化装置から出力された符号化済データストリームに可変長復号化処理を実行して逆量子化部1001に予測誤差符号化データを出力するとともに、動きベクトル導出パラメータTRtar、TR1を動きベクトル導出部1005に出力する。逆量子化部1001は、入力された予測誤差符号化データを逆量子化する。逆直交変換部1002は、逆量子化された予測誤差符号化データを逆直交変換し、差分画像データを出力する。
【0090】
動きベクトル用復号化部1004は、入力された動きベクトルストリームを復号化し、動きベクトルの情報を抽出する。動きベクトル導出部1005は、参照ブロックMB2の動きベクトルMVtar、パラメータTRtar及びパラメータTR1を用いて符号化対象ブロックMB1の動きベクトルMVscl(MVb及びMVf)を導出する。メモリ1006は、参照ピクチャの画像データと動きベクトル導出部1005で導出された符号化対象ブロックMB1の動きベクトルMVsclとを記憶する。また、メモリ1006は、参照ピクチャの画像データと符号化対象ブロックMB1の動きベクトルMVsclとに基づいて、動き補償データを生成する。加算演算部1003は、入力された差分画像データと動き補償データとを加算し、復号化画像が生成して出力する。
【0091】
次に、上記のように構成された動画像復号化装置において直接モードによって復号化する際の動作について説明する。
【0092】
動画像符号化装置から出力された符号化済データストリームは、可変長復号化部1000へ入力される。可変長復号化部1000は、符号化済データストリームに可変長復号化処理を実行して逆量子化部1001に差分符号化データを出力するとともに、パラメータTRtar、TR1を動きベクトル導出部1005に出力する。逆量子化部1001へ入力された差分符号化データは逆量子化された後、逆直交変換部1002で逆直交変換されて差分画像データとして加算演算部1003に出力される。
【0093】
また、本実施の形態に係る動画像復号化装置に入力された動きベクトルストリームは動きベクトル用復号化部1004に入力され、動きベクトルの情報が抽出される。具体的には、動きベクトル用復号化部1004は、動きベクトルストリームを復号化し、動きベクトル導出パラメータMVtarを動きベクトル導出部1005に出力する。続いて、動きベクトル導出部1005では、動きベクトルMVtar、パラメータTRtarおよびTR1を用いて符号化対象ブロックの動きベクトルMVscl(MVb及びMVf)を導出する。そして、メモリ1006は、記憶している参照ピクチャの画像データの中から、動きベクトル導出部1005で導出された動きベクトルで示される画像を抽出し、動き補償データとして出力する。加算演算部1003は、入力された差分画像データと動き補償データとを加算し、復号画像データを生成して最終的に再生画像として出力する。
【0094】
(実施の形態4)
さらに、上記各実施の形態で示した動画像符号化方法または動画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【0095】
図12は、実施の形態1〜実施の形態3の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
【0096】
図12(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図12(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての動画像符号化方法が記録されている。
【0097】
また、図12(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての動画像符号化方法または動画像復号化方法をフレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【0098】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
【0099】
さらにここで、上記実施の形態で示した動画像符号化方法や動画像復号化方法の応用例とそれを用いたシステムを説明する。
【0100】
図13は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
【0101】
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
【0102】
しかし、コンテンツ供給システムex100は図13のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
【0103】
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
【0104】
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
【0105】
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【0106】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した動画像符号化装置あるいは動画像復号化装置を用いるようにすればよい。
【0107】
その一例として携帯電話について説明する。
【0108】
図14は、上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
【0109】
さらに、携帯電話ex115について図15を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
【0110】
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
【0111】
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
【0112】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
【0113】
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
【0114】
画像符号化部ex312は、本願発明で説明した動画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した動画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
【0115】
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
【0116】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
【0117】
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
【0118】
次に、画像復号化部ex309は、本願発明で説明した動画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号化することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【0119】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図16に示すようにディジタル放送用システムにも上記実施の形態の少なくとも動画像符号化装置または動画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した動画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に動画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
【0120】
更に、画像信号を上記実施の形態で示した動画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した動画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
【0121】
なお、カーナビゲーションex413の構成は例えば図15に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
【0122】
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
【0123】
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【0124】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0125】
【発明の効果】
以上の説明から明らかなように、本発明に係る動きベクトル導出方法よれば、参照動きベクトルをスケーリングする際に必要となる除算処理を乗算処理で行うことができるので、少ない演算量で動きベクトルを導出することができる。また、参照動きベクトルをスケーリングする際に使用するパラメータの値を所定範囲に制限したことにより、メモリ上に格納する乗数パラメータテーブルを削減することができる。よって、動きベクトルを導出するときの処理負荷が小さいため、処理能力の低い機器であっても処理可能であり、その実用的価値は大きい。
【図面の簡単な説明】
【図1】本発明の動画像符号化装置の構成を示すブロック図である。
【図2】本発明の動きベクトル導出部の構成を示すブロック図である。
【図3】本発明の乗数パラメータテーブルを示す図である。
【図4】本発明の動きベクトルを導出する方法を示すフロー図である。
【図5】本発明の動きベクトルの説明図である。
【図6】本発明の動きベクトル導出部の構成を示すブロック図である。
【図7】本発明の動きベクトルを導出する方法を示すフロー図である。
【図8】本発明の動きベクトルの説明図である。
【図9】本発明の動きベクトルの説明図である。
【図10】本発明の動きベクトル導出部の構成を示すブロック図である。
【図11】本発明の動画像復号化装置の構成を示すブロック図である。
【図12】各実施の形態の動画像符号化方法および動画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図であり、(a) 記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示した説明図、(b) フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示した説明図、(c) フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示した説明図である。
【図13】コンテンツ供給システムの全体構成を示すブロック図である。
【図14】携帯電話の例を示す概略図である。
【図15】携帯電話の構成を示すブロック図である。
【図16】ディジタル放送用システムの例を示す図である。
【図17】動きベクトルの説明図である。
【図18】従来の動きベクトルを求める処理の流れを示すフロー図である。
【符号の説明】
10 動きベクトル符号化部
11 動きベクトル導出部
12 メモリ
13 減算器
14 直交変換部
15 量子化部
16 逆量子化部
17 逆直交変換部
18 加算器
19 可変長符号化部
20 比較部
21 切り換え部
22 乗数パラメータテーブル(乗数用)
23、25 乗算器
24 乗数パラメータテーブル(除数用)
1000 可変長復号化部
1001 逆量子化部
1002 逆直交変換部
1003 加算演算部
1004 動きベクトル用復号化部
1005 動きベクトル導出部
1006 メモリ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motion vector deriving method for deriving a motion vector indicating motion in units of blocks between images, and a moving image that encodes a moving image by inter-picture predictive coding with motion compensation using the derived motion vector. The present invention relates to an encoding method and a moving image decoding method.
[0002]
[Prior art]
In recent years, with the development of multimedia applications, it has become common to handle all media information such as images, sounds and texts in a unified manner. At this time, the media can be handled uniformly by digitizing all the media. However, since a digitized image has an enormous amount of data, image information compression technology is indispensable for storage and transmission. On the other hand, in order to interoperate compressed image data, standardization of compression technology is also important. Image compression technology standards include ITU-T (International Telecommunication Union Telecommunication Standardization Sector) H.261, H.263, ISO (International Organization for Standardization) MPEG (Moving Picture Experts Group) -1, MPEG- 2, MPEG-4 and so on.
[0003]
Inter-picture prediction with motion compensation is a common technique for these video coding systems. In motion compensation of these moving image coding methods, each picture constituting an input image is divided into rectangles of a predetermined size (hereinafter referred to as blocks), and each block is coded from a motion vector indicating motion between pictures. And a prediction image to be referred to in decoding is generated.
[0004]
The motion vector is detected for each block or for each area obtained by dividing the block. An encoded picture that is positioned forward or backward (hereinafter simply referred to as forward or backward) in accordance with the display order of the images with respect to the picture to be encoded is referred to as a reference picture. In motion detection, a block (region) that can predict the encoding target block most appropriately is selected from the reference pictures, and the relative position of the block with respect to the encoding target block is set as an optimal motion vector. At the same time, a prediction mode, which is information for specifying a prediction method that can be most appropriately predicted from the pictures that can be referred to, is determined.
[0005]
As a prediction mode, for example, there is a direct mode in which inter-picture prediction encoding is performed with reference to a picture that is forward or backward in display time (see, for example, Non-Patent Document 1). In the direct mode, the motion vector is not explicitly encoded as encoded data, but is derived from an already encoded motion vector. That is, a motion vector of a block (hereinafter referred to as a reference block) at the same coordinate position (spatial position) in a block of the picture to be coded and a block of the picture to be coded in a coded picture adjacent to the picture to be coded. Is referred to, the motion vector of the encoding target block is calculated. Then, a predicted image (motion compensation data) is generated based on the calculated motion vector. In decoding, a direct mode motion vector is derived from a motion vector already decoded in the same manner.
[0006]
Here, the calculation of the motion vector in the direct mode will be specifically described. FIG. 17 is an explanatory diagram of motion vectors in the direct mode. In FIG. 17, a picture 1200, a picture 1201, a picture 1202, and a picture 1203 are arranged in the display order. A picture 1202 is a picture to be encoded, and a block MB1 is a block to be encoded. FIG. 17 illustrates a case where inter-picture prediction is performed on the block MB1 of the picture 1202 using the picture 1200 and the picture 1203 as reference pictures. In the following description, the picture 1203 is described as the rear of the picture 1202 and the picture 1200 is the front of the picture 1202 for simplicity of description. However, the picture 1203 and the picture 1200 are not necessarily arranged in this order.
[0007]
A picture 1203, which is a reference picture behind the picture 1202, has a motion vector that refers to the picture 1200 ahead. Therefore, the motion vector of the encoding target block MB1 is determined using the motion vector MV1 of the reference block MB2 of the picture 1203 located behind the encoding target picture 1202. The two motion vectors MVf and MVb to be obtained are calculated using the following equations 1 (a) and 1 (b).
[0008]
MVf = MV1 × TRf / TR1 Formula 1 (a)
MVb = −MV1 × TRb / TR1 Formula 1 (b)
Here, MVf is the forward motion vector of the encoding target block MB1, MVb is the backward motion vector of the encoding target block MB1, TR1 is the time interval between the picture 1200 and the picture 1203 (up to the reference picture of the motion vector MV1) TRf is the time interval between the picture 1200 and the picture 1202 (time interval from the motion vector MVf to the reference picture), and TRb is the time interval between the picture 1202 and the picture 1203 (the motion vector MVb Time interval to reference picture). Note that TR1, TRf, and TRb are not limited to the time interval between pictures. For example, data using the difference in picture numbers assigned to each picture, the display order of pictures (or the display order of pictures) are shown. Data that uses the difference in information), data that uses the number of pictures, and other data that can recognize the time interval in the display order between pictures and that serves as an index used in motion vector scaling (explicitly in the stream) Or data implicitly included or data associated with a stream).
[0009]
Next, the flow of processing for obtaining a motion vector will be described. FIG. 18 is a flowchart showing a flow of processing for obtaining a motion vector. First, information on a motion vector included in the reference block MB2 is acquired (step S1301). In the example of FIG. 17, information on the motion vector MV1 is acquired. Next, parameters for deriving the motion vector of the encoding target block MB1 are acquired (step S1302). The parameter for deriving the motion vector of the encoding target block MB1 is scaling coefficient data used when scaling the motion vector acquired in step S1301. Specifically, TR1, TRf, and TRb in Formula 1 (a) and Formula 1 (b) are applicable. Next, the motion vector obtained in step S1301 is scaled by multiplication and division using the above-described equations 1 (a) and 1 (b) by these parameters, and the motion vectors MVf and MVb of the encoding target block MB1 are scaled. Is derived (step S1303).
[0010]
[Non-Patent Document 1]
ISO / IEC MPEG and ITU-T VCEG
Working Draft Number 2, Revision 2
2002-03-15, P.64 7.4.2 Motion vectors in direct mode
[0011]
[Problems to be solved by the invention]
As shown in the above equations 1 (a) and 1 (b), division processing is required to derive the motion vector. However, as a first problem, the division process takes a lot of time for the calculation process compared to the calculation such as addition and multiplication. This is not preferable in view of the use of a computing device with low power consumption specifications and low computing power for devices such as mobile phones that require low power consumption.
[0012]
Therefore, in order to avoid division processing, it is conceivable to derive a motion vector by multiplication processing with reference to a multiplier parameter corresponding to the divisor. As a result, instead of division, calculation can be performed with multiplication with a small amount of calculation, and scaling calculation can be simplified.
[0013]
However, as a second problem, since various values are applied to the parameter for deriving the motion vector depending on the interval between the reference picture and the picture of the target block, there are many possible values for the parameter. That is, if multiplier parameters corresponding to all divisors are prepared, a huge number of parameters must be prepared, and a large amount of memory is required.
[0014]
Therefore, in order to solve the first and second problems, the present invention provides a motion vector deriving method, a moving image encoding method, and a moving image decoding method for deriving a motion vector with a small amount of calculation. The purpose is to do.
[0015]
[Means for Solving the Problems]
To achieve the above object, a motion vector deriving method according to the present invention is a motion vector deriving method for deriving a motion vector of a block constituting a picture, and a reference motion vector for deriving a motion vector of a target block A reference motion vector obtaining step for obtaining a first parameter, a first parameter obtaining step for obtaining a first parameter corresponding to an interval between a picture having the reference motion vector and a picture referenced by the reference motion vector, and the target block A second parameter acquisition step of acquiring at least one second parameter corresponding to an interval between a picture and a picture referred to by the target block; and determining whether the first parameter is included in a predetermined range set in advance And a result of the determination in the determination step, When the first parameter is not included in the predetermined range, the reference motion vector is scaled based on the first predetermined value and the second parameter to derive the motion vector of the target block, A motion vector deriving step of deriving a motion vector of the target block by scaling the reference motion vector based on the first parameter and the second parameter when a parameter is included in the predetermined range; To do.
[0016]
The motion vector deriving method according to the present invention is a motion vector deriving method for deriving a motion vector of a block constituting a picture, and is a reference motion vector for obtaining a reference motion vector for deriving a motion vector of a target block. An obtaining step; a first parameter obtaining step for obtaining a first parameter corresponding to an interval between a picture having the reference motion vector and a picture referred to by the reference motion vector; a picture including the target block; A second parameter acquisition step of acquiring at least one second parameter corresponding to an interval with a picture to be referred to; and a determination step of determining whether or not the first parameter is equal to or greater than a first predetermined value set in advance. As a result of the determination in the determination step, the first parameter If it is greater than or equal to the first predetermined value, the reference motion vector is scaled based on the first predetermined value and the second parameter to derive a motion vector of the target block, while the first parameter is the predetermined value And a motion vector deriving step of deriving a motion vector of the target block by scaling the reference motion vector based on the first parameter and the second parameter.
[0017]
Here, in the determination step, it is further determined whether or not the first parameter is equal to or less than a second predetermined value that is smaller than the first predetermined value set in advance, and in the motion vector derivation step, If the result of determination in the determining step is that the first parameter is less than or equal to the second predetermined value, the reference motion vector is scaled based on the second predetermined value and the second parameter, and the motion of the target block A vector may be derived.
[0018]
Further, the motion vector deriving method further refers to a multiplier parameter table indicating a relationship between the first parameter and a reciprocal value with respect to the first parameter, and converts the acquired first parameter into the reciprocal value. It is preferable to include a conversion step of converting and obtaining the obtained value as the third parameter.
[0019]
In the motion vector deriving step, when the reference motion vector is scaled based on the first parameter and the second parameter, the reference motion vector, the second parameter, and the third parameter are multiplied, and It is preferable to derive a motion vector of the target block.
[0020]
As a result, the division processing necessary for scaling the reference motion vector can be performed by multiplication processing, and the parameter value used for scaling the reference motion vector is limited to a predetermined range. Can be reduced. In addition, it is possible to prevent a mismatch of results due to an operation error between the encoding process and the decoding process.
[0021]
The motion vector deriving method according to the present invention is a motion vector deriving method for deriving a motion vector of a block constituting a picture, and is a reference motion vector for obtaining a reference motion vector for deriving a motion vector of a target block. An obtaining step; a first parameter obtaining step for obtaining a first parameter corresponding to an interval between a picture having the reference motion vector and a picture referred to by the reference motion vector; a picture including the target block; A second parameter acquisition step of acquiring at least one second parameter corresponding to an interval with a picture to be referred to; and a determination step of determining whether or not the first parameter is equal to or greater than a first predetermined value set in advance. As a result of the determination in the determination step, the first parameter If it is greater than or equal to the first predetermined value, the reference motion vector is derived as a motion vector of the target block, while if the first parameter is less than the predetermined value, the first parameter and the second parameter are And a motion vector deriving step of deriving a motion vector of the target block by scaling the reference motion vector based on the reference motion vector.
[0022]
Here, in the determination step, it is further determined whether or not the first parameter is equal to or less than a second predetermined value that is smaller than the first predetermined value set in advance, and in the motion vector derivation step, As a result of the determination in the determination step, if the first parameter is equal to or less than the second predetermined value, the reference motion vector may be derived as a motion vector of the target block.
[0023]
Thereby, when the interval between the picture referred to by the reference motion vector and the picture having the reference motion vector is outside the predetermined range, the derivation of the motion vector can be simplified.
[0024]
The moving picture coding method according to the present invention is a moving picture coding method for coding each picture constituting a moving picture in units of blocks, and the motion vector derived by the motion vector deriving method according to the present invention. And a motion compensation step of generating a motion compensated image of the encoding target block using the encoding, and an encoding step of encoding the encoding target block using the motion compensation image.
[0025]
The moving picture decoding method according to the present invention is a moving picture decoding method for decoding moving picture encoded data in which each picture constituting a moving picture is encoded in units of blocks. A motion compensation step of generating a motion compensated image of the decoding target block using the motion vector derived by the motion vector deriving method; and a decoding step of decoding the decoding target block using the motion compensated image. It is characterized by including.
[0026]
The present invention can be realized not only as such a motion vector deriving method, moving image encoding method and moving image decoding method, but also as such a motion vector deriving method, moving image encoding method and moving image. It can be realized as a motion vector deriving device, a moving image encoding device, and a moving image decoding device having the characteristic steps included in the decoding method as means, or as a program for causing a computer to execute these steps. it can. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM or a transmission medium such as the Internet.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0028]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a moving picture encoding apparatus according to the present embodiment. In the processing of FIG. 1, the terms already described with reference to FIG. 17 in the prior art will be described using the same reference numerals as those in FIG. 17. The difference between the present embodiment and the prior art is that the numerical value width of parameters used for deriving the motion vector of the encoding target picture 1202 is limited to a predetermined range.
[0029]
As shown in FIG. 1, the moving image encoding apparatus includes a motion vector encoding unit 10, a motion vector derivation unit 11, a memory 12, a subtractor 13, an orthogonal transformation unit 14, a quantization unit 15, an inverse quantization unit 16, and an inverse quantization unit. An orthogonal transform unit 17, an adder 18, and a variable length coding unit 19 are provided.
[0030]
The motion vector encoding unit 10 encodes a motion vector (such as MV1) of each picture and outputs it as a motion vector stream. The motion vector deriving unit 11 derives the motion vector MVscl (MVb and MVf) of the encoding target block MB1 using the motion vector MVtar (MV1) of the reference block MB2, the parameter TRtar and the parameter TR1. Here, the motion vector of the reference block MB2 is scaled based on the equations 1 (a) and 1 (b) already described. The parameter TRtar corresponds to TRb or TRf already described.
[0031]
The memory 12 stores the image data of the reference picture and the motion vector MVscl of the encoding target picture 1202 derived by the motion vector deriving unit 11. In the memory 12, motion compensation data is generated based on the image data of the reference picture and the motion vector MVscl of the encoding target picture 1202. The subtractor 13 calculates a difference between the input image data and the motion compensation data input from the memory 12 to obtain a difference value. The orthogonal transform unit 14 DCT-transforms the difference value and outputs a DCT coefficient. The quantization unit 15 quantizes the DCT coefficient using a quantization step. The inverse quantization unit 16 inversely quantizes the quantized DCT coefficient using a quantization step, and returns the original DCT coefficient to the original DCT coefficient. The inverse orthogonal transform unit 17 performs inverse orthogonal transform on the DCT coefficient and outputs difference image data (difference value).
[0032]
The adder 18 adds the difference image data (difference value) from the inverse orthogonal transform unit 17 and the image data of the reference picture stored in the memory 12, and inputs the input image data (original input) of the encoding target picture 1202. Decoded image data corresponding to (image data) is obtained. This decoded image data is stored in the memory 12 as image data to be referred to when encoding the encoding target picture encoded after the encoding target picture 1202. The variable length coding unit 19 performs variable length coding on the DCT coefficient quantized by the quantization unit 15.
[0033]
Next, an operation at the time of encoding in the direct mode in the moving image encoding apparatus configured as described above will be described with reference to FIG.
[0034]
The motion vector of each picture is encoded by the motion vector encoding unit 10 and output as a motion vector stream.
[0035]
The motion vector deriving unit 11 derives a motion vector of the encoding target block MB1 by scaling the motion vector MVtar (MV1) of the reference block MB2 with the parameters TRtar and TR1. The memory 12 extracts an image indicated by the motion vector derived by the motion vector deriving unit 11 from the stored image data of the reference picture and outputs it as motion compensation data.
[0036]
The subtracter 13 calculates the difference between the input image data and the motion compensation data output from the memory 12, and obtains difference image data that is a difference value. The difference value is orthogonally transformed by the orthogonal transformation unit 14 and converted into a DCT coefficient. The DCT coefficient is quantized by the quantizing unit 15, and dequantized and restored to the original DCT coefficient by the inverse quantizing unit 16. The DCT coefficient is restored by inverse orthogonal transform to difference image data (difference value) in the inverse orthogonal transform unit 17, and the difference image data (difference value) is added to the motion compensation data output from the memory 12 in the adder 18. The decoded image data corresponding to the original input image data is obtained by addition. The obtained input image data is stored in the memory 12 as image data for reference at the time of the next encoding target picture encoding.
[0037]
The DCT coefficient quantized by the quantizing unit 15 is variable-length encoded by the variable-length encoding unit 19 and output as a stream.
[0038]
Next, a configuration for scaling a motion vector by limiting the numerical value width (size) of a parameter to a predetermined range will be described with reference to FIG.
[0039]
FIG. 2 is a block diagram showing a configuration of the motion vector deriving unit 11 of FIG.
[0040]
As shown in FIG. 2, the motion vector deriving unit 11 includes a comparison unit 20, a switching unit 21, a multiplier parameter table (for multiplier) 22, multipliers 23 and 25, and a multiplier parameter table (for divisor) 24.
[0041]
The comparison unit 20 compares whether or not the parameter TR1 related to the motion vector MVtar (MV1) of the reference block MB2 exceeds a predetermined value. The switching unit 21 switches whether to select the maximum value of the parameter TR stored in advance or the parameter TR1 according to the comparison result of the comparison unit 20. The multiplier parameter table 22 shows the correspondence between the parameter TRtar (TRb or TRf) and the multiplier (multiplication value). The multiplier 23 multiplies the motion vector MVtar (MV1) of the reference block MB2 by the multiplier parameter output from the multiplier parameter table 22.
[0042]
The multiplier parameter table 24 shows the correspondence between the output value of the switching unit 21 and the multiplication value. The multiplier 25 multiplies the output value of the multiplier 23 by the parameter output from the multiplier parameter table 24.
[0043]
The operation will be described below with reference to FIG. The motion vector deriving unit 11A illustrated in FIG. 2 represents the motion vector deriving unit 11 in the block diagram of the video encoding device illustrated in FIG.
[0044]
The parameter TR1 related to the motion vector MVtar (MV1) of the reference block MB2 is compared by the comparison unit 20 to determine whether it exceeds a predetermined value. As a result, when the parameter TR1 does not exceed the predetermined value, the switching unit 21 selects the parameter TR1 as it is. On the other hand, when the parameter TR1 exceeds a predetermined value, the switching unit 21 selects a predetermined value (the maximum value of TR).
[0045]
The parameter TRtar (TRb or TRf) of the motion vector MVscl (MVb or MVf) of the block to be encoded is selected as a corresponding multiplier parameter in the multiplier parameter table 22, and the selected multiplier parameter is referred to by the multiplier 23 as a reference block MB2. Is multiplied by the motion vector MVtar.
[0046]
In the multiplier parameter table 24, a multiplier parameter corresponding to the parameter selected by the switching unit 21 is selected, and the selected multiplier parameter is multiplied by the output of the multiplier 23 by the multiplier 25.
[0047]
In this way, a value (scaled value) obtained by multiplying the motion vector MVtar of the reference block MB2 by the multiplication parameter by the multiplier 23 and the multiplier 25 is the motion vector MVscl of the encoding target picture 1202.
[0048]
FIG. 3 is a diagram showing an example of the multiplier parameter table. In this example, the multiplier parameter table corresponds to the multiplier parameter table 24 of FIG.
[0049]
The leftmost column shown in FIG. 3 represents a parameter TR1 (divisor) input to this table, and this parameter TR1 is limited to a predetermined range from “1” to “8”. The middle column shows the reciprocal of the parameter (1 / TR1). The rightmost column shows the multiplier parameter (Tscl), which is a value approximated to the reciprocal (1 / TR1) of the parameter shown in the middle column. In the actual calculation, the rightmost multiplication parameter (Tscl) is used as a value for deriving the motion vector MVscl of the encoding target picture 1202, and thus the calculation is simplified.
[0050]
That is, for example, the two motion vectors MVf and MVb of the encoding target block MB1 shown in FIG. 17 are calculated using the following equations 2 (a) and 2 (b).
[0051]
MVf = MV1 × TRf × Tscl Equation 2 (a)
MVb = −MV1 × TRb × Tscl Equation 2 (b)
Here, MVf is the forward motion vector of the encoding target block MB1, MVb is the backward motion vector of the encoding target block MB1, and Tscl is a multiplier parameter corresponding to the reciprocal of the interval between the picture 1200 and the picture 1203, that is, 1 / TR1. TRf is the interval between the picture 1200 and the picture 1702, and TRb is the interval between the picture 1202 and the picture 1203.
[0052]
Next, a process for obtaining the motion vector MVscl of the encoding target block MB1 will be described with reference to FIG.
[0053]
FIG. 4 is a flowchart showing a processing procedure for obtaining the motion vector MVscl. The motion vector deriving unit 11A acquires information on the motion vector MVtar included in the reference block MB2 (step S401). This motion vector MVtar corresponds to MV1 in equations 1 (a) and (b). Next, the motion vector deriving unit 11A acquires the parameter TRtar and the parameter TR1 for deriving the motion vector MVscl of the encoding target block MB1 (step S402). The parameter TRtar corresponds to TRf and TRb in the equations 1 (a) and (b).
[0054]
Next, the comparison unit 20 determines whether or not the parameter TR1 corresponding to the divisor is greater than or equal to a predetermined value (step S403). If the parameter TR1 is equal to or greater than the predetermined value as a result of the determination, the switching unit 21 selects a parameter corresponding to the maximum divisor (the maximum value “8” of TR1 in the example of FIG. 3). Accordingly, the motion vector deriving unit 11A uses the parameter corresponding to the maximum divisor to scale the motion vector MVtar acquired in step S401, and derives the motion vector MVscl of the encoding target block MB1 (step S405). On the other hand, if the acquired parameter TR1 is less than the predetermined value, the switching unit 21 selects a parameter corresponding to the divisor. Accordingly, the motion vector deriving unit 11A performs similar scaling using the parameter corresponding to the divisor, and derives the motion vector MVscl of the encoding target block MB1 (step S404).
[0055]
As described above, according to the present embodiment, the multiplier parameter table corresponding to the divisor stored in the memory is obtained by limiting the parameter value used when scaling the motion vector of the reference block to a predetermined value or less. In addition, there is an effect that it is possible to prevent a mismatch of results due to an operation error between the encoding process and the decoding process.
[0056]
In the present embodiment, it is determined whether or not the parameter TR1 is equal to or greater than a predetermined value in the above determination (step S403). However, the present invention is not limited to this, and the parameter TR1 is a predetermined value. It may be determined whether or not it is included in the range. For example, as shown in FIG. 5, when referring to a picture in which the motion vector MV1 included in the reference block MB2 is behind, the parameter TR1 (divisor) and the multiplier parameter Tscl corresponding to the parameter TR1 have a negative value as follows: Become. In FIG. 5, a picture 1500, a picture 1501, a picture 1502, and a picture 1503 are arranged in the display order. A picture 1501 is a picture to be encoded, and a block MB1 is a block to be encoded. FIG. 5 shows a case where bi-directional prediction of block MB1 of picture 1501 is performed using picture 1500 and picture 1503 as reference pictures.
[0057]
A picture 1500 that is a reference picture ahead of the picture 1501 has a motion vector that refers to the picture 1503 behind. Therefore, the motion vector of the encoding target block MB1 is determined using the motion vector MV1 of the reference block MB2 of the picture 1500 located in front of the encoding target picture 1501. The two motion vectors MVf and MVb to be obtained are calculated using the above equations 2 (a) and 2 (b). In this way, when the motion vector MV1 included in the reference block MB2 refers to a picture behind, the parameter TR1 (divisor) and the multiplier parameter Tscl corresponding to the parameter TR1 are negative values.
[0058]
Therefore, it is determined whether or not parameter TR1 is equal to or greater than a predetermined first predetermined value, and whether or not parameter TR1 is equal to or smaller than a predetermined second predetermined value. If the result of this determination is that the parameter TR1 is greater than or equal to the first predetermined value, the motion vector MVtar is scaled using the parameter corresponding to the maximum divisor to derive the motion vector MVscl of the encoding target block MB1. When the parameter TR1 is equal to or smaller than the second predetermined value, the motion vector MVtar is scaled using the parameter corresponding to the minimum divisor to derive the motion vector MVscl of the encoding target block MB1. Further, when the parameter TR1 is less than the first predetermined value and larger than the second predetermined value, the motion vector MVtar is scaled using the parameter TR1, and the motion vector MVscl of the encoding target block MB1 is derived.
[0059]
As described in the prior art, in the present embodiment, the interval between pictures of the parameters TR1 and TRtar is not limited to the time interval between pictures. For example, a difference in picture numbers assigned to each picture is calculated. The time interval in the display order between pictures can be recognized, such as the data used, the data using the difference in the display order of pictures (or information indicating the display order of pictures), and the data using the number of pictures between pictures. Any data can be used as long as it is an index used in vector scaling.
[0060]
Also, if the divisor is not limited to a predetermined range, the parameter of the multiplier corresponding to the divisor will be infinite, so the parameter table corresponding to the divisor cannot be realized, and the division is realized by multiplication It cannot be realized.
[0061]
As an example of determining whether or not the parameter TR1 falls within a predetermined range, whether or not the parameter TR1 is “predetermined value or more” as shown in FIG. 4 is described. It may be a condition such as “less than a predetermined value”.
[0062]
(Embodiment 2)
In the first embodiment, when the motion vector MVscl is derived by scaling the motion vector MVtar that is the motion vector to be referenced, the parameter TR1 is compared with the upper limit value of the divisor included in the multiplier parameter table, and TR1 is equal to or higher than the upper limit value. In this case, the value corresponding to the maximum divisor that the multiplier parameter table has is used as the multiplier parameter corresponding to the input parameter TR1. In the second embodiment, the parameter TR1 is compared with the upper limit value of the divisor included in the multiplier parameter table. When TR1 is equal to or higher than the upper limit value, the motion vector MVtar is not derived by scaling, and the input MVtar is directly used as the motion vector. Let it be MVscl. This simplifies the process of deriving the motion vector MVscl when the value is equal to or greater than the upper limit value. Embodiment 2 of the present invention will be described below with reference to the drawings.
[0063]
FIG. 6 is a block diagram showing the configuration of the motion vector deriving unit according to the second embodiment. The motion vector deriving unit 11B illustrated in FIG. 6 represents the motion vector deriving unit 11 in the block diagram of the image encoding device illustrated in FIG. The configuration other than the motion vector deriving unit 11 in the block diagram of the image encoding device shown in FIG. 1 is as described in the first embodiment. Therefore, the motion vector deriving unit 11B shown in FIG. 6 will be described with reference to FIGS.
[0064]
As shown in FIG. 6, the motion vector deriving unit 11B includes a multiplier parameter table (for multiplier) 50, a multiplier parameter table (for divisor) 51, a comparison unit 52, multipliers 53 and 54, and a switching unit 55.
[0065]
The motion vector deriving unit 11B uses the motion vector MVtar (MV1), the parameter TRtar (TRf and TRb), and the parameter TR1 of the reference block MB2 shown in FIG. 17 to calculate the motion vector (MVb and MVf) of the encoding target block MB1. To derive. Here, the motion vector MVtar of the reference block MB2 is scaled using the above-described equations 2 (a) and 2 (b). The parameter TRtar corresponds to TRb or TRf already described.
[0066]
The comparison unit 52 compares whether or not the parameter TR1 related to the motion vector MVtar of the reference block MB2 exceeds a predetermined value. Here, the predetermined value is “8” which is the maximum value of the divisor included in the multiplier parameter table shown in FIG. 3, for example. The switching unit 55 selects the output (processing 57) of the multiplier 54 or the input motion vector MVtar (processing 58) of the reference block MB2 according to the comparison result of the comparison unit 52.
[0067]
A multiplier parameter table (for multiplier) 50 indicates the correspondence between the parameter TRtar (TRb or TRf) and the multiplier (multiplier value). A multiplier parameter table (for divisor) 51 shows the correspondence between TR1 and multiplier (divisor). In the second embodiment, TRtar input to the multiplier parameter table 50 is directly input to the multiplier 53. However, the present invention is not limited to this, and the multiplier parameter table 50 performs arithmetic processing as necessary. May be.
[0068]
The multiplier 53 multiplies the multiplier parameter output from the multiplier parameter table (for multiplier) 50 by the motion vector MVtar (MV1) of the reference picture 1203. The multiplier 54 multiplies the output value of the multiplier 53 by the multiplier parameter output from the multiplier parameter table (for divisor) 51. Note that the order of multiplication processing of the multiplier 53 and the multiplier 54 may be reversed.
[0069]
Next, the operation of the motion vector deriving unit 11B shown in FIG. 6 will be described with reference to FIG. FIG. 7 is a flowchart showing a processing procedure for obtaining the motion vector MVscl.
[0070]
First, the motion vector MVtar of the reference block MB2 is acquired (step S601). Next, parameters (TR1 and TRtar) for deriving the motion vector MVscl of the encoding target block MB1 are acquired (step S602).
[0071]
Next, it is determined whether or not the parameter TR1 corresponding to the acquired divisor is greater than or equal to a predetermined value (step S603). As a result of the determination, if the parameter TR1 corresponding to the divisor is equal to or greater than a predetermined value, the switching unit 55 selects the process 58. On the other hand, if the parameter TR1 corresponding to the divisor is not equal to or greater than the predetermined value, the switching unit 55 selects the process 57.
[0072]
When the process 58 is selected by the switching unit 55, the motion vector MVtar to be referred to acquired in step 601 is directly used as the motion vector MVscl (step S605). On the other hand, when the process 57 is selected by the switching unit 55, the motion vector MVscl is derived using the parameter corresponding to the divisor (TR1) (step S604). That is, the result of the multiplication process of the multiplier 53 and the multiplier 54 is the motion vector MVscl.
[0073]
Since the encoding target picture 1202 shown in FIG. 17 has two motion vectors MVf and MVb before and after, the processing of FIG. 7 is performed for each of them. That is, in order to calculate the motion vector MVf as the motion vector MVscl, the parameter TRtar acquired in step S602 is the parameter TRf, and in order to calculate the motion vector MVb as the motion vector MVscl, the parameter TRtar acquired in step S602. Is the parameter TRb.
[0074]
As described above, according to the second embodiment, the parameter value used when scaling the motion vector of the reference block is limited to a predetermined range, and when the upper limit value is exceeded, the motion vector MVtar is scaled. First, by determining a certain processing procedure in which the input MVtar is used as the motion vector MVscl as it is, it is possible to prevent a mismatch of results due to an operation error between the encoding process and the decoding process. In addition, the processing amount for deriving the motion vector can be reduced. Further, the multiplier parameter table stored in the memory can be reduced.
[0075]
As described in the conventional technique, in the second embodiment, the parameters TR1 and TRtar are not limited to time data, but are data using a difference in picture numbers assigned to each picture (for example, the picture 1200 in FIG. 17). When the picture number is 1200 and the picture number of the picture 1203 is 1203, 3 is obtained by subtracting 1200 from 1203, and data using the number of pictures between the encoding target picture and the reference picture (for example, in the case of FIG. 17) The time interval in the display order between the pictures can be determined quantitatively, such as TR1 where the number of pictures between the picture 1200 and the picture 1203 is two, but the picture interval is 2 + 1 = 3). Any data is acceptable.
[0076]
In the second embodiment, the parameter TR1 is compared with the upper limit value of the divisor included in the multiplier parameter table, and when the TR1 does not exceed the upper limit value, the multiplier unit 54 performs the multiplication process using the multiplier parameter table 51. Although an example of performing is described, division processing may be performed by the divisor unit 94 using the divisor parameter table 91 as shown in FIG. A motion vector deriving unit 11C illustrated in FIG. 10 represents the motion vector deriving unit 11 in the configuration diagram of the image encoding device illustrated in FIG. The configuration other than the motion vector deriving unit 11 in the block diagram of the video encoding device shown in FIG. 1 is as described in the first embodiment. In FIG. 10, the same reference numerals as those used in FIG. 6 are used for the same components as those in FIG.
[0077]
In the first embodiment and the second embodiment, the case where the motion vector shown in FIG. 17 is derived using Expression 2 (a) and Expression 2 (b) has been described. However, the movement shown in FIG. 8 and FIG. Even when a vector is derived, the invention described in this specification can be used.
[0078]
First, a method for deriving a motion vector in the direct mode shown in FIG. 8 will be described. In FIG. 8, a picture 1700, a picture 1701, a picture 1702, and a picture 1703 are arranged in the display order, and a block MB1 is an encoding target block. FIG. 8 illustrates an example in which the current block MB1 is bidirectionally predicted using the picture 1700 and the picture 1703 as reference pictures.
[0079]
The motion vectors MVf and MVb of the encoding target block MB1 are obtained by using the motion vector MV1 included in the reference block MB2 located behind the encoding target block MB1 in display time, using the above equations 2 (a) and 2 (b ).
[0080]
Here, MVf is the forward motion vector of the encoding target block MB1, MVb is the backward motion vector of the encoding target block MB1, and Tscl is a multiplier parameter corresponding to the reciprocal of the interval between the picture 1700 and the picture 1703, that is, 1 / TR1. TRf is the interval between pictures 1701 and 1702, and TRb is the interval between pictures 1702 and 1703.
[0081]
For TR1, TRf, and TRb, any data can be used as long as the picture interval can be quantitatively determined as described above. The flow of processing for obtaining the motion vector MVf and the motion vector MVb is as described in FIG. 4 or FIG.
[0082]
Next, a method for deriving the motion vector shown in FIG. 9 will be described. In FIG. 9, a picture 1800, a picture 1801 and a picture 1802 are arranged in the display order, and a block MB1 is an encoding target block. In FIG. 9, the encoding target block MB1 is predicted using a picture 1800 and a picture 1801 as reference pictures, and has a motion vector MV1 and a motion vector MV2. The motion vector MV2 is predictively encoded using a motion vector MVscl obtained by scaling the motion vector MV1 as follows.
[0083]
First, a motion vector MVscl that is a vector to a picture 1800 referenced by the motion vector MV2 is derived from the current block MB1 using the following equation. Note that the encoded motion vector MV2 itself is derived by a predetermined method. Equations 3 (a) and 3 (b) can be applied to the case shown in Embodiment 1, and Equations 4 (a) and 4 (b) can be applied to the case shown in Embodiment 2.
[0084]
MVscl = MV1 × TR3 × Tscl (TR1 <upper limit value) Equation 3 (a)
MVscl = MV1 × TR3 × TsclMin (TR1 ≧ upper limit) Equation 3 (b)
MVscl = MV1 × TR3 × Tscl (TR1 <upper limit value) Equation 4 (a)
MVscl = MV1 (TR1 ≧ upper limit value) Equation 4 (b)
Here, Tscl is the reciprocal of TR1 when TR1 is the interval between pictures 1801 and 1802, and the upper limit is the maximum divisor (“8” in FIG. 3) in the multiplier parameter table 51 (for divisor), TsclMin Is a multiplier parameter corresponding to the maximum divisor (TR1) in the multiplier parameter table 51 (for divisor), TR3 is an interval between pictures 1800 and 1802, and TR1 is an interval between pictures 1801 and 1802.
[0085]
Next, in order to encode the motion vector MV2, the motion vector MV2 itself is not encoded, and the motion vector MVscl derived from any one of the equations 3 (a) to 4 (b) and a predetermined method are used. Only the difference (difference vector) from the motion vector MV2 derived in step S3 is encoded, and in the decoding process, the motion vector MV2 is derived using the encoded difference vector and the MVscl obtained by scaling the motion vector MV1. It will be.
[0086]
For TR1 and TR3, any data can be used as long as it can quantitatively determine the time interval in the display order between pictures as described above. Further, the flow of processing for obtaining the motion vector MVscl is as described in FIG. 4 or FIG. In the multiplier parameter table shown in FIG. 3, the upper limit value is “8”. However, the upper limit value is not limited to this, and may be “16” or “32”. However, since the reciprocal change corresponding to the divisor becomes smaller as the divisor becomes larger, the error of the motion vector derived using the multiplier parameter set with a larger upper limit value is considerably small.
[0087]
(Embodiment 3)
FIG. 11 is a block diagram showing a configuration of the video decoding apparatus according to the present embodiment.
[0088]
As shown in FIG. 11, the moving picture decoding apparatus includes a variable length decoding unit 1000, an inverse quantization unit 1001, an inverse orthogonal transform unit 1002, an addition operation unit 1003, a motion vector decoding unit 1004, and a motion vector derivation unit 1005. , And a memory 1006. Note that the configuration and operation of the motion vector deriving unit 1005 are the same as those in the first embodiment and the second embodiment, and a detailed description thereof will be omitted.
[0089]
The variable-length decoding unit 1000 performs variable-length decoding processing on the encoded data stream output from the video encoding device according to each of the above-described embodiments, and performs prediction error encoding on the inverse quantization unit 1001. In addition to outputting data, the motion vector derivation parameters TRtar and TR1 are output to the motion vector derivation unit 1005. The inverse quantization unit 1001 inversely quantizes the input prediction error encoded data. The inverse orthogonal transform unit 1002 performs inverse orthogonal transform on the inversely quantized prediction error encoded data, and outputs difference image data.
[0090]
The motion vector decoding unit 1004 decodes the input motion vector stream and extracts motion vector information. The motion vector deriving unit 1005 derives the motion vector MVscl (MVb and MVf) of the current block MB1 using the motion vector MVtar of the reference block MB2, the parameter TRtar, and the parameter TR1. The memory 1006 stores the image data of the reference picture and the motion vector MVscl of the current block MB1 derived by the motion vector deriving unit 1005. The memory 1006 generates motion compensation data based on the image data of the reference picture and the motion vector MVscl of the encoding target block MB1. The addition operation unit 1003 adds the input difference image data and motion compensation data, and generates and outputs a decoded image.
[0091]
Next, an operation at the time of decoding in the direct mode in the moving picture decoding apparatus configured as described above will be described.
[0092]
The encoded data stream output from the moving image encoding apparatus is input to the variable length decoding unit 1000. The variable length decoding unit 1000 performs variable length decoding processing on the encoded data stream and outputs differential encoded data to the inverse quantization unit 1001 and outputs the parameters TRtar and TR1 to the motion vector deriving unit 1005. To do. The differentially encoded data input to the inverse quantization unit 1001 is inversely quantized, then inversely orthogonally transformed by the inverse orthogonal transform unit 1002, and output to the addition operation unit 1003 as difference image data.
[0093]
Also, the motion vector stream input to the video decoding apparatus according to the present embodiment is input to the motion vector decoding unit 1004 to extract motion vector information. Specifically, the motion vector decoding unit 1004 decodes the motion vector stream and outputs a motion vector derivation parameter MVtar to the motion vector derivation unit 1005. Subsequently, the motion vector deriving unit 1005 derives the motion vector MVscl (MVb and MVf) of the current block using the motion vector MVtar and the parameters TRtar and TR1. Then, the memory 1006 extracts the image indicated by the motion vector derived by the motion vector deriving unit 1005 from the stored image data of the reference picture, and outputs it as motion compensation data. The addition operation unit 1003 adds the input difference image data and motion compensation data, generates decoded image data, and finally outputs it as a reproduced image.
[0094]
(Embodiment 4)
Furthermore, by recording a program for realizing the configuration of the moving picture encoding method or the moving picture decoding method shown in each of the above embodiments on a storage medium such as a flexible disk, The processing shown in the form can be easily performed in an independent computer system.
[0095]
FIG. 12 is an explanatory diagram of a storage medium for storing a program for realizing the moving picture coding method and the moving picture decoding method according to the first to third embodiments by a computer system.
[0096]
FIG. 12B shows an appearance, a cross-sectional structure, and a flexible disk as seen from the front of the flexible disk, and FIG. 12A shows an example of a physical format of the flexible disk that is a recording medium body. The flexible disk FD is built in the case F, and on the surface of the disk, a plurality of tracks Tr are formed concentrically from the outer periphery toward the inner periphery, and each track is divided into 16 sectors Se in the angular direction. ing. Therefore, in the flexible disk storing the program, a moving image encoding method as the program is recorded in an area allocated on the flexible disk FD.
[0097]
FIG. 12C shows a configuration for recording and reproducing the program on the flexible disk FD. When recording the program on the flexible disk FD, the moving picture encoding method or the moving picture decoding method as the program is written from the computer system Cs via the flexible disk drive FDD. Further, when the above moving image coding method is constructed in a computer system by a program in a flexible disk, the program is read from the flexible disk by a flexible disk drive and transferred to the computer system.
[0098]
In the above description, a flexible disk is used as the recording medium, but the same can be done using an optical disk. Further, the recording medium is not limited to this, and any recording medium such as an IC card or a ROM cassette capable of recording a program can be similarly implemented.
[0099]
Furthermore, application examples of the moving picture coding method and the moving picture decoding method shown in the above embodiment and a system using the same will be described.
[0100]
FIG. 13 is a block diagram showing an overall configuration of a content supply system ex100 that implements a content distribution service. The communication service providing area is divided into desired sizes, and base stations ex107 to ex110, which are fixed radio stations, are installed in each cell.
[0101]
The content supply system ex100 includes, for example, a computer ex111, a PDA (personal digital assistant) ex112, a camera ex113, a mobile phone ex114, a camera via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex107 to ex110. Each device such as the attached mobile phone ex115 is connected.
[0102]
However, the content supply system ex100 is not limited to the combination as shown in FIG. 13, and any of the combinations may be connected. Further, each device may be directly connected to the telephone network ex104 without going through the base stations ex107 to ex110 which are fixed wireless stations.
[0103]
The camera ex113 is a device capable of shooting a moving image such as a digital video camera. The mobile phone is a PDC (Personal Digital Communications), CDMA (Code Division Multiple Access), W-CDMA (Wideband-Code Division Multiple Access), or GSM (Global System for Mobile Communications) mobile phone, Alternatively, PHS (Personal Handyphone System) or the like may be used.
[0104]
In addition, the streaming server ex103 is connected from the camera ex113 through the base station ex109 and the telephone network ex104, and live distribution or the like based on the encoded data transmitted by the user using the camera ex113 becomes possible. The encoded processing of the captured data may be performed by the camera ex113 or may be performed by a server or the like that performs data transmission processing. Further, the moving image data shot by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111. The camera ex116 is a device that can shoot still images and moving images, such as a digital camera. In this case, the encoding of the moving image data may be performed by the camera ex116 or the computer ex111. The encoding process is performed in the LSI ex117 included in the computer ex111 and the camera ex116. Note that moving image encoding / decoding software may be incorporated in any storage medium (CD-ROM, flexible disk, hard disk, or the like) that is a recording medium readable by the computer ex111 or the like. Furthermore, you may transmit moving image data with the mobile telephone ex115 with a camera. The moving image data at this time is data encoded by the LSI included in the mobile phone ex115.
[0105]
In this content supply system ex100, the content (for example, video shot of music live) captured by the user with the camera ex113, camera ex116, etc. is encoded and transmitted to the streaming server ex103 as in the above embodiment. On the other hand, the streaming server ex103 distributes the content data to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and the like that can decode the encoded data. In this way, the content supply system ex100 can receive and reproduce the encoded data at the client, and also realize personal broadcasting by receiving, decoding, and reproducing in real time at the client. It is a system that becomes possible.
[0106]
For the encoding and decoding of each device constituting this system, the moving image encoding device or the moving image decoding device described in the above embodiments may be used.
[0107]
A mobile phone will be described as an example.
[0108]
FIG. 14 is a diagram illustrating the mobile phone ex115 that uses the moving picture coding method and the moving picture decoding method described in the above embodiment. The mobile phone ex115 includes an antenna ex201 for transmitting and receiving radio waves to and from the base station ex110, a camera such as a CCD camera, a camera unit ex203 capable of taking a still image, a video shot by the camera unit ex203, and an antenna ex201. A display unit ex202 such as a liquid crystal display that displays data obtained by decoding received video and the like, a main body unit composed of a group of operation keys ex204, an audio output unit ex208 such as a speaker for outputting audio, and a voice input To store encoded data or decoded data such as a voice input unit ex205 such as a microphone, captured video or still image data, received mail data, video data or still image data, etc. Recording medium ex207, and slot portion ex20 for enabling the recording medium ex207 to be attached to the mobile phone ex115 The it has. The recording medium ex207 stores a flash memory element, which is a kind of EEPROM (Electrically Erasable and Programmable Read Only Memory), which is a nonvolatile memory that can be electrically rewritten and erased, in a plastic case such as an SD card.
[0109]
Further, the cellular phone ex115 will be described with reference to FIG. The cellular phone ex115 controls the power supply circuit ex310, the operation input control unit ex304, and the image coding for the main control unit ex311 which is configured to control the respective units of the main body unit including the display unit ex202 and the operation key ex204. Unit ex312, camera interface unit ex303, LCD (Liquid Crystal Display) control unit ex302, image decoding unit ex309, demultiplexing unit ex308, recording / reproducing unit ex307, modulation / demodulation circuit unit ex306, and audio processing unit ex305 via a synchronization bus ex313 Are connected to each other.
[0110]
When the end call and power key are turned on by a user operation, the power supply circuit ex310 activates the camera-equipped digital mobile phone ex115 by supplying power from the battery pack to each unit. .
[0111]
The mobile phone ex115 converts the voice signal collected by the voice input unit ex205 in the voice call mode into digital voice data by the voice processing unit ex305 based on the control of the main control unit ex311 including a CPU, a ROM, a RAM, and the like. The modulation / demodulation circuit unit ex306 performs spread spectrum processing, and the transmission / reception circuit unit ex301 performs digital analog conversion processing and frequency conversion processing, and then transmits the result via the antenna ex201. In addition, the cellular phone ex115 amplifies the received data received by the antenna ex201 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation circuit unit ex306, and analog audio by the voice processing unit ex305. After the data is converted, it is output via the audio output unit ex208.
[0112]
Further, when an e-mail is transmitted in the data communication mode, text data of the e-mail input by operating the operation key ex204 of the main body is sent to the main control unit ex311 via the operation input control unit ex304. The main control unit ex311 performs spread spectrum processing on the text data in the modulation / demodulation circuit unit ex306, performs digital analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex301, and then transmits the text data to the base station ex110 via the antenna ex201.
[0113]
When transmitting image data in the data communication mode, the image data captured by the camera unit ex203 is supplied to the image encoding unit ex312 via the camera interface unit ex303. When image data is not transmitted, the image data captured by the camera unit ex203 can be directly displayed on the display unit ex202 via the camera interface unit ex303 and the LCD control unit ex302.
[0114]
The image encoding unit ex312 is configured to include the moving image encoding device described in the present invention, and the image data supplied from the camera unit ex203 is a code used in the moving image encoding device described in the above embodiment. The encoded image data is converted into encoded image data by compression encoding using the encoding method, and is sent to the demultiplexing unit ex308. At the same time, the cellular phone ex115 sends the sound collected by the audio input unit ex205 during imaging by the camera unit ex203 to the demultiplexing unit ex308 as digital audio data via the audio processing unit ex305.
[0115]
The demultiplexing unit ex308 multiplexes the encoded image data supplied from the image encoding unit ex312 and the audio data supplied from the audio processing unit ex305 by a predetermined method, and the multiplexed data obtained as a result is a modulation / demodulation circuit unit A spectrum spread process is performed in ex306, a digital analog conversion process and a frequency conversion process are performed in the transmission / reception circuit unit ex301, and then the signal is transmitted through the antenna ex201.
[0116]
When data of a moving image file linked to a homepage or the like is received in the data communication mode, the received data received from the base station ex110 via the antenna ex201 is subjected to spectrum despreading processing by the modulation / demodulation circuit unit ex306, and the resulting multiplexing is obtained. Is sent to the demultiplexing unit ex308.
[0117]
In addition, in order to decode multiplexed data received via the antenna ex201, the demultiplexing unit ex308 separates the multiplexed data into a bit stream of image data and a bit stream of audio data, and synchronizes them. The encoded image data is supplied to the image decoding unit ex309 via the bus ex313, and the audio data is supplied to the audio processing unit ex305.
[0118]
Next, the image decoding unit ex309 is configured to include the moving image decoding apparatus described in the present invention, and a bit stream of image data is decoded by a decoding method corresponding to the encoding method described in the above embodiment. Reproduction moving image data is generated by decoding, and this is supplied to the display unit ex202 via the LCD control unit ex302, thereby displaying, for example, moving image data included in the moving image file linked to the homepage. . At the same time, the audio processing unit ex305 converts the audio data into analog audio data, and then supplies the analog audio data to the audio output unit ex208. Thus, for example, the audio data included in the moving image file linked to the home page is reproduced. The
[0119]
It should be noted that the present invention is not limited to the above system, and recently, digital broadcasting using satellites and terrestrial waves has become a hot topic. As shown in FIG. Any of the video decoding devices can be incorporated. Specifically, in the broadcasting station ex409, a bit stream of video information is transmitted to a communication or broadcasting satellite ex410 via radio waves. Receiving this, the broadcasting satellite ex410 transmits a radio wave for broadcasting, and receives the radio wave with a home antenna ex406 having a satellite broadcasting receiving facility, such as a television (receiver) ex401 or a set top box (STB) ex407. The device decodes the bitstream and reproduces it. In addition, the moving picture decoding apparatus described in the above embodiment can also be implemented in a playback apparatus ex403 that reads and decodes a bitstream recorded on a storage medium ex402 such as a CD or DVD as a recording medium. . In this case, the reproduced video signal is displayed on the monitor ex404. A configuration is also possible in which a video decoding device is mounted in a set-top box ex407 connected to a cable ex405 for cable television or an antenna ex406 for satellite / terrestrial broadcasting, and this is reproduced on a monitor ex408 on the television. At this time, the moving picture decoding apparatus may be incorporated in the television instead of the set top box. It is also possible to receive a signal from the satellite ex410 or the base station ex107 by the car ex412 having the antenna ex411 and reproduce a moving image on a display device such as the car navigation ex413 that the car ex412 has.
[0120]
Furthermore, the image signal can be encoded by the moving image encoding apparatus shown in the above embodiment and recorded on a recording medium. As a specific example, there is a recorder ex420 such as a DVD recorder that records an image signal on a DVD disk ex421 or a disk recorder that records on a hard disk. Further, it can be recorded on the SD card ex422. If the recorder ex420 includes the moving picture decoding apparatus shown in the above embodiment, the image signal recorded on the DVD disc ex421 or the SD card ex422 can be reproduced and displayed on the monitor ex408.
[0121]
For example, the configuration of the car navigation ex413 may be a configuration excluding the camera unit ex203, the camera interface unit ex303, and the image encoding unit ex312 in the configuration illustrated in FIG. ) Ex401 can also be considered.
[0122]
In addition to the transmission / reception type terminal having both the encoder and the decoder, the terminal such as the mobile phone ex114 has three mounting formats: a transmitting terminal having only an encoder and a receiving terminal having only a decoder. Can be considered.
[0123]
As described above, the moving picture encoding method or the moving picture decoding method described in the above embodiment can be used in any of the above-described devices and systems, and as a result, the above-described embodiment has been described. An effect can be obtained.
[0124]
In addition, the present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the scope of the present invention.
[0125]
【The invention's effect】
As is clear from the above description, according to the motion vector deriving method according to the present invention, the division process necessary for scaling the reference motion vector can be performed by the multiplication process. Can be derived. Further, by limiting the parameter value used when scaling the reference motion vector to a predetermined range, the multiplier parameter table stored in the memory can be reduced. Therefore, since the processing load when deriving the motion vector is small, even a device with low processing capability can be processed, and its practical value is great.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a moving picture encoding apparatus according to the present invention.
FIG. 2 is a block diagram showing a configuration of a motion vector deriving unit according to the present invention.
FIG. 3 is a diagram showing a multiplier parameter table according to the present invention.
FIG. 4 is a flowchart showing a method of deriving a motion vector according to the present invention.
FIG. 5 is an explanatory diagram of motion vectors according to the present invention.
FIG. 6 is a block diagram illustrating a configuration of a motion vector deriving unit according to the present invention.
FIG. 7 is a flowchart showing a method of deriving a motion vector according to the present invention.
FIG. 8 is an explanatory diagram of motion vectors according to the present invention.
FIG. 9 is an explanatory diagram of motion vectors according to the present invention.
FIG. 10 is a block diagram illustrating a configuration of a motion vector deriving unit according to the present invention.
FIG. 11 is a block diagram showing a configuration of a moving picture decoding apparatus according to the present invention.
FIG. 12 is an explanatory diagram of a recording medium for storing a program for realizing the moving picture encoding method and the moving picture decoding method of each embodiment by a computer system, and (a) the recording medium main body; An explanatory diagram showing an example of a physical format of a flexible disk, (b) an external view from the front of the flexible disk, a cross-sectional structure, and an explanatory diagram showing the flexible disk, and (c) recording and reproducing the program on the flexible disk FD. It is explanatory drawing which showed the structure for performing.
FIG. 13 is a block diagram showing an overall configuration of a content supply system.
FIG. 14 is a schematic diagram illustrating an example of a mobile phone.
FIG. 15 is a block diagram illustrating a configuration of a mobile phone.
FIG. 16 is a diagram illustrating an example of a digital broadcasting system.
FIG. 17 is an explanatory diagram of motion vectors.
FIG. 18 is a flowchart showing a flow of processing for obtaining a conventional motion vector.
[Explanation of symbols]
10 Motion vector encoding unit
11 Motion vector deriving unit
12 memory
13 Subtractor
14 Orthogonal transformation unit
15 Quantizer
16 Inverse quantization part
17 Inverse orthogonal transform unit
18 Adder
19 Variable length coding unit
20 comparison part
21 switching part
22 Multiplier parameter table (for multiplier)
23, 25 multiplier
24 Multiplier parameter table (for divisor)
1000 Variable length decoding unit
1001 Inverse quantization unit
1002 Inverse orthogonal transform unit
1003 Addition calculation unit
1004 Decoding unit for motion vector
1005 Motion vector deriving unit
1006 memory

Claims (2)

ピクチャを構成するブロックの動きベクトルを導出する動きベクトル導出方法であって、
対象ブロックの動きベクトルを導出するための参照動きベクトルを求めるステップと、
前記参照動きベクトルを用いて動き補償されたピクチャと前記参照動きベクトルが参照する参照ピクチャとの間隔に対応する第1パラメータを求めるステップと、
前記対象ブロックを含むピクチャと前記参照ピクチャとの間隔に対応する第2パラメータを求めるステップと、
前記第1パラメータがあらかじめ設定された所定値を上限とする範囲に含まれるか否かを判断する判断ステップと、
前記判断ステップでの判断の結果、前記第1パラメータが前記所定値を上限とする範囲に含まれない場合、前記所定値および前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出し、一方、前記第1パラメータが前記所定値を上限とする範囲に含まれる場合、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出する動きベクトル導出ステップと
を含むことを特徴とする動きベクトル導出方法。
A motion vector deriving method for deriving a motion vector of blocks constituting a picture,
Determining a reference motion vector for deriving a motion vector of the target block,
Determining a first parameter corresponding to the distance between the reference picture in which the reference motion vector and a motion compensated picture is referenced using the reference motion vector,
Determining a second parameter corresponding to a distance between the picture and the reference picture including the current block,
A determination step of determining whether or not the first parameter is included in a range having a predetermined value as an upper limit ;
If it is determined in decision step, when said first parameter is not included in the range of up to the predetermined value, the by scaling the reference motion vector based on the predetermined value and the second parameter target block On the other hand, when the first parameter is included in the range having the predetermined value as an upper limit, the reference motion vector is scaled based on the first parameter and the second parameter, and the target block A motion vector deriving method, comprising: a motion vector deriving step for deriving a motion vector of.
ピクチャを構成するブロックの動きベクトルを導出する動きベクトル導出装置であって、
対象ブロックの動きベクトルを導出するための参照動きベクトルを求める手段と、
前記参照動きベクトルを用いて動き補償されたピクチャと前記参照動きベクトルが参照する参照ピクチャとの間隔に対応する第1パラメータを求める手段と、
前記対象ブロックを含むピクチャと前記参照ピクチャとの間隔に対応する第2パラメータを求める手段と
前記第1パラメータがあらかじめ設定された所定値を上限とする範囲に含まれるか否かを判断する判断手段と、
前記判断手段での判断の結果、前記第1パラメータが前記所定値を上限とする範囲に含まれない場合、前記所定値および前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出し、一方、前記第1パラメータが前記所定値を上限とする範囲に含まれる場合、前記第1パラメータおよび前記第2パラメータに基づいて前記参照動きベクトルをスケーリングして前記対象ブロックの動きベクトルを導出する動きベクトル導出手段と
を含むことを特徴とする動きベクトル導出装置。
A motion vector deriving device for deriving a motion vector of a block constituting a picture,
Means for obtaining a reference motion vector for deriving a motion vector of the target block;
Means for determining a first parameter corresponding to an interval between a picture motion-compensated using the reference motion vector and a reference picture referenced by the reference motion vector;
Means for obtaining a second parameter corresponding to an interval between the picture including the target block and the reference picture; and judgment means for determining whether or not the first parameter is included in a range having a predetermined value as an upper limit. When,
If it is determined in the determination unit, wherein when the first parameter is not included in the range of up to the predetermined value, the by scaling the reference motion vector based on the predetermined value and the second parameter target block On the other hand, when the first parameter is included in the range having the predetermined value as an upper limit, the reference motion vector is scaled based on the first parameter and the second parameter, and the target block A motion vector deriving device comprising: motion vector deriving means for deriving a motion vector of
JP2003122644A 2002-07-02 2003-04-25 Motion vector deriving method and motion vector deriving device Expired - Lifetime JP3824268B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003122644A JP3824268B2 (en) 2002-07-02 2003-04-25 Motion vector deriving method and motion vector deriving device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002193028 2002-07-02
JP2003122644A JP3824268B2 (en) 2002-07-02 2003-04-25 Motion vector deriving method and motion vector deriving device

Publications (3)

Publication Number Publication Date
JP2004088731A JP2004088731A (en) 2004-03-18
JP2004088731A5 JP2004088731A5 (en) 2006-07-27
JP3824268B2 true JP3824268B2 (en) 2006-09-20

Family

ID=32071912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003122644A Expired - Lifetime JP3824268B2 (en) 2002-07-02 2003-04-25 Motion vector deriving method and motion vector deriving device

Country Status (1)

Country Link
JP (1) JP3824268B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088776B2 (en) * 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
WO2007074543A1 (en) * 2005-12-27 2007-07-05 Sharp Kabushiki Kaisha Moving picture image decoding device and moving picture image coding device
CN101742278B (en) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 Method and system for acquiring motion vector and edge intensity of image

Also Published As

Publication number Publication date
JP2004088731A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
JP5631479B2 (en) Image encoding / decoding device
KR100956910B1 (en) Motion vector derivation method, moving picture coding method, and moving picture decoding method
JP4722153B2 (en) Image decoding method and image decoding apparatus
JP5658390B2 (en) Video encoding apparatus and method
KR100557911B1 (en) Image encoding method and image decoding method
JP2010193490A (en) Picture coding method and picture coded data
JP2005277968A (en) Method for image coding and decoding
JP4129374B2 (en) Image encoding method and image decoding method
JP3824268B2 (en) Motion vector deriving method and motion vector deriving device
JP4178088B2 (en) Moving picture decoding method and apparatus, and data storage medium
JP4481968B2 (en) Image coding method, image coding apparatus, and data storage medium
JP2005142986A (en) Moving image encoding method, moving image encoding apparatus and moving image encoding program
JP2005341545A (en) Moving image coding method,device, and program, and moving image decoding method,device, and program
JP2004040512A (en) Image encoding method and image decoding method
JP4406239B2 (en) Motion compensation method and motion compensation device
JP4503959B2 (en) Image coding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060315

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060512

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060623

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3824268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term