(57)【要約】      （修正有）【課題】バッファの容量が小さくても出力画像の乱れを少なくする復号装置、及び映像伝送システムを提供するを。【解決手段】復号装置の伸長部２５０は、受信した映像を格納する受信メモリと、参照画像を格納するフレームバッファ２５３と、フレームバッファに格納されている参照画像に基づいて映像を復号する復号部２５１と、復号部が復号した復号画像を参照画像としてフレームバッファに格納する参照画像格納部２５２と、受信メモリがアンダーフローした場合には、フレームバッファに格納されている参照画像を出力画像として選択し、受信メモリがアンダーフローしていない場合には、復号画像を出力画像として選択する出力画像選択部２５５と、を備える。【選択図】図３
2017055275.tif 000002
【特許請求の範囲】
【請求項１】
受信した映像を格納する受信メモリと、
参照画像を格納するフレームバッファと、
前記参照画像に基づいて前記映像を復号し、複合画像を生成する復号部と、
復号画像を前記参照画像として前記フレームバッファに格納する参照画像格納部と、
前記受信メモリがアンダーフローした場合には、前記フレームバッファに格納されている前記参照画像を、前記受信メモリがアンダーフローしていない場合には、前記復号画像を、選択する出力画像選択部と、を備える、
復号装置。
【請求項２】
前記フレームバッファに格納される前記参照画像は、前記復号画像を圧縮した圧縮参照画像であり、
前記圧縮参照画像を伸長した前記参照画像を、前記復号部および前記出力画像選択部に出力する参照画像伸長部、を備える、
請求項１に記載の復号装置。
【請求項３】
前記参照画像格納部は、ブロック毎に圧縮した前記復号画像を前記フレームバッファに格納し、
前記出力画像選択部は、前記復号部の復号がフレームの途中で中断した場合には、復号が中断したフレームの復号完了部分と、前記フレームバッファに格納されている前フレームの前記ブロックのうち、復号未完了部分に対応する前記ブロックと、で構成される合成画像を出力する、
請求項１に記載の復号装置。
【請求項４】
映像信号を圧縮して送信する符号化装置と、前記符号化装置から受信した前記映像信号を伸長する復号装置と、を備える映像伝送システムであって、
前記復号装置は、
前記映像信号を格納する受信メモリと、
第１の参照画像を格納する第１のフレームバッファと、
前記第１の参照画像に基づいて前記映像信号を復号し、復号画像を生成する復号部と、
前記復号画像を前記第１の参照画像として前記第１のフレームバッファに格納する第１の参照画像格納部と、
前記受信メモリがアンダーフローした場合には、前記第１のフレームバッファに格納されている前記第１の参照画像を、前記受信メモリがアンダーフローしていない場合には、前記復号画像を選択する出力画像選択部と、を備える、
映像伝送システム。
【請求項５】
前記符号化装置は、
第２の参照画像を格納する第２のフレームバッファと、
前記第２のフレームバッファに格納されている前記第２の参照画像に基づいて前記映像信号を符号化した画像を生成する符号化部と、
前記符号化した画像を復号することによりローカルデコード画像を生成し、前記第２の参照画像として前記第２のフレームバッファに格納する第２の参照画像格納部と、を備え、
前記第１のフレームバッファに格納される前記第１の参照画像は、前記復号画像を圧縮して生成される圧縮参照画像であり、
前記第１の参照画像格納部は、前記第２の参照画像格納部と同じ方法で圧縮した前記圧縮参照画像を前記第１のフレームバッファに格納する、
請求項４に記載の映像伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施態様は、復号装置、及び映像伝送システムに関する。
【背景技術】
【０００２】
映像は圧縮して伝送される。そのため、受信装置は受信データを復号する復号部を備える。一般的に、受信装置は、復号部の前段、後段、若しくは内部に、受信データ、復号画像、若しくは参照画像を保持するバッファを備える。映像データが受信できなくなった場合に備え、復号部は大容量のバッファを備えていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０１９２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モバイル端末は低消費電力であることが重要である。しかし、大容量のバッファは消費電力が大きいため、装置の消費電力は大きくなる。さらに、大容量のバッファは製品コストも高くする。低消費電力および低コストを実現するためには、バッファの小容量化が必要である。
また、ゲーム端末では低遅延であることが重要である。しかし、大容量のバッファを必要とする装置の場合、映像データをバッファに一定量ためてから映像の復号或いは出力を開始するため、映像出力の遅延は大きい。映像伝送において遅延を少なくするためには、やはりバッファの小容量化が必要である。
しかし、バッファを小容量とした場合、映像の伝送路が不安定となった場合に、出力画像が乱れやすい。
【０００５】
本発明が解決しようとする課題は、バッファの容量が小さくても出力画像の乱れを少なくすることである。
【課題を解決するための手段】
【０００６】
実施形態の復号装置は、受信した映像を格納する受信メモリと、参照画像を格納するフレームバッファと、前記参照画像に基づいて前記映像を復号し、複合画像を生成する復号部と、復号画像を前記参照画像として前記フレームバッファに格納する参照画像格納部と、前記受信メモリがアンダーフローした場合には、前記フレームバッファに格納されている前記参照画像を、前記受信メモリがアンダーフローしていない場合には、前記復号画像を、選択する出力画像選択部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】実施形態の映像伝送システムのブロック図である。
【図２】符号化装置が備える圧縮部のブロック図である。
【図３】復号装置が備える伸長部のブロック図である。
【図４】映像圧縮処理のフローチャートである。
【図５】圧縮部の動作を説明するための図である。
【図６】映像伸長処理のフローチャートである。
【図７】参照画像格納部によって分割された復号画像を示す図である。
【図８】受信メモリがアンダーフローしていないときのフレームバッファの読み書き例である。
【図９】受信メモリがアンダーフローしていないときのフレームバッファの読み書き例である。
【図１０】参照画像格納部及び参照画像伸長部の状態遷移図である。
【図１１】アンダーフロー発生後のフレームバッファの状態を示した図である。
【図１２】出力画像の一例を示した図である。
【図１３】実施形態２の参照画像伸長部のブロック図である。
【図１４】実施形態３の伸長部のブロック図である。
【図１５】実施形態４の伸長部のブロック図である。
【発明を実施するための形態】
【０００８】
以下、発明を実施するための形態について図面を参照しながら説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【０００９】
（実施形態１）
図１は、本実施形態の映像伝送システム１のブロック図である。映像伝送システム１は、映像を圧縮する符号化装置１００と、符号化装置１００から受信した映像を伸長する復号装置２００と、を備える。符号化装置１００は、伝送路を介して復号装置２００と接続されている。伝送路は、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ケーブル等の通信ケーブルであってもよいし、ＬＡＮ（Local Area Network）やインターネット等のネットワークであってもよい。また、伝送路は、無線ＬＡＮ等の無線であってもよい。符号化装置１００は、伝送路を介して、映像ストリームを復号装置２００に送信する。
【００１０】
最初に符号化装置１００の構成を説明する。符号化装置１００は、制御部１１０と、入力部１２０と、送信部１３０と、圧縮部１４０と、を備える。
制御部１１０は、符号化装置１００の各部を制御するプロセッサ等の処理装置である。
【００１１】
入力部１２０は、外部の装置（例えばカメラ）から映像信号を取得する入力インタフェースである。映像信号は、例えば放送データや映像カメラの出力信号等、途切れなく流れ来るストリームデータである。入力部１２０は、映像信号をＡ／Ｄ変換して映像データを生成し、圧縮部１４０に送信する。映像データは、圧縮されていない複数のフレーム（以下、「入力フレーム」という。）から構成される。
【００１２】
圧縮部１４０は、映像データを圧縮する処理装置である。圧縮部１４０は、入力フレームを圧縮して送信部１３０に送信する。
【００１３】
送信部１３０は、復号装置２００にデータを送信するための出力インタフェースである。送信部１３０は、圧縮された映像データ（例えば、予測誤差データ、動きベクトル、及び圧縮フレーム）を多重化する。送信部１３０は、外乱等の要因で復号装置２００へのデータ送信が停止したことを圧縮部１４０へ通知する。
【００１４】
図２は、圧縮部１４０のブロック図である。圧縮部１４０は、符号化部１４１と、ローカルデコード部１４２と、参照画像格納部１４３（第２の参照画像格納部）と、フレームバッファ１４４（第２のフレームバッファ）と、参照画像伸長部１４５（第２の参照画像伸長部）と、を備える。
【００１５】
符号化部１４１は、フレーム内予測及びフレーム間予測に基づき（例えばＭＰＥＧ（Moving Picture Experts Group）方式に基づき）入力フレームを圧縮する。
ローカルデコード部１４２は、符号化部１４１の出力に基づいて、ローカルデコード画像を生成する。ローカルデコード画像は、復号側で生成される復号画像を符号側で模擬的に再現したものである。
【００１６】
参照画像格納部１４３は、ローカルデコード画像を圧縮してフレームバッファ１４４に格納する。圧縮方法は既知の様々な方法を使用可能である。これにより、フレームバッファ１４４の記憶容量の削減が可能になる。
【００１７】
フレームバッファ１４４は、ＳＲＡＭ（Static Random Access Memory）等のデータ読み書き可能な記憶装置から構成される。フレームバッファ１４４は、圧縮されたローカルデコード画像（以下、圧縮参照画像という。）を格納する。なお、フレームバッファ１４４は、圧縮部１４０の外部にあってもよい。
参照画像伸長部１４５は、圧縮参照画像を伸長し、符号化部１４１に送信する。伸長された画像がフレーム間予測で使用される参照画像（第２の参照画像）となる。
【００１８】
次に、図１に示す復号装置２００の構成を説明する。復号装置２００は、制御部２１０と、受信部２２０と、受信メモリ２３０と、出力部２４０と、伸長部２５０と、を備える。
【００１９】
制御部２１０は、プロセッサ等の処理装置から構成され、復号装置２００の各部を制御する。
受信部２２０は、符号化装置１００から圧縮された映像データ（以下、受信フレームという。）を受信するための通信インタフェースである。
【００２０】
受信メモリ２３０は、ＳＲＡＭ等のデータ読み書き可能な記憶装置から構成される。受信メモリ２３０は、受信フレームを格納する。なお、受信メモリ２３０には圧縮された映像データを格納するため、大容量のバッファを用いる必要はない。
【００２１】
伸長部２５０は、圧縮された映像データを伸長する処理装置である。圧縮部１４０は、受信フレームを圧縮して送信部１３０に送信する。
【００２２】
出力部２４０は、出力装置（例えば、液晶ディスプレイ）に映像情報を出力するための出力インタフェースである。出力部２４０は、伸長部２５０で復号された復号画像を出力画像として出力装置に出力する。
【００２３】
図３は、伸長部２５０のブロック図である。伸長部２５０は、復号部２５１と、参照画像格納部２５２（第１の参照画像格納部）と、フレームバッファ２５３（第１のフレームバッファ）と、参照画像伸長部２５４（第１の参照画像伸長部）と、出力画像選択部２５５と、を備える。
【００２４】
復号部２５１は、受信メモリ２３０に格納されている受信フレームを復号した複合画像を、参照画像格納部２５２及び出力画像選択部２５５に出力する。復号部２５１は、符号化部１４１が使用した圧縮方法に対応する伸長方法を使用して受信フレームを伸長する。
【００２５】
参照画像格納部２５２は、復号画像を圧縮してフレームバッファ２５３に格納する。参照画像格納部２５２は、参照画像格納部１４３が使用した圧縮方法と同じ圧縮方法を使用して復号画像を圧縮する。これにより、参照画像格納部１４３及び参照画像格納部２５２が使用する圧縮が非可逆圧縮であっても、復号装置２００と符号化装置１００の、参照画像を一致させることができる。なお、以下の説明では、参照画像格納部２５２が圧縮した復号画像を、圧縮されたローカルデコード画像と同様に、圧縮参照画像という。
【００２６】
フレームバッファ２５３は、ＳＲＡＭ等のデータ読み書き可能な記憶装置から構成され、圧縮参照画像を格納する。フレームバッファ２５３はリングバッファであり、フレームバッファ２５３が一巡したら、フレームバッファ２５３の先頭から圧縮参照画像を上書きする。フレームバッファ２５３の容量は、２フレーム分の圧縮参照画像が格納可能な容量より小さな容量である。一例として、フレームバッファ２５３の容量は、５００ＫＢｙｔｅである。このフレーム容量は、映像の解像度等にあわせ、適宜変更可能である。フレームバッファ２５３は、圧縮部１４０の外部にあってもよい。
【００２７】
参照画像伸長部２５４は、圧縮参照画像を伸長する。参照画像伸長部２５４は、参照画像格納部２５２が使用した圧縮方法に対応した伸長方法で画像を伸長する。伸長された画像が参照画像（第１の参照画像）となる。参照画像伸長部１４５は、伸長した参照画像を復号部２５１及び出力画像選択部２５５に出力する。
【００２８】
出力画像選択部２５５は、参照画像および復号画像のいずれかを選択する。受信メモリ２３０がアンダーフローしていない時は、出力画像選択部２５５は、復号画像を選択する。受信メモリ２３０がアンダーフローしている時は、出力画像選択部２５５は、参照画像を選択する。アンダーフローは、例えば、受信メモリ２３０に、次に復号すべき受信フレーム（若しくはブロック）がなくなった状態、或いは、受信フレーム（若しくはブロック）が一定量以下となった状態のことをいう。出力画像選択部２５５は、選択した参照画像および復号画像に基づいて出力画像を生成する。１フレーム分の出力画像の生成が完了したら、出力部２４０に出力画像を送信する。
【００２９】
次に、映像伝送システム１の動作について説明する。映像伝送システム１の動作は、符号化装置１００で実行される「映像圧縮処理」と、復号装置２００で実行される「映像伸長処理」と、に分けられる。
【００３０】
映像圧縮処理について説明する。図４は、映像圧縮処理のフローチャートである。
圧縮部１４０は、送信部１３０が送信を停止したか判別する（Ｓ１０１）。送信が停止していない場合（Ｓ１０１：Ｎｏ）、圧縮部１４０はＳ１０５に進む。送信が停止している場合（Ｓ１０１：Ｙｅｓ）、圧縮部１４０は、符号化部１４１の動作を停止する（Ｓ１０２）。
【００３１】
次に、圧縮部１４０は、送信部１３０が送信を再開したか判別する（Ｓ１０３）。送信が再開していない場合（Ｓ１０３：Ｎｏ）、圧縮部１４０は送信が再開するまでＳ１０３を繰り返す。送信が再開している場合（Ｓ１０３：Ｙｅｓ）、圧縮部１４０は符号化部１４１の動作を再開させる（Ｓ１０４）。
【００３２】
送信が再開したら、符号化部１４１は、入力フレームを圧縮する（Ｓ１０５）。本実施形態の場合、符号化部１４１は、Ｐフレーム及びＩフレームを生成する。Ｐフレーム(Predicted Frame)は、前方向予測により符号化されるフレームであり、Ｉフレーム(Intra-coded Frame)は、フレーム間予測を使用しないで符号化されるフレームである。Ｉフレームは、一定間隔（例えば、数秒間隔）でＰフレームの間に挿入されてもよいし、映像の送信開始後、最初の一回のみ送信されてもよい。
【００３３】
Ｐフレームを生成する場合、符号化部１４１は、１つ前の入力フレームを参照画像とする。図５は、Ｐフレームの参照画像を説明するための図である。フレームＦ１を符号化するのであれば、圧縮部１４０は、（ａ）に示すように、フレームＦ０を参照画像とする。
【００３４】
なお、送信部１３０が映像データの送信を再開した場合、符号化部１４１は、送信が停止された時のフレームの続きからではなく、現在の入力フレームから符号化を再開する。例えば、映像データの伝送が、図５に示すフレームＦ３からフレームＦ５の期間、停止されたのであれば、符号化部１４１は、Ｆ３からではなく、フレームＦ６から符号化を再開する。このとき、符号化部１４１は、一つ前の入力フレームではなく、再開前に最後に圧縮したフレームを参照画像とする。図５の例であれば、符号化部１４１は、フレームＦ６を符号化する際、フレームＦ５でなく、フレームＦ２を参照画像とする。これにより、復号装置２００は、映像データの伝送が一時停止したとしても、Ｉフレームの受信を待つことなく、即座に復号を再開できる。
【００３５】
続いて、ローカルデコード部１４２は、符号化部１４１が符号化した画像を復号してローカルデコード画像を生成する（Ｓ１０６）。ローカルデコード部１４２は、復号装置２００の復号部２５１と同じ復号方法で画像を復号する。これにより、符号化装置１００の参照画像と復号装置２００の参照画像とを完全に同一のものとなる。従って、復号の継続により誤差が蓄積することがない。
【００３６】
続いて、参照画像格納部１４３は、ローカルデコード画像を圧縮して圧縮参照画像を生成する（Ｓ１０７）。参照画像格納部１４３は、圧縮参照画像をフレームバッファ１４４に格納する。格納が完了したら、圧縮部１４０はＳ１０１に戻る。圧縮部１４０は、制御部１１０から映像圧縮処理の停止が命令されるまで、Ｓ１０１〜Ｓ１０７を繰り返す。
【００３７】
次に映像伸長処理について説明する。図６は、映像伸長処理のフローチャートである。
伸長部２５０は、受信メモリ２３０がアンダーフローしたか判別する（Ｓ２０１）。アンダーフローの判別方法は特定の方法に限定されない。例えば、伸長部２５０は、受信メモリ２３０から次に復号すべきデータが送信されて来ない場合、或いは受信メモリ２３０に格納されているデータの量が一定量以下となった場合にアンダーフロー発生と判別してもよい。受信メモリ２３０がアンダーフローしている場合（Ｓ２０１：Ｙｅｓ）、伸長部２５０は、復号部２５１の動作を停止してＳ２０４に進む。アンダーフローしていない場合（Ｓ２０１：Ｎｏ）、伸長部２５０はＳ２０２に進む。
【００３８】
復号部２５１は、受信フレームを復号し、復号画像を生成する（Ｓ２０２）。なお、フレーム間予測を用いる場合、復号部２５１は、一つ前の受信フレームを参照画像とする。映像データの伝送が一時停止したのであれば、復号部２５１は、映像データの伝送再開前、最後に受信したフレームを参照画像とする。復号部２５１は、復号画像を出力画像選択部２５５及び参照画像格納部２５２に送信する。
【００３９】
参照画像格納部２５２は、復号画像を圧縮して圧縮参照画像を生成する（Ｓ２０３）。本実施形態では、復号画像を複数のブロックに分割し、ブロック単位で復号画像を圧縮する。図７は、分割された復号画像Ｆｎの一例を示す図である。以下の説明では、復号画像は水平方向に４等分されているとする。分割されたブロックは、処理ブロックＢ０〜Ｂ３とする。処理ブロックは、符号化部１４１が符号化の単位としたブロックとは異なっていてもよい。参照画像格納部２５２は、圧縮した処理ブロック（以下、圧縮ブロックという。）をフレームバッファ２５３に格納する。
【００４０】
参照画像伸長部２５４は、フレームバッファ２５３から圧縮ブロックを読み出す。その後、参照画像伸長部２５４は、圧縮ブロックを伸長し、参照画像として復号部２５１及び出力画像選択部２５５に出力する（Ｓ２０４）。
【００４１】
出力画像選択部２５５は、復号画像、或いは、参照画像に基づき出力画像を生成する（Ｓ２０５）。例えば、出力画像選択部２５５は、アンダーフローが発生していない時は復号画像に基づき出力画像を生成し、アンダーフロー発生時は、参照画像に基づき出力画像を生成する。
【００４２】
以下、Ｓ２０３〜Ｓ２０５の動作について具体的に述べる。図８は、フレームバッファ２５３の読み書き例である。図中、ＷＰはライトポインタを示しており、ＲＰはリードポインタを示している。また、ＦｎＢｉ（ｎ、ｉは整数）は、フレームＦｎの圧縮ブロックＢｉ（以下、圧縮ブロックＦｎＢｉ）を示している。圧縮部１４０の動作開始前、ライトポインタＷＰ及びリードポインタＲＰは、いずれも０で初期化されている。
【００４３】
参照画像格納部２５２は、ライトポインタＷＰの位置から順次、圧縮ブロックをフレームバッファ２５３にライトする。図８のＳ０は、圧縮ブロックＦ０Ｂ０をライトしている状態を示している。Ｓ１は、圧縮ブロックＦ０Ｂ１をライトしている状態を示している。同様に、Ｓ２、Ｓ３は、圧縮ブロックＦ０Ｂ２、Ｆ０Ｂ３をライトしている状態を示している。
【００４４】
なお、圧縮ブロックのサイズは一定でなくてもよい。画質を重視し、圧縮ブロックのサイズにある程度の変動幅を持たせてもよい。この場合、参照画像格納部２５２は、各圧縮ブロックのライトが終了する度に、そのブロックのライト開始位置及びサイズを不図示のＲＡＭに記憶する。ＲＡＭは、フリップフロップであってもよいし、ＳＲＡＭであってもよい。また、参照画像格納部２５２は、フレームバッファ２５３にライト開始位置及びサイズを記録してもよい。図８の例では、圧縮ブロックＢｉのライト開始位置はＢＰ［ｉ］で示されている。
【００４５】
参照画像伸長部２５４は、リードポインタＲＰの位置から、順次、圧縮ブロックをリードする。図８のＳ３は、フレームＦ０のブロックＢ０をリードしている状態を示している。
【００４６】
図９は、フレームＦ０に続き、フレームＦ１の圧縮ブロックがフレームバッファ２５３にライトされる様子を示している。フレームバッファ２５３は、１フレーム＋１ブロック分の圧縮ブロックが格納可能な容量である。フレームバッファ２５３は、常に１フレーム分の圧縮ブロックを維持できるものとする。
【００４７】
図１０は、参照画像格納部２５２及び参照画像伸長部２５４の状態遷移図である。受信メモリ２３０がアンダーフローしていない間、参照画像格納部２５２及び参照画像伸長部２５４はＳ０〜Ｓ３で遷移する。一方、受信メモリ２３０がアンダーフローしている場合、参照画像格納部２５２及び参照画像伸長部２５４は状態Ｓから状態Ｅに遷移し、Ｅ０〜Ｅ３を繰り返す。なお、図１０は、Ｓ２のときにアンダーフローが発生し、Ｅ２に遷移している状態を示している。
【００４８】
状態Ｓのとき、参照画像伸長部２５４は、リードポインタＲＰがライトポインタＷＰを追い越さないように、フレームバッファ２５３から圧縮ブロックをリードする。そして、参照画像伸長部２５４は、リードした圧縮ブロックを伸長して復号部２５１に出力する。復号部２５１は、参照画像伸長部２５４から取得したブロックを参照画像として復号画像を生成する。出力画像選択部２５５は、復号画像を出力画像として出力部２４０に出力する。
【００４９】
伝送帯域の変動などにより、データの送受信がしばらくできなくなることがある。この状態で、復号部２５１が受信フレームの復号を続けると、受信メモリ２３０はアンダーフローする。受信メモリ２３０がアンダーフローした場合、伸長部２５０は、復号部２５１及び参照画像格納部２５２の動作を停止させるとともに、参照画像伸長部２５４及び出力画像選択部２５５の動作を変更する。
【００５０】
図１１は、アンダーフロー発生後のフレームバッファ２５３を示している。図１１では、Ｓ２でアンダーフローが発生し、ライトポインタＷＰはフレームＦ１の圧縮ブロックＢ２の途中で停止している。参照画像伸長部２５４は、アンダーフロー発生後も、動作を停止することなく圧縮ブロックの伸長を継続する。フレームバッファ２５３は、Ｅ３、Ｅ０、Ｅ１，Ｅ２、Ｅ３、・・・・と遷移する。
【００５１】
状態Ｅに遷移するとアンダーフローが解消するまで、参照画像伸長部２５４は、１フレーム分のブロックを繰り返しリードする。すなわち、リードポインタＲＰがライトポインタＷＰの停止しているブロックの先頭に達したら、参照画像伸長部２５４は、そのブロックを飛ばして、次のブロックをリードする。図１１の例であれば、参照画像伸長部２５４は、圧縮ブロックＦ１Ｂ１のリード完了後（状態Ｅ０）、圧縮ブロックＦ１Ｂ２を飛ばして、圧縮ブロックＦ０Ｂ２をリードする（状態Ｅ１）。
【００５２】
出力画像選択部２５５は、参照画像伸長部２５４からの参照画像を選択する。出力画像選択部２５５は、選択した参照画像に基づき合成画像を生成する。合成画像は、復号が中断されたフレームの復号完了部分と、フレームバッファ２５３に格納されている前フレームのブロックうち、復号未完了部分に対応するブロックと、を合成したものである。図１２は、図１１のＥ０〜Ｅ３の動作により生成される合成画像である。図１２の合成画像Ｆｏｕｔは、復号が中断されたフレームＦ１のブロックＢ０及びＢ１と、その前フレームＦ０のブロックＢ２及びＢ３からなる。
【００５３】
圧縮ブロックのリードは、リードポインタＲＰが再びアンダーフロー発生時と同じ位置に来るまで継続される。リードポインタＲＰがアンダーフロー発生位置に来たときに、アンダーフローが解消していれば、伸長部２５０は、復号部２５１及び参照画像格納部２５２の動作を再開させる。そして、伸長部２５０は、Ｅ２からＳ２に状態遷移する。アンダーフローが解消していなければ、伸長部２５０は、Ｅ３〜Ｅ２の動作を継続する。
【００５４】
本実施形態の復号装置２００は、復号部２５１の後段に出力画像選択部２５５を備える。そして、受信メモリ２３０がアンダーフローしている間は、出力画像選択部２５５は、復号部２５１から出力される復号画像ではなく、参照画像伸長部２５４から出力される参照画像を出力画像として選択する。そのため、復号部２５１の前段あるいは後段のバッファの容量が小さくても、出力画像はあまり乱れない。復号装置２００はバッファの容量を小さくできるため、低消費電力、低遅延、及び低コストを実現できる。
【００５５】
また、復号装置２００は、参照画像を圧縮してフレームバッファ２５３に格納するよう構成されている。そのため、フレームバッファ２５３の容量を５００ＫＢｙｔｅ程度としても、十分にフルＨＤ１フレーム＋１ブロック分のデータを格納できる。容量を小さくできるので、フレームバッファ２５３をＤＲＡＭではなく、ＳＲＡＭとすることができる。したがって、復号装置２００はＤＲＡＭモジュールなしで動作し低消費電力・低コストを実現することができる。
【００５６】
また、参照画像格納部２５２は、復号画像を水平方向に分割している。この結果、アンダーフロー発生時に出力画像選択部２５５から出力される画像は、上下で異なるフレームとなる場合がある。これは、あたかも、上から順に画像が更新されている途中で、映像出力が停止したとユーザに思わせる画像である。従って、復号装置２００は、映像の受信が停止したことを、ユーザに対し、違和感なく知らしめることができる。
【００５７】
（実施形態２）
Ｈ．２６４では、符号化の際、前ブロックの伸長結果を使用することにより、符号化効率を向上させている。本実施形態においても、参照画像格納部２５２がブロックを圧縮する際、前ブロックの伸長結果を使用すれば、符号化効率が向上する。しかし、実施形態１の復号装置２００は、アンダーフロー発生時に状態遷移が図１１に示す遷移となるよう参照画像格納部２５２及び参照画像伸長部２５４を制御している。そのため、参照画像格納部２５２が前ブロックを符号化に使用すると、場合によっては、参照画像伸長部２５４が圧縮ブロックを伸長できないことになる。
【００５８】
例えば、参照画像伸長部２５４が、図１１に示す順（Ｅ２、Ｅ３、Ｅ０、Ｅ１）に圧縮ブロックの伸長を行ったとする。参照画像伸長部２５４は、圧縮ブロックＦ０Ｂ２を伸長する時に（すなわちＥ１の時に）圧縮ブロックＦ０Ｂ１を参照しなければならない。しかし、Ｅ１の時、フレームバッファ２５３の中には圧縮ブロックＦ０Ｂ１は存在しない。そのため、図１１の例では、参照画像伸長部２５４は、圧縮ブロックＦ０Ｂ２を伸長できない。実施形態２では、アンダーフロー発生時も参照画像伸長部２５４が圧縮ブロックを伸長できるようにする。
【００５９】
以下、実施形態２の映像伝送システム１について説明する。なお、参照画像伸長部２５４以外の構成は同じであるので説明を省略する。図１３は参照画像伸長部２５４のブロック図である。参照画像伸長部２５４は、画像伸長部２５４ａと、コンテキスト保存部２５４ｂと、コンテキスト保持メモリ２５４ｃを備える。
【００６０】
画像伸長部２５４ａは、フレームバッファ２５３にある圧縮ブロックを伸長する。コンテキスト保存部２５４ｂは、画像伸長部２５４ａが伸長したブロックをコンテキスト保持メモリ２５４ｃに保存する。コンテキスト保持メモリ２５４ｃは、コンテキスト保存部２５４ｂから送信されたブロックを保存する。コンテキスト保存部２５４ｂはＳＲＡＭ等のデータ読み書き可能な記憶装置から構成される。コンテキスト保存部２５４ｂの容量はフレームバッファ２５３の容量より小さい。例えば、コンテキスト保存部２５４ｂの容量は伸長ブロック２ブロック分の容量であってもよい。
【００６１】
次に、参照画像伸長部２５４の動作について説明する。アンダーフローが発生していない時、コンテキスト保存部２５４ｂは、画像伸長部２５４ａが伸長したブロックを、コンテキスト保持メモリ２５４ｃに保存する。アンダーフローが発生したら、コンテキスト保存部２５４ｂは、画像伸長部２５４ａの要求に応じて、コンテキスト保持メモリ２５４ｃに格納されている伸張ブロックを画像伸長部２５４ａに送信する。例えば、画像伸長部２５４ａが圧縮ブロックＦ０Ｂ２を伸長するのであれば（図１１のＥ１）、コンテキスト保存部２５４ｂは、コンテキスト保持メモリ２５４ｃから伸張ブロックＦ０Ｂ１を取り出し、画像伸長部２５４ａに送信する。そして、画像伸長部２５４ａはコンテキスト保存部２５４ｂから送信された伸張ブロックを参照して圧縮ブロックを伸長する。
【００６２】
本実施形態によれば、参照画像伸長部２５４は、内部にコンテキスト保存部２５４ｂおよびコンテキスト保持メモリ２５４ｃを備えている。そのため、参照画像伸長部２５４は、アンダーフローが発生したとしても、圧縮ブロックの伸長を継続できる。その結果、復号装置２００は、参照画像の符号化効率を維持したまま、アンダーフロー発生時も画像出力を継続できる。
【００６３】
（実施形態３）
実施形態２の復号装置２００は、コンテキスト保存部２５４ｂを追加したので、場合によっては、参照画像伸長部２５４のスループットが低下する。例えば、アンダーフローが解消し、参照画像伸長部２５４が通常の状態に戻るとき、参照画像伸長部２５４は（コンテキスト復帰処理）に時間がかかることがある。コンテキスト復帰処理とは、通常状態（アンダーフロー非発生時の状態）に戻る処理であり、例えば、コンテキスト保存部２５４ｂを停止させたり、画像伸長部２５４ａをモード遷移させたりといった処理である。コンテキスト復帰処理に時間がかかると、復号装置２００の出力画像は不自然なものになる。実施形態３では、参照画像伸長部２５４がコンテキスト復帰処理に時間がかかったとしても、復号装置２００が違和感のない画像を出力できるようにする。
【００６４】
以下、実施形態３の映像伝送システム１について説明する。なお、伸長部２５０以外の構成は実施形態１と同じであるので説明を省略する。図１４は伸長部２５０のブロック図である。伸長部２５０は、復号部２５１と、参照画像格納部２５２と、フレームバッファ２５３と、参照画像伸長部２５４と、出力画像選択部２５５と、を備える。
【００６５】
復号部２５１、参照画像格納部２５２、及びフレームバッファ２５３の構成は、実施形態１と同じである。また、参照画像伸長部２５４は図１３の構成と同じである。ただし、参照画像伸長部２５４は出力画像選択部２５５に対して復帰信号を出力できる点が異なっている。復帰信号は、出力画像選択部２５５に対してコンテキスト復帰処理が終了したことを知らせるための信号である。
【００６６】
出力画像選択部２５５は実施形態１の出力画像選択部２５５と同様の構成である。ただし、実施形態３の出力画像選択部２５５は、アンダーフローが解消し、かつ、参照画像伸長部２５４から復帰信号を受信したときに、出力画像を参照画像から復号画像に切り替える。復帰信号を受信するまでは、アンダーフローが解消したとしても、出力画像選択部２５５は、参照画像伸長部２５４から出力される参照画像を出力画像として選択する。
【００６７】
なお、コンテキスト復帰処理実行中、すなわち、アンダーフローが解消してから出力画像選択部２５５が復帰信号を受信するまでの間、出力画像選択部２５５から出力される画像は必ずしも参照画像でなくてもよい。例えば、復号部２５１が内部に参照画像バッファを保持しているのであれば、出力画像選択部２５５は参照画像バッファに格納されている画像を出力画像としてもよい。
【００６８】
本実施形態によれば、コンテキスト復帰処理に時間がかかったとしても、復号装置２００がユーザに対し違和感のない画像を出力できる。
【００６９】
（実施形態４）
コンテキスト保存部２５４ｂが保存すべきデータのほとんどは画素情報である。画素情報以外のデータ（例えば、制御データ）は画素情報に比べれば僅かである。復号部２５１が内部に参照画像バッファを保持している場合、画素情報は参照画像バッファに残っている。これを利用すれば、コンテキスト保持メモリ２５４ｃの容量を少なくできる。実施形態４では、参照画像バッファにあるデータを利用することで、コンテキスト保持メモリ２５４ｃの容量を少なくする。
【００７０】
以下、実施形態４の映像伝送システム１について説明する。なお、伸長部２５０以外の構成は実施形態１と同じであるので説明を省略する。図１５は伸長部２５０のブロック図である。伸長部２５０は、復号部２５１と、参照画像格納部２５２と、フレームバッファ２５３と、参照画像伸長部２５４と、出力画像選択部２５５と、を備える。
【００７１】
実施形態４の復号部２５１は内部に参照画像バッファ２５１ａを備えている。参照画像伸長部２５４で伸長されたブロックは一端、参照画像バッファ２５１ａに格納される。
【００７２】
参照画像伸長部２５４の構成は、実施形態３と同じであるが、コンテキスト保存部２５４ｂはコンテキスト保持メモリ２５４ｃのみならず参照画像バッファ２５１ａからもデータを取得できる。その他の構成は実施形態３の伸長部２５０と同じである。
【００７３】
参照画像伸長部２５４の動作を説明する。アンダーフローが発生したら、コンテキスト保存部２５４ｂは、画像伸長部２５４ａの要求に応じて、参照画像バッファ２５１ａに格納されている画素情報を画像伸長部２５４ａに送信する。また、コンテキスト保存部２５４ｂは、コンテキスト保持メモリ２５４ｃに格納されている、画素情報以外のデータを画像伸長部２５４ａに送信する。そして、画像伸長部２５４ａはコンテキスト保存部２５４ｂから送信されたデータを使用して圧縮ブロックを伸長する。
【００７４】
本実施形態によれば、コンテキスト保存部２５４ｂが復号部２５１の参照画像バッファ２５１ａから画素情報を取得できるよう構成されているので、コンテキスト保持メモリ２５４ｃの容量を少なくできる。
【００７５】
なお、実施形態４の構成を採用した場合、コンテキスト復帰処理時、コンテキスト保存部２５４ｂのコンテキスト復帰処理のための読み込みと、復号部２５１の復号画像出力のための読み込みとが、参照画像バッファ２５１ａに対して同時に発生することがある。同時読み込みが発生したら、参照画像伸長部２５４のスループットは低下する。しかし、参照画像バッファ２５１ａが複数のバンクのＳＲＡＭから構成されているのであれば、コンテキスト保存部２５４ｂは、復号画像出力のための読み込みが発生しないバンクについて、コンテキスト復帰のための読み込みを行えばよい。これにより、ＳＲＡＭ読み込みの競合を避けることができるので、復号部２５１及び参照画像伸長部２５４のスループットを向上させることができる。
【００７６】
なお、本実施形態は一例であり、種々の変更及び応用が可能である。例えば、伸長部２５０は、復号部２５１、参照画像格納部２５２、参照画像伸長部２５４、出力画像選択部２５５がパイプライン動作するよう構成されていてもよい。この場合、参照画像格納部２５２は、アンダーフロー発生時に、パイプラインディレイを考慮して、リードする圧縮ブロックを選択する。
【００７７】
また、本実施形態では、フレームバッファ２５３の容量を１フレーム＋１ブロック分としたが、フレームバッファ２５３の容量は１フレーム＋１ブロック分より大きくてもよい。リードポインタＲＰ開始位置から１フレーム分の出力を繰り返し行う。すなわち、１フレーム分のリードが終わったら、途中のブロックは飛ばして、開始位置から繰り返す。
【００７８】
また、本実施形態では、参照画像格納部２５２は、復号画像を４つの処理ブロックに分割したが、分割数は４つに限定されない。分割数は４つより小さくてもよいし、大きくてもよい。なお、本実施形態の復号装置２００を実現するためには、フレームバッファ２５３の容量を少なくとも１フレーム＋１ブロック分用意する必要がある。分割数を大きくすることで、＋１ブロック分の容量が小さくなるので、フレームバッファ２５３の容量を小さくできる。
【００７９】
また、本実施形態では、出力画像選択部２５５は、フレームバッファ２５３に格納されている前フレームのブロックを、参照画像伸長部２５４を介して取得する。しかし、アンダーフロー発生時に、参照画像伸長結果の一部は復号部２５１の内部バッファに保持されている。例えば、動き探索の探索範囲内の画素を保持する復号部２５１の内部バッファに保持されている。そこで、出力画像選択部２５５は、この内部バッファからブロックを取得するようにしてもよい。この場合、フレームバッファ２５３と復号部２５１の内部バッファの容量が合わせて１フレーム＋１ブロック分あればよい。したがって、フレームバッファ２５３の容量を小さくすることができる。
【００８０】
また、本実施形態では、参照画像格納部２５２は、処理ブロックをフレームバッファ２５３に圧縮して格納した。しかし、参照画像格納部２５２は、必ずしも、処理ブロックをフレームバッファ２５３に圧縮して格納しなくてもよい。この場合、復号部２５１、及び出力画像選択部２５５は直接、フレームバッファ２５３から処理ブロックを取得する。
【００８１】
なお、復号装置２００は、テレビ、プレーヤー、レコーダ、パーソナルコンピュータ、固定電話機、携帯電話機、スマートフォン、タブレット端末、ＰＤＡ（Personal Digital Assistant）、ゲーム機等の完成品であってもよい。また、復号装置２００は、半導体チップ、半導体基板等の部品であってもよい。
【００８２】
本実施形態に係る符号化装置１００及び復号装置２００は、専用のコンピュータシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって符号化装置１００及び復号装置２００を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Operating System）とアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００８３】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８４】
１…映像伝送システム
１００…符号化装置
１１０、２１０…制御部
１２０…入力部
１３０…送信部
１４０…圧縮部
１４１…符号化部
１４２…ローカルデコード部
１４３、２５２…参照画像格納部
１４４、２５３…フレームバッファ
１４５、２５４…参照画像伸長部
２００…復号装置
２２０…受信部
２３０…受信メモリ
２４０…出力部
２５０…伸長部
２５１…復号部
２５１ａ…参照画像バッファ
２５４ａ…画像伸長部
２５４ｂ…コンテキスト保存部
２５４ｃ…コンテキスト保持メモリ
２５５…出力画像選択部
【図１】
2017055275.tif 000003
【図２】
2017055275.tif 000004
【図３】
2017055275.tif 000005
【図４】
2017055275.tif 000006
【図５】
2017055275.tif 000007
【図６】
2017055275.tif 000008
【図７】
2017055275.tif 000009
【図８】
2017055275.tif 000010
【図９】
2017055275.tif 000011
【図１０】
2017055275.tif 000012
【図１１】
2017055275.tif 000013
【図１２】
2017055275.tif 000014
【図１３】
2017055275.tif 000015
【図１４】
2017055275.tif 000016
【図１５】
2017055275.tif 000017