(57)【特許請求の範囲】
【請求項１】
L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、
前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
を備える画像処理装置。
【請求項２】
L0とL1の動きベクトル精度を判定する判定部と、
前記判定部の判定結果に基づいて、前記画素精度を調整する調整部と
をさらに備える請求項１に記載の画像処理装置。
【請求項３】
前記調整部は、L0とL1の前記演算結果の一方に所定の係数を乗算することにより、一方の前記画素精度を他方の前記画素精度に合わせる
請求項２に記載の画像処理装置。
【請求項４】
前記調整部は、L0とL1の前記演算結果の内、前記画素精度が大きい方を調整し、前記画素精度が小さい方に合わせる
請求項３に記載の画像処理装置。
【請求項５】
前記調整部は、L0の前記演算結果の前記画素精度とL1の前記演算結果の前記画素精度が互いに等しい場合、前記画素精度の調整を行わない
請求項３または請求項４に記載の画像処理装置。
【請求項６】
前記調整部は、L0とL1の水平方向の動きベクトル精度および垂直方向の動きベクトル精度の両方に基づいて、前記画素精度を調整する
請求項３乃至請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記重み付け加算部は、Explicit Weighted Predictionを行う
請求項１乃至請求項６のいずれかに記載の画像処理装置。
【請求項８】
前記重み付け加算部は、Implicit Weighted Predictionを行う
請求項１乃至請求項７のいずれかに記載の画像処理装置。
【請求項９】
前記重み付け加算部は、Intensity Compensationを行う
請求項１乃至請求項８のいずれかに記載の画像処理装置。
【請求項１０】
画像処理装置の画像処理方法であって、
動き補償部が、L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行い、
重み付け加算部が、前記画素精度に応じて調整した各演算結果を重み付け加算し、
丸め処理部が、演算結果に丸め処理を行う
画像処理方法。
【請求項１１】
コンピュータを、
L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、
前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
して機能させるプログラム。
【請求項１２】
コンピュータを、
L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、
前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法、プログラム、並びに記録媒体に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L （ITU-T（International Telecommunication Union Telecommunication Standardization Sector） Q6/16 VCEG（Video Coding Expert Group））という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
【０００６】
標準化のスケジュールとしては、２００３年３月にはH.264及びMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）という名の元に国際標準となった。
【０００７】
更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCT（Discrete Cosine Transform）や量子化マトリクスをも含んだFRExt（Fidelity Range Extension）の標準化が２００５年２月に完了し、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
【０００８】
しかしながら、昨今、ハイビジョン画像の４倍の、４０００×２０００画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、ITU-T傘下のVCEG（Video Coding Expert Group）において、符号化効率の改善に関する検討が継続され行なわれている。
【０００９】
ところで、従来のように、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；4000画素×2000画素）といった大きな画枠に対しては、最適ではない恐れがあった。
【００１０】
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている（例えば、非特許文献１参照）。
【００１１】
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット（CU（Coding Unit））が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
【００１２】
ところで、MPEG2やMPEG4においては、例えば、フェードシーンのように、動きが存在するが、明るさが変化するようなシーケンスにおいては、明るさの変化を吸収する符号化ツールが用意されていないため、符号化効率が低下するという問題を有していた。
【００１３】
かかる問題を解決するため、AVCにおいては、重み付き予測処理が設けられていた（例えば非特許文献２参照）。AVCにおいては、スライス単位で、この重み付け予測を用いる・用いないを指定することが可能である。
【００１４】
また、AVCにおいては、重み付け予測（Weighted Prediction）は、スライス単位で適用することが可能である。さらに、ブロック単位でWeighted Predictionを適用する方法（Intensity Compensation）も提案されている（例えば非特許文献３参照）。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010
【非特許文献２】Yoshihiro Kikuchi, Takeshi Chujoh, "Improved multiple frame motion compensation using frame interpolation", JVT-B075, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6)2nd Meeting: Geneva, CH, Jan. 29 - Feb. 1, 2002
【非特許文献３】I. Amonou, N. Cammas, G. Clare, J. Jung, L. Noblet, S. Pateux, S. Matsuo, S. Takamura, C.S. Boon, F. Bossen, A. Fujibayashi, S. Kanumuri, Y. Suzuki, J. Takiue, T.K. Tan, V. Drugeon, C.S. Lim, M. Narroschke, T. Nishi, H. Sasai, Y. Shibahara, K. Uchibayashi, T. Wedi, S. Wittmann, P. Bordes, C. Gomila, P. Guillotel, L. Guo, E. Francois, X. Lu, J. Sole, J. Vieron, Q. Xu, P. Yin, Y. Zheng, "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor",JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG111st Meeting: Dresden, DE, 15-23 April, 2010
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上述の重み付け処理は、動き補償のために丸め処理を行って、更に、重み付け加算の後にも丸め処理を行うため、演算精度の低下により、符号化効率が低下する恐れがあった。
【００１７】
本開示は、このような状況に鑑みてなされたものであり、L0及びL1動きベクトルの精度も考慮して、動き補償のための積和処理と、重み付け加算処理の後に丸め処理を行うことにより、丸め誤差による画質劣化を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
本開示の一側面は、L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、前記重み付け加算部による演算結果に丸め処理を行う丸め処理部とを備える画像処理装置である。
【００１９】
L0とL1の動きベクトル精度を判定する判定部と、前記判定部の判定結果に基づいて、前記画素精度を調整する調整部とをさらに備えることができる。
【００２０】
前記調整部は、L0とL1の前記演算結果の一方に所定の係数を乗算することにより、一方の前記画素精度を他方の前記画素精度に合わせることができる。
【００２１】
前記調整部は、L0とL1の前記演算結果の内、前記画素精度が大きい方を調整し、前記画素精度が小さい方に合わせることができる。
【００２２】
前記調整部は、L0の前記演算結果の前記画素精度とL1の前記演算結果の前記画素精度が互いに等しい場合、前記画素精度の調整を行わないようにすることができる。
【００２３】
前記調整部は、L0とL1の水平方向の動きベクトル精度および垂直方向の動きベクトル精度の両方に基づいて、前記画素精度を調整することができる。
【００２５】
前記重み付け加算部は、Explicit Weighted Predictionを行うことができる。
【００２６】
前記重み付け加算部は、Implicit Weighted Predictionを行うことができる。
【００２７】
前記重み付け加算部は、Intensity Compensationを行うことができる。
【００２８】
本開示の一側面は、また、画像処理装置の画像処理方法であって、動き補償部が、L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行い、重み付け加算部が、前記画素精度に応じて調整した各演算結果を重み付け加算し、丸め処理部が、演算結果に丸め処理を行う画像処理方法である。
本開示の一側面は、さらに、コンピュータを、L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、前記重み付け加算部による演算結果に丸め処理を行う丸め処理部として機能させるプログラムである。
本開示の一側面は、また、コンピュータを、L0とL1のそれぞれについて整数または小数の画素精度の動き補償を行う動き補償部と、前記画素精度に応じて調整した前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、前記重み付け加算部による演算結果に丸め処理を行う丸め処理部として機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体である。
【００２９】
本開示の一側面においては、L0とL1のそれぞれについて整数または小数の画素精度の動き補償が行われ、前記画素精度に応じて調整した各演算結果が重み付け加算され、その演算結果に丸め処理が行われる。
【発明の効果】
【００３０】
本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
【図面の簡単な説明】
【００３１】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】小数点画素精度の動き予測・補償処理の例を示す図である。
【図３】マクロブロックの例を示す図である。
【図４】メディアンオペレーションの様子の例を説明する図である。
【図５】マルチ参照フレームの例を説明する図である。
【図６】動き探索方式の例を説明する図である。
【図７】重み予測の様子の例を説明する図である。
【図８】コーディングユニットの構成例を説明する図である。
【図９】重み付け予測の演算の例を示すブロック図である。
【図１０】重み付け予測の演算の他の例を示すブロック図である。
【図１１】動き予測・補償部、重み付け予測部、および動きベクトル精度判定部の主な構成例を説明するブロック図である。
【図１２】２次元の動きベクトルの調整を説明する表である。
【図１３】符号化処理の流れの例を説明するフローチャートである。
【図１４】インター動き予測処理の流れの例を説明するフローチャートである。
【図１５】重み付け予測処理の流れの例を説明するフローチャートである。
【図１６】画像復号装置の主な構成例を示すブロック図である。
【図１７】動き予測・補償部、重み付け予測部、および動きベクトル精度判定部の主な構成例を説明するブロック図である。
【図１８】復号処理の流れの例を説明するフローチャートである。
【図１９】予測処理の流れの例を説明するフローチャートである。
【図２０】インター動き予測処理の流れの例を説明するフローチャートである。
【図２１】重み付け予測処理の流れの例を説明するフローチャートである。
【図２２】パーソナルコンピュータの主な構成例を示すブロック図である。
【図２３】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図２４】携帯電話機の概略的な構成の一例を示すブロック図である。
【図２５】記録再生装置の概略的な構成の一例を示すブロック図である。
【図２６】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３２】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像復号装置）
２．第２の実施の形態（画像符号化装置）
３．第３の実施の形態（パーソナルコンピュータ）
４．第４の実施の形態（テレビジョン受像機）
５．第５の実施の形態（携帯電話機）
６．第６の実施の形態（記録再生装置）
７．第７の実施の形態（撮像装置）
【００３３】
＜１．第１の実施の形態＞
［画像符号化装置］
図１は、画像符号化装置の主な構成例を示すブロック図である。
【００３４】
図１に示される画像符号化装置１００は、H．264及びMPEG（Moving Picture Experts Group）4 Part10（AVC（Advanced Video Coding））符号化方式のように、予測処理を用いて画像データを符号化する。
【００３５】
図１に示されるように画像符号化装置１００は、A/D変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、演算部１１０、ループフィルタ１１１、フレームメモリ１１２、選択部１１３、イントラ予測部１１４、動き予測・補償部１１５、予測画像選択部１１６、およびレート制御部１１７を有する。
【００３６】
さらに、画像符号化装置１００は、重み付け予測部１２１および動きベクトル精度判定部１２２を有する。
【００３７】
A/D変換部１０１は、入力された画像データをA/D変換し、変換後の画像データ（デジタルデータ）を、画面並べ替えバッファ１０２に供給し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部１０３に供給する。また、画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、イントラ予測部１１４および動き予測・補償部１１５にも供給する。
【００３８】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、予測画像選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。
【００３９】
例えば、イントラ符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、イントラ予測部１１４から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、動き予測・補償部１１５から供給される予測画像を減算する。
【００４０】
直交変換部１０４は、演算部１０３から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部１０４は、その変換係数を量子化部１０５に供給する。
【００４１】
量子化部１０５は、直交変換部１０４から供給される変換係数を量子化する。量子化部１０５は、レート制御部１１７から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００４２】
可逆符号化部１０６は、量子化部１０５において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部１１７の制御の下で量子化されているので、この符号量は、レート制御部１１７が設定した目標値となる（若しくは目標値に近似する）。
【００４３】
また、可逆符号化部１０６は、イントラ予測のモードを示す情報などをイントラ予測部１１４から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部１１５から取得する。さらに、可逆符号化部１０６は、ループフィルタ１１１において使用されたフィルタ係数等を取得する。
【００４４】
可逆符号化部１０６は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００４５】
可逆符号化部１０６の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【００４６】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持する。蓄積バッファ１０７は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置（記録媒体）や伝送路などに出力する。
【００４７】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部１０５による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部１０８は、得られた変換係数を、逆直交変換部１０９に供給する。
【００４８】
逆直交変換部１０９は、逆量子化部１０８から供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部１０４による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力（復元された差分情報）は、演算部１１０に供給される。
【００４９】
演算部１１０は、逆直交変換部１０９から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部１１６を介してイントラ予測部１１４若しくは動き予測・補償部１１５から供給される予測画像を加算し、局部的に再構成された画像（以下、再構成画像と称する）を得る。その再構成画像は、ループフィルタ１１１またはフレームメモリ１１２に供給される。
【００５０】
ループフィルタ１１１は、デブロックフィルタや適応ループフィルタ等を含み、演算部１１０から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ１１１は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ１１１は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【００５１】
なお、ループフィルタ１１１が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ１１１は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部１０６に供給し、それを符号化させるようにすることもできる。
【００５２】
ループフィルタ１１１は、フィルタ処理結果（以下、復号画像と称する）をフレームメモリ１１２に供給する。
【００５３】
フレームメモリ１１２は、演算部１１０若しくはループフィルタ１１１から供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部１１３を介して、イントラ予測部１１４、若しくは、動き予測・補償部１１５に供給する。
【００５４】
選択部１１３は、フレームメモリ１１２から出力される参照画像の供給先を示す。例えば、イントラ予測の場合、選択部１１３は、フレームメモリ１１２からフィルタ処理されていない画像（再構成画像）を読み出し、周辺画素として、イントラ予測部１１４に供給する。
【００５５】
また、例えば、インター予測の場合、選択部１１３は、フレームメモリ１１２からフィルタ処理された画像（復号画像）を読み出し、参照画像として、それを動き予測・補償部１１５に供給する。
【００５６】
イントラ予測部１１４は、フレームメモリ１１２から、処理対象領域の周辺に位置する周辺領域の再構成画像を周辺画像として取得する。イントラ予測部１１４は、この処理対象ピクチャ内の周辺画像の画素値を用いて、処理対象領域の予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、予め用意された複数のモード（イントラ予測モード）でこのイントラ予測を行う。
【００５７】
イントラ予測部１１４は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ１０２から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１６に供給する。
【００５８】
また、イントラ予測部１１４は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部１０６に供給し、符号化させる。
【００５９】
動き予測・補償部１１５は、画面並べ替えバッファ１０２から供給される入力画像と、フレームメモリ１１２から供給される復号画像（参照画像）とを用いて、処理対象領域の動き予測（インター予測）を行い、検出された動きベクトルに応じて動き補償処理を行い、処理対象領域の予測画像（インター予測画像情報）を生成する。動き予測・補償部１１５は、予め用意された複数のモード（インター予測モード）でこのようなインター予測を行う。
【００６０】
動き予測・補償部１１５は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部１１５は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１６に供給する。
【００６１】
また、動き予測・補償部１１５は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部１０６に供給し、符号化させる。
【００６２】
予測画像選択部１１６は、演算部１０３や演算部１１０に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部１１６は、予測画像の供給元としてイントラ予測部１１４を選択し、そのイントラ予測部１１４から供給される予測画像を演算部１０３や演算部１１０に供給する。また、例えば、インター符号化の場合、予測画像選択部１１６は、予測画像の供給元として動き予測・補償部１１５を選択し、その動き予測・補償部１１５から供給される予測画像を演算部１０３や演算部１１０に供給する。
【００６３】
レート制御部１１７は、蓄積バッファ１０７に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００６４】
重み付け予測部１２１は、動き予測・補償部１１５が行うインター予測モードにおいて、重み係数の決定や動き精度の調整など、重み付け予測に関する処理を行う。
【００６５】
動きベクトル精度判定部１２２は、動き予測・補償部１１５が行うインター予測モードにおいて、動きベクトルの精度である動き精度を判定し、その判定結果を重み付け予測部１２１に供給する。
【００６６】
［１／４画素精度動き予測］
図２は、AVC符号化方式において規定されている、１／４画素精度の動き予測・補償処理の様子の例を説明する図である。図２において、各四角は、画素を示している。その内、Ａはフレームメモリ１１２に格納されている整数精度画素の位置を示し、b,c,dは、１／２画素精度の位置を示し、e1,e2,e3は１／４画素精度の位置を示している。
【００６７】
以下においては、関数Clip1()を以下の式（１）のように定義する。
【００６８】
【数１】
0005768491.tif 000002
・・・（１）
【００６９】
例えば、入力画像が８ビット精度である場合、式（１）のmax_pixの値は２５５となる。
【００７０】
b及びdの位置における画素値は、６tapのFIRフィルタを用いて、以下の式（２）および式（３）のように生成される。
【００７１】
【数２】
0005768491.tif 000003
・・・（２）
【００７２】
【数３】
0005768491.tif 000004
・・・（３）
【００７３】
cの位置における画素値は、水平方向及び垂直方向に６tapのFIRフィルタを適用し、以下の式（４）乃至式（６）のように生成される。
【００７４】
【数４】
0005768491.tif 000005
・・・（４）
もしくは、
【００７５】
【数５】
0005768491.tif 000006
・・・（５）
【００７６】
【数６】
0005768491.tif 000007
・・・（６）
【００７７】
なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に１度のみ行われる。
【００７８】
e1乃至e3は、以下の式（７）乃至式（９）のように、線形内挿により生成される。
【００７９】
【数７】
0005768491.tif 000008
・・・（７）
【００８０】
【数８】
0005768491.tif 000009
・・・（８）
【００８１】
【数９】
0005768491.tif 000010
・・・（９）
【００８２】
［マクロブロック］
また、MPEG2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には１６×１６画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、１６×８画素を単位として動き予測・補償処理が行なわれる。
【００８３】
これに対し、AVCにおいては、図３に示されるように、１６×１６画素により構成される１つのマクロブロックを、１６×１６、１６×８、８×１６若しくは８×８のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、８×８パーティションに関しては、図３に示されるとおり、８×８、８×４、４×８、４×４のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００８４】
しかしながら、AVC画像符号化方式において、MPEG2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
【００８５】
［動きベクトルのメディアン予測］
かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
【００８６】
図４に示される各直線は、動き補償ブロックの境界を示している。また、図４において、Ｅはこれから符号化されようとしている当該動き補償ブロックを示し、Ａ乃至Ｄは、それぞれ、既に符号化済の、Ｅに隣接する動き補償ブロックを示す。
【００８７】
今、Ｘ＝Ａ，Ｂ，Ｃ，Ｄ，Ｅとして、Ｘに対する動きベクトル情報を、mvxとする。
【００８８】
まず、動き補償ブロックＡ，Ｂ、およびＣに関する動きベクトル情報を用い、動き補償ブロックＥに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式（１０）のように生成する。
【００８９】
【数１０】
0005768491.tif 000011
・・・（１０）
【００９０】
動き補償ブロックＣに関する情報が、画枠の端である等の理由により利用不可能（unavailable）である場合、動き補償ブロックＤに関する情報で代用される。
【００９１】
画像圧縮情報に、動き補償ブロックＥに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式（１１）のように生成される。
【００９２】
【数１１】
0005768491.tif 000012
・・・（１１）
【００９３】
なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
【００９４】
［マルチ参照フレーム］
また、AVCにおいては、Multi-Reference Frame（マルチ（複数）参照フレーム）という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
【００９５】
図５を用いて、AVCにおいて規定されている、マルチ参照フレーム（Multi-Reference Frame）を説明する。
【００９６】
すなわち、MPEG-2やH.263においては、Ｐピクチャの場合、フレームメモリに格納された参照フレーム１枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図５に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
【００９７】
ところで、MPEG2やMPEG4においては、例えば、フェードシーンのように、動きが存在するが、明るさが変化するようなシーケンスにおいては、明るさの変化を吸収する符号化ツールが用意されていないため、符号化効率が低下する恐れがあった。
【００９８】
かかる問題を解決するため、AVC符号化方式においては、重み付け予測処理を行うことが可能である（非特許文献２参照）。すなわち、Ｐピクチャにおいては、Y0を動き補償予測信号すると、重み係数W0及びオフセット値をDとして、以下の式（１２）のように予測信号が生成される。
【００９９】
W0×Y0＋D  ・・・（１２）
【０１００】
また、Bピクチャにおいては、List0およびList1に対する動き補償予測信号をY0及びY1として、それぞれに対する重み係数をW0及びW1、及びオフセットをDとして、以下の式（１３）のように予測信号が生成される。
【０１０１】
W0×Y0＋W1×Y1＋D  ・・・（１３）
【０１０２】
AVCにおいては、スライス単位で、上記の重み付け予測を用いる・用いないを指定することが可能である。
【０１０３】
また、AVCにおいては、重み付け予測として、スライスヘッダに、WおよびDを伝送する、Explicit Mode、及び、当該ピクチャと、参照ピクチャにおける、時間軸上での距離から、Wを算出するImplicit Modeとが規定されている。
【０１０４】
Pピクチャにおいては、Explicit Modeのみを用いることができる。
【０１０５】
Bピクチャにおいては、Explicit ModeとImplicit Modeの両方を用いることができる。
【０１０６】
図７に、Bピクチャにおける、Implicit Modeである場合の、W及びDの算出方法を示す。
【０１０７】
なお、AVCの場合、時間距離情報であるtb及びtdに相当する情報が存在しないため、POC（Picture Order Count）を用いる。
【０１０８】
また、AVCにおいて、重み付け予測（Weighted Prediction）は、スライス単位で適用することができる。さらに、非特許文献２には、ブロック単位で重み付け予測（Weighted Prediction）を適用する方法（Intensity Compensation）も提案されている。
【０１０９】
［動きベクトルの選択］
ところで、図１に示した画像符号化装置１００により、符号化効率の高い画像圧縮情報を得るためには、動きベクトル及びマクロブロックモードをどのような処理により選択するかが重要である。
【０１１０】
処理の一例として、http://iphome.hhi.de/suehring/tml/index.htmにおいて公開されている、JM（Joint Model）と呼ばれるreference softwareに実装されている手法を挙げることが出来る。
【０１１１】
以下では、図６を用いて、JMにおいて実装されている動き探索方式について説明する。図６において、A乃至Iは、整数画素精度の画素値、１乃至８は、Ｅ周りの1/2画素精度の画素値、a乃至hは、６周りの、1/4画素精度の画素値である。
【０１１２】
第１のステップとして、所定の探索範囲内において、SAD（Sum of Absolute Difference）等のコスト関数を最小にする、整数画素精度の動きベクトルを求める。図６の例において、Ｅが、その整数画素精度の動きベクトルに対応する画素であるとする。
【０１１３】
第２のステップとして、Ｅ及び、Ｅ周りの1/2画素精度１乃至８のうち、コスト関数を最小にする画素値を求め、これを1/2画素精度の最適動きベクトルとする。図６の例において、６が、その1/2画素精度の最適動きベクトルに対応する画素であるとする。
【０１１４】
第３のステップとして、６及び、６周りの、1/4画素精度a乃至hのうち、コスト関数を最小にする画素値を求め、これを1/4画素精度の最適動きベクトルとする。
【０１１５】
［予測モードの選択］
また、以下では、JMにおいて定められているモード判定方式について述べる。
【０１１６】
JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの２通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
【０１１７】
High Complexity Modeにおけるコスト関数は、以下の式（１４）のように示される。
【０１１８】
Cost(Mode∈Ω) = D + λ＊R  ・・・（１４）
【０１１９】
ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Ｄは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Ｒは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
【０１２０】
つまり、High Complexity Modeでの符号化を行うには、上記パラメータＤ及びＲを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【０１２１】
Low Complexity Modeにおけるコスト関数は、以下の式（１５）のように示される。
【０１２２】
Cost(Mode∈Ω) = D + QP2Quant(QP) ＊ HeaderBit  ・・・（１５）
【０１２３】
ここで、Ｄは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
【０１２４】
すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
【０１２５】
［コーディングユニット］
ところで、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。
【０１２６】
そこで、AVCにおいては、図３に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC（High Efficiency Video Coding）においては、図８に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【０１２７】
CUは、Coding Tree Block（CTB）とも呼ばれ、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を単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図８に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
【０１３２】
［丸め処理による演算精度の低下］
ところで、このような重み付け処理は、図９に示される通り、動き補償のために丸め処理を行って、更に、重み付け加算の後にも丸め処理を行うため、演算精度の低下により、符号化効率が低下する恐れがあった。
【０１３３】
そこで、動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２は、図１０に示されるように、小数画素精度の動き補償処理を行い、重み付け加算を行った後で、各演算の丸め処理をまとめて行うようにする。
【０１３４】
［動き予測・補償部、重み付け予測部、動きベクトル精度判定部］
図１１は、図１の動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２の主な構成例を示すブロック図である。
【０１３５】
図１１に示されるように、動き予測・補償部１１５は、動き探索部１５１、コスト関数値生成部１５２、モード判定部１５３、動き補償部１５４、および動き情報バッファ１５５を有する。
【０１３６】
また、重み付け予測部１２１は、重み係数決定部１６１および動き精度調整部１６２を有する。
【０１３７】
動き探索部１５１は、画面並べ替えバッファ１０２から取得した入力画像画素値と、フレームメモリ１１２から取得した参照画像画素値とを用いて、動き探索を行い、動き情報（動きベクトル）を求める。
【０１３８】
動き探索部１５１は、画面並べ替えバッファ１０２から取得した入力画像画素値と、フレームメモリ１１２から取得した参照画像画素値とを重み付け予測部１２１の重み係数決定部１６１に供給する。
【０１３９】
重み係数決定部１６１は、これらの画素値に基づいて、重み係数を決定し、その重み係数を動き探索部１５１に供給する。
【０１４０】
なお、動き探索部１５１は、候補となる全てのインター予測モードで動き探索を行い、動き情報を生成する。探索された動き情報は、全て、動きベクトル精度判定部１２２に供給される。
【０１４１】
動きベクトル精度判定部１２２は、L0及びL1の動きベクトル精度に関する情報を判別し、その精度情報（動き精度）を重み付け予測部１２１の動き精度調整部１６２に供給する。動きベクトル精度判定部１２２は、動き探索部１５１から供給される全てのインター予測モードの動き情報について動き精度を判別する。動き精度調整部１６２は、動きベクトル精度判定部１２２から供給される動き精度に基づいて、丸め処理をどのように行うかを決定し、その丸め処理の実行を制御する丸め制御情報を、動き探索部１５１に供給する。動き精度調整部１６２は、動きベクトル精度判定部１２２から供給される全てのインター予測モードの動き精度について、丸め制御情報を生成し、動き探索部１５１に供給する。
【０１４２】
動き探索部１５１は、このように供給される重み係数や丸め制御情報を用いて動き補償を行い、予測画像を生成する。そして、動き探索部１５１は、生成した予測画像と入力画像との差分（差分画像）を求める。動き探索部１５１は、求めた差分画像の画素値（差分画素値）を、動き情報とともにコスト関数値生成部１５２に供給する。動き探索部１５１は、このような処理を全てのインター予測モードについて行う。
【０１４３】
コスト関数値生成部１５２は、動き情報探索部１５１から供給される差分画素値を用いてコスト関数値を算出する。また、コスト関数値生成部１５２は、動き情報探索部１５１から供給される動き情報に対応する周辺動き情報を、動き情報バッファ１５５から取得する。周辺動き情報は、動き情報に対応する領域である処理対象の領域の周辺に位置する（例えば隣接する）領域の動き情報である。コスト関数値生成部１５２は、動き情報バッファ１５５から取得した周辺動き情報を用いて当該領域の動き情報を予測し、その予測動き情報と、動き探索部１５１において探索された動き情報との差分である差分動き情報を生成する。コスト関数値生成部１５２は、全てのインター予測モードについて、このような処理を行い、差分動き情報およびコスト関数値を求める。
【０１４４】
コスト関数値生成部１５２は、各インター予測モードのコスト関数値と差分動き情報を、モード判定部１５３に供給する。
【０１４５】
モード判定部１５３は、そのコスト関数値を最小にするインター予測モードを、当該領域に対する最適なインター予測モードと判定し、この最適なインター予測モードを示す最適モード情報と、その最適なインター予測モードの差分動き情報とを、動き補償部１５４に供給する。
【０１４６】
動き補償部１５４は、それらの情報を取得すると、最適モード情報に基づいて、最適なインター予測モードの丸め制御情報と重み係数を動き探索部１５１から取得する。また、動き補償部１５４は、最適モード情報に基づいて、最適なインター予測モードに対応する周辺動き情報を動き情報バッファ１５５から取得する。動き補償部１５４は、差分動き情報と周辺動き情報とを用いて、最適なインター予測モードの動き情報を再構築する。
【０１４７】
動き補償部１５４は、これらの情報を用いて動き補償を行い、予測画像を生成する。例えば重み付け予測を行う場合、動き補償部１５４は、重み係数を用いて重み付け加算を行い、丸め制御情報に基づいて、重み付け加算結果に対して、丸め処理を１度だけ行う。
【０１４８】
動き補償部１５４は、生成した予測画像画素値を予測画像選択部１１６に供給する。また、動き補償部１５４は、重み係数、差分動き情報、および最適モード情報等を可逆符号化部１０６に供給し、ビットストリームに付加させ、復号側に伝送させる。
【０１４９】
さらに、動き補償部１５４は、当該領域の動き情報を動き情報バッファ１５５に供給し、記憶させる。この動き情報は、当該領域より時間的に後に処理される他の領域に対するインター予測において、周辺動き情報として利用される。
【０１５０】
［動き補償の詳細］
次に、動き補償の詳細について説明する。
【０１５１】
上述したように、動き補償部１５４は、図９に示されるように、小数画素精度の動き補償処理を行って丸め処理を行い、重み付け加算を行った後、再び丸め処理を行うのではなく、図１０に示されるように、小数画素精度の動き補償処理を行い、重み付け加算を行った後、一度だけ丸め処理を行う。
【０１５２】
AVCのように1/4画素精度の動き補償を行う例について説明する。1/2画素精度の動き補償を行う場合、丸め処理として2Hの割り算が最後に行われる。また、1/4画素精度の動き補償精度を行う場合、丸め処理として2Qの割り算が最後に行われる。さらに、重み付け加算の丸め処理として、最後に、2wの割り算が行われる。これらのH,Q,Wの値は全て正の整数である。
【０１５３】
これに対して、画像符号化装置１００は、第１ステップとして、動き精度調整部１６２において、L0とL1の動きベクトル精度の調整を行う。例えば、LXとLY（X,Y＝{0,1}）で、LXの方が、LYより、同等若しくはより細かい小数画素精度の動き補償が行われるものとする。LXとLYが同じ小数画素精度、つまり、どちらも整数画素精度であるか、どちらも1/2画素精度であるか、どちらも1/4画素精度である場合、LXとLYの精度を調整する必要はない。動き精度調整部１６２は、LXとLYの精度を調整しないように指示する丸め制御情報を生成する。
【０１５４】
LXとLYが異なる小数画素精度である場合、動き精度調整部１６２は、以下のようにLXとLYの精度を調整させるように丸め制御情報を生成する。
【０１５５】
例えば、LXが整数画素精度であり、LYが1/2画素精度である場合、LXに代えて、LX*2Hを用いるようにする。また、例えば、LXが整数画素精度であり、LYが1/4画素精度である場合、LXに代えて、LX*2Qを用いるようにする。さらに、例えば、LXが1/2画素精度であり、LYが1/4画素精度である場合、LXに代えて、LX*2(Q-H)を用いるようにする。
【０１５６】
以上においては、説明を簡略化にするために、１次元の例で説明を行ったが、実際の動きベクトル情報は、２次元情報である。したがって、動き精度調整部１６２は、垂直成分および水平成分のそれぞれの精度に応じて、図１２に示される表のようにLXとLYの精度を調整させる。図１２の表は、L0およびL1のそれぞれの水平成分の精度と垂直成分の精度の組み合わせに応じた精度の調整量を示している。横方向（上から1行目の値の組み合わせ）が、L0およびL1のそれぞれの水平成分（若しくは垂直成分）の精度の組み合わせを示しており、縦（左から1列目の値の組み合わせ）が、L0およびL1のそれぞれの垂直成分（若しくは水平成分）の精度の組み合わせを示している。
【０１５７】
図１２の表に示される、L0およびL1のそれぞれの水平成分の精度と垂直成分の精度の組み合わせに対応する値が、より低い精度の動きベクトル情報に乗じられることにより、より高い精度の動きベクトル情報との調整が行われる。なお、図１２の表において値「０」は、精度の調整を行わないことを示す（「０」は乗算しない）。
【０１５８】
第２ステップとして、画像符号化装置１００は、動き探索部１５１や動き補償部１５４において、以上のように調整が行われたLX及びLYについて、重み係数を用いて重み付け加算処理を行う。
【０１５９】
第３ステップとして、画像符号化装置１００は、動き探索部１５１や動き補償部１５４において、以下のような、丸め処理を行う。すなわち、上記の第１ステップで、L0、L1精度調整のため、2Xを乗じ、また、AVC方式による場合では、2Yの除算が重み付け予測処理のために必要であるとする。この場合、2X+Yによる除算が行われる。実際の処理としては、除算でなく、シフト演算により実現する。
【０１６０】
以上のように、丸め処理を重み付け加算後の１回にまとめることにより、画像符号化装置１００は、丸め誤差による画質劣化を抑制して演算精度を向上させることにより、符号化効率を向上させることができる。
【０１６１】
尚、以上の方法は、Explicit Mode、Implicit Modeの両方に適用することが可能である。また、非特許文献３において提案されているような、Intensity Compensationにも適用することができる。
【０１６２】
［符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図１３のフローチャートを参照して、符号化処理の流れの例を説明する。
【０１６３】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１６４】
ステップＳ１０３において、イントラ予測部１１４は、イントラ予測処理を行う。ステップＳ１０４において、動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２は、インター動き予測処理を行う。ステップＳ１０５において、予測画像選択部１１６は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
【０１６５】
ステップＳ１０６において、演算部１０３は、ステップＳ１０２の処理により並び替えられた画像と、ステップＳ１０５の処理により選択された予測画像との差分を演算する（差分画像を生成する）。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１６６】
ステップＳ１０７において、直交変換部１０４は、ステップＳ１０６の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップＳ１０８において、量子化部１０５は、ステップＳ１０７の処理により得られた直交変換係数を量子化する。
【０１６７】
ステップＳ１０８の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップＳ１０９において、逆量子化部１０８は、ステップＳ１０８の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１１０において、逆直交変換部１０９は、ステップＳ１０９の処理により得られた直交変換係数を、直交変換部１０４の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
【０１６８】
ステップＳ１１１において、演算部１１０は、ステップＳ１０５において選択された予測画像を、ステップＳ１１０において生成された差分画像に加算し、局部的に復号された復号画像（再構成画像）を生成する。ステップＳ１１２において、ループフィルタ１１１は、ステップＳ１１１の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
【０１６９】
ステップＳ１１３において、フレームメモリ１１２は、ステップＳ１１２の処理により生成された復号画像、若しくは、ステップＳ１１１の処理により生成された再構成画像を記憶する。
【０１７０】
ステップＳ１１４において、可逆符号化部１０６は、ステップＳ１０８の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部１０６は、予測に関する情報や、量子化に関する情報等を符号化し、ビットストリームに付加する。
【０１７１】
ステップＳ１１５において、蓄積バッファ１０７は、ステップＳ１１４の処理により得られたビットストリームを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０１７２】
ステップＳ１１６においてレート制御部１１７は、ステップＳ１１５の処理により蓄積バッファ１０７に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０１７３】
ステップＳ１１６の処理が終了すると、符号化処理が終了される。
【０１７４】
［インター動き予測処理の流れ］
次に、図１４のフローチャートを参照して、図１３のステップＳ１０４において実行されるインター動き予測処理の流れの例を説明する。
【０１７５】
ステップＳ１３１において、重み係数決定部１６１は、当該スライスにおいて、重み付け予測を行うか否かを判定する。入力画像画素値と参照画像画素値とを比較し、輝度変化が発生しており、重み付け予測を行うと判定された場合、重み係数決定部１６１は、処理をステップＳ１３２に進める。ステップＳ１３２において、動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２は、重み付け予測処理を行う。重み付け予測処理が終了すると、動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２は、インター動き予測処理を終了し、処理を図１３に戻す。
【０１７６】
また、ステップＳ１３１において、重み付け予測を行わないと判定された場合、動き予測・補償部１１５、重み付け予測部１２１、および動きベクトル精度判定部１２２は、処理をステップＳ１３３に進める。
【０１７７】
ステップＳ１３３において、動き探索部１５１は、各インター予測モードについて、動き探索を行う。ステップＳ１３４において、コスト関数値生成部１５２は、各インター予測モードについて、コスト関数値を算出する。
【０１７８】
ステップＳ１３５において、モード判定部１５３は、最適インター予測モードを決定する。ステップＳ１３６において、動き補償部１５４は、動き補償を行い、最適インター予測モードで予測画像を生成する。
【０１７９】
ステップＳ１３７において、動き補償部１５４は、生成した予測画像を予測画像選択部１１６に出力する。また、ステップＳ１３８において、動き補償部１５４は、最適モード情報および差分動き情報を可逆符号化部１０６に出力する。ステップＳ１３８の処理が終了すると、動き補償部１５４は、インター動き予測処理を終了し、処理を図１３に戻す。
【０１８０】
［重み付け予測処理の流れ］
次に、図１５のフローチャートを参照して、図１４のステップＳ１３２において実行される重み付け予測処理の流れの例を説明する。
【０１８１】
ステップＳ１５１において、重み係数決定部１６１は、当該スライスについて重み係数を決定する。ステップＳ１５２において、動き探索部１５１は、各インター予測モードにちういて動き探索を行う。ステップＳ１５３において、動きベクトル精度判定部１２２は、ステップＳ１５２において生成された動き情報に基づいて、各インター予測モードについて動き精度を判定する。ステップＳ１５４において、動き精度調整部１６２は、各インター予測モードについて、動き精度を調整する。
【０１８２】
ステップＳ１５５において、動き探索部１５１は、各インター予測モードについて、L0、L1それぞれの内挿処理を行う。ステップＳ１５６において、動き探索部１５１は、各インター予測モードについて、ステップＳ１５１において決定された重み係数を用いて、重み付け加算を行う。ステップＳ１５７において、動き探索部１５１は、各インター予測モードについて、丸め処理を行う。
【０１８３】
ステップＳ１５８において、コスト関数値生成部１５２は、各インター予測モードについて、コスト関数値を算出する。ステップＳ１５９において、モード判定部１５３は、そのコスト関数値に基づいて、最適インター予測モードを決定する。
【０１８４】
ステップＳ１６０において、動き補償部１５４は、最適インター予測モードについてL0、L1のそれぞれの内挿処理を行う。ステップＳ１６１において、動き補償部１５４は、最適インター予測モードについて重み付け加算を行う。ステップＳ１６２において、動き補償部１５４は、最適インター予測モードについて動き精度と重み付け加算に対する丸め処理を行う。
【０１８５】
ステップＳ１６３において、動き補償部１５４は、生成した予測画像を予測画像選択部１１６に出力する。ステップＳ１６５において、動き補償部１５４は、最適モード情報、差分動き情報、および重み係数を可逆符号化部１０６に出力し、符号化させる。
【０１８６】
ステップＳ１６５の処理が終了すると、動き補償部１５４は、重み付け予測処理を終了し、処理を図１４に戻す。
【０１８７】
以上のように各種処理を行うことにより、画像符号化装置１００は、丸め処理を重み付け加算後に１回にまとめて行い、丸め誤差による画質劣化を抑制して演算精度を向上させることにより、符号化効率を向上させることができる。
【０１８８】
＜２．第２の実施の形態＞
［画像復号装置］
次に、以上のように符号化された符号化データの復号について説明する。図１６は、図１の画像符号化装置１００に対応する画像復号装置の主な構成例を示すブロック図である。
【０１８９】
図１６に示される画像復号装置２００は、画像符号化装置１００が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
【０１９０】
図１６に示されるように画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、ループフィルタ２０６、画面並べ替えバッファ２０７、およびD/A変換部２０８を有する。また、画像復号装置２００は、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測・補償部２１２、および選択部２１３を有する。
【０１９１】
さらに、画像復号装置２００は、重み付け予測部２２１および動きベクトル精度判定部２２２を有する。
【０１９２】
蓄積バッファ２０１は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部２０２に供給する。可逆復号部２０２は、蓄積バッファ２０１より供給された、図１の可逆符号化部１０６により符号化された情報を、可逆符号化部１０６の符号化方式に対応する方式で復号する。可逆復号部２０２は、復号して得られた差分画像の量子化された係数データを、逆量子化部２０３に供給する。
【０１９３】
また、可逆復号部２０２は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部２１１および動き予測・補償部２１２の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置１００において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報であるイントラ予測情報がイントラ予測部２１１に供給される。また、例えば、画像符号化装置１００において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報であるインター予測情報が動き予測・補償部２１２に供給される。
【０１９４】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた量子化された係数データを、図１の量子化部１０５の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部２０４に供給する。逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式で逆量子化部２０３から供給される係数データを逆直交変換する。逆直交変換部２０４は、この逆直交変換処理により、画像符号化装置１００において直交変換される前の差分画像に対応する差分画像を得る。
【０１９５】
逆直交変換されて得られた差分画像は、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測・補償部２１２から予測画像が供給される。
【０１９６】
演算部２０５は、差分画像と予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像に対応する再構成画像を得る。演算部２０５は、その再構成画像をループフィルタ２０６に供給する。
【０１９７】
ループフィルタ２０６は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ２０６は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ２０６は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた再構成画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【０１９８】
なお、ループフィルタ２０６が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ２０６が、図１の画像符号化装置１００から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
【０１９９】
ループフィルタ２０６は、フィルタ処理結果である復号画像を画面並べ替えバッファ２０７およびフレームメモリ２０９に供給する。なお、このループフィルタ２０６によるフィルタ処理は省略することもできる。つまり、加算部２０５の出力が、フィルタ処理されずに、フレームメモリ２０９に格納されるようにすることもできる。例えば、イントラ予測部２１１は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
【０２００】
画面並べ替えバッファ２０７は、供給された復号画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０２０１】
フレームメモリ２０９は、供給される再構成画像や復号画像を記憶する。また、フレームメモリ２０９は、所定のタイミングにおいて、若しくは、イントラ予測部２１１や動き予測・補償部２１２等の外部の要求に基づいて、記憶している再構成画像や復号画像をイントラ予測部２１１や動き予測・補償部２１２に供給する。
【０２０２】
イントラ予測部２１１は、図１のイントラ予測部１１４と基本的に同様の処理を行う。ただし、イントラ予測部２１１は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
【０２０３】
動き予測・補償部２１２は、動き予測・補償部１１５と基本的に同様に、インター予測を行う。ただし、動き予測・補償部２１２は、可逆復号部２０２から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、インター予測を行う。動き予測・補償部２１２は、生成した予測画像を選択部２１３に供給する。
【０２０４】
選択部２１３は、イントラ予測部２１１から供給される予測画像、若しくは、動き予測・補償部２１２から供給される予測画像を演算部２０５に供給する。
【０２０５】
［動き予測・補償部、重み付け予測部、および動きベクトル精度判定部］
図１７は、図１６の動き予測・補償部２１２、重み付け予測部２２１、および動きベクトル精度判定部２２２の主な構成例を示すブロック図である。
【０２０６】
図１７に示されるように、動き予測・補償部２１２は、重み係数バッファ２５１、差分動き情報バッファ２５２、動き情報再構築部２５３、動き情報バッファ２５４、および動き補償部２５５を有する。
【０２０７】
また、重み付け予測部２２１は、重み係数決定部２６１および動き精度調整部２６２とを有する。
【０２０８】
動き予測・補償部２１２は、基本的に、画像符号化装置１００の動き予測・補償部１１５と同様の処理を行うが、動き予測・補償部２１２は、ビットストリームに含まれて符号化側から伝送された情報に基づいて、符号化の際にインター予測された領域についてのみインター予測を行う。
【０２０９】
つまり、動き予測・補償部２１２は、可逆復号部２０２から供給される差分動き情報を用いて動き情報を再構築し、動き補償を行う。また、重み付け予測に用いられる重み係数もビットストリームに付加されて符号化側から供給される。
【０２１０】
重み係数バッファ２５１は、可逆復号部２０２においてビットストリームより抽出された重み係数を取得して記憶し、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している重み係数を重み付け予測部２２１の重み係数決定部２６１に供給する。
【０２１１】
差分動き情報バッファ２５２は、可逆復号部２０２においてビットストリームから抽出された差分動き情報を取得して記憶する。差分動き情報バッファ２５２は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している差分動き情報を動き情報再構築部２５３に供給する。
【０２１２】
動き情報再構築部２５３は、差分動き情報バッファ２５２から差分動き情報を取得すると、動き情報バッファ２５４から、その差分動き情報に対応する周辺動き情報を取得し、それらを用いて、当該領域の動き情報を再構築する。動き情報再構築部２５３は、再構築した動き情報を、動き補償部２５５および動きベクトル精度判定部２２２に供給する。
【０２１３】
このように、動き情報は、符号化側から供給された差分動き情報を用いて再構築されるので、上述した丸め処理の省略は、動き補償部２５５による動き補償の際においてのみ行われる。
【０２１４】
動きベクトル精度判定部２２２は、動きベクトル精度判定部１２２の場合と同様に、動き情報再構築部２５３から供給された動き情報の動き精度を判定する。動き精度調整部２６２は、動き精度調整部１６２の場合と同様に、その判定結果（動き精度）を取得し、その情報に基づいて、丸め制御情報を生成する。
【０２１５】
また、重み係数決定部２６１は、重み係数バッファ２５１から取得した重み係数を動き補償部２５５に供給する。なお、この重み係数は、画像復号装置２００において算出するようにしてもよい。例えば、Implicitモードの場合、重み係数決定部２６１は、当該スライスに対する重み係数を算出する。
【０２１６】
動き情報バッファ２５４は、動き情報再構築部２５３において再構築された動き情報を取得し、記憶する。記憶した動き情報は、周辺領域の動き情報として、動き情報再構築部２５３に戻す。
【０２１７】
動き補償部２５５は、動き情報再構築部２５３から供給される動き情報、重み係数決定部２６１から供給される重み係数、動き精度調整部２６２から供給される丸め制御情報、および、フレームメモリ２０９から供給される参照画像画素値を適宜用いて、動き補償を行い、予測画像を生成する。したがって、動き補償部２５５は、符号化時に重み付け予測された領域に対して重み付け予測を行い、予測画像を生成する。
【０２１８】
動き補償における予測画像の生成は、図１の画像符号化装置１００の場合と基本的に同様に行われる。つまり、動き補償部２５５は、重み付け予測において、丸め処理を重み付け加算後に１回にまとめて行う。このようにすることにより、動き補償部２５５は、丸め誤差による画質劣化を抑制して演算精度を向上させることができる。したがって、画像復号装置２００は、符号化効率の向上を実現させることができる。
【０２１９】
［復号処理の流れ］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図１８のフローチャートを参照して、復号処理の流れの例を説明する。
【０２２０】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は、伝送されてきたビットストリームを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給されるビットストリーム（符号化された差分画像情報）を復号する。
【０２２１】
このとき、イントラ予測情報やインター予測情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
【０２２２】
ステップＳ２０３において、逆量子化部２０３は、ステップＳ２０２の処理により得られた、量子化された直交変換係数を逆量子化する。ステップＳ２０４において逆直交変換部２０４は、ステップＳ２０３において逆量子化された直交変換係数を逆直交変換する。
【０２２３】
ステップＳ２０５において、イントラ予測部２１１若しくは動き予測・補償部２１２は、供給された情報を用いて予測処理を行う。ステップＳ２０６において、選択部２１３は、ステップＳ２０５において生成された予測画像を選択する。ステップＳ２０７において、演算部２０５は、ステップＳ２０４において逆直交変換されて得られた差分画像情報に、ステップＳ２０６において選択された予測画像を加算する。これにより再構成画像が生成される。
【０２２４】
ステップＳ２０８において、ループフィルタ２０６は、ステップＳ２０７において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
【０２２５】
ステップＳ２０９において、画面並べ替えバッファ２０７は、ステップＳ２０８においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置１００の画面並べ替えバッファ１０２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２２６】
ステップＳ２１０において、D/A変換部２０８は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
【０２２７】
ステップＳ２１１において、フレームメモリ２０９は、ステップＳ２０９においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
【０２２８】
ステップＳ２１１の処理が終了すると、復号処理が終了される。
【０２２９】
［予測処理の流れ］
次に、図１９のフローチャートを参照して、図１８のステップＳ２０５において実行される予測処理の流れの例を説明する。
【０２３０】
予測処理が開始されると、イントラ予測部２１１は、ステップＳ２３１において、可逆復号部２０２から供給されるイントラ予測情報若しくはインター予測情報に基づいて、処理対象の領域が符号化の際にイントラ予測が行われたか否かを判定する。イントラ予測が行われたと判定された場合、イントラ予測部２１１は、処理をステップＳ３３２に進める。
【０２３１】
この場合、イントラ予測部２１１は、ステップＳ２３２において、イントラ予測モード情報を取得し、ステップＳ２３３において、イントラ予測によって予測画像を生成する。予測画像が生成されると、イントラ予測部２１１は、予測処理を終了し、処理を図１８に戻す。
【０２３２】
また、ステップＳ２３１において、当該領域がインター予測が行われた領域であると判定した場合、処理をステップＳ２３４に進める。ステップＳ２３４において、動き予測・補償部２１２、重み付け予測部２２１、および動きベクトル精度判定部２２２は、インター動き予測処理を行う。インター動き予測処理が終了すると、動き予測・補償部２１２、重み付け予測部２２１、および動きベクトル精度判定部２２２は、予測処理を終了し、処理を図１８に戻す。
【０２３３】
［インター動き予測処理の流れ］
次に、図２０のフローチャートを参照して、図１９のステップＳ２３４において実行されるインター動き予測処理の流れの例を説明する。
【０２３４】
インター動き予測処理が開始されると、ステップＳ２５１において、重み係数決定部２６１は、当該スライスにおいて重み付け予測が行われたか否かを判定する。重み付け予測が行われたと判定した場合、重み係数決定部２６１は、処理をステップＳ２５２に進める。
【０２３５】
ステップＳ２５２において、動き予測・補償部２１２、重み付け予測部２２１、および動きベクトル精度判定部２２２は、重み付け予測処理を行う。重み付け予測処理が終了すると、動き予測・補償部２１２、重み付け予測部２２１、および動きベクトル精度判定部２２２は、インター動き予測処理を終了し、処理を図１９に戻す。
【０２３６】
また、ステップＳ２５１において、重み付け予測が行われていないと判定した場合、重み係数決定部２６１は、処理をステップＳ２５３に進める。ステップＳ２５３において、差分動き情報バッファ２５２は、差分動き情報を取得する。
【０２３７】
ステップＳ２５４において、動き情報再構築部２５３は、動き情報を再構築する。ステップＳ２５５において、動き補償部２５５は、再構築された動き情報を用いて、動き情報を再構築する。
【０２３８】
ステップＳ２５６において、動き補償部２５５は、生成した予測画像を演算部２０５に出力する。また、ステップＳ２５７において、動き情報バッファ２５４は、再構築された動き情報を記憶する。ステップＳ２５７の処理が終了すると、動き情報バッファ２５４は、インター動き予測処理を終了し、処理を図１９に戻す。
【０２３９】
［重み付け予測処理の流れ］
次に、図２１のフローチャートを参照して、図２０のステップＳ２５２において実行される重み付け予測処理の流れの例を説明する。
【０２４０】
ステップＳ２７１において、重み係数決定部２６１は、当該スライスに対する重み係数を決定する。ステップＳ２７２において、差分動き情報バッファ２５２は、差分動き情報を取得する。ステップＳ２７３において、動き情報再構築部２５３は、その差分動き情報を用いて、動き情報を再構築する。
【０２４１】
ステップＳ２７４において、動き精度調整部２６２は、動きベクトル精度判定部２２２により判定された動き精度を調整する。
【０２４２】
ステップＳ２７５において、動き補償部２５５は、L0、L1それぞれの内挿処理を行う。ステップＳ２７６において、動き補償部２５５は、L0とL1を、重み付け加算する。ステップＳ２７７において、動き補償部２５５は、丸め処理を行う。
【０２４３】
ステップＳ２７８において、動き補償部２５５は、以上のように生成した予測画像を出力する。ステップＳ２７９において、動き情報バッファ２５４は、動き情報を記憶する。ステップＳ２７９の処理が終了すると、動き情報バッファ２５４は、重み付け予測処理を終了し、処理を図２０に戻す。
【０２４４】
以上のように各種処理を実行することにより、画像復号装置２００は、丸め処理を重み付け加算後に１回にまとめて行い、丸め誤差による画質劣化を抑制して演算精度を向上させることができる。これにより、画像復号装置２００は、符号化効率の向上を実現させることができる。
【０２４５】
なお、本技術は、例えば、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変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０２７４】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０２７５】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、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は、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０３０２】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０３０３】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、丸め誤差による画質劣化を抑制して演算精度を向上させることができ、符号化効率を向上させることができる。
【０３０４】
なお、本明細書では、差分動き情報や重み係数などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０３０５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０３０６】
なお、本技術は以下のような構成も取ることができる。
（１）  L0とL1のそれぞれについて小数画素精度の動き補償を行う動き補償部と、
前記動き補償部による各演算結果を重み付け加算する重み付け加算部と、
前記重み付け加算部による演算結果に丸め処理を行う丸め処理部と
を備える画像処理装置。
（２）  L0とL1の精度を判定する判定部と、
前記判定部の判定結果に基づいて、前記精度を調整する調整部と
をさらに備える前記（１）に記載の画像処理装置。
（３）  前記調整部は、L0とL1の一方に所定の係数を乗算することにより、一方の精度を他方の精度に合わせる
前記（２）に記載の画像処理装置。
（４）  前記調整部は、L0とL1の内、精度が大きい方を調整し、精度が小さい方に合わせる
前記（３）に記載の画像処理装置。
（５）  前記調整部は、L0の精度とL1の精度が互いに等しい場合、前記精度の調整を行わない
前記（３）または（４）に記載の画像処理装置。
（６）  前記調整部は、L0とL1の水平方向の精度および垂直方向の精度の両方に基づいて、前記精度を調整する
前記（３）乃至（５）のいずれかに記載の画像処理装置。
（７）  前記丸め処理部は、動きベクトル精度調整のための乗算処理が2Xであり、重み付け予測処理のための除算処理が2Yであるとすると、前記重み付け加算部の演算処理後、2X+Yの除算処理を行う
前記（１）乃至（６）のいずれかに記載の画像処理装置。
（８）  前記重み付け加算部は、Explicit Weighted Predictionを行う
前記（１）乃至（７）に記載の画像処理装置。
（９）  前記重み付け加算部は、Implicit Weighted Predictionを行う
前記（１）乃至（８）に記載の画像処理装置。
（１０）  前記重み付け加算部は、Intensity Compensationを行う
前記（１）乃至（９）に記載の画像処理装置。
（１１）  画像処理装置の画像処理方法であって、
動き補償部が、L0とL1のそれぞれについて小数画素精度の動き補償を行い、
重み付け加算部が、各演算結果を重み付け加算し、
丸め処理部が、演算結果に丸め処理を行う
画像処理方法。
【符号の説明】
【０３０７】
１００  画像符号化装置，  １１５  動き予測・補償部，  １２１  重み付け予測部，  １２２  動きベクトル精度判定部，  １５１  動き探索部，  １５４  動き補償部部，  １６１  重み係数決定部，  １６２  動き精度調整部，  ２００  画像復号装置，  ２１２  動き予測・補償部，  ２２１  重み付け予測部，  ２２２  動きベクトル精度判定部，  ２５１  重み係数バッファ，  ２５２  差分動き情報バッファ，  ２５３  動き情報再構築部，  ２５４  動き情報バッファ，  ２５５  動き補償部，  ２６１  重み係数決定部，  ２６２  動き精度調整部
【図１】
0005768491.tif 000013
【図２】
0005768491.tif 000014
【図３】
0005768491.tif 000015
【図４】
0005768491.tif 000016
【図５】
0005768491.tif 000017
【図６】
0005768491.tif 000018
【図７】
0005768491.tif 000019
【図８】
0005768491.tif 000020
【図９】
0005768491.tif 000021
【図１０】
0005768491.tif 000022
【図１１】
0005768491.tif 000023
【図１２】
0005768491.tif 000024
【図１３】
0005768491.tif 000025
【図１４】
0005768491.tif 000026
【図１５】
0005768491.tif 000027
【図１６】
0005768491.tif 000028
【図１７】
0005768491.tif 000029
【図１８】
0005768491.tif 000030
【図１９】
0005768491.tif 000031
【図２０】
0005768491.tif 000032
【図２１】
0005768491.tif 000033
【図２２】
0005768491.tif 000034
【図２３】
0005768491.tif 000035
【図２４】
0005768491.tif 000036
【図２５】
0005768491.tif 000037
【図２６】
0005768491.tif 000038