JPH07135660A - 動きベクトル符号化装置 - Google Patents

動きベクトル符号化装置

Info

Publication number
JPH07135660A
JPH07135660A JP28322093A JP28322093A JPH07135660A JP H07135660 A JPH07135660 A JP H07135660A JP 28322093 A JP28322093 A JP 28322093A JP 28322093 A JP28322093 A JP 28322093A JP H07135660 A JPH07135660 A JP H07135660A
Authority
JP
Japan
Prior art keywords
motion vector
difference
value
differential
code
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
Application number
JP28322093A
Other languages
English (en)
Inventor
Kinji Hashimoto
欽司 橋本
Shoichi Nishino
正一 西野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP28322093A priority Critical patent/JPH07135660A/ja
Publication of JPH07135660A publication Critical patent/JPH07135660A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 差分符号をあらかじめ設定した順番に可変長
符号化器へ転送することにより符号化効率の高い動きベ
クトル符号化装置を提供する。 【構成】 動きベクトル値を差分符号化する際に動きベ
クトルの真値を符号化してから次に動きベクトルの真値
を符号化するまでのブロック数を差分周期とし、ブロッ
ク数のカウントを行い差分周期ごとに遅延器101のリセ
ットを行う差分周期カウンタ102と、現動きベクトル値
と遅延器の格納値との差分値を符号化する差分符号化器
103と、差分符号を可変長符号化する可変長符号化器104
と、差分符号化器103で符号化された差分符号を格納す
る差分符号メモリ105と、差分周期カウンタ102に同期し
て差分符号メモリ105に格納された差分符号を予め設定
された順番に可変長符号化器104へ転送するメモリデ−
タ制御器106より構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は映像を記録および伝送す
る場合、映像信号のデータ量を削減するために動きベク
トルの高能率符号化を行う動きベクトル符号化装置に関
する。
【0002】
【従来の技術】近年、映像のディジタル信号処理技術や
半導体の集積技術などの進歩により、映像信号をディジ
タル符号化した装置の開発が盛んになってきている。映
像信号の符号化装置の1つに時間方向の冗長を削減する
ものがある。この代表例としてMPEGがあり、現在標
準化作業が活発に行われている。MPEGでは、空間方
向の圧縮にDCT(離散コサイン変換)を、時間方向の
圧縮に動き補償が用いられている。
【0003】動き補償とは、入力映像信号をある大きさ
(例えば水平16画素、垂直16画素)のブロックに分
割し、以前のフレームの再生映像信号である予測フレ−
ムから動きベクトル分ずらして予測を行うフレーム間予
測のことである。ここで、動きベクトルは水平と垂直の
2方向のベクトルとして表現される。以下に従来技術を
MPEGに代表される動き補償符号化方式を基に説明す
る。
【0004】図7は従来の動き補償符号化装置の構成図
である。図7において、701はバッファメモリ、70
2はブロック化器、703はフレームメモリ、704は
動きベクトル検出器、705は予測ブロック信号生成
器、706は減算器、707は直交変換器、708は量
子化器、709は直交変換符号化器、710は動きベク
トル符号化器、711は逆量子化器、712は逆直交変
換器、713は加算器、714、715はスイッチであ
る。
【0005】まず、1フレーム目の映像信号をバッファ
メモリ701に格納する。格納された映像信号をブロッ
ク化器702により水平16画素・垂直16画素のブロ
ックに分割する。1フレーム目の映像信号は予測映像信
号が存在しないため、スイッチ714を用いて直交変換
器707に直接入力されて直交変換され、その変換係数
は量子化器708により量子化し、直交変換符号化器7
09により符号化される。
【0006】量子化出力は符号化されるとともに、逆量
子化器711によって量子化器708の逆の操作が施さ
れ、逆直交変換器712によって再び映像信号に変換さ
れる。このときスイッチ715により加算器713はス
ルーの状態になっている。戻された映像信号はフレーム
メモリ703に蓄えわれ、次のフレームの予測に用いら
れる。
【0007】次フレームの映像信号をバッファメモリ7
01に格納する。格納された映像信号をブロック化器7
02により水平16画素・垂直16画素のブロックに分
割する。それぞれのブロックの映像信号は1フレーム前
の復号信号上の対応する位置を基準位置として、あらか
じめ決められた探索範囲内で最もフレーム間予測誤差の
少ない位置を動きベクトルとして動きベクトル検出器7
04により検出し、1フレーム前の信号の基準位置から
検出した動きベクトル分変位されたブロックの映像信号
を予測ブロック信号として予測ブロック信号生成器70
5により生成し、符号化しようとするブロックとの差分
を減算器706により計算する。
【0008】得られた差分信号は空間的冗長性を除去す
るために直交変換器707により直交変換し、その変換
係数は量子化器708により量子化し、直交変換符号化
器709により符号化される。一方、動きベクトル検出
器704により検出された動きベクトルは動きベクトル
符号化器710を用いて符号化される。
【0009】量子化出力は符号化されるとともに、逆量
子化器711によって量子化器708の逆の操作が施さ
れ、逆直交変換器712によって差分信号に再び変換さ
れ、加算器713により予測ブロック信号と加えられる
ことにより映像信号に戻される。戻された映像信号はフ
レームメモリ703に蓄えられ次のフレームの予測に用
いられる。
【0010】1フレーム目の他に符号化しようとするブ
ロックの入力信号そのものを変換・符号化した方が差分
信号を変換・符号化した場合よりも符号量が少なくなる
場合のために、入力信号をそのまま符号化することが必
要となる。そのためスイッチ714を用いて直交変換器
707への入力を切替える。このとき直交変換器707
からの出力は映像信号そのものであるため、スイッチ7
15により予測ブロック信号を加えないようにする。
【0011】ここで、本発明の主眼である動きベクトル
の符号化について以下詳しく説明する。動きベクトルの
符号化方法として、MPEGでは直前ブロックの動きベ
クトルとの差分値を可変長符号化する方法が用いてられ
ている。これは、静止状態やパニング・ズーム時などの
通常よく現れる映像において差分値が0の近傍に集中す
るため、差分値を可変長符号化することにより符号量の
削減を図ることが可能であるからである。MPEGで
は、可変長符号化方法として1次元ハフマン符号化を用
いている。
【0012】図8は、MPEGで用いられている1次元
ハフマン符号化テ−ブルである。ここで、動きベクトル
の存在範囲は水平方向・垂直方向共−15から+15で
ある。そのため、動きベクトルの差分値の存在範囲は水
平方向・垂直方向共−30から+30となる。MPEG
では差分符号化方法として折り返し符号化を用いてお
り、差分符号値の存在範囲を−16から+15にほぼ半
減している。これらの差分符号に対する可変長符号とし
て、差分符号値の絶対値の小さい順に符号長の短い可変
長符号を割り当てている。
【0013】差分符号化は、差分されたデータを復号す
る時にエラーが発生した場合エラーが伝搬されるブロッ
ク単位で行う。これは動きベクトルの真値を符号化して
から次に動きベクトルの真値を符号化するまでのブロッ
ク数であり、ここでは差分周期と定義する。
【0014】図9は図7の動きベクトル符号化器710
の詳細ブロック図である。図9において、符号化対象の
動きベクトル値を現動きベクトル値とする。また、直前
の動きベクトル値を前動きベクトル値とする。901は
遅延器で、動きベクトル値を格納する。902は差分周
期カウンタで、差分周期ごとに遅延器901のリセット
を行う。903は差分符号化器で、現動きベクトル値と
遅延器901の格納値との差分値を符号化する。904
は可変長符号化器で、差分符号化器903で符号化され
た差分符号を可変長符号化する。
【0015】図10は図9で示した詳細ブロックの動作
を説明するフローチャートである。以下に2フレーム目
以降の1フレームの映像信号についての処理手順を示
す。
【0016】(1001)画素数を水平800画素・垂
直800画素とし、ブロックの大きさを水平16画素・
垂直16画素とし、水平ブロックの総数を50・垂直ブ
ロックの総数を50とする。また、差分周期を10ブロ
ックとする。初期値として、対象ブロックの水平ブロッ
クを0ブロック、垂直ブロックを0ブロック、差分周期
ブロックを0ブロックに設定する。(1002)へ行
く。
【0017】(1002)遅延器901の水平および垂
直方向の動きベクトル値をそれぞれ0に初期化する。
(1003)へ行く。
【0018】(1003)差分符号化器903を用い
て、現動きベクトル値と遅延器901に格納された値と
の差分値を符号化する。(1004)へ行く。
【0019】(1004)現動きベクトル値を遅延器9
01に格納する。(1005)へ行く。
【0020】(1005)可変長符号化器904によ
り、差分符号化器903により求めた差分符号を可変長
符号化する。(1006)へ行く。
【0021】(1006)差分周期カウンタ902によ
り差分周期ブロックに1を加算する。(1007)へ行
く。
【0022】(1007)差分周期ブロックが差分周期
の10ブロックに等しいかを調べる。等しい場合(10
08)へ行く。そうでない場合(1009)へ行く。
【0023】(1008)遅延器901の水平および垂
直方向の動きベクトル値をそれぞれ0にリセットする。
また、差分周期ブロックを0にリセットする。(100
9)へ行く。
【0024】(1009)対象ブロックの水平ブロック
に1を加算する。(1010)へ行く。
【0025】(1010)対象ブロックの水平ブロック
が水平ブロックの総数である50に等しいかを調べる。
等しい場合、(1011)へ行く。そうでない場合、
(1003)へ行く。
【0026】(1011)対象ブロックの水平ブロック
を0にリセットする。対象ブロックの垂直ブロックに1
を加算する。(1012)へ行く。
【0027】(1012)対象ブロックの垂直ブロック
が垂直ブロックの総数である50に等しいかを調べる。
等しい場合、処理を終了する。そうでない場合、(10
03)へ行く。
【0028】可変長符号化方法には、MPEGで動きベ
クトル符号化に用いられている1次元ハフマン符号化の
他に、量子化係数の符号化などに用いられているランレ
ングス符号化がある。ランレングス符号化は、差分周期
内のブロックに対し、1つまたは連続する複数個のブロ
ックの水平および垂直方向の動きベクトルの差分符号値
をまとめて1つの符号語に符号化する。動きベクトルの
符号化においても差分符号値が0になる頻度が高いため
ランレングス符号化を用いることは有効である。
【0029】図11は動きベクトルの可変長符号化にラ
ンレングス符号化を用いた場合の符号長テーブルの一例
である。ここで、差分周期を10ブロックとしている。
このとき、動きベクトルの数は水平方向と垂直方向を合
わせ20個となる。また、差分符号化方法として折り返
し符号化を用い、差分符号値の存在範囲は−16から+
15とする。
【0030】run と value を以下のように定義する。 run : 連続する0の値の差分符号の個数(run = 0,...,
19) value: 連続する0の値の差分符号の直後の差分符号値
(value = -16,...,+15) (run,value) : run、value で示される合計 run + 1
個の情報 ここですべてが0の場合、可変長符号語は (19,0)とな
る。図11の符号長は正負を表すサインビットを含んで
いないため、 valueが0でない場合の符号長は1ビット
増加する。さらに、図11で符号長が空白になっている
部分は以下で示すように2つの符号語の組合せに変換し
て符号化する。 (run,value) -> (run - 1,0) + (0,value) 次に図12,図13に、動きベクトルの可変長符号化に
ランレングス符号化を用いた場合の可変長符号化テーブ
ルを示す。ここで符号語のsは、入力されるvalueが正
の数の場合は0、負の数の場合は1となる。
【0031】このような可変長符号化器を用いた場合、
可変長符号化器へ転送する差分符号の順番により、連続
する0の値の差分符号の個数が異なるため、異なる符号
長の可変長符号が生成される。そのため効率のよい可変
長符号を生成するためには、差分符号化器から可変長符
号化器へ差分符号を効率のよい順番に転送できることが
必要となる。
【0032】
【発明が解決しようとする課題】しかしながら従来の動
きベクトル符号化装置においては前述の具体例で説明し
たように、差分符号化を行った順に可変長符号化器に差
分符号が転送されるため、ランレングス符号化などの入
力デ−タの順番に依存する可変長符号化方法を用いた場
合、必ずしも効率のよいデ−タの順番に差分符号を可変
長符号化器へ転送することはできないという課題を有し
ていた。
【0033】本発明は、かかる点に鑑み、あらかじめ設
定した順番に差分符号を可変長符号化器へ転送すること
により符号化効率の高い動きベクトル符号化装置を提供
することを目的とするものである。
【0034】
【課題を解決するための手段】本発明は前記目的を達成
するために、動きベクトル値を差分符号化する際に動き
ベクトルの真値を符号化してから次に動きベクトルの真
値を符号化するまでのブロック数を差分周期とし、符号
化対象の動きベクトル値を現動きベクトル値、直前の動
きベクトル値を前動きベクトル値としたとき、動きベク
トル値を格納する遅延器と、ブロック数のカウントを行
い差分周期ごとに遅延器のリセットを行う差分周期カウ
ンタと、現動きベクトル値と遅延器の格納値との差分値
を符号化する差分符号化器と、差分符号を可変長符号化
する可変長符号化器と、差分符号化器で符号化された差
分符号を格納する差分符号メモリと、差分周期カウンタ
に同期して差分符号メモリに格納された差分符号をあら
かじめ設定された順番に可変長符号化器へ転送するメモ
リデ−タ制御器を備えたものである。
【0035】
【作用】本発明の動きベクトル符号化装置は前記した構
成により、差分符号化器を用い現動きベクトル値と前動
きベクトル値の差分符号化を行い、差分符号を差分符号
メモリに格納する。メモリデ−タ制御器を用い差分周期
カウンタに同期して差分周期ごとに差分符号メモリに格
納された差分符号をあらかじめ設定された順番で差分符
号化器に転送する。
【0036】
【実施例】
(実施例1)以下、本発明の第1の実施例における動き
ベクトル符号化装置について図面を用いて説明する。図
1は本発明の第1の実施例における動きベクトル符号化
装置の構成図である。ここでは、図7の従来例における
動きベクトル符号化装置の動きベクトル符号化器710
のみが異なるため、その構成を記載している。
【0037】図1において、符号化対象の動きベクトル
値を現動きベクトル値、直前の動きベクトル値を前動き
ベクトル値とする。101は遅延器で、動きベクトル値
を格納する。102は差分周期カウンタで、ブロック数
のカウントを行い差分周期ごとに遅延器101のリセッ
トを行う。103は差分符号化器で、現動きベクトル値
と遅延器101の格納値との差分値を符号化する。10
4は可変長符号化器で、差分符号を可変長符号化する。
105は差分符号メモリで、差分符号化器103で符号
化された差分符号を格納する。106はメモリデータ制
御器で、差分周期カウンタ102に同期して差分符号メ
モリ105に格納された差分符号をあらかじめ設定され
た順番に可変長符号化器104へ転送する。
【0038】図2は図1の動作を説明するフローチャー
トである。以下に2フレーム目以降の1フレームの映像
信号についての処理手順を示す。
【0039】(201)画素数を水平800画素・垂直
800画素とし、ブロックの大きさを水平16画素・垂
直16画素とし、水平ブロックの総数を50・垂直ブロ
ックの総数を50とする。また、差分周期を10ブロッ
クとする。初期値として、対象ブロックの水平ブロック
を0ブロック、垂直ブロックを0ブロック、差分周期ブ
ロックを0ブロックに設定する。(202)へ行く。
【0040】(202)遅延器101の水平および垂直
方向の動きベクトル値をそれぞれ0に初期化する。(2
03)へ行く。
【0041】(203)差分符号化器103を用いて、
現動きベクトル値と遅延器101に格納された値との差
分値を符号化する。(204)へ行く。
【0042】(204)現動きベクトル値を遅延器10
1に格納する。(205)へ行く。(205)差分符号
化器103により符号化された差分符号を、差分符号メ
モリ105に格納する。(206)へ行く。
【0043】(206)差分周期カウンタ102により
差分周期ブロックに1を加算する。(207)へ行く。
【0044】(207)差分周期ブロックが差分周期の
10ブロックに等しいかを調べる。等しい場合(20
8)へ行く。そうでない場合(211)へ行く。
【0045】(208)メモリデータ制御器106を用
いて、差分符号メモリ105から可変長符号化器104
へあらかじめ設定された順番にデータの出力制御を行
う。(209)へ行く。
【0046】(209)差分周期内にあるブロックの差
分符号を可変長符号化する。(210)へ行く。
【0047】(210)遅延器101の水平および垂直
方向の動きベクトル値をそれぞれ0にリセットする。ま
た、差分周期ブロックを0にリセットする。(211)
へ行く。
【0048】(211)対象ブロックの水平ブロックに
1を加算する。(212)へ行く。(212)対象ブロ
ックの水平ブロックが水平ブロックの総数である50に
等しいかを調べる。等しい場合、(213)へ行く。そ
うでない場合、(203)へ行く。
【0049】(213)対象ブロックの水平ブロックを
0にリセットする。対象ブロックの垂直ブロックに1を
加算する。(214)へ行く。
【0050】(214)対象ブロックの垂直ブロックが
垂直ブロックの総数である50に等しいかを調べる。等
しい場合、処理を終了する。そうでない場合、(20
3)へ行く。
【0051】ここでは、差分符号化器103として、M
PEGで採用されている折り返し符号化を用いて動きベ
クトルの差分符号化を行う。
【0052】また、可変長符号化器104として、ラン
レングス符号化を用いて差分符号の可変長符号化を行
う。ランレングス符号化は、差分周期内のブロックに対
し、1つまたは連続する複数個のブロックの水平または
垂直方向の動きベクトルの差分符号値をまとめて1つの
符号語に符号化する。このような可変長符号化器を用い
た場合、可変長符号化器に転送する差分符号の順番によ
り、可変長符号が異なってくる。
【0053】図3は、可変長符号化器への転送データの
並べ換えパターンを示している。ここで、水平方向及び
垂直方向の動きベクトル値をhi、vi(i = 0〜
9)とし、差分符号値をΔhi、Δvi(i = 0〜
9)とする。Δh0とΔv0は真値の差分符号値とす
る。ここで、動きベクトルはh0、v0からh9、v9
へ図3の左から右の順に差分符号化器103へ入力され
るとする。
【0054】まず、差分符号を入力順に可変長符号化器
へ転送した場合は、可変長符号語として、(0,1)、(0,-
1)、(8,1)、(5,1)、(2,0)が生成される。図12,図1
3の可変長符号化テーブルを用いた場合、差分周期内の
動きベクトルの符号長は35ビットとなる。
【0055】並べ換えパターン1は、差分符号化された
逆順に可変長符号化へデータを転送する場合である。こ
のとき、可変長符号語として、(3,1)、(5,1)、(8,-1)、
(0,1)が生成される。図12,図13の可変長符号化テ
ーブルを用いた場合、差分周期内の動きベクトルの符号
長は27ビットとなる。
【0056】これは、動きベクトルの真値の差分符号で
あるΔh0、Δv0を可変長符号化器へ最後に転送する
ことにより、連続する0の値の差分符号の個数が多くな
ったため、符号化効率が向上したと考えられる。
【0057】並べ換えパターン2は、水平方向の差分符
号の後に垂直方向の差分符号を転送した場合である。こ
のとき可変長符号語として、(0,1)、(4,1)、(2,1)、(1,
-1)、(8,0)が生成される。図12,図13の可変長符号
化テーブルを用いた場合、差分周期内の動きベクトルの
符号長は34ビットとなる。
【0058】これは、水平方向と垂直方向の動きベクト
ル値は本来独立であると考えられるからである。水平方
向のみにパニング以外の動きがあり垂直方向にパニング
以外の動きがない場合、垂直方向の差分値は0になるた
め連続する0の値の差分符号の個数が多くなったため、
符号化効率が向上したと考えられる。
【0059】並べ換えパターン3は、並べ換えパターン
2で動きベクトルの真値の差分符号であるΔh0、Δv
0を最後に転送した場合である。このとき、可変長符号
語として、(4,1)、(2,1)、(10,1)、(0,-1)が生成され
る。図12,図13の可変長符号化テーブルを用いた場
合、差分周期内の動きベクトルの符号長は25ビットと
なる。
【0060】並べ換えパターン4は、並べ換えパターン
2を逆順にした後、最後の2つがΔv0、Δh0になる
ようにした場合である。このとき、可変長符号語とし
て、(10,1)、(2,1)、(4,-1)、(0,1)が生成される。図1
2,図13の可変長符号化テーブルを用いた場合、差分
周期内の動きベクトルの符号長は25ビットとなる。
【0061】並べ換えパターン3および並べ換えパター
ン4は、動きベクトルの真値の差分符号を可変長符号化
器へ最後に転送し、さらに動きベクトルの差分値の差分
符号に対しては、水平方向の差分符号を転送した後に垂
直方向の差分符号を転送するか、垂直方向の差分符号を
転送した後に水平方向の差分符号を転送するかのいずれ
かであり、並べ換えパターン1と並べ換えパターン2の
2つの効果により、連続する0の値の差分符号の個数が
さらに多くなり、符号化効率が並べ換えパターン1と並
べ換えパターン2よりさらに向上したと考えられる。
【0062】以上のように、第1の実施例の動きベクト
ル符号化装置を用いることにより、差分符号メモリを用
いて可変長符号化器への転送データの順番を並び換える
ことにより、連続する0の値の差分符号の個数が多くな
る差分符号の順に可変長符号化することが可能となり、
動きベクトルの符号化効率を向上させることができる。
【0063】(実施例2)第1の実施例では差分符号を
可変長符号化器104へ転送する順番を並べ換えるため
に、差分周期内に存在する差分符号を格納する差分符号
メモリ105とメモリデータ制御器が106が必要とな
る。ところが、これらの規模の増加が実現上支障となる
場合がある。
【0064】そこで第2の実施例では、差分符号メモリ
を真値の動きベクトルの差分符号に必要な容量に削減
し、メモリデータ制御器106の代わりにスイッチを設
けることで構成することが可能な動きベクトル符号化装
置について述べる。
【0065】以下に、本発明の第2の実施例における動
きベクトル符号化装置について図面を用いて説明する。
【0066】図4は本発明の第2の実施例における動き
ベクトル符号化装置の構成図である。ここでは、図7の
従来例における動きベクトル符号化装置の動きベクトル
符号化器710のみが異なるため、その構成を記載して
いる。
【0067】図4において、符号化対象の動きベクトル
値を現動きベクトル値、直前の動きベクトル値を前動き
ベクトル値とする。401は遅延器で、動きベクトル値
を格納する。402は差分周期カウンタで、ブロック数
のカウントを行い差分周期ごとに遅延器401のリセッ
トを行う。403は差分符号化器で、現動きベクトル値
と遅延器401の値との差分値を符号化する。404は
可変長符号化器で、差分符号をランレングス符号化を用
いて可変長符号化する。
【0068】405は差分符号メモリで、差分周期カウ
ンタ402に同期して直前に格納されている差分符号を
可変長符号化器404へ転送し、新たに差分符号化器4
03で符号化された差分符号を格納する。406はスイ
ッチで、差分周期カウンタ402に同期して動きベクト
ルの真値の差分符号を差分符号メモリ405に、動きベ
クトルの差分値の差分符号を可変長符号化器406に転
送する。
【0069】図5は図4の動作を説明するフローチャー
トである。以下に2フレーム目以降の1フレームの映像
信号についての処理手順を示す。
【0070】(501)画素数を水平800画素・垂直
800画素とし、ブロックの大きさを水平16画素・垂
直16画素とし、水平ブロックの総数を50・垂直ブロ
ックの総数を50とする。また、差分周期を10ブロッ
クとする。初期値として、対象ブロックの水平ブロック
を0ブロック、垂直ブロックを0ブロック、差分周期ブ
ロックを0ブロックに設定する。(502)へ行く。
【0071】(502)遅延器401の水平および垂直
方向の動きベクトル値をそれぞれ0に初期化する。(5
03)へ行く。
【0072】(503)差分符号化器403を用いて、
現動きベクトル値と遅延器401に格納された値との差
分値を符号化する。(504)へ行く。
【0073】(504)現動きベクトルを遅延器401
に格納する。(505)へ行く。(505)差分周期カ
ウンタ402により差分周期ブロックに1を加算する。
(506)へ行く。
【0074】(506)差分周期ブロックが1ブロック
に等しいかを調べる。等しい場合(507)へ行く。そ
うでない場合(508)へ行く。
【0075】(507)差分符号メモリ405に格納さ
れている差分符号を可変長符号化器404に転送し、現
在対象の差分符号を差分符号メモリ405に新規に格納
する。(508)へ行く。
【0076】(508)差分符号を可変長符号化する。
(509)へ行く。(509)差分周期ブロックが差分
周期の10ブロックに等しいかを調べる。等しい場合
(510)へ行く。そうでない場合(511)へ行く。
【0077】(510)遅延器401の水平および垂直
方向の動きベクトル値をそれぞれ0にリセットする。ま
た、差分周期ブロックを0にリセットする。(511)
へ行く。
【0078】(511)対象ブロックの水平ブロックに
1を加算する。(512)へ行く。(512)対象ブロ
ックの水平ブロックが水平ブロックの総数である50に
等しいかを調べる。等しい場合、(513)へ行く。そ
うでない場合、(503)へ行く。
【0079】(513)対象ブロックの水平ブロックを
0にリセットする。対象ブロックの垂直ブロックに1を
加算する。(514)へ行く。
【0080】(514)対象ブロックの垂直ブロックが
垂直ブロックの総数である50に等しいかを調べる。等
しい場合、処理を終了する。そうでない場合、(50
3)へ行く。
【0081】ここでは、差分符号化器403として、M
PEGで採用されている折り返し符号化を用いて動きベ
クトルの差分符号化を行う。
【0082】また、可変長符号化器404として、ラン
レングス符号化を用いて差分符号の可変長符号化を行
う。
【0083】本実施例の構成を用いることにより、動き
ベクトルの真値の差分符号を差分符号メモリ405に格
納し、それ以降のブロックの動きベクトルの差分符号を
順次可変長符号化器404に転送していき、最後に差分
符号メモリ405に格納された動きベクトルの真値の差
分符号を可変長符号化器404に転送するため、連続す
る0の値の差分符号の個数が多い可変長符号を作成する
ことが可能となる。
【0084】図6は、可変長符号化器への転送データの
並べ換えパターンを示している。ここで、水平方向およ
び垂直方向の動きベクトル値をhi、vi(i = 0〜
9)とし、差分符号値をΔhi、Δvi(i = 0〜
9)とする。Δh0とΔv0は真値の差分符号値とす
る。ここで、動きベクトルはh0、v0からh9、v9
へ図6の左から右の順に差分符号化器403へ入力され
るとする。
【0085】まず、差分符号を入力順に可変長符号化器
へ転送した場合は、可変長符号語として、(0,1)、(0,-
1)、(8,1)、(5,1)、(2,0)が生成される。図12,図1
3の可変長符号化テーブルを用いた場合、差分周期内の
動きベクトルの符号長は35ビットとなる。
【0086】並べ換えパターンでは、動きベクトルの真
値の差分符号であるΔh0、Δv0を最後に可変長符号
化へ転送する。このとき、可変長符号語として、(8,
1)、(5,1)、(3,1)、(0,-1)が生成される。図12,図1
3の可変長符号化テーブルを用いた場合、差分周期内の
動きベクトルの符号長は27ビットとなる。
【0087】これは、動きベクトルの真値の差分符号で
あるΔh0、Δv0を可変長符号化器へ最後に転送する
ことにより、連続する0の値の差分符号の個数が多くな
ったため、符号化効率が向上したと考えられる。
【0088】以上のように、第2の実施例の動きベクト
ル符号化装置を用いることにより、差分周期カウンタ4
02に同期して動きベクトルの真値の差分符号に対応す
る差分符号メモリ405とスイッチ406を用いて差分
符号を可変長符号化器404へ転送する順番を制御する
ことにより、連続する0の値の差分符号の個数が多い可
変長符号を生成することが可能となり、実施例1よりも
簡単な構成で動きベクトルの符号化効率を向上させるこ
とができる。
【0089】
【発明の効果】本発明の動きベクトル符号化装置は、差
分符号を差分符号メモリに格納し、メモリデ−タ制御器
を用い差分周期ごとに可変長符号化器へあらかじめ設定
した順番に差分符号を転送することによって、可変長符
号化器に適した順番でデ−タを転送することができ、符
号化効率のよい可変長符号化を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における動きベクトル符
号化器の構成図
【図2】本発明の第1の実施例における動きベクトル符
号化装置のフローチャート
【図3】本発明の第1の実施例における差分符号の並べ
換えパターンを示す図
【図4】本発明の第2の実施例における動きベクトル符
号化器の構成図
【図5】本発明の第2の実施例における動きベクトル符
号化装置のフローチャート
【図6】本発明の第2の実施例における差分符号の並べ
換えパターンを示す図
【図7】従来の動きベクトル符号化装置の構成図
【図8】従来の動きベクトル符号化装置の動きベクトル
符号化テーブルを示す図
【図9】従来の動きベクトル符号化装置の動きベクトル
符号化器のブロック図
【図10】従来の動きベクトル符号化装置のフローチャ
ート
【図11】ランレングス符号化を用いた可変長符号化器
の符号長テーブルを示す図
【図12】ランレングス符号化を用いた可変長符号化器
の符号化テーブルを示す図
【図13】ランレングス符号化を用いた可変長符号化器
の符号化テーブルを示す図
【符号の説明】
101 遅延器 102 差分周期カウンタ 103 差分符号化器 104 可変長符号化器 105 差分符号メモリ 106 メモリデータ制御器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】動きベクトル値を差分符号化する際に動き
    ベクトルの真値を符号化してから次に動きベクトルの真
    値を符号化するまでのブロック数を差分周期とし、符号
    化対象の動きベクトル値を現動きベクトル値、直前の動
    きベクトル値を前動きベクトル値としたとき、動きベク
    トル値を格納する遅延器と、ブロック数のカウントを行
    い前記差分周期ごとに前記遅延器のリセットを行う差分
    周期カウンタと、前記現動きベクトル値と前記遅延器の
    格納値との差分値を符号化する差分符号化器と、差分符
    号を可変長符号化する可変長符号化器と、前記差分符号
    化器で符号化された差分符号を格納する差分符号メモリ
    と、前記差分周期カウンタに同期して前記差分符号メモ
    リに格納された差分符号をあらかじめ設定された順番に
    前記可変長符号化器へ転送するメモリデ−タ制御器を備
    えたことを特徴とする動きベクトル符号化装置。
  2. 【請求項2】メモリデ−タ制御器は、動きベクトルの真
    値の差分符号を動きベクトルの差分値の差分符号の後に
    前記可変長符号化器へ転送することを特徴とする請求項
    1記載の動きベクトル符号化装置。
  3. 【請求項3】可変長符号化器は、ランレングス符号化を
    行うことを特徴とする請求項1記載の動きベクトル符号
    化装置。
  4. 【請求項4】メモリデ−タ制御器は、動きベクトルの差
    分値の差分符号の中で、水平方向の差分符号を転送した
    後に垂直方向の差分符号を転送するか、垂直方向の差分
    符号を転送した後に水平方向の差分符号を転送するかの
    いずれかの制御を行うことを特徴とする請求項1記載の
    動きベクトル符号化装置。
  5. 【請求項5】動きベクトル値を差分符号化する際に動き
    ベクトルの真値を符号化してから次に動きベクトルの真
    値を符号化するまでのブロック数を差分周期とし、符号
    化対象の動きベクトル値を現動きベクトル値、直前の動
    きベクトル値を前動きベクトル値としたとき、動きベク
    トル値を格納する遅延器と、ブロック数のカウントを行
    い前記差分周期ごとに前記遅延器のリセットを行う差分
    周期カウンタと、前記現動きベクトル値と前記遅延器の
    値との差分値を符号化する差分符号化器と、差分符号を
    ランレングス符号化を用いて可変長符号化する可変長符
    号化器と、前記差分周期カウンタに同期して直前に格納
    されている差分符号を前記可変長符号化器へ転送し、新
    たに前記差分符号化器で符号化された差分符号を格納す
    る差分符号メモリと、前記差分周期カウンタに同期して
    動きベクトルの真値の差分符号を前記差分符号メモリ
    に、動きベクトルの差分値の差分符号を前記可変長符号
    化器に転送するスイッチを備えたことを特徴とする動き
    ベクトル符号化装置。
