(57)【要約】【課題】効率良い符号化を行えるようにする。【解決手段】現フレームメモリ１２には、符号化の対象とされているフレームＮを構成する画素が書き込まれる。ブロック切り出し部１３は、書き込まれた画素のうち、最後に書き込まれた画素を含み、所定の画素数から構成される、所定の形状の注目ブロックを切り出す。動き予測部１４は、フレームＮより１フレーム前のフレームＮ−１から、注目ブロックに類似する検出ブロックを検出する。残差算出部１６は、注目ブロックと検出ブロックとの残差を算出し、符号化部１７は、算出された残差を符号化する。本発明は、符号化装置に適用できる。【選択図】図１
2007116459.tif 000002
【特許請求の範囲】
【請求項１】
第１のフレームの画素を記憶する第１の記憶手段と、
前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段と、
前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段と、
前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段と、
前記切り出し手段により切り出された前記第１のブロックと、前記検出手段により検出された前記第２のブロックとの残差を算出する残差算出手段と、
前記残差算出手段により算出された前記残差を符号化する符号化手段と
を備える符号化装置。
【請求項２】
前記第１のブロックは、処理の時点で、前記第１の記憶手段に最後に書き込まれた画素を少なくとも含む形状とされる
請求項１に記載の符号化装置。
【請求項３】
前記第２の記憶手段に前記第２のフレームが記憶されていない場合、前記符号化手段は、前記残差を符号化する際の符号化方式と異なる符号化方式で、前記第１のフレームを符号化する
請求項１に記載の符号化装置。
【請求項４】
第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、
前記第１のフレームより１フレーム前の第２のフレームの画素の記憶を制御する第２の記憶制御ステップと、
前記第１の記憶制御ステップの処理で記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、
前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御せれた前記第２のフレーム内から検出する検出ステップと、
前記切り出しステップの処理で切り出された前記第１のブロックと、前記検出ステップの処理で検出された前記第２のブロックとの残差を算出する残差算出ステップと、
前記残差算出ステップの処理で算出された前記残差を符号化する符号化ステップと
を含む符号化方法。
【請求項５】
第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、
前記第１のフレームより１フレーム前の第２のフレームの画素の記憶を制御する第２の記憶制御ステップと、
前記第１の記憶制御ステップの処理で記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、
前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御せれた前記第２のフレーム内から検出する検出ステップと、
前記切り出しステップの処理で切り出された前記第１のブロックと、前記検出ステップの処理で検出された前記第２のブロックとの残差を算出する残差算出ステップと、
前記残差算出ステップの処理で算出された前記残差を符号化する符号化ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項６】
符号化された残差を復号化する復号化手段と、
第１のフレームの画素を記憶する第１の記憶手段と、
前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段と、
前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段と、
前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段と、
前記検出手段により検出された前記第２のブロックに、前記復号化手段により復号化された前記残差を加算し、前記第１の記憶手段に記憶させる加算手段と
を備える復号化装置。
【請求項７】
前記第１のブロックは、処理の時点で、前記第１の記憶手段に最後に記憶された画素を少なくとも含む形状とされる
請求項６に記載の復号化装置。
【請求項８】
フレームが符号化された符号化データが受信された場合、前記復号化手段は、前記残差を復号化する際の復号化方式と異なる復号化方式で、受信された符号化データを復号化する
請求項６に記載の復号化装置。
【請求項９】
符号化された残差を復号化する復号化ステップと、
第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、
前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶制御ステップと、
前記第１の記憶制御ステップで記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、
前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御された前記第２のフレーム内から検出する検出ステップと、
前記検出ステップの処理で検出された前記第２のブロックに、前記復号化ステップにより復号化された前記残差を加算し、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームに追加記憶させる加算ステップと
を含む復号化方法。
【請求項１０】
符号化された残差を復号化する復号化ステップと、
第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、
前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶制御ステップと、
前記第１の記憶制御ステップで記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、
前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御された前記第２のフレーム内から検出する検出ステップと、
前記検出ステップの処理で検出された前記第２のブロックに、前記復号化ステップにより復号化された前記残差を加算し、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームに追加記憶させる加算ステップと
を含む処理をコンピュータに実行させるプログラム。
【請求項１１】
請求項５または請求項１０に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体に関し、特に、画質を低下させることなく、圧縮率を高めるような符号化を行えるようにし、また、そのような符号化が行われたデータを復号化できるようにした符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
符号化の方式は、可逆符号化と不可逆符号化とに分類できる。可逆符号化は、符号化の対象とされたデータが同一のデータに復元可能であるように符号化する方式であり、不可逆符号化は、符号化の対象とされたデータが同一のデータには復元されない符号化の方式である。
【０００３】
可逆符号化の特徴としては、符号化によって失われる情報はなく、その為に、画質の劣化を防ぐことができるが、情報量が多くなってしまうことがあげられる。
【０００４】
不可逆符号化の特徴としては、その処理の特性上、符号化の際に失われる情報が多いという点があげられる。符号化の際に失われた情報のため、ユーザによっては、復号化された画像を閲覧したときに、画像が劣化したと感じることがある。
【０００５】
このような不可逆符号化に対し、可逆符号化は、上記したように、その処理の特性上、符号化によって失われる情報はないが、その分、不可逆符号化に比べ冗長な情報量が存在していた（データ量が大きくなってしまった）。（例えば、特許文献１参照）
【特許文献１】特開平０７−１８４２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
符号化が行われる際、動きベクトルが検出される。この動きベクトルの検出は、処理対象とされているフレーム内から所定の画素数で構成されるブロックが切り出され、そのブロックに類似するブロックが、処理対象とされているフレームより１フレーム前のフレーム内から検出されることにより行われる。
【０００７】
このようにしてブロック単位で動きベクトルの検出が行われるため、画素毎の動きは表現しきれなかった。また、仮に画素毎の動きを表現するための情報を生成し、送信するようにした場合、データ量が多くなってしまい、高圧縮を行うことができなくなってしまう。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、データ量が大きくなることがなく、画素毎の動きを表すようなことができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の符号化装置は、第１のフレームの画素を記憶する第１の記憶手段と、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段と、前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段と、前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段と、前記切り出し手段により切り出された前記第１のブロックと、前記検出手段により検出された前記第２のブロックとの残差を算出する残差算出手段と、前記残差算出手段により算出された前記残差を符号化する符号化手段とを備える。
【００１０】
前記第１のブロックは、処理の時点で、前記第１の記憶手段に最後に書き込まれた画素を少なくとも含む形状とされるようにすることができる。
【００１１】
前記第２の記憶手段に前記第２のフレームが記憶されていない場合、前記符号化手段は、前記残差を符号化する際の符号化方式と異なる符号化方式で、前記第１のフレームを符号化するようにすることができる。
【００１２】
本発明の一側面の符号化方法は、第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、前記第１のフレームより１フレーム前の第２のフレームの画素の記憶を制御する第２の記憶制御ステップと、前記第１の記憶制御ステップの処理で記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御せれた前記第２のフレーム内から検出する検出ステップと、前記切り出しステップの処理で切り出された前記第１のブロックと、前記検出ステップの処理で検出された前記第２のブロックとの残差を算出する残差算出ステップと、前記残差算出ステップの処理で算出された前記残差を符号化する符号化ステップとを含む。
【００１３】
本発明の一側面のプログラムは、第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、前記第１のフレームより１フレーム前の第２のフレームの画素の記憶を制御する第２の記憶制御ステップと、前記第１の記憶制御ステップの処理で記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御せれた前記第２のフレーム内から検出する検出ステップと、前記切り出しステップの処理で切り出された前記第１のブロックと、前記検出ステップの処理で検出された前記第２のブロックとの残差を算出する残差算出ステップと、前記残差算出ステップの処理で算出された前記残差を符号化する符号化ステップとを含む処理をコンピュータに実行させる。
【００１４】
本発明の一側面の復号化装置は、符号化された残差を復号化する復号化手段と、第１のフレームの画素を記憶する第１の記憶手段と、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段と、前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段と、前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段と、前記検出手段により検出された前記第２のブロックに、前記復号化手段により復号化された前記残差を加算し、前記第１の記憶手段に記憶させる加算手段とを備える。
【００１５】
前記第１のブロックは、処理の時点で、前記第１の記憶手段に最後に記憶された画素を少なくとも含む形状とされるようにすることができる。
【００１６】
フレームが符号化された符号化データが受信された場合、前記復号化手段は、前記残差を復号化する際の復号化方式と異なる復号化方式で、受信された符号化データを復号化するようにすることができる。
【００１７】
本発明の一側面の復号化方法は、符号化された残差を復号化する復号化ステップと、第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶制御ステップと、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御された前記第２のフレーム内から検出する検出ステップと、前記検出ステップの処理で検出された前記第２のブロックに、前記復号化ステップにより復号化された前記残差を加算し、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームに追加記憶させる加算ステップとを含む。
【００１８】
本発明の一側面のプログラムは、符号化された残差を復号化する復号化ステップと、第１のフレームの画素の記憶を制御する第１の記憶制御ステップと、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶制御ステップと、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出しステップと、前記切り出しステップの処理で切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶制御ステップの処理で記憶が制御された前記第２のフレーム内から検出する検出ステップと、前記検出ステップの処理で検出された前記第２のブロックに、前記復号化ステップにより復号化された前記残差を加算し、前記第１の記憶制御ステップで記憶が制御された前記第１のフレームに追加記憶させる加算ステップとを含む処理をコンピュータに実行させる。
【００１９】
本発明の一側面の記録媒体は、上記プログラムが記録されている。
【００２０】
本発明の一側面の符号化装置および方法、並びにプログラムにおいては、順次供給される所定のフレームを構成する画素から、所定の形状のブロックが切り出され、切り出されたブロックと類似する１フレーム前のフレームに存在するブロックとの残差が算出され、その残差が符号化される。
【００２１】
本発明の一側面の復号化装置および方法、並びにプログラムにおいては、順次供給される符号化された残差が復号化され、既に復号化されている画素から所定の形状のブロックが切り出され、そのブロックに類似するブロックが、既に復号化されているフレーム内から読み出され、その読み出されたブロックに残差が加算されることにより画素が復号化される。
【発明の効果】
【００２２】
本発明の一側面によれば、効率良い符号化を行うことができる。また、復号化を行うことができる。
【００２３】
本発明の一側面によれば、画素毎の動き情報を付加した符号化を行うことができる。また、画素毎の動き情報から復号化を行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
本発明の一側面の符号化装置（例えば、図１の符号化装置１０）は、第１のフレームの画素を記憶する第１の記憶手段（例えば、図１の現フレームメモリ１２）と、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段（例えば、図１の前フレームメモリ１５）と、前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段（例えば、図１のブロック切り出し部１３）と、前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段（例えば、図１の動き予測部１４）と、前記切り出し手段により切り出された前記第１のブロックと、前記検出手段により検出された前記第２のブロックとの残差を算出する残差算出手段（例えば、図１の残差算出部１６）と、前記残差算出手段により算出された前記残差を符号化する符号化手段（例えば、図１の符号化部１７）とを備える。
【００２６】
本発明の一側面の復号化装置（例えば、図８の復号化装置１１０）は、符号化された残差を復号化する復号化手段（例えば、図８の復号化部１１２）と、第１のフレームの画素を記憶する第１の記憶手段（例えば、図８の現フレームメモリ１１４）と、前記第１のフレームより１フレーム前の第２のフレームの画素を記憶する第２の記憶手段（例えば、図８の前フレームメモリ１１７）と、前記第１の記憶手段に記憶されている前記第１のフレームから、所定数の画素を含む所定の形状の第１のブロックを切り出す切り出し手段（例えば、図８のブロック切り出し部１１６）と、前記切り出し手段により切り出された前記第１のブロックに類似する第２のブロックを、前記第２の記憶手段に記憶されている前記第２のフレーム内から検出する検出手段（例えば、図８の動き予測部１１５）と、前記検出手段により検出された前記第２のブロックに、前記復号化手段により復号化された前記残差を加算し、前記第１の記憶手段に記憶させる加算手段（他追えば、図８の加算部１１３）とを備える。
【００２７】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２８】
［符号化装置の構成と動作について］
図１は、本発明を適用した符号化装置の一実施の形態の構成を示す図である。符号化装置１０は、入力部１１、現フレームメモリ１２、ブロック切り出し部１３、動き予測部１４、前フレームメモリ１５、残差算出部１６、符号化部１７、出力部１８から構成されている。
【００２９】
入力部１１には、符号化の対象となる画像データが入力される。入力される画像データは、デジタルデータである。入力部１２により入力された画像データは、現フレームメモリ１２に供給される。現フレームメモリ１２は、順次、供給された画像データを記憶する。現フレームメモリ１２に記憶されている画像データは、ブロック切り出し部１３と、前フレームメモリ１５に供給される。
【００３０】
詳細は後述するが、現フレームメモリ１２から前フレームメモリ１５に画像データが供給されるのは、１フレーム分の画像データが、現フレームメモリ１２に蓄積された時点であり、その蓄積された１フレーム分の画像データが供給される。現フレームメモリ１２には、１フレームを構成する画素が順次供給され、蓄積（記憶）されるように構成されている。
【００３１】
また、現フレームメモリ１２には、処理対象とされる（符号化対象とされる）フレームの画像データが記憶され、前フレームメモリ１５には、処理対象とされているフレームより１フレーム前のフレームの画像データが記憶される。以下、適宜、フレームと記述するが、フレームとの記載は、そのフレームの画像データであるとの意味も含むとする。
【００３２】
ブロック切り出し部１３は、現フレームメモリ１２に記憶されているフレームから、所定の形のブロック（所定の位置に配置されている所定数の画素から構成されるブロック）を切り出し、その切り出したブロック（以下、適宜、注目ブロックと記述する）の情報（画素値）を、動き予測値１４と残差算出部１６に供給する。
【００３３】
動き予測部１４には、前フレームメモリ１５に記憶されているフレームも供給される。動き予測部１４は、注目ブロックに類似するブロックを、前フレームメモリ１５に記憶されているフレーム内を検索し、その画素値を読み出す。読み出されたブロック（以下、適宜、予測ブロックと記述する）は、残差算出部１６に供給される。
【００３４】
残差算出部１６は、注目ブロックと予測ブロックとの残差を求め、符号化部１７に出力する。符号化部１７は、供給された残差を所定の符号化方式で符号化し、出力部１８に供給する。また、符号化部１７は、前フレームメモリ１５に記憶されているフレームが、１フレーム目であった場合、換言すれば、参照するフレームがないため、残差算出部１６により残差を算出することができない状態の場合、前フレームメモリ１５に記憶されているフレームを読み出し、所定の符号化方式で符号化し、出力部１８に供給する。
【００３５】
出力部１８は、供給された符号化データを、図示されていない他の装置（例えば、復号化装置）に対して出力する。
【００３６】
次に、このような構成を有する符号化装置１０の動作について、図２のフローチャートを参照して説明する。
【００３７】
ステップＳ１１において、符号化装置１０は、処理対象とされているフレームが、１フレームであるか否かを判断する。１フレーム目とは、処理対象とされている動画像を構成するフレームであり、１番初めのフレームのことである。換言すれば、ステップＳ１１において、符号化の処理を開始したときに最初に入力されたフレームであるか否かが判断される。さらに換言するならば、ステップＳ１１において、前フレームメモリ１５にフレームが記憶されていな状態のときに処理されるフレームであるか否かが判断される。
【００３８】
ステップＳ１１において、処理対象とされているフレームは、１フレーム目であると判断された場合、ステップＳ１２に処理が進められる。ステップＳ１２において、１フレームが、符号化される。
【００３９】
フレームは、入力部１１を介して現フレームメモリ１２に記憶される。現フレームメモリ１２は、１フレームを構成する画素数分だけ、画像データが蓄積されると、その１フレーム分の画像データを、前フレームメモリ１５に供給するように構成されている。前フレームメモリ１５に供給された画像データが、１フレーム目の画像データであると判断されたときには、前フレームメモリ１５に記憶されている画像データが、符号化部１７に供給される。
【００４０】
符号化部１７は、供給された１フレーム目の画像を、所定の符号化方式により符号化する。この１フレーム目の画像は、１フレーム前のフレームが存在しないので、２フレーム以降のフレームと同様の符号化を行うことができないため、ステップＳ１２の処理として符号化が行われる。１フレーム目の画像を符号化する際の符号化方式は、例えば、ＤＰＣＭ（Differential Pulse Code Modulation）などの符号化方式である。
【００４１】
一方、ステップＳ１１において、処理対象とされているフレームは、１フレーム目のフレームではないと判断された場合、ステップＳ１３に処理が進められる。ステップＳ１３において、ブロック切り出し部１３により、ブロックが切り出される。
【００４２】
ここで、現フレームメモリ１２に記憶されるフレームについて説明を加える。図３は、現フレームメモリ１２に記憶されるフレームの一部分を示している。図３において白丸は、画素を表している。現フレームメモリ１２には、ラスタースキャン順に、順次、画素（画素値）が書き込まれ、所定の数の画素（１フレームを構成する画素数）だけ画素値が書き込まれる。
【００４３】
このようにフレームは、処理される際、左上から右下にかけてラスタースキャンされるように設定されている。その設定されているラスタースキャン順を、図３中に、矢印として図示した（ただし、フレームの上部分のみ）。このように、現フレームメモリ１２には、ラスタースキャン順に画素が書き込まれる。
【００４４】
ブロック切り出し部１３は、ステップＳ１３において、この処理が行われる時点で、現フレームメモリ１２に書き込まれている画素からブロックを切り出す。この切り出されるブロックについて、図４を参照して説明する。
【００４５】
図４は、ある時点での、現フレームメモリ１２に記憶されている画素と、前フレームメモリ１５に記憶されている画素とを疑似的に示した図である。現フレームメモリ１２には、図４に示したように、１フレームを構成する画素の内の一部分しか記憶されていない状態である。このとき、前フレームメモリ１５には、１フレームを構成する全ての画素が記憶されている状態である。
【００４６】
図４では、説明の都合上、１フレームは、１０×１０の１００画素で構成されるとして図示してある。すなわち、この場合、前フレームメモリ１５には、１フレームを構成する１００画素が記憶されている。現フレームメモリ１２には、１フレーム中の４ライン分の画素と、５ライン目を構成する５画素が記憶されている。
【００４７】
現フレームメモリ１２に図４に示したような状態で画素が記憶されている場合、ブロック切り出し部１３は、図５に示したような形のブロック（注目ブロック）を切り出す。すなわち、図５に示した注目ブロック３１は、最も新しく現フレームメモリ１２に書き込まれた画素（５ライン目の５画素目）（処理対象とされている画素（図中、黒丸で示した画素）の前の画素）と、その直前に書き込まれた画素（５ライン目の４画素目）を含むブロックとされる。さらに、その２つの画素の上に存在する画素（３ライン目の４画素目と５画素目、４ライン目の４画素目と５画素目）、その隣の存在する画素（３ライン目の６乃至８画素目、４ライン目の６乃至８画素目）も、注目ブロック３１に含まれる。
【００４８】
すなわちこの場合、注目ブロック３１は、Ｌ字型（Ｌの文字を横にしたような形）であり、１２個の画素を含むブロックとされる。なお、ここでは、Ｌ字型としたが、他の形でも良い。ただし、最も新しく現フレームメモリ１２に書き込まれた画素（図５に示したような状況の場合、５ライン目の５画素目の画素）が含まれ、その画素に隣接する複数の画素から構成される形とした方が好ましい。
【００４９】
図２のフローチャートの説明に戻り、ステップＳ１３において、ブロック切り出し部１３により、図５に示したようなＬ字型の注目ブロック３１が切り出されると、その注目ブロック３１内の画素の情報は、動き予測部１４と残差算出部１６に供給される。動き予測部１４は、ステップＳ１４において、予測値を算出する。
【００５０】
図６Ａ，図６Ｂおよび図７を参照して動き予測部１５が予測する予測値について説明する。図６Ａに示すように、現フレームメモリ１２に記憶されているフレーム内（以下、適宜、フレームＮと記述する）の所定の画素数（ここでは、図５を参照して説明したように、１２個の画素）が処理対象の注目ブロック３１（ブロック切り出し部１３によりブロック化された１ブロック）とされている。
【００５１】
図６Ｂに示すように、注目ブロック３１がフレームＮ内で存在する位置と同一の位置に相当する位置で、前フレームメモリ１５内に記憶されているフレームＮ―１内（フレームＮより１フレーム前のフレームであることを示すために、以下、適宜、フレームＮ―１と記述する）の１２画素が領域３２とされる。
【００５２】
この領域３２より大きな所定の領域が、サーチ範囲３３として設定される。サーチ範囲３３は、例えば、領域３２よりも、水平方向（図中左右方向）に、−８画素〜＋８画素（長手側に対して）、垂直方向（図中上下方向）に−８画素〜＋８画素（長手側に対して）、大きな領域とされる。ただし、形は、領域３２にあわせてＬ字形にする必要はなく、図６Ｂに示したように、四角形に設定される。
【００５３】
動き予測部１５は、ブロック切り出し部１３からの注目ブロック３１が、前フレームメモリ１５に記憶されているフレームＮ−１内の、どの位置に存在しているかを判断し、領域３２を決定する。その決定に基づき、サーチ範囲３３を設定する。そのサーチ範囲内３３内から、ブロックマッチングにより、例えば、注目している注目ブロック３１の各画素との差分絶対値の総和が最小となるブロック（領域）を検出する。
【００５４】
図７を参照するに、注目ブロック３１との差分の絶対値の総和が最小となるブロック（領域）が、検出ブロック３４の位置に検出されたとする。動き予測部１４は、注目ブロック３１がフレーム内で位置する領域に相当する領域３２の座標位置から、検出ブロック３４までの相対座標を、動きベクトルとして検出する。
【００５５】
このようにして、フレームＮ内の１ブロックに類似するブロックが、フレームＮ−１内から検出されることにより、動きベクトルが検出される。動き予測部１４は、動きベクトルをこのようにして検出することはできるが、本実施の形態においては後述するように、復号化の際に、符号化側からの動きベクトルの情報を必要としない。よって、動き予測部１４は、動きベクトルを検出しなくても良く、検出ブロック３４が検出できれば良い。
【００５６】
動き予測部１４は、検出ブロック３４を検出し、その検出ブロック３４内に位置する画素の画素値を、残差算出部１６に供給する。
【００５７】
残差算出部１６は、ステップＳ１６（図２）において、残差を算出する。残差算出部１６には、ブロック切り出し部１３から注目ブロック３１が供給され、動き予測部１４から検出ブロック３４が供給される。残差算出部１６は、供給された注目ブロック３１と検出ブロック３４との残差を求め、符号化部１７に供給する。
【００５８】
符号化部１７は、ステップＳ１６において、供給された残差を符号化する。符号化部１７は、例えば、ハフマン符号化方式で残差を符号化する。符号化された残差は、ステップＳ１７において、出力部１８により、復号化装置に対して出力される。
【００５９】
このように、符号化装置１０は、残差を算出し、残差を符号化し、送信する。
【００６０】
［復号化装置の構成と動作について］
次に、符号化された残差の供給を受け、フレームを復号化する復号化装置の構成と動作について説明する。
【００６１】
図８は、本発明を適用した復号化装置１１０の一実施の形態の構成を示した図である。復号化装置１１０は、入力部１１１、復号化部１１２、加算部１１３、現フレームメモリ１１４、動き予測部１１５、ブロック切り出し部１１６、前フレームメモリ１１７、および出力部１１８から構成されている。
【００６２】
入力部１１１は、符号化装置１０からの符号化された残差を入力する。入力部１１１は、入力した符号化されている残差を、復号化部１１２に供給する。復号化部１１２は、供給された残差を復号し、加算部１１３に供給する。加算部１１３には、動き予測部１１５からのデータも供給される。動き予測部１１５からデータは、予測されたブロックに関するデータ（後述するように、検出ブロック３４である）であり、加算部１１３は、その予測されたブロックに残差を加算することにより、画素値を生成（復号化）する。
【００６３】
復号化された画素値は、現フレームメモリ１１４に書き込まれる。現フレームメモリ１１４に記憶された画素値（フレーム）は、ブロック切り出し部１１６に供給される。ブロック切り出し部１１６は、現フレームメモリ１１４に記憶されているフレームから、所定の画素数で構成されるブロック（後述するように、注目ブロック３１である）を切り出し、その切り出したブロックを、動き予測部１１５に供給する。
【００６４】
動き予測部１１５には、前フレームメモリ１１７からのフレームも供給される。動き予測部１１５は、供給されたデータから、ブロックを予測し、そのデータを加算部１１３に供給する。前フレームメモリ１１７には、現フレームメモリ１１４に蓄積された１フレーム分のデータが供給される。さらに、現フレームメモリ１１４に蓄積されるフレームは、出力部１１８にも供給される。
【００６５】
次に、復号化装置１１０の動作について説明する。復号化装置１１０は、上述した符号化装置１０と同様の動作（処理）を実行する部分がある。復号化装置１１０の現フレームメモリ１１４は、復号化装置１０の現フレームメモリ１２と同様に、処理対象とされているフレームを記憶する。また、復号化装置１１０の前フレームメモリ１１７は、復号化装置１０の前フレームメモリ１５と同様に、処理対象（符号化または復号化の対象）とされているフレームの１フレーム前のフレームを記憶する。
【００６６】
ただし、現フレームメモリ１２と前フレームメモリ１５に記憶されるフレームは、符号化されていないフレームであり、現フレームメモリ１１４と前フレームメモリ１１７に記憶されるフレームは、復号化されたフレームである。
【００６７】
復号化装置１１０のブロック切り出し部１１６は、符号化装置１０のブロック切り出し部１３と同様に、処理対象（符号化または復号化の対象）とされているフレームから、例えば、図５を参照して説明したような形のブロック（注目ブロック３１）を切り出す。
【００６８】
復号化装置１１０の動き予測部１１５は、復号化装置１０の動き予測部１４と同様に、注目ブロック３１に類似するブロック（検出ブロック３４）を、注目ブロック３１が切り出されたフレームよりも１フレーム前のフレームから検出する。
【００６９】
このように、符号化装置１０と復号化装置１１０は、同様の処理を実行する部分があり、符号化装置１０の説明で既に説明した部分に関しては、その説明を適宜省略する。
【００７０】
図９は、復号化装置１１０の動作について説明するフローチャートである。ステップＳ３１において、復号化装置１１０の入力部１１１は、符号化データを受信する。ステップＳ３２において、受信された符号化データは、１フレーム目のデータであるか否かが判断される。
【００７１】
ステップＳ３２において、符号化データは、１フレーム目のデータであると判断された場合、ステップＳ３３において、１フレーム目の復号化が行われる。１フレーム目のデータであると判断された場合、復号化部１１２は、符号化装置１０側で１フレーム目を符号化した際の符号化方式に対応する復号化方式（例えば、ＤＰＣＭ）で、供給された符号化データを復号化する。
【００７２】
復号化された１フレーム目のデータは、前フレームメモリ１１７に供給され、記憶される。このようにして、１フレーム目のデータは復号化され、前フレームメモリ１１７に記憶される。
【００７３】
一方、ステップＳ３２において、供給された符号化データは、１フレーム目のデータではないと判断された場合、ステップＳ３４に処理が進められる。ステップＳ３４において、復号化部１１２は、符号化データを復号化する。ステップＳ３４において復号化される符号化データは、残差である。復号化部１１２により復号化された残差は、加算部１１３に供給される。
【００７４】
このような復号化が行われる一方で、ステップＳ３５において、ブロック切り出し部１１６は、現フレームメモリ１１４に記憶されているフレームからブロックを切り出す。切り出されたブロックは、動き予測部１１５に供給される。動き予測部１１５は、ステップＳ３６において、予測値を算出する。
【００７５】
このステップＳ３５とステップＳ３６において実行される処理（ブロック切り出し部１１６と動き予測部１１５で実行される処理）は、ステップＳ１３とステップＳ１４において実行される処理（ブロック切り出し部１３と動き予測部１４で実行される処理）と同様である。
【００７６】
例えば、符号化装置１０でフレームＮの所定の画素Ａが符号化対象とされているときと、復号化装置１１０でフレームＮの所定の画素Ａが復号化対象とされているときに、現フレームメモリ１２（図１）と現フレームメモリ１１４（図８）に記憶されているフレームは、同一のフレーム（画素）である。また、前フレームメモリ１５（図１）と前フレームメモリ１１７（図８）に記憶されているフレームは、同一のフレームである。
【００７７】
すなわち、符号化装置１０側と、復号化装置１１０側で、同一のデータが記憶されている状況が作りだされる。よって、現フレームメモリ１１４から切り出された注目ブロック３１は、現フレームメモリ１２から切り出された注目ブロック３１と同一のものとすることができる。また、前フレームメモリ１１７に記憶されているフレームから、復号化装置１１０の動き予測部１１５が検出する動きベクトルは、符号化装置１０の動き予測部１４と同じ動きベクトルとすることができる。この結果、検出される検出ブロック３４（予測値）も同一のものとすることができる。
【００７８】
このように、符号化装置１０側と復号化装置１１０側で、同一のデータから同一の動きベクトルや検出ブロック３４を検出することができる。その検出の仕方などは、符号化装置１０側の仕方と同様であり、既に説明したので、ここでは省略する。
【００７９】
このようにして、動き予測部１１５から算出された予測値（検出された検出ブロック３４）は、加算部１１３に供給される。加算部１１３は、ステップＳ３７において、供給された予測値に、復号化された残差を加算する。このようにして、処理対象とされる画素値が復号化される。復号化された画素値は、ステップＳ３８において、現フレームメモリ１１４に対して出力され、記憶される。
【００８０】
このようにして、現フレームメモリ１１４には、復号化された画素値が順次書き込まれる。そして、ステップＳ３４乃至Ｓ３８の処理が繰り返されることにより、１フレームを構成する画素の画素値が復号化される。
【００８１】
このように、復号化装置１１０では、動きベクトルを、復号化したフレームから検出することができるため、符号化装置１０側から送信する必要がなく、動きベクトルを送信する分のデータ量を削減することが可能となる。すなわち、符号化後のデータ量を削減することができるため、圧縮率を高めることが可能となる。
【００８２】
さらに、上記したように符号化や復号化は、画素毎に処理を行っているため、画素毎に動きに関する情報を用いた符号化や復号化を行うことが可能となる。
【００８３】
なお、上述した実施の形態においては、１フレーム目の符号化や復号化、残差の符号化や復号化は、どのような方式でも良い。また、符号化方式や復号化方式にあわせて、数フレーム分の画像データを記憶するように符号化装置や復号化装置を構成することも可能である。換言すれば、数フレーム用いるような符号化方式や復号化方式においても、本発明を適用することは可能である。
【００８４】
［記録媒体について］
図１０は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。ＣＰＵ（Central Processing Unit）３０１は、ＲＯＭ（Read Only Memory）３０２、または記憶部３０８に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）３０３には、ＣＰＵ３０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ３０１、ＲＯＭ３０２、およびＲＡＭ３０３は、バス３０４により相互に接続されている。
【００８５】
ＣＰＵ３０１にはまた、バス３０４を介して入出力インターフェース３０５が接続されている。入出力インターフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７が接続されている。ＣＰＵ３０１は、入力部３０６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ３０１は、処理の結果を出力部３０７に出力する。
【００８６】
入出力インターフェース３０５に接続されている記憶部３０８は、例えばハードディスクからなり、ＣＰＵ３０１が実行するプログラムや各種のデータを記憶する。通信部３０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【００８７】
また、通信部３０９を介してプログラムを取得し、記憶部３０８に記憶してもよい。
【００８８】
入出力インターフェース３０５に接続されているドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア３１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部３０８に転送され、記憶される。
【００８９】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【００９０】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図１０に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ（Mini-Disc）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３１１、または、プログラムが一時的もしくは永続的に格納されるＲＯＭ３０２や、記憶部３０８を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部３０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【００９１】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９２】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００９３】
【図１】本発明を適用した符号化装置の一実施の形態の構成を示す図である。
【図２】符号化装置の動作について説明するフローチャートである。
【図３】ラスタースキャンについて説明する図である。
【図４】フレームメモリに記憶されている画素について説明する図である。
【図５】ブロックについて説明する図である。
【図６】動きベクトルの検出の仕方について説明する図である。
【図７】動きベクトルの検出の仕方について説明する図である。
【図８】本発明を適用した復号化装置の一実施の形態の構成を示す図である。
【図９】復号化装置の動作について説明するフローチャートである。
【図１０】記録媒体について説明する図である。
【符号の説明】
【００９４】
１０  符号化装置，  １１  入力部，  １２  現フレームメモリ，  １３  ブロック切り出し部，  １４  動き予測部，  １５  前フレームメモリ，  １６  残差算出部，  １７  符号化部，  １８  出力部，  １１０  復号化部，  １１１  入力部，  １１２  復号化部，  １１３  加算部，  １１４  現フレームメモリ，  １１５  動き予測部，  １１６  ブロック切り出し部，  １１７  前フレームメモリ，  １１７  出力部
【図１】
2007116459.tif 000003
【図２】
2007116459.tif 000004
【図３】
2007116459.tif 000005
【図４】
2007116459.tif 000006
【図５】
2007116459.tif 000007
【図６】
2007116459.tif 000008
【図７】
2007116459.tif 000009
【図８】
2007116459.tif 000010
【図９】
2007116459.tif 000011
【図１０】
2007116459.tif 000012