【手続補正書】
【提出日】平成21年3月17日(2009.3.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
レファランスピクチャの同一位置のブロックを用いた、現在のピクチャの双予測ブロックのダイレクトモード動きベクトルの導出方法であって、
第１レファランスピクチャの同一位置の前記ブロックを決定し、
前記同一位置のブロックがlist 1動きベクトルのみを有しているときは、前記双予測ブロックの前記ダイレクトモード動きベクトルを求めるための動きベクトルとして、前記同一位置のブロックの前記list 1動きベクトルを選択し、
前記現在のピクチャと、前記第１レファランスピクチャの前記同一位置のブロックによって参照される第２レファランスピクチャとの間の第１の時間間隔を求め、
前記第１レファランスピクチャと前記第２レファランスピクチャとの間の第２の時間間隔を求め、
前記第１及び第２の時間間隔に基づいて、選択された前記list 1動きベクトルをスケーリングし、
選択された前記list 1動きベクトルにビット演算を行なうことにより前記双予測ブロックの前記ダイレクトモード動きベクトルのうちの少なくとも１つを導出する、ことを特徴とするダイレクトモード動きベクトルの導出方法。
【請求項２】
ダイレクトモードのためのlist 1レファランスピクチャが前記双予測ピクチャよりも時間的に前にある場合には、list 0動きベクトルMVFとlist1動きベクトルMVBを求めるために、さらに、前記ダイレクトモードのための前記list 1レファランスピクチャの同一位置にあるブロックの動きベクトルをスケーリングする、請求項１に記載のダイレクトモード動きベクトルの導出方法。
【請求項３】
前記双予測ピクチャのマクロブロックと、前記list 1レファランスピクチャの同一位置にあるマクロブロックの両者が、フレームモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に前にある場合には、前記双予測ピクチャの前記ダイレクトモード動きベクトルMVF及びMVBは、
MVB = (TDB - TDD) * MV/TDD
または、
Z = TDB * 256/TDD            MVF = (Z * MV + 128) >> 8
W = Z - 256                  MVB = (W * MV + 128) >> 8
で与えられ、ここで、TDBは、現在の双予測フレームとlist 0レファランスフレームとの間の時間間隔を示し、TDDは、list 1レファランスフレームとlist 0レファランスフレームとの間の時間間隔を示し、MVは、前記ダイレクトモードを求めるためのlist 1レファランスピクチャの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項４】
前記双予測ピクチャのマクロブロックと、前記list 1レファランスピクチャの同一位置にあるマクロブロックの両者が、フレームモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に後にある場合には、前記双予測ピクチャの前記ダイレクトモード動きベクトルMVF及びMVBは、
MVB = -(TDB + TDD) * MV/TDD
または、
Z = -TDB * 256/TDD     MVF = (Z * MV + 128) >> 8
W = Z - 256            MVB = (W * MV + 128) >> 8
で与えられ、ここで、TDBは、現在の双予測フレームとlist 0レファランスフレームとの間の時間間隔を示し、TDDは、list 1レファランスフレームとlist 0レファランスフレームとの間の時間間隔を示し、MVは、前記ダイレクトモードを求めるためのlist 1レファランスピクチャの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項５】
前記双予測ピクチャのマクロブロックと、前記list 1レファランスピクチャの同一位置にあるマクロブロックの両者が、フィールドモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に前にある場合には、前記双予測フレームの各フィールドに関する前記ダイレクトモード動きベクトルMVF,i及びMVB,iは、
MVB,i = (TDB,i - TDD,i) * MVi/TDD,i
または、
Z = TDB,i * 256/TDD,i    MVF,i = (Z * MVi + 128) >> 8
W = Z - 256              MVB,i = (W * MVi + 128) >> 8
で与えられ、ここで、TDB,iは、現在の双予測フィールドとlist 0レファランスフィールドとの間の時間間隔を示し、TDD,iは、list 1レファランスフィールドとlist 0レファランスフィールドとの間の時間間隔を示し、MViは、前記ダイレクトモードを求めるためのlist 1レファランスフィールドの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項６】
前記双予測ピクチャのマクロブロックと、前記list 1レファランスピクチャの同一位置にあるマクロブロックの両者が、フィールドモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に後にある場合には、前記双予測フレームの各フィールドに関する前記ダイレクトモード動きベクトルMVF,i及びMVB,iは、
MVB,i = -(TDB,i + TDD,i) * MVi/TDD,i
または、
Z = -TDB,i * 256/TDD,i   MVF,i = (Z * MVi + 128) >> 8
W = Z - 256              MVB,i = (W * MVi + 128) >> 8
で与えられ、ここで、TDB,iは、現在の双予測フィールドとlist 0レファランスフィールドとの間の時間間隔を示し、TDD,iは、list 1レファランスフィールドとlist 0レファランスフィールドとの間の時間間隔を示し、MV,iは、前記ダイレクトモードを求めるためのlist 1レファランスフィールドの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項７】
前記双予測ピクチャのマクロブロックはフィールドモードであり、前記list 1レファランスピクチャの同一位置にあるマクロブロックはフレームモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に前にある場合には、前記双予測フレームの各フィールドiに関する前記ダイレクトモード動きベクトルMVF,i及びMVB,iは、
MVB,i = (TDB,i - TDD) * MV/TDD
または
Z = TDB,i * 256/TDD     MVF,i = (Z * MV + 128) >> 8
W = Z - 256             MVB,i = (W * MV + 128) >> 8
で与えられ、ここで、TDB,iは、現在の双予測フィールドとlist 0レファランスフィールドとの間の時間間隔を示し、TDDは、list 1レファランスフレームとlist 0レファランスフレームとの間の時間間隔を示し、MVは、前記ダイレクトモードを求めるためのlist 1レファランスフレームの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項８】
前記双予測ピクチャのマクロブロックはフィールドモードであり、前記list 1レファランスピクチャの同一位置にあるマクロブロックはフレームモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に後にある場合には、前記双予測フレームの各フィールドiに関する前記ダイレクトモード動きベクトルMVF,i及びMVB,iは、
MVB,i = -(TDB,i + TDD) * MV/TDD
または、
Z = -TDB,i * 256/TDD    MVF,i = (Z * MV + 128) >> 8
W = Z - 256             MVB,i = (W * MV + 128) >> 8
で与えられ、ここで、TDB,iは、現在の双予測フィールドとlist 0レファランスフィールドとの間の時間間隔を示し、TDDは、list 1レファランスフレームとlist 0レファランスフレームとの間の時間間隔を示し、MVは、前記ダイレクトモードを求めるためのlist 1レファランスフレームの同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項９】
前記双予測ピクチャのマクロブロックはフレームモードであり、前記list 1レファランスピクチャの同一位置にあるマクロブロックはフィールドモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に前にある場合には、前記双予測フレームの前記ダイレクトモード動きベクトルMVF及びMVBは、
MVB = (TDB - TDD,1) * MV1/TDD,1
または、
Z = TDB * 256/TDD,1     MVF = (Z * MV1 + 128) >> 8
W = Z - 256             MVB = (W * MV1 + 128) >> 8
で与えられ、
list 1レファランスフレームのフィールド１の同一位置にあるブロックの動き情報が前記ダイレクトモード動きベクトルの計算に用いられ、
ここで、TDBは、現在の双予測フレームとlist 0レファランスフレームとの間の時間間隔を示し、TDD,1は、list 1レファランスフレームのフィールド１とlist 0レファランスフィールドとの間の時間間隔を示し、MV1は、前記ダイレクトモードを求めるためのlist 1レファランスフレームのフィールド１の同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【請求項１０】
前記双予測ピクチャのマクロブロックはフレームモードであり、前記list 1レファランスピクチャの同一位置にあるマクロブロックはフィールドモードであり、前記ダイレクトモードのためのlist 0レファランスピクチャが、前記list 1レファランスピクチャより時間的に後にある場合には、前記双予測フレームの前記ダイレクトモード動きベクトルMVF及びMVBは、
MVB = -(TDB + TDD,1) * MV1/TDD,1
または、
Z = -TDB * 256/TDD,1    MVF = (Z * MV1 + 128) >> 8
W = Z - 256             MVB = (W * MV1 + 128) >> 8
で与えられ、
list 1レファランスフレームのフィールド１の同一位置にあるブロックの動き情報が前記ダイレクトモード動きベクトルの計算に用いられ、
ここで、TDBは、現在の双予測フレームとlist 0レファランスフレームとの間の時間間隔を示し、TDD,1は、list 1レファランスフレームのフィールド１とlist 0レファランスフィールドとの間の時間間隔を示し、MV1は、前記ダイレクトモードを求めるためのlist 1レファランスフレームのフィールド１の同一位置にあるブロックの動きベクトルを示す、請求項２に記載のダイレクトモード動きベクトルの導出方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明のダイレクトモード動きベクトルの導出方法は、レファランスピクチャの同一位置のブロックを用いた、現在のピクチャの双予測ブロックのダイレクトモード動きベクトルの導出方法であって、第１レファランスピクチャの同一位置のブロックを決定し、同一位置のブロックがlist 1動きベクトルのみを有しているときは、双予測ブロックのダイレクトモード動きベクトルを求めるための動きベクトルとして、同一位置のブロックのlist 1動きベクトルを選択し、現在のピクチャと、第１レファランスピクチャの同一位置のブロックによって参照される第２レファランスピクチャとの間の第１の時間間隔を求め、第１レファランスピクチャと第２レファランスピクチャとの間の第２の時間間隔を求め、第１及び第２の時間間隔に基づいて、選択されたlist 1動きベクトルをスケーリングし、選択されたlist 1動きベクトルにビット演算を行なうことにより双予測ブロックのダイレクトモード動きベクトルのうちの少なくとも１つを導出する、ことを特徴とする。