(58)【調査した分野】(Int.Cl.,DB名)
フレーム間予測を使用して符号化された第1のフレームとフレーム間予測を使用しないで符号化された第2のフレームとを含む複数の入力画像を圧縮する符号化装置と、前記符号化装置が圧縮した前記入力画像を伸長する復号化装置と、を備える映像伝送システムであって、
前記符号化装置は、
第1の参照画像と前記入力画像とに基づいて予測誤差データを生成する予測符号化部と、
前記予測誤差データと、前記第2のフレームと、を圧縮するデータ圧縮部と、
復号側で復号される前記第1のフレームの模擬生成画像であるローカルデコード画像を圧縮して第1のフレームメモリに格納するとともにすでに圧縮が完了した前記第2のフレームを圧縮された状態のまま前記第1のフレームメモリに格納する、又は復号側で復号される前記入力画像の模擬生成画像であるローカルデコード画像を圧縮して前記第1のフレームメモリに格納する第1の画像格納部と、
前記第1のフレームメモリに格納されている前記第2のフレームを伸長することにより前記予測符号化部が使用する前記第1の参照画像を取得する画像伸長部と、を備え、
前記復号化装置は、
前記データ圧縮部で圧縮された前記予測誤差データと前記データ圧縮部で圧縮された前記第2のフレームと、を伸長するデータ伸長部と、
すでに復号が完了している前記第2のフレームを第2の参照画像として取得し、取得した前記第2の参照画像と伸長された前記予測誤差データとに基づいて、前記第2の参照画像とは別の新たな前記入力画像を復号する予測復号部と、を備える、
映像伝送システム。
前記符号化装置は、復号側で復号される前記第1のフレーム及び前記第2のフレームを模擬生成し、復号される前記第2のフレームおよび又は復号される前記第1のフレームをローカルデコード画像とするローカルデコード部、を備え、
前記第1の画像格納部は、前記ローカルデコード部で生成されたローカルデコード画像を圧縮し、圧縮した前記ローカルデコード画像を前記第1のフレームメモリに格納し、
前記画像伸長部は、前記第1のフレームメモリに格納されている圧縮された前記ローカルデコード画像を伸長し、
前記予測符号化部は、
前記画像伸長部で伸長された前記ローカルデコード画像を前記第1の参照画像として前記入力画像の動き検出を行い、前記ローカルデコード画像を前記動き検出の結果に基づいて動き補償することにより動き補償画像を生成し、
前記動き補償画像と前記入力画像との差分を予測誤差データとして取得する、
請求項1に記載の映像伝送システム。
少なくともIフレーム及びPピクチャーを含む複数の入力画像を圧縮する符号化装置と、前記符号化装置が圧縮した前記入力画像を伸長する復号化装置と、を備える映像伝送システムであって、
前記符号化装置は、
前記Iフレームを圧縮するデータ圧縮部と、
復号側で復号される前記Pピクチャーを模擬生成するローカルデコード部と、
前記ローカルデコード部で生成された前記Pピクチャーを圧縮して第1のフレームメモリに格納し、すでに圧縮が完了した前記Iフレームを圧縮された状態のまま前記第1のフレームメモリに格納する第1の画像格納部と、
前記第1のフレームメモリに格納されている前記Iフレーム及び前記Pピクチャーを伸長する画像伸長部と、
前記画像伸長部で伸長された前記Iフレーム及び前記Pピクチャーの少なくとも1つを第1の参照画像として取得し、前記第1の参照画像と前記入力画像とに基づいて予測誤差データを生成する予測符号化部と、を備え、
前記データ圧縮部は、前記予測誤差データを圧縮し、
前記復号化装置は、
前記データ圧縮部で圧縮された前記予測誤差データを伸長するデータ伸長部と、
すでに復号が完了している前記第1の参照画像に対応する前記Iフレーム及び前記Pピクチャーの少なくとも1つを第2の参照画像として取得し、取得した前記第2の参照画像と伸長された前記予測誤差データとに基づいて、前記第2の参照画像とは別の新たな前記入力画像を復号する予測復号部と、を備える、
映像伝送システム。
少なくともIフレーム及びPピクチャーを含む複数の入力画像を圧縮する符号化装置と、前記符号化装置が圧縮した前記入力画像を伸長する復号化装置と、を備える映像伝送システムであって、
前記符号化装置は、
復号側で復号される前記Pピクチャーを模擬生成するローカルデコード部と、
予め設定された基準に基づいて前記Pピクチャー及び前記Iフレームのいずれを第1のフレームメモリに格納するか判別し、前記Iフレームを前記第1のフレームメモリに格納する場合には、すでに圧縮が完了した前記Iフレームを圧縮された状態のまま前記第1のフレームメモリに格納し、前記Pピクチャーを前記第1のフレームメモリに格納する場合には、前記ローカルデコード部で生成された前記Pピクチャーを圧縮して前記第1のフレームメモリに格納する第1の画像格納部と、
前記第1のフレームメモリに格納されている前記Iフレーム又は前記Pピクチャーを伸長する第1の画像伸長部と、
前記第1の画像伸長部で伸長された前記Iフレーム又は前記Pピクチャーを第1の参照画像として取得し、前記第1の参照画像と前記入力画像とに基づいて予測誤差データを生成する予測符号化部と、
前記予測誤差データを圧縮するデータ圧縮部と、を備え、
前記復号化装置は、
前記データ圧縮部で圧縮された前記予測誤差データを伸長するデータ伸長部と、
すでに復号が完了している前記入力画像を、前記第1の画像格納部が前記ローカルデコード部で生成された前記Pピクチャーを圧縮する際に使用する圧縮方法と同じ圧縮方法を使用して圧縮し、圧縮した前記入力画像を第2のフレームメモリに格納する第2の画像格納部と、
前記第2のフレームメモリに格納された前記入力画像を伸長する第2の画像伸長部と、を備え、
前記第2の画像伸長部で伸長された前記入力画像を第2の参照画像として取得し、取得した前記第2の参照画像と伸長された前記予測誤差データとに基づいて、前記第2の参照画像とは別の新たな前記入力画像を復号する予測復号部と、を備える、
映像伝送システム。
【発明を実施するための形態】
【0008】
以下、発明を実施するための形態について図面を参照しながら説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【0009】
(実施形態1)
図1は、本実施形態の映像伝送システム1のブロック図である。映像伝送システム1は、動画を圧縮して送信する動画圧縮装置(符号化装置)100と、動画圧縮装置100から受信した動画を伸長する動画伸長装置(復号化装置)200と、を備える。動画圧縮装置100は、例えば、映像ストリームを無線やネットワークを介して送信する。また、動画伸長装置200は映像ストリームを無線やネットワークを介して受信する。
【0010】
動画圧縮装置100の構成を説明する。動画圧縮装置100は、制御部110、入力部120、送信部130、及び圧縮部140を備える。
制御部110は、プロセッサ等の処理装置から構成される。制御部110は、動画圧縮装置100の各部を制御する。
【0011】
入力部120は、外部の装置(例えばカメラ)から映像信号を取得する入力インタフェースである。入力部120は、映像信号をA/D変換して動画データを生成する。そして、入力部120は、動画データを圧縮部140に送信する。動画データは、圧縮されていない複数のフレーム(以下、「入力画像」という。)から構成されている。
【0012】
送信部130は、外部の装置にデータを送信する出力インタフェースである。送信部130は、圧縮部140で圧縮されたデータ(例えば、予測誤差データ、動きベクトル、及びIフレーム)を多重化して動画伸長装置200に送信する。Iフレーム(Intra-coded Frame)とは、フレーム間予測を使用しないで符号化されたフレームである。
【0013】
圧縮部140は、プロセッサ等の処理装置から構成される。
図2は、圧縮部140のブロック図である。圧縮部140は、予測符号化部141、データ圧縮部142、ローカルデコード部143、画像格納部144、画像伸長部145及びフレームメモリ146を備えている。なお、圧縮部140は、1つのプロセッサから構成されていてもよいし、複数のプロセッサから構成されていてもよい。複数のプロセッサで圧縮部140を構成する場合、圧縮部140は、複数のプロセッサの協働により「動画圧縮処理」を実現してもよい。また、フレームメモリ146は、圧縮部140の外部にあってもよい。
【0014】
予測符号化部141は、動き検出を実行して動きベクトルを生成するとともに、フレーム間予測を実行して予測誤差データを作成する。動きベクトルとは、フレーム間の画像の動きをベクトルで表現したデータのことである。また、予測誤差データとは、予測画像と入力画像との差分データのことである。ここで、予測画像とは、圧縮側のローカルデコーダで生成されるローカルデコード画像、若しくは、ローカルデコード画像を動き補償して生成される動き補償画像のことである。予測符号化部141は、動き検出部141a、動き補償部141b及び減算器141cを備える。
【0015】
データ圧縮部142は、予測符号化部141で生成された予測誤差データを圧縮する。データ圧縮部142は、変換符号化部142a、量子化部142b及びエントロピー符号化部142cを備える。
【0016】
ローカルデコード部143は、ローカルデコード画像を生成する。ローカルデコード画像とは、復号側で復号される入力画像を、符号側が模擬的に生成する画像のことである。ローカルデコード部143は、複数の入力画像の中から、予測符号化部141が参照画像として使用する入力画像のローカルデコード画像を生成する。ローカルデコード部143は、逆量子化部143a、変換復号部143b及び加算器143cを備える。
【0017】
画像格納部144は、ローカルデコード画像を圧縮してフレームメモリ146に格納する。圧縮方法は既知の様々な方法を使用可能である。これにより、フレームメモリ146の記憶容量を削減できる。
【0018】
画像伸長部145は、フレームメモリ146に格納されているローカルデコード画像を伸長する。画像伸長部145は、画像格納部144が使用した圧縮方法に対応した伸長方法を用いる。画像伸長部145は、伸長したローカルデコード画像を予測符号化部141に送信する。
【0019】
フレームメモリ146は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、半導体メモリ、ハードディスク等のデータ読み書き可能な記憶装置から構成される。フレームメモリ146は、予測符号化部141が参照画像として使用する画像データを格納する。
【0020】
次に、動画伸長装置200の構成を説明する。動画伸長装置200は、制御部210、受信部220、出力部230、及び伸長部240を備える。
制御部210は、プロセッサ等の処理装置から構成される。制御部210は、動画伸長装置200の各部を制御する。
【0021】
受信部220は、動画圧縮装置100からデータを受信する通信インタフェースである。受信部220は、予測誤差データ及び動きベクトルが多重化されたデータを受信する。受信部220は、多重化されたデータを分離し、伸長部240に出力する。
【0022】
出力部230は、外部の出力装置(例えば、液晶ディスプレイ)に映像情報を出力する出力インタフェースである。出力部230は、伸長部240で伸長された入力画像を基に映像情報を生成する。そして、出力部230は、映像情報を外部の出力装置に出力する。
【0023】
伸長部240は、プロセッサ等の処理装置から構成される。
図3は、伸長部240のブロック図である。伸長部240は、データ伸長部241、予測復号部242、画像格納部243及びフレームメモリ244を備えている。なお、伸長部240は、1つのプロセッサから構成されていてもよいし、複数のプロセッサから構成されていてもよい。複数のプロセッサで伸長部240を構成する場合、伸長部240は、複数のプロセッサの協働により「動画伸長処理」を実現してもよい。また、フレームメモリ244は、伸長部240の外部にあってもよい。
【0024】
データ伸長部241は、入力されたデータを伸長する。データ伸長部241は、データ圧縮部142が使用した圧縮方法に対応する伸長方法を用いる。データ伸長部241は、エントロピー復号部241a、逆量子化部241b、及び変換復号部241cを備える。
【0025】
予測復号部242は、フレームメモリ244に格納されている画像及び動きベクトルに基づいて、動き補償画像を生成する。また、予測復号部242は、動き補償画像と予測誤差データを加算し、入力画像を復号する。予測復号部242は、動き補償部242aと加算器242bを備える。
【0026】
画像格納部243は、復号された入力画像(以下、「復号画像」という。)をフレームメモリ244に格納する。
【0027】
フレームメモリ244は、DRAM、SRAM、半導体メモリ、ハードディスク等のデータ読み書き可能な記憶装置から構成される。フレームメモリ244は、予測復号部242が参照画像として使用する画像データを格納する。
【0028】
次に、映像伝送システム1の動作について説明する。映像伝送システム1の動作は、動画圧縮装置100で実行される「動画圧縮処理」と、動画伸長装置200で実行される「動画伸長処理」と、に分けられる。
【0029】
最初に動画圧縮処理について説明する。圧縮部140は、制御部110の命令により動画圧縮処理を開始する。
図4は、動画圧縮処理のフローチャートである。
【0030】
予測符号化部141は、フレーム間予測を実行する。まず、画像伸長部145は、圧縮されたローカルデコード画像をフレームメモリ146から取得する。そして、画像伸長部145は、ローカルデコード画像を伸長し、動き検出部141a及び動き補償部141bに送信する(S101)。なお、フレームメモリ146にローカルデコード画像が格納されていない場合、画像伸長部145は、NULLデータで構成される画像データを仮のローカルデコード画像としてもよい。
【0031】
続いて、動き検出部141aは、ローカルデコード画像を参照画像として入力画像の動き検出を実行する(S102)。具体的には、動き検出部141aは、参照画像と入力画像との間で動き探索を実行し、動きベクトルを生成する。動き探索には、例えば、ブロックマッチング法や勾配法が使用可能である。そして、動き検出部141aは、動きベクトルを、動き補償部141b及びエントロピー符号化部142cに送信する。
【0032】
続いて、動き補償部141bは、動きベクトルに及び参照画像に基づいて、動き補償画像を生成する(S103)。そして、動き補償部141bは、動き補償画像を予測画像として減算器141cに送信する。なお、予測符号化部141は、動き検出機能及び動き補償機能を有していなくてもよい。この場合、予測符号化部141は、ローカルデコード画像をそのまま予測画像とする。
【0033】
続いて、減算器141cは、入力画像と予測画像の差分を算出し、予測誤差データを生成する(S104)。そして、予測符号化部141は、予測誤差データをデータ圧縮部142に送信する。
【0034】
なお、S101〜S104では、予測符号化部141は、フレーム間予測を使用して入力画像を符号化したが、圧縮対象の入力画像がIフレーム(以下、符号化前の画像も単に「Iフレーム」という。)の場合、予測符号化部141は、フレーム間予測を使用せず、フレーム内予測(イントラ予測)を使用して入力画像を符号化してもよい。
【0035】
続いて、データ圧縮部142は、予測誤差データと動きベクトルの圧縮を行う(S105)。具体的には、変換符号化部142aは、離散コサイン変換(DCT)などの直交変換を使って符号化されたデータを空間周波数領域に変換する。量子化部142bは、変換符号化部142aが直交変換により生成した変換係数のうち、人の視覚への影響が低い高次の変換係数を切り捨てる。
【0036】
続いて、エントロピー符号化部142cは、量子化部142bからのデータに対して、可変長符号化(VLC)を実行する。可変長符号化には、例えば、ハフマン符号化、ランレングス符号化、算術符号化、適応ビット割当等が使用可能である。また、エントロピー符号化部142cは、動きベクトルの可変長符号化も実行する。そして、エントロピー符号化部142cは、符号化したデータを送信部130に送信する。送信部130は、符号化されたデータを多重化して、動画伸長装置200に送信する。
【0037】
続いて、ローカルデコード部143は、ローカルデコード画像を生成する(S106)。具体的には、逆量子化部143aは、量子化部142bから量子化されたデータを取得する。そして、逆量子化部143aは、取得したデータの逆量子化を行う。変換復号部143bは、逆量子化されたデータから予測誤差データを復号する。そして、加算器143cは、復号した予測誤差データと動き補償画像とを加算し、ローカルデコード画像を生成する。
【0038】
続いて、画像格納部144は、ローカルデコード画像を圧縮し、フレームメモリ146に格納する(S107)。ローカルデコード画像の格納が完了したら、圧縮部140はS101に戻り、S101〜S107の処理を繰り返す。
【0039】
次に動画伸長処理について説明する。伸長部240は、制御部210からの命令により、動画伸長処理を開始する。
図5は、動画伸長処理のフローチャートである。
【0040】
データ伸長部241は、入力された圧縮データ(予測誤差データ及び動きベクトルデータ、又はIフレーム)を伸長する(S111)。動きベクトルは、エントロピー復号部241aで伸長される。また、予測誤差データ及びIフレームは、エントロピー復号部241a、逆量子化部241b、及び変換復号部241cで伸長される。逆量子化部241b及び変換復号部241cの動作は、S106で説明した逆量子化部143a及び変換復号部143bと同じである。エントロピー復号部241aは、エントロピー符号化部142cが使用した圧縮方法に対応する伸長方法を用いる。エントロピー復号部241aは、伸長した動きベクトルを動き補償部242aに出力する。また、変換復号部241cは、伸長した予測誤差データ及びIフレームを加算器242bに出力する。
【0041】
動き補償部242aは、フレームメモリ244に格納されている復号画像を参照画像として取得する。なお、フレームメモリ244に復号画像が格納されていない場合、動き補償部242aは、NULLデータで構成される画像データを仮の参照画像としてもよい。そして、動き補償部242aは、動きベクトル及び参照画像に基づき、動き補償画像を生成する。その後、動き補償部242aは、動き補償画像を加算器242bに出力する(S112)。
【0042】
加算器242bは、予測誤差データと動き補償画像とを加算し、入力画像を復号する。そして、加算器242bは、復号した入力画像(復号画像)を出力部230に出力する(S113)。出力部230は復号画像を外部の装置に出力する。
【0043】
続いて、画像格納部243は、動き補償部242aが参照画像として使用する復号画像をフレームメモリ244に格納する(S114)。復号画像の格納が完了したら、伸長部240はS111に戻り、S111〜S114の処理を繰り返す。
【0044】
本実施形態によれば、データ圧縮部142がローカルデコード画像を圧縮してフレームメモリ146に格納しているので、フレームメモリ146に格納されるデータの情報量は小さい。そのため、フレームメモリ146の記憶容量を小さくでき、動画圧縮装置100の回路規模及び製造コストを小さくできる。
【0045】
(実施形態2)
動画の画質を劣化させないためには、動画圧縮装置100が動き補償に使用する参照画像と、動画伸長装置200が動き補償に使用する参照画像とが、一致していることが望ましい。しかしながら、実施形態1の動画圧縮装置100は、ローカルデコード画像に対して圧縮及び伸長の処理を施しているため、符号側の参照画像と復号側の参照画像との間には誤差が生じている。この誤差が蓄積した場合、動画伸長装置200が復号する動画の画質は大きく劣化したものとなる。
【0046】
そこで、実施形態2の映像伝送システム1は、動画伸長装置200が動き補償に使用する参照画像にも、圧縮及び伸長の処理を施す。これにより、動画圧縮装置100が動き補償に使用する参照画像と、動画伸長装置200が動き補償に使用する参照画像とを一致させる。実施形態2の映像伝送システム1は、
図1の映像伝送システム1と同様の構成である。以下、実施形態1と異なる部分のみ説明する。
【0047】
図6は、実施形態2の伸長部240のブロック図である。伸長部240は、データ伸長部241、予測復号部242、画像格納部243、画像伸長部245及びフレームメモリ244を備えている。データ伸長部241、予測復号部242、及びフレームメモリ244の構成は実施形態1と同じである。
【0048】
画像格納部243は、予測復号部242が参照画像として使用する復号画像をフレームメモリ244に格納する。このとき、画像格納部243は、復号画像を圧縮してフレームメモリ244に格納する。画像格納部243は、画像格納部144と同じ圧縮方法を用いる。
【0049】
画像伸長部245は、格納されている復号画像を伸長する。画像伸長部245は、画像格納部243が使用した圧縮方法に対応する伸長方法を用いる。画像伸長部245は、伸長した復号画像を動き補償部242aに送信する。
【0050】
次に、実施形態2の映像伝送システム1の動作について説明する。動画圧縮処理は実施形態1と同じであるので説明を省略する。
図7は、実施形態2の動画伸長処理のフローチャートである。
【0051】
データ伸長部241は、入力された圧縮データを伸長する(S201)。データ伸長部241が実行する伸長処理は、実施形態1のS111と同じである。
【0052】
続いて、画像伸長部245は、フレームメモリ244から圧縮された復号画像を取得する。そして、画像伸長部245は、復号画像を伸長して参照画像として動き補償部242aに出力する(S202)。
【0053】
続いて、動き補償部242aは、データ伸長部241が伸長した動きベクトル及び参照画像に基づき、動き補償画像を生成する。その後、動き補償部242aは、動き補償画像を加算器242bに出力する(S203)。
【0054】
加算器242bは、予測誤差データと動き補償画像とを加算し、入力画像を復号する。そして、加算器242bは、復号した入力画像(復号画像)を出力部230に出力する(S204)。
【0055】
続いて、画像格納部243は、動き補償部242aが参照画像として使用する復号画像を圧縮してフレームメモリ244に格納する。このとき、画像格納部243は、画像格納部144と同じ圧縮方法を使用して復号画像を圧縮する(S205)。復号画像の格納が完了したら、伸長部240はS201に戻り、S201〜S205の処理を繰り返す。
【0056】
本実施形態によれば、画像格納部144と同じ圧縮方法を使用して、画像格納部243が復号画像を圧縮している。したがって、動画圧縮装置100が動き補償に使用する参照画像と、動画伸長装置200が動き補償に使用する参照画像とを一致させることができる。そのため、動画伸長装置200が復号する動画の画質はあまり劣化しない。
【0057】
また、画像格納部243が、フレームメモリ244に復号画像を格納する際に、復号画像を圧縮しているので、フレームメモリ244の記憶容量を小さくでき、動画伸長装置200の回路規模及び製造コストを小さくできる。
【0058】
(実施形態3)
実施形態3の映像伝送システム1は、Iフレームを動き補償の参照画像とすることで、動画伸長装置200が参照画像を圧縮及び伸長する構成を備えていなくても、符号側の参照画像と復号側の参照画像とを一致させることを可能とする。以下、実施形態3の映像伝送システム1について、実施形態1及び2と異なる部分のみ説明する。
【0059】
図8は、圧縮部140のブロック図である。圧縮部140は、予測符号化部141、データ圧縮部142、画像格納部144、画像伸長部145及びフレームメモリ146を備えている。
【0060】
画像格納部144は、データ圧縮部142が出力したフレームの中からIフレームを圧縮された状態のままフレームメモリ146に格納する。
画像伸長部145は、フレームメモリ146に格納されているIフレームを伸長する。画像伸長部145は、予測符号化部141及びデータ圧縮部142がIフレームの圧縮に使用した圧縮方法に対応した伸長方法を用いる。画像伸長部145は、伸長したIフレームを動き検出部141a及び動き補償部141bに送信する。
【0061】
次に、実施形態3の映像伝送システム1の動画伸長処理について説明する。
図9は、動画伸長処理のフローチャートである。
【0062】
まず、画像伸長部145は、フレームメモリ146からのIフレームを伸長し、動き検出部141a及び動き補償部141bに送信する(S301)。
【0063】
動き検出部141aは、Iフレームを参照画像として入力画像の動き検出を実行する。そして、動き検出部141aは、動き探索の結果生成された動きベクトルを、動き補償部141b及びエントロピー符号化部142cに送信する(S302)。
【0064】
動き補償部141bは、動きベクトル及び参照画像に基づいて、動き補償画像を生成する。そして、動き補償部141bは、生成された動き補償画像を予測画像として減算器141cに送信する(S303)。
【0065】
減算器141cは、入力画像と予測画像の差分を算出し、予測誤差データを生成する(S304)。そして、予測符号化部141は、予測誤差データをデータ圧縮部142に送信する。
【0066】
データ圧縮部142は、予測誤差データと動きベクトルの圧縮を行う。そして、データ圧縮部142は、圧縮した予測誤差データ及び動きベクトルを送信部130に送信する(S305)。送信部130は、予測誤差データ及び動きベクトルを、多重化して動画伸長装置200に送信する。
【0067】
画像格納部144は、データ圧縮部142から取得したIフレームを圧縮された状態のままフレームメモリ146に格納する(S306)。Iフレームの格納が完了したら、圧縮部140はS301に戻り、入力画像の入力が途切れるまでS301〜S306の処理を繰り返す。
【0068】
本実施形態によれば、画像格納部144がすでに圧縮が完了したIフレームを圧縮された状態のままフレームメモリ146に格納する。予測符号化部141が伸長されたIフレームを参照画像として使用しているので、動画伸長装置200は、符号側と同じ参照画像を得ることができる。従って、動画伸長装置200は、参照画像を圧縮及び伸長させるための構成を備える必要はない。
【0069】
しかも、画像格納部144がフレームメモリ146に格納する画像データは、すでに圧縮が完了したIフレームである。したがって、フレームメモリ146に格納されるデータの情報量は小さい。
【0070】
(実施形態4)
Iフレームの挿入間隔はPフレームの挿入間隔より大きい。Iフレームのみを参照画像とした場合、参照画像と入力画像との時間距離が大きくなる。実施形態3の映像伝送システム1のように、Iフレームのみを参照画像として使用した場合、動画の内容によっては、復号側で復号される動画の画質が低いものとなる。
【0071】
実施形態4の映像伝送システム1は、IフレームのみならずPフレームも参照画像として使用することで、復号側で復号される動画の画質の劣化を抑える。以下、実施形態4の映像伝送システム1について説明する。
【0072】
実施形態4の映像伝送システム1は、
図1の映像伝送システム1と同様である。
図10は、圧縮部140の機能ブロック図である。圧縮部140は、予測符号化部141、データ圧縮部142、ローカルデコード部143、画像格納部144、画像伸長部145、及びフレームメモリ146を備えている。
【0073】
ローカルデコード部143は、複数の入力画像の中からPフレームの画像を実施形態1と同じ方法でローカルデコードする。
【0074】
画像格納部144は、ローカルデコード部143から取得したPフレームを圧縮してフレームメモリ146に格納する。また、画像格納部144は、データ圧縮部142が出力したIフレームを圧縮された状態のままフレームメモリ146に格納する。
【0075】
画像伸長部145は、格納されているIフレーム及びPフレームを伸長する。画像伸長部145は、伸長したIフレーム及びPフレームを動き検出部141a及び動き補償部141bに送信する。
【0076】
次に、実施形態4の映像伝送システム1の動作について説明する。動画伸長処理は実施形態1と同じであるので説明を省略する。
図11は、動画伸長処理のフローチャートである。
【0077】
まず、画像伸長部145は、圧縮されたIフレーム及びPフレームをフレームメモリ146から取得する。そして、画像伸長部145はIフレーム及びPフレームを伸長し、動き検出部141a及び動き補償部141bにそれぞれ送信する(S401)。
【0078】
動き検出部141aは、Iフレーム及びPフレームの両方を参照画像として入力画像の動き検出を実行する(S402)。例えば、動き検出部141aは、入力画像を複数のブロックに分割し、ブロック毎にIフレーム及びPフレームの中から類似ブロックを探索する。各類似ブロックは、異なるフレームに位置していてもよい。そして、動き検出部141aは、探索結果として動きベクトルを生成する。動き検出部141aは、動きベクトルを、動き補償部141b及びエントロピー符号化部142cに送信する。
【0079】
動き補償部141bは、動きベクトルと、参照画像(本実施形態の場合、Iフレーム及びPフレーム)を使って、動き補償画像を生成する。そして、動き補償部141bは、動き補償画像を予測画像として減算器141cに送信する(S403)。
【0080】
減算器141cは、入力画像と予測画像の差分を算出し、予測誤差データを生成する(S404)。そして、予測符号化部141は、予測誤差データをデータ圧縮部142に送信する(S404)。
【0081】
データ圧縮部142は、予測誤差データと動きベクトルを圧縮し、送信部130に送信する(S405)。送信部130は、予測誤差データ及び動きベクトルを、多重化して動画伸長装置200に送信する。
【0082】
ローカルデコード部143は、量子化部142bの出力の中からPフレームを選択する。そして、ローカルデコード部143は、Pフレームのローカルデコード画像を生成する(S406)。
【0083】
画像格納部144は、ローカルデコード画像を圧縮してフレームメモリ146に格納する。また、画像格納部144は、データ圧縮部142の出力の中からIフレームをフレームメモリ146に格納する(S407)。Iフレームは、データ圧縮部142で圧縮された状態のままフレームメモリ146に格納される。
【0084】
Iフレーム及びPフレームの格納が完了したら、圧縮部140はS401に戻り、S401〜S407の処理を繰り返す。
【0085】
本実施形態によれば、IフレームのみならずPフレームも参照画像として使用しているので、動画圧縮装置100は、変化の激しい内容の動画であっても、圧縮の際に大きく画質を劣化させることがない。
【0086】
(実施形態5)
実施形態4の動画圧縮装置100は、IフレームのみならずPフレームも参照画像として使用することで、画質の劣化を抑えた。しかし、実施形態4の動画圧縮装置100は、IフレームとPフレームの両方をフレームメモリ146に格納しているため、他の実施形態の動画圧縮装置100に比べて、フレームメモリ146に格納するデータの情報量が大きい。
【0087】
実施形態5の動画圧縮装置100は、動画中の画像の変化の大きさに基づいて、IフレームとPフレームのいずれかを選択し、フレームメモリ146に格納する。これにより、動画圧縮装置100は、フレームメモリ146に格納するデータの情報量を抑えつつ、圧縮の際の画質の劣化も抑える。以下、実施形態5の映像伝送システム1について説明する。
【0088】
実施形態5の映像伝送システム1は、
図1の映像伝送システム1と同様である。動画圧縮装置100は、制御部110と、入力部120と、送信部130と、圧縮部140と、を備える。
【0089】
実施形態5の圧縮部140は、
図10と同じである。圧縮部140は、予測符号化部141、データ圧縮部142、ローカルデコード部143、画像格納部144、及び画像伸長部145、及びフレームメモリ146を備えている。
【0090】
画像格納部144は、予め設定された基準に従い、IフレームとPフレームのいずれをフレームメモリ146に格納するか判別する。Iフレームの場合、画像格納部144はIフレームを圧縮された状態のままフレームメモリ146に格納する。また、Pフレームの場合、画像格納部144はPフレームを圧縮してフレームメモリ146に格納する。なお、画像格納部144は、Pフレームを圧縮する場合、予測符号化部141及びデータ圧縮部142と同じ圧縮方法を用いる。これにより、フレームを伸長する際、画像伸長部145はIフレームとPフレームとを同じ伸長方法で伸長できる。
【0091】
画像伸長部145は、格納されているIフレーム又はPフレームを伸長する。画像伸長部145は、予測符号化部141及びデータ圧縮部142がIフレームを圧縮する際に使用した圧縮方法に対応する伸長方法を用いる。そして、画像伸長部145は、伸長したフレームを動き検出部141a及び動き補償部141bに送信する。
【0092】
次に、実施形態5の映像伝送システム1の動作について説明する。動画伸長処理は実施形態1と同じであるので説明を省略する。
図12は、動画伸長処理のフローチャートである。
【0093】
まず、画像伸長部145は、圧縮されたIフレーム又はPフレームを伸長し、動き検出部141a及び動き補償部141bに送信する(S501)。
【0094】
動き検出部141aは、取得したフレームを参照画像として入力画像の動き検出を実行し、動きベクトルを生成する。つまり、予測符号化部141は、取得したフレームがIフレームの場合はIフレームを、取得したフレームがPフレームの場合はPフレームを、参照画像として動き検出を実行する(S502)。
【0095】
動き補償部141bは、動きベクトルと参照画像を使って、動き補償画像を生成する。そして、動き補償部141bは、動き補償画像を予測画像として減算器141cに送信する(S503)。
【0096】
減算器141cは、入力画像と予測画像の差分を算出し、予測誤差データを生成する(S504)。そして、予測符号化部141は、予測誤差データをデータ圧縮部142に送信する。
【0097】
データ圧縮部142は、予測誤差データと動きベクトルの圧縮を行い、送信部130に送信する(S505)。送信部130は、予測誤差データ及び動きベクトルを、多重化して動画伸長装置200に送信する。
【0098】
ローカルデコード部143は、量子化部142bの出力の中からPフレームを選択する。そして、ローカルデコード部143は、Pフレームのローカルデコード画像を生成する(S506)。
【0099】
画像格納部144は、ローカルデコード部143からPフレームのローカルデコード画像を取得する。また、画像格納部144は、データ圧縮部142の出力の中からIフレームを取得する。そして、画像格納部144は、予め設定された基準に従い、IフレームとPフレームのいずれをフレームメモリ146に格納するか判別する(S507)。このとき、画像格納部144は、動画中の画像の変化の大きさに基づいて、判別する。具体的には、画像格納部144は、画像の変化が基準より小さい場合は、Iフレームをフレームメモリ146に格納し、画像の変化が基準より大きい場合は、Pフレームをフレームメモリ146に格納する(S508)。
【0100】
このとき、画像格納部144は、過去一定時間分若しくは過去一定フレーム分の入力画像の変化の大きさに基づいて、判別してもよい。具体的には、画像格納部144は、動きベクトルに基づいて動画中の画像の変化の大きさを判別してもよい。例えば、画像格納部144は、過去一定期間分若しくは過去一定フレーム分の動きベクトルを取得する。そして、画像格納部144は、取得した複数の動きベクトルの大きさの総和若しくは平均値を算出する。その後、画像格納部144は、動きベクトルの大きさ総和若しくは平均値が予め設定された閾値より小さい場合は、Iフレームをフレームメモリ146に格納し、総和若しくは平均値が予め設定された閾値より大きい場合は、Pフレームをフレームメモリ146に格納する。
【0101】
また、画像格納部144は、予測符号化部141が生成する予測誤差データに基づいて動画中の画像の変化の大きさを判別してもよい。例えば、画像格納部144は、過去一定期間分若しくは過去一定フレーム分の予測誤差データを取得する。そして、画像格納部144は、取得した予測誤差データに含まれる複数の差分値の総和若しくは平均値を算出する。その後、画像格納部144は、算出した総和若しくは平均値が予め設定された閾値より小さい場合は、Iフレームをフレームメモリ146に格納し、総和若しくは平均値が予め設定された閾値より大きい場合は、Pフレームをフレームメモリ146に格納する。なお、動画中の画像の変化が大きいか否かを判別する方法は、上記に限定されず、既知の様々な方法を使用可能である。
【0102】
続いて、画像格納部144は、S507で判別した方のフレームをフレームメモリ146に格納する(S508)。このとき、画像格納部144は、格納するフレームがIフレームの場合は、Iフレームを圧縮された状態のまま格納する。また、画像格納部144は、格納するフレームがPフレームの場合は、Pフレームを圧縮して格納する。このとき、画像格納部144は、予測符号化部141及びデータ圧縮部142と同じ圧縮方法を使用する。
【0103】
Iフレーム又はPフレームの格納が完了したら、圧縮部140はS501に戻り、S501〜S507の処理を繰り返す。
【0104】
本実施形態によれば、画像格納部144がIフレームとPフレームのいずれをフレームメモリ146に格納するか判別しているので、動画圧縮装置100は、フレームメモリ146に格納するデータの情報量を少なくできる。しかも、画像格納部144は動画中の画像の動きの大きさに基づいてフレームメモリ146に格納するフレームを選択している。すなわち、動画中の画像の動きが小さいときは、Iフレームを、動画中の画像の動きが大きいときは、Pフレームを、参照画像としている。そのため、動画圧縮装置100は、動画伸長装置200で復号される動画の画質はあまり劣化しない。
【0105】
また、Pフレームを格納する際の圧縮方法は、Iフレームを圧縮する際に使用した圧縮方法と同じである。そのため、画像伸長部145は、フレームを伸長する場合に、IフレームとPフレームとで共通の伸長方法を使用でき、伸長処理を簡易なものとできる。
【0106】
なお、上述の各実施形態は、それぞれ一例を示したものであり、種々の変更及び応用が可能である。例えば、上述の各実施形態では、変換符号化部142aは、離散コサイン変換(DCT)を使って予測誤差データやIフレームを直交変換するものとしたが、変換符号化部142aが使用する直交変換は離散コサイン変換に限定されない。変換符号化部142aが使用する直交変換は、離散フーリエ変換、カルーネン・レーベ変換等、他の直交変換であってもよい。
【0107】
また、上述の各実施形態では、動画圧縮装置100は外部の装置(例えば、カメラ)から映像信号を取得するよう構成されていたが、動画圧縮装置100は動画を撮像する撮像部を備え、圧縮して動画伸長装置200に送信する動画を撮像部で撮像するよう構成されていてもよい。
【0108】
また、上述の各実施形態の動画圧縮装置100は、入力画像のノイズを除去するノイズ除去部を備えていてもよい。
図13は、ノイズ除去部150を備える動画圧縮装置100の構成の一例を示す図である。ノイズ除去部150は、入力部120と圧縮部140との間に設けられ、入力部120から入力された入力画像のノイズリダクションを実行する。そして、ノイズ除去部150は、ノイズを削減した入力画像を圧縮部140に入力する。ノイズ除去部150が実行するノイズリダクションは、2次元ノイズリダクションであってもよいし、3次元ノイズリダクションであってもよい。2次元ノイズリダクションとは、1枚のフレーム内でノイズを検出して除去する信号処理のことである。3次元ノイズリダクションとは、他のフレーム(例えば、過去のフレーム)の情報を使ってノイズを検出して除去する信号処理のことである。
【0109】
3次元ノイズリダクションは、既知の様々な方法を使用可能である。例えば、ノイズ除去部150は、画像伸長部145から画像を取得するよう構成されていてもよい。そして、ノイズ除去部150は、画像伸長部145が伸長した画像を他のフレーム(過去のフレーム)としてもよい。画像伸長部145が伸長した画像を使用することにより、3次元ノイズリダクションに必要なフレームバッファおよびフレームバッファ圧縮伸長回路を削減することができる。
【0110】
また、上述の実施形態では、動画伸長装置200は伸長した動画を外部の装置に出力するよう構成されていたが、動画伸長装置200は液晶ディスプレイ等の表示部を備え、伸長した動画を表示部に表示するよう構成されていてもよい。
【0111】
また、上述の各実施形態では、動画圧縮装置100及び動画伸長装置200は、サーバ装置、テレビ、レコーダ、パーソナルコンピュータ、固定電話機、携帯電話機、スマートフォン、タブレット端末、PDA(Personal Digital Assistant)、ゲーム機等の完成品に適宜応用できる。
【0112】
本実施形態に係る動画圧縮装置100及び動画伸長装置200は、専用のコンピュータシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって動画圧縮装置100及び動画伸長装置200を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【0113】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。