(57)【特許請求の範囲】
【請求項１】
双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮したデータを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力してブロック化する手段と、このブロック化したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分を復号するために前記メモリからデータを読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、
上記ブロック化したデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とするディジタル映像信号復号化装置。
【請求項２】
双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮し、ディジタル音声信号の圧縮データと共に時間軸多重し、この多重の際、映像・音声の各々の時間軸データを多重化して符号化したデータを時間軸データに基づき映像と音声が同期するように映像データを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力してブロック化する手段と、このブロック化したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分値を復号するために上記メモリから読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、上記データを読みだす手段は、復号化に要する処理時間分だけ所定時間より前に読みだし、
上記ブロック化したデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とするディジタル映像信号復号化装置。
【請求項３】
双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮したデータを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力し、該入力されたデータを走査線の順に並ぶように変換するラスタ変換を行う手段と、このラスタ変換したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分値を復号するために上記メモリからデータを読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、
上記ラスタ変換が行われ、走査線の順に並ぶように変換されたデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とするディジタル映像信号復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル映像信号の符号化装置および復号化装置に関する。
【０００２】
【従来の技術】
図１２は、藤原洋監修、マルチメディア通信研究会編、１９９４年８月１日に株式会社アスキーの発行による「ポイント図解式最新ＭＰＥＧ教科書」の１０５ページに記載されたＭＰＥＧ１の情報源符号化の映像信号部分の符号器のブロック図である。
【０００３】
図において、１はビデオ入力部、２は差分器、３は符号化制御部、４はＤＣＴ、５は量子化器、６は逆量子化器、７は逆ＤＣＴ、８は加算器、９，１０はスイッチ、１１，１２は予測メモリ、１３は平均回路である。
【０００４】
次に動作について説明する。ビデオ入力部１より映像信号を得、ＭＰＥＧの規格に従って符号化する。ＭＰＥＧ１では、空間的相関を利用した高能率符号化手法として離散コサイン変換（以下、「ＤＣＴ」という）を、時間的相関を利用したものとして、双方向動き補償フレーム間予測を取り入れている。ＤＣＴ演算はＤＣＴ４にて行なう。動きの補償された位置の画像データを予測メモリ１１または予測メモリ１２から読み出して、差分器２で差分をとる。さらに、ＤＣＴ４によって周波数上のデータに変換された後、ＤＣＴ演算結果に対する近似代表値に相当する量子化レベルを割り当てる量子化を、量子化器５によって行う。また、図１２では表現されていないが、動きベクトルやマクロブロックタイプや量子化指定情報や量子化変換係数は、データの発生頻度に応じた符号長を割り当てる可変長符号化を用いことによって、情報圧縮を行っている。
【０００５】
量子化器５から出力された量子化変換係数は、可変長符号化される一方逆量子化器６によって代表値に変換される。その結果を逆ＤＣＴ７によって空間領域のデータに戻すことでＤＣＴ４に入力される前のデータに近い値に戻される。この逆ＤＣＴされたデータは予測メモリ１１または予測メモリ１２から読みだした動き補償された位置の画像データと加算する。この加算を行うのが加算器８である。これにより、動き補償予測が元に戻された空間領域のデータに戻されるので、次の予測に使用できる。
【０００６】
平均回路１３は、時間的に順方向の予測と逆方向の予測を対応画素間で丸めつき平均をする回路である。スイッチ１０は、その予測モードやメモリ１１，１２の格納状態によって切り替えるように制御される。この制御をつかさどるのが符号化制御部３である。
【０００７】
２つの予測メモリ１１，１２には、時間的に符号化しているフレームを未来から予測するための画像情報と、過去から予測するための画像情報とを記憶させ、符号器側がきり分けて使用するようになっている。時間的に前後のフレームを用いないイントラモードとＭＣモードとの２つの予測モードがある。ＭＣモードには２つの予測メモリ１１，１２のどちらかの予測と両方の予測の平均を利用することができる。
【０００８】
双方向予測を実現するために、ＭＰＥＧでは、画像にＩピクチャ（Ｉｎｔｒａ−Ｐｉｃｔｕｒｅ）、Ｐピクチャ（Ｐｒｅｄｉｃｔｉｖｅ−Ｐｉｃｔｕｒｅ）、Ｂピクチャ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ−Ｐｉｃｔｕｒｅ）とがある。Ｉピクチャは動画像のひとまとまり（以下、「ＧＯＰ」（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）という）の中でフレーム間予測を使わずに生成されるフレームのことであり、１ＧＯＰに最低１ピクチャは必要である。Ｐピクチャは、ＩまたはＰピクチャからの予測を行うことによってできる画面で、順方向の予測を用いる。このピクチャ内にはマクロブロックのパターンが予測を使用しないイントラモードも混在できる。Ｂピクチャは順方向のみの予測と逆方向のみの予測と両方向の予測の平均とイントラモードが混在した形となる。
【０００９】
この各ピクチャの関係は通常一定の関係である。つまり、Ｉピクチャの間隔はＧＯＰの間隔に等しいし、ＩピクチャとＰピクチャの間にＢピクチャが挿入されており、この関係は、符号化の最中で通常変化しない。この関係を示した図が図１３である。
【００１０】
ビデオ入力部１から原画像が入力されるが、通常動画像を１５フレーム分をひとまとめにして符号化することが多い。このとき、ＧＯＰは１５フレーム単位となっており、ＩピクチャはＧＯＰにおいて３フレーム目に割り当てられることが多い。このとき、Ｉピクチャの前の２フレームのＢピクチャは、符号化スタートにおいては逆方向予測のみであるが、符号化中であればその前のＧＯＰの最後のＰピクチャとＩピクチャの双方向予測ができる。
また、図１３においては、ＩピクチャＰピクチャと間にＢピクチャが２フレーム入っている。
【００１１】
Ｂフレームがあるために、フレームの順序を入れ替えて符号化出力する、ということを行う必要がある。ＩピクチャやＰピクチャは、一度符号化を行ない、すぐに出力されるが、Ｂピクチャは符号化したデータを蓄えておき、ＩピクチャやＰピクチャが出力された後に出力される。すなわち、図１３の符号化処理の段のデータのような順序で出力されるように決められている。
【００１２】
このため、一度ＤＣＴの周波数領域で量子化したデータを元の空間領域のデータに戻して、さらに、動き補償予測を戻したデータにして双方向予測のための２フレーム分のメモリを持つようにしておく必要がある。このために、予測メモリ１１と１２が用意されているのである。
【００１３】
しかし、この予測メモリ１１，１２は、ＮＴＳＣ方式の場合、画素数が１フレームで７２０×４８０画素であり、１画素８ビットで、なおかつ輝度信号と色信号があるため、８Ｍビットもの多量のデータを蓄える必要があるが、これほどのメモリは１つのＬＳＩ上に搭載するのは困難であるし、また、外にＤＲＡＭ等を設けてもその容量が大きく、コスト圧迫の要因になる。
【００１４】
この映像信号の情報源符号化部は可変長符号化を経て、オーディオの符号化出力とともに多重化され、伝送路に送出される。図１４はこのことを示している。伝送路を介して映像、オーディオデータの分離を行ない、各々の復号を行ない、映像はモニタによって、オーディオはスピーカによって視聴者に享受される。
【００１５】
さらに、図１５に示すように、伝送路は空中を電波によって伝えるものや、ケーブルによって伝えるものや蓄積メディアによって伝えるものがある。この伝送路に応じた形で通信路符号化される。例えば誤り訂正やディジタル変調などの信号処理を経て伝送される。
【００１６】
次に復号側について説明する。図１６は藤原洋監修、マルチメディア通信研究会編、１９９４年８月１日に株式会社アスキーの発行による「ポイント図解式最新ＭＰＥＧ教科書」の１０５ページに記載されたＭＰＥＧ１の情報源符号化の映像信号部分の復号器のブロック図である。
【００１７】
図において、１４は逆量子化器、１５は逆ＤＣＴ、１６は加算器、１７，２１，２２はスイッチ、１８，１９は予測メモリ、２０は平均回路、２３はモニタである。
【００１８】
次に動作について説明する。上述のように映像の情報源符号化をされ、通信路符号化をされて伝送されたデータは、通信路復号化をされ、映像データのみ抽出されて可変長符号の復号を行ない、量子化特性指定情報やマクロブロックタイプや動きベクトルや量子化変換係数の抽出をされたデータとして復合器に入力される。逆量子化器１４は量子化特性指定情報と量子化変換係数とから逆量子化をしてＤＣＴの周波数領域での代表値に変換し、そのデータを逆ＤＣＴ器１５が空間領域に戻す。この空間領域のデータを動きベクトルを元に、予測メモリ１８と予測メモリ１９から動き分だけずらして補償された形で前後のフレームのデータを必要な箇所を読みだし、加算器１６によって加算する。これは予測値との差分値を復号することに相当し、この段階で、動き補償予測とＤＣＴの復号が完了する。
【００１９】
このとき、スイッチ２１と２２は、マクロブロックタイプの情報を元に制御される。マクロブロックタイプとは、上述のピクチャタイプの中で説明した各マクロブロック毎に許されているモードタイプのことである。平均回路２０は、そのマクロブロックタイプの中でＢピクチャの１つのマクロブロックタイプのことで両方向予測して、順方向予測と逆方向予測の丸めつき平均をとるための回路である。
【００２０】
このように符号化復号化を行うため、復号側でもフレーム順序を入れ替えるという取り決めがある。これを示したのが図１３である。図１３の復号処理の段は図１６の入力順序である。このデータのＢピクチャは復号したらすぐに出力するが、ＩピクチャやＰピクチャはこのＢピクチャの出力が終わってから出力される。このため、一度復号したＩピクチャやＰピクチャはその間のＢピクチャを復号するまでは、メモリ１８，１９に保持する必要がある。
【００２１】
このために、例えばＮＴＳＣ信号の場合、画素数が１フレームで７２０×４８０画素であり、１画素８ビットで、なおかつ輝度信号と色信号があるため８Ｍビットもの多量のデータを蓄える必要があるが、これほどのメモリは１つのＬＳＩ上に搭載するのは困難であるし、また、外にＤＲＡＭ等を設けてもその容量が大きくコスト圧迫の要因になる。
【００２２】
また、この映像のデータはオーディオのデータと時間軸合わせをする必要がある。これがないと、２つの符号復号過程で時間がずれてしまったら調節する機構がなくなってしまう。このため、図１４の多重化部で時間情報をそれぞれのデータに多重するように取り決められている。図１７はそのための時間情報を挿入する領域を示した図である。
【００２３】
図１７は、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）のビットストリームフォーマットを示した図である。この図のように、ビデオやオーディオはＰＥＳというパケットに加工されるが、そのときにタイムスタンプという時間情報を多重するようにとりきめられている。ＭＰＥＧの双方向予測をするときのフレーム順序の入れ替えに対応できるように、表示時刻とデコード時刻という２つのタイムスタンプが用意されている。表示時刻がＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）であり、デコード時刻がＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ）である。この時間情報で同期をとっている。
【００２４】
このため、通常の処理の他に何等かの処理を挿入する場合はこの時間管理に矛盾が出てしまい、この同期関係が崩れてしまう。
【００２５】
【発明が解決しようとする課題】
以上のように、動き補償予測とＤＣＴを用いた符号化を行う場合に、予測のためのメモリは膨大な量になり、コストがかかるといった問題点がある。また、１チップの半導体上にこのメモリを載せることも規模的にも容量的にも困難であるという問題点があった。
【００２６】
また、動き補償予測とＤＣＴを用いた復号化を行う場合に、予測のためのメモリは膨大な量になり、コストがかかるといった問題点がある。また、１チップの半導体上にこのメモリを載せることも規模的にも容量的にも困難であるという問題点があった。
【００２７】
また、このメモリの節約のために何か処理をしようとすると時間がずれてしまい、オーディオと映像の時間がずれてしまうという問題点があった。
【００２８】
本発明は以上のような問題点に鑑みて成されたものであり、映像信号の符号化復号化を行う際に使用するメモリをできるだけ少ない量で抑えることができる復号化装置を得ることを目的とする。また、その際オーディオと映像の時間のずれを抑えるような復号化装置を得ることを目的とする。
【００２９】
【課題を解決するための手段】
請求項１の発明によるディジタル映像信号復号化装置は、双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮したデータを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力してブロック化する手段と、このブロック化したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分を復号するために前記メモリからデータを読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、
上記ブロック化したデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とする手段を有していることを特徴とする。
【００３０】
請求項２の発明によるディジタル映像信号復号化装置は、双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮し、ディジタル音声信号の圧縮データと共に時間軸多重し、この多重の際、映像・音声の各々の時間軸データを多重化して符号化したデータを時間軸データに基づき映像と音声が同期するように映像データを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力してブロック化する手段と、このブロック化したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分値を復号するために上記メモリから読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、上記データを読みだす手段は、復号化に要する処理時間分だけ所定時間より前に読みだし、
上記ブロック化したデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とする。
【００３１】
請求項３の発明によるディジタル映像信号復号化装置は、双方向の動き補償予測とＤＣＴとを用いてディジタル映像信号を高能率符号化して情報圧縮したデータを復号するディジタル映像信号復号化装置において、双方向予測の画像を復号するための参照画像を空間領域にデータとして入力し、該入力されたデータを走査線の順に並ぶように変換するラスタ変換を行う手段と、このラスタ変換したデータを符号化する手段と、この符号化したデータをメモリに書き込む手段と、予測値との差分値を復号するために上記メモリからデータを読みだす手段と、この読みだしたデータを復号化する手段と、この復号データを用いて予測値との差分値を復号する手段とを備え、
前記ラスタ変換が行われ、走査線の順に並ぶように変換されたデータを符号化する手段が、少なくとも隣接画素から予測値を算出する手段と、その予測値からの差分を求める手段と、その差分を量子化する手段とで構成されていることを特徴とする。
【００４８】
【発明の実施の形態】
請求項１の発明の実施の形態であるディジタル映像信号復号化装置は、双方向予測の画像を符号化するための参照画像データは、ブロック化手段により、ＤＣＴブロックに近い形でブロック化され、そのブロックのデータに対して高能率の符号化を施し、メモリに蓄えるべき情報を少なくしてメモリに書き込み、読みだし時、復号して参照するように作用する。また、隣接画素からの予測値を求め、その予測値との差分をとることでその値が０付近に集中するため、メモリに蓄えるべき情報を減らすように作用し、しかも規模もかなり小さくて済む。
【００４９】
請求項２の発明の実施の形態であるディジタル映像信号復号化装置は、双方向予測の画像を符号化するための参照画像データは、ブロック化手段により、ＤＣＴブロックに近い形でブロック化され、そのブロックのデータに対して高能率の符号化を施し、メモリに蓄えるべき情報を少なくしてメモリに書き込み、読みだし時、復号して参照し、さらに、音声の時間軸と揃うよう作用する。また、隣接画素からの予測値を求め、その予測値との差分をとることでその値が０付近に集中するため、メモリに蓄えるべき情報を減らすように作用し、しかも規模もかなり小さくて済む。
【００５０】
請求項３の発明の実施の形態であるディジタル映像信号復号化装置は、ラスタ変換手段により、画面入力に近い形に変換され、そのラスタデータに対して高能率の符号化を施し、メモリに蓄えるべき情報を少なくしてメモリに書き込み、読みだし時、復号して参照するように作用する。また、隣接画素からの予測値を求め、その予測値との差分をとることでその値が０付近に集中するため、メモリに蓄えるべき情報を減らすように作用し、しかも規模もかなり小さくて済む。
【００６７】
実施の形態１．
以下、本発明の実施の形態について図を参照しながら説明を行う。図１はディジタル映像信号符号化装置におけるディジタル映像信号処理部をあらわしており、可変長符号化の前段までのブロック図である。図において、図１２と同一符号はそれぞれ同一または相当部分を示しており、２４はブロック化回路またはスキャン変換回路、２５は符号化器、２６，２７は復号化回路、２８，２９はデブロック化回路またはスキャン逆変換回路である。
【００６８】
次に動作について説明する。図１において、図１２と同じ符号はほぼ同じ動作をするので説明を省略する。ただし、以下の説明はＭＰＥＧ２をベースにする。すなわち、インタレース画像を扱う。従って、フィールドＤＣＴを行うようなモードもある。一度ＤＣＴの周波数領域で量子化されたデータは、情報劣化のない可変長符号化を施すために出力され、一方で逆量子化され、逆ＤＣＴされて元の空間領域のデータに加工されて、加算器８にて動き補償予測を復号し、ブロック化回路またはスキャン回路２４、および符号化器２５を経て予測メモリ１１および１２に蓄える。
【００６９】
元の画像データにほぼ近いデータが加算器８からＤＣＴブロック毎に出力される。これをさらにブロック化回路またはスキャン変換回路２４にてブロック化するか、またはスキャン変換するか、またはブロック化してスキャン変換する。そのデータをビット圧縮するように符号化器２５にて符号長の固定な圧縮をする。例えばブロック内の隣接画素との差分をとれば、通常隣接画素はほとんど同じ様な値をとっているため、その差分値は０に近づく。このため、差分値のとる実効的なダイナミックレンジに偏りができ、差分をとる前の値は８ビットすべて必要であったデータでも、差分値をとれば５ビットや６ビットで量子化してもあまり影響はない。
この実施の形態では、差分をとる画素を隣接画素というように表現したが、これは、隣接画素の値がその画素の予測値であるとしたためであって、他の隣接画素との平均をその画素の予測値としても良い。ブロック内で差分をとらない値を１画素だけ設けていれば、復号時ブロック毎に独立したデータとして戻すことができるため、通常はそのようにする。
【００７０】
つまり、量子化レベルを０に近いほど密に、０から離れるほど疎にしてもあまり影響はでない。さらに差分の符号を判別して、負になる差分値をレンジの最大値より差し引くよう計算すれば、さらに１ビット分のダイナミックレンジがかせげる。このとき復号側がレンジの正負を間違えないよう最大値から負になるレンジを差し引いたときの量子化レベルを再アサインするように工夫する必要がある。このような符号判別型の差分量子化を行った場合、上述の量子化レベルは０に近いほど、また、最大値に近いほど密にし、中間領域ほど量子化レベルを疎にすることは言うまでもない。
【００７１】
このようにすれば、予測メモリ１１，１２に書き込むデータ量がほぼ半分になるため、メモリの節約をすることができる。発明者のシミュレーション結果によれば、このような手法で半分の情報量に削っても画質的にはあまり影響しないことが判明した。
【００７２】
この固定長量子化データを予測メモリ１１または予測メモリ１２に記憶させ、動きベクトルを求めたり、動き補償予測を求めたりする参照画像の記憶素子とする。このメモリは通常画像の位置に対して１対１の関係になっていれば、メモリを制御する回路が小さくて済む。
【００７３】
このメモリ１１，１２からの動きベクトルの抽出や、求めた動きベクトルの位置のデータを取出して、差分値の量子化値を元に近い値に戻すために復号化器２６，２７を通し、デブロック化回路またはスキャン逆変換回路２８，２９を通す。復号化器２６，２７では、ブロック内で差分をとらない画素を出発点とし、復号を開始する。まず、量子化したデータを量子化レベルに相当した代表値に置き換え、差分をとらない画素と加算して差分値を元に近い値に直す。次にスキャンの順に、置き換えと加算を繰り返す。このとき、符号判別タイプの差分量子化を行った場合は、加算した結果ダイナミックレンジを越えるとダイナミックレンジの剰余演算にて値を置き換える。
【００７４】
デブロック化回路またはスキャン逆変換回路２８，２９は、ブロック化回路またはスキャン変換回路２７の逆操作を施し、なおかつ差分器２でのビデオ入力側とタイミングをあわせて差分するように変換するよう制御する。また、一方で動きベクトルを求めるために、画像データの最も近いところをサーチして動きベクトルとして求める。このため、そのサーチの要求に合わせて、デブロック化およびスキャン逆変換を行う。
【００７５】
このようにすれば、メモリの領域を小さくして、同等の圧縮が可能なディジタル映像信号符号化装置を構成することができる。
【００７６】
しかし、実際には通常音声信号とともに映像信号を伝送しており、この２つのデータには時間的にかなりの精度で合せ込みの必要がある。ＭＰＥＧでは、このため９０ｋＨｚで数えたタイマとしての時間軸情報を多重することになっている。それゆえ、処理もそれだけの時間前もって処理をする必要がある。この状態を示したのが図２である。この実施の形態１の符号化復号化を中心とした信号処理時間がΔｔｓｅｃだとすれば、従来の処理タイミングを図２（Ａ）とすると、この実施の形態１での処理タイミングは、図２（Ｂ）に示したようにΔｔｓｅｃだけ早くメモリからの読みだしを開始するようにメモリ制御を行う。これにより、処理のためのずれなくディジタル映像信号符号化装置を構成することができる。
【００７７】
この処理タイミングは、固定長の符号化をする場合は厳密に求めることができるために、符号化方式としては固定長の符号化をした方が処理の制御と時間管理が有利である。この処理時間は、動きベクトルの探索範囲内のデータが書きおわる時間よりも小さければよいので、ＮＴＳＣレベルのように７２０画素程度の大きな画面では、この処理時間は１フレームの時間に比べて非常に小さく、処理の矛盾は生じない。
【００７８】
次にブロック化に関してであるが、処理の基準がＤＣＴという通常８画素×８画素の小さなブロックであり、マクロブロックをとっても輝度信号に対してＤＣＴブロック４つと色差信号に対してＤＣＴブロックが２つであり、画面上で同じ位置を占めるデータを処理の単位としており、動きベクトルもマクロブロックで４つという扱いであるので、ブロック化した状態でデータを扱うのが都合が良いが必須ではなく、ＮＴＳＣの走査線のように、横１列のデータをひとかたまりとして扱うようにしても良いことは言うまでもない。
【００７９】
このＤＣＴブロックのデータを走査線単位で扱うには、ブロック化回路およびスキャン変換回路２４の動作を、ＮＴＳＣの場合であれば、縦１画素×横７２０等のようにラスタ変換動作をするように構成すれば良い。このようにすれば、入力の画面と同じデータ並びとして予測メモリに蓄えることができる。
【００８０】
もちろん、このラスタ変換は縦１画素×横１６画素のように、小刻みに切ってしまっても良いことは言うまでもなく、その変換結果をブロックとみなして同様の操作をすれば良い。
【００８１】
すなわち、差分をとるためのブロックは、正方形であろうが、横一直線であろうが差分をとる処理には変化させずともよい。つまり、上述の隣接画素から予測値を算出（隣接画素をそのまま予測値にしてもよい）して、その予測値との差分値を求めるようにして符号化し、予測メモリ１１，１２に蓄えることでメモリの領域は半分程度に節約できることには変わりない。
【００８２】
次に、スキャンについて述べる。例えばＤＣＴブロックをそのままブロックとして符号化することを考える。すなわち、８画素×８画素のブロックでスキャンして符号化する場合、図３のように、左斜め上の画素を差分値をとらない画素として、ジグザグにスキャンするようにしても良い。このとき、矢印の方向に並んだ画素の関係が隣接画素である。すなわち、隣接画素をそのまま予測値とした場合、図３中のＡの画素の差分値はＢの画素との減算をした結果である。
【００８３】
なお、予測値として矢印の進行逆方向のみを採用するのではなく、例えば進行方向と直角に交わる関係をもつ画素をも加え、図４のように２次元配列を考慮に入れた画素の設定をし、平均などによって予測値を求めても良い。このとき図３のようなスキャンでは、ブロック内にその様な画素が存在しないような端点では直角に交わる画素の値を進行逆方向の画素の値と同じとすれば良い。また、ブロック内の初めの点を差分をとらない点としたが、０との差分を用意して、量子化してもよいことは言うまでもない。
【００８４】
次に、スキャンの最適化について述べる。扱う画像は、ＭＰＥＧ２などのようにインタレースの画像が中心である。つまり、時間的に異なる画像で、なおかつ空間的に異なる画像が交互にフィールドを構成することによって動画像をあらわしている。交互に現れるフィールドをそれぞれトップフィールドとボトムフィールドとすると、逆ＤＣＴして動き補償予測を復号すれば、図５のようにトップフィールドの走査線の間にボトムフィールドの走査線が入るような画面構成になる。このため、スキャン変換をトップフィールドとボトムフィールドで固めるように行うと、例えば動きがあってトップフィールドとボトムフィールドで動き分違う画像になってしまったとき、隣接画素の差分値が０に集中しにくくなるため、差分値のダイナミックレンジが広がってしまい、量子化することによって画質の劣化が大きくなってしまう部分が出現するようになる。
【００８５】
この現象を防止するために、ブロック化回路またはスキャン変換回路２４の制御を変更し、図５の矢印のようにブロッキングして隣接画素を求めていく。つまり、同一のフィールドを優先してスキャンするように制御する。このことによって、動きが生じても予測値との差分は０付近に集中するようになる。
【００８６】
図５ではトップフィールドとボトムフィールドが１つのブロックに混在するような構成になっているが、これを図９のように全く別のブロックに分けてしまっても良い。
【００８７】
図５ではトップフィールドとボトムフィールドが隣接画素の関係になっているところが１箇所だけあり、この部分に動きがあると上記問題と同じ問題が残るが、面積的に極めて小さい部分で済んでしまい問題はほとんどなくなる。また、図３はＤＣＴブロックを１つのブロックにしたが、ＤＣＴブロックはフレームで行う場合とフィールドで行う場合とがあり、メモリからの読みだし計算が複雑になる一方、図５のスキャニングはＤＣＴブロックに影響を受けないため非常に都合が良い。
【００８８】
ここまでは、隣接画素からの予測値との差分を量子化することで情報圧縮を行ないメモリに書き込むというディジタル映像信号符号化装置について述べてきたが、以下、ブロックをひとかたまりにして情報圧縮をしメモリに書き込むディジタル映像信号符号化装置について説明する。
【００８９】
図６は、ブロックをひとかたまりにして情報圧縮して予測メモリに書き込みをするディジタル映像信号符号化装置の概念を説明するための図である。各ブロック内の全画素の最大値と最小値をそれぞれ求める。各ブロックの画素の値はそれぞれの最大値と最小値の範囲に入っているはずである。この最大値と最小値の間をダイナミックレンジＤＲとし、ＤＲを均等に分割した量子化しきい値を設定する。これを量子化基準値と称す。
【００９０】
図６では最大値から最小値を４つに分割して量子化することを示しており、代表値は、通常各量子化しきい値同士の平均をとる。
【００９１】
符号化するのは、最大値および最小値および各画素の量子化結果である。各画素の量子化結果は、図６においては２ビットの表現で与えられる。また、最大値と最小値の代わりに、最大値か最小値の何れかとダイナミックレンジのＤＲを符号化しても良い。
【００９２】
８画素×８画素の８ビットデータを最大値および最小値を８ビットで表現し、量子化結果を２ビットで表現した場合、圧縮率は９／３２となる。なお、この符号化ではスキャンは最大値最小値を求めるのに必要であるだけであるので、ブロッキングの最適化問題はあっても、スキャン変換の問題はない。
【００９３】
このデータは、最大値と最小値（またはそれに相当するデータ）と、必要な画素の量子化結果があれば復号化できる。一方、隣接画素からの予測値との差分をとるやり方では、１画素復号するのにそれ以前にスキャンしたデータをすべて復号する必要があり、任意位置の読みだしを必要とする動き補償予測に使用するとメモリの制御が複雑になるが、このような場合は、各画素で量子化結果が依存するのは最大値最小値（またはそれに相当するデータ）のみであるため、メモリの読みだし制御が簡単であり、アクセス頻度が少なくて済む。
【００９４】
次に、最大値と最小値から、そのまま量子化基準値を定めずにさらなる処理過程を経て量子化基準値を定めるようにした場合を説明する。
【００９５】
通常、画像には何等かの形でノイズが重畳されている場合が多い。例えばビデオカメラのＣＣＤでのノイズや、アナログ信号をディジタル信号に変換する際に発生するノイズである。これらはランダムノイズであり、ディジタル映像信号符号化装置はこれらのノイズ成分も忠実に符号化しようとする。しかし、このためブロック内の最大値や最小値もそれによって影響を受け、量子化基準値に悪影響を与える。このため量子化基準値を求めるために平均を導入し、ノイズによる影響を受けないようにする。
【００９６】
例えば、４つの代表値を持つような量子化を行う場合、図７に示すようにブロックの中の最大値をＬｍｘ、最小値をＬｍｎとし、最大代表値Ｐｍｘ、最小代表値Ｐｍｎ、中心の量子化基準値Ｐａ、その他の基準値をＰ１，Ｐ２とする。このとき下記の関係が成り立つように、Ｐｍｘ，Ｐｍｎ，Ｐａ，Ｐ１，Ｐ２を求める。ただし、位置（ｉ，ｊ）に位置する画素の値をＸｉｊとし、量子化結果をΦｉｊとする。
【００９７】
Ｐｍｘ＝（ΣＸｉｊ）／Ｎｍｘ；
Ｘｉｊは（３Ｌｍｘ＋Ｌｍｎ）／４以上の値を持つ画素であり、
Ｎｍｘは（３Ｌｍｘ＋Ｌｍｎ）／４以上の値を持つブロック内の画素の数
Ｐｍｎ＝（ΣＸｉｊ）／Ｎｍｎ；
Ｘｉｊは（Ｌｍｘ＋３Ｌｍｎ）／４以上の値を持つ画素であり、
Ｎｍｎは（Ｌｍｘ＋３Ｌｍｎ）／４以上の値を持つブロック内の画素の数
ＬＤ＝Ｐｍｘ−Ｐｍｎ；
Ｐａ＝（Ｐｍｘ＋Ｐｍｎ）／２；
ｉ，ｊをブロック内ソート
｛ｉｆ（Ｘｉｊ＜＝Ｐ１）          Φｉｊ＝００
ｅｌｓｅｉｆ（Ｘｉｊ＜＝Ｐａ）  Φｉｊ＝０１
ｅｌｓｅｉｆ（Ｘｉｊ＜＝Ｐ２）  Φｉｊ＝１０
ｅｌｓｅ                        Φｉｊ＝１１｝
この符号化はΦｉｊおよびＰａとＬＤである。
【００９８】
このように最大値と最小値からあるしきい値を求め、そのしきい値を出る画素の平均を求めれば、ノイズによる量子化基準値の変動はなくなり、画質への影響を与えなくすることができる。しかも、これらの演算は平均値演算を基準にした簡単な演算であるため、容易な回路構成で実現できる。
また、ＬＤの代わりに量子化基準値幅のＰ２−Ｐａを符号化しても良い。Ｐ２−ＰａはＬＤの半分以下の値のため、符号化ビット数を少なくすることができる。
【００９９】
このように符号化して、予測メモリ１１および予測メモリ１２に符号化データを書き込み、動きベクトルを求めたり、動き補償予測に必要な箇所の読みだしを行う。このとき、読みだしデータは、ＰａおよびＬＤ（またはそれに準じるデータ）と、必要な画素の量子化結果Φｉｊのみである。
【０１００】
このデータを読みだして復号する場合は、下記要領で求める。Φｉｊの復号結果をＹｉｊとする。
ｉｆ（Φｉｊ＝００）            Ｙｉｊ＝Ｐａ−ＬＤ／２
ｉｆ（Φｉｊ＝０１）            Ｙｉｊ＝Ｐａ−ＬＤ／６
ｉｆ（Φｉｊ＝１０）            Ｙｉｊ＝Ｐａ＋ＬＤ／６
ｉｆ（Φｉｊ＝１１）            Ｙｉｊ＝Ｐａ＋ＬＤ／２
【０１０１】
このように復号するため、符号化より演算がかなり簡単であるため、図１のように復号化を２ブロック必要とする場合は非常に都合が良い。隣接画素からの予測値との差分をとるやり方では、１画素復号するのに、それ以前にスキャンしたデータをすべて復号する必要があり、任意位置の読みだしを必要とする動き補償予測に使用するとメモリの制御が複雑になるが、このような場合は、各画素で量子化結果が依存するのは最大値最小値（またはそれに相当するデータ）のみであるため、メモリの読みだし制御が簡単であり、アクセス頻度が少なくて済む。
【０１０２】
以上の説明は８画素×８画素で行ったが、４画素×４画素のようにより小さな領域で行った方がダイナミックレンジやＬＤが小さくなるため、画質の劣化が少なく有利である。すなわち、ブロックのサイズや形状にこだわる必要はなく自由な設定でもよく、例えば８画素×２画素にしても良いことは言うまでもない。８画素×２画素は４画素×４画素とブロック面積は同じだが、ブロック化の際のレジスタ（またはメモリ）のサイズが小さくて済む。
【０１０３】
次に、このときのブロッキングの最適化について説明する。例えば４画素×４画素で１ブロックとしたとき、ＤＣＴブロックを図８のように田の字状に４つに分けることも可能であるが、インタレース画像で動きがある場合では、フィールド間のデータに相関がなくなるため、同一フィールド内でブロッキングするのが良い。つまり、図９に示すようにトップフィールド内で４画素×４画素、ボトムフィールド内で４画素×４画素とするようにブロッキングする。このようにすれば動きがある画像でもダイナミックレンジやＬＤが小さく画質の劣化が極めて少ない符号化をすることができる。
【０１０４】
もちろん、動きによってこのブロッキングを切り替えるように制御しても良い。その時は動きによってブロッキングの仕方を変えるとともにそのブロッキングの仕方の情報も符号化しておけば良い。つまり、フィールドブロックをするときとフレームブロックをするときを動きベクトルやＤＣＴブロッキングのモードで切り替えるように構成して、そのブロッキング手段を切り替えたことを符号化する。これは、４画素×４画素のブロッキングに限らず、ダイナミックレンジやＬＤの値が最も小さくなるように４画素×４画素と８画素×２画素を切り替えるようにしてもよいことは言うまでもない。
【０１０５】
次に、更なる画質劣化の防止策を示す。上述の量子化基準値や代表値は、最大値最小値あるいはＰａ、ＬＤあるいはそれらに準じた値から一意に決められる。各画素の分布が適当に散らばっていれば、このような量子化や代表値算出は適当であるが、実際にはもっと分布に偏りがある。例えば暗いめの背景の中に白い線があるような場合、図１０のように分布している。このよう場合、００のレベルの代表値が線の周辺の影響で変わる。００のレベルの代表値は一点鎖線で示したレベルを中心とした画素が最も多く、この一点鎖線のレベルが代表値として誤差が小さい画素が最も多くなる。しかし、分布の最大値や最小値あるいはＰａ、ＬＤあるいはそれに準じた値から一意に量子化基準値や代表値を決めてしまうと、分布の頻度とは無関係な決めかたになってしまう場合があり、ブロック歪みなどの画質劣化となってしまうことがある。
【０１０６】
このため、一度量子化した結果の代表値と、元のデータとの差分を見て、誤差の蓄積が大きな代表値を変更するようにして、その変更すべき代表値の番号（この例では００）と、本来の代表値からの差分や新代表値そのままの値を符号化して、データと一緒に予測メモリ１１，１２に蓄えておくようにする。
【０１０７】
このようにすれば、復号化器２６や２７において、このような代表値置き換えの情報に基づいて置き換え、代表値の番号に相当する量子化結果（この例ではΦ００）を元の代表値（Ｐａ−ＬＤ／２）から置き換えるようにして復号すれば、誤差の小さな画像として復号することができ、画質の劣化を小さくすることができる。
【０１０８】
誤差の大きい小さいを判断するのに、元のデータとの差分絶対値和や差分２乗和などがあり、そのいずれを使っても良い。また、逆に誤差が平均をとったら０になるのが最適という考えの元に、絶対値等をとらずに差分値の積分を各レベルで行ったり、差分２乗和に元の符号をつけて積分してもよい。
【０１０９】
誤差の大きい代表値レベルの置き換えとしては、誤差の小さい画素数が最も多くなるような代表値レベルを算出しても良いし、量子化レベル全体で誤差が小さくなるように、その量子化結果になる画素の平均値で算出しても良い。
【０１１０】
また、上述の説明では復号化器２６，２７およびデブロック化回路またはスキャン逆変換回路２８，２９はそれぞれの予測メモリ１１，１２の出力に独立に処理回路を設けるようにしているが、２倍の高速動作をさせて、時分割の処理を行えば１つの回路で実現できることは言うまでもない。
【０１１１】
実施の形態２．
次に、本発明の実施の形態２について図を参照しながら説明を行う。図１１はディジタル映像信号復号化装置におけるディジタル映像信号処理部をあらわしており、可変長復号化の以降のブロック図である。図において図１６と同一符号はそれぞれ同一または相当部分を示しており、３０はブロック化回路またはスキャン変換回路、３１は符号化器、３２，３３は復号化回路、３４，３５はデブロック化回路またはスキャン逆変換回路である。
【０１１２】
次に動作について説明する。図１１において、図１６と同じ符号はほぼ同じ動作をするので説明を省略する。ただし、以下の説明はＭＰＥＧ２をベースにする。すなわち、インタレース画像を扱う。従って、フィールドＤＣＴを行うようなモードもある。一度ＤＣＴの周波数領域で量子化されたデータは、情報劣化のない可変長符号化を施すために出力され、一方で逆量子化され、逆ＤＣＴされて元の空間領域のデータに加工されて、加算器１６にて動き補償予測を復号し、ブロック化回路またはスキャン回路３０および符号化器３１を経て予測メモリ１８および１９に蓄える。
【０１１３】
元の画像データにほぼ近いデータが加算器１６からＤＣＴブロック毎に出力される。これをさらにブロック化回路またはスキャン変換回路３０にてブロック化するか、またはスキャン変換するか、またはブロック化してスキャン変換する。そのデータをビット圧縮するように符号化器３１にて符号長の固定な圧縮をする。例えばブロック内の隣接画素との差分をとれば、通常隣接画素はほとんど同じ様な値をとっているため、その差分値は０に近づく。このため、差分値のとる実効的なダイナミックレンジに偏りができ、差分をとる前の値は８ビットすべて必要であったデータでも、差分値をとれば５ビットや６ビットで量子化してもあまり影響はない。差分をとる画素を隣接画素というように表現したが、これは、隣接画素の値がその画素の予測値であるとしたためであって、他の隣接画素との平均をその画素の予測値としても良い。ブロック内で差分をとらない値を１画素だけ設けていれば、復号時ブロック毎に独立したデータとして戻すことができるため、通常はそのようにする。
【０１１４】
つまり、量子化レベルを０に近いほど密に、０から離れるほど疎にしてもあまり影響はでない。さらに差分の符号を判別して、負になる差分値をレンジの最大値より差し引くよう計算すれば、さらに１ビット分のダイナミックレンジがかせげる。このとき復号側がレンジの正負を間違えないよう最大値から負になるレンジを差し引いたときの量子化レベルを再アサインするように工夫する必要がある。このような符号判別型の差分量子化を行った場合、上述の量子化レベルは０に近いほど、また、最大値に近いほど密にし、中間領域ほど量子化レベルを疎にすることは言うまでもない。このようにすれば、半分近くまでメモリを節約することができる。
【０１１５】
この固定長量子化データを予測メモリ１８または予測メモリ１９に記憶させ、動きベクトルを求めたり、動き補償予測を求めたりする参照画像の記憶素子とする。このメモリは通常画像の位置に対して１対１の関係になっていればメモリを制御する回路が小さくて済む。
【０１１６】
このメモリ１８，１９から動きベクトルの抽出や、求めた動きベクトルの位置のデータを取出して、差分値の量子化値を元に近い値に戻すために復号化器３２，３３を通し、デブロック化回路またはスキャン逆変換回路３４，３５を通す。復号化器３２，３３では、ブロック内で差分をとらない画素を出発点とし、復号を開始する。まず、量子化したデータを量子化レベルに相当した代表値に置き換え、差分をとらない画素と加算して差分値を元に近い値に直す。次にスキャンの順に、置き換えと加算を繰り返す。このとき、符号判別タイプの差分量子化を行った場合は、加算した結果ダイナミックレンジを越えるとダイナミックレンジの剰余演算にて値を置き換える。
【０１１７】
デブロック化回路またはスキャン逆変換回路３２，３３は、ブロック化回路またはスキャン変換回路３０の逆操作を施し、なおかつ加算器１６での逆ＤＣＴ出力とタイミングをあわせて差分するように変換するよう制御する。
【０１１８】
このようにすれば、メモリの領域を小さくして、同等の圧縮が可能なディジタル映像信号復号化装置を構成することができる。
【０１１９】
しかし、実際には通常音声信号とともに映像信号を伝送しており、この２つのデータには時間的にかなりの精度で合せ込みの必要がある。ＭＰＥＧでは、このため９０ｋＨｚで数えたタイマとしての時間軸情報を多重されて伝送されている。この時間軸情報にしたがって映像と音声をモニタやスピーカに出力しなければならない。それゆえ、処理もそれだけの時間分前もって処理をする必要がある。この状態を示したのが図２である。この実施の形態２の符号化復号化を中心とした信号処理時間がΔｔｓｅｃだとすれば、従来の処理タイミングを図２（Ａ）とすると、この実施の形態２での処理タイミングは、図２（Ｂ）に示したようにΔｔｓｅｃだけ早くメモリからの読みだしを開始するようにメモリ制御を行う。これにより、処理のためのずれなくディジタル映像信号復号化装置を構成することができる。
【０１２０】
この処理タイミングは、固定長の符号化をする場合は、厳密に求めることができるために、符号化方式としては固定長の符号化をした方が処理の制御と時間管理が有利である。
また、この処理時間は、動きベクトルの範囲内のデータが書きおわる時間よりも小さければよいので、ＮＴＳＣレベルのように７２０画素程度の大きな画面では、この処理時間は１フレームの時間に比べて非常に小さく、処理の矛盾は生じない。
【０１２１】
次にブロック化に関してであるが、処理の基準がＤＣＴという通常８画素×８画素の小さなブロックであり、マクロブロックをとっても輝度信号に対してＤＣＴブロック４つと色差信号に対してＤＣＴブロックが２つであり、画面上で同じ位置を占めるデータを処理の単位としており、動きベクトルもマクロブロックで４つという扱いであるので、ブロック化した状態でデータを扱うのが都合が良いが必須ではなく、ＮＴＳＣの走査線のように、横１列のデータをひとかたまりとして扱うようにしても良いことは言うまでもない。
【０１２２】
このＤＣＴブロックのデータを走査線単位で扱うには、ブロック化回路またはスキャン変換回路３０の動作を、ＮＴＳＣの場合であれば、縦１画素×横７２０等のようにラスタ変換動作をするように構成すれば良い。もちろん、このラスタ変換は縦１画素×横１６画素のように、小刻みに切ってしまっても良いことは言うまでもなく、その変換結果をブロックとみなして同様の操作をすれば良い。
【０１２３】
すなわち、差分をとるためのブロックは、正方形であろうが、横一直線であろうが差分をとる処理には変化させずともよい。つまり、上述の隣接画素から予測値を算出（隣接画素をそのまま予測値にしてもよい）して、その予測値との差分値を求めるようにして符号化し、予測メモリ１８，１９に蓄えることでメモリの領域は半分程度に節約できることには変わりない。
【０１２４】
次に、スキャンについて述べる。例えばＤＣＴブロックをそのままブロックとして符号化することを考える。すなわち、８画素×８画素のブロックでスキャンして符号化する場合、図３のように、左斜め上の画素を差分値をとらない画素として、ジグザグにスキャンするようにしても良い。このとき、矢印の方向に並んだ画素の関係が隣接画素である。すなわち、隣接画素をそのまま予測値とした場合、図３中のＡの画素の差分値はＢの画素との減算をした結果である。
【０１２５】
なお、予測値として矢印の進行逆方向のみを採用するのではなく、例えば進行方向と直角に交わる関係をもつ画素をも加え、図４のように２次元配列を考慮に入れた画素の設定をし、平均などによって予測値を求めても良い。このとき図３のようなスキャンでは、ブロック内にその様な画素が存在しないような端点では直角に交わる画素の値を進行逆方向の画素の値と同じとすれば良い。また、ブロック内の初めの点を差分をとらない点としたが、０との差分を用意して、量子化してもよいことは言うまでもない。
【０１２６】
次に、スキャンの最適化について述べる。扱う画像は、ＭＰＥＧ２などのようにインタレースの画像が中心である。つまり、時間的に異なる画像で、なおかつ空間的に異なる画像が交互にフィールドを構成することによって動画像をあらわしている。交互に現れるフィールドをそれぞれトップフィールドとボトムフィールドとすると、逆ＤＣＴして動き補償予測を復号すれば、図５のようにトップフィールドの走査線の間にボトムフィールドの走査線が入るような画面構成になる。このため、スキャン変換をトップフィールドとボトムフィールドで固めるように行うと、例えば動きがあってトップフィールドとボトムフィールドで動き分違う画像になってしまったとき、隣接画素の差分値が０に集中しにくくなるため、差分値のダイナミックレンジが広がってしまい、量子化することによって画質の劣化が大きくなってしまう部分が出現するようになる。
【０１２７】
この現象を防止するために、ブロック化回路またはスキャン変換回路３０の制御を変更し、図５の矢印のようにブロッキングして隣接画素を求めていく。つまり、同一のフィールドを優先してスキャンするように制御する。このことによって、動きが生じても予測値との差分は０付近に集中するようになる。
【０１２８】
図５ではトップフィールドとボトムフィールドが１つのブロックに混在するような構成になっているが、これを図９のように全く別のブロックに分けてしまっても良い。
【０１２９】
図５ではトップフィールドとボトムフィールドが隣接画素の関係になっているところが１箇所だけあり、この部分に動きがあると上記問題と同じ問題が残るが、面積的に極めて小さい部分で済んでしまい問題はほとんどなくなる。また、図３はＤＣＴブロックを１つのブロックにしたが、ＤＣＴブロックはフレームで行う場合とフィールドで行う場合とがあり、メモリからの読みだし計算が複雑になる一方、図５のスキャニングはＤＣＴブロックに影響を受けないため非常に都合が良い。
【０１３０】
ここまでは、隣接画素からの予測値との差分を量子化することで情報圧縮を行ないメモリに書き込むというディジタル映像信号復号化装置について述べてきたが、以下、ブロックをひとかたまりにして情報圧縮をしメモリに書き込むディジタル映像信号復号化装置について説明する。
【０１３１】
図６は、ブロックをひとかたまりにして情報圧縮して予測メモリに書き込みをするディジタル映像信号復号化装置の概念を説明するための図である。各ブロック内の全画素の最大値と最小値をそれぞれ求める。各ブロックの画素の値はそれぞれの最大値と最小値の範囲に入っているはずである。この最大値と最小値の間をダイナミックレンジＤＲとし、ＤＲを均等に分割した量子化しきい値を設定する。これを量子化基準値と称す。
【０１３２】
図６では最大値から最小値を４つに分割して量子化することを示しており、代表値は通常各量子化しきい値同士の平均をとる。
【０１３３】
符号化するのは、最大値および最小値および各画素の量子化結果である。各画素の量子化結果は、図６においては２ビットの表現で与えられる。また、最大値と最小値の代わりに最大値か最小値の何れかとダイナミックレンジのＤＲを符号化しても良い。
【０１３４】
８画素×８画素の８ビットデータを最大値および最小値を８ビットで表現し、量子化結果を２ビットで表現した場合、圧縮率は９／３２となる。なお、この符号化ではスキャンは最大値最小値を求めるのに必要であるだけであるので、ブロッキングの最適化問題はあっても、スキャン変換の問題はない。
【０１３５】
このデータは、最大値と最小値（またはそれに相当するデータ）と、必要な画素の量子化結果があれば復号化できる。一方、隣接画素からの予測値との差分をとるやり方では、１画素復号するのにそれ以前にスキャンしたデータをすべて復号する必要があり、任意位置の読みだしを必要とする動き補償予測に使用するとメモリの制御が複雑になるが、このような場合は、各画素で量子化結果が依存するのは最大値最小値（またはそれに相当するデータ）のみであるため、メモリの読みだし制御が簡単であり、アクセス頻度が少なくて済む。
【０１３６】
次に、最大値と最小値から、そのまま量子化基準値を定めずにさらなる処理過程を経て量子化基準値を定めるようにした場合を説明する。
【０１３７】
通常、画像には何等かの形でノイズが重畳されている場合が多い。例えばビデオカメラのＣＣＤでのノイズや、アナログ信号をディジタル信号に変換する際に発生するノイズである。これらはランダムノイズであり、ディジタル映像信号符号化装置はこれらのノイズ成分も忠実に符号化しようとして、符号化ビットストリームを伝送する。このため、そのビットスリームの復号結果もこのノイズ成分を含んだ画像を復号する。しかし、このためブロック内の最大値や最小値もそれにノイズよって影響を受け、量子化基準値に悪影響を与える。このため量子化基準値を求めるために平均を導入し、ノイズによる影響を受けないようにする。
【０１３８】
例えば、４つの代表値を持つような量子化を行う場合、図７に示すようにブロックの中の最大値をＬｍｘ、最小値をＬｍｎとし、最大代表値Ｐｍｘ、最小代表値Ｐｍｎ、中心の量子化基準値Ｐａ、その他の基準値をＰ１，Ｐ２とする。このとき下記の関係が成り立つように、Ｐｍｘ，Ｐｍｎ，Ｐａ，Ｐ１，Ｐ２を求める。ただし、位置（ｉ，ｊ）に位置する画素の値をＸｉｊとし、量子化結果をΦｉｊとする。
【０１３９】
Ｐｍｘ＝（ΣＸｉｊ）／Ｎｍｘ；
Ｘｉｊは（３Ｌｍｘ＋Ｌｍｎ）／４以上の値を持つ画素であり、
Ｎｍｘは（３Ｌｍｘ＋Ｌｍｎ）／４以上の値を持つブロック内の画素の数
Ｐｍｎ＝（ΣＸｉｊ）／Ｎｍｎ；
Ｘｉｊは（Ｌｍｘ＋３Ｌｍｎ）／４以上の値を持つ画素であり、
Ｎｍｎは（Ｌｍｘ＋３Ｌｍｎ）／４以上の値を持つブロック内の画素の数
ＬＤ＝Ｐｍｘ−Ｐｍｎ；
Ｐａ＝（Ｐｍｘ＋Ｐｍｎ）／２；
ｉ，ｊをブロック内ソート
｛ｉｆ（Ｘｉｊ＜＝Ｐ１）          Φｉｊ＝００
ｅｌｓｅｉｆ（Ｘｉｊ＜＝Ｐａ）  Φｉｊ＝０１
ｅｌｓｅｉｆ（Ｘｉｊ＜＝Ｐ２）  Φｉｊ＝１０
ｅｌｓｅ                        Φｉｊ＝１１｝
【０１４０】
この符号化はΦｉｊおよびＰａとＬＤである。
【０１４１】
このように最大値と最小値からあるしきい値を求め、そのしきい値を出る画素の平均を求めれば、ノイズによる量子化基準値の変動はなくなり、画質への影響を与えなくすることができる。しかも、これらの演算は平均値演算を基準にした簡単な演算であるため、容易な回路構成で実現できる。また、ＬＤの代わりに量子化基準値幅のＰ２−Ｐａを符号化しても良い。Ｐ２−ＰａはＬＤの半分以下の値のため符号化ビット数を少なくすることができる。
【０１４２】
このように符号化して、予測メモリ１１および予測メモリ１２に符号化データを書き込み、動き補償予測の復号に必要な箇所の読みだしを行う。このとき、読みだしデータは、ＰａおよびＬＤ（またはそれに準じるデータ）と、必要な画素の量子化結果Φｉｊのみである。
【０１４３】
このデータを読みだして復号する場合は、下記要領で求める。Φｉｊの復号結果はＹｉｊとする。
ｉｆ（Φｉｊ＝００）            Ｙｉｊ＝Ｐａ−ＬＤ／２
ｉｆ（Φｉｊ＝０１）            Ｙｉｊ＝Ｐａ−ＬＤ／６
ｉｆ（Φｉｊ＝１０）            Ｙｉｊ＝Ｐａ＋ＬＤ／６
ｉｆ（Φｉｊ＝１１）            Ｙｉｊ＝Ｐａ＋ＬＤ／２
【０１４４】
このように復号するため、符号化より演算がかなり簡単であるため、図１のように復号化を２ブロック必要とする場合は非常に都合が良い。隣接画素からの予測値との差分をとるやり方では、１画素復号するのにそれ以前にスキャンしたデータをすべて復号する必要があり、任意位置の読みだしを必要とする動き補償予測に使用するとメモリの制御が複雑になるが、このような場合は、各画素で量子化結果が依存するのは最大値と最小値（またはそれに相当するデータ）のみであるため、メモリの読みだし制御が簡単であり、アクセス頻度が少なくて済む。
【０１４５】
以上の説明は８画素×８画素で行ったが、４画素×４画素のようにより小さな領域で行った方がダイナミックレンジやＬＤが小さくなるため、画質の劣化が少なく有利である。すなわち、ブロックのサイズや形状にこだわる必要はなく自由な設定でもよく、例えば８画素×２画素にしても良いことは言うまでもない。８画素×２画素は４画素×４画素とブロック面積は同じだが、ブロック化の際のレジスタ（またはメモリ）のサイズが小さくて済む。
【０１４６】
次に、このときのブロッキングの最適化について説明する。例えば４画素×４画素で１ブロックとしたとき、ＤＣＴブロックを図８のように田の字状に４つに分けることも可能であるが、インタレース画像で動きがある場合では、フィールド間のデータに相関がなくなるため、同一フィールド内でブロッキングするのが良い。つまり、図９に示すようにトップフィールド内で４画素×４画素、ボトムフィールド内で４画素×４画素とするようにブロッキングする。このようにすれば動きがある画像でもダイナミックレンジやＬＤが小さく画質の劣化が極めて少ない符号化をすることができる。
【０１４７】
もちろん、動きによってこのブロッキングを切り替えるように制御しても良い。その時は動きによってブロッキングの仕方を変えるとともにそのブロッキングの仕方の情報も符号化しておけば良い。つまり、フィールドブロックをするときとフレームブロックをするときを動きベクトルやＤＣＴブロッキングのモードで切り替えるように構成して、そのブロッキング手段を切り替えたことを符号化する。これは、４画素×４画素のブロッキングに限らず、ダイナミックレンジやＬＤの値が最も小さくなるように４画素×４画素と８画素×２画素を切り替えるようにしてもよいことは言うまでもない。
【０１４８】
次に、更なる画質劣化の防止策を示す。上述の量子化基準値や代表値は、最大値最小値あるいはＰａ、ＬＤあるいはそれらに準じた値から一意に決められる。各画素の分布が適当に散らばっていれば、このような量子化や代表値算出は適当であるが、実際にはもっと分布に偏りがある。例えば暗いめの背景の中に白い線があるような場合、図１０のように分布している。このよう場合、００のレベルの代表値が線の周辺の影響で変わる。００のレベルの代表値は一点鎖線で示したレベルを中心とした画素が最も多く、この一点鎖線のレベルが代表値として誤差が小さい画素が最も多くなる。しかし、分布の最大値や最小値あるいはＰａ、ＬＤあるいはそれに準じた値から一意に量子化基準値や代表値を決めてしまうと、分布の頻度とは無関係な決めかたになってしまう場合があり、ブロック歪みなどの画質劣化となってしまうことがある。
【０１４９】
このため、一度量子化した結果の代表値と元のデータとの差分を見て、誤差の蓄積が大きな代表値を変更するようにして、その変更すべき代表値の番号（この例では００）と本来の代表値からの差分や新代表値そのままの値を符号化して、データと一緒に予測メモリ１８，１９に蓄えておくようにする。
【０１５０】
このようにすれば、復号化器２６や２７において、このような代表値置き換えの情報に基づいて置き換え、代表値の番号に相当する量子化結果（この例ではΦ００）を元の代表値（Ｐａ−ＬＤ／２）から置き換えるようにして復号すれば、誤差の小さな画像として復号することができ画質の劣化を小さくすることができる。
【０１５１】
誤差の大きい小さいを判断するのに、元のデータとの差分絶対値和や差分２乗和などがあり、そのいずれを使っても良い。また、逆に誤差が平均をとったら０になるのが最適という考えの元に、絶対値等をとらずに差分値の積分を各レベルで行ったり、差分２乗和に元の符号をつけて積分してもよい。
【０１５２】
誤差の大きい代表値レベルの置き換えとしては、誤差の小さい画素数が最も多くなるような代表値レベルを算出しても良いし、量子化レベル全体で誤差が小さくなるように、その量子化結果になる画素の平均値で算出しても良い。
【０１５３】
また、上述の説明では復号化器３２，３３およびデブロック化回路またはスキャン逆変換回路３４，３５はそれぞれの予測メモリ１８，１９の出力に独立に処理回路を設けるようにしているが、２倍の高速動作をさせて、時分割の処理を行えば１つの回路で実現できることは言うまでもない。
【０１５４】
以上のディジタル映像信号符号化装置やディジタル映像信号復号化装置は、回路ブロックから構成されるように説明したが、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のように変更可能なデバイスを使ったり、ディジタルシグナルプロセッサ（ＤＳＰ）を使ってソフトウエア的なプログラムでデバイスを動かすように構成したり、あるいはマイクロコンピュータでプログラミングでソフトウエア的に構成したりしても良い。また、この装置は、パーソナルコンピュータに内蔵すれば簡易なテレビ会議のシステムとしてシステム化可能であることは言うまでもない。
【０１５５】
実施の形態３．
次に、本発明の実施の形態３について図を参照しながら説明を行う。この実施の形態３は、図１に示した符号化装置と図１１に示した復号化装置の組み合わせでディジタル映像信号符号化復号化装置を構成したものである。
【０１５６】
この実施の形態３では、図１に示したディジタル映像信号符号化装置によってディジタル映像信号を情報圧縮して伝送し、図１１に示したディジタル映像信号復号化装置で受信したデータを伸長して元に戻す組み合わせにおいて、ディジタル映像信号符号化装置でにおけるブロック化回路またはスキャン変換回路２４や符号化器２５で、どのようなブロック化，どのようなスキャン変換，どのような符号化手法（ブロック化などを含めてメモリ節約符号化手法と称す）を採用したかをあらわす情報を図１に示す出力信号に加え、量子化変換係数等と一緒に符号化データに多重化して伝送し、その多重化されたメモリ節約符号化手法の情報を分離して図１１のブロック化回路またはスキャン変換回路３０および符号化回路３１に送り、その動作をこの情報を元に切り替えるように動作する。
【０１５７】
このように動作することで、例えばブロック毎に符号化手法が変化して最適化されたとしても、符号化装置と復号化装置で一致した符号化手法をとってメモリに蓄えることができる。つまり、符号化装置の中の差分器２と加算器８で動き補償予測とその復号を行うようになっているが、その復号と同じ結果を復号化装置の加算器１６で得るように動作する。このため、動き補償予測ループ内での符号化復号化による画質劣化を最小限にとどめることができる。
【０１５８】
このような構成をとって、各ブロック毎に符号化手法が異なるように動作させる場合、符号化装置における符号化器２５と復号化器２６、および復号化器２７の間にも符号化手法を表現して予測メモリ１１および１２に記憶させるように構成すると良い。また、同じように、復号化装置における符号化器３１と復号化器３２および３３の間で符号化手法を表現して予測メモリ１８および１９に記憶させるように構成すると良い。
【０１５９】
このとき、符号化器３１の符号化手法は伝送されてきた符号化装置での符号化手法と同じものを使うように構成したときが最適である。
【０１６０】
符号化手法をブロックに応じて変化させるための方法としては、符号化復号化によって生じる符号化前のデータとの誤差のブロック内総和が最少になる符号化手法を選ぶとか、符号化復号化によって生じる符号化前のデータとの誤差があるしきい値より小さくなる画素数がブロック内に一番多くなる符号化手法を選ぶとか、それらを組み合わせるとか、様々なやり方がある。また、その誤差についても、差分絶対値であるとか、２乗した値である等の計算手法がある。これについてはより多くの画像と符号化装置の符号化ビットレートによって変化するので、場合に応じて選択すれば良い。
【０１６１】
【発明の効果】
請求項１に係るディジタル映像信号復号化装置によれば、予測メモリに記憶すべきデータ量を少なくすることができるため、メモリ容量を小さくできるという効果がある。また、メモリにかかるコストが小さくなるという効果がある。さらには、メモリ容量が小さくて済むため、ＬＳＩのチップ上に符号化装置で必要な回路群と共に搭載しても、チップ面積が小さくて済むため、チップコストも下がり、歩留まりも向上するという効果がある。このように構成しても動き補償予測の復号化が可能であるディジタル映像信号復号化装置を構成できるという効果が得られる。さらに、ブロック内の隣接画素から求められる予測値との差分値を量子化するようにして符号化するので、小さい規模の回路や小さい規模のソフトウエアで実現できるという効果がある。また、このときの圧縮率も約半分ほどに圧縮出来るのでメモリ容量が半減するという効果がある。
【０１６２】
請求項２に係るディジタル映像信号復号化装置によれば、予測メモリに記憶すべきデータ量を少なくすることができるため、メモリ容量を小さくできるという効果がある。また、メモリにかかるコストが小さくなるという効果がある。また、メモリ容量が小さくて済むため、ＬＳＩのチップ上に符号化装置で必要な回路群と共に搭載しても、チップ面積が小さくて済むため、チップコストも下がり、歩留まりも向上するという効果がある。このように構成しても動き補償予測の復号化が可能であるディジタル映像信号復号化装置を構成できるという効果がある。さらには、処理時間分を考慮して処理を早く開始しているため、装置全体の時間軸管理を正確にできるという効果がある。このことは、タイムスタンプに対しての処理精度を上げることにつながる。さらに、ブロック内の隣接画素から求められる予測値との差分値を量子化するようにして符号化するので、小さい規模の回路や小さい規模のソフトウエアで実現できるという効果がある。また、このときの圧縮率も約半分ほどに圧縮出来るのでメモリ容量が半減するという効果がある。
【０１６３】
請求項３に係るディジタル映像信号復号化装置によれば、予測メモリに記憶すべきデータ量を少なくすることができるため、メモリ容量を小さくできるという効果がある。また、メモリにかかるコストが小さくなるという効果がある。また、メモリ容量が小さくて済むため、ＬＳＩのチップ上に復号化装置で必要な回路群と共に搭載しても、チップ面積が小さくて済むため、チップコストも下がり、歩留まりも向上するという効果がある。さらには、ビデオ入力のラスタと同じ様なデータ並びにできるため、メモリ制御が簡単化されるという効果がある。このように構成しても動き補償予測の復号化が可能であるディジタル映像信号復号化装置を構成できるという効果がある。さらに、ブロック内の隣接画素から求められる予測値との差分値を量子化するようにして符号化するので、小さい規模の回路や小さい規模のソフトウエアで実現できるという効果がある。また、このときの圧縮率も約半分ほどに圧縮出来るのでメモリ容量が半減するという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１のディジタル映像信号符号化装置、および実施の形態３のディジタル映像信号符号化復号化装置の符号化部のブロック図である。
【図２】実施の形態１のディジタル映像信号符号化制御、および実施の形態２のディジタル映像信号復号化制御を説明する図である。
【図３】実施の形態１のディジタル映像信号符号化装置におけるブロック化回路、および実施の形態２のディジタル映像信号復号化装置におけるブロック化回路の動作を説明する図である。
【図４】実施の形態１のディジタル映像信号符号化装置における予測からの差分による符号化器の動作、および実施の形態２のディジタル映像信号復号化装置における予測からの差分による符号化器の動作を説明する図である。
【図５】実施の形態１のディジタル映像信号符号化装置における画質劣化の小さいブロッキングをするブロック化回路の動作、および実施の形態２のディジタル映像信号復号化装置における画質劣化の小さいブロッキングをするブロック化回路の動作を説明する図である。
【図６】実施の形態１のディジタル映像信号符号化装置におけるダイナミックレンジによる符号化器の動作、および実施の形態２のディジタル映像信号復号化装置におけるダイナミックレンジによる符号化器の動作を説明する図である。
【図７】実施の形態１のディジタル映像信号符号化装置における画像データの分布による符号化器の動作、および実施の形態２のディジタル映像信号復号化装置における画像データの分布による符号化器の動作を説明する図である。
【図８】実施の形態１のディジタル映像信号符号化装置におけるブロック化回路の動作、および実施の形態２のディジタル映像信号復号化装置におけるブロック化回路の動作の一例を説明する図である。
【図９】実施の形態１のディジタル映像信号符号化装置において、ダイナミックレンジや画像データの分布から符号化する際のブロック化回路の動作、および実施の形態２のディジタル映像信号復号化装置において、ダイナミックレンジや画像データの分布から符号化する際のブロック化回路の動作の例を説明する図である。
【図１０】実施の形態１のディジタル映像信号符号化装置において、ダイナミックレンジや画像データの分布から符号化する際の符号化回路で代表値を置き換えるように動作する符号化器を構成した場合の動作、および実施の形態２のディジタル映像信号復号化装置において、ダイナミックレンジや画像データの分布から符号化する際の符号化回路で代表値を置き換える場合の動作ブロック化回路の動作の例を説明する図である。
【図１１】実施の形態２のディジタル映像信号復号化装置のブロック図、および実施の形態３のディジタル映像信号符号化復号化装置の復号化部のブロック図である。
【図１２】従来のディジタル映像信号符号化装置のブロック図である。
【図１３】従来のディジタル映像信号符号化装置の動作を説明する図である。
【図１４】従来のディジタル映像信号符号化復号化システム全体を説明するブロック図である。
【図１５】従来のディジタル映像信号符号化復号化のための大まかな信号処理のブロック図である。
【図１６】従来のディジタル映像信号符号化装置のブロック図である。
【図１７】従来のディジタル映像信号符号化装置、復号化装置における時間軸情報多重化ルールを説明する図である。
【符号の説明】
１  ビデオ入力部、２  差分器、３  符号化制御部、４  ＤＣＴ、５  量子化器、６  逆量子化器、７  逆ＤＣＴ、８  加算器、９，１０  スイッチ、１１，１２  予測メモリ、１３  平均回路、１４  逆量子化器、１５  逆ＤＣＴ、１６加算器、１７，２１，２２  スイッチ、１８，１９  予測メモリ、２０  平均回路、２３  モニタ、２４  ブロック化回路またはスキャン変換回路、２５  符号化器、２６，２７  復号化回路、２８，２９  デブロック化回路またはスキャン逆変換回路、３０  ブロック化回路またはスキャン変換回路、３１  符号化器、３２，３３  復号化回路、３４，３５  デブロック化回路またはスキャン逆変換回路。
【図１】
0003552811.tif 000002
【図２】
0003552811.tif 000003
【図３】
0003552811.tif 000004
【図４】
0003552811.tif 000005
【図５】
0003552811.tif 000006
【図６】
0003552811.tif 000007
【図７】
0003552811.tif 000008
【図８】
0003552811.tif 000009
【図９】
0003552811.tif 000010
【図１０】
0003552811.tif 000011
【図１１】
0003552811.tif 000012
【図１２】
0003552811.tif 000013
【図１３】
0003552811.tif 000014
【図１４】
0003552811.tif 000015
【図１５】
0003552811.tif 000016
【図１６】
0003552811.tif 000017
【図１７】
0003552811.tif 000018