JPH07240927A - 映像符号化装置 - Google Patents
映像符号化装置Info
- Publication number
- JPH07240927A JPH07240927A JP8152594A JP8152594A JPH07240927A JP H07240927 A JPH07240927 A JP H07240927A JP 8152594 A JP8152594 A JP 8152594A JP 8152594 A JP8152594 A JP 8152594A JP H07240927 A JPH07240927 A JP H07240927A
- Authority
- JP
- Japan
- Prior art keywords
- prediction error
- block
- motion vector
- error value
- value
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【目的】 全探索法を用いた場合と比較して回路規模を
削減することができ、かつ全探索法に近い画質を有する
ことを可能とする映像符号化装置を提供する。 【構成】 102は探索情報算出器で、動きベクトルメ
モリ101に格納されている動きベクトル値から1個の
候補ベクトルを算出する。103は高精度演算器で、候
補ベクトルにより予測されるブロックを含み参照フレー
ム上の探索領域より小さい第2の探索領域を設定し、1
画素以下の精度で候補ベクトルを設定して、その候補ベ
クトルごとに予測誤差値を算出する。104は低精度演
算器で、参照フレーム上の第1の探索領域内を2画素以
上の精度で候補ベクトルを設定し、その候補ベクトルご
とに予測誤差値を算出する。105は予測誤差値比較器
で、高精度演算器103および低精度演算器104によ
り算出された予測誤差値とを比較することにより、符号
化ブロックの動きベクトル値を決定する。
削減することができ、かつ全探索法に近い画質を有する
ことを可能とする映像符号化装置を提供する。 【構成】 102は探索情報算出器で、動きベクトルメ
モリ101に格納されている動きベクトル値から1個の
候補ベクトルを算出する。103は高精度演算器で、候
補ベクトルにより予測されるブロックを含み参照フレー
ム上の探索領域より小さい第2の探索領域を設定し、1
画素以下の精度で候補ベクトルを設定して、その候補ベ
クトルごとに予測誤差値を算出する。104は低精度演
算器で、参照フレーム上の第1の探索領域内を2画素以
上の精度で候補ベクトルを設定し、その候補ベクトルご
とに予測誤差値を算出する。105は予測誤差値比較器
で、高精度演算器103および低精度演算器104によ
り算出された予測誤差値とを比較することにより、符号
化ブロックの動きベクトル値を決定する。
Description
【0001】
【産業上の利用分野】本発明は、映像を記録および伝送
する場合に、映像信号のデータ量を削減するために動き
補償を用いて高能率符号化を行う映像符号化装置に関す
るものである。
する場合に、映像信号のデータ量を削減するために動き
補償を用いて高能率符号化を行う映像符号化装置に関す
るものである。
【0002】
【従来の技術】近年、映像のディジタル信号処理技術や
半導体の集積技術などの進歩により、映像信号をディジ
タル符号化した装置の開発が盛んになってきている。映
像信号の符号化装置の1つに、時間方向の冗長を削減す
るものがある。この代表例としていわゆるMPEG(Mo
ving Picture Expert Group)があり、現在標準化作業
が活発に行われている。MPEGでは、空間方向の圧縮
にDCT(離散コサイン変換)を、時間方向の圧縮に動
き補償フレーム間予測が用いられている。
半導体の集積技術などの進歩により、映像信号をディジ
タル符号化した装置の開発が盛んになってきている。映
像信号の符号化装置の1つに、時間方向の冗長を削減す
るものがある。この代表例としていわゆるMPEG(Mo
ving Picture Expert Group)があり、現在標準化作業
が活発に行われている。MPEGでは、空間方向の圧縮
にDCT(離散コサイン変換)を、時間方向の圧縮に動
き補償フレーム間予測が用いられている。
【0003】動き補償フレーム間予測とは、入力映像信
号をある大きさ(例えば水平16画素、垂直16画素)
のブロックに分割し、以前のフレームの再生映像信号で
ある参照フレ−ムから動きベクトル分ずらして予測を行
い、入力信号と予測信号の差分信号と動きベクトルで映
像信号を符号化する処理をいう。
号をある大きさ(例えば水平16画素、垂直16画素)
のブロックに分割し、以前のフレームの再生映像信号で
ある参照フレ−ムから動きベクトル分ずらして予測を行
い、入力信号と予測信号の差分信号と動きベクトルで映
像信号を符号化する処理をいう。
【0004】また、動きベクトルの検出とは、符号化ブ
ロックと符号化ブロックの位置に対応する参照フレーム
上のブロックを基準位置として、あらかじめ設定された
探索領域内のブロック群とのマッチングを行い、ブロッ
ク間の相関が高いブロックの位置を動きベクトルとして
検出する処理をいう。
ロックと符号化ブロックの位置に対応する参照フレーム
上のブロックを基準位置として、あらかじめ設定された
探索領域内のブロック群とのマッチングを行い、ブロッ
ク間の相関が高いブロックの位置を動きベクトルとして
検出する処理をいう。
【0005】ここで、従来例における映像符号化装置に
ついて図面を参照しつつ説明する。図15は従来例にお
ける映像符号化装置の全体構成を示すブロック図であ
る。同図において、1501はバッファメモリで映像デ
ータを格納する。1502はブロック化器でバッファメ
モリ1501に格納された映像データを複数のブロック
に分割する。1503はフレームメモリで、前フレーム
の映像データを保持する。1504は動きベクトル検出
器で、ブロック化器1502により符号化ブロックとフ
レームメモリ1403に保持された映像データから探索
情報を用いて動きベクトルの検出を行う。1505は動
きベクトル符号化器で、動きベクトル検出器1504に
より検出された動きベクトルを符号化する。1506は
予測ブロック生成器で、フレームメモリ1503に保持
された映像データから動きベクトル分変位したブロック
の映像データを予測ブロックとして生成する。1507
は差分器で、符号化ブロックと予測ブロックの差分信号
を算出する。1508は直交変換器で、映像データを直
交変換する。1509は量子化器で、直交変換された映
像データの量子化を行う。1510は直交変換符号化器
で、直交変換および量子化された映像データを符号化す
る。1511は逆量子化器で、量子化器の逆の操作を行
う。1512は逆直交変換器で、直交変換された映像デ
ータを復号する。1513は加算器で、復号された映像
データと予測ブロックを加算する。1514、1515
はスイッチで、予測ブロックの有無により入力信号を切
替える。
ついて図面を参照しつつ説明する。図15は従来例にお
ける映像符号化装置の全体構成を示すブロック図であ
る。同図において、1501はバッファメモリで映像デ
ータを格納する。1502はブロック化器でバッファメ
モリ1501に格納された映像データを複数のブロック
に分割する。1503はフレームメモリで、前フレーム
の映像データを保持する。1504は動きベクトル検出
器で、ブロック化器1502により符号化ブロックとフ
レームメモリ1403に保持された映像データから探索
情報を用いて動きベクトルの検出を行う。1505は動
きベクトル符号化器で、動きベクトル検出器1504に
より検出された動きベクトルを符号化する。1506は
予測ブロック生成器で、フレームメモリ1503に保持
された映像データから動きベクトル分変位したブロック
の映像データを予測ブロックとして生成する。1507
は差分器で、符号化ブロックと予測ブロックの差分信号
を算出する。1508は直交変換器で、映像データを直
交変換する。1509は量子化器で、直交変換された映
像データの量子化を行う。1510は直交変換符号化器
で、直交変換および量子化された映像データを符号化す
る。1511は逆量子化器で、量子化器の逆の操作を行
う。1512は逆直交変換器で、直交変換された映像デ
ータを復号する。1513は加算器で、復号された映像
データと予測ブロックを加算する。1514、1515
はスイッチで、予測ブロックの有無により入力信号を切
替える。
【0006】このように構成された従来例の映像符号化
装置の動作について説明する。まず、1フレーム目の映
像データをバッファメモリ1501に格納する。格納さ
れた映像データをブロック化器1502に与え、1フレ
ーム目の画面を碁盤状になるよう複数のブロックに分割
する。1ブロックは例えば縦16画素、横16画素とす
る。1フレーム目の映像データは予測映像データが存在
しないため、スイッチ1514は直交変換器1508に
接続され、各ブロックの映像データは直交変換器150
8に入力されて直交変換される。その変換係数は量子化
器1509により量子化し、直交変換符号化器1510
により符号化される。
装置の動作について説明する。まず、1フレーム目の映
像データをバッファメモリ1501に格納する。格納さ
れた映像データをブロック化器1502に与え、1フレ
ーム目の画面を碁盤状になるよう複数のブロックに分割
する。1ブロックは例えば縦16画素、横16画素とす
る。1フレーム目の映像データは予測映像データが存在
しないため、スイッチ1514は直交変換器1508に
接続され、各ブロックの映像データは直交変換器150
8に入力されて直交変換される。その変換係数は量子化
器1509により量子化し、直交変換符号化器1510
により符号化される。
【0007】一方、量子化器1509の量子化データは
逆量子化器1511にも与えられ、逆量子化の処理が施
される。さらに、逆直交変換器1512により再び元の
映像データに変換される。このときスイッチ1515に
より加算器1513はスルーの状態になっており、予測
ブロックが与えられない。加算器115により出力され
る1フレームの映像データはフレームメモリ1503に
格納され、次のフレームの動きベクトルの検出に用いら
れる。
逆量子化器1511にも与えられ、逆量子化の処理が施
される。さらに、逆直交変換器1512により再び元の
映像データに変換される。このときスイッチ1515に
より加算器1513はスルーの状態になっており、予測
ブロックが与えられない。加算器115により出力され
る1フレームの映像データはフレームメモリ1503に
格納され、次のフレームの動きベクトルの検出に用いら
れる。
【0008】さて、次のフレームの映像データが信号源
から出力されると、そのデータは一旦バッファメモリ1
501に格納される。格納された映像データはブロック
化器1502により複数のブロックに分割される。夫々
のブロックにおいて、各映像データは1フレーム前の映
像データと対応する位置を基準点にして、動きベクトル
検出器1504により予め決められた探索範囲内で調べ
られる。例えば探索範囲を左右及び上下方向に夫々7画
素とし、隣接フレーム間の予測誤差(信号レベルの差)
の最も少ない位置を動きベクトルと判定する。
から出力されると、そのデータは一旦バッファメモリ1
501に格納される。格納された映像データはブロック
化器1502により複数のブロックに分割される。夫々
のブロックにおいて、各映像データは1フレーム前の映
像データと対応する位置を基準点にして、動きベクトル
検出器1504により予め決められた探索範囲内で調べ
られる。例えば探索範囲を左右及び上下方向に夫々7画
素とし、隣接フレーム間の予測誤差(信号レベルの差)
の最も少ない位置を動きベクトルと判定する。
【0009】次に、予測ブロック生成器1506は動き
ベクトル検出器1504で得られた動きベクトルのデー
タを用いて、1フレーム前の基準位置から動きベクトル
分変位された映像を予測し、予測ブロックを生成する。
ここで生成された予測ブロックは差分器1507に与え
られ、前フレームの該当ブロックとの差分データに変換
される。
ベクトル検出器1504で得られた動きベクトルのデー
タを用いて、1フレーム前の基準位置から動きベクトル
分変位された映像を予測し、予測ブロックを生成する。
ここで生成された予測ブロックは差分器1507に与え
られ、前フレームの該当ブロックとの差分データに変換
される。
【0010】差分器1507で得られた差分データはス
イッチ1514を介して直交変換器1508に与えら
れ、信号の空間的冗長性を除去するための直交変換が行
われる。ここでの変換係数は量子化器1509により量
子化され、直交変換符号化器112により符号化され
る。一方、動きベクトル検出器1504により検出され
た動きベクトルは動きベクトル符号化器1505を用い
て符号化される。
イッチ1514を介して直交変換器1508に与えら
れ、信号の空間的冗長性を除去するための直交変換が行
われる。ここでの変換係数は量子化器1509により量
子化され、直交変換符号化器112により符号化され
る。一方、動きベクトル検出器1504により検出され
た動きベクトルは動きベクトル符号化器1505を用い
て符号化される。
【0011】また、量子化データは逆量子化器1511
によって量子化器1509と逆の処理が施され、逆直交
変換器1512により差分データに再び変換される。そ
して加算器1513においてスイッチ1515を介して
与えられる映像の予測ブロックが差分データに加算さ
れ、元の映像データに戻される。戻された映像データは
フレームメモリ1503に格納され、次のブロックの動
きベクトルの検出に用いられる。
によって量子化器1509と逆の処理が施され、逆直交
変換器1512により差分データに再び変換される。そ
して加算器1513においてスイッチ1515を介して
与えられる映像の予測ブロックが差分データに加算さ
れ、元の映像データに戻される。戻された映像データは
フレームメモリ1503に格納され、次のブロックの動
きベクトルの検出に用いられる。
【0012】1フレーム目の映像データ以外に、他に符
号化しようとするブロックの入力信号そのものを変換し
て符号化した方が、差分データを変換した場合よりも符
号量が少なくなる場合がある。例えば、画面全体が新し
い映像となった場合は、入力データをそのまま符号化す
ることが必要となる。このときスイッチ1514を用い
てブロック化器1502の出力を直交変換器1508へ
入力し、予測データを加算器1513に与えないように
する。
号化しようとするブロックの入力信号そのものを変換し
て符号化した方が、差分データを変換した場合よりも符
号量が少なくなる場合がある。例えば、画面全体が新し
い映像となった場合は、入力データをそのまま符号化す
ることが必要となる。このときスイッチ1514を用い
てブロック化器1502の出力を直交変換器1508へ
入力し、予測データを加算器1513に与えないように
する。
【0013】代表的な動きベクトルの検出方法として、
全探索法、3ステップ法などがある。全探索法は、全て
の探索領域に渡り、1画素精度で動きベクトルの探索を
行う方法であり、画質面においては最もよい方法である
が、回路規模が大きいという問題がある。3ステップ法
は、全探索法の回路規模の問題を解決するために考案さ
れた方法であり、3段階の処理により動きベクトルの検
出を行う。すなわち、まず第1ステップでは、4画素精
度で探索することにより、動きベクトルを検出する。次
に第2ステップでは、第1ステップで検出された動きベ
クトルとその8近傍を2画素精度で探索することによ
り、動きベクトルを検出する。さらに第3ステップで
は、第2ステップで検出された動きベクトルとその8近
傍を1画素精度で探索することにより、符号化ブロック
の動きベクトルを決定する。3ステップ法は、全探索法
に比べ探索数が少なくなり回路規模の削減が可能とな
る。しかし、画質面では全探索法と比べて劣化が見られ
る。
全探索法、3ステップ法などがある。全探索法は、全て
の探索領域に渡り、1画素精度で動きベクトルの探索を
行う方法であり、画質面においては最もよい方法である
が、回路規模が大きいという問題がある。3ステップ法
は、全探索法の回路規模の問題を解決するために考案さ
れた方法であり、3段階の処理により動きベクトルの検
出を行う。すなわち、まず第1ステップでは、4画素精
度で探索することにより、動きベクトルを検出する。次
に第2ステップでは、第1ステップで検出された動きベ
クトルとその8近傍を2画素精度で探索することによ
り、動きベクトルを検出する。さらに第3ステップで
は、第2ステップで検出された動きベクトルとその8近
傍を1画素精度で探索することにより、符号化ブロック
の動きベクトルを決定する。3ステップ法は、全探索法
に比べ探索数が少なくなり回路規模の削減が可能とな
る。しかし、画質面では全探索法と比べて劣化が見られ
る。
【0014】図16は、動きベクトルの探索範囲を水平
方向−7から+7、垂直方向−7から+7にした場合の
符号化ブロックと参照フレーム上の探索領域を表してい
る。ここで、符号化ブロックのサイズは、水平方向16
画素、垂直方向16画素である。また、探索領域のサイ
ズは、水平方向30画素、垂直方向30画素である。
方向−7から+7、垂直方向−7から+7にした場合の
符号化ブロックと参照フレーム上の探索領域を表してい
る。ここで、符号化ブロックのサイズは、水平方向16
画素、垂直方向16画素である。また、探索領域のサイ
ズは、水平方向30画素、垂直方向30画素である。
【0015】図17は全探索法を用いた場合の動きベク
トルの探索数を表している。動きベクトルの探索範囲が
水平方向−7から+7、垂直方向−7から+7の時、探
索数は225となる。
トルの探索数を表している。動きベクトルの探索範囲が
水平方向−7から+7、垂直方向−7から+7の時、探
索数は225となる。
【0016】図18は3ステップ法を用いた場合の動き
ベクトルの探索数を表している。図で示すように、第1
ステップでは探索数が9、第2ステップでは探索数が
8、第3ステップでは探索数が8となり、総探索数は2
5となる。
ベクトルの探索数を表している。図で示すように、第1
ステップでは探索数が9、第2ステップでは探索数が
8、第3ステップでは探索数が8となり、総探索数は2
5となる。
【0017】
【発明が解決しようとする課題】このような従来の映像
符号化装置においては、全探索法を用いた場合、動きベ
クトルの探索数が多く、回路実現が大きくなるという問
題を有している。また、3ステップ法を用いた場合で
は、画質の低下という課題を有していた。
符号化装置においては、全探索法を用いた場合、動きベ
クトルの探索数が多く、回路実現が大きくなるという問
題を有している。また、3ステップ法を用いた場合で
は、画質の低下という課題を有していた。
【0018】本発明は、従来の映像符号化装置が有して
いた上記課題に鑑み、全探索法を用いた場合と比較して
回路規模を削減することができ、かつ全探索法に近い画
質を有することを可能とする映像符号化装置を提供する
ことを目的としている。
いた上記課題に鑑み、全探索法を用いた場合と比較して
回路規模を削減することができ、かつ全探索法に近い画
質を有することを可能とする映像符号化装置を提供する
ことを目的としている。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、本発明の映像符号化装置は、動きベクトルの検出を
行うためのあらかじめ設定された参照フレーム上の探索
領域を第1の探索領域としたとき、動きベクトルが検出
された符号化ブロックの動きベクトル値を格納する動き
ベクトルメモリと、動きベクトルメモリに格納されてい
る動きベクトル値から所定の演算式により1個の候補ベ
クトルを算出する候補ベクトル算出器と、候補ベクトル
により予測されるブロックを含み参照フレーム上の探索
領域より小さい第2の探索領域を設定し、第2の探索領
域内を1画素以下の精度で候補ベクトルを設定してその
候補ベクトルごとに予測誤差値を算出する高精度演算器
と、参照フレーム上の第1の探索領域内を2画素以上の
精度で候補ベクトルを設定してその候補ベクトルごとに
予測誤差値を算出する低精度演算器と、高精度演算器に
より算出された予測誤差値と低精度演算器により算出さ
れた予測誤差値とを比較することにより符号化ブロック
の動きベクトル値を決定する予測誤差値比較器を備えた
ものである。
に、本発明の映像符号化装置は、動きベクトルの検出を
行うためのあらかじめ設定された参照フレーム上の探索
領域を第1の探索領域としたとき、動きベクトルが検出
された符号化ブロックの動きベクトル値を格納する動き
ベクトルメモリと、動きベクトルメモリに格納されてい
る動きベクトル値から所定の演算式により1個の候補ベ
クトルを算出する候補ベクトル算出器と、候補ベクトル
により予測されるブロックを含み参照フレーム上の探索
領域より小さい第2の探索領域を設定し、第2の探索領
域内を1画素以下の精度で候補ベクトルを設定してその
候補ベクトルごとに予測誤差値を算出する高精度演算器
と、参照フレーム上の第1の探索領域内を2画素以上の
精度で候補ベクトルを設定してその候補ベクトルごとに
予測誤差値を算出する低精度演算器と、高精度演算器に
より算出された予測誤差値と低精度演算器により算出さ
れた予測誤差値とを比較することにより符号化ブロック
の動きベクトル値を決定する予測誤差値比較器を備えた
ものである。
【0020】
【作用】本発明の映像符号化装置は、前記した構成によ
り、まず、探索情報算出器を用いて動きベクトルメモリ
に格納された動きベクトル値から所定の演算式により1
個の候補ベクトルを算出する。次に、高精度演算器で
は、その候補ベクトルにより予測されるブロックを含み
1画素以下の精度で候補ベクトルを設定してその候補ベ
クトルごとに予測誤差値を算出する。低精度演算器で
は、参照フレーム上の第1の探索領域内を2画素以上の
精度で候補ベクトルを設定してその候補ベクトルごとに
予測誤差値を算出する。最後に、予測誤差値比較器で
は、高精度演算器により算出された予測誤差値と低精度
演算器により算出された予測誤差値とを比較することに
より符号化ブロックの動きベクトル値を決定する。
り、まず、探索情報算出器を用いて動きベクトルメモリ
に格納された動きベクトル値から所定の演算式により1
個の候補ベクトルを算出する。次に、高精度演算器で
は、その候補ベクトルにより予測されるブロックを含み
1画素以下の精度で候補ベクトルを設定してその候補ベ
クトルごとに予測誤差値を算出する。低精度演算器で
は、参照フレーム上の第1の探索領域内を2画素以上の
精度で候補ベクトルを設定してその候補ベクトルごとに
予測誤差値を算出する。最後に、予測誤差値比較器で
は、高精度演算器により算出された予測誤差値と低精度
演算器により算出された予測誤差値とを比較することに
より符号化ブロックの動きベクトル値を決定する。
【0021】
(実施例1)以下に、本発明の第1実施例における映像
符号化装置について図面を用いて説明する。
符号化装置について図面を用いて説明する。
【0022】図1は本発明の第1実施例における映像符
号化装置の構成図である。ここでは、図15で示した従
来例における映像符号化装置の動きベクトル検出器15
04が異なるため、それらの構成を記載している。
号化装置の構成図である。ここでは、図15で示した従
来例における映像符号化装置の動きベクトル検出器15
04が異なるため、それらの構成を記載している。
【0023】図1において、動きベクトルの検出を行う
ための、あらかじめ設定された参照フレーム上の探索領
域を第1の探索領域とする。101は動きベクトルメモ
リで、動きベクトルが検出された符号化ブロックの動き
ベクトル値を格納する。102は探索情報算出器で、動
きベクトルメモリ101に格納されている動きベクトル
値から所定の演算式により1個の候補ベクトルを算出す
る。103は高精度演算器で、候補ベクトルにより予測
されるブロックを含み参照フレーム上の探索領域より小
さい第2の探索領域を設定し、第2の探索領域内を1画
素以下の精度で候補ベクトルを設定して、その候補ベク
トルごとに予測誤差値を算出する。104は低精度演算
器で、参照フレーム上の第1の探索領域内を2画素以上
の精度で候補ベクトルを設定して、その候補ベクトルご
とに予測誤差値を算出する。105は予測誤差値比較器
で、高精度演算器103により算出された予測誤差値と
低精度演算器104により算出された予測誤差値とを比
較することにより、符号化ブロックの動きベクトル値を
決定する。
ための、あらかじめ設定された参照フレーム上の探索領
域を第1の探索領域とする。101は動きベクトルメモ
リで、動きベクトルが検出された符号化ブロックの動き
ベクトル値を格納する。102は探索情報算出器で、動
きベクトルメモリ101に格納されている動きベクトル
値から所定の演算式により1個の候補ベクトルを算出す
る。103は高精度演算器で、候補ベクトルにより予測
されるブロックを含み参照フレーム上の探索領域より小
さい第2の探索領域を設定し、第2の探索領域内を1画
素以下の精度で候補ベクトルを設定して、その候補ベク
トルごとに予測誤差値を算出する。104は低精度演算
器で、参照フレーム上の第1の探索領域内を2画素以上
の精度で候補ベクトルを設定して、その候補ベクトルご
とに予測誤差値を算出する。105は予測誤差値比較器
で、高精度演算器103により算出された予測誤差値と
低精度演算器104により算出された予測誤差値とを比
較することにより、符号化ブロックの動きベクトル値を
決定する。
【0024】図2は、図1で示した詳細ブロックの動作
を説明するフローチャートである。以下に2フレーム目
以降の1フレームの映像データについて処理手順を示
す。 (ステップ201)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
202)へ行く。 (ステップ202)動きベクトルメモリ101をすべて
0に初期設定する。次に(ステップ203)へ行く。 (ステップ203)探索情報算出器102を用いて符号
化ブロックの候補ベクトルの算出を行う。水平方向の候
補ベクトル値をHP、垂直方向の候補ベクトル値をVP
とする。(ステップ204)および(ステップ205)
へ行く。 (ステップ204)高精度演算器103により、符号化
ブロックのデータと探索領域のデータを用いて、図3の
フローチャートで示す方法で動きベクトルを検出する。
候補ベクトルを中心に隣接する8画素を探索するとした
とき、水平方向の動きベクトルの探索範囲をHP−1〜
HP+1、垂直方向の動きベクトルの探索範囲をVP−
1〜+VP+1、水平方向の探索精度を1画素、垂直方
向の探索精度を1画素にする。また、最小予測誤差値と
その動きベクトルの初期設定値を与えない。ここで、検
出された動きベクトルを水平方向HH、垂直方向VHと
し、そのときの最小予測誤差値をEHとする。次に(ス
テップ206)へ行く。 (ステップ205)低精度演算器104により、符号化
ブロックのデータと探索領域のデータを用いて図3のフ
ローチャートで示した方法で動きベクトルを検出する。
このとき、水平方向の動きベクトルの探索範囲を−4〜
+4、垂直方向の動きベクトルの探索範囲を−4〜+
4、水平方向の探索精度を4画素、垂直方向の探索精度
を4画素にする。また、最小予測誤差値とその動きベク
トルの初期設定値は与えない。ここで、検出された動き
ベクトルを水平方向HL、垂直方向VLとし、そのとき
の最小予測誤差値をELとする。次に(ステップ20
6)へ行く。 (ステップ206)予測誤差値比較器105を用いて、
高精度演算器103で検出した動きベクトルの予測誤差
値EHと低精度演算器104で検出した動きベクトルの
予測誤差値ELとを比較し、ELがEHよりも小さいと
きはHL、VLを、そうでないときはHH、VHを符号
化ブロックの動きベクトル値として決定する。次に(ス
テップ209)へ行く。 (ステップ207)予測誤差値比較器105で決定した
動きベクトルを動きベクトルメモリ101に格納する。
次に(ステップ208)へ行く。 (ステップ208)符号化フレームの水平ブロックに1
を加算する。次に(ステップ209)へ行く。 (ステップ209)符号化フレームの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合、(ステップ210)へ行く。そうでない場合、
(ステップ203)へ行く。 (ステップ210)符号化フレームの水平ブロックを0
にリセットする。符号化ブロックの垂直ブロックに1を
加算する。次に(ステップ211)へ行く。 (ステップ212)符号化フレームの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合、処理を終了する。そうでない場合、(ステップ
203)へ行く。
を説明するフローチャートである。以下に2フレーム目
以降の1フレームの映像データについて処理手順を示
す。 (ステップ201)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
202)へ行く。 (ステップ202)動きベクトルメモリ101をすべて
0に初期設定する。次に(ステップ203)へ行く。 (ステップ203)探索情報算出器102を用いて符号
化ブロックの候補ベクトルの算出を行う。水平方向の候
補ベクトル値をHP、垂直方向の候補ベクトル値をVP
とする。(ステップ204)および(ステップ205)
へ行く。 (ステップ204)高精度演算器103により、符号化
ブロックのデータと探索領域のデータを用いて、図3の
フローチャートで示す方法で動きベクトルを検出する。
候補ベクトルを中心に隣接する8画素を探索するとした
とき、水平方向の動きベクトルの探索範囲をHP−1〜
HP+1、垂直方向の動きベクトルの探索範囲をVP−
1〜+VP+1、水平方向の探索精度を1画素、垂直方
向の探索精度を1画素にする。また、最小予測誤差値と
その動きベクトルの初期設定値を与えない。ここで、検
出された動きベクトルを水平方向HH、垂直方向VHと
し、そのときの最小予測誤差値をEHとする。次に(ス
テップ206)へ行く。 (ステップ205)低精度演算器104により、符号化
ブロックのデータと探索領域のデータを用いて図3のフ
ローチャートで示した方法で動きベクトルを検出する。
このとき、水平方向の動きベクトルの探索範囲を−4〜
+4、垂直方向の動きベクトルの探索範囲を−4〜+
4、水平方向の探索精度を4画素、垂直方向の探索精度
を4画素にする。また、最小予測誤差値とその動きベク
トルの初期設定値は与えない。ここで、検出された動き
ベクトルを水平方向HL、垂直方向VLとし、そのとき
の最小予測誤差値をELとする。次に(ステップ20
6)へ行く。 (ステップ206)予測誤差値比較器105を用いて、
高精度演算器103で検出した動きベクトルの予測誤差
値EHと低精度演算器104で検出した動きベクトルの
予測誤差値ELとを比較し、ELがEHよりも小さいと
きはHL、VLを、そうでないときはHH、VHを符号
化ブロックの動きベクトル値として決定する。次に(ス
テップ209)へ行く。 (ステップ207)予測誤差値比較器105で決定した
動きベクトルを動きベクトルメモリ101に格納する。
次に(ステップ208)へ行く。 (ステップ208)符号化フレームの水平ブロックに1
を加算する。次に(ステップ209)へ行く。 (ステップ209)符号化フレームの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合、(ステップ210)へ行く。そうでない場合、
(ステップ203)へ行く。 (ステップ210)符号化フレームの水平ブロックを0
にリセットする。符号化ブロックの垂直ブロックに1を
加算する。次に(ステップ211)へ行く。 (ステップ212)符号化フレームの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合、処理を終了する。そうでない場合、(ステップ
203)へ行く。
【0025】なお、ここでは、高精度演算器103およ
び低精度演算器104でそれぞれ動きベクトルを検出し
た後に、予測誤差値比較器105でそれらの予測誤差値
を比較することにより、符号化ブロックの動きベクトル
の決定を行っているが、高精度演算器103において符
号化ブロックと各探索点に対応するブロックとのすべて
の予測誤差値を抽出し、低精度演算器104において符
号化ブロックと各探索点に対応するブロックとのすべて
の予測誤差値を抽出し、予測誤差値比較器105におい
てそれらのすべての予測誤差値を比較することにより、
符号化ブロックの動きベクトルを決定してもよい。
び低精度演算器104でそれぞれ動きベクトルを検出し
た後に、予測誤差値比較器105でそれらの予測誤差値
を比較することにより、符号化ブロックの動きベクトル
の決定を行っているが、高精度演算器103において符
号化ブロックと各探索点に対応するブロックとのすべて
の予測誤差値を抽出し、低精度演算器104において符
号化ブロックと各探索点に対応するブロックとのすべて
の予測誤差値を抽出し、予測誤差値比較器105におい
てそれらのすべての予測誤差値を比較することにより、
符号化ブロックの動きベクトルを決定してもよい。
【0026】図3は、動きベクトル検出器のフローチャ
ートである。以下に、処理手順を示す。 (ステップ301)水平方向の動きベクトルの探索範囲
をH_SRT〜H_END、垂直方向の動きベクトルの
探索範囲をV_SRT〜V_END、水平方向の探索精
度をH_INTERVAL、垂直方向の探索精度をV_
INTERVALに設定する。次に(ステップ302)
へ行く。 (ステップ302)予測誤差値の最小値とその動きベク
トルの初期設定をする。初期値が与えられた場合はその
値を設定する。初期値が与えられない場合は、最小予測
誤差値として取り得る最大値より大きな値を設定し、動
きベクトルの初期値を設定しない。次に(ステップ30
3)へ行く。 (ステップ303)水平動きベクトルをH_SRTに、
垂直動きベクトルをV_SRTに設定する。次に(ステ
ップ304)へ行く。 (ステップ304)初期設定をした動きベクトル値かど
うかを調べる。そうならば、次に(ステップ310)へ
行く。そうでなければ(ステップ305)へ行く。 (ステップ305)探索領域内の符号化ブロックの対応
位置から動きベクトル分ずれた位置のブロックである参
照ブロックを作成する。次に(ステップ306)へ行
く。 (ステップ306)符号化ブロックと参照ブロックとの
予測誤差値を求める。ここでは予測誤差値の算出方法と
して、ブロック間の対応画素の差分値の絶対値和を用い
る。次に(ステップ307)へ行く。 (ステップ307)算出した予測誤差値と最小予測誤差
値を比較する。算出した予測誤差値が最小予測誤差値よ
り小さい場合には(ステップ308)へ行く。そうでな
い場合には(ステップ310)へ行く。 (ステップ308)最小予測誤差値を算出した予測誤差
値に更新する。次に(ステップ309)へ行く。 (ステップ309)最小評価誤差値に対応する動きベク
トルを更新する。次に(ステップ310)へ行く。 (ステップ310)水平動きベクトルにH_INTER
VALを加算する。次に(ステップ311)に行く。 (ステップ311)水平動きベクトルがH_ENDより
大きいかどうかを調べる。大きい場合(312)に行
く。そうでない場合には(ステップ304)に行く。 (ステップ312)水平動きベクトルをH_SRTに設
定する。垂直動きベクトルにV_INTERVALを加
算する。次に(ステップ313)へ行く。 (ステップ313)垂直動きベクトルがV_ENDより
大きいかどうかを調べる。大きい場合(314)へ行
く。そうでない場合には(ステップ304)に行く。 (ステップ314)最小評価誤差関数の動きベクトルを
動きベクトルとして検出する。処理を終了する。
ートである。以下に、処理手順を示す。 (ステップ301)水平方向の動きベクトルの探索範囲
をH_SRT〜H_END、垂直方向の動きベクトルの
探索範囲をV_SRT〜V_END、水平方向の探索精
度をH_INTERVAL、垂直方向の探索精度をV_
INTERVALに設定する。次に(ステップ302)
へ行く。 (ステップ302)予測誤差値の最小値とその動きベク
トルの初期設定をする。初期値が与えられた場合はその
値を設定する。初期値が与えられない場合は、最小予測
誤差値として取り得る最大値より大きな値を設定し、動
きベクトルの初期値を設定しない。次に(ステップ30
3)へ行く。 (ステップ303)水平動きベクトルをH_SRTに、
垂直動きベクトルをV_SRTに設定する。次に(ステ
ップ304)へ行く。 (ステップ304)初期設定をした動きベクトル値かど
うかを調べる。そうならば、次に(ステップ310)へ
行く。そうでなければ(ステップ305)へ行く。 (ステップ305)探索領域内の符号化ブロックの対応
位置から動きベクトル分ずれた位置のブロックである参
照ブロックを作成する。次に(ステップ306)へ行
く。 (ステップ306)符号化ブロックと参照ブロックとの
予測誤差値を求める。ここでは予測誤差値の算出方法と
して、ブロック間の対応画素の差分値の絶対値和を用い
る。次に(ステップ307)へ行く。 (ステップ307)算出した予測誤差値と最小予測誤差
値を比較する。算出した予測誤差値が最小予測誤差値よ
り小さい場合には(ステップ308)へ行く。そうでな
い場合には(ステップ310)へ行く。 (ステップ308)最小予測誤差値を算出した予測誤差
値に更新する。次に(ステップ309)へ行く。 (ステップ309)最小評価誤差値に対応する動きベク
トルを更新する。次に(ステップ310)へ行く。 (ステップ310)水平動きベクトルにH_INTER
VALを加算する。次に(ステップ311)に行く。 (ステップ311)水平動きベクトルがH_ENDより
大きいかどうかを調べる。大きい場合(312)に行
く。そうでない場合には(ステップ304)に行く。 (ステップ312)水平動きベクトルをH_SRTに設
定する。垂直動きベクトルにV_INTERVALを加
算する。次に(ステップ313)へ行く。 (ステップ313)垂直動きベクトルがV_ENDより
大きいかどうかを調べる。大きい場合(314)へ行
く。そうでない場合には(ステップ304)に行く。 (ステップ314)最小評価誤差関数の動きベクトルを
動きベクトルとして検出する。処理を終了する。
【0027】なお、図3の動きベクトルの初期設定は3
ステップ法の第2ステップや第3ステップなどの、あら
かじめ前ステップの動きベクトル値が算出されている場
合にその検出結果を用いる時などに行われる。
ステップ法の第2ステップや第3ステップなどの、あら
かじめ前ステップの動きベクトル値が算出されている場
合にその検出結果を用いる時などに行われる。
【0028】次に、探索情報算出器102による候補ベ
クトルの算出方法について説明する。
クトルの算出方法について説明する。
【0029】図4は、候補ベクトルの算出方法を説明す
るための図である。符号化は左上のブロックから右方向
に順次行われて行き、1水平マクロブロックラインの処
理が終了したならば次の水平マクロブロックラインの処
理を行うとする。ここでは、符号化ブロックの隣接する
4ブロックである上ブロック、左ブロック、左上ブロッ
ク、右下ブロックの水平値、垂直値ごとの動きベクトル
の平均値を予測値として用いている。このとき動きベク
トルメモリ702に必要な容量は水平方向のブロック数
+1の動きベクトルに対応する容量である。
るための図である。符号化は左上のブロックから右方向
に順次行われて行き、1水平マクロブロックラインの処
理が終了したならば次の水平マクロブロックラインの処
理を行うとする。ここでは、符号化ブロックの隣接する
4ブロックである上ブロック、左ブロック、左上ブロッ
ク、右下ブロックの水平値、垂直値ごとの動きベクトル
の平均値を予測値として用いている。このとき動きベク
トルメモリ702に必要な容量は水平方向のブロック数
+1の動きベクトルに対応する容量である。
【0030】なお、候補ベクトルの算出方法として動き
ベクトルの平均値の代わりに動きベクトルの中央値や最
多頻度値を用いることもできる。
ベクトルの平均値の代わりに動きベクトルの中央値や最
多頻度値を用いることもできる。
【0031】図5は候補ベクトルの算出を行い2つの精
度の異なる探索を行う方法(候補ベクトルの算出を用い
た2精度法)の場合の動きベクトルの探索数を表してい
る。図で示すように、高精度演算器103で候補ベクト
ルとそれに隣接する8画素を探索するとした場合探索数
が9、低精度演算器104では探索数が9となり、総探
索数は18となる。
度の異なる探索を行う方法(候補ベクトルの算出を用い
た2精度法)の場合の動きベクトルの探索数を表してい
る。図で示すように、高精度演算器103で候補ベクト
ルとそれに隣接する8画素を探索するとした場合探索数
が9、低精度演算器104では探索数が9となり、総探
索数は18となる。
【0032】ここで、高精度演算器103の探索点にお
ける動きベクトル値が符号化ブロックの動きベクトル値
になるのは、ブロックの領域が静止状態、パン・ズー
ム、同一速度の移動物体などの場合である。低精度演算
器 104の探索点における動きベクトル値が符号化ブ
ロックの動きベクトル値になるのは、速度の異なる領域
の境界や前フレームに存在しない領域などの場合であ
る。低精度演算器104を設けることにより候補ベクト
ルの隣接領域に動きベクトルがない場合においても全探
索領域における動きベクトルの探索を行うため大幅な動
きベクトル誤りがなくなり、画質の劣化を防ぐことがで
きる。
ける動きベクトル値が符号化ブロックの動きベクトル値
になるのは、ブロックの領域が静止状態、パン・ズー
ム、同一速度の移動物体などの場合である。低精度演算
器 104の探索点における動きベクトル値が符号化ブ
ロックの動きベクトル値になるのは、速度の異なる領域
の境界や前フレームに存在しない領域などの場合であ
る。低精度演算器104を設けることにより候補ベクト
ルの隣接領域に動きベクトルがない場合においても全探
索領域における動きベクトルの探索を行うため大幅な動
きベクトル誤りがなくなり、画質の劣化を防ぐことがで
きる。
【0033】以上のように、第1実施例の映像符号化装
置を用いることにより、高精度演算器103と低精度演
算器104の処理を並列に行うことにより、動きベクト
ルの検出を1ステップで行うことが可能となるため、3
ステップ法と比較して処理時間が約1/3に削減される
かそれを避けるためのパイプライン処理による回路増加
を不要にすることができる。また、動きベクトルの探索
数が全探索法と比較して1/10以下に削減できる。さ
らに、探索情報算出器102により候補ベクトルの精度
を向上させることと、低精度演算器104を設けること
により大幅な動きベクトル誤りがなくすことに全探索法
に近い画質に向上することが可能となる。
置を用いることにより、高精度演算器103と低精度演
算器104の処理を並列に行うことにより、動きベクト
ルの検出を1ステップで行うことが可能となるため、3
ステップ法と比較して処理時間が約1/3に削減される
かそれを避けるためのパイプライン処理による回路増加
を不要にすることができる。また、動きベクトルの探索
数が全探索法と比較して1/10以下に削減できる。さ
らに、探索情報算出器102により候補ベクトルの精度
を向上させることと、低精度演算器104を設けること
により大幅な動きベクトル誤りがなくすことに全探索法
に近い画質に向上することが可能となる。
【0034】なお、ここでは探索精度を1画素としてい
るが、0.5画素精度にした場合、図5における高精度
動きベクトル検出の9点の探索点に加え、0.5画素精
度における近傍8画素の探索点との合計17点の探索を
1ステップで行うことにより、動きベクトルを検出す
る。すなわち、0.5画素精度においても1ステップで
動きベクトルを検出することが可能となる。
るが、0.5画素精度にした場合、図5における高精度
動きベクトル検出の9点の探索点に加え、0.5画素精
度における近傍8画素の探索点との合計17点の探索を
1ステップで行うことにより、動きベクトルを検出す
る。すなわち、0.5画素精度においても1ステップで
動きベクトルを検出することが可能となる。
【0035】(実施例2)第1実施例による削減では装
置実現上支障があり、さらなる削減が必要な場合があ
る。
置実現上支障があり、さらなる削減が必要な場合があ
る。
【0036】そこで、第2実施例では、動きベクトルメ
モリを直前の動きベクトル値に必要な容量に削減し、候
補ベクトルとしてそのまま直前の動きベクトル値を用い
ることにより、動きベクトルを検出することが可能な動
きベクトル符号化装置について述べる。
モリを直前の動きベクトル値に必要な容量に削減し、候
補ベクトルとしてそのまま直前の動きベクトル値を用い
ることにより、動きベクトルを検出することが可能な動
きベクトル符号化装置について述べる。
【0037】以下に、本発明の第2実施例における映像
符号化装置について図面を用いて説明する。
符号化装置について図面を用いて説明する。
【0038】図6は本発明の第2実施例における映像符
号化装置の構成図である。ここでは、図15で示した従
来例における映像符号化装置の動きベクトル検出器10
4が異なるため、それらの構成を記載している。
号化装置の構成図である。ここでは、図15で示した従
来例における映像符号化装置の動きベクトル検出器10
4が異なるため、それらの構成を記載している。
【0039】図6において、動きベクトルの検出を行う
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。601は動きベクトルメモリ
で、直前の符号化ブロックの動きベクトル値を格納す
る。602は高精度演算器で、動きベクトルメモリ60
1に格納された動きベクトル値より予測されるブロック
を含み参照フレーム上の探索領域より小さい第2の探索
領域を設定し、第2の探索領域内を1画素以下の精度で
候補ベクトルを設定してその候補ベクトルごとに予測誤
差値を算出する。603は低精度演算器で、参照フレー
ム上の第1の探索領域内を2画素以上の精度で候補ベク
トルを設定してその候補ベクトルごとに予測誤差値を算
出する。604は予測誤差値比較器で、高精度演算器6
02により算出された予測誤差値と低精度演算器603
により算出された予測誤差値とを比較することにより符
号化ブロックの動きベクトル値を決定する。
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。601は動きベクトルメモリ
で、直前の符号化ブロックの動きベクトル値を格納す
る。602は高精度演算器で、動きベクトルメモリ60
1に格納された動きベクトル値より予測されるブロック
を含み参照フレーム上の探索領域より小さい第2の探索
領域を設定し、第2の探索領域内を1画素以下の精度で
候補ベクトルを設定してその候補ベクトルごとに予測誤
差値を算出する。603は低精度演算器で、参照フレー
ム上の第1の探索領域内を2画素以上の精度で候補ベク
トルを設定してその候補ベクトルごとに予測誤差値を算
出する。604は予測誤差値比較器で、高精度演算器6
02により算出された予測誤差値と低精度演算器603
により算出された予測誤差値とを比較することにより符
号化ブロックの動きベクトル値を決定する。
【0040】図7は、図6で示した詳細ブロックの動作
を説明するフローチャートである。以下に2フレーム目
以降の1フレームの映像データについて処理手順を示
す。 (ステップ701)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
702)へ行く。 (ステップ702)動きベクトルメモリ601の水平方
向をHP、垂直方向をVPとし、共に0に初期設定す
る。次に、(ステップ703)および(ステップ70
4)へ行く。 (ステップ703)高精度演算器602により、符号化
ブロックのデータと探索領域のデータを用いて図8のフ
ローチャートで示した方法で動きベクトルを検出する。
動きベクトルメモリ601に格納された値を中心に隣接
する8画素を探索するとしたとき、水平方向の動きベク
トルの探索範囲をHP−1〜HP+1、垂直方向の動き
ベクトルの探索範囲をVP−1〜+VP+1、水平方向
の探索精度を1画素、垂直方向の探索精度を1画素にす
る。また、最小予測誤差値とその動きベクトルの初期設
定値を与えない。ここで、検出された動きベクトルを水
平方向HH、垂直方向VHとし、そのときの最小予測誤
差値をEHとする。次に(ステップ705)へ行く。 (ステップ704)低精度演算器603により、符号化
ブロックのデータと探索領域のデータを用いて図8のフ
ローチャートで示した方法で動きベクトルを検出する。
このとき、水平方向の動きベクトルの探索範囲を−4〜
+4、垂直方向の動きベクトルの探索範囲を−4〜+
4、水平方向の探索精度を4画素、垂直方向の探索精度
を4画素にする。また、最小予測誤差値とその動きベク
トルの初期設定値は与えない。ここで、検出された動き
ベクトルを水平方向HL、垂直方向VLとし、そのとき
の予測誤差値をELとする。次に(ステップ705)へ
行く。 (ステップ705)予測誤差値比較器604を用いて、
高精度演算器602で検出した動きベクトルの予測誤差
値EHと低精度演算器603で検出した動きベクトルの
予測誤差値ELとを比較し、ELがEHよりも小さいと
きはHL、VLを、そうでないときはHH、VHを符号
化ブロックの動きベクトル値として決定する。次に(ス
テップ706)へ行く。 (ステップ706)予測誤差値比較器604で決定した
動きベクトルを動きベクトルメモリ601に格納する。
次に(ステップ707)へ行く。 (ステップ707)符号化フレームの水平ブロックに1
を加算する。次に(ステップ708)へ行く。 (ステップ708)符号化フレームの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合には、(ステップ709)へ行く。そうでない場
合には、(ステップ703)および(ステップ704)
へ行く。 (ステップ709)符号化フレームの水平ブロックを0
にリセットする。符号化ブロックの垂直ブロックに1を
加算する。次に(ステップ710)へ行く。 (ステップ710)符号化フレームの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合、処理を終了する。そうでない場合には、(ステ
ップ702)へ行く。
を説明するフローチャートである。以下に2フレーム目
以降の1フレームの映像データについて処理手順を示
す。 (ステップ701)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
702)へ行く。 (ステップ702)動きベクトルメモリ601の水平方
向をHP、垂直方向をVPとし、共に0に初期設定す
る。次に、(ステップ703)および(ステップ70
4)へ行く。 (ステップ703)高精度演算器602により、符号化
ブロックのデータと探索領域のデータを用いて図8のフ
ローチャートで示した方法で動きベクトルを検出する。
動きベクトルメモリ601に格納された値を中心に隣接
する8画素を探索するとしたとき、水平方向の動きベク
トルの探索範囲をHP−1〜HP+1、垂直方向の動き
ベクトルの探索範囲をVP−1〜+VP+1、水平方向
の探索精度を1画素、垂直方向の探索精度を1画素にす
る。また、最小予測誤差値とその動きベクトルの初期設
定値を与えない。ここで、検出された動きベクトルを水
平方向HH、垂直方向VHとし、そのときの最小予測誤
差値をEHとする。次に(ステップ705)へ行く。 (ステップ704)低精度演算器603により、符号化
ブロックのデータと探索領域のデータを用いて図8のフ
ローチャートで示した方法で動きベクトルを検出する。
このとき、水平方向の動きベクトルの探索範囲を−4〜
+4、垂直方向の動きベクトルの探索範囲を−4〜+
4、水平方向の探索精度を4画素、垂直方向の探索精度
を4画素にする。また、最小予測誤差値とその動きベク
トルの初期設定値は与えない。ここで、検出された動き
ベクトルを水平方向HL、垂直方向VLとし、そのとき
の予測誤差値をELとする。次に(ステップ705)へ
行く。 (ステップ705)予測誤差値比較器604を用いて、
高精度演算器602で検出した動きベクトルの予測誤差
値EHと低精度演算器603で検出した動きベクトルの
予測誤差値ELとを比較し、ELがEHよりも小さいと
きはHL、VLを、そうでないときはHH、VHを符号
化ブロックの動きベクトル値として決定する。次に(ス
テップ706)へ行く。 (ステップ706)予測誤差値比較器604で決定した
動きベクトルを動きベクトルメモリ601に格納する。
次に(ステップ707)へ行く。 (ステップ707)符号化フレームの水平ブロックに1
を加算する。次に(ステップ708)へ行く。 (ステップ708)符号化フレームの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合には、(ステップ709)へ行く。そうでない場
合には、(ステップ703)および(ステップ704)
へ行く。 (ステップ709)符号化フレームの水平ブロックを0
にリセットする。符号化ブロックの垂直ブロックに1を
加算する。次に(ステップ710)へ行く。 (ステップ710)符号化フレームの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合、処理を終了する。そうでない場合には、(ステ
ップ702)へ行く。
【0041】なお、ここでは高精度演算器602および
低精度演算器603でそれぞれ動きベクトルを検出した
後に予測誤差値比較器604でそれらの予測誤差値を比
較することにより符号化ブロックの動きベクトルの決定
を行っているが、高精度演算器602において符号化ブ
ロックと各探索点に対応するブロックとのすべての予測
誤差値を抽出し、低精度演算器603において符号化ブ
ロックと各探索点に対応するブロックとのすべての予測
誤差値を抽出し、予測誤差値比較器604においてそれ
らのすべての予測誤差値を比較することにより符号化ブ
ロックの動きベクトルを決定してもよい。
低精度演算器603でそれぞれ動きベクトルを検出した
後に予測誤差値比較器604でそれらの予測誤差値を比
較することにより符号化ブロックの動きベクトルの決定
を行っているが、高精度演算器602において符号化ブ
ロックと各探索点に対応するブロックとのすべての予測
誤差値を抽出し、低精度演算器603において符号化ブ
ロックと各探索点に対応するブロックとのすべての予測
誤差値を抽出し、予測誤差値比較器604においてそれ
らのすべての予測誤差値を比較することにより符号化ブ
ロックの動きベクトルを決定してもよい。
【0042】以上のように、第2実施例の動きベクトル
符号化装置を用いることにより、直前の動きベクトル値
を候補ベクトルに用いて、候補ベクトル算出器をなくす
ことと動きベクトルメモリの容量を直前の動きベクトル
値のみに削減することができ、第1実施例よりも簡単な
構成で動きベクトルの検出が可能となる。さらに、垂直
方向1/2画素間引きを行うことにより、構成チャンネ
ルを減らすことが可能である。
符号化装置を用いることにより、直前の動きベクトル値
を候補ベクトルに用いて、候補ベクトル算出器をなくす
ことと動きベクトルメモリの容量を直前の動きベクトル
値のみに削減することができ、第1実施例よりも簡単な
構成で動きベクトルの検出が可能となる。さらに、垂直
方向1/2画素間引きを行うことにより、構成チャンネ
ルを減らすことが可能である。
【0043】さらなる回路削減手法として、画素間引き
を併用することができる。特に垂直ラインを1画素づつ
間引き(垂直方向1/2画素間引きと呼ぶ)、1フィー
ルドのデータのみで動きベクトルの検出を行うことによ
り動きベクトル検出に必要な探索領域の画素データが半
分になり、メモリアクセスに必要な時間が半減できるた
め、システムクロックの速い回路において、画素間引き
を用いない場合複数チャンネルで構成していたものに対
し、構成チャンネル数を減らすことが可能となる。
を併用することができる。特に垂直ラインを1画素づつ
間引き(垂直方向1/2画素間引きと呼ぶ)、1フィー
ルドのデータのみで動きベクトルの検出を行うことによ
り動きベクトル検出に必要な探索領域の画素データが半
分になり、メモリアクセスに必要な時間が半減できるた
め、システムクロックの速い回路において、画素間引き
を用いない場合複数チャンネルで構成していたものに対
し、構成チャンネル数を減らすことが可能となる。
【0044】本実施例の映像符号化装置は、高精度演算
器と低精度演算器の処理を並列に行うことにより、動き
ベクトルの検出を1ステップで行うことが可能となるた
め、3ステップ法と比較して処理時間が削減されるかそ
れを避けるためのパイプライン処理による回路増加を不
要にすることができる。また、動きベクトルの探索数が
全探索と比較して大幅に削減できる。その上、直前の動
きベクトル値を候補ベクトルとして用いることにより、
候補算出器をなくし動きベクトルメモリ容量を直前の動
きベクトル値のみに削減することができる。さらに、垂
直方向1/2間引きを併用すれば、複数チャンネル構成
で実現していた場合、構成チャンネル数を減らすことが
可能となる。また、高精度の探索と低精度の探索を併用
することにより全探索法に近い画質に向上することが可
能となる。
器と低精度演算器の処理を並列に行うことにより、動き
ベクトルの検出を1ステップで行うことが可能となるた
め、3ステップ法と比較して処理時間が削減されるかそ
れを避けるためのパイプライン処理による回路増加を不
要にすることができる。また、動きベクトルの探索数が
全探索と比較して大幅に削減できる。その上、直前の動
きベクトル値を候補ベクトルとして用いることにより、
候補算出器をなくし動きベクトルメモリ容量を直前の動
きベクトル値のみに削減することができる。さらに、垂
直方向1/2間引きを併用すれば、複数チャンネル構成
で実現していた場合、構成チャンネル数を減らすことが
可能となる。また、高精度の探索と低精度の探索を併用
することにより全探索法に近い画質に向上することが可
能となる。
【0045】(実施例3)従来の方式では、最小の予測
誤差値となる動きベクトルを符号化ブロックの動きベク
トルと決定しているので、符号化ブロックと探索領域が
共に背景の同一輝度の壁などの同一パターンの領域では
相関値の差が小さくなり、動きベクトル値がさまざまな
値に分散する場合がある。
誤差値となる動きベクトルを符号化ブロックの動きベク
トルと決定しているので、符号化ブロックと探索領域が
共に背景の同一輝度の壁などの同一パターンの領域では
相関値の差が小さくなり、動きベクトル値がさまざまな
値に分散する場合がある。
【0046】実施例1、実施例2で示した手法では、符
号化ブロックに隣接するブロックの検出済みの動きベク
トル値を用いて詳細に探索する領域を決定している。し
かし、このような方式では、同一パターンの領域におけ
る動きベクトルの検出では、隣接するブロックの動きベ
クトル値がさまざまな値に分散するため、符号化ブロッ
クの動きベクトルが詳細に探索する領域に入らなくなる
確率が増大していくため、同一パターン領域の境界で動
きベクトルの予測精度が低下し、符号化効率が低下する
という課題が生じた。
号化ブロックに隣接するブロックの検出済みの動きベク
トル値を用いて詳細に探索する領域を決定している。し
かし、このような方式では、同一パターンの領域におけ
る動きベクトルの検出では、隣接するブロックの動きベ
クトル値がさまざまな値に分散するため、符号化ブロッ
クの動きベクトルが詳細に探索する領域に入らなくなる
確率が増大していくため、同一パターン領域の境界で動
きベクトルの予測精度が低下し、符号化効率が低下する
という課題が生じた。
【0047】また、動きベクトルの符号化方法として、
直前ブロックの動きベクトルとの差分値を可変長符号化
する方法が用いることにより符号化効率が向上する。こ
れは、静止状態やパニング・ズーム時など通常よく現れ
る映像において、移動物体のエッジ以外の領域では差分
値が0の近傍に集中するため、差分値を可変長符号化す
ることにより符号量の削減を図ることが可能であるから
である。
直前ブロックの動きベクトルとの差分値を可変長符号化
する方法が用いることにより符号化効率が向上する。こ
れは、静止状態やパニング・ズーム時など通常よく現れ
る映像において、移動物体のエッジ以外の領域では差分
値が0の近傍に集中するため、差分値を可変長符号化す
ることにより符号量の削減を図ることが可能であるから
である。
【0048】このような符号化方式を用いた場合、動き
ベクトルの検出において、同一パターンの領域の場合、
予測ブロックを決定するための予測誤差値にほとんど差
がなくなり、動きベクトルがさまざまな値で検出される
確率が高まるため、動きベクトルを差分符号化した時、
符号化効率が低下するという課題を有していた。
ベクトルの検出において、同一パターンの領域の場合、
予測ブロックを決定するための予測誤差値にほとんど差
がなくなり、動きベクトルがさまざまな値で検出される
確率が高まるため、動きベクトルを差分符号化した時、
符号化効率が低下するという課題を有していた。
【0049】本実施例は、同一パターンの領域におい
て、直前に符号化した動きベクトル値あるいはその近傍
の値を選択する頻度を高めることを可能にしている。
て、直前に符号化した動きベクトル値あるいはその近傍
の値を選択する頻度を高めることを可能にしている。
【0050】以下、本発明の第3実施例の映像符号化装
置について図面を用いて説明する。図8は本発明の第3
実施例における映像符号化装置の構成図である。ここで
は、図1で示した第1実施例における映像符号化装置の
動きベクトルメモリ104および探索情報算出器105
および動きベクトル符号化器107の機能と動きベクト
ル検出器106が異なるため、それらの構成のみを記載
している。
置について図面を用いて説明する。図8は本発明の第3
実施例における映像符号化装置の構成図である。ここで
は、図1で示した第1実施例における映像符号化装置の
動きベクトルメモリ104および探索情報算出器105
および動きベクトル符号化器107の機能と動きベクト
ル検出器106が異なるため、それらの構成のみを記載
している。
【0051】図8において、ブロックに分割された入力
映像データを符号化ブロックとし、符号化ブロックとブ
ロックマッチングを行う参照フレーム上の領域を探索領
域とする。また、符号化ブロックと探索領域が共に背景
の壁などの同一輝度の領域を含む場合、符号化ブロック
が同一パターンブロックであるとする。
映像データを符号化ブロックとし、符号化ブロックとブ
ロックマッチングを行う参照フレーム上の領域を探索領
域とする。また、符号化ブロックと探索領域が共に背景
の壁などの同一輝度の領域を含む場合、符号化ブロック
が同一パターンブロックであるとする。
【0052】同図において、動きベクトルの検出を行う
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。801は動きベクトルメモリ
で、直前の符号化ブロックの動きベクトル値を格納す
る。802は高精度演算器で、動きベクトルメモリ80
1に格納された動きベクトル値より予測されるブロック
を含み参照フレーム上の探索領域より小さい第2の探索
領域を設定し、第2の探索領域内を1画素精度で候補ベ
クトルを設定してその候補ベクトルごとに予測誤差値を
算出する。803は低精度演算器で、参照フレーム上の
第1の探索領域内を4画素精度で候補ベクトルを設定し
てその候補ベクトルごとに予測誤差値を算出する。80
4は予測誤差値比較器で、高精度演算器802により算
出された予測誤差値と低精度演算器803により算出さ
れた予測誤差値とを比較することにより予測誤差が最小
の動きベクトル値を求める。805はブロック分類器
で、予測誤差値群の統計量を用いて符号化ブロックを同
一パターンブロックであるかないかに分類する。806
はスイッチで、ブロック分類器805により符号化ブロ
ックが同一パターンブロックに分類された場合、遅延器
801に格納された動きベクトル値を、そうでない場合
は予測誤差値比較器804で求めた最小の予測誤差値に
対応する動きベクトル値を符号化ブロックの動きベクト
ル値として選択する。807は動きベクトル符号化器
で、スイッチ806により選択された動きベクトル値の
差分値を可変長符号化する。
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。801は動きベクトルメモリ
で、直前の符号化ブロックの動きベクトル値を格納す
る。802は高精度演算器で、動きベクトルメモリ80
1に格納された動きベクトル値より予測されるブロック
を含み参照フレーム上の探索領域より小さい第2の探索
領域を設定し、第2の探索領域内を1画素精度で候補ベ
クトルを設定してその候補ベクトルごとに予測誤差値を
算出する。803は低精度演算器で、参照フレーム上の
第1の探索領域内を4画素精度で候補ベクトルを設定し
てその候補ベクトルごとに予測誤差値を算出する。80
4は予測誤差値比較器で、高精度演算器802により算
出された予測誤差値と低精度演算器803により算出さ
れた予測誤差値とを比較することにより予測誤差が最小
の動きベクトル値を求める。805はブロック分類器
で、予測誤差値群の統計量を用いて符号化ブロックを同
一パターンブロックであるかないかに分類する。806
はスイッチで、ブロック分類器805により符号化ブロ
ックが同一パターンブロックに分類された場合、遅延器
801に格納された動きベクトル値を、そうでない場合
は予測誤差値比較器804で求めた最小の予測誤差値に
対応する動きベクトル値を符号化ブロックの動きベクト
ル値として選択する。807は動きベクトル符号化器
で、スイッチ806により選択された動きベクトル値の
差分値を可変長符号化する。
【0053】前述のように構成された第3実施例の映像
符号化装置の動作を以下に説明する。なおここでは、本
発明の主眼である動きベクトルの検出および符号化方法
についてのみ詳しく説明する。
符号化装置の動作を以下に説明する。なおここでは、本
発明の主眼である動きベクトルの検出および符号化方法
についてのみ詳しく説明する。
【0054】図9は第3実施例の映像符号化装置の動き
ベクトルの検出および符号化方法のフローチャートであ
る。これは、図8のおける構成要素の動作を示してい
る。以下に第2フレーム目の映像データについての処理
手順を示す。 (ステップ901)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
902)へ行く。 (ステップ902)動きベクトルメモリ901の水平方
向、垂直方向共に0に初期設定する。次に(ステップ9
03)および(ステップ904)へ行く。 (ステップ903)高精度演算器802により、動きベ
クトルメモリ801に格納された値より第2の探索領域
を設定し、第2の探索領域内を1画素精度で候補ベクト
ルを設定し、その候補ベクトルごとに予測誤差値を算出
する。次に(ステップ905)へ行く。 (ステップ904)低精度演算器803により、第1の
探索領域内を4画素精度で候補ベクトルを設定してその
候補ベクトルごとに予測誤差値を算出する。次に(ステ
ップ905)へ行く。 (ステップ905)予測誤差値比較器804を用いて、
高精度演算器802と低精度演算器803で求めた予測
誤差値群から最小の予測誤差値の動きベクトルを求め
る。次に(ステップ906)へ行く。 (ステップ906)ブロック分類器805を用いて、同
一パタ−ンブロックであるかを判定する。判定方式とし
て、ここでは低精度演算器803で求めた21個の予測
誤差値の最大値があるしきい値以下の場合、同一パタ−
ンブロックとする。次に(ステップ907)へ行く。 (ステップ907)スイッチ806を用いて、符号化ブ
ロックが同一パタ−ンブロックの場合には、(ステップ
908)へ行く。そうでない場合には、(ステップ90
9)へ行く。 (ステップ908)動きベクトルメモリ801の値を符
号化ブロックの動きベクトル値に決定する。次に(ステ
ップ910)へ行く。 (ステップ909)予測誤差値比較器804で求めた予
測誤差値が最小となる位置の動きベクトル値を符号化ブ
ロックの動きベクトル値に決定する。次に(ステップ9
10)へ行く。 (ステップ910)符号化ブロックの動きベクトル値を
動きベクトルメモリ801に格納する。次に(ステップ
911)へ行く。 (ステップ911)動きベクトル符号化器807を用い
て、スイッチ806により選択された動きベクトル値の
差分値を可変長符号化する。次に(ステップ912)へ
行く。 (ステップ912)符号化ブロックの水平ブロックに1
を加算する。次に(ステップ913)へ行く。 (ステップ913)符号化ブロックの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合には、(ステップ914)へ行く。そうでない場
合には、(ステップ903)へ行く。 (ステップ914)符号化ブロックの水平ブロックを0
に設定する。符号化ブロックの垂直ブロックに1を加算
する。次に(ステップ915)へ行く。 (ステップ915)符号化ブロックの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合には、処理を終了する。そうでない場合には、
(ステップ902)へ行く。
ベクトルの検出および符号化方法のフローチャートであ
る。これは、図8のおける構成要素の動作を示してい
る。以下に第2フレーム目の映像データについての処理
手順を示す。 (ステップ901)フレームの画素数を水平800画素
・垂直800画素とし、ブロックの大きさを水平16画
素・垂直16画素とし、水平ブロックの総数を50、垂
直ブロックの総数を50とし、水平ブロックの初期値を
0、垂直ブロックの初期値を0とする。次に(ステップ
902)へ行く。 (ステップ902)動きベクトルメモリ901の水平方
向、垂直方向共に0に初期設定する。次に(ステップ9
03)および(ステップ904)へ行く。 (ステップ903)高精度演算器802により、動きベ
クトルメモリ801に格納された値より第2の探索領域
を設定し、第2の探索領域内を1画素精度で候補ベクト
ルを設定し、その候補ベクトルごとに予測誤差値を算出
する。次に(ステップ905)へ行く。 (ステップ904)低精度演算器803により、第1の
探索領域内を4画素精度で候補ベクトルを設定してその
候補ベクトルごとに予測誤差値を算出する。次に(ステ
ップ905)へ行く。 (ステップ905)予測誤差値比較器804を用いて、
高精度演算器802と低精度演算器803で求めた予測
誤差値群から最小の予測誤差値の動きベクトルを求め
る。次に(ステップ906)へ行く。 (ステップ906)ブロック分類器805を用いて、同
一パタ−ンブロックであるかを判定する。判定方式とし
て、ここでは低精度演算器803で求めた21個の予測
誤差値の最大値があるしきい値以下の場合、同一パタ−
ンブロックとする。次に(ステップ907)へ行く。 (ステップ907)スイッチ806を用いて、符号化ブ
ロックが同一パタ−ンブロックの場合には、(ステップ
908)へ行く。そうでない場合には、(ステップ90
9)へ行く。 (ステップ908)動きベクトルメモリ801の値を符
号化ブロックの動きベクトル値に決定する。次に(ステ
ップ910)へ行く。 (ステップ909)予測誤差値比較器804で求めた予
測誤差値が最小となる位置の動きベクトル値を符号化ブ
ロックの動きベクトル値に決定する。次に(ステップ9
10)へ行く。 (ステップ910)符号化ブロックの動きベクトル値を
動きベクトルメモリ801に格納する。次に(ステップ
911)へ行く。 (ステップ911)動きベクトル符号化器807を用い
て、スイッチ806により選択された動きベクトル値の
差分値を可変長符号化する。次に(ステップ912)へ
行く。 (ステップ912)符号化ブロックの水平ブロックに1
を加算する。次に(ステップ913)へ行く。 (ステップ913)符号化ブロックの水平ブロックが水
平ブロックの総数である50に等しいかを調べる。等し
い場合には、(ステップ914)へ行く。そうでない場
合には、(ステップ903)へ行く。 (ステップ914)符号化ブロックの水平ブロックを0
に設定する。符号化ブロックの垂直ブロックに1を加算
する。次に(ステップ915)へ行く。 (ステップ915)符号化ブロックの垂直ブロックが垂
直ブロックの総数である50に等しいかを調べる。等し
い場合には、処理を終了する。そうでない場合には、
(ステップ902)へ行く。
【0055】ここで、同一パタ−ンブロックの判定につ
いて図14を用いて説明する。図14は予測誤差値を用
いて同一パターンブロックを判定するための動きベクト
ル値に対する予測誤差値の分布の説明図を表している。
いて図14を用いて説明する。図14は予測誤差値を用
いて同一パターンブロックを判定するための動きベクト
ル値に対する予測誤差値の分布の説明図を表している。
【0056】図14(a)は、符号化ブロックと探索領
域が共に、背景の同一輝度の壁などに現れる同一パター
ンの領域と異なる領域(以下、通常領域と呼ぶ)にある
場合の動きベクトル検出を示している。また図14
(b)は、通常領域における動きベクトル値に対する予
測誤差値の分布を表している。動きベクトル値は水平と
垂直の2次元で表すことができるが、ここでは最小とな
る予測誤差値を含む水平または垂直方向の予測誤差値を
示している。通常領域では符号化ブロックと一致するブ
ロックは探索領域に1つであるため、一致する位置では
予測誤差値が小さな値となりそれ以外のところでは予測
誤差値が大きくなる。
域が共に、背景の同一輝度の壁などに現れる同一パター
ンの領域と異なる領域(以下、通常領域と呼ぶ)にある
場合の動きベクトル検出を示している。また図14
(b)は、通常領域における動きベクトル値に対する予
測誤差値の分布を表している。動きベクトル値は水平と
垂直の2次元で表すことができるが、ここでは最小とな
る予測誤差値を含む水平または垂直方向の予測誤差値を
示している。通常領域では符号化ブロックと一致するブ
ロックは探索領域に1つであるため、一致する位置では
予測誤差値が小さな値となりそれ以外のところでは予測
誤差値が大きくなる。
【0057】一方、図14(c)は、符号化ブロックと
探索領域が共に背景の同一輝度の壁などに現れる同一パ
タ−ンの領域(以下、同一パターン領域と呼ぶ)にある
場合の動きベクトル検出を示している。また図14
(d)は、同一パタ−ン領域における動きベクトル値に
対する予測誤差値の分布を表している。同一パタ−ン領
域では符号化ブロックと探索領域内の予測ブロックが同
様の輝度になっているため、予測誤差値はすべての動き
ベクトル値に対して小さな値となりその変動も小さい。
探索領域が共に背景の同一輝度の壁などに現れる同一パ
タ−ンの領域(以下、同一パターン領域と呼ぶ)にある
場合の動きベクトル検出を示している。また図14
(d)は、同一パタ−ン領域における動きベクトル値に
対する予測誤差値の分布を表している。同一パタ−ン領
域では符号化ブロックと探索領域内の予測ブロックが同
様の輝度になっているため、予測誤差値はすべての動き
ベクトル値に対して小さな値となりその変動も小さい。
【0058】よって、同一パタ−ン領域ではわずかな予
測誤差値の差により動きベクトルが決定されるので、動
きベクトル値がさまざまな値に分散し、符号化ブロック
の動きベクトルが詳細に探索する領域に入らなくなる確
率が増大していくため、同一パターン領域の境界で動き
ベクトルの予測精度が低下し、符号化効率が低下する。
また、動きベクトル値を差分符号化する場合符号化効率
が低下する。そこで同一パタ−ンブロックと判定した場
合、動きベクトル値として直前の符号化ブロックの動き
ベクトル値を用いることにより動きベクトルの符号化効
率の向上を図る。
測誤差値の差により動きベクトルが決定されるので、動
きベクトル値がさまざまな値に分散し、符号化ブロック
の動きベクトルが詳細に探索する領域に入らなくなる確
率が増大していくため、同一パターン領域の境界で動き
ベクトルの予測精度が低下し、符号化効率が低下する。
また、動きベクトル値を差分符号化する場合符号化効率
が低下する。そこで同一パタ−ンブロックと判定した場
合、動きベクトル値として直前の符号化ブロックの動き
ベクトル値を用いることにより動きベクトルの符号化効
率の向上を図る。
【0059】図10(c)で示したブロックマッチング
のパターンにおいて、図10(d)で示した予測誤差値
の分布から次の2つの特徴が見い出される。 (A)探索領域内にあるブロックに対する予測誤差値が
すべて小さな値である。 (B)探索領域内にあるブロックに対する予測誤差値の
変動が小さい。
のパターンにおいて、図10(d)で示した予測誤差値
の分布から次の2つの特徴が見い出される。 (A)探索領域内にあるブロックに対する予測誤差値が
すべて小さな値である。 (B)探索領域内にあるブロックに対する予測誤差値の
変動が小さい。
【0060】(A)の特徴により、以下の判定方法を用
いることができる。 (a)予測誤差値の最大値がしきい値以下の場合。 (b)予測誤差値の平均値がしきい値以下の場合。
いることができる。 (a)予測誤差値の最大値がしきい値以下の場合。 (b)予測誤差値の平均値がしきい値以下の場合。
【0061】(B)の特徴により、以下の判定方法を用
いることができる。 (c)予測誤差値の分散値がしきい値以下の場合。 (d)予測誤差値の平均値と各予測誤差値との差分絶対
値の和がしきい値以下の場合。 (e)予測誤差値の最大値と最小値の差がしきい値以下
の場合。
いることができる。 (c)予測誤差値の分散値がしきい値以下の場合。 (d)予測誤差値の平均値と各予測誤差値との差分絶対
値の和がしきい値以下の場合。 (e)予測誤差値の最大値と最小値の差がしきい値以下
の場合。
【0062】これらの特徴を用いて同一パターンブロッ
クの判定を行うことが可能である。本実施例では簡単な
構成で実現可能な(a)を用いているが、その他の方法
を用いてもよい。
クの判定を行うことが可能である。本実施例では簡単な
構成で実現可能な(a)を用いているが、その他の方法
を用いてもよい。
【0063】以上のように、第3実施例の映像符号化装
置を用いることにより、同一パターンブロックにおいて
符号化ブロックの動きベクトル値が直前の符号化ブロッ
クの動きベクトル値にすることが可能となり、同一パタ
ーン領域の境界で動きベクトルが詳細に探索される領域
で検出される確率が大きくなるため、符号化効率が向上
する。また、動きベクトルの差分値が0になる頻度が高
まり、動きベクトルの差分値を可変長符号化することに
より、動きベクトルの符号化効率を向上させることがで
きる。
置を用いることにより、同一パターンブロックにおいて
符号化ブロックの動きベクトル値が直前の符号化ブロッ
クの動きベクトル値にすることが可能となり、同一パタ
ーン領域の境界で動きベクトルが詳細に探索される領域
で検出される確率が大きくなるため、符号化効率が向上
する。また、動きベクトルの差分値が0になる頻度が高
まり、動きベクトルの差分値を可変長符号化することに
より、動きベクトルの符号化効率を向上させることがで
きる。
【0064】なお、ここではブロック分類器で用いる予
測誤差値を低精度演算器から求めた予測誤差値群より求
めているが、全探索法や3ステップ法の第1ステップな
どにも用いてもよい。
測誤差値を低精度演算器から求めた予測誤差値群より求
めているが、全探索法や3ステップ法の第1ステップな
どにも用いてもよい。
【0065】(実施例4)第3実施例では全探索領域が
同一パタ−ン領域になる場合であるが、同一パタ−ン領
域の境界近傍の符号化ブロックでは探索領域がすべて同
一パターン領域に含まれるとは限らないため、第3実施
例で示した方法では同一パタ−ンブロックとは判定され
ない場合がある。そこで第4実施例では、探索領域が同
一パタ−ン領域の境界を含む場合においても同一パタ−
ンブロックの判定を行うことが可能な映像符号化装置に
ついて述べる。
同一パタ−ン領域になる場合であるが、同一パタ−ン領
域の境界近傍の符号化ブロックでは探索領域がすべて同
一パターン領域に含まれるとは限らないため、第3実施
例で示した方法では同一パタ−ンブロックとは判定され
ない場合がある。そこで第4実施例では、探索領域が同
一パタ−ン領域の境界を含む場合においても同一パタ−
ンブロックの判定を行うことが可能な映像符号化装置に
ついて述べる。
【0066】以下、本発明の第4実施例の映像符号化装
置について図面を用いて説明する。図11は本発明の第
3実施例における映像符号化装置の構成図である。ここ
では、図1で示した第1実施例における映像符号化装置
の動きベクトルメモリ104および探索情報算出器10
5および動きベクトル符号化器107の機能と動きベク
トル検出器106が異なるため、それらの構成のみを記
載している。
置について図面を用いて説明する。図11は本発明の第
3実施例における映像符号化装置の構成図である。ここ
では、図1で示した第1実施例における映像符号化装置
の動きベクトルメモリ104および探索情報算出器10
5および動きベクトル符号化器107の機能と動きベク
トル検出器106が異なるため、それらの構成のみを記
載している。
【0067】図11において、ブロックに分割された入
力映像データを符号化ブロックとし、符号化ブロックと
ブロックマッチングを行う参照フレーム上の領域を探索
領域とする。また、符号化ブロックと探索領域が共に背
景の壁などの同一輝度の領域を含む場合、符号化ブロッ
クが同一パターンブロックであるとする。
力映像データを符号化ブロックとし、符号化ブロックと
ブロックマッチングを行う参照フレーム上の領域を探索
領域とする。また、符号化ブロックと探索領域が共に背
景の壁などの同一輝度の領域を含む場合、符号化ブロッ
クが同一パターンブロックであるとする。
【0068】同図において、動きベクトルの検出を行う
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。1101は動きベクトルメモ
リで、直前の符号化ブロックの動きベクトル値を格納す
る。1102は高精度演算器で、動きベクトルメモリ1
101に格納された動きベクトル値より予測されるブロ
ックを含み参照フレーム上の探索領域より小さい第2の
探索領域を設定し、第2の探索領域内を1画素精度で候
補ベクトルを設定してその候補ベクトルごとに予測誤差
値を算出する。1103は低精度演算器で、参照フレー
ム上の第1の探索領域内を4画素精度で候補ベクトルを
設定してその候補ベクトルごとに予測誤差値を算出す
る。1104は予測誤差値比較器で、高精度演算器11
02により算出された予測誤差値と低精度演算器110
3により算出された予測誤差値とを比較することにより
予測誤差が最小の動きベクトル値を求める。1105は
ブロック分類器で、予測誤差値群の統計量を用いて符号
化ブロックを同一パターンブロックであるかないかに分
類する。1106は重み付け器で、ブロック分類器11
05により符号化ブロックが同一パターンブロックに分
類された場合、高精度演算器および低精度演算器で求め
られた予測誤差値に重み付けを行う。1107は動きベ
クトル符号化器で、動きベクトル値の差分値を可変長符
号化する。
ためのあらかじめ設定された参照フレーム上の探索領域
を第1の探索領域とする。1101は動きベクトルメモ
リで、直前の符号化ブロックの動きベクトル値を格納す
る。1102は高精度演算器で、動きベクトルメモリ1
101に格納された動きベクトル値より予測されるブロ
ックを含み参照フレーム上の探索領域より小さい第2の
探索領域を設定し、第2の探索領域内を1画素精度で候
補ベクトルを設定してその候補ベクトルごとに予測誤差
値を算出する。1103は低精度演算器で、参照フレー
ム上の第1の探索領域内を4画素精度で候補ベクトルを
設定してその候補ベクトルごとに予測誤差値を算出す
る。1104は予測誤差値比較器で、高精度演算器11
02により算出された予測誤差値と低精度演算器110
3により算出された予測誤差値とを比較することにより
予測誤差が最小の動きベクトル値を求める。1105は
ブロック分類器で、予測誤差値群の統計量を用いて符号
化ブロックを同一パターンブロックであるかないかに分
類する。1106は重み付け器で、ブロック分類器11
05により符号化ブロックが同一パターンブロックに分
類された場合、高精度演算器および低精度演算器で求め
られた予測誤差値に重み付けを行う。1107は動きベ
クトル符号化器で、動きベクトル値の差分値を可変長符
号化する。
【0069】前述のように構成された第4実施例の映像
符号化装置の動作を以下に説明する。なおここでは、本
発明の主眼である動きベクトルの検出および符号化方法
についてのみ詳しく説明する。
符号化装置の動作を以下に説明する。なおここでは、本
発明の主眼である動きベクトルの検出および符号化方法
についてのみ詳しく説明する。
【0070】図12は第4実施例の映像符号化装置の動
きベクトルの検出および符号化方法のフローチャートで
ある。これは、図11 5のおける構成要素の動作を示
している。以下に第2フレーム目の映像データについて
の処理手順を示す。 (ステップ1201)フレームの画素数を水平800画
素・垂直800画素とし、ブロックの大きさを水平16
画素・垂直16画素とし、水平ブロックの総数を50、
垂直ブロックの総数を50とし、水平ブロックの初期値
を0、垂直ブロックの初期値を0とする。次に(ステッ
プ1202)へ行く。 (ステップ1202)動きベクトルメモリ1201の水
平方向、垂直方向共に0に初期設定する。次に(ステッ
プ1203)および(ステップ1204)へ行く。 (ステップ1203)高精度演算器1102により、動
きベクトルメモリ1101に格納された値より第2の探
索領域を設定し、第2の探索領域内を1画素精度で候補
ベクトルを設定し、その候補ベクトルごとに予測誤差値
を算出する。次に(ステップ1205)へ行く。 (ステップ1204)低精度演算器1103により、第
1の探索領域内を4画素精度で候補ベクトルを設定して
その候補ベクトルごとに予測誤差値を算出する。次に
(ステップ1205)へ行く。 (ステップ1205)ブロック分類器1105を用い
て、同一パタ−ンブロックであるかを判定する。判定方
式として、ここでは低精度演算器1103で求めた21
個の予測誤差値のうち、水平成分または垂直成分が同一
である予測誤差値の最大値があるしきい値以下の場合、
同一パタ−ンブロックとする。次に(ステップ120
6)へ行く。 (ステップ1206)符号化ブロックが同一パタ−ンブ
ロックの場合には、(ステップ1207)へ行く。そう
でない場合には、(ステップ1208)へ行く。 (ステップ1207)重み付け器1106を用いて高精
度演算器により求められた予測誤差値を小さくするよう
に重み付ける。次に(ステップ1208)へ行く。 (ステップ1208)予測誤差値比較器1104で求め
た予測誤差値が最小となる位置の動きベクトル値を符号
化ブロックの動きベクトル値に決定する。次に(ステッ
プ1209)へ行く。 (ステップ1209)符号化ブロックの動きベクトル値
を動きベクトルメモリ1101に格納する。次に(ステ
ップ1210)へ行く。 (ステップ1210)動きベクトル符号化器1107を
用いて、動きベクトル値の差分値を可変長符号化する。
次に(ステップ1211)へ行く。 (ステップ1211)符号化ブロックの水平ブロックに
1を加算する。次に(ステップ1212)へ行く。 (ステップ1212)符号化ブロックの水平ブロックが
水平ブロックの総数である50に等しいかを調べる。等
しい場合には、(ステップ1213)へ行く。そうでな
い場合には、(ステップ1203)へ行く。 (ステップ1213)符号化ブロックの水平ブロックを
0に設定する。符号化ブロックの垂直ブロックに1を加
算する。次に(ステップ1214)へ行く。 (ステップ1214)符号化ブロックの垂直ブロックが
垂直ブロックの総数である50に等しいかを調べる。等
しい場合には、処理を終了する。そうでない場合には、
(ステップ1202)へ行く。
きベクトルの検出および符号化方法のフローチャートで
ある。これは、図11 5のおける構成要素の動作を示
している。以下に第2フレーム目の映像データについて
の処理手順を示す。 (ステップ1201)フレームの画素数を水平800画
素・垂直800画素とし、ブロックの大きさを水平16
画素・垂直16画素とし、水平ブロックの総数を50、
垂直ブロックの総数を50とし、水平ブロックの初期値
を0、垂直ブロックの初期値を0とする。次に(ステッ
プ1202)へ行く。 (ステップ1202)動きベクトルメモリ1201の水
平方向、垂直方向共に0に初期設定する。次に(ステッ
プ1203)および(ステップ1204)へ行く。 (ステップ1203)高精度演算器1102により、動
きベクトルメモリ1101に格納された値より第2の探
索領域を設定し、第2の探索領域内を1画素精度で候補
ベクトルを設定し、その候補ベクトルごとに予測誤差値
を算出する。次に(ステップ1205)へ行く。 (ステップ1204)低精度演算器1103により、第
1の探索領域内を4画素精度で候補ベクトルを設定して
その候補ベクトルごとに予測誤差値を算出する。次に
(ステップ1205)へ行く。 (ステップ1205)ブロック分類器1105を用い
て、同一パタ−ンブロックであるかを判定する。判定方
式として、ここでは低精度演算器1103で求めた21
個の予測誤差値のうち、水平成分または垂直成分が同一
である予測誤差値の最大値があるしきい値以下の場合、
同一パタ−ンブロックとする。次に(ステップ120
6)へ行く。 (ステップ1206)符号化ブロックが同一パタ−ンブ
ロックの場合には、(ステップ1207)へ行く。そう
でない場合には、(ステップ1208)へ行く。 (ステップ1207)重み付け器1106を用いて高精
度演算器により求められた予測誤差値を小さくするよう
に重み付ける。次に(ステップ1208)へ行く。 (ステップ1208)予測誤差値比較器1104で求め
た予測誤差値が最小となる位置の動きベクトル値を符号
化ブロックの動きベクトル値に決定する。次に(ステッ
プ1209)へ行く。 (ステップ1209)符号化ブロックの動きベクトル値
を動きベクトルメモリ1101に格納する。次に(ステ
ップ1210)へ行く。 (ステップ1210)動きベクトル符号化器1107を
用いて、動きベクトル値の差分値を可変長符号化する。
次に(ステップ1211)へ行く。 (ステップ1211)符号化ブロックの水平ブロックに
1を加算する。次に(ステップ1212)へ行く。 (ステップ1212)符号化ブロックの水平ブロックが
水平ブロックの総数である50に等しいかを調べる。等
しい場合には、(ステップ1213)へ行く。そうでな
い場合には、(ステップ1203)へ行く。 (ステップ1213)符号化ブロックの水平ブロックを
0に設定する。符号化ブロックの垂直ブロックに1を加
算する。次に(ステップ1214)へ行く。 (ステップ1214)符号化ブロックの垂直ブロックが
垂直ブロックの総数である50に等しいかを調べる。等
しい場合には、処理を終了する。そうでない場合には、
(ステップ1202)へ行く。
【0071】ここで、同一パタ−ンブロックの判定につ
いて図13および図14を用いて説明する。図13は、
符号化ブロックが同一パタ−ン領域のブロックであり、
探索領域が同一パタ−ン領域と通常領域にまたがる場合
の動きベクトル値に対する予測誤差値の分布の説明図で
ある。なお、符号化ブロックが同一パタ−ン領域のブロ
ックであり、探索領域が2つの異なる同一パタ−ン領域
にまたがる場合については図13(c)で示した予測誤
差値の分布を用いて同様に同一パタ−ンブロックの判定
を行うことが可能であるため、ここでは言及しない。
いて図13および図14を用いて説明する。図13は、
符号化ブロックが同一パタ−ン領域のブロックであり、
探索領域が同一パタ−ン領域と通常領域にまたがる場合
の動きベクトル値に対する予測誤差値の分布の説明図で
ある。なお、符号化ブロックが同一パタ−ン領域のブロ
ックであり、探索領域が2つの異なる同一パタ−ン領域
にまたがる場合については図13(c)で示した予測誤
差値の分布を用いて同様に同一パタ−ンブロックの判定
を行うことが可能であるため、ここでは言及しない。
【0072】一方、図14は、符号化ブロックが2つの
異なる同一パターン領域を含む場合の動きベクトル値に
対する予測誤差値の分布の説明図である。なお、符号化
ブロックが同一パターン領域と通常領域を含む場合は、
通常領域の部分領域の違いから予測ブロックを決定する
ことが可能である。
異なる同一パターン領域を含む場合の動きベクトル値に
対する予測誤差値の分布の説明図である。なお、符号化
ブロックが同一パターン領域と通常領域を含む場合は、
通常領域の部分領域の違いから予測ブロックを決定する
ことが可能である。
【0073】図13(a)は、符号化ブロックが同一パ
タ−ン領域のブロックであり、探索領域が同一パタ−ン
領域と通常領域にまたがる場合の動きベクトル検出を示
している。図13(b)は、水平方向の動きベクトル値
に対する予測誤差値の分布を表している。動きベクトル
値は水平と垂直の2次元で表すことができるが、ここで
は最小となる動きベクトル値を含む予測誤差値を示して
いる。予測ブロックが同一パタ−ン領域内にある場合は
予測誤差値の大きさもその変動も小さい。また、予測ブ
ロックが通常領域内にある場合は予測誤差値の大きさも
その変動も大きい。
タ−ン領域のブロックであり、探索領域が同一パタ−ン
領域と通常領域にまたがる場合の動きベクトル検出を示
している。図13(b)は、水平方向の動きベクトル値
に対する予測誤差値の分布を表している。動きベクトル
値は水平と垂直の2次元で表すことができるが、ここで
は最小となる動きベクトル値を含む予測誤差値を示して
いる。予測ブロックが同一パタ−ン領域内にある場合は
予測誤差値の大きさもその変動も小さい。また、予測ブ
ロックが通常領域内にある場合は予測誤差値の大きさも
その変動も大きい。
【0074】図13(c)は、予測ブロックが同一パタ
−ン領域内にある場合の垂直方向の動きベクトル値に対
する予測誤差値の分布を示している。この場合、符号化
ブロックと予測ブロックの輝度が同様であるため、予測
誤差値の大きさもその変動も小さい。
−ン領域内にある場合の垂直方向の動きベクトル値に対
する予測誤差値の分布を示している。この場合、符号化
ブロックと予測ブロックの輝度が同様であるため、予測
誤差値の大きさもその変動も小さい。
【0075】図13(d)は、予測ブロックが通常領域
内にある場合の垂直方向の動きベクトル値に対する予測
誤差値の分布を表している。この場合符号化ブロックと
予測ブロックとの相関が低いため、予測誤差値の大きさ
もその変動も大きい。図13(e)は、予測ブロックが
同一パタ−ン領域と通常領域とにまたがる場合の垂直方
向の予測誤差値の分布を示している。予測ブロックの中
で同一パタ−ン領域の部分は相関が高く通常領域の部分
は相関が低いため、予測誤差値の分布は図13(c)と
図13(d)の間の値となる。
内にある場合の垂直方向の動きベクトル値に対する予測
誤差値の分布を表している。この場合符号化ブロックと
予測ブロックとの相関が低いため、予測誤差値の大きさ
もその変動も大きい。図13(e)は、予測ブロックが
同一パタ−ン領域と通常領域とにまたがる場合の垂直方
向の予測誤差値の分布を示している。予測ブロックの中
で同一パタ−ン領域の部分は相関が高く通常領域の部分
は相関が低いため、予測誤差値の分布は図13(c)と
図13(d)の間の値となる。
【0076】一方、図14(a)は、符号化ブロックと
探索領域が共に、2つの異なる同一パタ−ン領域(同一
パターン領域1と同一パターン領域2と呼ぶ)にまたが
る場合の動きベクトル検出を示している。図14(b)
は、最小の予測誤差値を含む水平方向の動きベクトル値
に対する予測誤差値の分布を表している。まず、予測ブ
ロックが同一パターン領域1内の場合は、符号化ブロッ
クの中で同一パターン領域1である部分領域では輝度差
は小さい。一方、符号化ブロックの中で同一パターン領
域2である部分領域では輝度差は大きいがそれぞれ同一
パターン領域であるため、各予測ブロックに対して輝度
差はほぼ一定である。よって、予測誤差値はほぼ一定と
なる。
探索領域が共に、2つの異なる同一パタ−ン領域(同一
パターン領域1と同一パターン領域2と呼ぶ)にまたが
る場合の動きベクトル検出を示している。図14(b)
は、最小の予測誤差値を含む水平方向の動きベクトル値
に対する予測誤差値の分布を表している。まず、予測ブ
ロックが同一パターン領域1内の場合は、符号化ブロッ
クの中で同一パターン領域1である部分領域では輝度差
は小さい。一方、符号化ブロックの中で同一パターン領
域2である部分領域では輝度差は大きいがそれぞれ同一
パターン領域であるため、各予測ブロックに対して輝度
差はほぼ一定である。よって、予測誤差値はほぼ一定と
なる。
【0077】次に、予測ブロックが同一パターン領域2
内の場合は、符号化ブロックの中で同一パターン領域2
である部分領域では輝度差は小さい。一方、符号化ブロ
ックの中で同一パターン領域1である部分領域では輝度
差は大きく、各予測ブロックに対してほぼ一定である。
よって予測誤差値はほぼ一定となる。さらに、予測ブロ
ックが2つの同一パターン領域を含む場合は、符号化ブ
ロックと異なる同一パターン領域の部分領域が予測誤差
値が最小となる位置の動きベクトル値を最小として動き
ベクトル値が増加または減少するのに比例して増加す
る。そのため、予測誤差値は動きベクトル値に比例して
増大する。
内の場合は、符号化ブロックの中で同一パターン領域2
である部分領域では輝度差は小さい。一方、符号化ブロ
ックの中で同一パターン領域1である部分領域では輝度
差は大きく、各予測ブロックに対してほぼ一定である。
よって予測誤差値はほぼ一定となる。さらに、予測ブロ
ックが2つの同一パターン領域を含む場合は、符号化ブ
ロックと異なる同一パターン領域の部分領域が予測誤差
値が最小となる位置の動きベクトル値を最小として動き
ベクトル値が増加または減少するのに比例して増加す
る。そのため、予測誤差値は動きベクトル値に比例して
増大する。
【0078】図14(c)は、予測領域が同一パタ−ン
領域1内にある場合の垂直方向の動きベクトルの検出を
示している。この場合、符号化ブロックの同一パターン
領域2の部分領域と同一パターン領域1との差分値はあ
る大きさでほぼ一定となるため予測誤差値の大きさも一
定になる。図14(d)は、予測領域が同一パターン領
域2内にある場合の垂直方向の動きベクトル値に対する
予測誤差値の分布を表している。この場合も、図14
(c)と同様に、予測誤差値の大きさはほぼ一定とな
る。図14(e)は、最小の予測誤差値を含む垂直方向
の予測誤差値の分布を示している。すべての予測ブロッ
クと符号化ブロックの輝度差が小さいため、予測誤差値
の大きさもその変動も小さい。
領域1内にある場合の垂直方向の動きベクトルの検出を
示している。この場合、符号化ブロックの同一パターン
領域2の部分領域と同一パターン領域1との差分値はあ
る大きさでほぼ一定となるため予測誤差値の大きさも一
定になる。図14(d)は、予測領域が同一パターン領
域2内にある場合の垂直方向の動きベクトル値に対する
予測誤差値の分布を表している。この場合も、図14
(c)と同様に、予測誤差値の大きさはほぼ一定とな
る。図14(e)は、最小の予測誤差値を含む垂直方向
の予測誤差値の分布を示している。すべての予測ブロッ
クと符号化ブロックの輝度差が小さいため、予測誤差値
の大きさもその変動も小さい。
【0079】よって、同一パターン領域の境界が水平ま
たは垂直である時は、動きベクトルの水平成分または垂
直成分が同一である複数の予測誤差値群について同一パ
ターンブロックの判定を行い、少なくとも1つ以上の予
測誤差値群が同一パターンブロックの判定を満たした場
合、符号化ブロックが同一パタ−ン領域を含んでいると
することが可能である。さらに、この条件は図15で示
した探索領域が同一パタ−ン領域内に含まれる場合にお
いても成立する。
たは垂直である時は、動きベクトルの水平成分または垂
直成分が同一である複数の予測誤差値群について同一パ
ターンブロックの判定を行い、少なくとも1つ以上の予
測誤差値群が同一パターンブロックの判定を満たした場
合、符号化ブロックが同一パタ−ン領域を含んでいると
することが可能である。さらに、この条件は図15で示
した探索領域が同一パタ−ン領域内に含まれる場合にお
いても成立する。
【0080】また、重みつけの方法として以下のような
方法が考えられる。 (1)直前の動きベクトル値のみを用いるような重みつ
けを行う。 (2)直前の動きベクトル値の予測誤差値を小さくする
ような重み付けを行う。 (3)高精度演算器1102で求められた予測誤差値の
みを用いるような重みつけを行う。 (4)高精度演算器1102で求められた予測誤差値を
小さくするような重み付けを行う。
方法が考えられる。 (1)直前の動きベクトル値のみを用いるような重みつ
けを行う。 (2)直前の動きベクトル値の予測誤差値を小さくする
ような重み付けを行う。 (3)高精度演算器1102で求められた予測誤差値の
みを用いるような重みつけを行う。 (4)高精度演算器1102で求められた予測誤差値を
小さくするような重み付けを行う。
【0081】(1)では、差分符号化効率は良くなる
が、直前の動きベクトル値に対応する位置の予測誤差値
が大きい場合、符号化効率が悪くなる。
が、直前の動きベクトル値に対応する位置の予測誤差値
が大きい場合、符号化効率が悪くなる。
【0082】(2)では、直前の動きベクトルに対応す
る位置の予測誤差値に重み付けを行うことにより、直前
の動きベクトル値が選択される確率を高め、予測誤差値
が大きい場合は選択しないようにする方法である。この
場合、重み付けのための乗算機能が必要である。
る位置の予測誤差値に重み付けを行うことにより、直前
の動きベクトル値が選択される確率を高め、予測誤差値
が大きい場合は選択しないようにする方法である。この
場合、重み付けのための乗算機能が必要である。
【0083】(3)では、高精度演算器1102で求め
られた直前の動きベクトル値に対応する位置に隣接する
予測誤差値のみを用いる方法で、差分符号化効率の向上
と、複数の予測誤差値を用いることにより符号化効率の
向上が可能となる。
られた直前の動きベクトル値に対応する位置に隣接する
予測誤差値のみを用いる方法で、差分符号化効率の向上
と、複数の予測誤差値を用いることにより符号化効率の
向上が可能となる。
【0084】(4)では、(1)よりもさらに符号化効
率の向上を可能なように重み付けを行うものである。た
だし、この場合重み付けを行うための乗算機能が必要で
ある。
率の向上を可能なように重み付けを行うものである。た
だし、この場合重み付けを行うための乗算機能が必要で
ある。
【0085】以上のように、第4実施例の映像符号化装
置を用いることにより、同一パターン領域を含む符号化
ブロックにおいて、同一パターンブロックを判定するこ
とにより、符号化ブロックの動きベクトル値を直前の符
号化ブロックの動きベクトル値にすることが可能とな
り、動きベクトルの差分値が0になる頻度が高まる。そ
のため動きベクトルの差分値を可変長符号化することに
より、動きベクトルの符号化効率を向上させることがで
きる。
置を用いることにより、同一パターン領域を含む符号化
ブロックにおいて、同一パターンブロックを判定するこ
とにより、符号化ブロックの動きベクトル値を直前の符
号化ブロックの動きベクトル値にすることが可能とな
り、動きベクトルの差分値が0になる頻度が高まる。そ
のため動きベクトルの差分値を可変長符号化することに
より、動きベクトルの符号化効率を向上させることがで
きる。
【0086】また第3実施例と比較して、同一パタ−ン
領域の境界近傍にある符号化ブロックについても同一パ
タ−ンブロックを判定することが可能となり、同一パタ
−ンブロックの検出精度が高まるため動きベクトルの符
号化効率がさらに向上する。
領域の境界近傍にある符号化ブロックについても同一パ
タ−ンブロックを判定することが可能となり、同一パタ
−ンブロックの検出精度が高まるため動きベクトルの符
号化効率がさらに向上する。
【0087】なお、ここでは同一パターン領域と通常領
域との境界を水平あるいは垂直であると仮定したが、斜
線上や任意の曲線上の予測誤差値群を用いて処理を行う
ことにより、さまざまな境界に対応することが可能であ
る。
域との境界を水平あるいは垂直であると仮定したが、斜
線上や任意の曲線上の予測誤差値群を用いて処理を行う
ことにより、さまざまな境界に対応することが可能であ
る。
【0088】
【発明の効果】本発明の映像符号化装置は、高精度演算
器と低精度演算器の処理を並列に行うことにより、動き
ベクトルの検出を1ステップで行うことが可能となるた
め、3ステップ法と比較して処理時間が削減されるか、
それを避けるためのパイプライン処理による回路増加を
不要にすることができる。また、動きベクトルの探索数
が全探索と比較して大幅に削減できる。さらに、高精度
の探索と低精度の探索を併用することにより、全探索法
に近い画質に向上することが可能となる。
器と低精度演算器の処理を並列に行うことにより、動き
ベクトルの検出を1ステップで行うことが可能となるた
め、3ステップ法と比較して処理時間が削減されるか、
それを避けるためのパイプライン処理による回路増加を
不要にすることができる。また、動きベクトルの探索数
が全探索と比較して大幅に削減できる。さらに、高精度
の探索と低精度の探索を併用することにより、全探索法
に近い画質に向上することが可能となる。
【図1】本発明の第1実施例における映像符号化装置の
ブロック図
ブロック図
【図2】本発明の第1実施例における映像符号化装置の
フローチャート
フローチャート
【図3】本発明の第1実施例における動きベクトル探索
のフローチャート
のフローチャート
【図4】本発明の第1実施例における候補ベクトルの抽
出方法の説明図
出方法の説明図
【図5】本発明の第1実施例における動きベクトル探索
の説明図
の説明図
【図6】本発明の第2実施例における映像符号化装置の
ブロック図
ブロック図
【図7】本発明の第2実施例における映像符号化装置の
フローチャート
フローチャート
【図8】本発明の第3実施例における映像符号化装置の
ブロック図
ブロック図
【図9】本発明の第3実施例における映像符号化装置の
フローチャート
フローチャート
【図10】本発明の第3実施例における、動きベクトル
値に対する予測誤差値の分布を示す図
値に対する予測誤差値の分布を示す図
【図11】本発明の第4実施例における映像符号化装置
のブロック図
のブロック図
【図12】本発明の第4実施例における動き補償符号化
装置のフローチャート
装置のフローチャート
【図13】本発明の第4実施例における、符号化ブロッ
クが同一パタ−ン領域の場合の領域境界における動きベ
クトル値に対する予測誤差値の分布を示す図
クが同一パタ−ン領域の場合の領域境界における動きベ
クトル値に対する予測誤差値の分布を示す図
【図14】本発明の第4実施例における、符号化ブロッ
クが2つの同一パタ−ン領域の境界上にある場合の動き
ベクトル値に対する相関誤差値の分布を示す図
クが2つの同一パタ−ン領域の境界上にある場合の動き
ベクトル値に対する相関誤差値の分布を示す図
【図15】従来例における映像符号化装置のブロック図
【図16】従来例における動きベクトルの探索領域の説
明図
明図
【図17】従来例におけるる全探索法の説明図
【図18】従来例における3ステップ法の説明図
101 動きベクトルメモリ 102 探索情報算出器 103 高精度演算器 104 低精度演算器 105 予測誤差値比較器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長谷部 巧 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 西川 浩 大阪府門真市大字門真1006番地 松下電器 産業株式会社内
Claims (13)
- 【請求項1】動きベクトルの検出を行うためのあらかじ
め設定された参照フレーム上の探索領域を第1の探索領
域としたとき、動きベクトルが検出された符号化ブロッ
クの動きベクトル値を格納する動きベクトルメモリと、
前記動きベクトルメモリに格納されている動きベクトル
値から所定の演算式により1個の候補ベクトルを算出す
る候補ベクトル算出器と、前記候補ベクトルにより予測
されるブロックを含み参照フレーム上の探索領域より小
さい第2の探索領域を設定し、前記第2の探索領域内を
1画素以下の精度で候補ベクトルを設定してその候補ベ
クトルごとに予測誤差値を算出する高精度演算器と、参
照フレーム上の前記第1の探索領域内を2画素以上の精
度で候補ベクトルを設定してその候補ベクトルごとに予
測誤差値を算出する低精度演算器と、前記高精度演算器
により算出された予測誤差値と前記低精度演算器により
算出された予測誤差値とを比較することにより符号化ブ
ロックの動きベクトル値を決定する予測誤差値比較器を
備えたことを特徴とする映像符号化装置。 - 【請求項2】動きベクトルの検出を行うためのあらかじ
め設定された参照フレーム上の探索領域を第1の探索領
域としたとき、直前の符号化ブロックの動きベクトル値
により予測されるブロックを含み参照フレーム上の探索
領域より小さい第2の探索領域を設定し、前記第2の探
索領域内を1画素以下の精度で候補ベクトルを設定して
その候補ベクトルごとに予測誤差値を算出する高精度演
算器と、参照フレーム上の前記第1の探索領域内を2画
素以上の精度で候補ベクトルを設定してその候補ベクト
ルごとに予測誤差値を算出する低精度演算器と、前記高
精度演算器により算出された予測誤差値と前記低精度演
算器により算出された予測誤差値とを比較することによ
り符号化ブロックの動きベクトル値を決定する予測誤差
値比較器を備えたことを特徴とする映像符号化装置。 - 【請求項3】高精度探索器と低精度探索器は、垂直方向
の画素を1画素づつ間引いた符号化ブロックおよび探索
領域を用いて予測誤差値の演算を行うことを特徴とする
請求項1または請求項2記載の映像符号化装置。 - 【請求項4】ブロックに分割された入力映像データを符
号化ブロックとし、前記符号化ブロックとブロックマッ
チングを行う参照フレーム上の領域を探索領域とした
時、前記符号化ブロックと前記探索領域のブロック群と
の予測誤差値群の最小値を求める予測誤差値比較器と、
前記予測誤差値群の統計量を用いて前記符号化ブロック
をパターン1とパターン2に分類するブロック分類器
と、前記ブロック分類器により前記符号化ブロックが前
記パターン1に分類された場合は隣接するブロックの動
きベクトル値を、前記パターン2に分類された場合は前
記予測誤差値比較器で求めた最小の予測誤差値に対応す
る動きベクトル値を前記符号化ブロックの動きベクトル
値として選択するスイッチを備えたことを特徴とする映
像符号化装置。 - 【請求項5】ブロックに分割された入力映像データを符
号化ブロックとし、前記符号化ブロックとブロックマッ
チングを行う参照フレーム上の領域を探索領域とし、前
記探索領域を第1の探索領域としたとき、隣接するブロ
ックの動きベクトル値により予測されるブロックを含み
参照フレーム上の探索領域より小さい第2の探索領域を
設定し、前記第2の探索領域内を1画素以下の精度で候
補ベクトルを設定してその候補ベクトルごとに予測誤差
値を算出する高精度演算器と、参照フレーム上の前記第
1の探索領域内を2画素以上の精度で候補ベクトルを設
定してその候補ベクトルごとに予測誤差値を算出する低
精度演算器と、前記高精度演算器により算出された予測
誤差値と前記低精度演算器により算出された予測誤差値
とを比較することにより予測誤差値が最小のブロックを
求める予測誤差値比較器と、前記予測誤差値群の統計量
を用いて前記符号化ブロックをパターン1とパターン2
に分類するブロック分類器と、前記ブロック分類器によ
り前記符号化ブロックが前記パターン1に分類された場
合は前記動きベクトルメモリに格納された動きベクトル
値を、前記パターン2に分類された場合は前記予測誤差
値比較器で求めた最小の予測誤差値に対応する動きベク
トル値を前記符号化ブロックの動きベクトル値として選
択するスイッチを備えたことを特徴とする映像符号化装
置。 - 【請求項6】ブロックに分割された入力映像データを符
号化ブロックとし、前記符号化ブロックとブロックマッ
チングを行う参照フレーム上の領域を探索領域とした
時、前記符号化ブロックと前記探索領域のブロック群と
の予測誤差値群の統計量を用いて前記符号化ブロックを
パターン1とパターン2に分類するブロック分類器と、
前記ブロック分類器により前記符号化ブロックが前記パ
ターン1に分類された場合は前記予測誤差値群に重み付
けを行う重み付け器と、前記重み付け器により重み付け
された前記予測誤差値群の最小値を求める予測誤差値比
較器を備えたことを特徴とする映像符号化装置。 - 【請求項7】ブロックに分割された入力映像データを符
号化ブロックとし、前記符号化ブロックとブロックマッ
チングを行う参照フレーム上の領域を探索領域とし、前
記探索領域を第1の探索領域としたとき、隣接するブロ
ックの動きベクトル値により予測されるブロックを含み
参照フレーム上の探索領域より小さい第2の探索領域を
設定し、前記第2の探索領域内を1画素以下の精度で候
補ベクトルを設定してその候補ベクトルごとに予測誤差
値を算出する高精度演算器と、参照フレーム上の前記第
1の探索領域内を2画素以上の精度で候補ベクトルを設
定してその候補ベクトルごとに予測誤差値を算出する低
精度演算器と、前記符号化ブロックと前記探索領域のブ
ロック群との予測誤差値群の統計量を用いて前記符号化
ブロックをパターン1とパターン2に分類するブロック
分類器と、前記ブロック分類器により前記符号化ブロッ
クが前記パターン1に分類された場合は前記予測誤差値
群に重み付けを行う重み付け器と、前記重み付け器によ
り重み付けされた前記予測誤差値群の最小値を求める予
測誤差値比較器を備えたことを特徴とする映像符号化装
置。 - 【請求項8】重み付け器は、隣接したブロックの動きベ
クトル値により設定された候補ベクトルに対応する位置
の予測誤差値の重み付けを小さくすることを特徴とする
請求項6または請求項7記載の映像符号化装置。 - 【請求項9】重み付け器は、前記高精度探索器により算
出された予測誤差値の重み付けを小さくすることを特徴
とする請求項6または請求項7記載の映像符号化装置。 - 【請求項10】動きベクトル値の差分値を可変長符号化
する動きベクトル符号化器を備えたことを特徴とする請
求項4、請求項5、請求項6、請求項7のいずれかに記
載の映像符号化装置。 - 【請求項11】探索領域内に1つの部分領域または重複
可能な複数の部分領域を設定し、前記部分領域内にある
前記予測誤差値群を部分予測誤差値群とした時、前記部
分予測誤差値群に対して前記分類を行い、少なくとも一
つ以上の前記部分領域の前記部分予測誤差値群が前記パ
タ−ン1に分類された場合前記符号化ブロックをパタ−
ン1に分類する前記符号化ブロック分類器を備えたこと
を特徴とする請求項4、請求項5、請求項6、請求項7
のいずれかに記載の映像符号化装置。 - 【請求項12】予測誤差値に対応する動きベクトルの水
平値または垂直値が同一の値であるブロック群より構成
された、領域探索領域内に1つの部分領域または重複可
能な複数の部分領域を設定し、前記部分領域内にある前
記予測誤差値群を部分予測誤差値群とした時、前記部分
予測誤差値群に対して前記分類を行い、少なくとも一つ
以上の前記部分領域の前記部分予測誤差値群が前記パタ
−ン1に分類された場合前記符号化ブロックをパタ−ン
1に分類する前記符号化ブロック分類器を備えたことを
特徴とする請求項4、請求項5、請求項6、請求項7の
いずれかに記載の映像符号化装置。 - 【請求項13】符号化ブロックに対する予測誤差値群ま
たは部分予測誤差値群を分類予測誤差値群としたとき、
統計量として、少なくとも前記分類予測誤差値群の最大
値あるいは平均値を含む前記分類予測誤差値群の大きさ
を表す統計量、または、少なくとも前記分類予測誤差値
群の分散値あるいは前記平均値と各前記予測誤差値との
差の絶対値和あるいは前記分類予測誤差値群の最大値と
最小値との差を含む前記分類予測誤差値群の変動を表す
統計量を用い、前記統計量があらかじめ設定された値以
下の場合前記パタ−ン1とし、そうでない場合前記パタ
ーン2とする前記符号化ブロック分類器を備えたことを
特徴とする請求項4、請求項5、請求項6、請求項7の
いずれかに記載の映像符号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8152594A JPH07240927A (ja) | 1993-04-21 | 1994-04-20 | 映像符号化装置 |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9402993 | 1993-04-21 | ||
| JP30910093 | 1993-12-09 | ||
| JP5-94029 | 1993-12-09 | ||
| JP5-309100 | 1993-12-09 | ||
| JP8152594A JPH07240927A (ja) | 1993-04-21 | 1994-04-20 | 映像符号化装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07240927A true JPH07240927A (ja) | 1995-09-12 |
Family
ID=27303611
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8152594A Pending JPH07240927A (ja) | 1993-04-21 | 1994-04-20 | 映像符号化装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07240927A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006331136A (ja) * | 2005-05-27 | 2006-12-07 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
| JP2007194973A (ja) * | 2006-01-20 | 2007-08-02 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
| JP2010011150A (ja) * | 2008-06-27 | 2010-01-14 | Mitsubishi Electric Corp | 動きベクトル検出装置および動画像符号化装置 |
| JP2011223086A (ja) * | 2010-04-05 | 2011-11-04 | Mitsubishi Electric Corp | 解像度変換装置及び方法、走査線補間装置及び方法、並びに映像表示装置及び方法 |
| JP2017533669A (ja) * | 2014-10-31 | 2017-11-09 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトル符号化方法、動きベクトル復号方法、及びその装置 |
-
1994
- 1994-04-20 JP JP8152594A patent/JPH07240927A/ja active Pending
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006331136A (ja) * | 2005-05-27 | 2006-12-07 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
| JP2007194973A (ja) * | 2006-01-20 | 2007-08-02 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
| JP2010011150A (ja) * | 2008-06-27 | 2010-01-14 | Mitsubishi Electric Corp | 動きベクトル検出装置および動画像符号化装置 |
| JP2011223086A (ja) * | 2010-04-05 | 2011-11-04 | Mitsubishi Electric Corp | 解像度変換装置及び方法、走査線補間装置及び方法、並びに映像表示装置及び方法 |
| JP2017533669A (ja) * | 2014-10-31 | 2017-11-09 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトル符号化方法、動きベクトル復号方法、及びその装置 |
| US10531113B2 (en) | 2014-10-31 | 2020-01-07 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| US10848780B2 (en) | 2014-10-31 | 2020-11-24 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| JP2021101536A (ja) * | 2014-10-31 | 2021-07-08 | サムスン エレクトロニクス カンパニー リミテッド | 動きベクトル復号装置 |
| US11483584B2 (en) | 2014-10-31 | 2022-10-25 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| US11818387B2 (en) | 2014-10-31 | 2023-11-14 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| US11818389B2 (en) | 2014-10-31 | 2023-11-14 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| US11818388B2 (en) | 2014-10-31 | 2023-11-14 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| US11831904B2 (en) | 2014-10-31 | 2023-11-28 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0609022A2 (en) | Image encoding apparatus | |
| KR950009699B1 (ko) | 움직임벡터 검출방법 및 장치 | |
| JP2744871B2 (ja) | 画像信号符号化方法および画像信号符号化装置 | |
| KR0178231B1 (ko) | 계층적인 움직임 추정 기법을 이용하는 움직임 벡터 검출 방법 및 장치 | |
| KR100242406B1 (ko) | 디지탈 비디오 동화상의 움직임 보상 방법 | |
| JP2009147807A (ja) | 画像処理装置 | |
| JPH05328333A (ja) | 動きベクトル検出装置 | |
| KR19990038001A (ko) | 디지털 영상을 위한 움직임 추정장치 및 방법 | |
| JPH08265777A (ja) | 階層的動き推定を採用した動きベクトル決定方法 | |
| JP2003143609A (ja) | 画像処理装置、画像処理方法、記録媒体及びプログラム | |
| KR20010030652A (ko) | 화상 부호화 시스템 | |
| KR100286818B1 (ko) | 실시간 영상압축을 위한 고속 움직임 예측방법 | |
| JPH0262178A (ja) | 画像処理装置の動き検出方式 | |
| US6788741B1 (en) | Device and method of retrieving high-speed motion | |
| US7852939B2 (en) | Motion vector detection method and device of the same | |
| KR100266161B1 (ko) | 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image) | |
| KR0152014B1 (ko) | 화상데이타압축에서의 움직임추정방법 및 그 장치 | |
| JP2009267726A (ja) | 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム | |
| JP2002539685A (ja) | ブロックマッチング動き推定 | |
| KR0174455B1 (ko) | 화소단위 움직임예측을 이용하는 영상신호 부호화 방법 및 장치 | |
| JPH06233279A (ja) | 動き補償符号化装置 | |
| JPH07288817A (ja) | 動きベクトル検出装置 | |
| JP2644811B2 (ja) | 動き補償フレーム間予測符号化装置 | |
| KR0154948B1 (ko) | 영상의 그래디언트 및 인텐시티의 유사성을 이용한 움직임 벡터 탐색장치 | |
| JPH10164596A (ja) | 動き検出装置 |