JP28322093A 1993-11-12 1993-11-12 動きベクトル符号化装置 Pending JPH07135660A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28322093A JPH07135660A (ja) 1993-11-12 1993-11-12 動きベクトル符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28322093A JPH07135660A (ja) 1993-11-12 1993-11-12 動きベクトル符号化装置

Publications (1)

Publication Number Publication Date
JPH07135660A true JPH07135660A (ja) 1995-05-23

Family

ID=17662655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28322093A Pending JPH07135660A (ja) 1993-11-12 1993-11-12 動きベクトル符号化装置

Country Status (1)

Country Link
JP (1) JPH07135660A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879763A (ja) * 1994-09-05 1996-03-22 Sharp Corp 動画像符号化装置及び動画像復号装置
JP2002374171A (ja) * 2001-06-15 2002-12-26 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP2011050090A (ja) * 2003-05-12 2011-03-10 Google Inc ビデオ圧縮方法
JP2012065097A (ja) * 2010-09-15 2012-03-29 Fujitsu Ltd 圧縮装置、圧縮方法、圧縮プログラムおよび復元装置
US8938001B1 (en) 2011-04-05 2015-01-20 Google Inc. Apparatus and method for coding using combinations
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US9088785B2 (en) 2001-12-17 2015-07-21 Microsoft Technology Licensing, Llc Skip macroblock coding

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879763A (ja) * 1994-09-05 1996-03-22 Sharp Corp 動画像符号化装置及び動画像復号装置
JP2002374171A (ja) * 2001-06-15 2002-12-26 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
US10368065B2 (en) 2001-12-17 2019-07-30 Microsoft Technology Licensing, Llc Skip macroblock coding
US9774852B2 (en) 2001-12-17 2017-09-26 Microsoft Technology Licensing, Llc Skip macroblock coding
US9538189B2 (en) 2001-12-17 2017-01-03 Microsoft Technology Licensing, Llc Skip macroblock coding
US9088785B2 (en) 2001-12-17 2015-07-21 Microsoft Technology Licensing, Llc Skip macroblock coding
US8942290B2 (en) 2003-05-12 2015-01-27 Google Inc. Dynamic coefficient reordering
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
JP2011050090A (ja) * 2003-05-12 2011-03-10 Google Inc ビデオ圧縮方法
US10616576B2 (en) 2003-05-12 2020-04-07 Google Llc Error recovery using alternate reference frame
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
JP2012065097A (ja) * 2010-09-15 2012-03-29 Fujitsu Ltd 圧縮装置、圧縮方法、圧縮プログラムおよび復元装置
US8938001B1 (en) 2011-04-05 2015-01-20 Google Inc. Apparatus and method for coding using combinations

