JP5656575B2 - 画像符号化装置 - Google Patents

画像符号化装置 Download PDF

Info

Publication number
JP5656575B2
JP5656575B2 JP2010252718A JP2010252718A JP5656575B2 JP 5656575 B2 JP5656575 B2 JP 5656575B2 JP 2010252718 A JP2010252718 A JP 2010252718A JP 2010252718 A JP2010252718 A JP 2010252718A JP 5656575 B2 JP5656575 B2 JP 5656575B2
Authority
JP
Japan
Prior art keywords
motion vector
image
unit
distribution
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010252718A
Other languages
English (en)
Other versions
JP2012105128A (ja
Inventor
坂手 寛治
寛治 坂手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010252718A priority Critical patent/JP5656575B2/ja
Publication of JP2012105128A publication Critical patent/JP2012105128A/ja
Application granted granted Critical
Publication of JP5656575B2 publication Critical patent/JP5656575B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は、例えば、監視カメラやビデオカメラ等により撮像された動画像を、インターネット、電話回線や衛星回線などの通信路で効率良く伝送したり、光ディスクや半導体メモリなどの記録媒体に効率良く記録したりするために、動画像のデータサイズを圧縮する画像符号化装置に関するものである。
動画像の圧縮符号化方式として、H.264やMPEG−2などの国際標準方式が存在する。
これらの圧縮符号化方式では、動画像に含まれる画素データのピクチャ内での空間的な相関やピクチャ間での時間的な相関を利用してデータサイズを圧縮する手法が用いられている。
また、動画像の画像信号を複数の周波数成分に区分して、各周波数成分に重み付けを行い、歪みが発生しても人が感知し難い高周波数成分を優先的に削減し、低周波数成分を極力劣化させないようにすることで、動画像を低ビットレートに圧縮した場合でも高画質を維持できるような工夫がなされている。
一方、動画像をインターネット、電話回線や衛星回線などの通信路で伝送する場合や、記録媒体に保存する場合には、動画像の伝送ビットレートを通信帯域、記録媒体及びその周辺デバイスのスループット以下に低下させる必要がある。
そのため、伝送ビットレートに合わせて動画像を圧縮した結果、圧縮による画質劣化が人の感知できるレベルに達するケースも多い。一般に、圧縮による画質劣化は伝送ビットレートを下げるほど顕著になる。
ただし、動画像の圧縮に伴う画質劣化の大きさは動画像のコンテンツによって異なるものであり、圧縮の条件によっても変化する。
例えば、フレームレート(単位時間当りの動画像のコマ数)を維持して、量子化の精度が粗い符号化を行う場合、滑らかな動きを維持することができるが、画像のボケやブロックノイズが発生するなどコンテンツの精細感が失われる。
一方、量子化の精度を維持して、フレームレートを落とすことでも伝送ビットレートを低減することができるが、この場合、コンテンツの精細感は維持することができるが、動きの滑らかさが損なわれ、符号化画像の再生時に動きがギクシャクしている違和感のある見え方となる。
精細感を維持する方が画質として有利であるのか、動きの滑らかさを維持する方が有利であるのかはコンテンツによって異なる。
例えば、動きの少ないコンテンツでは、精細感を維持する方が画像の見栄えが良いケースが多く、動きの多いコンテンツでは、精細感よりも動きの滑らかさが画質に影響することが多い。
以上のように、動画像を低ビットレートに圧縮する際には、精細感と動きの滑らかさの間でトレードオフの関係が生じるケースがあるが、そのどちらを優先するかをコンテンツの動き量に応じて切り替えることで、主観画質を高く保ったまま動画像を圧縮することが可能である。
以下の特許文献1には、動きベクトルや輝度値などの統計的特徴量に基づいてフレームレート及び量子化幅を決定しながら、動画像を符号化する画像符号化装置が開示されている。
ただし、この画像符号化装置では、動きベクトル等の画像特徴量を算出する目的で1回目の符号化を実施してから、その画像特徴量を用いて2回目の符号化を実施する2パスの処理構成となっている。
この2パスの処理構成を実現するには、2つの符号化器を搭載するか、あるいは、1つの符号化器で同じ画像を複数回符号化する仕組みが必要になる。
特開2001−245303号公報(段落番号[0010]から[0013]、図1)
従来の画像符号化装置は以上のように構成されているので、2つの符号化器を搭載する場合、装置規模が増大して部品コストが嵩み、1つの符号化器で同じ画像を複数回符号化する場合、符号化に要する処理時間が2倍になり、処理のリアルタイム性が損なわれるなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、2つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる画像符号化装置を得ることを目的とする。
この発明に係る画像符号化装置は、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段と、動きベクトル探索手段による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より1つ前の時点の原画像がコマ落とし対象のピクチャである場合、動きベクトル探索手段により探索された1つ前の時点の動きベクトルを用いて、動きベクトル探索手段により探索された現時点の動きベクトルを補正する動きベクトル補正手段とを設け、予測画像生成手段が動き補償予測処理を実施して予測画像を生成する場合、動きベクトル補正手段により補正された動きベクトルを用いて、予測画像を生成するようにしたものである。
この発明によれば、上記のように構成したので、2つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる効果がある。
この発明の実施の形態1による画像符号化装置を示す構成図である。 この発明の実施の形態1による画像符号化装置の動きベクトル補正部5を示す構成図である。 動きベクトルの探索処理を示す説明図である。 フレームレートの制御例を示す説明図である。 動きベクトルの分布とフレームレートの関係が連続的である例を示す説明図である。 動きベクトル補正部5による動きベクトルの補正例を示す説明図である。 バッファ残量とフレームレート補正の関係を示す説明図である。 可変長符号化部19により生成されたビットストリームの復号処理と符号化処理での参照ピクチャの相違を示す説明図である。 この発明の実施の形態2による画像符号化装置の原画ピクチャ間動きベクトル算出部2を示す構成図である。 1次動きベクトル算出部41及び2次動きベクトル算出部43の処理内容を示す説明図である。 この発明の実施の形態3による画像符号化装置を示す構成図である。 この発明の実施の形態3による画像符号化装置の原画ピクチャ間動きベクトル算出部50を示す構成図である。
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、フレームメモリ1は符号化対象の動画像(原画像)をピクチャ単位で格納し、所定の符号化条件に応じてピクチャの並べ替え処理を実施して、マクロブロック単位(例えば、16×16画素単位)の画像データを出力する。
ただし、この実施の形態1では、説明の簡単化のため、ピクチャの並べ替え処理を実施しない符号化条件で符号化する例を説明する。
原画ピクチャ間動きベクトル算出部2はフレームメモリ1から符号化対象のマクロブロック単位の画像データ(現時点の原画像を示す画像データ)と、参照ピクチャに相当するマクロブロック単位の画像データ(現時点以前の原画像を示す画像データ)とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。
なお、原画ピクチャ間動きベクトル算出部2は動きベクトル探索手段を構成している。
ベクトル分布算出部3は原画ピクチャ間動きベクトル算出部2により探索された動きベクトルの分布を算出する処理を実施する。
即ち、ベクトル分布算出部3は原画ピクチャ間動きベクトル算出部2により探索された動きベクトルをピクチャやGOPの単位、あるいはピクチャを複数の小画面に細分化した単位で集計することで、動きベクトル値の区分に基づく度数分布(ヒストグラム)を算出する処理を実施する。
ただし、度数分布は、例えば、動きベクトルの値を一定範囲毎に区切り、各範囲に含まれる動きベクトルがピクチャ内又はGOP内で、何本生成されたかをカウントしたものである。度数分布は、動きベクトルの水平成分と垂直成分毎に算出することが望ましい。
なお、ベクトル分布算出部3はベクトル分布算出手段を構成している。
フレームレート制御部4はベクトル分布算出部3により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を0ベクトル予測強制部9、0係数置換部13及び符号化データ消去部20に出力して、可変長符号化のフレームレートを下げる処理を実施する。
また、フレームレート制御部4は利用可能な1以上の符号化モード(1以上のイントラ符号化モード、1以上のインター符号化モード)の中から、符号化対象のマクロブロックに適する符号化モードを選択する処理を実施する。
また、フレームレート制御部4は後述する差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロックサイズを決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを決定し、その量子化パラメータを量子化部12及び逆量子化部14に出力し、その変換ブロックサイズを直交変換部11及び逆直交変換部15に出力し、そのイントラ予測パラメータをイントラ予測部7及び可変長符号化部19に出力し、そのインター予測パラメータをインター予測部6及び可変長符号化部19に出力する処理を実施する(これらの出力については、図面上では省略している)。
なお、フレームレート制御部4はフレームレート制御手段を構成している。
動きベクトル補正部5は原画ピクチャ間動きベクトル算出部2により探索された動きベクトルを補正する処理を実施する。
即ち、動きベクトル補正部5は、原画ピクチャ間動きベクトル算出部2による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より1つ前の時点の原画像がコマ落とし対象のピクチャである場合、原画ピクチャ間動きベクトル算出部2により探索された1つ前の時点の動きベクトルを用いて、原画ピクチャ間動きベクトル算出部2により探索された現時点の動きベクトルを補正する処理を実施する。
ただし、現時点より1つ前の時点の原画像がコマ落とし対象のピクチャでない場合、原画ピクチャ間動きベクトル算出部2により探索された現時点の動きベクトルを補正せずに、その動きベクトルをインター予測部6に出力する。
なお、動きベクトル補正部5は動きベクトル補正手段を構成している。
インター予測部6はフレームメモリ18により格納されている1フレーム以上の参照画像と動きベクトル補正部5から出力された動きベクトルを用いて、フレームレート制御部4から出力されたインター予測パラメータに基づいて、符号化対象のマクロブロックに対する動き補償予測処理を実施することで予測画像を生成する処理を実施する。
イントラ予測部7はフレーム内の符号化済みの画像信号を参照しながら、フレームレート制御部4から出力されたイントラ予測パラメータにしたがって、フレームメモリ1から出力されたマクロブロックに対するフレーム内予測処理を実施することで予測画像を生成する処理を実施する。
切替スイッチ8はフレームレート制御部4により選択された符号化モードがイントラ符号化モードであれば、イントラ予測部7により生成された予測画像を0ベクトル予測強制部9に出力し、フレームレート制御部4により選択された符号化モードがインター符号化モードであれば、インター予測部6により生成された予測画像を0ベクトル予測強制部9に出力する処理を実施する。
なお、インター予測部6、イントラ予測部7及び切替スイッチ8から予測画像生成手段が構成されている。
0ベクトル予測強制部9はフレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、切替スイッチ8から出力された予測画像をそのまま減算部10及び加算部16に出力するが、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックの符号化モードをインター符号化モードとして、当該ピクチャ内の全てのマクロブロックの動き補償予測処理に用いる動きベクトルを0ベクトルに置換し、その0ベクトルを用いて、当該マクロブロックに対する動き補償予測処理を実施することで予測画像を生成し、その予測画像を減算部10及び加算部16に出力する処理を実施する。
減算部10はフレームメモリ1から出力されたマクロブロックと0ベクトル予測強制部9から出力された予測画像の差分を求めることで、差分画像(=マクロブロック−予測画像)を生成する処理を実施する。
直交変換部11は減算部10により生成された差分画像をフレームレート制御部4により決定された変換ブロックサイズのブロック(例えば、4×4画素または8×8画素単位のブロック)に細分化し、各ブロックに対してDCT(離散コサイン変換)などの直交変換処理を実施して、その変換結果である直交変換係数を出力する処理を実施する。
量子化部12はフレームレート制御部4から出力された量子化パラメータを用いて、直交変換部11から出力された直交変換係数を量子化し、量子化後の直交変換係数を差分画像の圧縮データとして出力する処理を実施する。
0係数置換部13はフレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、量子化部12から出力された量子化後の直交変換係数をそのまま可変長符号化部19及び逆量子化部14に出力するが、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る直交変換係数を0に置換し、0の直交変換係数を可変長符号化部19及び逆量子化部14に出力する処理を実施する。
逆量子化部14はフレームレート制御部4から出力された量子化パラメータを用いて、0係数置換部13から出力された直交変換係数を逆量子化して、その直交変換係数を逆直交変換部15に出力する処理を実施する。
逆直交変換部15はフレームレート制御部4により決定された変換ブロックサイズ単位で、逆量子化部14から出力された直交変換係数の逆DCT(逆離散コサイン変換)を実施することで、減算部10により生成された差分画像に相当するマクロブロック単位の画像(局部復号差分画像)を出力する処理を実施する。
加算部16は逆直交変換部15から出力された局部復号差分画像と0ベクトル予測強制部9から出力された予測画像を加算することで、フレームメモリ1から出力されたマクロブロックに相当する局部復号画像を生成する処理を実施する。
ループ内フィルタ部17は加算部16により生成された局部復号画像に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像を参照画像としてフレームメモリ18に出力する処理を実施する。
フレームメモリ18はインター予測部6により次回の動き補償予測処理で用いられる参照画像として、ループ内フィルタ部17によるフィルタリング処理後の局部復号画像を格納するRAMなどの記録媒体である。
可変長符号化部19は0係数置換部13から出力された圧縮データ(量子化後の直交変換係数、または、0の直交変換係数)と、各種の情報(例えば、フレームレート制御部4により決定された量子化パラメータ、変換ブロックサイズ、符号化モード、イントラ予測パラメータ及びインター予測パラメータ、動きベクトル補正部5から出力された動きベクトルなど)とを可変長符号化して、その圧縮データや各種の情報が多重化されているビットストリーム(符号化データ)を生成する処理を実施する。
符号化データ消去部20はフレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、可変長符号化部19により生成されたビットストリームをそのまま送信バッファ21に格納するが、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る符号化データを消去して、その符号化データを送信バッファ21に格納しないようにする。
なお、減算部10、直交変換部11、量子化部12、0係数置換部13、可変長符号化部19及び符号化データ消去部20から可変長符号化手段が構成されている。
送信バッファ21は可変長符号化部19により生成されたビットストリームが出力される前に、そのビットストリームを一時的に蓄積するメモリである。
図1の例では、画像符号化装置の構成要素である原画ピクチャ間動きベクトル算出部2、ベクトル分布算出部3、フレームレート制御部4、動きベクトル補正部5、インター予測部6、イントラ予測部7、切替スイッチ8、0ベクトル予測強制部9、減算部10、直交変換部11、量子化部12、0係数置換部13、逆量子化部14、逆直交変換部15、加算部16、ループ内フィルタ部17、可変長符号化部19及び符号化データ消去部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、ワンチップマイコン、あるいは、エンコーダなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、原画ピクチャ間動きベクトル算出部2、ベクトル分布算出部3、フレームレート制御部4、動きベクトル補正部5、インター予測部6、イントラ予測部7、切替スイッチ8、0ベクトル予測強制部9、減算部10、直交変換部11、量子化部12、0係数置換部13、逆量子化部14、逆直交変換部15、加算部16、ループ内フィルタ部17、可変長符号化部19及び符号化データ消去部20の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1による画像符号化装置の動きベクトル補正部5を示す構成図である。
図2において、マクロブロックアドレス管理部31は原画ピクチャ間動きベクトル算出部2により探索された動きベクトルの画面ポジション(m,n)を把握し、その画面ポジション(m,n)に対応する補正ベクトルが格納されている補正ベクトル格納部32上のメモリアドレスを指定する処理を実施する。
補正ベクトル格納部32は動きベクトルの画面ポジション(m,n)毎に、補正ベクトルを格納しているメモリである。
ベクトル加算部33は原画ピクチャ間動きベクトル算出部2により探索された画面ポジション(m,n)の動きベクトルに対して、補正ベクトル格納部32により格納されている画面ポジション(m,n)の補正ベクトルを加算することで、その動きベクトルを補正する処理を実施する。
セレクタ34はフレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、画面ポジション(m,n)の新たな補正ベクトルとして、0ベクトルを補正ベクトル格納部32に格納し、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、画面ポジション(m,n)の新たな補正ベクトルとして、ベクトル加算部33により補正された動きベクトルを補正ベクトル格納部32に格納する処理を実施する。
次に動作について説明する。
ただし、画像符号化装置の構成要素であるフレームメモリ1、インター予測部6、イントラ予測部7、切替スイッチ8、減算部10、直交変換部11、量子化部12、逆量子化部14、逆直交変換部15、加算部16、ループ内フィルタ部17、可変長符号化部19及び送信バッファ21は、例えば、H.264に規定されている処理内容を行うものであるため、詳細な処理内容は省略する。
フレームメモリ1は、符号化対象の動画像(原画像)をピクチャ単位で格納し、所定の符号化条件に応じてピクチャの並べ替え処理を実施して、マクロブロックと呼ばれる16×16画素単位の画像データを出力する。
ただし、この実施の形態1では、説明の簡単化のため、ピクチャの並べ替え処理を実施しない符号化条件で符号化する例を説明する。
原画ピクチャ間動きベクトル算出部2は、後述するフレームレートの制御や、動き補償予測処理に用いる動きベクトルを探索する。
即ち、原画ピクチャ間動きベクトル算出部2は、フレームメモリ1から符号化対象のマクロブロック単位の画像データ(現時点の原画像を示す画像データ)と、参照ピクチャに相当するマクロブロック単位の画像データ(現時点以前の原画像を示す画像データ)とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。
多くの一般的な画像符号化装置では、フレームメモリ18に格納されている局部復号画像を用いて、動きベクトルを探索するが、この実施の形態1では、その局部復号画像の代わりに、その局部復号画像と同一フレームに当る原画像を用いて、動きベクトルを探索することを特徴の1つとしている。
原画像を用いる理由は、後述するピクチャのコマ落とし処理の影響を受けず、常に固定の予測距離で動きベクトルを探索することができるようにするためである。
ここで、図3は動きベクトルの探索処理を示す説明図である。
局部復号画像を用いて、動きベクトルを探索する場合、コマ落としの対象となるピクチャは、参照ピクチャになり得ないため、図3(a)に示すように、コマ落とし対象のピクチャよりも過去に符号化されたコマ落とし対象でないピクチャを参照する必要がある。
このため、コマ落とし対象のピクチャが直前に何枚存在するかで参照ピクチャとの予測距離が広がり、その結果、探索される動きベクトルも変化する。
画像符号化装置において、通信路での効率的な伝送や、記録媒体に対する効率的な記録を実現する目的を達成する方法として、動きベクトルにしたがって、可変長符号化部19における可変長符号化のフレームレートを制御する方法が考えられるが、上記のように、参照ピクチャとの予測距離が不定で、探索される動きベクトルが変化すると、フレームレートの制御が不安定になる。
この実施の形態1では、参照ピクチャとの予測距離を固定にして、安定的なフレームレートの制御を行うことができるようにするため、図3(b)に示すように、原画像(原画像は、復号画像がピクチャのコマ落としの対象になっても、コマ落としが行われる訳ではないので、ピクチャのコマ落とし処理の影響を受けない)を用いて、動きベクトルを探索するようにしている。
なお、原画ピクチャ間動きベクトル算出部2で扱うマクロブロック当りの動きベクトルの本数は、画像符号化規格や画像符号化装置の運用目的に応じて決定するものとする。
例えば、H.264の場合、マクロブロックを最小で4×4画素の予測ブロックに細分化し、各予測ブロックにつき1本の動きベクトルを設定することが可能である。その場合、マクロブロック(16×16画素)につき最大16本の動きベクトルを生成する必要がある。
ただし、予測ブロックをどこまで細分化するかは、運用条件やエンコーダ開発者の裁量によって決めればよく、例えば、予測ブロックの最小単位を8×8画素、16×8画素、8×16画素、あるいは、16×16画素というように、4×4画素よりも大きなサイズに制限しても構わない。
ベクトル分布算出部3は、原画ピクチャ間動きベクトル算出部2が動きベクトルを探索すると、その動きベクトルの分布を算出する。
即ち、ベクトル分布算出部3は、原画ピクチャ間動きベクトル算出部2により探索された動きベクトルをピクチャやGOPの単位で集計することで、動きベクトル値の区分に基づく度数分布(ヒストグラム)を算出する。
ただし、度数分布は、例えば、動きベクトルの値を一定範囲毎に区切り、各範囲に含まれる動きベクトルがピクチャ内又はGOP内で、何本生成されたかをカウントしたものである。度数分布は、動きベクトルの水平成分と垂直成分毎に算出することが望ましい。
フレームレート制御部4は、ベクトル分布算出部3が度数分布を算出すると、その度数分布から動きベクトルの分布の偏り状況を認識し、その分布の偏り状況に基づいてピクチャのコマ落としを行うべきであるか否かを判定する。コマ落としの判定は、ピクチャ毎に行う。
フレームレート制御部4は、コマ落としを行うべきであると判定すると、ピクチャのコマ落とし指示を0ベクトル予測強制部9、0係数置換部13及び符号化データ消去部20に出力して、可変長符号化のフレームレートが下がるようにする。
例えば、フレームレートが30fps(Frame Per Second)の入力画像に対して、2ピクチャに1枚の頻度でコマ落としを行えば、フレームレートが15fpsになり、3ピクチャに2枚の頻度でコマ落としを行えば、フレームレートが10fpsになり、15ピクチャに1枚の頻度でコマ落としを行えば、フレームレートが2fpsになる。
なお、フレームレート制御部4は、符号化対象のマクロブロックに適する符号化モードの選択処理等を実施するが、これらの処理はH.264のリファレンスソフトウェアなどで開示されている処理内容であるため説明を省略する。
以下、フレームレートの制御例を具体的に説明する。
図4はフレームレートの制御例を示す説明図である。
ケース1:
図4(a)のように、ベクトル値がヒストグラムのある部分に偏っており、偏りの中心点がある指定範囲に含まれる場合は高いフレームレートを維持する。
このような分布は、例えば、カメラを一定速度で動かしながら撮像した場合に発生し、一定速度で滑らかに動作するような動画像に対してフレームレートを落とすと、動きがギクシャクして、再生画像に違和感が生じるので、高いフレームレートを維持する。
なお、ヒストグラムにベクトル値の偏りが存在するか否かは、ベクトル値の分散値や一次ノルム値を求め、その分散値や一次ノルム値の大きさを所定の閾値と比較することで判断することができる。分散値や一次ノルム値の大きさが所定の閾値より小さければ、ヒストグラムにベクトル値の偏りが存在すると判断される。
あるいは、ヒストグラムのY軸(動きベクトルの本数)の最大値を所定の閾値と比較することで判断することができる。ヒストグラムのY軸の最大値が所定の閾値より大きければ、ヒストグラムにベクトル値の偏りが存在すると判断される。
また、偏りの中心点については、ヒストグラムを構成するベクトル値の平均値や中央値(メディアン)によって求められる。
指定範囲については、フレームレートの低下と人間の視覚感度の関係を表す実験データ等から事前に決定した値を用いる。
例えば、動きベクトルの絶対値が32〜256の範囲は、フレームレートに対する視覚特性が高いという実験データに基づき、その範囲では高フレームレートが維持される指定範囲を設定する。
ケース2:
図4(b)のように、ベクトル値がヒストグラムのゼロ座標近くに偏っている場合は、フレームレートを低下させる。
このような分布は、例えば、静止画に近い画像が入力された場合に発生するが、動きが極端に少ない画像では、一般にフレームレートの低下に対する視覚感度が鈍く、積極的にフレームレートを落としても画質への影響が少ないので、フレームレートを低下させる。
ケース3:
図4(c)のように、ベクトル値がヒストグラムの非常に大きな値のエリアに偏っている場合は、ややフレームレートを低下させる。
このような分布は、カメラを非常に高速に動かした場合などに発生する。
人の目が追いつかないくらい高速な動きは着目点とならない場合が多く、そのような動画像に対して高いフレームレートを設定して画質を維持しても、画質に対する印象が向上する可能性が低い。
したがって、この場合、違和感のない程度にフレームレートを落とし、データサイズを抑えた方が有利と判断される。また、人の目が追いつかないような高速な動きに対してフレームレートを低下させることで、ピクチャの1枚1枚に対する見易さを向上させる効果も期待できる。
ケース4:
図4(d)のように、ヒストグラムに偏りがない場合にも、フレームレートを低下させる。
このような分布は、画像にランダムノイズなどが重畳している場合や、画面全体に様々な動きが入り乱れている場合に発生する。
このような画像は視聴者の着目点が定まり難いため、フレームレートに対する視覚感度が低下する傾向がある。
なお、ヒストグラムに偏りがあるか否かの判断は、ケース1と同様に、ベクトル値の分散値や一次ノルム値が所定の閾値以下であるか否か、あるいは、ヒストグラムのY軸の最大値が所定の閾値以上であるか否かによって判断することができる。
ケース1〜3を組み合わせると、分布の中心点が指定範囲内、指定範囲未満、指定範囲超の三択によってフレームレートを決定することになり、この場合、3種類のフレームレートを切り替えて符号化することになる。
しかし、実際には、必ずしも三択である必要はなく、指定範囲を複数の区分に細分化し、分布の中心点がどの区分に属するかでフレームレートを定義してもよい。
また、動きベクトルの水平成分と垂直成分に対して、それぞれ個別に指定範囲の区分を設け、水平成分と垂直成分のそれぞれで求めた分布の中心点が、各々どの区分に属するかの組合せでフレームレートを定義してもよい。
ここでは、動きベクトルの分布とフレームレートの関係が離散的である例を示したが、図5に示すように、動きベクトルの分布とフレームレートの関係が連続的であってもよい。
図5の例では、偏りの中心点とフレームレートの関係を二次元グラフの形式で表しているが、例えば、動きベクトルの水平成分と垂直成分のそれぞれの偏りの中心点の組合せに対して、最適なフレームレートを定義する三次元グラフの形式であってもよい。
ピクチャやGOPの単位で算出したヒストグラムを用いた結果、ケース4のように偏りが見られなかったとしても、ピクチャを複数の小画面に細分化し、そのいずれかの小画面でヒストグラムを算出しなおすことで偏りが見られるような場合には、その小画面で求めたヒストグラムを用いてフレームレートを定義しても良い。
動きベクトル補正部5は、原画ピクチャ間動きベクトル算出部2が動きベクトルを探索すると、その動きベクトルを補正する。
即ち、動きベクトル補正部5のマクロブロックアドレス管理部31は、原画ピクチャ間動きベクトル算出部2が動きベクトルを探索すると、その動きベクトルの画面ポジション(m,n)を把握し、その画面ポジション(m,n)に対応する補正ベクトルが格納されている補正ベクトル格納部32上のメモリアドレスを指定する。
補正ベクトル格納部32は、マクロブロックアドレス管理部31により指定されたアドレスに格納している画面ポジション(m,n)の補正ベクトルをベクトル加算部33に出力する。
ベクトル加算部33は、原画ピクチャ間動きベクトル算出部2により探索された画面ポジション(m,n)の動きベクトルに対して、補正ベクトル格納部32から出力された画面ポジション(m,n)の補正ベクトルを加算することで、その動きベクトルを補正し、補正後の動きベクトルをセレクタ34及びインター予測部6に出力する。
セレクタ34は、フレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、画面ポジション(m,n)の新たな補正ベクトルとして、0ベクトルを補正ベクトル格納部32に格納する。
一方、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、画面ポジション(m,n)の新たな補正ベクトルとして、ベクトル加算部33から出力された補正後の動きベクトルを補正ベクトル格納部32に格納する。
ここで、図6は動きベクトル補正部5による動きベクトルの補正例を示す説明図である。
図6では、コマ落とし対象のピクチャが2枚連続した後に、コマ落とし非対象のピクチャの動き補償予測処理に用いられる動きベクトルの補正例を示している。
コマ落とし非対象のピクチャ(n+2)の動き補償予測処理に用いられる動きベクトルは、ピクチャの入力順において、それよりも前方に位置する全てのコマ落とし対象のピクチャ(n)、(n+1)における同一画面ポジションの動きベクトルが加算されたものである。
図6の例では、コマ落とし対象のピクチャが2枚であるが、任意の枚数であっても同一の処理を行う。コマ落とし対象のピクチャが0枚や1枚の場合も、同様に扱うことができる。
動きベクトル補正部5による動きベクトルの補正は、コマ落とし非対象のピクチャにおいて、動きベクトルによる予測効果を高めることを目的としている。
この実施の形態1では、上述したとおり、原画ピクチャ間動きベクトル算出部2が、コマ落としの実施状況によらず固定の予測距離で動きベクトルを探索するが(図3(b)を参照)、実際の符号化においては、コマ落とし非対象のピクチャは、それよりも前方のコマ落とし非対象のピクチャとの間(図3(a)の例では、ピクチャ1とピクチャ3との間)で動き補償予測処理が実施されて予測画像が生成され、その予測画像と原画像の差分画像が符号化される。
一方、この実施の形態1では、コマ落とし対象のピクチャも含む固定の予測距離のピクチャ間で動きベクトルが生成されるため、図3のピクチャ1とピクチャ3の間では、動きベクトルが直接探索されない。
そこで、ピクチャ1とピクチャ2の間で探索された動きベクトルと、ピクチャ2とピクチャ3の間で探索された動きベクトルを加算することで、ピクチャ1とピクチャ3の間の動きベクトルを生成するようにしている。
インター予測部6は、フレームレート制御部4から出力された符号化モードがインター符号化モードである場合、フレームメモリ18により格納されている1フレーム以上の参照画像と動きベクトル補正部5のベクトル加算部33から出力された動きベクトルを用いて、フレームレート制御部4から出力されたインター予測パラメータに基づいて、符号化対象のマクロブロックに対する動き補償予測処理を実施することで予測画像を生成する。
イントラ予測部7は、フレームレート制御部4から出力された符号化モードがイントラ符号化モードである場合、フレーム内の符号化済みの画像信号を参照しながら、フレームレート制御部4から出力されたイントラ予測パラメータにしたがって、フレームメモリ1から出力されたマクロブロックに対するフレーム内予測処理を実施することで予測画像を生成する。
切替スイッチ8は、フレームレート制御部4により選択された符号化モードがイントラ符号化モードであれば、イントラ予測部7により生成された予測画像を0ベクトル予測強制部9に出力し、フレームレート制御部4により選択された符号化モードがインター符号化モードであれば、インター予測部6により生成された予測画像を0ベクトル予測強制部9に出力する。
0ベクトル予測強制部9は、フレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、切替スイッチ8から出力された予測画像をそのまま減算部10及び加算部16に出力する。
一方、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックの符号化モードをインター符号化モードとして、当該ピクチャ内の全てのマクロブロックの動き補償予測処理に用いる動きベクトルを0ベクトルに置換し、その0ベクトルを用いて、当該マクロブロックに対する動き補償予測処理を実施することで予測画像を生成する。
そして、その予測画像を減算部10及び加算部16に出力する。
減算部10は、フレームメモリ1から出力されたマクロブロックと0ベクトル予測強制部9から出力された予測画像の差分を求めることで、差分画像(=マクロブロック−予測画像)を生成する。
直交変換部11は、減算部10が差分画像を生成すると、その差分画像をフレームレート制御部4により決定された変換ブロックサイズのブロック(例えば、4×4画素または8×8画素単位のブロック)に細分化し、各ブロックに対してDCTなどの直交変換処理を実施して、その変換結果である直交変換係数を量子化部12に出力する。
量子化部12は、直交変換部11から直交変換係数を受けると、フレームレート制御部4から出力された量子化パラメータを用いて、その直交変換係数を量子化し、量子化後の直交変換係数を差分画像の圧縮データとして0係数置換部13に出力する。
0係数置換部13は、フレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、量子化部12から出力された量子化後の直交変換係数をそのまま可変長符号化部19及び逆量子化部14に出力する。
一方、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る直交変換係数を0に置換し、0の直交変換係数を可変長符号化部19及び逆量子化部14に出力する。
逆量子化部14は、0係数置換部13から直交変換係数を受けると、フレームレート制御部4から出力された量子化パラメータを用いて、その直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換部15に出力する。
逆直交変換部15は、逆量子化部14から逆量子化後の直交変換係数を受けると、フレームレート制御部4により決定された変換ブロックサイズ単位で、逆量子化後の直交変換係数の逆DCTを実施することで、減算部10により生成された差分画像に相当するマクロブロック単位の画像(局部復号差分画像)を加算部16に出力する。
加算部16は、逆直交変換部15から出力された局部復号差分画像と0ベクトル予測強制部9から出力された予測画像を加算することで、フレームメモリ1から出力されたマクロブロックに相当する局部復号画像を生成する。
ループ内フィルタ部17は、加算部16が局部復号画像を生成すると、その局部復号画像に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像を参照画像としてフレームメモリ18に格納する。
可変長符号化部19は、0係数置換部13から圧縮データ(量子化後の直交変換係数、または、0の直交変換係数)を受けると、その圧縮データと、各種の情報(例えば、フレームレート制御部4により決定された量子化パラメータ、変換ブロックサイズ、符号化モード、イントラ予測パラメータ及びインター予測パラメータ、動きベクトル補正部5から出力された動きベクトルなど)とを可変長符号化して、その圧縮データや各種の情報が多重化されているビットストリーム(符号化データ)を生成する。
符号化データ消去部20は、フレームレート制御部4からピクチャのコマ落とし指示が出力されていなければ、可変長符号化部19により生成されたビットストリームをそのまま送信バッファ21に格納する。
一方、フレームレート制御部4からピクチャのコマ落とし指示が出力されると、コマ落とし対象ピクチャ内の全てのマクロブロックに係る符号化データを消去して、その符号化データを送信バッファ21に格納しないようにする。
送信バッファ21は、可変長符号化部19により生成されたビットストリームが出力される前に、そのビットストリームを一時的に蓄積してから出力する。
フレームレート制御部4は、上記の通り、動きベクトルの分布に応じて可変長符号化のフレームレートを決定しているが、送信バッファ21のバッファ残量を監視し、そのバッファ残量に応じてフレームレートを補正することで、より安定的な圧縮性能を実現するようにしてもよい。
ここで、図7はバッファ残量とフレームレート補正の関係を示す説明図である。
図7の例では、送信バッファ21のバッファ残量が中程度であれば、フレームレートの補正を行わないが、そのバッファ残量が多くなるにしたがって、段階的にフレームレートを下げていくように補正する。
逆にバッファ残量が少なくなるにしたがって、段階的にフレームレートを上げていくように補正する。
これにより、送信バッファ21のオーバーフローや、画像符号化装置から出力される符号量が所望のビットレートを下回って、無駄に画質が低下することを防ぐことができる。
一般に、高いフレームレートを維持して符号化する場合には、画像符号化装置から出力される符号量が増加する傾向があるが、送信バッファ21の容量を大きく確保しておき、一時的に指定されたビットレートよりも大きな符号量が発生しても、送信バッファ21がオーバーフローすることなく、符号化を継続できることが望ましい。
例えば、指定されたビットレートの2倍の符号量が数秒〜数十秒の期間継続して発生しても、送信バッファ21に蓄えることで吸収し、その後、フレームレートを低下させたときに、バッファ残量を定常状態に戻すことができれば、数秒〜数十秒といった長時間にわたって画質を均一化することができる。
この実施の形態1では、0ベクトル予測強制部9と0係数置換部13の処理により、コマ落とし対象のピクチャの符号化によって生成される局部復号画像は、フレームメモリ18に蓄積されている当該ピクチャの予測参照ピクチャと完全に一致する。
これにより、コマ落とし実施後の画像符号化の状態と、復号器が当該コマ落としを含むビットストリームを復号した後の状態とで、ミスマッチが発生することを防ぐことができる。
ここで、図8は可変長符号化部19により生成されたビットストリームの復号処理と符号化処理での参照ピクチャの相違を示す説明図である。
復号処理では、コマ落とし対象のピクチャP4は、ビットストリーム上に不在のため、ピクチャP5の復号において、ピクチャP3が参照ピクチャとして使用される。
一方、符号化処理では、コマ落とし対象のピクチャP4も一旦は符号化されるため、フレームメモリ18には参照ピクチャとしてピクチャP4の局部復号画像が蓄積される。
ただし、ピクチャP3とピクチャP4の局部復号画像は完全に一致するため、ピクチャP5の符号化において、ピクチャP3の代わりにピクチャP4を参照ピクチャとして使用しても状態は同じになる。
なお、コマ落とし対象のピクチャの局部復号画像に対して、フレームメモリ18への書込みを禁止する仕組みを設けることによっても同様の効果を得ることができる。
その場合、0ベクトル予測強制部9と0係数置換部13は不要となる。0ベクトル予測強制部9と0係数置換部13を設けるか、フレームメモリ18に書込み禁止の仕組みを設けるかは、実装のし易さなどの基準で判断すればよい。
以上で明らかなように、この実施の形態1によれば、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する原画ピクチャ間動きベクトル算出部2と、原画ピクチャ間動きベクトル算出部2により探索された動きベクトルの分布を算出するベクトル分布算出部3とを設け、フレームレート制御部4が、ベクトル分布算出部3により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を出力して、可変長符号化のフレームレートを下げるように構成したので、2つの符号化器を搭載することなく、リアルタイムに高画質な符号化画像を生成することができる効果を奏する。
また、この実施の形態1によれば、動きベクトル補正部5が、原画ピクチャ間動きベクトル算出部2による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より1つ前の時点の原画像がコマ落とし対象のピクチャである場合、原画ピクチャ間動きベクトル算出部2により探索された1つ前の時点の動きベクトルを用いて、原画ピクチャ間動きベクトル算出部2により探索された現時点の動きベクトルを補正するように構成したので、高い圧縮性能を維持しながら、動きベクトルを用いた高精度のフレームレート制御を実現することが可能となり、低ビットレートに圧縮した場合でも高画質な符号化画像を生成することができる効果を奏する。
実施の形態2.
図9はこの発明の実施の形態2による画像符号化装置の原画ピクチャ間動きベクトル算出部2を示す構成図である。
図9の例では、原画ピクチャ間動きベクトル算出部2が1次動きベクトル算出部41と2次動きベクトル算出部43を実装しており、動きベクトルの探索が1次処理と2次処理で行われる2段構成になっている。
1次動きベクトル算出部41はピクチャ内の代表点の動きベクトルを探索する1次探索処理部を構成している。
メモリ42は1次動きベクトル算出部41により探索された代表点の動きベクトルを格納する記録媒体である。
2次動きベクトル算出部43はピクチャ内の全ての動きベクトルを探索する2次探索処理部を構成している。
次に動作について説明する。
1次動きベクトル算出部41は、現在の符号化ピクチャと、その参照ピクチャの2つの原画データを入力し、ピクチャ内のN個の代表点における動きベクトルを算出する。Nは画像符号化装置毎に定める任意の整数である。
1次動きベクトル算出部41では、定義している全ての代表点における動きベクトルを各ピクチャの符号化が行われる前に探索し、当該ベクトル群をメモリ42に格納しておくとともに、ベクトル分布の集計対象とする。
2次動きベクトル算出部43は、各ピクチャの符号化処理に合わせたタイミングで、予測ブロック単位で動きベクトルを探索し、その動きベクトルがインター予測部6の動き補償予測処理で使用される。
2次動きベクトル算出部43で探索された動きベクトルについてもベクトル分布の集計対象としてもよいが、後述のとおり、それらは動きベクトルが探索されたピクチャでのコマ落とし判定には使用できないというタイミング的な制約が課される。
図10は1次動きベクトル算出部41及び2次動きベクトル算出部43の処理内容を示す説明図である。
図10(a)の例では、1次動きベクトル算出部41が、画面内の限定個(図では、9個)の代表点の予測ブロックのみを対象とし、2次動きベクトル算出部43が、代表点の予測ブロック以外の予測ブロックを対象とする。
インター予測部6の動き補償予測処理において、代表点の予測ブロックの動きベクトルはメモリ42に格納されたものを使用し、代表点の予測ブロック以外の予測ブロックの動きベクトルは2次動きベクトル算出部43により探索されたものを使用する。
図10(b)は、階層型探索の構成例を示しており、1次動きベクトル算出部41が例えば32×32画素など予測ブロックよりも大きな単位で動きベクトルを探索し、2次動きベクトル算出部43が予測ブロック単位の細やかな動きベクトルを探索している。
即ち、1次動きベクトル算出部41では、比較的広範囲で動きベクトルを探索し、2次動きベクトル算出部43では、1次動きベクトル算出部41で探索された動きベクトルの周囲を中心に狭範囲で動きベクトルを探索している。
上記実施の形態1では、符号化の過程で探索された動きベクトルを分布の集計対象とするため、各ピクチャの符号化が完了するまで、当該ピクチャの分布情報が得られず、符号化前に、その分布情報を用いて、コマ落とし判定を行うことが困難である。
そのため、コマ落とし判定において、過去のピクチャで集計された分布情報を用いて行うなど処理タイミングのずれが生じることがある。
一方、この実施の形態2では、原画ピクチャ間動きベクトル算出部2が、動きベクトルの探索を1次処理と2次処理で行う2段構成としており、1次動きベクトル算出部41が各ピクチャの符号化開始前に、1次処理として、代表点の動きベクトルを探索しているので、代表点の動きベクトルを用いて、コマ落とし判定を実施することができる。
代表点の動きベクトルは、個数が限定されており、予測ブロック単位の細やかな動きベクトルとは異なるが、予測ブロック単位のベクトルと同一ピクチャ内の動きベクトルである。
そのため、コマ落とし判定に用いる動きベクトルとして有用であり、精度が高いフレームレートの制御を実現することができる。
なお、代表点の動きベクトルは個数が限定されているため、その動きベクトルの探索処理は、例えば、画像信号のブランキング期間に実行するなど、符号化処理の合間に行えばよい。
この実施の形態2の場合、各ピクチャの符号化前に動きベクトルを探索する点で、特許文献1に開示されている2パス構成の画像符号化装置と類似の構成となるが、1パス目と2パス目を合わせて、動きベクトルの探索処理を2回実行する一般的な2パス構成とは異なり、本来1回で行うべき動きベクトルの探索処理を2つに分離しただけであるため、動きベクトルの探索に要する処理量は1パス構成の場合と同等になる。
1次動きベクトル算出部41から2次動きベクトル算出部43に対する動きベクトル情報を通知するための処理量のオーバーヘッドとメモリが必要となるが、従来の2パス構成と比べて増加分はごく僅かである。
実施の形態3.
図11はこの発明の実施の形態3による画像符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
原画ピクチャ間動きベクトル算出部50は図1の原画ピクチャ間動きベクトル算出部2と同様に、フレームメモリ1から符号化対象のマクロブロック単位の画像データ(現時点の原画像を示す画像データ)と、参照ピクチャに相当するマクロブロック単位の画像データ(現時点以前の原画像を示す画像データ)とを取り出し、例えば、ブロックマッチング法などの既知の動き探索手法を用いて、現時点の原画像と現時点以前の原画像との間で動き探索処理を実施することで、動きベクトルを探索する。また、現時点の原画像とフレームメモリ18に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索する。
なお、原画ピクチャ間動きベクトル算出部50は動きベクトル探索手段を構成している。
図12はこの発明の実施の形態3による画像符号化装置の原画ピクチャ間動きベクトル算出部50を示す構成図であり、図において、図9と同一符号は同一または相当部分を示すので説明を省略する。
2次動きベクトル算出部44は図9の2次動きベクトル算出部43と同様に、ピクチャ内の全ての動きベクトルを探索する2次探索処理部を構成しているが、2次動きベクトル算出部44は現時点の原画像とフレームメモリ18に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索する点で、図9の2次動きベクトル算出部43と相違している。
次に動作について説明する。
動きベクトルの分布の集計対象は、1次動きベクトル算出部41により探索された動きベクトルであり、2次動きベクトル算出部44により探索された動きベクトルは、分布の集計対象外である。
2次動きベクトル算出部44により探索された動きベクトルは、インター予測部6の動き補償予測処理に用いられるだけである。
このため、2次動きベクトル算出部44の動きベクトルの探索対象の画像として、現時点以前の原画像を使用する意味がなく、むしろ局部復号画像を用いる方が、圧縮性能の観点で良好な動きベクトルを探索することができる。
そこで、この実施の形態3では、2次動きベクトル算出部44が、現時点の原画像とフレームメモリ18に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索するようにしている。
この実施の形態3では、動きベクトル補正部5が補正する動きベクトルは、図10(a)に示される方式で動きベクトルが探索される場合において、1次動きベクトル算出部41により探索された動きベクトルだけである。
2次動きベクトル算出部44により探索された動きベクトルは、現時点の原画像と局部復号画像間で動き探索処理が実施されているため、補正が不要である。
以上で明らかなように、この実施の形態3によれば、2次動きベクトル算出部44が、現時点の原画像とフレームメモリ18に格納されている局部復号画像間で動き探索処理を実施することで、動きベクトルを探索するように構成したので、より良好な圧縮性能を得ることができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 フレームメモリ、2,50 原画ピクチャ間動きベクトル算出部(動きベクトル探索手段)、3 ベクトル分布算出部(ベクトル分布算出手段)、4 フレームレート制御部(フレームレート制御手段)、5 動きベクトル補正部(動きベクトル補正手段)、6 インター予測部(予測画像生成手段)、7 イントラ予測部(予測画像生成手段)、8 切替スイッチ(予測画像生成手段)、9 0ベクトル予測強制部、10 減算部(可変長符号化手段)、11 直交変換部(可変長符号化手段)、12 量子化部(可変長符号化手段)、13 0係数置換部(可変長符号化手段)、14 逆量子化部、15 逆直交変換部、16 加算部、17 ループ内フィルタ部、18 フレームメモリ、19 可変長符号化部(可変長符号化手段)、20 符号化データ消去部(可変長符号化手段)、21 送信バッファ、31 マクロブロックアドレス管理部、32 補正ベクトル格納部、33 ベクトル加算部、34 セレクタ、41 1次動きベクトル算出部(1次探索処理部)、42 メモリ、43,44 2次動きベクトル算出部(2次探索処理部)。

Claims (12)

  1. 符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
    上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
    現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
    上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
    上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段と
    上記動きベクトル探索手段による動き探索処理対象の現時点の原画像がコマ落とし対象のピクチャではないが、現時点より1つ前の時点の原画像がコマ落とし対象のピクチャである場合、上記動きベクトル探索手段により探索された1つ前の時点の動きベクトルを用いて、上記動きベクトル探索手段により探索された現時点の動きベクトルを補正する動きベクトル補正手段とを備え、
    上記予測画像生成手段が動き補償予測処理を実施して予測画像を生成する場合、上記動きベクトル補正手段により補正された動きベクトルを用いて、予測画像を生成する
    ことを特徴とする画像符号化装置。
  2. 上記動きベクトル補正手段は、現時点より複数前の時点の原画像から1つ前の時点の原画像まで連続してコマ落とし対象のピクチャである場合、複数前の時点から1つ前の時点の動きベクトルを累積し、上記動きベクトルの累積結果を現時点の動きベクトルに加算することで、現時点の動きベクトルを補正することを特徴とする請求項記載の画像符号化装置。
  3. 符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
    上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
    現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
    上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
    上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え
    上記ベクトル分布算出手段は、上記動きベクトル探索手段により探索された動きベクトルの分布として、ベクトル値による度数分布を算出し、
    上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布から動きベクトルの分布の偏り状況を認識し、上記動きベクトルの分布に偏りがあり、その偏りの中心点が特定の範囲の外側である場合、または、上記動きベクトルの分布に偏りがない場合、コマ落としを行うべきであると判定する
    ことを特徴とする画像符号化装置。
  4. 上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布における動きベクトルの分散値又は一次ノルム値が所定の閾値より小さい場合、上記動きベクトルの分布に偏りがあると判断することを特徴とする請求項記載の画像符号化装置。
  5. 上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布における動きベクトルの本数の最大値が所定の閾値より大きい場合、上記動きベクトルの分布に偏りがあると判断することを特徴とする請求項記載の画像符号化装置。
  6. 上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布を構成する動きベクトルの平均値又は中央値から偏りの中心点を求めることを特徴とする請求項記載の画像符号化装置。
  7. 上記ベクトル分布算出手段は、上記動きベクトル探索手段により探索された動きベクトルの水平成分及び垂直成分の分布として、水平成分及び垂直成分の度数分布を算出し、
    上記フレームレート制御手段は、上記ベクトル分布算出手段により算出された度数分布から動きベクトルの水平成分及び垂直成分の分布の偏り状況を認識し、水平成分及び垂直成分の分布の偏り状況に基づいてピクチャのコマ落としを行うべきであるか否かを判定する
    ことを特徴とする請求項1又は請求項記載の画像符号化装置。
  8. 符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
    上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
    現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
    上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
    上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え
    上記フレームレート制御手段は、上記可変長符号化手段により生成された符号化データが出力される前に一時的に蓄積される送信バッファのバッファ残量を監視し、上記バッファ残量が増加すれば、上記可変長符号化手段における可変長符号化のフレームレートを下げる一方、上記バッファ残量が減少すれば、上記可変長符号化手段における可変長符号化のフレームレートを上げる
    ことを特徴とする画像符号化装置。
  9. 上記可変長符号化手段は、上記フレームレート制御手段からピクチャのコマ落とし指示が出力された場合、コマ落とし対象のピクチャに係る符号化データを破棄することを特徴とする請求項1から請求項のうちのいずれか1項記載の画像符号化装置。
  10. 上記可変長符号化手段は、上記フレームレート制御手段からピクチャのコマ落とし指示が出力された場合、圧縮後の差分画像を示す直交変換係数を0に置換して、0の直交変換係数を可変長符号化することを特徴とする請求項1から請求項のうちのいずれか1項記載の画像符号化装置。
  11. 符号化対象の原画像に対する予測処理を実施して予測画像を生成する予測画像生成手段と、
    上記原画像と上記予測画像生成手段により生成された予測画像との差分画像を圧縮し、圧縮後の差分画像を可変長符号化して符号化データを生成する可変長符号化手段と、
    現時点の原画像と現時点以前の原画像との間で動き探索処理を実施して動きベクトルを探索する動きベクトル探索手段と、
    上記動きベクトル探索手段により探索された動きベクトルの分布を算出するベクトル分布算出手段と、
    上記ベクトル分布算出手段により算出された分布の状態に基づいてピクチャのコマ落としを行うべきであるか否かを判定し、コマ落としを行うべきであると判定すれば、ピクチャのコマ落とし指示を上記可変長符号化手段に出力して、可変長符号化のフレームレートを下げるフレームレート制御手段とを備え
    上記動きベクトル探索手段は、ピクチャ内の代表点の動きベクトルを探索する1次探索処理部と、ピクチャ内の全ての動きベクトルを探索する2次探索処理部とから構成されており、上記1次探索処理部については、上記可変長符号化手段により符号化データが生成される前に動きベクトルを探索する
    ことを特徴とする画像符号化装置。
  12. 上記2次探索処理部は、現時点の原画像と上記可変長符号化手段により圧縮された差分画像が復号された局部復号画像との間で動き探索処理を実施して動きベクトルを探索することを特徴とする請求項11記載の画像符号化装置。
JP2010252718A 2010-11-11 2010-11-11 画像符号化装置 Expired - Fee Related JP5656575B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010252718A JP5656575B2 (ja) 2010-11-11 2010-11-11 画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010252718A JP5656575B2 (ja) 2010-11-11 2010-11-11 画像符号化装置

Publications (2)

Publication Number Publication Date
JP2012105128A JP2012105128A (ja) 2012-05-31
JP5656575B2 true JP5656575B2 (ja) 2015-01-21

Family

ID=46395005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010252718A Expired - Fee Related JP5656575B2 (ja) 2010-11-11 2010-11-11 画像符号化装置

Country Status (1)

Country Link
JP (1) JP5656575B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3014278A1 (fr) * 2013-11-29 2015-06-05 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
KR101599888B1 (ko) * 2014-05-02 2016-03-04 삼성전자주식회사 적응적 영상 데이터 압축 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
JP2006115470A (ja) * 2004-09-16 2006-04-27 Ntt Docomo Inc 映像評価装置、フレームレート決定装置、映像処理装置、映像評価方法、および映像評価プログラム
JP2009296443A (ja) * 2008-06-06 2009-12-17 Mitsubishi Electric Corp ベクトル探索範囲制限装置および動画像符号化装置

Also Published As

Publication number Publication date
JP2012105128A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
US8311097B2 (en) Image processing method for adaptive spatial-temporal resolution frame
TWI399097B (zh) 用於編碼視訊之系統及方法,以及電腦可讀取媒體
US20070025442A1 (en) Coding method for coding moving images
US20070025444A1 (en) Coding Method
JPH118855A (ja) デジタル・ビデオ信号エンコーダ及び符号化方法
CA2798354C (en) A video encoding bit rate control technique using a quantization statistic threshold to determine whether re-encoding of an encoding-order picture group is required
JP4401336B2 (ja) 符号化方法
JP2006519565A (ja) ビデオ符号化
US20070064809A1 (en) Coding method for coding moving images
KR20040069210A (ko) 코딩 정보 및 로컬 공간 특징을 이용한 디지털 비디오신호들의 후처리에서의 선명도 향상
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
US20190014332A1 (en) Content-aware video coding
EP0949822A2 (en) Video coding control method and apparatus
US9930352B2 (en) Reducing noise in an intraframe appearance cycle
US20070147515A1 (en) Information processing apparatus
JP5656575B2 (ja) 画像符号化装置
JP2007036889A (ja) 符号化方法
JP2005295215A (ja) 動画像符号化装置
US9185420B2 (en) Moving image coding apparatus and moving image coding method
JP2009218965A (ja) 画像処理装置、それを搭載した撮像装置、および画像再生装置
KR100930344B1 (ko) 초기 양자화 파라미터 결정 방법
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
JP4857243B2 (ja) 画像符号化装置及びその制御方法、コンピュータプログラム
JP4243286B2 (ja) 符号化方法
WO2013073422A1 (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140808

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141125

R150 Certificate of patent or registration of utility model

Ref document number: 5656575

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees