[go: up one dir, main page]

JP2013012860A - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
JP2013012860A
JP2013012860A JP2011143574A JP2011143574A JP2013012860A JP 2013012860 A JP2013012860 A JP 2013012860A JP 2011143574 A JP2011143574 A JP 2011143574A JP 2011143574 A JP2011143574 A JP 2011143574A JP 2013012860 A JP2013012860 A JP 2013012860A
Authority
JP
Japan
Prior art keywords
motion vector
unit
image
motion
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011143574A
Other languages
English (en)
Inventor
Kazufumi Sato
数史 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011143574A priority Critical patent/JP2013012860A/ja
Priority to PCT/JP2012/065814 priority patent/WO2013002105A1/ja
Publication of JP2013012860A publication Critical patent/JP2013012860A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動きベクトルを格納するのに必要な記憶容量の増大を抑制することができるようにする。
【解決手段】画像の動き予測において、動き予測の処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させる低減部と、前記低減部により情報量が低減された前記動きベクトルを記憶する記憶部とを備える。本開示は画像処理装置に適用することができる。
【選択図】図10

Description

本開示は、画像処理装置および方法に関し、特に、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができるようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月に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として行われている。
標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
ところで、AVCにおけるメディアン予測を用いた動きベクトルの符号化を改善するため、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor”に加え、”Temporal Predictor”及び”Spatio-Temporal Predictor”のどれかを、予測動きベクトル情報として、適応的に用いること(以下、MVコンペティション(MVCompetition)とも称する)が提案されている(例えば、非特許文献2参照)。
画像情報符号化装置においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すフラグ情報が伝送される。
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 Joel Jung,Guillaume Laroche,"Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting: Klagenfurt, Austria, 17-18 July, 2006
上述したMVコンペティションにおいては、時間的な相関性を利用するTemporal PredictorやSpatio-Temporal Predictorのために、参照フレーム(参照ピクチャ)の動きベクトル情報を保持しなければならない。
すなわち、動き予測により得られた動きベクトル情報を、自身より後に処理されるフレームの、自身を参照する領域の処理が行われるまで、メモリ(記憶領域)に確保しなければならない。
しかしながら、近年、符号化対象の画像データのフレーム(ピクチャ)のサイズは増大する傾向にあり、それに伴い、保持する動きベクトルの数も増大している。したがって、動きベクトルを格納するために必要なメモリ(記憶領域)の容量が増大し、コストが増大する恐れがあった。
本開示は、このような状況に鑑みてなされたものであり、動きベクトルを格納するのに必要な記憶容量の増大を抑制することを目的とする。
本開示の一側面は、画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させる低減部と、前記低減部により情報量が低減された前記動きベクトルを記憶する記憶部とを備える画像処理装置である。
前記低減部は、前記動きベクトルを量子化することにより、前記動きベクトルの情報量を低減させ、前記記憶部は、量子化された前記動きベクトルを記憶することができる。
前記低減部は、前記動きベクトルの大きさに応じて、量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化することができる。
前記低減部は、前記動きベクトルがより大きいほど、前記量子化ステップサイズをより大きな値に決定することができる。
前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化することができる。
前記低減部は、プロファイル・レベルに応じて前記閾値を設定することができる。
前記プロファイル・レベルは、前記画像のサイズ、若しくは、前記動きベクトルの少数精度であるようにすることができる。
前記低減部は、前記動きベクトルの各成分の大きさを前記閾値を用いて判定し、より大きな成分の判定結果に応じて前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化することができる。
前記閾値を符号化する符号化部をさらに備えることができる。
前記低減部は、上限値以上の値を全て前記上限値に変更するクリップ処理により、前記動きベクトルの情報量を低減させることができる。
前記低減部は、前記動きベクトルの情報量を、前記動きベクトルの成分毎に低減させることができる。
前記低減部は、前記動きベクトルの成分毎に閾値を設定し、前記動きベクトルの各成分の大きさを、その成分の閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを成分毎に決定し、決定した前記量子化ステップサイズで前記動きベクトルの各成分を量子化することができる。
前記記憶部に記憶されている、量子化された動きベクトルを読み出し、逆量子化する逆量子化部をさらに備えることができる。
前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて前記量子化ステップサイズを決定し、決定した量子化ステップサイズで前記動きベクトルを量子化し、前記逆量子化部は、前記閾値を用いて、前記記憶部から読み出した、量子化された動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化することができる。
前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを生成する予測動きベクトル生成部をさらに備えることができる。
前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部をさらに備えることができる。
閾値を取得する閾値取得部をさらに備え、前記低減部は、前記動きベクトルの大きさを、前記閾値取得部により取得された前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化することができる。
前記閾値取得部により取得された前記閾値を用いて、前記記憶部から読み出した、量子化された前記動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化する逆量子化部と、前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部とをさらに備えることができる。
符号化データを復号する復号部をさらに備え、前記閾値取得部は、前記復号部により復号された前記符号化データから抽出された前記閾値を取得することができる。
前記閾値取得部は、シーケンスパラメータセットに格納されている前記閾値を取得することができる。
本開示の一側面は、また、画像処理装置の画像処理方法であって、低減部が、画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させ、記憶部が、情報量が低減された前記動きベクトルを記憶する画像処理方法である。
本開示の一側面においては、画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量が低減され、その情報量が低減された前記動きベクトルが記憶される。
本開示によれば、画像を処理することができる。特に、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができる。
画像符号化装置の主な構成例を示すブロック図である。 小数点画素精度の動き予測・補償処理の例を示す図である。 マクロブロックの例を示す図である。 メディアンオペレーションの様子の例を説明する図である。 マルチ参照フレームの例を説明する図である。 テンポラルダイレクトモードの様子の例を説明する図である。 動きベクトル符号化方法の様子の例を説明する図である。 コーディングユニットの構成例を説明する図である。 Motion Partition Mergingの様子の例を説明する図である。 動き予測・補償部および動きベクトル符号化部の主な構成例を示すブロック図である。 動きベクトルの量子化の様子の例を説明する図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 動きベクトル量子化処理の流れの例を説明するフローチャートである。 時間周辺動きベクトル逆量子化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 動き予測・補償部および動きベクトル復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 動きベクトル量子化処理の流れの、他の例を説明するフローチャートである。 時間周辺動きベクトル逆量子化処理の流れの、他の例を説明するフローチャートである。 動きベクトル量子化処理の流れの、さらに他の例を説明するフローチャートである。 時間周辺動きベクトル逆量子化処理の流れの、さらに他の例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(動きベクトル量子化の他の例)
4.第4の実施の形態(動きベクトル量子化の、さらに他の例)
5.第5の実施の形態(コンピュータ)
6.第6の実施の形態(テレビジョン受像機)
7.第7の実施の形態(携帯電話機)
8.第8の実施の形態(記録再生装置)
9.第9の実施の形態(撮像装置)
<1.第1の実施の形態>
[画像符号化装置]
図1は、画像符号化装置の主な構成例を示すブロック図である。
図1に示される画像符号化装置100は、例えばH.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式のように、予測処理を用いて画像データを符号化する。
図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
画像符号化装置100は、さらに、動きベクトル符号化部121、動きベクトル量子化部122、動きベクトルバッファ123、および、動きベクトル逆量子化部124を有する。
A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、量子化部105において量子化された変換係数を、任意の符号化方式で符号化する。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
また、可逆符号化部106は、イントラ予測のモードを示す情報等を含むイントラ予測情報をイントラ予測部114から取得し、インター予測のモードを示す情報や動きベクトル情報などを含むインター予測情報を動き予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。また、可逆符号化部106は、動きベクトル量子化部122から供給される閾値を取得する。
可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。例えば、可逆符号化部106は、動きベクトル量子化部122から供給される閾値をシーケンスパラメータセット(SPS)に格納する。もちろん、この閾値が格納される位置は任意であり、シーケンスパラメータセット以外であってもよく、例えば、ピクチャパラメータセット(PPS)やスライスヘッダ等に格納されるようにしてもよい。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、ビットストリームとして、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。つまり、符号化された各種情報が復号側に供給される。
また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(局所的に復元された差分情報)は、演算部110に供給される。
演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、局所的に復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはフレームメモリ112に供給される。
ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
フレームメモリ112は、演算部110から供給される再構成画像と、ループフィルタ111から供給される復号画像とをそれぞれ記憶する。フレームメモリ112は、所定のタイミングにおいて、若しくは、イントラ予測部114等の外部からの要求に基づいて、記憶している再構成画像を、選択部113を介して、イントラ予測部114に供給する。また、フレームメモリ112は、所定のタイミングにおいて、若しくは、動き予測・補償部115等の外部からの要求に基づいて、記憶している復号画像を、選択部113を介して、動き予測・補償部115に供給する。
選択部113は、フレームメモリ112から出力される画像の供給先を示す。例えば、イントラ予測の場合、選択部113は、フレームメモリ112からフィルタ処理されていない画像(再構成画像)を読み出し、周辺画素として、イントラ予測部114に供給する。
また、例えば、インター予測の場合、選択部113は、フレームメモリ112からフィルタ処理された画像(復号画像)を読み出し、参照画像として、それを動き予測・補償部115に供給する。
イントラ予測部114は、フレームメモリ112から、処理対象領域の周辺に位置する周辺領域の画像(周辺画像)を取得すると、その周辺画像の画素値を用いて、基本的にプレディクションユニット(PU)を処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
また、イントラ予測部114は、最適なイントラ予測モード等、イントラ予測に関する情報を含むイントラ予測情報を、適宜可逆符号化部106に供給し、符号化させる。
動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
また、動き予測・補償部115は、最適なインター予測モード等、インター予測に関する情報を含むインター予測情報を可逆符号化部106に供給し、符号化させる。
予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部116は、予測画像の供給元としてイントラ予測部114を選択し、そのイントラ予測部114から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き予測・補償部115を選択し、その動き予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
レート制御部117は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
動きベクトル符号化部121は、予測処理対象である当該領域の周辺の動きベクトルを用いて当該領域の動きベクトルを予測するとともに、その予測された動きベクトル(予測動き情報)と、動き予測により得られた当該領域の動きベクトル(動き情報)との差分(差分動き情報)を算出する。
この差分動き情報は、当該領域の動き情報の情報量を低減させたものであり、動き情報の代わりに復号側に伝送される。
動きベクトル量子化部122は、動きベクトルバッファ123に格納する動きベクトル(動き情報)を量子化する。動きベクトルバッファ123は、動きベクトル量子化部122により量子化された動きベクトル(動き情報)を格納する。動きベクトル逆量子化部124は、動きベクトル符号化部121が動きベクトルバッファ123から読み出した、量子化された動きベクトル(量子化された動き情報)を逆量子化する。
[1/4画素精度動き予測]
図2は、AVC符号化方式において規定されている、1/4画素精度の動き予測・補償処理の様子の例を説明する図である。図2において、各四角は、画素を示している。その内、Aはフレームメモリ112に格納されている整数精度画素の位置を示し、b,c,dは、1/2画素精度の位置を示し、e1,e2,e3は1/4画素精度の位置を示している。
以下においては、関数Clip1()を以下の式(1)のように定義する。
Figure 2013012860
・・・(1)
例えば、入力画像が8ビット精度である場合、式(1)のmax_pixの値は255となる。
b及びdの位置における画素値は、6tapのFIRフィルタを用いて、以下の式(2)および式(3)のように生成される。
Figure 2013012860
・・・(2)
Figure 2013012860
・・・(3)
cの位置における画素値は、水平方向及び垂直方向に6tapのFIRフィルタを適用し、以下の式(4)乃至式(6)のように生成される。
Figure 2013012860
・・・(4)
もしくは、
Figure 2013012860
・・・(5)
Figure 2013012860
・・・(6)
なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に1度のみ行われる。
e1乃至e3は、以下の式(7)乃至式(9)のように、線形内挿により生成される。
Figure 2013012860
・・・(7)
Figure 2013012860
・・・(8)
Figure 2013012860
・・・(9)
[マクロブロック]
また、MPEG2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行なわれる。
これに対し、AVCにおいては、図3に示されるように、16×16画素により構成される1つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図3に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
しかしながら、AVC画像符号化方式において、MPEG2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
[動きベクトルのメディアン予測]
かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
図4に示される各直線は、動き補償ブロックの境界を示している。また、図4において、Eはこれから符号化されようとしている当該動き補償ブロックを示し、A乃至Dは、それぞれ、既に符号化済の、Eに隣接する動き補償ブロックを示す。
今、X=A,B,C,D,Eとして、Xに対する動きベクトル情報を、mvxとする。
まず、動き補償ブロックA,B、およびCに関する動きベクトル情報を用い、動き補償ブロックEに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式(10)のように生成する。
Figure 2013012860
・・・(10)
動き補償ブロックCに関する情報が、画枠の端である等の理由により利用不可能(unavailable)である場合、動き補償ブロックDに関する情報で代用される。
画像圧縮情報に、動き補償ブロックEに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式(11)のように生成される。
Figure 2013012860
・・・(11)
なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
[マルチ参照フレーム]
また、AVCにおいては、Multi-Reference Frame(マルチ(複数)参照フレーム)という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
図5を用いて、AVCにおいて規定されている、マルチ参照フレーム(Multi-Reference Frame)を説明する。
すなわち、MPEG-2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図5に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
[ダイレクトモード]
ところで、Bピクチャにおける動きベクトル情報における情報量は膨大であるが、AVCにおいては、Direct Mode(ダイレクトモード)と称されるモードが用意されている。
このダイレクトモード(Direct Mode)において、動きベクトル情報は、画像圧縮情報中には格納されない。画像復号装置においては、周辺ブロックの動きベクトル情報、若しくは、参照フレームにおける処理対象ブロックと同じ位置のブロックであるCo-Locatedブロックの動きベクトル情報から、当該ブロックの動きベクトル情報が算出される。
ダイレクトモード(Direct Mode)には、Spatial Direct Mode(空間ダイレクトモード)と、Temporal Direct Mode(時間ダイレクトモード)の2種類が存在し、スライス毎に切り替えることが可能である。
空間ダイレクトモード(Spatial Direct Mode)においては、以下の式(12)に示されるように、処理対象動き補償ブロックEの動きベクトル情報mvEが算出される。
mvE = pmvE ・・・(12)
すなわち、Median(メディアン)予測により生成された動きベクトル情報が、当該ブロックに適用される。
以下においては、図6を用いて、時間ダイレクトモード(Temporal Direct Mode)を説明する。
図6において、L0参照ピクチャにおける、当該ブロックと同じ空間上のアドレスにあるブロックを、Co-Locatedブロックとし、Co-Locatedブロックにおける動きベクトル情報を、mvcolとする。また、当該ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。
この時、当該ピクチャにおける、L0の動きベクトル情報mvL0及びL1の動きベクトル情報mvL1は、以下の式(13)および式(14)のように算出される。
Figure 2013012860
・・・(13)
Figure 2013012860
・・・(14)
なお、AVC画像圧縮情報においては、時間軸上の距離を表す情報TDが存在しないため、POC(Picture Order Count)を用いて、上述した式(12)および式(13)の演算が行われるものとする。
また、AVC画像圧縮情報においては、ダイレクトモード(Direct Mode)は、16×16画素マクロブロック単位、若しくは、8×8画素ブロック単位で定義することが可能である。
[予測モードの選択]
ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
かかる選択方式の例として、JM(Joint Model)と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア(http://iphome.hhi.de/suehring/tml/index.htm において公開されている)に実装されている方法を挙げることが出来る。
JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することができる。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該サブマクロブロック、または、当該マクロブロックに対する最適モードとして選択する。
High Complexity Modeにおけるコスト関数は、以下の式(15)のように示される。
Cost(Mode∈Ω) = D + λ*R ・・・(15)
ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
Low Complexity Modeにおけるコスト関数は、以下の式(16)のように示される。
Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(16)
ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
[動きベクトルのコンペティション]
ところで、図4を参照して説明したような、メディアン予測を用いた動きベクトルの符号化を改善するため、非特許文献1では、以下に述べるような方法が提案されている。
すなわち、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor(空間予測)”に加え、以下に述べる”Temporal Predictor(時間予測)”及び”Spatio-Temporal Predictor(時間と空間の予測)”のどれかを、予測動きベクトル情報として、適応的に用いることが可能にするものである。
すなわち、図7において、”mvcol”を、当該ブロックに対するCo-Locatedブロック(参照画像において、xy座標が、当該ブロックと同じであるブロック)に対する動きベクトル情報、mvtk(k=0乃至8)をその周辺ブロックの動きベクトル情報であるとして、それぞれの予測動きベクトル情報(Predictor)は、以下の式(17)乃至(19)により定義される。
Temporal Predictor:
Figure 2013012860
・・・(17)
Figure 2013012860
・・・(18)Spatio-Temporal Predictor:
Figure 2013012860
・・・(19)
画像符号化装置100においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すflagが伝送される。
[コーディングユニット]
ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
そこで、AVCにおいては、図3に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC(High Efficiency Video Coding)においては、図8に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図8の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図8に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
なお、以下において、「領域」には、上述した各種領域(例えば、マクロブロック、サブマクロブロック、LCU、CU、SCU、PU、およびTU等)を全て含む(それらのいずれであってもよい)。もちろん、上述した以外の単位が含まれてもよいし、説明の内容に応じて不可能な単位は、適宜、除外するものとする。
[動きパーティションのマージ]
ところで、Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand,"Description of video coding technology proposed by Fraunhofer HHI",JCTVC-A116,April,2010(以下、非特許文献3と称する)には、動き情報の符号化方式の1つとして、図9に示されるような、Motion Partition Mergingと呼ばれる手法(マージモード)が提案されている。この手法においては、MergeFlagと、MergeLeftFlagという、2つのflagが、マージモードに関する情報であるマージ情報として伝送される。MergeFlag=1は、当該領域Xの動き情報が、当該領域の上に隣接する周辺領域T、若しくは、当該領域の左に隣接する周辺領域Lの動き情報と同一であることを示す。この時、マージ情報には、MergeLeftFlagが含められ、伝送される。MergeFlag=0は、当該領域Xの動き情報が、周辺領域Tおよび周辺領域Lのいずれの動き情報とも異なることを示す。この場合、当該領域Xの動き情報が伝送される。
当該領域Xの動き情報が、周辺領域Lの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=1となる。当該領域Xの動き情報が、周辺領域Tの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=0となる。
このように、当該領域の動き情報が周辺の領域の動き情報と同一である場合、マージ情報のみが伝送され、復号の際には、その周辺の領域の動き情報を用いて当該領域の動き情報が再構築される。
このように、上述したMVコンペティションやこのマージモードにおいては、時間的な相関性を利用して、参照フレーム(参照ピクチャ)の動きベクトル情報が利用される。
換言するに、動き予測により得られた、処理対象の当該領域の動き情報は、処理対象の当該フレームより後に処理されるフレームの、当該領域を参照する領域の処理において利用される可能性がある。例えば、MVコンペティションの場合、当該領域を参照する領域の時間予測動き情報(Temporal PredictorやSpatio-Temporal Predictor)として利用される可能性がある。また、例えば、マージモードの場合、当該領域を参照する領域の動き情報と比較される可能性がある。したがって、動き予測により得られた当該領域の動き情報は、参照されなくなるまでメモリ(記憶領域)に確保しておく必要がある。
なお、動き予測により得られた当該領域の動き情報は、MVコンペティションにおける空間予測動き情報(spatial predictor)や、マージモードにおける空間周辺領域の動き情報として、同フレームの当該領域より後に処理される領域において利用される可能性もある。しかしながら、同じフレーム内の参照範囲は、基本的に当該領域に隣接若しくは近傍の領域のみであるので、このような利用の為には、動き情報は、おおよそ、処理対象である当該領域の1ライン上の領域まで保持すれば十分である。したがって、動き情報を格納するのに必要な記憶領域は、例えばレジスタ等の小容量のもので十分である。
しかしながら、時間予測動き情報や時間周辺領域の動き情報としての利用の為には、最も多い場合、4×4ブロック単位で、List0及びList1に関する、水平及び垂直成分の動きベクトル情報を、1/4画素精度で、1フレーム分以上格納しなければならないため、膨大な容量のバッファが必要であった。
動物体領域と、静止領域の境界において、空間方向の予測(spatial predictor)が適用されると、動物体領域の動きに、静止領域が引きずられる恐れがあり、そのことにより予測精度が低減し、符号化効率が低減する恐れがあった。そこで、時間方向の予測(temporal predictor)を適用することにより、特に、静止領域における符号化効率を改善することができる。したがって、時間方向の予測は、空間方向の予測とともに必要なものであるが、そのためには上述したように大容量の記憶領域が必要になり、コストが増大してしまう恐れがあった。
特に、近年、符号化対象の画像データのフレーム(ピクチャ)のサイズは増大する傾向にあり、それに伴い、保持する動きベクトルの数も増大している。したがって、動きベクトルを格納するために必要なメモリ(記憶領域)の容量がさらに増大し、コストがさらに増大する恐れがあった。
そこで、画像符号化装置100(図1)は、時間方向の予測のために動きベクトルを格納するのに必要な記憶容量の増大を抑制するために、動きベクトルを量子化してからバッファに記憶するようにする。
[動き予測・補償部等の構成]
図10は、動き予測・補償部115等の主な構成例を示すブロック図である。図10に示されるように、動き予測・補償部115は、動き探索部131、コスト関数値生成部132、モード判定部133、および動き補償部134を有する。
また、動きベクトル符号化部121は、予測動きベクトル生成部141と差分動きベクトル生成部142を有する。
動き探索部131には、画面並べ替えバッファ102からの入力画像画素値と、フレームメモリ112からの参照画像画素値が入力される。動き探索部131は、全てのインター予測モードについて動き探索処理を行い、動きベクトルと参照インデックスを含む動き情報を生成する。動き探索部131は、その動き情報を動きベクトル符号化部121の予測動きベクトル生成部141に供給する。
また、動き探索部131は、探索した動きベクトルを用いて、参照画像に補償処理を行い、予測画像を生成する。さらに、動き探索部131は、その予測画像と入力画像の差分画像を算出し、その画素値である差分画像画素値をコスト関数値生成部132に供給する。
コスト関数値生成部132は、動き探索部131から供給された各インター予測モードの差分画像画素値を取得する。コスト関数値生成部132は、その差分画像画素値を用いて、各インター予測モードのコスト関数値を算出する。また、コスト関数値生成部132は、各インター予測モードの差分動き情報と、各インター予測モードの予測動きベクトル情報とを動きベクトル符号化部121の差分動きベクトル生成部142から取得する。
予測動きベクトル情報は、処理対象である当該領域の動きベクトルの予測値である予測動きベクトルと、その予測動きベクトルを生成する為に動きベクトルを参照される周辺領域を示す情報とを含む。差分動き情報は、処理対象である当該領域の動きベクトルと、予測動きベクトルとの差分である差分動きベクトルを含む。
コスト関数値生成部132は、各インター予測モードのコスト関数値、差分動き情報、および予測動きベクトル情報をモード判定部133に供給する。
モード判定部133は、コスト関数値生成部132から供給される各インター予測モードのコスト関数値、差分動き情報、および予測動きベクトル情報を取得する。モード判定部133は、その中で最も小さいコスト関数値のインター予測モードを、最適なモードとして選択する。モード判定部133は、その最適なモードに選択されたインター予測モードを示す情報である最適モード情報を、その最適なインター予測モードの差分動き情報および予測動きベクトル情報とともに、動き補償部134に供給する。
動き補償部134は、モード判定部133から供給された差分動き情報および予測動きベクトル情報を用いて、最適なインター予測モードの動きベクトルを生成する。動き補償部134は、その動きベクトルを用いてフレームメモリ112からの参照画像に補償処理を行うことで、最適なインター予測モードの予測画像を生成する。動き補償部134は、生成した予測画像の画素値(予測画像画素値)を予測画像選択部116に供給する。
予測画像選択部116によりインター予測が選択された場合、それを示す信号が予測画像選択部116から供給される。これに対応して、動き補償部134は、最適モード情報を、その最適なインター予測モードの差分動き情報および予測動き情報とともに、可逆符号化部106に供給し、符号化させ、復号側に伝送させる。予測動き情報は、予測動きベクトルを生成する為に動きベクトルを参照される周辺領域を示す情報を含む。
また、動き補償部134は、予測画像の生成に用いた最適なインター予測モードの動き情報を、動きベクトル量子化部122に供給する。なお、予測画像選択部116によりインター予測が選択されなかった場合(すなわち、イントラ予測画像が選択された場合)、動きベクトル情報として、0ベクトルが、動きベクトル量子化部122に供給される。
動きベクトル量子化部122は、動き補償部134から供給される動き情報を取得する。動きベクトル量子化部122は、取得した動き情報(動きベクトル)に対して量子化を行い、その情報量を低減させる。量子化の詳細については後述するが、動きベクトル量子化部122は、符号化効率の低減を抑制するために、閾値を設定し、その閾値に応じて非線形量子化を行う。動きベクトル量子化部122は、量子化後の動き情報を動きベクトルバッファ123に供給する。
また、動きベクトル量子化部122は、設定した閾値を動きベクトル逆量子化部124に供給する。さらに、動きベクトル量子化部122は、設定した閾値を可逆符号化部106に供給し、符号化させ、例えばビットストリームのシーケンスパラメータセットに格納される等して、復号側に伝送させる。
動きベクトルバッファ123は、動きベクトル量子化部122から供給される、量子化された動き情報を取得し、記憶する。つまり、動きベクトルバッファ123には、過去に処理された領域の最適予測モードの動き情報が格納されている。この動き情報は、その動き情報に対応する領域のフレームより時間的に後に処理されるフレームの、その領域を時間周辺領域として参照する他の領域に対する処理において、時間周辺動き情報として利用される。
時間周辺領域とは、処理対象である当該領域に対して時間的に周辺に位置する領域であり、当該領域のフレーム(当該フレーム)より時間的に前に処理され、当該領域の予測処理において参照される参照フレームの領域である。例えば、時間周辺領域は、参照フレームの、当該フレームにおける当該領域に相当する位置に存在するコロケーテッド(Co-Located)領域である。時間周辺動き情報は、その時間周辺領域の動き情報である。
動きベクトルバッファ123は、要求に応じて、記憶している動き情報を、時間周辺動き情報として動きベクトル逆量子化部124に供給する。なお、動きベクトルバッファ123は、供給される各動き情報を順次記憶し、時間周辺動き情報として利用されなくなるまで保持する。つまり、動きベクトルバッファ123の記憶容量は有限であるので、動きベクトルバッファ123は、処理対象の領域の時間周辺領域とならなくなった領域の動き情報(古い動き情報)を削除して空き領域を確保し、供給される新たな領域の動き情報を記憶する。
動きベクトル逆量子化部124は、予測動きベクトル生成部141により要求された動き情報を、動きベクトルバッファ123から取得する。また、動きベクトル逆量子化部124は、動きベクトル量子化部122から供給される閾値を取得する。動きベクトル逆量子化部124は、その閾値を用いて、動きベクトルバッファ123から読み出した動き情報(動きベクトル)を、動きベクトル量子化部122による量子化に対応する方法で、逆量子化(非線形逆量子化)する。動きベクトル逆量子化部124は、逆量子化された動き情報を、時間周辺動き情報として予測動きベクトル生成部141に供給する。
予測動きベクトル生成部141は、動き探索部131から供給される当該領域の動き情報を取得する。予測動きベクトル生成部141は、その動き情報を用いて各インター予測モードの空間予測動きベクトルを生成する。
空間予測動きベクトルとは、空間周辺領域の動きベクトルを用いて生成される予測動きベクトルである。空間周辺領域とは、処理対象である当該領域に対して空間的に周辺に位置する領域であり、当該フレームに存在する、当該領域より時間的に前に処理される領域である。例えば、空間周辺領域は、当該フレームの、当該領域の近傍の(例えば、左上、上、右上、または左等に隣接する)領域である。空間周辺動き情報は、その空間周辺領域の動き情報である。
予測動きベクトル生成部141は、予測動きベクトル生成後、動き探索部131から供給された動き情報を保持し、その当該領域より時間的に後に処理される他の領域の処理において、その保持している動き情報を空間周辺動き情報として利用し、空間予測動きベクトルを生成する。
また、予測動きベクトル生成部141は、当該領域の動き情報を用いて各インター予測モードの時間予測動きベクトルを生成する。時間予測動きベクトルとは、時間周辺領域の動きベクトルを用いて生成される予測動きベクトルである。予測動きベクトル生成部141は、動き探索部131から供給される動き情報に対応する時間周辺動き情報を、動きベクトル逆量子化部124を介して、動きベクトルバッファ123から取得する。予測動きベクトル生成部141は、その時間周辺動き情報を用いて、時間予測動きベクトルを生成する。
予測動きベクトル生成部141は、各インター予測モードについて、生成した空間予測動きベクトルと時間予測動きベクトルとを比較し、当該領域の動きベクトルに近い方を選択する。予測動きベクトル生成部141は、各インター予測モードについて、選択した予測動きベクトルを含む予測動きベクトル情報を生成し、当該領域の動き情報とともに差分動きベクトル生成部142に供給する。
差分動きベクトル生成部142は、予測動きベクトル生成部141から供給される当該領域の動き情報と予測動きベクトル情報を取得する。差分動きベクトル生成部142は、当該領域の動きベクトルと予測動きベクトルの差分である差分動きベクトルを生成し、その差分動きベクトルを含む差分動き情報を生成する。差分動きベクトル生成部142は、生成した差分動き情報と、その差分動き情報の生成に用いた予測動きベクトル情報とをコスト関数値生成部132に供給する。
[周辺動き情報のバッファ]
上述したように、予測動きベクトル生成部141は、当該領域の動き情報を記憶する。この動き情報は、空間周辺動き情報として利用されるものである。当該領域が動きベクトルを参照する空間周辺領域は、当該フレーム内に存在し、かつ、当該領域の近傍に位置するので、空間周辺領域となる範囲は比較的狭い。したがって、予測動きベクトル生成部141が動き情報を記憶するために必要な記憶容量は少なくてよい。
これに対して、時間周辺領域は、当該フレームと異なる参照フレームに存在するので、時間周辺動き情報として、少なくとも1フレーム分以上の膨大な動き情報を確保する必要がある。そのために大容量の記憶領域を確保する必要があるので、時間周辺動き情報は、大容量の記憶領域を有する動きベクトルバッファ123に格納される。
ただし、当該領域の動き情報をそのまま記憶すると、例えば、4×4ブロック単位で、List0及びList1に関する、水平及び垂直成分の動きベクトル情報を、1/4画素精度で格納しなければならないため、動きベクトルバッファ123として、膨大な容量の記憶領域が必要になり、コストが増大してしまう恐れがあった。また、近年においては、より高解像度の画像が符号化対象とされるようになっており、さらに大容量の記憶領域が必要になる恐れがあった。
そこで、上述したように、画像符号化装置100は、動き情報を動きベクトルバッファ123に格納する際に、その情報量を量子化により低減させてから格納し、格納された動き情報を読み出す際に逆量子化するようにする。
より具体的には、動きベクトル量子化部122が、動きベクトルバッファ123に格納される動き情報を量子化し、動きベクトル逆量子化部124が、動きベクトルバッファ123から読み出される動き情報を逆量子化する。
このようにすることにより、画像符号化装置100は、動きベクトルバッファ123の記憶容量の増大を抑制することができ、コストの増大を抑制することができる。
なお、以下においては、説明の便宜上、動きベクトルは、1/4画素精度であるとする。
[非線形量子化・逆量子化]
なお、時間予測動きベクトル(temporal predictor)は、特に、静止領域における符号化効率を改善する。すなわち、動物体領域と、静止領域の境界において、空間予測動きベクトル(spatial predictor)が適用されると、動物体領域の動きに、静止領域が引きずられることになる。空間予測動きベクトル(spatial predictor)の代わりに時間予測動きベクトル(temporal predictor)を用いることにより、このような不具合が改善される。
静止領域における動きベクトルは、その値が0に近いため、その値がより小さい動きベクトルが、より高く符号化効率に寄与すると考えられる。また、その値がより小さい動きベクトル程、その情報量がより少ないため、画素精度の増減による情報量への影響はより小さくなる。
また、大きな動きベクトル程、量子化前の情報量が大きいので、量子化による情報量の低減が容易である。さらに、動きベクトルバッファ123における情報管理は、一般的に固定長方式(Fixed length)であるが、その場合、その記憶容量は、動きベクトルの最大値の情報量(すなわち、動きベクトルのダイナミックレンジ)に依存する。
そこで、動きベクトル量子化部122および動きベクトル逆量子化部124は、動きベクトルの大きさに応じて量子化ステップの大きさを変え、より小さな動きベクトルが、より高画素精度で動きベクトルバッファ123に格納されるようにする。
例えば、動きベクトル量子化部122は、動きベクトルの大きさに対して閾値を設け、その閾値によって動きベクトルの大きさをレベル分けし、そのレベルに応じて量子化ステップの大きさを変える非線形量子化を行う。動きベクトル逆量子化部124は、その閾値を用いて、その非線形量子化に対応する非線形逆量子化を行う。
図11にその非線形量子化の例を示す。図11の例において、動きベクトル量子化部122は、時間予測動きベクトルとなる動きベクトルの大きさTmvに対して、2つの閾値θ1/4とθ1/2を設定する。すなわち、動きベクトルの大きさの範囲(Tmv≦MVmax)をこれらの閾値によって3つの領域(Area1乃至Area3)に分割する。
図11に示されるように、Area1は、Tmv<θ1/4の範囲であり、Area2は、θ1/4≦Tmv<θ1/2の範囲であり、Area3は、θ1/2≦Tmv<MVmaxの範囲である。
動きベクトル量子化部122は、動きベクトルバッファ123に格納する動きベクトルの大きさを閾値θ1/4とθ1/2を用いて判定し、その大きさがArea1の場合、1/4画素精度とし、その大きさがArea2の場合、1/2画素精度とし、その大きさがArea3の場合、整数画素精度とするように量子化ステップを決定し、量子化を行う。
このように非線形量子化することにより、Area1に属する動きベクトルの量子化後の最大値は、量子化前と変わらずθ1/4となり、Area2に属する動きベクトルの量子化後の最大値は、((1/2)×θ1/4+(1/2)×θ1/2)となり、Area3に属する動きベクトルの量子化後の最大値は、((1/2)×MVmax+(1/2)×θ1/4)となる。
したがって、図11に示される両矢印のように、MVmax−((1/2)×MVmax+(1/2)×θ1/4)の分だけ、動きベクトルのダイナミックレンジを低減することができる。つまり、その分、動きベクトルバッファ123の記憶容量を低減させることができる。
また、上述したようにArea1に属する動きベクトルについては、1/4画素精度を維持することができるので、時間予測動きベクトルが採用され易い静止領域の動きベクトルの画素精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
つまり、動きベクトル量子化部122は、符号化効率の低減を抑制しながら、動きベクトルバッファ123の記憶容量を低減させることができる。
動きベクトル逆量子化部124は、動きベクトル量子化部122から閾値を取得することにより、動きベクトル量子化部122によるこのような非線形量子化に対応する非線形逆量子化を行うことができる。すなわち、動きベクトル逆量子化部124は、符号化効率の低減を抑制しながら、動きベクトルバッファ123の記憶容量を低減させることを実現することができる。
[符号化処理の流れ]
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、符号化処理の流れの例を説明する。
ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS103において、イントラ予測部114は、イントラ予測処理を行う。ステップS104において、動き予測・補償部115は、インター動き予測処理を行う。ステップS105において、予測画像選択部116は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
ステップS106において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する(差分画像を生成する)。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS107において、直交変換部104は、ステップS106の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
ステップS108の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、ステップS109の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
ステップS111において、演算部110は、ステップS105において選択された予測画像を、ステップS110において生成された差分画像に加算し、局部的に復号された復号画像(再構成画像)を生成する。ステップS112において、ループフィルタ111は、ステップS111の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
ステップS113において、フレームメモリ112は、ステップS112の処理により生成された復号画像、若しくは、ステップS111の処理により生成された再構成画像を記憶する。
ステップS114において、可逆符号化部106は、ステップS108の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部106は、予測に関する情報や、量子化に関する情報や、フィルタ処理に関する情報等を符号化し、ビットストリームに付加する。
ステップS115において、蓄積バッファ107は、ステップS114の処理により得られたビットストリームを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
ステップS116の処理が終了すると、符号化処理が終了される。
[インター動き予測処理の流れ]
次に、図13のフローチャートを参照して、図12のステップS104において実行されるインター動き予測処理の流れの例を説明する。
ステップS131において、動き探索部131は、各インター予測モードについて、動き探索を行い、処理対象である当該領域の動き情報を生成し、その動き情報を用いて補償処理を行って予測画像を生成し、さらに、その予測画像を用いて差分画像を生成する。
ステップS132において、予測動きベクトル生成部141は、ステップS131において生成された動き情報と、空間周辺動き情報を用いて、各インター予測モードについて空間予測動きベクトルを生成する。
また、予測動きベクトル生成部141は、各インター予測モードについて、時間予測動きベクトルの生成のために、処理対象である当該領域の動き情報に対応する時間周辺動き情報を要求する。ステップS133において、動きベクトル逆量子化部124は、要求された時間周辺動き情報を動きベクトルバッファ123から読み出し、その時間周辺動きベクトルを逆量子化する。
ステップS134において、予測動きベクトル生成部141は、各インター予測モードについて、ステップS133の処理により得られた時間周辺動き情報を用いて、時間予測動きベクトルを生成する。
ステップS135において、予測動きベクトル生成部141は、各インター予測モードについて、ステップS132において生成された空間予測動きベクトル、および、ステップS134の処理により生成された時間予測動きベクトルの内、いずれか一方を選択し、予測動き情報を生成する。
ステップS136において、差分動きベクトル生成部142は、各インター予測モードについて、ステップS135において生成された予測動き情報を用いて、差分動き情報を生成する。
ステップS137において、コスト関数値生成部132は、各インター予測モードについて、ステップS131において生成された差分画像の画素値を用いて、コスト関数値を算出する。
ステップS138において、モード判定部133は、ステップS137において算出された各インター予測モードのコスト関数値に基づいて、最適インター予測モードを決定する。
ステップS139において、動き補償部134は、ステップS138の処理により決定された最適インター予測モードで動き補償を行い、予測画像を生成する。
ステップS140において、動き補償部134は、ステップS139の処理により生成された予測画像を予測画像選択部116を介して演算部103および演算部110に供給し、差分画像情報や復号画像を生成させる。
ステップS141において、動き補償部134は、予測動き情報、差分動き情報、および最適モード情報を可逆符号化部106に供給し、最適インター予測モードに関する情報を符号化させる。なお、予測画像選択部116によりイントラ予測が選択される場合、この処理は省略される。
ステップS142において、動きベクトル量子化部122は、ステップS139の動き補償に用いられた当該領域の動きベクトルを量子化する。
ステップS143において、動きベクトルバッファ123は、ステップS142において量子化された動きベクトルを含む動き情報を記憶する。この動き情報は、当該領域より後に処理される他の領域において時間周辺動き情報として利用される。
ステップS143の処理が終了すると、動きベクトルバッファ123は、処理を図12に戻す。
[動きベクトル量子化処理の流れ]
次に、図14のフローチャートを参照して、図13のステップS142において実行される動きベクトル量子化処理の流れの例を説明する。
ステップS161において、動きベクトル量子化部122は、閾値(例えば、θ1/4やθ1/2)を設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS162において、動きベクトル量子化部122は、量子化する動きベクトルの大きさをステップS161において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS163において、動きベクトル量子化部122は、ステップS162において決定された量子化ステップサイズで動きベクトルを量子化する。
ステップS164において、動きベクトル量子化部122は、ステップS161において設定された閾値を可逆符号化部106に供給し、符号化させる。なお、ステップS161の処理を省略する場合、この処理も省略される。
ステップS164の処理が終了すると、動きベクトル量子化部122は、処理を図13に戻す。
[時間周辺動きベクトル逆量子化処理の流れ]
次に、図15のフローチャートを参照して、図13のステップS133において実行される時間周辺動きベクトル逆量子化処理の流れの例を説明する。
ステップS181において、動きベクトル逆量子化部124は、図14のステップS161の処理により動きベクトル量子化部122において設定された量子化処理の閾値を取得し、逆量子化処理に用いる閾値として設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS182において、動きベクトル逆量子化部124は、逆量子化する時間周辺動きベクトルの大きさをステップS181において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。なお、図11の例を用いて説明すると、この場合、閾値(θ1/4,θ1/2)は、図11の縦軸の値(θ1/4,((1/2)×θ1/4+(1/2)×θ1/2))に換算され、時間周辺動きベクトルの大きさと比較される。
ステップS183において、動きベクトル逆量子化部124は、ステップS182の処理により決定された量子化ステップサイズで時間周辺動きベクトルを逆量子化する。
ステップS183の処理が終了すると、動きベクトル逆量子化部124は、処理を図13に戻す。
以上のように各処理を実行することにより、画像符号化装置100は、動きベクトルの記憶に必要な記憶容量を低減させることができる。特に、画像符号化装置100は、時間周辺動き情報として利用される動きベクトルの記憶に必要な記憶容量を低減させることができる。また、上述したようにより大きな動きベクトルの情報量をより大きく低減させるので、画像符号化装置100は、符号化効率の低減を抑制しながら、時間周辺動き情報の記憶に必要な記憶容量を低減させることができる。
<2.第2の実施の形態>
[画像復号装置]
次に、以上のように符号化された符号化データの復号について説明する。図16は、図1の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
図16に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
図16に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
さらに、画像復号装置200は、動きベクトル復号部221、動きベクトル量子化部222、動きベクトルバッファ223、および動きベクトル逆量子化部224を有する。
蓄積バッファ201は、伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
また、可逆復号部202は、符号化データを復号して得られた最適な予測モードに関する情報を参照し、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定する。可逆復号部202は、その判定結果に基づいて、その最適な予測モードに関する情報を、イントラ予測部211若しくは動き予測・補償部212に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報であるイントラ予測情報がイントラ予測部211に供給される。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報であるインター予測情報が動き予測・補償部212に供給される。
さらに、可逆復号部202は、符号化データを復号することにより、画像符号化装置100から伝送された、動きベクトル量子化用の閾値(例えばθ1/4,θ1/2)を、シーケンスパラメータセット(SPS)等から抽出する。可逆復号部202は、得られた閾値を動きベクトル量子化部222および動きベクトル逆量子化部224に供給する。
逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを、図1の量子化部105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の差分画像に対応する差分画像を得る。
逆直交変換されて得られた差分画像は、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
演算部205は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部205は、その再構成画像をループフィルタ206に供給する。
ループフィルタ206は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ206は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
なお、ループフィルタ206が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ206が、図1の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
ループフィルタ206は、フィルタ処理結果である復号画像を画面並べ替えバッファ207およびフレームメモリ209に供給する。なお、このループフィルタ206によるフィルタ処理は省略することもできる。つまり、演算部205の出力が、フィルタ処理されずに、フレームメモリ209に格納されるようにすることもできる。例えば、イントラ予測部211は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
画面並べ替えバッファ207は、供給された復号画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
フレームメモリ209は、供給される再構成画像や復号画像を記憶する。また、フレームメモリ209は、所定のタイミングにおいて、若しくは、イントラ予測部211や動き予測・補償部212等の外部の要求に基づいて、記憶している再構成画像や復号画像をイントラ予測部211や動き予測・補償部212に供給する。
イントラ予測部211は、図1のイントラ予測部114と基本的に同様の処理を行う。ただし、イントラ予測部211は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいてインター動き予測処理を行い、予測画像を生成する。なお、動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、インター動き予測処理を行う。
動き予測・補償部212は、予測処理単位の領域毎に、生成した予測画像を、選択部213を介して演算部205に供給する。
選択部213は、イントラ予測部211から供給される予測画像、若しくは、動き予測・補償部212から供給される予測画像を演算部205に供給する。
動きベクトル復号部221は、動き予測・補償部212から、画像符号化装置100から供給された予測動き情報を取得し、動き予測・補償部212において利用される予測動きベクトルを再構築する。動きベクトル復号部221は、必要に応じて、動きベクトルバッファ223に記憶されている動き情報を、動きベクトル逆量子化部224を介して、時間周辺動き情報として取得する。また、動きベクトル復号部221は、動き予測・補償部212において再構築された動き情報を取得し、空間周辺動き情報として使用するためにそれを記憶する。
動きベクトル量子化部222は、動き予測・補償部212から供給される、動きベクトルバッファ223に格納する動き情報を取得し、動きベクトル量子化部122(図1)と同様の方法で、その動きベクトルを量子化する。つまり、可逆復号部202から供給された閾値(画像符号化装置100から供給された閾値)を取得し、その閾値を用いて、動きベクトルの量子化を行う。動きベクトル量子化部222は、量子化した動き情報を動きベクトルバッファ223に供給する。
動きベクトルバッファ223は、動きベクトル量子化部222から供給される、量子化された動き情報を記憶する。動きベクトルバッファ223は、要求に従って、記憶している動き情報を時間周辺動き情報として動きベクトル逆量子化部224に供給する。すなわち、動きベクトルバッファ223は、動きベクトルバッファ123(図1)と同様の処理部であり、動きベクトルバッファ123と同様に、動き情報を記憶するための有限の記憶領域を有する。
動きベクトル逆量子化部224は、動きベクトル復号部221に要求された時間周辺動き情報を動きベクトルバッファ223から読み出し、動きベクトル逆量子化部124(図1)と同様の方法で、その動きベクトルを逆量子化する。つまり、可逆復号部202から供給された閾値(画像符号化装置100から供給された閾値)を取得し、その閾値を用いて、動きベクトルの逆量子化を行う。動きベクトル逆量子化部224は、逆量子化した時間周辺動き情報を動きベクトル復号部221に供給する。
[動き予測・補償部等の構成]
図17は、動き予測・補償部212等の主な構成例を示すブロック図である。図17に示されるように、動き予測・補償部212は、差分動き情報バッファ231、予測動き情報バッファ232、閾値バッファ233、動き情報再構築部234、および動き補償部235を有する。
また、動きベクトル復号部221は、予測動きベクトル再構築部241を有する。
差分動き情報バッファ231は、可逆復号部202から供給される、ビットストリームから抽出された差分動き情報を取得し、記憶する。差分動き情報バッファ231は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している差分動き情報を動き情報再構築部234に供給する。
予測動き情報バッファ232は、可逆復号部202から供給される、ビットストリームから抽出された予測動き情報を取得し、記憶する。予測動き情報は、予測動きベクトルを生成する為に動きベクトルを参照される周辺領域(時間周辺領域または空間周辺領域)を示す情報を含む。予測動き情報バッファ232は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している予測動き情報を予測動きベクトル再構築部241に供給する。
閾値バッファ233は、可逆復号部202から供給される、ビットストリームのシーケンスパラメータセット等から抽出された閾値(例えばθ1/4,θ1/2)を取得し、記憶する。閾値バッファ233は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その記憶している閾値を動きベクトル量子化部222および動きベクトル逆量子化部224に供給する。
動き情報再構築部234は、差分動き情報バッファ231から、処理対象である当該領域の差分動き情報を取得すると、予測動きベクトル再構築部241から、当該領域の予測動きベクトル情報を取得し、それらを用いて当該領域の動き情報を再構築する。より具体的には、動き情報再構築部234は、差分動き情報の差分動きベクトルに、予測動きベクトル情報の予測動きベクトルを加算することにより、当該領域の動きベクトルを再構築する。動き情報再構築部234は、その動きベクトルを含む動き情報を、動き補償部235、動きベクトル量子化部222、および予測動きベクトル再構築部241に供給する。
動き補償部235は、動き情報再構築部234から供給される当該領域の動き情報を取得する。また、動き補償部235は、フレームメモリ209から供給される参照画像画素値を取得する。動き補償部235は、それらを用いて動き補償を行い、予測画像を生成する。動き補償部235は、その予測画像画素値を選択部213を介して演算部205に供給する。
動きベクトル復号部221の予測動きベクトル再構築部241は、予測動き情報バッファ232から、処理対象である当該領域の予測動き情報を取得すると、その予測動き情報を用いて当該領域の予測動きベクトルを再構築する。
例えば、予測動き情報において指定される周辺領域が空間周辺領域の場合、予測動きベクトル再構築部241は、自身が保持している空間周辺動き情報(すなわち、予測動き情報において指定される空間周辺領域の動き情報)の動きベクトルを空間予測動きベクトルとする。
また、例えば、予測動き情報において指定される周辺領域が時間周辺領域の場合、予測動きベクトル再構築部241は、動きベクトルバッファ223に記憶されている時間周辺動き情報(すなわち、予測動き情報において指定される時間周辺領域の動き情報)を、動きベクトル逆量子化部224を介して取得し、その動きベクトルを時間予測動きベクトルとする。
予測動きベクトル再構築部241は、このように再構築した予測動きベクトル(空間予測動きベクトル若しくは時間予測動きベクトル)を含む予測動きベクトル情報を、動き情報再構築部234に供給する。
また、予測動きベクトル再構築部241は、動き情報再構築部234から供給される、動き情報再構築部234において再構築された当該領域の動き情報を取得し、保持する。この動き情報は、当該領域より時間的に後に処理される他の領域の処理において、空間周辺動き情報として利用される。
画像復号装置200も、画像符号化装置100の場合と同様に、動き情報を動きベクトルバッファ223に格納する際に、その情報量を量子化により低減させてから格納し、格納された動き情報を読み出す際に逆量子化するようにする。
つまり、動きベクトル量子化部222が、動きベクトル量子化部122の場合と同様に量子化処理を行って、動きベクトルバッファ223に格納される動き情報を量子化し、動きベクトル逆量子化部224が、動きベクトル逆量子化部124の場合と同様に逆量子化処理を行って、動きベクトルバッファ223から読み出される動き情報を逆量子化する。
このようにすることにより、画像復号装置200は、動きベクトルバッファ223の記憶容量の増大を抑制することができ、コストの増大を抑制することができる。
また、動きベクトル量子化部222は、画像符号化装置100から供給される閾値を用いて、動きベクトル量子化部122の場合と同様に非線形量子化を行うことにより、Area1に属する動きベクトルについては、1/4画素精度を維持することができるので、時間予測動きベクトルが採用され易い静止領域の動きベクトルの画素精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
つまり、動きベクトル量子化部222は、符号化効率の低減を抑制しながら、動きベクトルバッファ223の記憶容量を低減させることができる。
また、動きベクトル逆量子化部224は、画像符号化装置100から供給される閾値を用いて、動きベクトル逆量子化部124の場合と同様に非線形逆量子化を行うことができる。すなわち、動きベクトル逆量子化部224は、符号化効率の低減を抑制しながら、動きベクトルバッファ223の記憶容量を低減させることを実現することができる。
[復号処理の流れ]
次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図18のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリーム(符号化された差分画像情報)を復号する。このとき、イントラ予測情報やインター予測情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
ステップS205において、イントラ予測部211若しくは動き予測・補償部212は、供給された情報を用いて予測処理を行う。ステップS206において、演算部205は、ステップS204において逆直交変換されて得られた差分画像情報に、ステップS205において生成された予測画像を加算する。これにより再構成画像が生成される。
ステップS207において、ループフィルタ206は、ステップS206において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
ステップS208において、画面並べ替えバッファ207は、ステップS207においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS209において、D/A変換部208は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
ステップS210において、フレームメモリ209は、ステップS207においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
ステップS210の処理が終了すると、復号処理が終了される。
[予測処理の流れ]
次に、図19のフローチャートを参照して、図18のステップS205において実行される予測処理の流れの例を説明する。
予測処理が開始されると、可逆復号部202は、ステップS231において、処理対象の領域が符号化の際にイントラ予測が行われたか否かを判定する。イントラ予測が行われたと判定された場合、可逆復号部202は、処理をステップS232に進める。
この場合、イントラ予測部211は、ステップS232において、可逆復号部202からイントラ予測モード情報を取得し、ステップS233において、イントラ予測によって予測画像を生成する。予測画像が生成されると、イントラ予測部211は、予測処理を終了し、処理を図18に戻す。
また、ステップS231において、当該領域がインター予測の行われた領域であると判定した場合、可逆復号部202は、処理をステップS234に進める。ステップS234において、動き予測・補償部212は、インター動き予測処理を行う。インター動き予測処理が終了すると、動き予測・補償部212は、予測処理を終了し、処理を図18に戻す。
[インター動き予測処理の流れ]
次に、図20のフローチャートを参照して、図19のステップS234において実行されるインター動き予測処理の流れの例を説明する。
インター動き予測処理が開始されると、ステップS251において、予測動き情報バッファ232は、可逆復号部202から予測動き情報を取得する。ステップS252において、予測動きベクトル再構築部241は、その予測動き情報から、当該領域の動きベクトルの予測が、時間周辺領域を参照する時間予測であるか、空間周辺領域を参照する空間予測であるかを判定する。時間予測であると判定された場合、予測動きベクトル再構築部241は、時間周辺動き情報を要求し、処理をステップS253に進める。
ステップS253において、動きベクトル逆量子化部224は、要求された時間周辺動き情報を動きベクトルバッファ223から読み出し、その動きベクトル(時間周辺動きベクトル)を逆量子化する。この逆量子化は、図15のフローチャートを参照して説明した、動きベクトル逆量子化部124による時間周辺動きベクトル逆量子化処理と同様であるので、その説明は省略する。
ステップS254において、予測動きベクトル再構築部241は、ステップS253の処理により得られた時間周辺動き情報を用いて予測動きベクトルを再構築し、処理をステップS256に進める。
また、ステップS252において、当該領域の動きベクトルの予測が、空間予測であると判定された場合、予測動きベクトル再構築部241は、処理をステップS255に進める。
ステップS255において、予測動きベクトル再構築部241は、保持している空間周辺動き情報を用いて予測動きベクトルを再構築し、処理をステップS256に進める。
ステップS256において、差分動き情報バッファ231は、可逆復号部202において得られた差分動き情報を取得する。ステップS257において、動き情報再構築部234は、ステップS254若しくはステップS255の処理により再構築された予測動きベクトル情報と、ステップS256の処理により取得された差分動き情報とを用いて、当該領域の動き情報を再構築する。
ステップS258において、動き補償部235は、フレームメモリ209から読み出した参照画像画素値を用いて、ステップS257の処理により再構築された動き情報の動き補償を行い、予測画像を生成する。
ステップS259において、動き補償部235は、ステップS258の処理により得られた予測画像画素値を、選択部213を介して演算部205に供給し、再構成画像を生成させる。
ステップS260において、動きベクトル量子化部222は、ステップS257の処理により再構築された当該領域の動き情報の動きベクトルを量子化する。この量子化は、図14のフローチャートを参照して説明した、動きベクトル量子化部122による動きベクトル量子化処理と同様であるので、その説明は省略する。
ステップS261において、動きベクトルバッファ223は、ステップS260の処理により量子化された動き情報を記憶する。
ステップS261の処理が終了すると、動きベクトルバッファ223は、インター動き予測処理を終了し、処理を図19に戻す。
以上のように、各処理を行うことにより、画像復号装置200は、動きベクトルの記憶に必要な記憶容量を低減させることができる。特に、画像復号装置200は、時間周辺動き情報として利用される動きベクトルの記憶に必要な記憶容量を低減させることができる。また、上述したように、より大きな動きベクトルの情報量をより大きく低減させるので、画像復号装置200は、符号化効率の低減を抑制しながら、時間周辺動き情報の記憶に必要な記憶容量を低減させることができる。
以上においては、量子化により、動きベクトルバッファ123および動きベクトルバッファ223に記憶する動き情報の情報量を低減させるように説明したが、これに限らず、動き情報の情報量を低減させる処理であればどのような処理を施すようにしてもよい。例えば、動きベクトルの上限値を設定し、その上限値以上の値は、全てその上限値に変更するクリップ処理(つまり、動きベクトルの長さを上限値以下に低減させる処理)が行われるようにしてもよい。
また、以上においては、閾値を用いた非線形量子化によって、より大きな動きベクトルの情報量をより大きく低減させるように説明したが、動きベクトルの大きさに応じて量子化ステップサイズを変化させるようにすればどのような方法であってもよい。例えば、動きベクトルの大きさと量子化ステップサイズを対応させるテーブル情報や関数等を予め用意し、その情報に従って、量子化ステップサイズが、動きベクトルのサイズに応じて決定されるようにしてもよい。
また、以上においては、閾値θの数を2つとして説明したが、閾値の数は任意である。例えば、1つであってもよいし、3つ以上であってもよい。また、閾値の値は任意である。さらに、閾値の値の決定方法も任意である。例えば、処理対象の画像データの動きベクトルの全て若しくは一部の標準偏差等を用いて閾値の値が決定されるようにしてもよい。
さらに、閾値の設定頻度は、任意である。例えば、シーケンス、ピクチャ、スライス、LCU、CU、またはPU等、任意のデータ単位毎に閾値が設定されるようにしてもよい。また、例えばユーザ指示等、所定のイベント発生時に閾値が設定されるようにしてもよい。さらに、閾値は、予め定められた固定値であってもよい。
以上においては、閾値が画像符号化装置100から画像復号装置200に伝送されるように説明したが、これに限らず、例えば、画像(画枠)サイズや動きベクトルの精度等のプロファイル・レベルのパラメータに応じて、画像符号化装置100と画像復号装置200のそれぞれにおいて閾値が設定されるようにしてもよい。
例えば、リアルタイム動作のための、メモリ容量の削減に対する要求は、より画枠、フレームレートの高い、つまり、単位時間時間当たりに処理すべき画素の量が多いほど、高い。また、単位画素当たりの持つ周波数情報は、画枠が小さいほど高く、動きベクトル情報の解像度を落とすことによる符号化効率の劣化は、より画枠の小さい時の方が大きい。そこで、例えば、画枠が小さい時ほど、相対的に、より大きなθの値を設定するようにしてもよい。
なお、以上においては、バッファに記憶する動きベクトルの情報量の低減方法が、画像符号化装置100と画像復号装置200とで、互いに同一であるように説明したが、これに限らず、画像符号化装置100と画像復号装置200とが互いに異なる方法で、それぞれのバッファに記憶する動きベクトルの情報量を低減させるようにしてもよい。例えば、一方がクリップ処理を行い、他方が量子化を行うようにしてもよい。また、例えば、一方が閾値を用いた非線形量子化を行い、他方が、テーブル情報や関数を用いて量子化ステップサイズを決定する量子化を行うようにしてもよい。さらに、例えば、閾値の数、値、設定方法、および設定頻度等が、互いに異なるようにしてもよい。
また、動きベクトルバッファ123や動きベクトルバッファ223の情報管理は、可変長方式(Variable length)であってもよい。その場合も、それらのバッファに記憶される動き情報の情報量の総量を、量子化処理により低減させることは可能である。したがって画像符号化装置100および画像復号装置200は、上述した固定長の場合と同様の効果を得ることができる。また、画像符号化装置100と画像復号装置200とで、この情報管理方法が互いに異なるようにしてもよい。
また、以上においては、動きベクトルの精度を1/4画素精度としたが、動きベクトルの精度は任意である。
<3.第3の実施の形態>
[動きベクトル量子化処理の流れ]
なお、動きベクトルをその成分毎に量子化するようにしてもよい。つまり、例えば、動きベクトル量子化部122が、動きベクトルの水平成分と垂直成分をそれぞれ互いに独立して量子化するようにしてもよい。
図21のフローチャートを参照して、その場合の動きベクトル量子化処理の流れの例を説明する。
ステップS301において、動きベクトル量子化部122は、閾値(例えば、θ1/4やθ1/2)を設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS302において、動きベクトル量子化部122は、量子化する動きベクトルの水平成分の大きさをステップS301において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS303において、動きベクトル量子化部122は、ステップS302において決定された量子化ステップサイズで動きベクトルの水平成分を量子化する。
ステップS304において、動きベクトル量子化部122は、量子化する動きベクトルの垂直成分の大きさをステップS301において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS305において、動きベクトル量子化部122は、ステップS304において決定された量子化ステップサイズで動きベクトルの垂直成分を量子化する。
ステップS306において、動きベクトル量子化部122は、ステップS301において設定された閾値を可逆符号化部106に供給し、符号化させる。なお、ステップS301の処理を省略する場合、この処理も省略される。
ステップS306の処理が終了すると、動きベクトル量子化部122は、処理を図13に戻す。
[時間周辺動きベクトル逆量子化処理の流れ]
次に、図22のフローチャートを参照して、この場合の時間周辺動きベクトル逆量子化処理の流れの例を説明する。
ステップS321において、動きベクトル逆量子化部124は、図21のステップS301の処理により動きベクトル量子化部122において設定された量子化処理の閾値を取得し、逆量子化処理に用いる閾値として設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS322において、動きベクトル逆量子化部124は、逆量子化する時間周辺動きベクトルの水平成分の大きさをステップS321において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。なお、図11の例を用いて説明すると、この場合、閾値(θ1/4,θ1/2)は、図11の縦軸の値(θ1/4,((1/2)×θ1/4+(1/2)×θ1/2))に換算され、時間周辺動きベクトルの水平成分の大きさと比較される。
ステップS323において、動きベクトル逆量子化部124は、ステップS322の処理により決定された量子化ステップサイズで時間周辺動きベクトルの水平成分を逆量子化する。
ステップS324において、動きベクトル逆量子化部124は、逆量子化する時間周辺動きベクトルの垂直成分の大きさをステップS321において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS325において、動きベクトル逆量子化部124は、ステップS324の処理により決定された量子化ステップサイズで時間周辺動きベクトルの垂直成分を逆量子化する。
ステップS325の処理が終了すると、動きベクトル逆量子化部124は、処理を図13に戻す。
以上のように、動きベクトルの水平成分と垂直成分とを互いに独立に量子化・逆量子化することにより、画像符号化装置100は、より容易に量子化・逆量子化を行うことができる。
これに対して、第1の実施の形態や第2の実施の形態において説明したように量子化・逆量子化を行う場合、画像符号化装置100は、動きベクトルバッファ123に記憶する動きベクトルの長さを求める必要があり、その分、演算量が増大する恐れがある。ただし、第1の実施の形態や第2の実施の形態の場合の方が、第3の実施の形態のように成分毎に量子化・逆量子化を行う場合よりも、情報量を低減させることができる。
なお、以上においては、画像符号化装置100において行われる量子化・逆量子化について説明したが、画像復号装置200において行われる量子化・逆量子化も、上述したのと同様に成分毎に互いに独立して行うことができる。
また、水平成分用の閾値と垂直成分用の閾値を設け、それぞれの値を、互いに独立して設定するようにしてもよい。
<4.第4の実施の形態>
[動きベクトル量子化処理の流れ]
また、動きベクトルの各成分の内、大きい方の成分に従って、量子化ステップサイズが決定されるようにしてもよい。
図23のフローチャートを参照して、その場合の動きベクトル量子化処理の流れの例を説明する。
ステップS401において、動きベクトル量子化部122は、閾値(例えば、θ1/4やθ1/2)を設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS402において、動きベクトル量子化部122は、量子化する動きベクトルの各成分の内、大きい方の成分の大きさをステップS401において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS403において、動きベクトル量子化部122は、ステップS402において決定された量子化ステップサイズで動きベクトルを量子化する。
ステップS404において、動きベクトル量子化部122は、ステップS401において設定された閾値を可逆符号化部106に供給し、符号化させる。なお、ステップS401の処理を省略する場合、この処理も省略される。
ステップS404の処理が終了すると、動きベクトル量子化部122は、処理を図13に戻す。
[時間周辺動きベクトル逆量子化処理の流れ]
次に、図24のフローチャートを参照して、この場合の時間周辺動きベクトル逆量子化処理の流れの例を説明する。
ステップS421において、動きベクトル逆量子化部124は、図23のステップS401の処理により動きベクトル量子化部122において設定された量子化処理の閾値を取得し、逆量子化処理に用いる閾値として設定する。なお、この処理は、既に閾値が設定済みであり、かつ、更新の必要が無い場合、省略することもできる。
ステップS422において、動きベクトル逆量子化部124は、逆量子化する時間周辺動きベクトルの各成分の内、大きい方の成分の大きさをステップS421において設定した閾値を用いて判定し、その大きさに応じて量子化ステップサイズを決定する。
ステップS423において、動きベクトル逆量子化部124は、ステップS422の処理により決定された量子化ステップサイズで時間周辺動きベクトルを逆量子化する。
ステップS423の処理が終了すると、動きベクトル逆量子化部124は、処理を図13に戻す。
以上のように、動きベクトルの各成分の内、大きい方に合わせて量子化・逆量子化することにより、画像符号化装置100は、より確実に、動きベクトルバッファ123に格納する動きベクトルの情報量を低減させることができる。
なお、以上においては、画像符号化装置100において行われる量子化・逆量子化について説明したが、画像復号装置200において行われる量子化・逆量子化も、上述したのと同様に成分毎に互いに独立して行うことができる。
また、以上においては、時間周辺動き情報として使用される動き情報の情報量を低減するように説明したが、これに限らず、空間周辺動き情報として使用される動き情報の情報量を低減させるようにしてもよい。
なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
<5.第5の実施の形態>
[コンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図25において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図25に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<6.第6の実施の形態>
[第1の応用例:テレビジョン受像機]
図26は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができる。
<7.第7の実施の形態>
[第2の応用例:携帯電話機]
図27は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができる。
<8.第8の実施の形態>
[第3の応用例:記録再生装置]
図28は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができる。
<9.第9の実施の形態>
[第4の応用例:撮像装置]
図29は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、動きベクトルを格納するのに必要な記憶容量の増大を抑制することができる。
なお、本明細書では、閾値などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させる低減部と、
前記低減部により情報量が低減された前記動きベクトルを記憶する記憶部と
を備える画像処理装置。
(2) 前記低減部は、前記動きベクトルを量子化することにより、前記動きベクトルの情報量を低減させ、
前記記憶部は、量子化された前記動きベクトルを記憶する
前記(1)に記載の画像処理装置。
(3) 前記低減部は、前記動きベクトルの大きさに応じて、量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
前記(2)に記載の画像処理装置。
(4) 前記低減部は、前記動きベクトルがより大きいほど、前記量子化ステップサイズをより大きな値に決定する
前記(3)に記載の画像処理装置。
(5) 前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
前記(3)または(4)に記載の画像処理装置。
(6) 前記低減部は、プロファイル・レベルに応じて前記閾値を設定する
前記(5)に記載の画像処理装置。
(7) 前記プロファイル・レベルは、前記画像のサイズ、若しくは、前記動きベクトルの少数精度である
前記(6)に記載の画像処理装置。
(8) 前記低減部は、前記動きベクトルの各成分の大きさを前記閾値を用いて判定し、より大きな成分の判定結果に応じて前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
前記(5)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記閾値を符号化する符号化部をさらに備える
前記(5)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記低減部は、上限値以上の値を全て前記上限値に変更するクリップ処理により、前記動きベクトルの情報量を低減させる
前記(1)に記載の画像処理装置。
(11) 前記低減部は、前記動きベクトルの情報量を、前記動きベクトルの成分毎に低減させる
前記(1)乃至(10)のいずれかに記載の画像処理装置。
(12) 前記低減部は、前記動きベクトルの成分毎に閾値を設定し、前記動きベクトルの各成分の大きさを、その成分の閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを成分毎に決定し、決定した前記量子化ステップサイズで前記動きベクトルの各成分を量子化する
前記(11)に記載の画像処理装置。
(13) 前記記憶部に記憶されている、量子化された動きベクトルを読み出し、逆量子化する逆量子化部をさらに備える
前記(2)乃至(12)のいずれかに記載の画像処理装置。
(14) 前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて前記量子化ステップサイズを決定し、決定した量子化ステップサイズで前記動きベクトルを量子化し、
前記逆量子化部は、前記閾値を用いて、前記記憶部から読み出した、量子化された動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化する
前記(13)に記載の画像処理装置。
(15) 前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを生成する予測動きベクトル生成部をさらに備える
前記(13)または(14)に記載の画像処理装置。
(16) 前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部をさらに備える
前記(13)または(14)に記載の画像処理装置。
(17) 閾値を取得する閾値取得部をさらに備え、
前記低減部は、前記動きベクトルの大きさを、前記閾値取得部により取得された前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
前記(3)乃至(16)のいずれかに記載の画像処理装置。
(18) 前記閾値取得部により取得された前記閾値を用いて、前記記憶部から読み出した、量子化された前記動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化する逆量子化部と、
前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部と
をさらに備える
前記(17)に記載の画像処理装置。
(19) 符号化データを復号する復号部をさらに備え、
前記閾値取得部は、前記復号部により復号された前記符号化データから抽出された前記閾値を取得する
前記(17)または(18)に記載の画像処理装置。
(20) 前記閾値取得部は、シーケンスパラメータセットに格納されている前記閾値を取得する
前記(17)乃至(19)に記載の画像処理装置。
(21) 画像処理装置の画像処理方法であって、
低減部が、画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させ、
記憶部が、情報量が低減された前記動きベクトルを記憶する
画像処理方法。
100 画像符号化装置, 115 動き予測・補償部, 121 動きベクトル符号化部, 122 動きベクトル量子化部, 123 動きベクトルバッファ, 124 動きベクトル逆量子化部, 141 予測動きベクトル生成部, 200 画像復号装置, 212 動き予測・補償部, 221 動きベクトル復号部, 222 動きベクトル量子化部, 223 動きベクトルバッファ, 224 動きベクトル逆量子化部, 231 差分動き情報バッファ, 232 予測動き情報バッファ, 233 閾値バッファ, 234 動き情報再構築部, 235 動き補償部, 241 予測動きベクトル再構築部

Claims (21)

  1. 画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させる低減部と、
    前記低減部により情報量が低減された前記動きベクトルを記憶する記憶部と
    を備える画像処理装置。
  2. 前記低減部は、前記動きベクトルを量子化することにより、前記動きベクトルの情報量を低減させ、
    前記記憶部は、量子化された前記動きベクトルを記憶する
    請求項1に記載の画像処理装置。
  3. 前記低減部は、前記動きベクトルの大きさに応じて、量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
    請求項2に記載の画像処理装置。
  4. 前記低減部は、前記動きベクトルがより大きいほど、前記量子化ステップサイズをより大きな値に決定する
    請求項3に記載の画像処理装置。
  5. 前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
    請求項3に記載の画像処理装置。
  6. 前記低減部は、プロファイル・レベルに応じて前記閾値を設定する
    請求項5に記載の画像処理装置。
  7. 前記プロファイル・レベルは、前記画像のサイズ、若しくは、前記動きベクトルの少数精度である
    請求項6に記載の画像処理装置。
  8. 前記低減部は、前記動きベクトルの各成分の大きさを前記閾値を用いて判定し、より大きな成分の判定結果に応じて前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
    請求項5に記載の画像処理装置。
  9. 前記閾値を符号化する符号化部をさらに備える
    請求項5に記載の画像処理装置。
  10. 前記低減部は、上限値以上の値を全て前記上限値に変更するクリップ処理により、前記動きベクトルの情報量を低減させる
    請求項1に記載の画像処理装置。
  11. 前記低減部は、前記動きベクトルの情報量を、前記動きベクトルの成分毎に低減させる
    請求項1に記載の画像処理装置。
  12. 前記低減部は、前記動きベクトルの成分毎に閾値を設定し、前記動きベクトルの各成分の大きさを、その成分の閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを成分毎に決定し、決定した前記量子化ステップサイズで前記動きベクトルの各成分を量子化する
    請求項11に記載の画像処理装置。
  13. 前記記憶部に記憶されている、量子化された動きベクトルを読み出し、逆量子化する逆量子化部をさらに備える
    請求項2に記載の画像処理装置。
  14. 前記低減部は、閾値を設定し、前記動きベクトルの大きさを前記閾値を用いて判定し、その判定結果に応じて前記量子化ステップサイズを決定し、決定した量子化ステップサイズで前記動きベクトルを量子化し、
    前記逆量子化部は、前記閾値を用いて、前記記憶部から読み出した、量子化された動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化する
    請求項13に記載の画像処理装置。
  15. 前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを生成する予測動きベクトル生成部をさらに備える
    請求項13に記載の画像処理装置。
  16. 前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部をさらに備える
    請求項13に記載の画像処理装置。
  17. 閾値を取得する閾値取得部をさらに備え、
    前記低減部は、前記動きベクトルの大きさを、前記閾値取得部により取得された前記閾値を用いて判定し、その判定結果に応じて、前記量子化ステップサイズを決定し、決定した前記量子化ステップサイズで前記動きベクトルを量子化する
    請求項3に記載の画像処理装置。
  18. 前記閾値取得部により取得された前記閾値を用いて、前記記憶部から読み出した、量子化された前記動きベクトルの大きさを判定し、その判定結果に応じて量子化ステップサイズを決定し、決定した量子化ステップサイズで、量子化された前記動きベクトルを逆量子化する逆量子化部と、
    前記逆量子化部により逆量子化された前記動きベクトルを時間周辺動きベクトルとして利用し、当該領域の予測動きベクトルを再構築する予測動きベクトル再構築部と
    をさらに備える
    請求項17に記載の画像処理装置。
  19. 符号化データを復号する復号部をさらに備え、
    前記閾値取得部は、前記復号部により復号された前記符号化データから抽出された前記閾値を取得する
    請求項17に記載の画像処理装置。
  20. 前記閾値取得部は、シーケンスパラメータセットに格納されている前記閾値を取得する
    請求項17に記載の画像処理装置。
  21. 画像処理装置の画像処理方法であって、
    低減部が、画像の動き予測において、処理対象である前記画像の当該領域の動きベクトルの予測の際に参照される、当該領域の周辺領域の動きベクトルの情報量を低減させ、
    記憶部が、情報量が低減された前記動きベクトルを記憶する
    画像処理方法。
JP2011143574A 2011-06-28 2011-06-28 画像処理装置および方法 Withdrawn JP2013012860A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011143574A JP2013012860A (ja) 2011-06-28 2011-06-28 画像処理装置および方法
PCT/JP2012/065814 WO2013002105A1 (ja) 2011-06-28 2012-06-21 画像処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011143574A JP2013012860A (ja) 2011-06-28 2011-06-28 画像処理装置および方法

Publications (1)

Publication Number Publication Date
JP2013012860A true JP2013012860A (ja) 2013-01-17

Family

ID=47424002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011143574A Withdrawn JP2013012860A (ja) 2011-06-28 2011-06-28 画像処理装置および方法

Country Status (2)

Country Link
JP (1) JP2013012860A (ja)
WO (1) WO2013002105A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113498609B (zh) * 2018-12-31 2023-06-20 北京达佳互联信息技术有限公司 用于视频编解码的依赖图片分辨率的配置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04189093A (ja) * 1990-11-22 1992-07-07 Victor Co Of Japan Ltd 動き補償装置
JP4809296B2 (ja) * 2007-06-15 2011-11-09 シャープ株式会社 動画像符号化装置及び動画像復号装置

Also Published As

Publication number Publication date
WO2013002105A1 (ja) 2013-01-03

Similar Documents

Publication Publication Date Title
JP5979405B2 (ja) 画像処理装置および方法
JP6033081B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP6274103B2 (ja) 画像処理装置および方法
US10110920B2 (en) Image processing apparatus and method
JP5936081B2 (ja) 画像処理装置および方法
US20140161192A1 (en) Image processing device and method
JP2012244353A (ja) 画像処理装置および方法
WO2013002109A1 (ja) 画像処理装置および方法
US20140072055A1 (en) Image processing apparatus and image processing method
WO2013002108A1 (ja) 画像処理装置および方法
WO2013065568A1 (ja) 画像処理装置および方法
JP2012019447A (ja) 画像処理装置および方法
WO2013084775A1 (ja) 画像処理装置および方法
JPWO2013054751A1 (ja) 画像処理装置および方法
JP2013012860A (ja) 画像処理装置および方法
JP2016201831A (ja) 画像処理装置および方法
JP2012147331A (ja) 画像処理装置および方法
JP2016197907A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140902