Similar Documents

Publication Publication Date Title
US5386234A (en) Interframe motion predicting method and picture signal coding/decoding apparatus
JP3856262B2 (ja) 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
JP3743962B2 (ja) 画像復号化方法
US5654706A (en) System for variable length decoding digital transmission data which has been compressed by selecting a scanning pattern
JP3441132B2 (ja) 動画像圧縮装置およびその方法
JP3888597B2 (ja) 動き補償符号化装置、及び動き補償符号化復号化方法
JPH0537915A (ja) 画像信号符号化方法と画像信号符号化装置
JPH07135660A (ja) 動きベクトル符号化装置
KR100242635B1 (ko) 가변장 부호화 및 가변장 복호화 시스템
US7333542B1 (en) Moving picture decoding apparatus and moving picture decoding method
JP3624450B2 (ja) 画像データ符号化方法及び画像データ符号化装置
JPH07143487A (ja) 画像符号化装置
EP1298937A1 (en) Video encoding or decoding using recompression of reference frames
JPH03255792A (ja) 画質制御装置
KR100207391B1 (ko) 적응적인 벡터 양자화를 이용한 영상 부호화 시스템 및 그의 움직임 정보 검출 방법
JPH1175198A (ja) 画像信号圧縮装置及び方法、並びに記録媒体
JPH0349373A (ja) 画像符号化方式
KR0123092B1 (ko) 픽쳐 시작 위치 코드 코딩 방법 및 장치
JPH0795572A (ja) 画像符号化装置
JP2004007778A (ja) 動き補償復号化方法
JP3948442B2 (ja) 動き補償復号化装置
JP3191462B2 (ja) 高能率符号化装置
KR0148155B1 (ko) 영상부호화의 esc 부호화장치 및 그 방법
KR0129796B1 (ko) 동영상 부호화장치
JPH0354983A (ja) 動画像信号の高能率符号化方法