(57)【要約】【課題】メモリアクセスを低減することができるようにする。【解決手段】１６×１６アドレス補正部は、１６×１６アドレス生成部からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。CUを越えた参照である場合、１６×１６アドレス補正部は、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行い、補正された１６×１６アドレス情報を、メモリアクセス制御部に供給する。メモリアクセス制御部は、動きベクトル保存メモリに対して、１６×１６アドレス補正部からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。本開示は、例えば、画像処理装置に適用することができる。【選択図】図９
2013030978.tif 000002
【特許請求の範囲】
【請求項１】
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
【請求項２】
前記アドレス補正部は、前記アドレスから１を引いて、前記アドレスを補正する
請求項１に記載の画像処理装置。
【請求項３】
前記アドレス補正部は、前記右下のピクセル位置のｙ座標が、前記処理対象の復号単位領域の外にある場合、前記右下のピクセル位置のｙ座標を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正する
請求項１に記載の画像処理装置。
【請求項４】
画像処理装置が、
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正し、
補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
【請求項５】
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
【請求項６】
前記アドレス補正部は、前記アドレスから１を引いて、前記アドレスを補正する
請求項５に記載の画像処理装置。
【請求項７】
前記アドレス補正部は、前記右下のピクセル位置のｙ座標が、前記処理対象の符号化単位領域の外にある場合、前記右下のピクセル位置のｙ座標を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正する
請求項５に記載の画像処理装置。
【請求項８】
画像処理装置が、
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正し、
補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
【請求項９】
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
【請求項１０】
前記アドレス補正部は、前記第２のアドレスのｘ座標に対して±１６することで、前記第２のアドレスを補正する
請求項９に記載の画像処理装置。
【請求項１１】
画像処理装置が、
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
【請求項１２】
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
【請求項１３】
前記アドレス補正部は、前記第２のアドレスのｘ座標に対して±１６することで、前記第２のアドレスを補正する
請求項１２に記載の画像処理装置。
【請求項１４】
画像処理装置が、
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
【請求項１５】
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、
前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
【請求項１６】
前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
請求項１５に記載の画像処理装置。
【請求項１７】
前記保存ベクトル選択部は、処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
請求項１６に規制の画像処理装置。
【請求項１８】
画像処理装置が、
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、
前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
【請求項１９】
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、
前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
【請求項２０】
前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
請求項１９に記載の画像処理装置。
【請求項２１】
前記保存ベクトル選択部は、処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
請求項２０に規制の画像処理装置。
【請求項２２】
画像処理装置が、
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、
前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理装置および方法に関し、特に、メモリアクセスを低減することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG（Moving Picture Experts Group）などがある。
【０００３】
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量（ビットレート）が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量（ビットレート）が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
標準化のスケジュールとしては、2003年3月にはH．264及びMPEG-4 Part10 （Advanced Video Coding、以下H．264/AVCと記す）という国際標準となっている。
【０００６】
さらに、このH．264/AVCの拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H．264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc（商標）等の幅広いアプリケーションに用いられる運びとなった。
【０００７】
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
【０００８】
そして、現在、H．264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている。HEVCにおいては、ドラフトとして非特許文献１が発行されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Thomas Wiegand,Woo-jin Han,Benjamin Bross,Jens-Rainer Ohm,Gary J. Sullivian,”WD3:Working Draft3 of High-Efficiency Video Coding”, JCTVc-E603_d5(version5), 2011年5月20日
【発明の概要】
【発明が解決しようとする課題】
【００１０】
HEVCにおいては、上述したH．264/AVCにおけるdirect（ダイレクトモード）およびpmvに代わる技術として、merge（マージモード）およびmvp（予測動きベクトル）が提案されている。どちらの場合も、周辺の動きベクトルのうち最適な動きベクトルを用いるものであるが、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスが非効率的であった。
【００１１】
本開示は、このような状況に鑑みてなされたものであり、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができるものである。
【課題を解決するための手段】
【００１２】
本開示の第１の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。
【００１３】
本開示の第１の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正し、補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。
【００１４】
本開示の第２の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。
【００１５】
本開示の第２の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正し、補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。
【００１６】
本開示の第３の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。
【００１７】
本開示の第３の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。
【００１８】
本開示の第４の側面の画像処理装置は、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。
【００１９】
本開示の第４の側面の画像処理方法は、画像処理装置が、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。
【００２０】
本開示の第５の側面の画像処理装置は、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部とを備える。
【００２１】
本開示の第５の側面の画像処理方法は、画像処理装置が、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する。
【００２２】
本開示の第６の側面の画像処理装置は、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部とを備える。
【００２３】
本開示の第６の側面の画像処理方法は、画像処理装置が、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する。
【００２４】
本開示の第１の側面においては、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスが補正され、補正されたアドレスが示す分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出される。そして、読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。
【００２５】
本開示の第２の側面においては、時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスが補正され、補正されたアドレスが示す分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出される。そして、読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。
【００２６】
本開示の第３の側面においては、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスが、前記分割領域に隣接する隣接分割領域を示すように補正され、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出される。そして、読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。
【００２７】
本開示の第４の側面においては、時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスが、前記分割領域に隣接する隣接分割領域を示すように補正され、補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルが、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出される。そして、読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。
【００２８】
本開示の第５の側面においては、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルが、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存される。そして、前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像が生成される。
【００２９】
本開示の第６の側面においては、画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルが、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存される。そして、前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像が符号化される。
【００３０】
なお、上述の画像処理装置は、独立した装置であっても良いし、１つの画像符号化装置
または画像復号装置を構成している内部ブロックであってもよい。
【発明の効果】
【００３１】
本開示によれば、画像を処理することができる。特に、メモリアクセスを低減することができる。
【図面の簡単な説明】
【００３２】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】コーディングユニットの構成例を説明する図である。
【図３】マージモードを説明する図である。
【図４】予測動きベクトルを説明する図である。
【図５】ColPUの決定方法を説明する図である。
【図６】ColMVの保存と読み出しを説明する図である。
【図７】ColMVの保存方法を説明する図である。
【図８】ColMVの読み出し方法を説明する図である。
【図９】動きベクトル差分生成部の構成例を示すブロック図である。
【図１０】HEVC方式において規定されているColPUの決定方法を示す図である。
【図１１】１６×１６アドレス補正部によるアドレス補正方法を説明する図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】動きベクトル差分生成処理の流れの例を説明するフローチャートである。
【図１４】時間相関の予測ベクトルの生成処理の流れの例を説明するフローチャートである。
【図１５】動きベクトル差分生成部の他の構成例を示すブロック図である。
【図１６】１回目の処理と２回目の処理で同じPUをさしてしまう位置を説明する図である。
【図１７】１６×１６アドレス補正部によるアドレス補正方法を説明する図である。
【図１８】時間相関の予測ベクトルの生成処理の流れの他の例を説明するフローチャートである。
【図１９】動きベクトル差分生成部のさらに他の構成例を示すブロック図である。
【図２０】動きベクトルの保存方法を説明する図である。
【図２１】動きベクトルの保存方法の他の例を説明する図である。
【図２２】時間相関の予測ベクトルの生成処理の流れのさらに他の例を説明するフローチャートである。
【図２３】動きベクトルの保存処理の流れを説明するフローチャートである。
【図２４】動きベクトルの保存処理の流れの他の例を説明するフローチャートである。
【図２５】画像復号装置の主な構成例を示すブロック図である。
【図２６】動きベクトル生成部の構成例を示すブロック図である。
【図２７】復号処理の流れの例を説明するフローチャートである。
【図２８】動きベクトル生成処理の流れの例を説明するフローチャートである。
【図２９】時間相関の予測ベクトルの生成処理の流れを説明するフローチャートである。
【図３０】動きベクトル生成部の他の構成例を示すブロック図である。
【図３１】時間相関の予測ベクトルの生成処理の流れの他の例を説明するフローチャートである。
【図３２】動きベクトル生成部のさらに他の構成例を示すブロック図である。
【図３３】時間相関の予測ベクトルの生成処理の流れのさらに他の例を説明するフローチャートである。
【図３４】動きベクトルの保存処理の流れを説明するフローチャートである。
【図３５】動きベクトルの保存処理の流れの他の例を説明するフローチャートである。
【図３６】パーソナルコンピュータの主な構成例を示すブロック図である。
【図３７】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３８】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３９】記録再生装置の概略的な構成の一例を示すブロック図である。
【図４０】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３３】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（パーソナルコンピュータ）
４．第４の実施の形態（テレビジョン受像機）
５．第５の実施の形態（携帯電話機）
６．第６の実施の形態（ハードディスクレコーダ）
７．第７の実施の形態（カメラ）
【００３４】
＜１．第１の実施の形態＞
［画像符号化装置の構成例］
図１は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００３５】
図１に示される画像符号化装置１００は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC（High Efficiency Video Coding）方式などが用いられる。
【００３６】
図１の例において、画像符号化装置１００は、A/D（Analog / Digital）変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、演算部１１０、デブロックフィルタ１１１、フレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、選択部１１６、およびレート制御部１１７を有する。
【００３７】
画像符号化装置１００は、さらに、動きベクトル差分生成部１２１および動きベクトル保存メモリ１２２を有する。
【００３８】
A/D変換部１０１は、入力された画像データをA/D変換し、画面並べ替えバッファ１０２に出力し、記憶させる。
【００３９】
画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、演算部１０３に供給する。また、画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、イントラ予測部１１４および動き予測・補償部１１５にも供給する。
【００４０】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。
【００４１】
例えば、イントラ符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、イントラ予測部１１４から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、動き予測・補償部１１５から供給される予測画像を減算する。
【００４２】
直交変換部１０４は、演算部１０３から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部１０５に供給する。
【００４３】
量子化部１０５は、直交変換部１０４が出力する変換係数を量子化する。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００４４】
可逆符号化部１０６は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
【００４５】
可逆符号化部１０６は、イントラ予測モードを示す情報またはインター予測モードを示す情報、および動きベクトル差分情報などを動きベクトル差分生成部１２１から取得する。なお、図示されていないが、参照ピクチャ情報などは、動き予測・補償部１１５から取得される。
【００４６】
可逆符号化部１０６は、量子化された変換係数を符号化するとともに、イントラ予測モード情報、インター予測モード情報、参照ピクチャ情報、および動きベクトル差分情報、などの情報を、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００４７】
例えば、可逆符号化部１０６においては、可変長符号化または算術符号化等の可逆符号
化処理が行われる。可変長符号化としては、CAVLC（Context-Adaptive Variable Length Coding）などがあげられる。算術符号化としては、CABAC（Context-Adaptive Binary Arithmetic Coding）などがあげられる。
【００４８】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００４９】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化する。逆量子化部１０８は、得られた変換係数を、逆直交変換部１０９に供給する。
【００５０】
逆直交変換部１０９は、供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力（復元された差分情報）は、演算部１１０に供給される。
【００５１】
演算部１１０は、逆直交変換部１０９より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。
【００５２】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部１１０は、その差分情報にイントラ予測部１１４から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部１１０は、その差分情報に動き予測・補償部１１５から供給される予測画像を加算する。
【００５３】
その加算結果は、デブロックフィルタ１１１およびフレームメモリ１１２に供給される。
【００５４】
デブロックフィルタ１１１は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。
【００５５】
フレームメモリ１１２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部１１３を介してイントラ予測部１１４または動き予測・補償部１１５に出力する。
【００５６】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介してイントラ予測部１１４に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ１１２は、参照画像を、選択部１１３を介して動き予測・補償部１１５に供給する。
【００５７】
選択部１１３は、フレームメモリ１１２から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部１１４に供給する。また、選択部１１３は、フレームメモリ１１２から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部１１５に供給する。
【００５８】
イントラ予測部１１４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。
【００５９】
イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、コスト関数値を求めることで、各予測画像を評価し、最適イントラモードを選択する。イントラ予測部１１４は、最適イントラモードを選択すると、その最適イントラモードで生成された予測画像を、選択部１１６に供給し、その最適イントラモードのコスト関数値（以下、イントラコスト関数値と称する）を動きベクトル差分生成部１２１に供給する。
【００６０】
動き予測・補償部１１５は、インター符号化が行われる画像について、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照画像とを用いて、全てのインター予測モードについて動き予測を行う。そして、動き予測・補償部１１５は、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００６１】
動き予測・補償部１１５は、全てのインター予測モードについて、コスト関数値を求めることで、各予測画像を評価し、最適インターモードを選択する。動き予測・補償部１１５は、最適インターモードを選択すると、その最適インターモードで生成された予測画像を、選択部１１６に供給する。また、動き予測・補償部１１５は、その最適インターモードのコスト関数値（以下、インターコスト関数値と称する）、動きベクトル情報および処理対象の符号化単位の領域（CU）の分割情報、アドレス情報、およびサイズ情報などを、動きベクトル差分生成部１２１に供給する。
【００６２】
選択部１１６は、動きベクトル差分生成部１２１からの情報に対応して、イントラ符号化を行う画像の場合、イントラ予測部１１４の出力を演算部１０３や演算部１１０に供給する。選択部１１６は、動きベクトル差分生成部１２１からの情報に対応して、インター符号化を行う画像の場合、動き予測・補償部１１５の出力を演算部１０３や演算部１１０に供給する。
【００６３】
レート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００６４】
動きベクトル差分生成部１２１は、動き予測・補償部１１５からの情報を用い、対象予測領域の周辺にある周辺領域の動きベクトル情報から、空間相関予測ベクトル情報および時間相関予測ベクトル情報を生成する。特に、動きベクトル生成部２２１は、動きベクトル保存メモリ１２２に記憶されている動きベクトル情報を用いて、時間相関予測ベクトル情報を生成する。
【００６５】
なお、以下、適宜、空間相関予測ベクトルを、空間予測ベクトルとも称し、時間相関予測ベクトルを、時間予測ベクトルとも称する。
【００６６】
動きベクトル差分生成部１２１は、生成した予測ベクトル情報と、動き予測・補償部１１５からの動きベクトル情報との差分である動きベクトル差分情報を生成する。また、動きベクトル差分生成部１２１は、イントラ予測部１１４からのイントラコスト関数値と、動き予測・補償部１１５からのインターコスト関数値とを用いて、最適モードを決定する。動きベクトル差分生成部１２１は、決定した最適モードの情報を、選択部１１６に供給する。
【００６７】
動きベクトル差分生成部１２１は、最適モードの動きベクトル情報を、動きベクトル保存メモリ１２２に保存する。動きベクトル差分生成部１２１は、生成した動きベクトル差分情報を、最適モード情報とともに、可逆符号化部１０６に供給する。
【００６８】
動きベクトル保存メモリ１２２は、動きベクトル差分生成部１２１により記憶された動きベクトル情報であって、動きベクトル差分生成部１２１が時間相関予測ベクトルを生成する際に用いられる動きベクトル情報を記憶している。
【００６９】
［コーディングユニット］
H．264/AVC方式においては、１つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H．264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC（High Efficiency Video Coding）方式においては、図２に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【００７０】
CUは、Coding Tree Block（CTB）とも呼ばれ、H．264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化（復号）の処理単位となる領域（ピクチャ単位の画像の部分領域）である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【００７１】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【００７２】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図２の例では、LCUの大きさが１２８であり、最大階層深度が５となる。２Ｎ×２Ｎの大きさのCUは、split_flagの値が「１」である時、１つ下の階層となる、Ｎ×Ｎの大きさのCUに分割される。
【００７３】
更に、CUは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（PU））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（TU））に分割される。現在、HEVC方式においては、４×４及び８×８に加え、１６×１６及び３２×３２直交変換を用いることが可能である。
【００７４】
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H．264/AVC方式におけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図２に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、H．264/AVC方式のマクロブロックより大きく設定されることが一般的である。
【００７５】
本開示は、HEVC方式のようなCU、PU、およびTU等を用いる符号化方式だけでなく、H．264/AVC方式におけるマクロブロックを用いる符号化方式にも適用することができる。すなわち、ユニットも、ブロックも、処理単位となる領域を示すものであるので、以下、適宜、どちらも含むように、処理単位の領域という文言を用いて説明する。
【００７６】
ただし、以下において、HEVC方式を例として説明する場合には、ユニットを用いて説明するが、そのユニットは、処理単位となる領域を示すものであり、H．264/AVC方式においてはブロックである。
【００７７】
［マージモード］
次に、HEVC方式におけるマージモードについて、図３を参照して説明する。図３の例においては、対象PU（CurrentPU）が示されている。対象PUの周囲には、「Ａ」，「Ｂ」，「Ｃ」，「Ｄ」がそれぞれ付された四角で表わされる４つの空間位置が示されている。
【００７８】
マージモードは、対象PUについて、これら４つの空間位置のベクトル情報と、Colocatedピクチャのベクトル情報（ColPUのベクトル情報）の計５つのベクトルを候補とし、その候補の中から、RD(rate-distortion)の観点で最適なベクトルを用いるモードである。Colocatedピクチャは、以下、ColPicとも称される。
【００７９】
なお、ColPUは、以前に符号化または復号されたピクチャにおける、対象PUと空間的に同じ位置のPUであり、対象PUの時間ベクトル情報として参照するPUである。
【００８０】
そして、マージモードの場合、復号側には、ベクトル情報を送らず、マージインデックス(merge_idx)という、５つのうちどの動きベクトル情報を用いたかを示す情報をストリームに含めて伝送する。これにより、符号化効率を向上させることができる。
【００８１】
［予測動きベクトルmvp］
次に、HEVC方式における予測動きベクトルmvpについて図４を参照して説明する。図４の例においては、対象PU（予測ユニット）が示されている。対象PUの周囲には、「Ａ０」，「Ａ１」，「Ｂ０」，「Ｂ１」，「Ｂ２」がそれぞれ付された四角で表わされる５つの空間位置が示されている。
【００８２】
対象PUについて、これら５つの空間位置のベクトル情報と、ColPUのベクトル情報の計６つのベクトルのうち、動き探索によって求められた動きベクトルとの差分(mvd)が最小となるベクトルが、予測動きベクトルとして用いられる。なお、予測動きベクトルのことを、以下、適宜、予測ベクトルとも称する。
【００８３】
復号側には、その差分と、mvpインデックス（mvp_idx）という６つのベクトルのうちどのベクトルの差分を用いたかを示す情報をストリームに含めて伝送することにより、復号側で、動きベクトルを再構築することができる。これにより、符号化性能を高めることができる。
【００８４】
［ColPUの決定方法］
図５は、ColPUの決定方法を説明する図である。図５Ａは、１番目の処理を示している。まず、図５Ａに示される左上の４×４ピクセルを対象PUとした場合、対象PUの左上のピクセル位置を(0,0)とし、そこに、対象PUのサイズ４を加算し、(4,4)という位置を１６で丸めた位置(0,0)のピクセルを含むPUが、ColPUと決定される。
【００８５】
なお、１番目の処理で算出されたColPUが、イントラブロック、または画面外のピクセルであって、Not Available（利用不可）と判定された場合には、図５Ｂに示されるように処理される。
【００８６】
具体的には、図５Ｂに示される左上の４×４ピクセルを対象PUとした場合、対象PUの左上のピクセル位置が(0,0)とされる。そして、(0,0)に、対象PUのサイズ４の半分である２を加算した(2,2)から、それぞれー１した位置(1,1)を１６で丸めた位置(0,0)のピクセルを含むPUが、ColPUと決定される。
【００８７】
［colMVの説明］
上述したColPUは、画面を１６×１６のピクセル単位に分割した各分割領域の左上のピクセルを含むPUである。そのPUの動きベクトルがColMVとして利用される。ColMVについて、次の図６および図７を参照して詳しく説明する。
【００８８】
図６の例においては、時間軸ｔに沿って、N,N+1,N+2のピクチャが順に示されている。また、ピクチャの下には、ベクトル情報が保存されるメモリが示されている。
【００８９】
例えば、N+1のピクチャのColPicがNのピクチャである場合、Nの処理中に保存したベクトル情報は、N+1を処理する時間に、ColPUの決定方法に従ったColPUの位置から読み出される。そして、その読み出されたベクトル情報は、N+1のピクチャにおいてColMVとして利用される。
【００９０】
なお、ベクトル情報の保存時には、図７に示されるように、PUサイズにはよらず、１６×１６ピクセルに分割した分割領域の左上のピクセルを含むPUの動きベクトルが保存される。
【００９１】
図７の例においては、１６×１６ピクセルに分割されたピクチャの一部が示されており、その下には、メモリに保存されるベクトルが概念的に示されている。図７の例において、１６×１６ピクセルの分割領域における左上の丸はピクセルを示している。
【００９２】
左上の１６×１６ピクセルに分割した分割領域は、Pl0_0,Pl0_1,Pl0_2,Pl0_3の４つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl0_0のベクトルmv00(Pl0_0)がメモリに保存される。
【００９３】
左上の分割領域の下に位置する１６×１６ピクセルに分割した分割領域は、Pl2_0,Pl2_1の２つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl2_0のベクトルmv01(Pl2_0)がメモリに保存される。
【００９４】
左上の分割領域の右に位置する１６×１６ピクセルに分割した分割領域は、Pl1_0の１つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl1_0のベクトルmv10(Pl1_0)がメモリに保存される。
【００９５】
Pl1_0の分割領域の下に位置する１６×１６ピクセルに分割した分割領域は、Pl3_0,Pl3_1の２つのPUからなり、そのうち、分割領域の左上のピクセルを含むPUであるPl3_0のベクトルmv11(Pl1_0)がメモリに保存される。
【００９６】
なお、図７の例においては、LCUが３２×３２ピクセルの例が示されているため、１CUあたり４つのベクトル情報のセットがメモリに保存されることになる。
【００９７】
ここで、対象ピクチャから、ColPicの動きベクトル情報を読み込む際には、LCU(CUの最大)をまたぐ参照が許されているため、LCUをラスタスキャン順に処理を行っている場合に、過去に一度読み込んだデータの再読み込みが必要になってしまう。これは、メモリアクセスの観点で効率がよくない。
【００９８】
図８の例においては、LCU３２×３２の場合の１６×１６ピクセルに分割されたピクチャの一部が示されている。
【００９９】
LCU(1,0)の処理中に、ColPUの情報として読み出されるデータ（動きベクトル情報）は、ハッチがなされている小さい四角となる。LCUの処理がラスタスキャン順に進んで、LCU(1,1)の処理となったときに、ColPUの情報として読み出されるデータ（動きベクトル情報）は、白い小さい四角となる。
【０１００】
すなわち、LCU(1,0)の処理中に、LCU(1,1)のデータの一部がLCUのラインをまたいで読み出されており、さらに、LCU(1,1) の処理中に、LCU(1,1)の下のLCUのデータの一部がLCUのラインをまたいで読み出されている。
【０１０１】
ハードウエアでの構成を考えた場合には、ColPUの情報は、DRAMに格納される可能性が高く、データの再読み込みは帯域面での負荷増大となってしまう。DRAMアクセスを軽減するという観点で読み込んだデータを、別の記憶装置（SRAMやレジスタ）に保存しておくことも考えられるが、回路資産を新たに要求することになってしまう。
【０１０２】
そこで、図９に示される動きベクトル差分生成部１２１は、読み出す位置がLCUの境界を超える場合、データの読み出し位置を変更して、データを読み出すように制御する。
【０１０３】
［動きベクトル差分生成部の構成例］
次に、画像符号化装置１００の各部について説明する。図９は、動きベクトル差分生成部の構成例を示すブロック図である。
【０１０４】
動きベクトル差分生成部１２１は、動きベクトル差分生成制御部１３１、時間予測ベクトル生成部１３２、画内予測ベクトル生成部１３３、周辺動きベクトル保存部１３４、最適モード判定部１３５、インター／イントラ判定部１３６を含むように構成されている。
【０１０５】
動き予測・補償部１１５から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル情報、インターコスト関数値が、動きベクトル差分生成制御部１３１に供給される。
【０１０６】
動きベクトル差分生成制御部１３１は、画内予測ベクトル生成部１３３および時間予測ベクトル生成部１３２に対して、予測ベクトル生成の指示を与える。その際、動きベクトル差分生成制御部１３１は、１６×１６アドレス補正部１４２に対して、CU/PUアドレス情報とCU/PUサイズ情報を供給する。動きベクトル差分生成制御部１３１は、最適モード判定部１３５に、動き予測・補償部１１５からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。
【０１０７】
時間予測ベクトル生成部１３２は、時間相関の予測ベクトルを生成する部である。時間予測ベクトル生成部１３２は、１６×１６アドレス生成部１４１、１６×１６アドレス補正部１４２、およびメモリアクセス制御部１４３を含むように構成されている。
【０１０８】
１６×１６アドレス生成部１４１は、動きベクトル差分生成制御部１３１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１４２に供給する。
【０１０９】
また、１６×１６アドレス生成部１４１は、インター／イントラ判定部１３６から再読み込み指示があると、イントラの場合の１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１４２に供給する。
【０１１０】
１６×１６アドレス補正部１４２には、動きベクトル差分生成制御部１３１からCU/PUアドレス情報とCU/PUサイズ情報が供給される。また、１６×１６アドレス補正部１４２には、１６×１６アドレス生成部１４１から、１６×１６アドレス情報が供給される。
【０１１１】
１６×１６アドレス補正部１４２は、供給された情報を用いて、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。CUを越えた参照である場合、１６×１６アドレス補正部１４２は、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行い、補正された１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。CUを越えた参照ではない場合、１６×１６アドレス補正部１４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報をメモリアクセス制御部１４３に供給する。
【０１１２】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス補正部１４２からの１６×１６アドレス情報が対応する分割領域の左上のピクセル位置を含むPUの動きベクトルを読み出すリクエストを行う。このリクエストに対応して、動きベクトル保存メモリ１２２から動きベクトル情報が、インター／イントラ判定部１３６に供給される。
【０１１３】
画内予測ベクトル生成部１３３は、動きベクトル差分生成制御部１３１からの制御のもと、周辺動きベクトル保存部１３４に記憶されている動きベクトル情報を読み出して、空間予測ベクトルを生成する。画内予測ベクトル生成部１３３は、空間予測ベクトル情報を、最適モード判定部１３５に供給する。
【０１１４】
周辺動きベクトル保存部１３４は、メモリなどで構成され、処理対象のピクチャ内の動きベクトル情報を保存している。
【０１１５】
最適モード判定部１３５は、画内予測ベクトル生成部１３３からの空間予測ベクトルと、インター／イントラ判定部１３６からの時間予測ベクトルが参照可能であるか否かを判定する。最適モード判定部１３５は、参照可能である動きベクトルのうち、動き予測・補償部１１５により算出された動きベクトル情報との差分の発生ビット量が最小となるモードを判定する。
【０１１６】
また、最適モード判定部１３５には、動きベクトル差分生成制御部１３１からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部１３５には、イントラ予測部１１４からイントラコスト関数値が供給される。最適モード判定部１３５は、これらのコスト関数値を用いて、処理対象の領域をイントラ領域として符号化するか、インター領域として符号化するかの判定も行う。
【０１１７】
最適モード判定部１３５は、決定した最適モード情報と、動きベクトル差分情報を、可逆符号化部１０６に供給する。また、最適モード判定部１３５は、最適モードに対応する動きベクトル情報を、動きベクトル保存メモリ１２２に保存させる。なお、図示はされていないが、最適モード判定部１３５は、周辺動きベクトル保存部１３４にも、動きベクトル情報を保存させる。
【０１１８】
インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２から読み出された動きベクトル情報がインターを示している場合、その動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部１３５に供給する。インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２から読み出された動きベクトル情報がイントラを示している場合、１６×１６アドレス生成部１４１に対して、再読み込み指示を行う。なお、この再読み込み指示は、１度だけ行われる。
【０１１９】
［ColMV情報の読み出し方法］
図１０は、HEVC方式におけるColPUの決定方法を示す図である。図１０の例においては、１乃至４として、図５を参照して上述したColPUの決定方法が記載されている。
【０１２０】
そして、図１０の例に示される式（１）のxPRbは、PUの右下の水平方向のピクセル位置を示している。式（２）のyPRbは、PUの右下の垂直方向のピクセル位置を示している。
【０１２１】
１６×１６アドレス補正部１４２は、この式（２）のyPRbが、LCUの境界を超えるか否かを判定し、次の式（３）に示されるように、境界を超えると判定した場合、yPRbをLCU内に引き戻す処理を行う。
【０１２２】
if(yPRb%LCUSizeY==0)
yPRb  ＝  yPRb - 1                                            ・・・（３）
式（３）のif内がLCUサイズを超えている条件を示している。
【０１２３】
なお、ここでは、垂直方向のみに引き戻しを行うが、水平方向に対しても、本処理は適用可能である。水平方向は、次の処理CUとなるので、時間的処理の連続性の観点より利用されるまでの時間が短いので、利用可能であると考えられる。
【０１２４】
式（３）の処理の後、図１０に示される２以降の処理が実行される。これにより、LCUを垂直方向にまたぐColPUの参照を制限することが可能となる。その結果、ColMV情報の読み出し時におけるメモリアクセス回数を削減することができる。
【０１２５】
図１１の例においては、LCU３２×３２が示されている。LCU３２×３２において、左下に位置するハッチング領域は、処理対象のPU（１６×１６）である。ColPUの決定方法に則って計算すると、処理対象のPUの右下に接するピクセルを含むPUが、ColPUとなるが、そのPUは、処理対象のPUに対してLCUをまたぐ参照関係となってしまう。
【０１２６】
そこで、１６×１６アドレス補正部１４２は、上述した式（３）に示されるように、ピクセルの垂直方向に関して−１する。これにより、ピクセルは、処理対象のPUの右隣のPU（すなわち、LCU）に含まれるピクセルとなる。これに対して、まるめ処理が施されるので、結果、左上のピクセルを含むPUである処理対象のPUの右隣のPUがColPUとなり、同じLCU内の参照関係とすることができる。
【０１２７】
［符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図１２のフローチャートを参照して、符号化処理の流れの例を説明する。
【０１２８】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１２９】
ステップＳ１０３において、演算部１０３は、ステップＳ１０２の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部１１５から、イントラ予測する場合はイントラ予測部１１４から、選択部１１６を介して演算部１０３に供給される。
【０１３０】
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１３１】
ステップＳ１０４において、直交変換部１０４は、ステップＳ１０３の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０１３２】
ステップＳ１０５において、量子化部１０５は、ステップＳ１０４の処理により得られた直交変換係数を量子化する。
【０１３３】
ステップＳ１０５の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１０６において、逆量子化部１０８は、ステップＳ１０５の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部１０５の特性に対応する特性で逆量子化する。
【０１３４】
ステップＳ１０７において、逆直交変換部１０９は、ステップＳ１０６の処理により得られた直交変換係数を、直交変換部１０４の特性に対応する特性で逆直交変換する。
【０１３５】
ステップＳ１０８において、演算部１１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。
【０１３６】
ステップＳ１０９において、デブロックフィルタ１１１は、ステップＳ１０８の処理により生成された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪み（すなわち、処理単位の領域歪み）が除去される。
【０１３７】
ステップＳ１１０において、フレームメモリ１１２は、ステップＳ１０９の処理によりブロック歪みが除去された画像を記憶する。なお、フレームメモリ１１２にはデブロックフィルタ１１１によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０１３８】
ステップＳ１１１において、イントラ予測部１１４は、イントラ予測モードのイントラ予測処理を行う。すなわち、イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、イントラコスト関数値を求めることで、各予測画像を評価し、最適イントラモードを選択する。イントラ予測部１１４は、最適イントラモードを選択すると、その最適イントラモードで生成された予測画像を、選択部１１６に供給し、その最適イントラモードのイントラコスト関数値を動きベクトル差分生成部１２１に供給する。
【０１３９】
ステップＳ１１２において、動き予測・補償部１１５は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。すなわち、動き予測・補償部１１５は、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照画像とを用いて、全てのインター予測モードについて動き予測を行う。動き予測・補償部１１５は、検出された動きベクトルに応じて動き補償処理を行い、予測画像を生成し、インターコスト関数値を求めることで、各予測画像を評価し、最適インターモードを選択する。
【０１４０】
動き予測・補償部１１５は、最適インターモードを選択すると、その最適インターモードで生成された予測画像を、選択部１１６に供給する。また、動き予測・補償部１１５は、その最適インターモードのインターコスト関数値、動きベクトル情報および対象領域（CU）の情報などを、動きベクトル差分生成部１２１に供給する。
【０１４１】
ステップＳ１１３において、動きベクトル差分生成部１２１は、動き予測・補償部１１５からの情報を用い、動きベクトル差分生成処理を行う。この動きベクトル差分生成処理の詳細は、図１３を参照して後述する。
【０１４２】
ステップＳ１１３の処理により、動きベクトル差分情報が生成されるとともに、イントラ予測部１１４からのイントラコスト関数値と、動き予測・補償部１１５からのインターコスト関数値とを用いて、最適モードが決定される。
【０１４３】
動きベクトル差分生成部１２１は、生成した動きベクトル差分情報を、最適モード情報とともに、可逆符号化部１０６に供給する。また、動きベクトル差分生成部１２１は、決定した最適モードの情報を、選択部１１６に供給する。
【０１４４】
なお、インター予測モードが最適モードに決定された場合、それが動き予測・補償部１１５に通知されるので、動き予測・補償部１１５は、可逆符号化部１０６に参照画像インデックスなどを送信する。
【０１４５】
ステップＳ１１４において、選択部１１６は、動きベクトル差分生成部１２１から供給された情報に基づいて、最適モードの予測画像を選択する。つまり、選択部１１６は、イントラ予測部１１４により生成された予測画像と、動き予測・補償部１１５により生成された予測画像のいずれか一方を選択する。
【０１４６】
ステップＳ１１５において、可逆符号化部１０６は、ステップＳ１０５の処理により量子化された変換係数を符号化する。すなわち、差分画像（インターの場合、２次差分画像）に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０１４７】
また、可逆符号化部１０６は、ステップＳ１１４の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部１０６は、動きベクトル差分生成部１２１から供給されるモード情報や動きベクトル差分情報なども符号化し、符号化データに付加する。
【０１４８】
ステップＳ１１６において、蓄積バッファ１０７は、可逆符号化部１０６から出力される符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
【０１４９】
ステップＳ１１７において、レート制御部１１７は、ステップＳ１１６の処理により蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０１５０】
ステップＳ１１７の処理が終了すると、符号化処理が終了される。
【０１５１】
［動きベクトル差分生成処理の流れ］
次に、図１３のフローチャートを参照して、図１２のステップＳ１１３において実行される動きベクトル差分生成処理の流れの例を説明する。
【０１５２】
動き予測・補償部１１５から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル情報、インターコスト関数値などが、動きベクトル差分生成制御部１３１に供給される。
【０１５３】
動きベクトル差分生成制御部１３１は、画内予測ベクトル生成部１３３および時間予測ベクトル生成部１３２に対して、ベクトル生成の指示を与える。
【０１５４】
これに対応して、画内予測ベクトル生成部１３３は、ステップＳ１３１において、空間相関の予測ベクトルを生成する。画内予測ベクトル生成部１３３は、周辺動きベクトル保存部１３４に記憶されている動きベクトル情報を読み出して、空間予測ベクトルを生成する。画内予測ベクトル生成部１３３は、空間予測ベクトル情報を、最適モード判定部１３５に供給する。
【０１５５】
時間予測ベクトル生成部１３２は、ステップＳ１３２において、時間相関の予測ベクトルを生成する。この時間相関の予測ベクトル生成処理の詳細は、図１４を参照して後述するが、ステップＳ１３２の処理により、時間予測ベクトル情報が、最適モード判定部１３５に供給される。
【０１５６】
また、最適モード判定部１３５には、動きベクトル差分生成制御部１３１からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部１３５には、イントラ予測部１１４からイントラコスト関数値が供給される。
【０１５７】
ステップＳ１３３において、最適モード判定部１３５は、周辺領域がすべて参照不可であるか否かを判定する。空間予測ベクトル情報および時間予測ベクトル情報が１つでも供給された場合、最適モード判定部１３５は、周辺領域がすべて参照不可ではないと判定し、ステップＳ１３４に進む。
【０１５８】
ステップＳ１３４において、最適モード判定部１３５は、供給された空間予測ベクトル情報および時間予測ベクトル情報のうち、重複する予測ベクトルがある場合、それを削除する。
【０１５９】
ステップＳ１３５において、最適モード判定部１３５は、動きベクトル差分情報を生成する。すなわち、最適モード判定部１３５は、供給された空間予測ベクトル情報および時間予測ベクトル情報毎に、動きベクトル差分生成制御部１３１から供給された動きベクトル情報と予測ベクトル情報の差分である動きベクトル差分情報を生成する。
【０１６０】
ステップＳ１３６において、最適モード判定部１３５は、生成した動きベクトル差分情報を用いて、動きベクトル差分の最小の予測ベクトルを決定する。
【０１６１】
一方、空間予測ベクトル情報および時間予測ベクトル情報が１つも供給されなかった場合、最適モード判定部１３５は、周辺領域がすべて参照不可であると判定し、ステップＳ１３７に進む。
【０１６２】
ステップＳ１３７において、最適モード判定部１３５は、０を予測ベクトルとして、動きベクトル差分情報を生成する。
【０１６３】
ステップＳ１３８において、最適モード判定部１３５は、最適モードを決定する。すなわち、最適モード判定部１３５は、動きベクトル差分生成制御部１３１からインターコスト関数値と、イントラ予測部１１４からイントラコスト関数値を比較することにより、最適なモードを決定する。
【０１６４】
ステップＳ１３８において決定された最適なモードがインター予測モードの場合、ステップＳ１３９において、最適モード判定部１３５は、動きベクトル情報を、動きベクトル保存メモリ１２２に保存する。具体的には、最適モード判定部１３５は、図７を参照して上述したように、１６×１６の分割領域毎に、分割領域の左上のピクセルを含むPUの動きベクトル情報を、動きベクトル保存メモリ１２２に保存する。なお、この動きベクトル情報は、周辺動きベクトル保存部１３４にも保存される。
【０１６５】
ステップＳ１４０において、最適モード判定部１３５は、最適モード情報を、可逆符号化部１０６に供給する。また、最適モードがインター予測モードの場合、最適モードについての動きベクトル差分情報や、ステップＳ１３６において決定された最小の予測ベクトルのインデックス（mvp_idx）も、可逆符号化部１０６に供給される。
【０１６６】
これらの情報は、図１２のステップＳ１１５において、可逆符号化部１０６によりストリームのヘッダに付加される。
【０１６７】
なお、図１３の例は、予測動きベクトルmvpを求める場合の例である。マージモードの場合、図１３の処理のうち、ステップＳ１３５およびＳ１３６の処理が除かれ、ステップＳ１３８において、最適モードを決定する際に、インター、イントラ、マージモードのうち、最適なものが決定される。そして、最適モードがマージモードの場合、最適モード情報とともに、マージインデックス(merge_idx)が可逆符号化部１０６に供給される。
【０１６８】
すなわち、マージモードの場合も、ステップＳ１３２における時間相関の予測ベクトルを生成する処理とステップＳ１３９における動きベクトルを保存する処理は、基本的に同様の処理を行うので、以下においても、マージモードの場合の図示を省略する。
【０１６９】
［時間相関の予測ベクトルの生成処理の流れ］
次に、図１４のフローチャートを参照して、図１３のステップＳ１３２において実行される時間相関の予測ベクトルの生成処理の流れの例を説明する。
【０１７０】
１６×１６アドレス生成部１４１には、動きベクトル差分生成制御部１３１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部１４１は、ステップＳ１４１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１４１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１４２に供給する。
【０１７１】
１６×１６アドレス補正部１４２には、さらに、動きベクトル差分生成制御部１３１からCU/PUアドレス情報とCU/PUサイズ情報が供給される。
【０１７２】
ステップＳ１４２において、１６×１６アドレス補正部１４２は、供給された情報を用いて、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。すなわち、ステップＳ１４２においては、１６×１６アドレス情報が示す分割領域の右下のピクセル位置が、処理対象のCUの境界を越えているか否かが判定される。
【０１７３】
ステップＳ１４２において、CUを越えた参照であると判定された場合、１６×１６アドレス補正部１４２は、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行う。具体的には、１６×１６アドレス補正部１４２は、１６×１６アドレス情報に対して、式（３）を用いて、垂直方向に引き戻しを行う。
【０１７４】
１６×１６アドレス補正部１４２は、引き戻しの結果、補正された１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０１７５】
ステップＳ１４２において、CUを越えた参照ではないと判定された場合、ステップＳ１４３の処理はスキップされる。すなわち、１６×１６アドレス補正部１４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０１７６】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス補正部１４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０１７７】
ステップＳ１４４において、動きベクトル保存メモリ１２２は、メモリアクセス制御部１４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部１３６に供給する。
【０１７８】
ステップＳ１４５において、インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２から読み出した動きベクトル情報が、イントラ（ピクチャ）を示しているか否かを判定する。
【０１７９】
ステップＳ１４５において、読み出した動きベクトル情報が、イントラを示していると判定された場合、このPUがイントラ領域であるので、インター／イントラ判定部１３６は、１６×１６アドレス生成部１４１に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。
【０１８０】
ステップＳ１４６において、１６×１６アドレス生成部１４１は、イントラの場合の１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１４１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１４２に供給する。
【０１８１】
ステップＳ１４７において、１６×１６アドレス補正部１４２は、供給された情報を用いて、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。
【０１８２】
ステップＳ１４７において、CUを越えた参照であると判定された場合、１６×１６アドレス補正部１４２は、ステップＳ１４８において、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行う。具体的には、１６×１６アドレス補正部１４２は、１６×１６アドレス情報に対して、式（３）を用いて、垂直方向に引き戻しを行う。
【０１８３】
１６×１６アドレス補正部１４２は、引き戻しの結果、補正された１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０１８４】
ステップＳ１４７において、CUを越えた参照ではないと判定された場合、ステップＳ１４８の処理はスキップされる。すなわち、１６×１６アドレス補正部１４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０１８５】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス補正部１４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０１８６】
ステップＳ１４９において、動きベクトル保存メモリ１２２は、メモリアクセス制御部１４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部１３６に供給する。
【０１８７】
インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２からの動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部１３５に供給する。
【０１８８】
一方、ステップＳ１４５において、読み出した動きベクトル情報が、イントラを示していると判定された場合、ステップＳ１４６乃至Ｓ１４９はスキップされる。すなわち、ステップＳ１４４で読み出された動きベクトル情報が、時間予測ベクトル情報として、最適モード判定部１３５に供給される。
【０１８９】
以上のように、参照先がLCUをまたぐ参照関係となってしまう場合に、その参照がLCU内に引き戻されるように、アドレスの補正を行うようにした。これにより、ラスタスキャン順の処理において、垂直方向にLCUを跨がないので、Colベクトル情報の読み直しがなくなる。
【０１９０】
すなわち、過去に一度読み込んだデータの再読み込みは行われないので、効率よく、メモリアクセスを行うことができる。
【０１９１】
ところで、図５を参照して上述したように、ColPUを決定する場合、図５Ａを参照して上述した１番目の処理が行われ、１番目の処理で算出されたColPUが利用不可であると判定された場合、図５Ｂを参照して上述した２番目の処理が行われる。
【０１９２】
しかしながら、図５Ａと図５Ｂの例は、どちらの処理も、結果として、同じPUが指されてしまう。このように、PUサイズが８×８以下の場合、１６×１６ピクセルで区切られた右端または下端に接しないPUに関しては、ColPUが利用不可になってしまう。
【０１９３】
ColPUが利用不可になってしまうと、そのベクトル(ColMV)が、図３を参照して上述したマージモードや、図４を参照して上述した予測ベクトルmvpの候補とならないことで、最適な予測ベクトルを選択する自由度が狭められてしまう。
【０１９４】
そこで、図１５に示される動きベクトル差分生成部１２１は、１番目の処理のアドレスと２番目の処理のアドレスが同じ場合、データの読み出し位置を変更して、データを読み出すように制御する。
【０１９５】
［動きベクトル差分生成部の他の構成例］
図１５は、動きベクトル差分生成部の他の構成例を示すブロック図である。
【０１９６】
図１５の動きベクトル差分生成部１２１は、画面予測ベクトル生成部１３３、周辺動きベクトル保存部１３４、最適モード判定部１３５、およびインター／イントラ判定部１３６を備える点で、図９の動きベクトル差分生成部１２１と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。
【０１９７】
図１５の動きベクトル差分生成部１２１は、動きベクトル差分生成制御部１３１が、動きベクトル差分生成制御部１５１に入れ替わり、時間予測ベクトル生成部１３２が、時間予測ベクトル生成部１５２に入れ替わった点が、図９の動きベクトル差分生成部１２１と異なっている。
【０１９８】
動きベクトル差分生成制御部１５１は、画内予測ベクトル生成部１３３および時間予測ベクトル生成部１５２に対して、予測ベクトル生成の指示を与える。また、動きベクトル差分生成制御部１５１は、最適モード判定部１３５に、動き予測・補償部１１５からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。
【０１９９】
なお、動きベクトル差分生成制御部１５１は、図９の動きベクトル差分生成制御部１３１と異なり、１６×１６アドレス補正部１６２に対して、CUやPUの情報を供給しない。
【０２００】
時間予測ベクトル生成部１５２は、メモリアクセス制御部１４３を備える点が、図９の時間予測ベクトル生成部１３２と共通している。
【０２０１】
時間予測ベクトル生成部１５２は、１６×１６アドレス生成部１４１が、１６×１６アドレス生成部１６１に入れ替わり、１６×１６アドレス補正部１４２が、１６×１６アドレス補正部１６２に入れ替わった点が、図９の時間予測ベクトル生成部１３２と異なっている。
【０２０２】
１６×１６アドレス生成部１６１は、動きベクトル差分生成制御部１３１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１６２に供給する。
【０２０３】
１６×１６アドレス生成部１６１は、インター／イントラ判定部１３６から再読み込み指示があると、イントラの場合の１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１６１は、１回目の計算によるアドレスと、２回目（イントラの場合）の計算によるアドレスが同じであるか否かを判定し、同じであった場合、アドレスが同じであることを示す一致フラグを生成する。１６×１６アドレス生成部１６１は、生成した一致フラグを、１６×１６アドレス補正部１６２に供給する。
【０２０４】
１６×１６アドレス補正部１６２は、１６×１６アドレス生成部１６１からの１６×１６アドレス情報をメモリアクセス制御部１４３に供給する。また、１６×１６アドレス補正部１６２は、１６×１６アドレス生成部１６１からのフラグを受けた場合、１回目とは異なるアドレスになるように、１回目の１６×１６アドレスを補正する。１６×１６アドレス補正部１６２は、補正された１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０２０５】
[アドレス補正方法]
図１６は、PU４×４の場合のピクチャを示す図である。
【０２０６】
処理対象PUの左下のピクセル位置(xPtr,yPtr)は、次の式（４）で表すことができる。
xPtr = xP + nPSW -1
yPtr = yP + nPSW -1                                            ・・・（４）
【０２０７】
最小のPU単位が４×４ピクセルなので、図１６のハッチングされているピクセル位置（以下、ハッチング位置と称する）が、図５を参照して上述したColPUの算出方法上、１回目の処理と２回目の処理で、同じPUをさしてしまう位置である。
【０２０８】
そこで、(xPtr,yPtr)が、図１６のハッチング位置であることは、次の式（５）の２つの条件が成立するか否かで表すことができる。
【０２０９】
xPtr%16 = 3 or 7 or 11
yPtr%16 = 3 or 7 or 11                                            ・・・（５）
【０２１０】
１回目の処理において、インター／イントラ判定部１３６により再読み込みが指示された場合に、上述した式（４）が成立するとき、１６×１６アドレス補正部１６２は、処理対象PUが属する１６×１６領域の、右隣の１６×１６を指すように、アドレスを補正する。
【０２１１】
なお、右隣の１６×１６が、画面外となる場合には、１６×１６アドレス補正部１６２は、処理対象PUが属する１６×１６領域の、左隣の１６×１６領域を指すように、アドレスを補正する。
【０２１２】
例えば、図１７に示されるピクセル位置Ｐ１は、１６の剰余でそれぞれ１１となり、式（４）のx、yの両成分の条件式が成り立つ。そこで、１６×１６アドレス補正部１６２は、ピクセル位置Ｐ１の水平方向のみに＋１６して、右隣の１６×１６領域のピクセル位置Ｐ２に移動させる。その後、ピクセル位置Ｐ２は、１６での丸め処理により、ハッチングされたピクセル位置Ｐ３となる。
【０２１３】
[時間相関の予測ベクトルの生成処理の流れ]
次に、図１５の動きベクトル差分生成部１２１の場合の各処理の流れについて説明する。ただし、図１５の動きベクトル差分生成部１２１の場合の画像符号化装置１００の符号化処理は、図１２を参照して上述した符号化処理と同様の流れである。また、動きベクトル差分生成処理の流れは、図１３を参照して上述した動きベクトル差分生成処理の流れと同様の流れである。
【０２１４】
したがって、異なる処理が施される図１３のステップＳ１３２における時間相関の予測ベクトルの生成処理の詳細について、図１８のフローチャートを参照して説明する。
【０２１５】
１６×１６アドレス生成部１６１には、動きベクトル差分生成制御部１５１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部１４１は、ステップＳ１５１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１４１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部１４２に供給する。
【０２１６】
１６×１６アドレス補正部１４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０２１７】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス補正部１４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０２１８】
ステップＳ１５２において、動きベクトル保存メモリ１２２は、メモリアクセス制御部１４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部１３６に供給する。
【０２１９】
ステップＳ１５３において、インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２から読み出した動きベクトル情報が、イントラ（ピクチャ）を示しているか否かを判定する。
【０２２０】
ステップＳ１５３において、読み出した動きベクトル情報が、イントラを示していると判定された場合、インター／イントラ判定部１３６は、１６×１６アドレス生成部１６１に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。
【０２２１】
ステップＳ１５４において、１６×１６アドレス生成部１６１は、イントラの場合の１６×１６領域のアドレスを計算する。
【０２２２】
１６×１６アドレス生成部１６１は、ステップＳ１５５において、１回目の計算によるアドレスと、２回目（イントラの場合）の計算によるアドレスが同じであるか否かを判定する。
【０２２３】
１６×１６アドレス生成部１６１は、ステップＳ１５５において、アドレスが同じであると判定した場合、アドレスが同じであることを示す一致フラグを生成し、生成した一致フラグを、１６×１６アドレス補正部１６２に供給する。
【０２２４】
１６×１６アドレス補正部１６２は、一致フラグを受け取ると、ステップＳ１５６において、１回目とは異なるアドレスになるように、１回目の１６×１６アドレスを補正する。すなわち、１６×１６アドレス補正部１６２は、１回目の１６×１６アドレスの水平方向に、１６×１６アドレスが属する領域の右となりの領域を指すように＋１６して、１６×１６アドレスを補正する。１６×１６アドレス補正部１６２は、補正された１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０２２５】
また、ステップＳ１５５において、アドレスが異なると判定された場合、一致フラグは生成されず、ステップＳ１５６もスキップされる。すなわち、１６×１６アドレス補正部１６２は、１回目の１６×１６アドレスとは異なる２回目の１６×１６アドレスを、メモリアクセス制御部１４３に供給する。
【０２２６】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス補正部１４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０２２７】
ステップＳ１５７において、動きベクトル保存メモリ１２２は、メモリアクセス制御部１４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部１３６に供給する。
【０２２８】
インター／イントラ判定部１３６は、動きベクトル保存メモリ１２２からの動きベクトル情報を、時間予測ベクトル情報として、最適モード判定部１３５に供給する。
【０２２９】
一方、ステップＳ１５３において、読み出した動きベクトル情報が、イントラを示していると判定された場合、ステップＳ１５４乃至Ｓ１５７はスキップされる。すなわち、ステップＳ１５２で読み出された動きベクトル情報が、時間相予測ベクトル情報として、最適モード判定部１３５に供給される。
【０２３０】
以上のように、１回目の計算によるアドレスと２回目の計算によるアドレスが一致する場合、そのアドレスを、隣の１６×１６領域に移動させるようにした。これにより、同じアドレスを読み出してしまうメモリアクセスを抑制するとともに、マージモードや予測ベクトルの候補が減ってしまうことを抑制することができる。
【０２３１】
その結果、効率よくメモリアクセスを行うことができるとともに、符号化効率を改善することもできる。
【０２３２】
ここで、メモリアクセスの観点で考えると、１回目のColPU情報から、イントラであるか否かを判定して、再度、異なるColPU情報を読み出すのは、アクセスが増えてしまうという点で冗長である。
【０２３３】
そこで、上記説明においては、ColMV情報の読み出し側で、読み出すColPUの位置を決める方法について説明してきたが、次は、動きベクトルの保存側に視点を変える。すなわち、次の図１９に示される動きベクトル差分生成部１２１は、動きベクトルを保存する際に、処理対象領域がイントラ予測であったら、周辺の所定の位置の利用可能な動きベクトルを保存する。
【０２３４】
［動きベクトル差分生成部の他の構成例］
図１９は、動きベクトル差分生成部のさらに他の構成例を示すブロック図である。
【０２３５】
図１９の動きベクトル差分生成部１２１は、画面予測ベクトル生成部１３３、および周辺動きベクトル保存部１３４を備える点で、図９の動きベクトル差分生成部１２１と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。
【０２３６】
図１９の動きベクトル差分生成部１２１は、動きベクトル差分生成制御部１３１が、動きベクトル差分生成制御部１７１に入れ替わり、時間予測ベクトル生成部１３２が、時間予測ベクトル生成部１７２に入れ替わった点が、図９の動きベクトル差分生成部１２１と異なっている。図１９の動きベクトル差分生成部１２１は、最適モード判定部１３５が、最適モード判定部１７３に入れ替わった点が、図９の動きベクトル差分生成部１２１と異なっている。
【０２３７】
さらに、図１９の動きベクトル差分生成部１２１は、インター／イントラ判定部１３６が除かれた点と、保存ベクトル選択部１７４が追加された点とが、図９の動きベクトル差分生成部１２１と異なっている。
【０２３８】
動きベクトル差分生成制御部１７１は、画内予測ベクトル生成部１３３および時間予測ベクトル生成部１７２に対して、予測ベクトル生成の指示を与える。また、動きベクトル差分生成制御部１７１は、最適モード判定部１７３に、動き予測・補償部１１５からのインターコスト関数値、および動きベクトル情報を供給し、最適モードを判定させる。
【０２３９】
時間予測ベクトル生成部１７２は、メモリアクセス制御部１４３を備える点が、図９の時間予測ベクトル生成部１３２と共通している。
【０２４０】
時間予測ベクトル生成部１７２は、１６×１６アドレス生成部１４１が、１６×１６アドレス生成部１８１に入れ替わった点と、１６×１６アドレス補正部１４２が除かれた点が、図９の時間予測ベクトル生成部１３２と異なっている。
【０２４１】
１６×１６アドレス生成部１６１は、動きベクトル差分生成制御部１７１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０２４２】
最適モード判定部１７３は、画内予測ベクトル生成部１３３からの空間予測ベクトルと、動きベクトル保存メモリ１２２からの時間予測ベクトルが参照可能であるか否かを判定する。最適モード判定部１７３は、参照可能である動きベクトルのうち、動き予測・補償部１１５により算出された動きベクトル情報との差分の発生ビット量が最小となるモードを判定する。
【０２４３】
また、最適モード判定部１７３には、動きベクトル差分生成制御部１７１からインターコスト関数値および動きベクトル情報が供給される。最適モード判定部１７３には、イントラ予測部１１４からイントラコスト関数値が供給される。最適モード判定部１７３は、これらのコスト関数値を用いて、処理対象の領域がイントラ領域として符号化するか、インター領域として符号化するかの判定も行う。
【０２４４】
最適モード判定部１７３は、決定した最適モード情報と、動きベクトル差分情報を、可逆符号化部１０６に供給する。また、最適モード判定部１７３は、動きベクトル情報とイントラ領域の情報を、保存ベクトル選択部１７４に供給する。
【０２４５】
保存ベクトル選択部１７４は、処理対象領域の動きベクトル情報を、動きベクトル保存メモリ１２２に保存する。その際、保存ベクトル選択部１７４は、最適モード判定部１７３から動きベクトル情報とイントラ領域の情報、周辺動きベクトル保存部１３４からの周辺領域のベクトルとモード情報などを参照する。
【０２４６】
なお、図示はされていないが、保存ベクトル選択部１７４は、周辺動きベクトル保存部１３４にも、動きベクトル情報とモード情報を保存させる。
【０２４７】
［動きベクトル情報の保存方法］
図２０の例においては、１６×１６ピクセル単位で分割された画面の一部が示されている。動きベクトル保存メモリ１２２においては、１６×１６の分割領域毎に動きベクトルが保存される。太枠で囲まれている右下の１６×１６領域が、動きベクトル保存の処理対象領域（分割領域）であり、処理対象領域の左上の位置には、ピクセル位置Ｐが示されている。ピクセル位置Ｐに接する、ピクセル位置Ａ、ピクセル位置Ｂ、およびピクセル位置Ｃも示されている。
【０２４８】
ピクセル位置Ｐの左に隣接するピクセル位置Ａは、処理対象領域の左隣の１６×１６領域の右上のピクセル位置である。ピクセル位置Ｐの左上に接するピクセル位置Ｂは、処理対象領域の左上の１６×１６領域の右下のピクセル位置である。ピクセル位置Ｐの上に隣接するピクセル位置Ｃは、処理対象領域の上隣の１６×１６領域の左下のピクセル位置である。
【０２４９】
保存ベクトル選択部１７４は、まず、図７を参照して上述した処理と同様に、１６×１６領域の左上のピクセル位置Ｐを含むPUのベクトル情報を動きベクトル保存メモリ１２２に保存する。ただし、保存ベクトル選択部１７４は、そのPUがイントラ領域である場合には、周囲のピクセル位置が含まれるPUの動きベクトル情報が利用可能であれば、それを、処理対象の１６×１６領域のベクトル情報として動きベクトル保存メモリ１２２に保存する。
【０２５０】
具体的には、保存ベクトル選択部１７４は、１６×１６領域の左上のピクセル位置Ｐを含むPUがイントラであった場合、ピクセル位置Ａが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ａが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２５１】
保存ベクトル選択部１７４は、ピクセル位置Ａが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Ｂが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２５２】
保存ベクトル選択部１７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Ｃが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２５３】
保存ベクトル選択部１７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報が利用不可能であれば、イントラであることを、処理対象の１６×１６領域のベクトル情報として保存する。
【０２５４】
なお、図２０の例の場合、LCUをまたぐか否かについては言及されていないが、ラスタスキャン順での情報の保存が必要になることから、実際には、LCUをまたぐ場合には、利用不可能と判定させることが望ましい。
【０２５５】
また、図２０の例においては、１６×１６領域の外側のベクトル情報を保存の候補としていたが、動きベクトル保存単位である１６×１６領域の内側のベクトル情報を保存の候補とすることも可能である。
【０２５６】
図２１の例においては、画面のうち、処理対象領域である、１６×１６ピクセルの分割領域が示されている。処理対象領域は、さらに、８×８ピクセルの領域に分割されている。
【０２５７】
処理対象領域の左上の８×８領域の左上の位置には、ピクセル位置Ａが示されている。処理対象領域の右上の８×８領域の左上の位置には、ピクセル位置Ｂが示されている。処理対象領域の左下の８×８領域の左上の位置には、ピクセル位置Ｃが示されている。処理対象領域の右下の８×８領域の左上の位置には、ピクセル位置Ｄが示されている。
【０２５８】
保存ベクトル選択部１７４は、まず、図７を参照して上述した処理と同様に、１６×１６領域の左上のピクセル位置Ａを含むPU（PI0_0）のベクトル情報を動きベクトル保存メモリ１２２に保存する。ただし、保存ベクトル選択部１７４は、そのPUがイントラ領域である場合には、周囲のピクセル位置が含まれるPUの動きベクトル情報が利用可能であれば、それを、処理対象の１６×１６領域のベクトル情報として動きベクトル保存メモリ１２２に保存する。
【０２５９】
具体的には、保存ベクトル選択部１７４は、１６×１６領域の左上のピクセル位置Ａを含むPUがイントラであった場合、ピクセル位置Ｂが含まれるPU（PI1_0）の動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２６０】
保存ベクトル選択部１７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Ｃ（PI2_0）が含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２６１】
保存ベクトル選択部１７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報が利用不可能であれば、ピクセル位置Ｄが含まれるPUの動きベクトル情報が利用可能であるか否かを判定する。保存ベクトル選択部１７４は、ピクセル位置Ｄ（PI3_0）が含まれるPUの動きベクトル情報が利用可能であれば、その動きベクトル情報を、処理対象の１６×１６領域のベクトル情報として保存する。
【０２６２】
保存ベクトル選択部１７４は、ピクセル位置Ｄが含まれるPUの動きベクトル情報が利用不可能であれば、イントラであることを、処理対象の１６×１６領域のベクトル情報として保存する。
【０２６３】
[時間相関の予測ベクトルの生成処理の流れ]
次に、図１９の動きベクトル差分生成部１２１の場合の各処理の流れについて説明する。ただし、図１９の動き動きベクトル差分生成部１２１の場合の画像符号化装置１００の符号化処理は、図１２を参照して上述した符号化処理と同様の流れである。また、動きベクトル差分生成処理の流れは、図１３を参照して上述した動きベクトル差分生成処理の流れと同様の流れである。
【０２６４】
したがって、図１３のステップＳ１３２における時間相関の予測ベクトルの生成処理と、ステップＳ１３９における動きベクトル保存処理の詳細が異なっているので、それらの処理について順に説明する。
【０２６５】
図２２は、図１３のステップＳ１３２における時間相関の予測ベクトルの生成処理の例を説明するフローチャートである。
【０２６６】
１６×１６アドレス生成部１８１には、動きベクトル差分生成制御部１７１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部１８１は、ステップＳ１６１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１８１は、計算した１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０２６７】
メモリアクセス制御部１４３は、動きベクトル保存メモリ１２２に対して、１６×１６アドレス生成部１８１からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０２６８】
ステップＳ１６２において、動きベクトル保存メモリ１２２は、メモリアクセス制御部１４３からのリクエストに対応して、動きベクトル情報を読み出し、時間相関予測ベクトル情報として、最適モード判定部１７３に供給する。
【０２６９】
すなわち、動きベクトル保存メモリ１２２には、図２０および図２１を参照して上述したように動きベクトルが保存されるので、イントラであっても動きベクトルが保存されている。これにより、図１４または図１８を参照して上述した例のように、イントラの場合、再度動きベクトルを読み出す処理を省くことができる。
【０２７０】
なお、図２０または図２１を参照して上述した動きベクトルがどれも利用不可能でイントラであることが保存される場合だけ、従来のイントラの場合の読み出し方法を使用してもよい。
【０２７１】
[動きベクトル保存処理の流れ]
次に、図２３のフローチャートを参照して、図１３のステップＳ１３９の動きベクトル保存処理の例について説明する。なお、図２３は、上述した図２０を参照して上述した保存処理の流れを説明するフローチャートであり、図２０を参照して説明する。
【０２７２】
図１３のステップＳ１３８において、処理対象領域の最適モードが決まると、最適モード判定部１７３は、最適モードの動きベクトル情報およびイントラ領域情報を、保存ベクトル選択部１７４に供給する。
【０２７３】
ステップＳ１７１において、保存ベクトル選択部１７４は、最適モード判定部１７３からのイントラ領域情報に基づいて、処理対象領域（図２０の太枠の１６×１６領域）がインターであるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１７１において、図２０に示されるピクセル位置Ｐを含むPUがインターであるか否かを判定する。ステップＳ１７１において、処理対象領域がインターであると判定された場合、処理は、ステップＳ１７２に進む。
【０２７４】
ステップＳ１７２において、保存ベクトル選択部１７４は、ピクセル位置Ｐを含むPUの動きベクトル情報を、処理対象領域の動きベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２７５】
ステップＳ１７１において、処理対象領域がイントラであると判定された場合、処理は、ステップＳ１７３に進む。保存ベクトル選択部１７４は、周辺動きベクトル保存部１３４から、図２０に示されるピクセル位置Ａが含まれるPUの動きベクトル情報やモード情報を取得する。
【０２７６】
保存ベクトル選択部１７４は、ステップＳ１７３において、ピクセル位置Ａが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１７３において、ピクセル位置Ａが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２７７】
ピクセル位置Ａが含まれるPUのモード情報がインターであり、ステップＳ１７３において、ピクセル位置Ａが利用可能であると判定された場合、処理は、ステップＳ１７４に進む。ステップＳ１７４において、保存ベクトル選択部１７４は、ピクセル位置Ａが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２７８】
ピクセル位置Ａが含まれるPUのモード情報がイントラであり、ステップＳ１７３において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ１７５に進む。保存ベクトル選択部１７４は、周辺動きベクトル保存部１３４から、図２０に示されるピクセル位置Ｂが含まれるPUの動きベクトル情報やモード情報を取得する。
【０２７９】
保存ベクトル選択部１７４は、ステップＳ１７５において、ピクセル位置Ｂが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１７５において、ピクセル位置Ｂが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２８０】
ピクセル位置Ｂが含まれるPUのモード情報がインターであり、ステップＳ１７５において、ピクセル位置Ｂが利用可能であると判定された場合、処理は、ステップＳ１７６に進む。ステップＳ１７６において、保存ベクトル選択部１７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２８１】
ピクセル位置Ｂが含まれるPUのモード情報がイントラであり、ステップＳ１７５において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ１７７に進む。保存ベクトル選択部１７４は、周辺動きベクトル保存部１３４から、図２０に示されるピクセル位置Ｃが含まれるPUの動きベクトル情報やモード情報を取得する。
【０２８２】
保存ベクトル選択部１７４は、ステップＳ１７７において、ピクセル位置Ｃが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１７７において、ピクセル位置Ｃが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２８３】
ピクセル位置Ｃが含まれるPUのモード情報がインターであり、ステップＳ１７７において、ピクセル位置Ｃが利用可能であると判定された場合、処理は、ステップＳ１７８に進む。ステップＳ１７８において、保存ベクトル選択部１７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２８４】
ピクセル位置Ｃが含まれるPUのモード情報がイントラであり、ステップＳ１７７において、ピクセル位置Ｃが利用不可能であると判定された場合、処理は、ステップＳ１７９に進む。
【０２８５】
ステップＳ１７８において、保存ベクトル選択部１７４は、処理対象領域がイントラであることを、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２８６】
以上のように、動きベクトル保存の処理対象領域とColPUの位置が１対１でほぼ決まるので、図２２を参照して上述したように、動きベクトル情報の読み直しが抑制される。
【０２８７】
これにより、メモリアクセスを低減することができるとともに、予測ベクトルmvpとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。
【０２８８】
次に、図２４のフローチャートを参照して、図１３のステップＳ１３９の動きベクトル保存処理の他の例について説明する。なお、図２４は、上述した図２１を参照して上述した保存処理の流れを説明するフローチャートであり、図２１を参照して説明する。
【０２８９】
図１３のステップＳ１３８において、処理対象領域の最適モードが決まると、最適モード判定部１７３は、最適モードの動きベクトル情報またはイントラ領域情報を、保存ベクトル選択部１７４に供給する。
【０２９０】
ステップＳ１８１において、保存ベクトル選択部１７４は、処理対象領域（図２１に示される１６×１６領域）の動きベクトルを保存するため、最適モード判定部１７３からの動きベクトル情報またはイントラ領域情報に基づいて、図２１に示されるピクセル位置Ａが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１８１において、ピクセル位置Ａが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２９１】
ステップＳ１８１において、ピクセル位置Ａが利用可能であると判定された場合、処理は、ステップＳ１８２に進む。ステップＳ１８２において、保存ベクトル選択部１７４は、最適モード判定部１７３からのピクセル位置Ａが含まれるPU（図２１のPl0_0）の動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２９２】
ステップＳ１８１において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ１８３に進む。ステップＳ１８３において、保存ベクトル選択部１７４は、最適モード判定部１７３からの動きベクトル情報またはイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｂが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１８３において、ピクセル位置Ｂが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２９３】
ステップＳ１８１において、ピクセル位置Ｂが利用可能であると判定された場合、処理は、ステップＳ１８４に進む。ステップＳ１８４において、保存ベクトル選択部１７４は、最適モード判定部１７３からのピクセル位置Ｂが含まれるPU（図２１のPl1_0）の動きベクトル情報を、処理対象領域のベクトル情報として動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２９４】
ステップＳ１８３において、ピクセル位置Ｂが利用不可能であると判定された場合、処理は、ステップＳ１８５に進む。ステップＳ１８５において、保存ベクトル選択部１７４は、最適モード判定部１７３からの動きベクトル情報またはイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｃが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１８５において、ピクセル位置Ｃが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２９５】
ステップＳ１８５において、ピクセル位置Ｃが利用可能であると判定された場合、処理は、ステップＳ１８６に進む。ステップＳ１８６において、保存ベクトル選択部１７４は、最適モード判定部１７３からのピクセル位置Ｃが含まれるPU（図２１のPl2_0）の動きベクトル情報を、処理対象領域のベクトル情報として動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２９６】
ステップＳ１８５において、ピクセル位置Ｃが利用不可能であると判定された場合、処理は、ステップＳ１８７に進む。ステップＳ１８７において、保存ベクトル選択部１７４は、最適モード判定部１７３からの動きベクトル情報またはイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｄが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部１７４は、ステップＳ１８７において、ピクセル位置Ｄが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０２９７】
ステップＳ１８７において、ピクセル位置Ｄが利用可能であると判定された場合、処理は、ステップＳ１８８に進む。ステップＳ１８８において、保存ベクトル選択部１７４は、最適モード判定部１７３からのピクセル位置Ｄが含まれるPU（図２１のPl3_0）の動きベクトル情報を、処理対象領域のベクトル情報として動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２９８】
ステップＳ１８８において、ピクセル位置Ｄが利用不可能であると判定された場合、処理は、ステップＳ１８９に進む。ステップＳ１８９において、保存ベクトル選択部１７４は、イントラであることを、処理対象領域の動きベクトル情報として動きベクトル保存メモリ１２２に保存する。その後、処理は、図１３のステップＳ１３９に戻る。
【０２９９】
以上のように、図２４の例の場合も、動きベクトル保存の処理対象領域とColPUの位置が１対１でほぼ決まるので、図２２を参照して上述したように、動きベクトル情報の読み直しが抑制される。
【０３００】
これにより、メモリアクセスを低減することができるとともに、予測ベクトルとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。
【０３０１】
＜２．第２の実施の形態＞
［画像復号装置］
図２５は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図２５に示される画像復号装置２００は、図１の画像符号化装置１００に対応する復号装置である。
【０３０２】
画像符号化装置１００より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置１００に対応する画像復号装置２００に伝送され、復号されるものとする。
【０３０３】
図２５に示されるように、画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３を有する。
【０３０４】
さらに、画像復号装置２００は、動きベクトル生成部２２１および動きベクトル保存メモリ２２２を有する。
【０３０５】
蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１００により符号化されたものである。可逆復号部２０２は、蓄積バッファ２０１から所定のタイミングで読み出された符号化データを、図１の可逆符号化部１０６の符号化方式に対応する方式で復号する。
【０３０６】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた係数データ（量子化係数）を、図１の量子化部１０５の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部２０３は、画像符号化装置１００から供給された量子化パラメータを用いて、図１の逆量子化部１０８と同様の方法で量子化係数の逆量子化を行う。
【０３０７】
逆量子化部２０３は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部２０４に供給する。また、逆量子化部２０３は、逆量子化した際の量子化パラメータを、デブロックフィルタ２０６および量子化パラメータ差分検出部２２１に供給する。逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０３０８】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測・補償部２１２から予測画像が供給される。
【０３０９】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０３１０】
デブロックフィルタ２０６は、画像符号化装置１００のデブロックフィルタ１１１と基本的に同様に構成される。デブロックフィルタ２０６は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ２０６は、そのフィルタ処理結果を、画面並べ替えバッファ２０７に供給する。
【０３１１】
画面並べ替えバッファ２０７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０３１２】
デブロックフィルタ２０６の出力は、さらに、フレームメモリ２０９に供給される。
【０３１３】
フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３は、画像符号化装置１００のフレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、および選択部１１６にそれぞれ対応する。
【０３１４】
選択部２１０は、インター処理される画像と参照される画像をフレームメモリ２０９から読み出し、動き予測・補償部２１２に供給する。また、選択部２１０は、イントラ予測に用いられる画像をフレームメモリ２０９から読み出し、イントラ予測部２１１に供給する。
【０３１５】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、この情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０３１６】
動き予測・補償部２１２には、予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等などが、動きベクトル生成部２２１から供給される。
【０３１７】
動き予測・補償部２１２は、動きベクトル生成部２２１から供給されるそれらの情報に基づいて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０３１８】
選択部２１３は、動き予測・補償部２１２またはイントラ予測部２１１により生成された予測画像を選択し、演算部２０５に供給する。
【０３１９】
動きベクトル生成部２２１には、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル差分情報、予測ベクトルインデックス（mvp_index）、参照フレーム情報、フラグ、および各種パラメータ等）が可逆復号部２０２から供給される。
【０３２０】
動きベクトル生成部２２１は、周辺領域の動きベクトルから、空間相関および時間相関の予測ベクトルを生成する。特に、動きベクトル生成部２２１は、動きベクトル保存メモリ２２２に記憶されている動きベクトル情報を用いて、時間予測ベクトル情報を生成する。
【０３２１】
動きベクトル生成部２２１は、生成された予測ベクトル情報のうち、予測ベクトルインデックスが示す予測ベクトル情報と、動きベクトル差分情報とを加算することで、動きベクトル情報を生成（再構成）する。動きベクトル生成部２２１は、生成した動きベクトル情報を、ヘッダ情報を復号して得られた他の情報とともに、動き予測・補償部２１２に供給する。
【０３２２】
動きベクトル保存メモリ２２２は、動きベクトル生成部２２１により記憶された動きベクトル情報であって、動きベクトル生成部２２１が時間予測ベクトルを生成する際に用いられる動きベクトル情報を記憶している。
【０３２３】
［動きベクトル生成部の構成例］
次に、画像復号装置２００の各部について説明する。図２６は、動きベクトル生成部の構成例を示すブロック図である。なお、図２６の動きベクトル生成部は、図９の動きベクトル差分生成部に対応する部である。
【０３２４】
図２６の例において、  動きベクトル生成部２２１は、動きベクトル生成制御部２３１、時間予測ベクトル生成部２３２、画内予測ベクトル生成部２３３、周辺動きベクトル保存部２３４、動きベクトル再構成部２３５、インター／イントラ判定部２３６を含むように構成されている。
【０３２５】
可逆復号部２０２から、CUサイズ情報、CU分割情報、CUアドレス情報、動きベクトル差分情報、および予測モード情報が、動きベクトル生成制御部２３１に供給される。
【０３２６】
動きベクトル生成制御部２３１は、図９の動きベクトル差分生成制御部１３１に対応する部である。動きベクトル生成制御部２３１は、画内予測ベクトル生成部２３３および時間予測ベクトル生成部２３２に対して、予測ベクトル生成の指示を与える。その際、動きベクトル生成制御部２３１は、１６×１６アドレス補正部２４２に対して、CU/PUアドレス情報とCU/PUサイズ情報を供給する。動きベクトル生成制御部２３１は、動きベクトル再構成部２３５に、可逆復号部２０２からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。
【０３２７】
時間予測ベクトル生成部２３２は、図９の時間予測ベクトル生成部１３２に対応する部であり、時間相関の予測ベクトルを生成する部である。時間予測ベクトル生成部２３２は、１６×１６アドレス生成部２４１、１６×１６アドレス補正部２４２、およびメモリアクセス制御部２４３を含むように構成されている。
【０３２８】
１６×１６アドレス生成部２４１は、図９の１６×１６アドレス生成部１４１に対応する部である。１６×１６アドレス生成部２４１は、動きベクトル生成制御部２３１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２４２に供給する。
【０３２９】
また、１６×１６アドレス生成部２４１は、インター／イントラ判定部２３６から再読み込み指示があると、イントラの場合の１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２４２に供給する。
【０３３０】
１６×１６アドレス補正部２４２には、動きベクトル生成制御部２３１からCU/PUアドレス情報とCU/PUサイズ情報が供給される。また、１６×１６アドレス補正部２４２には、１６×１６アドレス生成部２４１から、１６×１６アドレス情報が供給される。
【０３３１】
１６×１６アドレス補正部２４２は、図９の１６×１６アドレス補正部１４２に対応する部である。１６×１６アドレス補正部２４２は、供給された情報を用いて、１６×１６アドレス生成部２４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。CUを越えた参照である場合、１６×１６アドレス補正部２４２は、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行い、補正された１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。CUを越えた参照ではない場合、１６×１６アドレス補正部２４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報をメモリアクセス制御部２４３に供給する。
【０３３２】
メモリアクセス制御部２４３は、図９のメモリアクセス制御部１４３に対応する部である。メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス補正部２４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。このリクエストに対応して、動きベクトル保存メモリ２２２から動きベクトル情報が、インター／イントラ判定部２３６に供給される。
【０３３３】
画内予測ベクトル生成部２３３は、図９の画内予測ベクトル生成部１３３に対応する部である。画内予測ベクトル生成部２３３は、動きベクトル生成制御部２３１からの制御のもと、周辺動きベクトル保存部２３４に記憶されている動きベクトル情報を読み出して、空間予測ベクトル情報を生成する。画内予測ベクトル生成部２３３は、空間予測ベクトル情報を、動きベクトル再構成部２３５に供給する。
【０３３４】
周辺動きベクトル保存部２３４は、メモリなどで構成され、処理対象のピクチャ内の動きベクトル情報を保存している。
【０３３５】
動きベクトル再構成部２３５には、動きベクトル生成制御部２３１から動きベクトル差分情報と予測ベクトルインデックスが供給される。動きベクトル再構成部２３５は、画内予測ベクトル生成部２３３からの空間予測ベクトルと、インター／イントラ判定部２３６からの時間予測ベクトルが参照可能であるか否かを判定する。
【０３３６】
動きベクトル再構成部２３５は、参照可能である動きベクトルのうち、予測ベクトルインデックスが示す動きベクトルを予測ベクトルとして、動きベクトル差分情報と加算することで、動きベクトル情報を生成する。動きベクトル再構成部２３５は、生成した動きベクトル情報を、他の復号された情報（予測モード情報、参照フレーム情報、フラグ、および各種パラメータ等）とともに、動き予測・補償部２１２に供給する。
【０３３７】
また、動きベクトル再構成部２３５は、生成した動きベクトル情報を、動きベクトル保存メモリ２２２に保存させる。なお、図示はされていないが、動きベクトル再構成部２３５は、周辺動きベクトル保存部２３４にも、動きベクトル情報を保存させる。
【０３３８】
インター／イントラ判定部２３６は、図９のインター／イントラ判定部１３６に対応する。インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２から読み出された動きベクトル情報がインターを示している場合、その動きベクトル情報を、時間予測ベクトルとして、動きベクトル再構成部２３５に供給する。インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２から読み出された動きベクトル情報がイントラを示している場合、１６×１６アドレス生成部２４１に対して、再読み込み指示を行う。なお、この再読み込み指示は、１度だけ行われる。
【０３３９】
［復号処理の流れ］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図２７のフローチャートを参照して、復号処理の流れの例を説明する。
【０３４０】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給される符号化データを復号する。すなわち、図１の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０３４１】
このとき、動きベクトル差分情報、予測ベクトルインデックス（mvp_index）、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）、並びに、フラグや量子化パラメータ等の情報も復号される。
【０３４２】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部２１１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル差分情報などは、動きベクトル生成部２２１に供給される。
【０３４３】
ステップＳ２０３において、逆量子化部２０３は、可逆復号部２０２により復号されて得られた、量子化された直交変換係数を逆量子化する。ステップＳ２０４において逆直交変換部２０４は逆量子化部２０３により逆量子化されて得られた直交変換係数を、図１の直交変換部１０４に対応する方法で逆直交変換する。これにより図１の直交変換部１０４の入力（演算部１０３の出力）に対応する差分情報が復号されたことになる。
【０３４４】
ステップＳ２０５において、演算部２０５は、ステップＳ２０４の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。
【０３４５】
ステップＳ２０６において、デブロックフィルタ２０６は、ステップＳ２０５の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。
【０３４６】
ステップＳ２０７において、フレームメモリ２０９は、フィルタリングされた復号画像を記憶する。
【０３４７】
ステップＳ２０８において、イントラ予測部２１１、または動きベクトル生成部２２１は、可逆復号部２０２から供給される予測モード情報に対応して、イントラ符号化されているか否かを判定する。
【０３４８】
ステップＳ２０８において、イントラ符号化されていると判定された場合、ステップＳ２０９において、イントラ予測部２１１は、可逆復号部２０２からのイントラ予測モードを取得する。ステップＳ２１０において、イントラ予測部２１１は、ステップＳ２０９で取得したイントラ予測モードに応じて、予測画像を生成する。イントラ予測部２１１は、生成した予測画像を、選択部２１３に出力する。
【０３４９】
一方、予測モード情報が、インター予測モードまたはマージモードなどであり、ステップＳ２０８において、イントラ符号化されていないと判定された場合、処理は、ステップＳ２１１に進む。ステップＳ２１１において、動きベクトル生成部２２１は、動きベクトル生成処理を行う。この動きベクトル生成処理は、図２８を参照して後述される。
【０３５０】
ステップＳ２１１の処理により、可逆復号部２０２から供給されるそれらの情報に基づいて、処理対象領域の周辺にある周辺領域の動きベクトルを用いて、予測ベクトルが生成される。生成された予測ベクトルと動きベクトル差分情報（差分値）を用いて、動きベクトルが再構成されることにより、動きベクトルが生成される。
【０３５１】
動きベクトル生成部２２１は、生成した動きベクトル情報と予測モード情報など、可逆復号部２０２により復号されたパラメータなどの情報とを、動き予測・補償部２１２に供給する。
【０３５２】
動き予測・補償部２１２は、ステップＳ２１２において、動きベクトル生成部２２１からの情報を用いて、フレームメモリ２０９から取得した参照画像から予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０３５３】
ステップＳ２１３において、選択部２１３は予測画像を選択する。すなわち、選択部２１３には、イントラ予測部２１１により生成された予測画像、若しくは、動き予測・補償部２１２により生成された予測画像が供給される。選択部２１３は、その予測画像が供給された側を選択し、その予測画像を演算部２０５に供給する。この予測画像は、ステップＳ２０５の処理により差分情報に加算される。
【０３５４】
ステップＳ２１４において、画面並べ替えバッファ２０７は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置１００の画面並べ替えバッファ１０２（図１）により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０３５５】
ステップＳ２１５において、D/A変換部２０８は、画面並べ替えバッファ２０７においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
【０３５６】
［動きベクトル生成処理の流れ］
次に、図２８のフローチャートを参照して、図２７のステップＳ２１１において実行される動きベクトル生成処理の流れの例を説明する。
【０３５７】
図２７のステップＳ２０２の処理により、予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル差分情報などは、動きベクトル生成制御部２３１に供給される。
【０３５８】
動きベクトル生成制御部２３１は、ステップＳ２３１において、供給されたそれらの情報である予測モード情報などを取得する。例えば、動きベクトル生成制御部２３１は、予測モード情報、動きベクトル差分情報、CUサイズ情報、CU分割情報、およびCUアドレス情報などを取得する。さらに、動きベクトル生成制御部２３１は、予測ベクトルのインデックス、および参照画像インデックスなども取得する。
【０３５９】
動きベクトル生成制御部２３１は、画内予測ベクトル生成部２３３および時間予測ベクトル生成部２３２に対して、予測ベクトル生成の指示を与える。
【０３６０】
これに対応して、画内予測ベクトル生成部２３３は、ステップＳ２３２において、空間相関の予測ベクトルを生成する。画内予測ベクトル生成部２３３は、周辺動きベクトル保存部２３４に記憶されている動きベクトル情報を読み出して、空間相関予測ベクトルを生成する。画内予測ベクトル生成部２３３は、生成した空間相関予測ベクトル情報を、動きベクトル再構成部２３５に供給する。
【０３６１】
時間予測ベクトル生成部２３２は、ステップＳ２３３において、時間相関の予測ベクトルを生成する。この時間相関の予測ベクトル生成処理の詳細は、図２９を参照して後述するが、ステップＳ２３３の処理により、時間相関予測ベクトル情報が動きベクトル再構成部２３５に供給される。
【０３６２】
ステップＳ２３４において、動きベクトル再構成部２３５は、周辺領域がすべて参照不可であるか否かを判定する。空間予測ベクトル情報および時間予測ベクトル情報が１つでも供給された場合、動きベクトル再構成部２３５は、周辺領域がすべて参照不可ではないと判定し、ステップＳ２３５に進む。
【０３６３】
ステップＳ２３５において、動きベクトル再構成部２３５は、供給された空間予測ベクトル情報および時間予測ベクトル情報のうち、重複する予測ベクトルがある場合、それを削除する。
【０３６４】
ステップＳ２３６において、動きベクトル再構成部２３５は、動きベクトル生成制御部２３１から予測ベクトルインデックスを取得する。
【０３６５】
ステップＳ２３７において、動きベクトル再構成部２３５は、予測ベクトルが複数あった場合、ステップＳ２３６において取得された予測ベクトルインデックスが示す予測ベクトルを、予測ベクトルとして決定する。
【０３６６】
一方、イントラであったり、画面外であったりして、空間予測ベクトル情報および時間予測ベクトル情報が１つも供給されなかった場合、動きベクトル再構成部２３５は、周辺領域がすべて参照不可であると判定し、ステップＳ２３８に進む。
【０３６７】
ステップＳ２３８において、動きベクトル再構成部２３５は、０を予測ベクトルとする。
【０３６８】
ステップＳ２３９において、動きベクトル再構成部２３５は、ステップＳ２３７またはＳ２３８において決定された予測ベクトルを、動きベクトル生成制御部２３１からの動きベクトル差分に加算することで、動きベクトルを生成する。
【０３６９】
ステップＳ２４０において、動きベクトル再構成部２３５は、生成した動きベクトルの情報を、動きベクトル保存メモリ１２２に保存する。具体的には、動きベクトル再構成部２３５は、図７を参照して上述したように、１６×１６の分割領域毎に、分割領域の左上のピクセル位置を含むPUの動きベクトル情報を、動きベクトル保存メモリ２２２に保存する。動きベクトル保存メモリ２２２に保存された動きベクトル情報は、時間的に後のピクチャの予測ベクトル生成に用いられる。なお、この動きベクトル情報は、周辺動きベクトル保存部１３４にも保存される。
【０３７０】
その後、動きベクトル再構築部２３５は、生成した動きベクトル情報と、予測モード情報など、可逆復号部２０２により復号されたパラメータなどの情報とを、動き予測・補償部２１２に供給し、処理は、図２７のステップＳ２１１に戻る。
【０３７１】
なお、図２８の例は、予測ベクトルmvpを求める場合の例である。マージモードの場合、動きベクトル差分情報は符号化側から送られてこないので、図２８の処理のうち、ステップＳ２３９の処理が除かれる。そして、図２８のステップＳ２３６で取得されるインデックスが、マージインデックス(merge_idx)となり、ステップＳ２３７またはＳ２３８において予測ベクトルではなく動きベクトルが決定される。
【０３７２】
すなわち、マージモードの場合も、ステップＳ２３３における時間相関の予測ベクトルを生成する処理とステップＳ２４０における動きベクトルを保存する処理は、基本的に同様の処理を行うので、以下においても、マージモードの場合の図示を省略する。
【０３７３】
［時間相関の予測ベクトルの生成処理の流れ］
次に、図２９のフローチャートを参照して、図２８のステップＳ２３３において実行される時間相関の予測ベクトルの生成処理の流れの例を説明する。なお、図２９の各ステップにおいては、上述した図１４の各ステップにおける処理と基本的に同様の処理が行われる。
【０３７４】
１６×１６アドレス生成部２４１には、動きベクトル生成制御部２３１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部２４１は、ステップＳ２６１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部２４１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２４２に供給する。
【０３７５】
１６×１６アドレス補正部２４２には、さらに、動きベクトル生成制御部２３１からCU/PUアドレス情報とCU/PUサイズ情報が供給される。
【０３７６】
ステップＳ２６２において、１６×１６アドレス補正部２４２は、供給された情報を用いて、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。すなわち、ステップＳ２６２においては、１６×１６アドレス情報が示す分割領域の右下のピクセル位置が、処理対象のCUの境界を越えているか否かが判定される。
【０３７７】
ステップＳ２６２において、CUを越えた参照であると判定された場合、１６×１６アドレス補正部２４２は、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行う。具体的には、１６×１６アドレス補正部２４２は、１６×１６アドレス情報に対して、式（３）を用いて、垂直方向に引き戻しを行う。
【０３７８】
１６×１６アドレス補正部２４２は、引き戻しの結果、補正された１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０３７９】
ステップＳ２６２において、CUを越えた参照ではないと判定された場合、ステップＳ２６３の処理はスキップされる。すなわち、１６×１６アドレス補正部２４２は、１６×１６アドレス生成部２４１からの１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０３８０】
メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス補正部２４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０３８１】
ステップＳ２６４において、動きベクトル保存メモリ２２２は、メモリアクセス制御部２４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部２３６に供給する。
【０３８２】
ステップＳ２６５において、インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２から読み出した動きベクトル情報が、イントラ（ピクチャ）を指しているか否かを判定する。
【０３８３】
ステップＳ２６５において、読み出した動きベクトル情報が、イントラを指していると判定された場合、インター／イントラ判定部２３６は、１６×１６アドレス生成部２４１に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。
【０３８４】
ステップＳ２６６において、１６×１６アドレス生成部２４１は、イントラの場合の１６×１６領域のアドレスを計算する。１６×１６アドレス生成部１４１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２４２に供給する。
【０３８５】
ステップＳ２６７において、１６×１６アドレス補正部２４２は、供給された情報を用いて、１６×１６アドレス生成部２４１からの１６×１６アドレス情報を用いた参照が、CUを越えた参照であるか否かを判定する。
【０３８６】
ステップＳ２６７において、CUを越えた参照であると判定された場合、１６×１６アドレス補正部２４２は、ステップＳ２６８において、その参照をCU内に引き戻すように、１６×１６アドレス情報の補正を行う。具体的には、１６×１６アドレス補正部２４２は、１６×１６アドレス情報に対して、式（３）を用いて、垂直方向に引き戻しを行う。
【０３８７】
１６×１６アドレス補正部２４２は、引き戻しの結果、補正された１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０３８８】
ステップＳ２６７において、CUを越えた参照ではないと判定された場合、ステップＳ２６８の処理はスキップされる。すなわち、１６×１６アドレス補正部２４２は、１６×１６アドレス生成部１４１からの１６×１６アドレス情報を、メモリアクセス制御部１４３に供給する。
【０３８９】
メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス補正部２４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０３９０】
ステップＳ２６９において、動きベクトル保存メモリ２２２は、メモリアクセス制御部２４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部２３６に供給する。
【０３９１】
インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２からの動きベクトル情報を、時間相関予測ベクトル情報として、動きベクトル再構成部２３５に供給する。
【０３９２】
一方、ステップＳ２６５において、読み出した動きベクトル情報が、イントラを指していると判定された場合、ステップＳ２６６乃至Ｓ２６９はスキップされる。すなわち、ステップＳ２６４で読み出された動きベクトル情報が、時間相関予測ベクトル情報として、動きベクトル再構成部２３５に供給される。
【０３９３】
以上のように、復号側でも、符号化側と同様に、参照先がLCUをまたぐ参照関係となってしまう場合に、その参照がLCU内に引き戻されるように、アドレスの補正を行うようにした。これにより、ラスタスキャン順の処理において、垂直方向にLCUを跨がないので、Colベクトル情報の読み直しがなくなる。
【０３９４】
すなわち、過去に一度読み込んだデータの再読み込みは行われないので、効率よく、メモリアクセスを行うことができる。
【０３９５】
［動きベクトル生成部の他の構成例］
図３０は、動きベクトル生成部の他の構成例を示すブロック図である。なお、図３０の動きベクトル生成部は、図１５の動きベクトル差分生成部に対応する部である。
【０３９６】
図３０の動きベクトル生成部２２１は、画面予測ベクトル生成部２３３、周辺動きベクトル保存部２３４、動きベクトル再構成部２３５、およびインター／イントラ判定部２３６を備える点で、図２６の動きベクトル生成部２２１と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。
【０３９７】
図３０の動きベクトル生成部２２１は、動きベクトル生成制御部２３１が、動きベクトル生成制御部２５１に入れ替わり、時間予測ベクトル生成部２３２が、時間予測ベクトル生成部２５２に入れ替わった点が、図２６の動きベクトル生成部２２１と異なっている。
【０３９８】
動きベクトル生成制御部２５１は、図１５の動きベクトル差分生成制御部１５１に対応する部である。動きベクトル生成制御部２５１は、画内予測ベクトル生成部２３３および時間予測ベクトル生成部２５２に対して、予測ベクトル生成の指示を与える。動きベクトル生成制御部２５１は、動きベクトル再構成部２３５に、可逆復号部２０２からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。
【０３９９】
なお、動きベクトル生成制御部２５１は、図２６の動きベクトル生成制御部２３１と異なり、１６×１６アドレス補正部２６２に対して、CUやPUの情報を供給しない。
【０４００】
時間予測ベクトル生成部２５２は、図１５の時間予測ベクトル生成部１５２に対応する部である。時間予測ベクトル生成部２５２は、メモリアクセス制御部２４３を備える点が、図２６の時間予測ベクトル生成部２３２と共通している。
【０４０１】
時間予測ベクトル生成部２５２は、１６×１６アドレス生成部２４１が、１６×１６アドレス生成部２６１に入れ替わり、１６×１６アドレス補正部２４２が、１６×１６アドレス補正部２６２に入れ替わった点が、図２６の時間予測ベクトル生成部２３２と異なっている。
【０４０２】
１６×１６アドレス生成部２６１は、図１５の１６×１６アドレス生成部１６１に対応する部である。１６×１６アドレス生成部２６１は、動きベクトル生成制御部２５１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２６２に供給する。
【０４０３】
１６×１６アドレス生成部２６１は、インター／イントラ判定部２３６から再読み込み指示があると、イントラの場合の１６×１６領域のアドレスを計算する。１６×１６アドレス生成部２６１は、１回目の計算によるアドレスと、２回目（イントラの場合）の計算によるアドレスが同じであるか否かを判定し、同じであった場合、アドレスが同じであることを示す一致フラグを生成する。１６×１６アドレス生成部２６１は、生成した一致フラグを、１６×１６アドレス補正部２６２に供給する。
【０４０４】
１６×１６アドレス補正部２６２は、図１５の１６×１６アドレス補正部１６２に対応する部である。１６×１６アドレス補正部２６２は、１６×１６アドレス生成部２６１からの１６×１６アドレス情報をメモリアクセス制御部２４３に供給する。また、１６×１６アドレス補正部２６２は、１６×１６アドレス生成部２６１からのフラグを受けた場合、１回目とは異なるアドレスになるように、１回目の１６×１６アドレスを補正する。１６×１６アドレス補正部２６２は、補正された１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０４０５】
[時間相関の予測ベクトルの生成処理の流れ]
次に、図３０の動きベクトル生成部２２１の場合の各処理の流れについて説明する。ただし、図３０の動きベクトル生成部２２１の場合の画像復号装置２００の復号処理は、図２７を参照して上述した復号処理と同様の流れである。また、動きベクトル生成処理の流れは、図２８を参照して上述した動きベクトル生成処理の流れと同様の流れである。
【０４０６】
したがって、異なる処理が施される図２８のステップＳ２３３における時間相関の予測ベクトルの生成処理の詳細について、図３１のフローチャートを参照して説明する。なお、図３１の各ステップにおいては、上述した図１８の各ステップにおける処理と基本的に同様の処理が行われる。
【０４０７】
１６×１６アドレス生成部２６１には、動きベクトル生成制御部２５１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部２６１は、ステップＳ２７１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部２６１は、計算した１６×１６アドレス情報を、１６×１６アドレス補正部２６２に供給する。
【０４０８】
１６×１６アドレス補正部２６２は、１６×１６アドレス生成部２６１からの１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０４０９】
メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス補正部２６２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０４１０】
ステップＳ２７２において、動きベクトル保存メモリ２２２は、メモリアクセス制御部２４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部２３６に供給する。
【０４１１】
ステップＳ２７３において、インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２から読み出した動きベクトル情報が、イントラ（ピクチャ）を示しているか否かを判定する。
【０４１２】
ステップＳ２７３において、読み出した動きベクトル情報が、イントラを示していると判定された場合、インター／イントラ判定部２３６は、１６×１６アドレス生成部２６１に対して、再読み込み指示を行う。なお、この再読み込み指示は、一度だけ行われる。
【０４１３】
ステップＳ２７４において、１６×１６アドレス生成部２６１は、イントラの場合の１６×１６領域のアドレスを計算する。
【０４１４】
１６×１６アドレス生成部２６１は、ステップＳ２７５において、１回目の計算によるアドレスと、２回目（イントラの場合）の計算によるアドレスが同じであるか否かを判定する。
【０４１５】
１６×１６アドレス生成部２６１は、ステップＳ２７５において、アドレスが同じであると判定した場合、アドレスが同じであることを示す一致フラグを生成し、生成した一致フラグを、１６×１６アドレス補正部２６２に供給する。
【０４１６】
１６×１６アドレス補正部２６２は、一致フラグを受け取ると、ステップＳ２７６において、１回目とは異なるアドレスになるように、１回目の１６×１６アドレスを補正する。すなわち、１６×１６アドレス補正部２６２は、１回目の１６×１６アドレスの水平方向に、１６×１６アドレスが属する領域の右となりの領域を指すように＋１６して、１６×１６アドレスを補正する。１６×１６アドレス補正部２６２は、補正された１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０４１７】
また、ステップＳ２７５において、アドレスが異なると判定された場合、一致フラグは生成されず、ステップＳ２７６もスキップされる。すなわち、１６×１６アドレス補正部２６２は、１回目の１６×１６アドレスとは異なる２回目の１６×１６アドレスを、メモリアクセス制御部２４３に供給する。
【０４１８】
メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス補正部２４２からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０４１９】
ステップＳ２７７において、動きベクトル保存メモリ２２２は、メモリアクセス制御部２４３からのリクエストに対応して、動きベクトル情報を読み出し、インター／イントラ判定部２３６に供給する。
【０４２０】
インター／イントラ判定部２３６は、動きベクトル保存メモリ２２２からの動きベクトル情報を、時間相関予測ベクトル情報として、動きベクトル再構成部２３５に供給する。
【０４２１】
一方、ステップＳ２７３において、読み出した動きベクトル情報が、イントラを指していると判定された場合、ステップＳ２７４乃至Ｓ２７７はスキップされる。すなわち、ステップＳ２７２で読み出された動きベクトル情報が、時間相関予測ベクトル情報として、動きベクトル再構成部２３５に供給される。
【０４２２】
以上のように、復号側でも、符号化側と同様に、１回目の計算によるアドレスと２回目の計算によるアドレスが一致する場合、そのアドレスを、隣の１６×１６領域に移動させるようにした。これにより、同じアドレスを読み出してしまうメモリアクセスを抑制するとともに、マージモードや予測ベクトルの候補が減ってしまうことを抑制することができる。
【０４２３】
その結果、効率よくメモリアクセスを行うことができるとともに、符号化効率を改善することもできる。
【０４２４】
［動きベクトル差分生成部の他の構成例］
図３２は、動きベクトル生成部のさらに他の構成例を示すブロック図である。なお、図３２の動きベクトル生成部は、図１９の動きベクトル差分生成部に対応する部である。
【０４２５】
図３２の動きベクトル生成部２２１は、画面予測ベクトル生成部２３３、および周辺動きベクトル保存部２３４を備える点で、図２６の動きベクトル生成部２２１と共通している。なお、共通している部分については、繰り返しになるので適宜その説明を省略する。
【０４２６】
図３２の動きベクトル生成部２２１は、動きベクトル生成制御部２３１が、動きベクトル生成制御部２７１に入れ替わり、時間予測ベクトル生成部２３２が、時間予測ベクトル生成部２７２に入れ替わった点が、図２６の動きベクトル生成部２２１と異なっている。図３２の動きベクトル生成部２２１は、動きベクトル再構成部２３５が、動きベクトル再構成部２７３に入れ替わった点が、図２６の動きベクトル生成部２２１と異なっている。
【０４２７】
さらに、図３２の動きベクトル生成部２２１は、インター／イントラ判定部２３６が除かれた点と、保存ベクトル選択部２７４が追加された点とが、図２６の動きベクトル生成部２２１と異なっている。
【０４２８】
動きベクトル生成制御部２７１は、図１９の動きベクトル差分生成制御部１７１に対応する部である。動きベクトル生成制御部２７１は、画内予測ベクトル生成部２３３および時間予測ベクトル生成部２７２に対して、予測ベクトル生成の指示を与える。動きベクトル生成制御部２７１は、動きベクトル再構成部２７３に、可逆復号部２０２からの動きベクトル差分情報を供給し、動きベクトルを再構成させる。また、動きベクトル生成制御部２７１は、イントラ領域情報を、保存ベクトル選択部２７４に供給して、動きベクトルを、動きベクトル保存メモリ２２２に保存させる。
【０４２９】
時間予測ベクトル生成部２７２は、図１９の時間予測ベクトル生成部１７２に対応する部である。時間予測ベクトル生成部２７２は、メモリアクセス制御部２４３を備える点が、図２６の時間予測ベクトル生成部２３２と共通している。
【０４３０】
時間予測ベクトル生成部２７２は、１６×１６アドレス生成部２４１が、１６×１６アドレス生成部２８１に入れ替わった点と、１６×１６アドレス補正部２４２が除かれた点が、図２６の時間予測ベクトル生成部２３２と異なっている。
【０４３１】
１６×１６アドレス生成部２８１は、図１９の１６×１６アドレス生成部１８１に対応する部である。１６×１６アドレス生成部２８１は、動きベクトル生成制御部２７１の制御のもと、参照する１６×１６領域のアドレスを計算し、計算した１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０４３２】
動きベクトル再構成部２７３は、図１９の動きベクトル再構成部１７３と対応する部である。画内予測ベクトル生成部２３３からの空間予測ベクトルと、動きベクトル保存メモリ２２２からの時間予測ベクトルが参照可能であるか否かを判定する。動きベクトル再構成部２７３は、参照可能である動きベクトルのうち、予測ベクトルインデックスが示す動きベクトルを予測ベクトルとして、動きベクトル差分情報と加算することで、動きベクトル情報を生成する。動きベクトル再構成部２７３は、生成した動きベクトル情報を、他の復号された情報（予測モード情報、参照フレーム情報、フラグ、および各種パラメータ等）とともに、動き予測・補償部２１２に供給する。
【０４３３】
動きベクトル再構成部２７３は、動きベクトル情報を、保存ベクトル選択部２７４に供給する。
【０４３４】
保存ベクトル選択部２７４は、図１９の保存ベクトル選択部１７４に対応する部である。保存ベクトル選択部２７４は、画面を１６×１６に分割した分割領域である、処理対象領域の動きベクトル情報を、動きベクトル保存メモリ２２２に保存する。その際、保存ベクトル選択部２７４は、動きベクトル再構成部２７３から動きベクトル情報と、動きベクトル生成制御部２７１からのイントラ領域の情報、周辺動きベクトル保存部２３４からの周辺領域のベクトルとモード情報などを参照する。
【０４３５】
なお、図示はされていないが、保存ベクトル選択部２７４は、周辺動きベクトル保存部２３４にも、動きベクトル情報とモード情報を保存させる。
【０４３６】
[時間相関の予測ベクトルの生成処理の流れ]
次に、図３２の動きベクトル生成部２２１の場合の各処理の流れについて説明する。ただし、図３２の動きベクトル生成部２２１の場合の画像復号装置２００の復号処理は、図２７を参照して上述した復号処理と同様の流れである。また、動きベクトル生成処理の流れは、図２８を参照して上述した動きベクトル生成処理の流れと同様の流れである。
【０４３７】
したがって、図２８のステップＳ２３３における時間相関の予測ベクトルの生成処理と、ステップＳ２４０における動きベクトル保存処理の詳細が異なっているので、それらの処理について順に説明する。
【０４３８】
図３３は、図２８のステップＳ２３３における時間相関の予測ベクトルの生成処理の例を説明するフローチャートである。
【０４３９】
１６×１６アドレス生成部２８１には、動きベクトル生成制御部２７１から、予測ベクトル生成の指示が供給される。１６×１６アドレス生成部２８１は、ステップＳ２８１において、参照する１６×１６領域のアドレスを計算する。１６×１６アドレス生成部２８１は、計算した１６×１６アドレス情報を、メモリアクセス制御部２４３に供給する。
【０４４０】
メモリアクセス制御部２４３は、動きベクトル保存メモリ２２２に対して、１６×１６アドレス生成部２８１からの１６×１６アドレス情報が示す動きベクトルを読み出すリクエストを行う。
【０４４１】
ステップＳ２８２において、動きベクトル保存メモリ２２２は、メモリアクセス制御部２４３からのリクエストに対応して、動きベクトル情報を読み出し、時間相関予測ベクトル情報として、動きベクトル再構成部２７３に供給する。
【０４４２】
すなわち、動きベクトル保存メモリ２２２には、図３５および図３６を参照して後述されるように動きベクトルが保存されるので、イントラであっても動きベクトルが保存されている。これにより、従来や、あるいは、図２９または図３１を参照して上述した例のように、イントラの場合に再度動きベクトルを読み出す処理を省くことができる。
【０４４３】
[動きベクトル保存処理の流れ]
次に、図３４のフローチャートを参照して、図２８のステップＳ２４０の動きベクトル保存処理の例について説明する。図３４は、上述した図２０を参照して上述した保存処理の流れを説明するフローチャートであり、図２０を参照して説明する。なお、図３４の各ステップにおいては、上述した図２３の各ステップにおける処理と基本的に同様の処理が行われる。
【０４４４】
図２８のステップＳ２３９において、動きベクトルが生成されると、動きベクトル再構成部２７３は、生成した動きベクトル情報を、保存ベクトル選択部２７４に供給する。また、動きベクトル生成制御部２７１は、イントラ領域情報を、保存ベクトル選択部２７４に供給する。
【０４４５】
ステップＳ３０１において、保存ベクトル選択部２７４は、動きベクトル生成制御部２７１からのイントラ領域情報に基づいて、処理対象領域（すなわち、図２０の太枠の１６×１６領域）がインターであるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３０１において、図２０に示されるピクセル位置Ｐを含むPUがインターであるか否かを判定する。ステップＳ３０１において、処理対象領域がインターであると判定された場合、処理は、ステップＳ３０２に進む。
【０４４６】
ステップＳ３０２において、保存ベクトル選択部２７４は、動きベクトル再構成部２７３からの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４４７】
ステップＳ３０１において、処理対象領域がイントラであると判定された場合、処理は、ステップＳ３０３に進む。保存ベクトル選択部２７４は、周辺動きベクトル保存部２３４から、図２０に示されるピクセル位置Ａが含まれるPUの動きベクトル情報やモード情報を取得する。
【０４４８】
保存ベクトル選択部２７４は、ステップＳ３０３において、ピクセル位置Ａが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３０３において、ピクセル位置Ａが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４４９】
ピクセル位置Ａが含まれるPUのモード情報がインターであり、ステップＳ３０３において、ピクセル位置Ａが利用可能であると判定された場合、処理は、ステップＳ３０４に進む。ステップＳ３０４において、保存ベクトル選択部２７４は、ピクセル位置Ａが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４５０】
ピクセル位置Ａが含まれるPUのモード情報がイントラであり、ステップＳ３０３において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ３０５に進む。保存ベクトル選択部２７４は、周辺動きベクトル保存部２３４から、図２０に示されるピクセル位置Ｂが含まれるPUの動きベクトル情報やモード情報を取得する。
【０４５１】
保存ベクトル選択部２７４は、ステップＳ３０５において、ピクセル位置Ｂが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３０５において、ピクセル位置Ｂが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４５２】
ピクセル位置Ｂが含まれるPUのモード情報がインターであり、ステップＳ３０５において、ピクセル位置Ｂが利用可能であると判定された場合、処理は、ステップＳ３０６に進む。ステップＳ３０６において、保存ベクトル選択部２７４は、ピクセル位置Ｂが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４５３】
ピクセル位置Ｂが含まれるPUのモード情報がイントラであり、ステップＳ３０５において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ３０７に進む。保存ベクトル選択部２７４は、周辺動きベクトル保存部２３４から、図２０に示されるピクセル位置Ｃが含まれるPUの動きベクトル情報やモード情報を取得する。
【０４５４】
保存ベクトル選択部２７４は、ステップＳ３０７において、ピクセル位置Ｃが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３０７において、ピクセル位置Ｃが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４５５】
ピクセル位置Ｃが含まれるPUのモード情報がインターであり、ステップＳ３０７において、ピクセル位置Ｃが利用可能であると判定された場合、処理は、ステップＳ３０８に進む。ステップＳ３０８において、保存ベクトル選択部２７４は、ピクセル位置Ｃが含まれるPUの動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４５６】
ピクセル位置Ｃが含まれるPUのモード情報がイントラであり、ステップＳ３０７において、ピクセル位置Ｃが利用不可能であると判定された場合、処理は、ステップＳ３０９に進む。
【０４５７】
ステップＳ３０８において、保存ベクトル選択部２７４は、イントラであることを、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４５８】
以上のように、動きベクトル保存の処理対象領域とColPUの位置が１対１でほぼ決まるので、図２２を参照して上述したように、ベクトル情報の読み直しが抑制される。
【０４５９】
これにより、メモリアクセスを低減することができるとともに、予測ベクトルmvpとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。
【０４６０】
次に、図３５のフローチャートを参照して、図２８のステップＳ２４０の動きベクトル保存処理の他の例について説明する。図３５は、上述した図２１を参照して上述した保存処理の流れを説明するフローチャートであり、図２２を参照して説明する。なお、図３５の各ステップにおいては、上述した図２４の各ステップにおける処理と基本的に同様の処理が行われる。
【０４６１】
図２８のステップＳ２３９において、動きベクトルが生成されると、動きベクトル再構成部２７３は、生成した動きベクトル情報を、保存ベクトル選択部２７４に供給する。また、動きベクトル生成制御部２７１は、イントラ領域情報を、保存ベクトル選択部２７４に供給する。
【０４６２】
ステップＳ３１１において、保存ベクトル選択部２７４は、処理対象領域（図２１に示される１６×１６領域）の動きベクトルを保存するため、動きベクトル生成制御部２７１からのイントラ領域情報に基づいて、図２１に示されるピクセル位置Ａが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３１１において、ピクセル位置Ａが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４６３】
ステップＳ３１１において、ピクセル位置Ａが利用可能であると判定された場合、処理は、ステップＳ３１２に進む。ステップＳ３１２において、保存ベクトル選択部２７４は、動きベクトル再構成部２７３からのピクセル位置Ａが含まれるPU（図２１のPl0_0）の動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４６４】
ステップＳ３１１において、ピクセル位置Ａが利用不可能であると判定された場合、処理は、ステップＳ３１３に進む。ステップＳ３１３において、保存ベクトル選択部２７４は、動きベクトル生成制御部２７１からのイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｂが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３１３において、ピクセル位置Ｂが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４６５】
ステップＳ３１１において、ピクセル位置Ｂが利用可能であると判定された場合、処理は、ステップＳ３１４に進む。ステップＳ３１４において、保存ベクトル選択部２７４は、動きベクトル再構成部２７３からのピクセル位置Ｂが含まれるPU（図２１のPl1_0）の動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４６６】
ステップＳ３１３において、ピクセル位置Ｂが利用不可能であると判定された場合、処理は、ステップＳ３１５に進む。ステップＳ３１５において、保存ベクトル選択部２７４は、動きベクトル生成制御部２７１からのイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｃが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３１５において、ピクセル位置Ｃが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４６７】
ステップＳ３１５において、ピクセル位置Ｃが利用可能であると判定された場合、処理は、ステップＳ３１６に進む。ステップＳ３１６において、保存ベクトル選択部２７４は、動きベクトル再構成部２７３からのピクセル位置Ｃが含まれるPU（図２１のPl2_0）の動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４６８】
ステップＳ３１５において、ピクセル位置Ｃが利用不可能であると判定された場合、処理は、ステップＳ３１７に進む。ステップＳ３１７において、保存ベクトル選択部２７４は、動きベクトル生成制御部２７１からのイントラ領域情報に基づいて、図２１に示されるピクセル位置Ｄが利用可能であるか否かを判定する。すなわち、保存ベクトル選択部２７４は、ステップＳ３１７において、ピクセル位置Ｄが含まれるPUの動きベクトル情報が、利用可能であるか否かを判定する。
【０４６９】
ステップＳ３１７において、ピクセル位置Ｄが利用可能であると判定された場合、処理は、ステップＳ３１８に進む。ステップＳ３１８において、保存ベクトル選択部２７４は、動きベクトル再構成部２７３からのピクセル位置Ｄが含まれるPU（図２１のPl3_0）の動きベクトル情報を、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４７０】
ステップＳ３１８において、ピクセル位置Ｄが利用不可能であると判定された場合、処理は、ステップＳ３１９に進む。ステップＳ３１９において、保存ベクトル選択部２７４は、イントラであることを、処理対象領域のベクトル情報として、動きベクトル保存メモリ１２２に保存する。その後、処理は、図２８のステップＳ２４０に戻る。
【０４７１】
以上のように、図３５の例においても、ステップＳ３１８でＮｏと判定される場合以外、動きベクトル保存の処理対象領域とColPUの位置が１対１でほぼ決まるので、図２１を参照して上述したように、ベクトル情報の読み直しが抑制される。
【０４７２】
これにより、メモリアクセスを低減することができるとともに、予測ベクトルとしてColが利用可能になる可能性が高くなるので、圧縮性能を改善することができる。
【０４７３】
以上においては、符号化方式としてHEVC方式をベースに用いるようにしたが、本開示はこれに限らず、時間相関の動きベクトルを用いて処理を行う、その他の符号化方式／復号方式を適用することができる。
【０４７４】
なお、本開示は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本開示は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０４７５】
＜３．第３の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０４７６】
図３６において、パーソナルコンピュータ５００のCPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５１３からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０４７７】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５１０も接続されている。
【０４７８】
入出力インタフェース５１０には、キーボード、マウスなどよりなる入力部５１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部５１２、ハードディスクなどより構成される記憶部５１３、モデムなどより構成される通信部５１４が接続されている。通信部５１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０４７９】
入出力インタフェース５１０にはまた、必要に応じてドライブ５１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５１３にインストールされる。
【０４８０】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０４８１】
この記録媒体は、例えば、図３６に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア５２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５１３に含まれるハードディスクなどで構成される。
【０４８２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４８３】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４８４】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０４８５】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４８６】
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０４８７】
＜４．第４の実施の形態＞  
［第１の応用例：テレビジョン受像機］
図３７は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０４８８】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４８９】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０４９０】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０４９１】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０４９２】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０４９３】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０４９４】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０４９５】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０４９６】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０４９７】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０４９８】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。
【０４９９】
＜５．第５の実施の形態＞
［第２の応用例：携帯電話機］
図３８は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０５００】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０５０１】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０５０２】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０５０３】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０５０４】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Unallocated Space Bitmap）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０５０５】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０５０６】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０５０７】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。
【０５０８】
＜６．第６の実施の形態＞
［第３の応用例：記録再生装置］
図３９は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０５０９】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０５１０】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０５１１】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０５１２】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０５１３】
HDD９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０５１４】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVDディスク（DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０５１５】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０５１６】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０５１７】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０５１８】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０５１９】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０５２０】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。
【０５２１】
＜７．第７の実施の形態＞
［第４の応用例：撮像装置］
図４０は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０５２２】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０５２３】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、及び制御部９７０を相互に接続する。
【０５２４】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０５２５】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０５２６】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０５２７】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０５２８】
外部インタフェース９６６は、例えばUSB入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０５２９】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０５３０】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０５３１】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０５３２】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、周辺の動きベクトルのうち、時間的に異なる動きベクトルを読み出す際のメモリアクセスを低減することができる。
【０５３３】
なお、本明細書では、差分量子化パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０５３４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０５３５】
なお、本技術は以下のような構成も取ることができる。
（１）  時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
（２）  前記アドレス補正部は、前記アドレスから１を引いて、前記アドレスを補正する
前記（１）に記載の画像処理装置。
（３）  前記アドレス補正部は、前記右下のピクセル位置のｙ座標が、前記処理対象の復号単位領域の外にある場合、前記右下のピクセル位置のｙ座標を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正する
前記（１）または（２）に記載の画像処理装置。
（４）  画像処理装置が、
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の復号単位の領域の外にある場合、前記ピクセル位置を前記処理対象の復号単位の領域内に引き戻すように前記アドレスを補正し、
補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
（５）  時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
（６）  前記アドレス補正部は、前記アドレスから１を引いて、前記アドレスを補正する
前記（５）に記載の画像処理装置。
（７）  前記アドレス補正部は、前記右下のピクセル位置のｙ座標が、前記処理対象の符号化単位領域の外にある場合、前記右下のピクセル位置のｙ座標を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正する
前記（５）または（６）に記載の画像処理装置。
（８）  画像処理装置が、
時間相関の予測ベクトルを求める際に算出されるアドレスが示す、画像を分割した分割領域における右下のピクセル位置が、処理対象の符号化単位の領域の外にある場合、前記ピクセル位置を前記処理対象の符号化単位の領域内に引き戻すように前記アドレスを補正し、
補正されたアドレスが示す分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
（９）  時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
（１０）  前記アドレス補正部は、前記第２のアドレスのｘ座標に対して±１６することで、前記第２のアドレスを補正する
前記（９）に記載の画像処理装置。
（１１）  画像処理装置が、
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
（１２）  時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正するアドレス補正部と、
前記アドレス補正部により補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出す読み出し部と、
前記読み出し部により読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
（１３）  前記アドレス補正部は、前記第２のアドレスのｘ座標に対して±１６することで、前記第２のアドレスを補正する
前記（１２）に記載の画像処理装置。
（１４）  画像処理装置が、
時間相関の予測ベクトルを求める際に算出される第１のアドレスと、前記第１のアドレスが示す、画像を分割した分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合に算出される第２のアドレスとが同じであるとき、前記第２のアドレスを、前記分割領域に隣接する隣接分割領域を示すように補正し、
補正されたアドレスが示す隣接分割領域に対応して保存されている動きベクトルを、前記時間相関の予測ベクトルとして、分割領域毎に動きベクトルを保存するメモリから読み出し、
読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
（１５）  画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、
前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する復号部と
を備える画像処理装置。
（１６）  前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
前記（１５）に記載の画像処理装置。
（１７）  前記保存ベクトル選択部は、処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
前記（１５）または（１６）に記載の画像処理装置。
（１８）  画像処理装置が、
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、
前記メモリより読み出された前記時間相関の予測ベクトルを用いて生成される動きベクトルを用いて、ビットストリームを復号して前記画像を生成する
画像処理方法。
（１９）  画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存する保存ベクトル選択部と、
前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する符号化部と
を備える画像処理装置。
（２０）  前記隣接ピクセル位置は、前記ピクセル位置に対して、左、左上、または上に隣接しているピクセル位置である
前記（１９）に記載の画像処理装置。
（２１）  前記保存ベクトル選択部は、処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択し、
前記ピクセル位置の左上に隣接する隣接ピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置の上に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトルを選択する
前記（１９）または（２０）に記載の画像処理装置。
（２２）  画像処理装置が、
画像を分割した処理対象の分割領域の左上のピクセル位置が含まれる予測単位の領域がイントラであった場合、前記ピクセル位置に隣接する隣接ピクセル位置が含まれる異なる予測単位の領域の動きベクトル、または、前記処理対象の分割領域に含まれる他の予測単位の領域の動きベクトルを選択し、選択した動きベクトルを、前記処理対象の分割領域に対応する動きベクトルとして、時間相関の予測ベクトルを求める際に用いられる動きベクトルを分割領域毎に保存するメモリに保存し、
前記メモリより読み出された前記時間相関の予測ベクトルに対応する動きベクトルから予測される予測画像を用いて前記画像を符号化する
画像処理方法。
【符号の説明】
【０５３６】
１００  画像符号化装置，  １２１  動きベクトル差分生成部，  １２２  動きベクトル保存メモリ，  １３１  動きベクトル差分生成制御部，  １３２  時間予測ベクトル生成部，  １３３  画内予測ベクトル生成部，  １３４  周辺動きベクトル保存部，  １３５  最適モード判定部，  １３６  インター／イントラ判定部，  １４１  １６×１６アドレス生成部，  １４２  １６×１６アドレス補正部，  １４３  メモリアクセス制御部，  １５１  動きベクトル差分生成制御部，  １５２  時間予測ベクトル生成部，  １６１  １６×１６アドレス生成部，  １６２  １６×１６アドレス補正部，  １７１  動きベクトル差分生成制御部，  １７２  時間予測ベクトル生成部，  １７３  最適モード判定部，  １７４  保存ベクトル選択部，  １８１  １６×１６アドレス生成部，  ２００  画像復号装置，  ２２１  動きベクトル生成部，  ２２２  動きベクトル保存メモリ，  ２３１  動きベクトル生成制御部，  ２３２  時間予測ベクトル生成部，  ２３３  画内予測ベクトル生成部，  ２３４  周辺動きベクトル保存部，  ２３５  動きベクトル再構成部，  ２３６  インター／イントラ判定部，  ２４１  １６×１６アドレス生成部，  ２４２  １６×１６アドレス補正部，  ２４３  メモリアクセス制御部，  ２５１  動きベクトル生成制御部，  ２５２  時間予測ベクトル生成部，  ２６１  １６×１６アドレス生成部，  ２６２  １６×１６アドレス補正部，  ２７１  動きベクトル生成制御部，  ２７２  時間予測ベクトル生成部，  ２７３  動きベクトル再構成部，  ２７４  保存ベクトル選択部，  １８１  １６×１６アドレス生成部
【図１】
2013030978.tif 000003
【図２】
2013030978.tif 000004
【図３】
2013030978.tif 000005
【図４】
2013030978.tif 000006
【図５】
2013030978.tif 000007
【図６】
2013030978.tif 000008
【図７】
2013030978.tif 000009
【図８】
2013030978.tif 000010
【図９】
2013030978.tif 000011
【図１０】
2013030978.tif 000012
【図１１】
2013030978.tif 000013
【図１２】
2013030978.tif 000014
【図１３】
2013030978.tif 000015
【図１４】
2013030978.tif 000016
【図１５】
2013030978.tif 000017
【図１６】
2013030978.tif 000018
【図１７】
2013030978.tif 000019
【図１８】
2013030978.tif 000020
【図１９】
2013030978.tif 000021
【図２０】
2013030978.tif 000022
【図２１】
2013030978.tif 000023
【図２２】
2013030978.tif 000024
【図２３】
2013030978.tif 000025
【図２４】
2013030978.tif 000026
【図２５】
2013030978.tif 000027
【図２６】
2013030978.tif 000028
【図２７】
2013030978.tif 000029
【図２８】
2013030978.tif 000030
【図２９】
2013030978.tif 000031
【図３０】
2013030978.tif 000032
【図３１】
2013030978.tif 000033
【図３２】
2013030978.tif 000034
【図３３】
2013030978.tif 000035
【図３４】
2013030978.tif 000036
【図３５】
2013030978.tif 000037
【図３６】
2013030978.tif 000038
【図３７】
2013030978.tif 000039
【図３８】
2013030978.tif 000040
【図３９】
2013030978.tif 000041
【図４０】
2013030978.tif 000042