(57)【要約】【課題】ストリームデータ入力される映像をスロー再生する場合であっても、不自然な挙動が少ない画像出力装置等を提供する。【解決手段】フレーム補間装置は、ストリームデータ入力された映像情報がブロック毎にライトされるバッファと、スロー再生によってバッファがオーバーフロー状態になったか否かを判別する判別部と、バッファがオーバーフロー状態となった場合に、バッファがオーバーフロー状態でない時とは異なるバファリング方法で、バッファへの映像情報のライトを継続するバファリング制御部と、を備える。【選択図】図１
2016059015.tif 000002
【特許請求の範囲】
【請求項１】
ストリームデータ入力された映像情報がブロック毎にライトされるバッファと、
スロー再生によって前記バッファがオーバーフロー状態になったか否かを判別する判別部と、
前記バッファがオーバーフロー状態となった場合に、前記バッファがオーバーフロー状態でない時とは異なるバファリング方法で、前記バッファへの前記映像情報のライトを継続するバファリング制御部と、を備える、
画像出力装置。
【請求項２】
前記バファから前記映像情報を前記ブロック毎にリードして前記バッファを前記ブロック毎に開放するリード部と、
前記映像情報に含まれるフレームの情報に基づいてフレーム間に挿入する補間フレームを生成するフレーム補間部と、を備え、
前記バファリング制御部は、前記バッファがオーバーフロー状態となった場合に、未開放の前記ブロックの中から選択される一部のブロックに、新たに取得した前記映像情報を上書きし、
前記フレーム補間部は、上書きされずに残された前記ブロックの情報に基づいて生成される前記補間フレームを上書きで消滅した部分のフレームとして取得する、
請求項１に記載の画像出力装置。
【請求項３】
前記バッファがオーバーフロー状態になった後、バファリングの継続によって前記バッファがアンダーフロー状態となった場合に、前記スロー再生を停止して通常再生に移行する再生制御部、を備える、
請求項１又は２に記載の画像出力装置。
【請求項４】
前記バファリング制御部は、スロー再生がリピートスロー再生である場合には、前記バッファがオーバーフロー状態となった場合に、前記バッファ中のリピートスロー再生で使用している記憶領域以外の記憶領域をリングバッファとして映像情報をライトし続ける、
請求項１に記載の画像出力装置。
【請求項５】
前記映像情報から得られるフレームを圧縮して圧縮フレームを生成する符号化部、を備え、
前記ブロックは、前記圧縮フレームであり、
前記バッファは、前記映像情報が前記圧縮フレーム毎にライトされるフレームバッファである、
請求項１乃至４のいずれか１項に記載の画像出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施態様は、画像出力装置に関する。
【背景技術】
【０００２】
ストリームデータ入力される映像を再生する装置（例えば、テレビ）がある。「ストリームデータ」とは、例えば電波で伝送される放送データ等、途切れなく流れるデータである。入力された映像情報は、一旦、装置のバッファに保存され、映像の再生状況に合わせて、適時、バッファからリードされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４２８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストリームデータ入力される映像を通常再生する場合、映像情報がバッファからリードされる速度（以下、「バッファリード速度」という。）と映像情報がバッファにライトされる速度（以下、「バッファライト速度」という。）とは均衡している。そのため、ある程度のバッファ容量を確保しておけば、多くの場合、映像の再生に問題は発生しない。
【０００５】
しかし、ストリームデータ入力される映像をスロー再生する場合、バッファリード速度はバッファライト速度より遅くなる。バッファ容量を無限に大きくすることはできないため、スロー再生を継続していると、いつかはバッファが一杯になる。この場合、新たに入力された映像情報は行き場を失い、場合によっては、装置は不自然な挙動をする。
【０００６】
本発明が解決しようとする課題は、ストリームデータ入力される映像をスロー再生する場合であっても、不自然な挙動が少ない画像出力装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を達成するために、画像出力装置は、ストリームデータ入力された映像情報がブロック毎にライトされるバッファと、スロー再生によってバッファがオーバーフロー状態になったか否かを判別する判別部と、バッファがオーバーフロー状態となった場合に、バッファがオーバーフロー状態でない時とは異なるバファリング方法で、バッファへの映像情報のライトを継続するバファリング制御部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】実施形態１の画像出力装置のブロック図である。
【図２】図１に示す画像出力装置が備えるフレームバッファの一構成例を示す図である。
【図３】図１に示す画像出力装置が備えるフレーム補間部のブロック図である。
【図４】入力フレームに基づいて補間フレームが生成される様子を示す図である。
【図５】図１に示す画像出力装置が備える制御部の機能ブロック図である。
【図６】実施形態の再生処理を示すフローチャートである。
【図７】通常再生時のフレームバッファのバファリングの様子を示す図である。
【図８】実施形態１のスロー再生処理を示すフローチャートである。
【図９】フレームバッファがオーバーフローした様子を示す図である。
【図１０】オーバーフロー発生時のフレームバッファのバファリングの様子を示す図である。
【図１１】実施形態のリピートスロー再生処理を示すフローチャートである。
【図１２】リピートスロー再生時のフレームバッファの初期化の様子を示す図である。
【図１３】リピートスロー再生時のフレームバッファのバファリングの様子を示す図である。
【図１４】リピートスロー再生時、フレームバッファが上書きされる様子を示す図である。
【図１５】オーバーフローが発生した後、フレームバッファがアンダーフローした様子を示す図である。
【図１６】実施形態２のスロー再生処理を示すフローチャートである。
【図１７】実施形態３の画像出力装置のブロック図である。
【図１８】Ｂフレームに入力フレームが上書きされる様子を示す図である。
【図１９】Ｐフレームに入力フレームが上書きされる様子を示す図である。
【図２０】実施形態４の画像出力装置のブロック図である。
【図２１】実施形態５の画像出力装置のブロック図である。
【図２２】オーバーフローが発生した様子を示す図である。
【図２３】アンダーフローが発生した様子を示す図である。
【発明を実施するための形態】
【０００９】
以下、発明を実施するための形態について図面を参照しながら説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【００１０】
（実施形態１）
画像出力装置１００は、ストリームデータ入力された映像情報を再生する装置である。画像出力装置１００は、例えば、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ケーブル等の通信ケーブルを経由して入力された映像情報をディスプレイに出力するプレーヤーである。図１は、実施形態１の画像出力装置のブロック図である。画像出力装置１００は、フレーム入力部１１０と、フレームバッファ１２０と、フレーム補間部１３０と、制御部１４０と、を備える。
【００１１】
フレーム入力部１１０は、ストリームデータ入力された映像情報を取得する入力インタフェースである。映像情報は、複数のフレームから構成されている。フレーム入力部１１０は、入力されたフレーム（以下、「入力フレーム」という。）をフレームバッファ１２０にライトする。
【００１２】
フレームバッファ１２０は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等の記憶装置から構成される。図２は、本実施形態のフレームバッファの一構成例を示す図である。フレームバッファ１２０の記憶領域は、Ｎ個のブロックに分割されている。ブロックそれぞれには、０〜Ｎ−１のアドレス番号が付されている。１つのブロックには、１つの入力フレームが格納可能である。また、フレームバッファ１２０は、リングバッファとなっている。フレーム入力部１１０は映像情報を取得すると、アドレス順に入力フレームをブロックにライトしていく。入力フレームがライトされたブロックは、フレーム補間部１３０によってリードされる。リードされたブロックは、ライト可能なブロックとして開放される。
【００１３】
なお、以下の説明では、理解を容易にするため、映像情報が記録されている最中のブロックを「ライト中ブロック」、映像情報が記録されて未開放のブロックを「記録ブロック」、映像情報をライト可能なブロックとして開放されているブロックを「開放ブロック」と呼ぶ。ブロックが、ライト中ブロックであるか、記録ブロックであるか、開放ブロックであるかは、制御部１４０によって管理される。
【００１４】
フレーム補間部１３０は、スムーズなスロー再生を実現するために、若しくは、液晶のホールドぼけを抑制するために、入力フレームの間に挿入するフレーム（以下、「補間フレーム」という。）を生成する。フレーム補間部１３０は、プロセッサ等の処理装置から構成される。図３は、フレーム補間部のブロック図である。フレーム補間部１３０は、リード部１３１と、動き検出部１３２と、動き補償部１３３と、出力部１３４と、を備える。
【００１５】
リード部１３１は、フレームバッファ１２０から入力フレームをリードする。リード部１３１は、制御部１４０の制御に従って、フレームバッファ１２０から入力フレームをリードするとともに、リードした入力フレームを動き検出部１３２に送信する。
【００１６】
動き検出部１３２は、取得した２枚の入力フレームの一方を基準フレーム、他方を参照フレームとして、動き探索を実行し動きベクトルを求める。図４は、補間フレームが生成される様子を示す図である。動き探索の方法としては、ブロックマッチング法や勾配法などが挙げられる。動き検出部１３２は、動き探索によって生成された動きベクトルを、探索対象となった２枚の入力フレームとともに動き補償部１３３に送信する。
【００１７】
動き補償部１３３は、動きベクトルに基づいて、２枚のフレームの間に挿入する補間フレームを生成する。具体的には、動き補償部１３３は、動きベクトルに基づいて、基準フレームと参照フレームの画素と生成予定の補間フレームの画素とを対応づける。そして、動き補償部１３３は、生成予定の補間フレームから画素を１つ選択し、選択した画素に対応する基準フレームと参照フレームの画素を重みづけ平均することにより、選択した画素の画素値を求める。重みづけ平均に使用する重みは、フレーム間距離の逆比（（１−ｏｆｆｓ）：ｏｆｆｓ）（ｏｆｆｓは補間オフセット値）であってもよい。また、動き補償部１３３は、重みを１：１として２つの画素値を単純平均してもよい。具体的には、補間オフセット値ｏｆｆｓは、参照フレームと基準フレームとのフレーム間距離を１としたときの参照フレームと補間フレームとのフレーム間距離であり、０から１までの少数値である。動き補償部１３３は、補間フレームの全ての画素で上記処理を繰り返し、補間フレームを生成する。なお、動き補償の方法は、上記方法に限定されず、既知の様々な方法を使用可能である。動き補償部１３３は、生成した補間フレームを入力フレームとともに出力部１３４に送信する。
【００１８】
出力部１３４は、補間フレームを入力フレーム間に挿入し、映像信号を生成する。そして、出力部１３４は、生成した映像信号を外部の装置、例えば液晶ディスプレイに出力する。
【００１９】
制御部１４０は、プロセッサ等の処理装置から構成される。制御部１４０は画像出力装置１００の各部を制御する。制御部１４０は、外部の装置から制御信号を受信可能に構成されている。制御信号は、例えば、画像出力装置１００に通常再生映像を出力させる「通常再生制御信号」、画像出力装置１００にスロー再生映像を出力させる「スロー再生制御信号」、画像出力装置１００に同じスロー再生映像を繰り返し出力させる「リピートスロー再生信号」等である。
【００２０】
制御部１４０は、制御信号を受信すると、「通常再生処理」、「スロー再生処理」、「リピート再生処理」を実行する。制御部１４０は、これらの処理を実行することで、図５に示すように、バファリング制御部１４１、判別部１４２、再生制御部１４３として機能する。なお、制御部１４０は、これらの機能を１つのプロセッサで実現してもよいし、複数のプロセッサの協働により実現してもよい。
【００２１】
次に、画像出力装置１００の各動作について説明する。
初めに、通常再生処理を説明する。制御部１４０は、外部の装置から通常再生制御信号を受け取ると、通常再生処理を開始する。「通常再生処理」は、通常速度の再生映像を液晶ディスプレイ等に出力する処理である。図６は、通常再生処理を示すフローチャートである。
【００２２】
フレームバッファ１２０は、数秒〜数分の映像情報が記録可能である。ここでは、以下の説明では理解を容易にするため、フレームバッファ１２０は、アドレス番号０〜１４の１５個のブロックから構成されているものとする。図７は、通常再生時のフレームバッファのバファリングの様子を示す図である。
【００２３】
バファリング制御部１４１は、フレームバッファ１２０のバファリング状況に基づいて初期設定を実行する（Ｓ１０１）。例えば、フレーム入力部１１０が、図７に示すように、９番のブロックに入力フレームをライト中であるとする。
【００２４】
この場合、バファリング制御部１４１は、内部変数であるライトポインタＷＰにアドレス番号“９”を格納する。そして、バファリング制御部１４１は、ライト中のブロックから遅延Ｄだけ遡った位置にあるブロック番号をリードポインタＲＰに格納する。図７の場合、バファリング制御部１４１は、リードポインタＲＰにアドレス番号“４”を格納する。さらに、バファリング制御部１４１は、ライトポインタＷＰが示すブロックを「ライト中ブロック」、ライトポインタＷＰ−１からリードポインタＲＰまでのブロックを「記録ブロック」、それ以外のブロックを「開放ブロック」に設定する。なお、フレームバッファ１２０はリングバッファであるので、アドレス番号“０”から“１”を引くとアドレス番号“１４”となることに注意する。
【００２５】
判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得したか否か判別する（Ｓ１０２）。フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ１０２：Ｙｅｓ）、判別部１４２はＳ１０３に進む。フレーム入力部１１０が新たに入力フレームを取得していない場合（Ｓ１０２：Ｎｏ）、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得するまでＳ１０２を繰り返す。
【００２６】
フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ１０２：Ｙｅｓ）、バファリング制御部１４１は、通常再生速度の映像を外部の装置に出力する「通常再生制御」を実行する（Ｓ１０３）。
【００２７】
具体的には、バファリング制御部１４１は、ライトポインタＷＰが示すブロックを記録ブロックに設定する。その後、バファリング制御部１４１は、ライトポインタＷＰに格納されたアドレス番号に１を加える。そして、バファリング制御部１４１は、ライトポインタＷＰが示すブロックをライト中ブロックに設定し、さらに、フレーム入力部１１０を制御して、ライトポインタＷＰが示すブロックに入力フレームをライトする。
【００２８】
図７の例であれば、バファリング制御部１４１は、９番のブロックを記録ブロックに設定し、アドレス番号を“１０”とする。そして。バファリング制御部１４１は、１０番のブロックをライト中ブロックに設定し、１０番のブロックに入力フレームをライトする。
【００２９】
また、バファリング制御部１４１は、リード部１３１を制御して、リードポインタＲＰが示すブロックから入力フレームをリードする。その後、バファリング制御部１４１は、リードポインタＲＰが示すブロックを開放ブロックに設定するとともに、リードポインタＲＰに格納されているアドレス番号に１を加える。
【００３０】
図７の例であれば、バファリング制御部１４１は４番のブロックから入力フレームをリードする。そして、バファリング制御部１４１は、４番のブロックを開放ブロックに設定するとともに、アドレス番号“５”とする。
【００３１】
フレーム補間部１３０は、リード部１３１がリードした入力フレームに基づいて通常再生信号を生成し、液晶ディスプレイ等に出力する。このとき、フレーム補間部１３０は、入力フレームと入力フレームとの間に補間フレームを挿入してもよい。
通常再生制御が完了したら、制御部１４０はＳ１０２に戻り、フレーム入力部１１０が新たに入力フレームを取得するのを待機する。
【００３２】
次に、スロー再生処理について説明する。
制御部１４０は、外部の装置からスロー再生制御信号を受け取ると、スロー再生処理を開始する。「スロー再生処理」は、スロー再生映像を液晶ディスプレイ等に出力する処理である。図８は、スロー再生処理を示すフローチャートである。
【００３３】
バファリング制御部１４１は、フレームバッファ１２０のバファリング状況に基づいて初期設定を実行する（Ｓ２０１）。Ｓ２０１は、Ｓ１０１と同様であるので説明を省略する。
【００３４】
続いて、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得したか否か判別する（Ｓ２０２）。フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ２０２：Ｙｅｓ）、判別部１４２はＳ２０３に進む。フレーム入力部１１０が新たに入力フレームを取得していない場合（Ｓ２０２：Ｎｏ）、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得するまでＳ２０２を繰り返す。
【００３５】
フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ２０２：Ｙｅｓ）、判別部１４２は、フレームバッファ１２０がオーバーフローしたか否か判別する（Ｓ２０３）。オーバーフローとは、バッファに、新たに映像情報を記録するブロックがなくなることをいう。図９は、フレームバッファがオーバーフローした様子を示す図である。図９の例では、開放ブロックがなく、アドレス番号１０でリードポインタＲＰとライトポインタＷＰが重なり、オーバーフローとなった状態である。ストリームデータ入力の場合、映像の再生速度に関わらず、映像情報は１倍速で入力され続ける。バッファ容量を無限に大きくすることはできないため、スロー再生を続けると未開放ブロックはいつかはなくなる。オーバーフロー発生の判別方法は任意であるが、例えば、判別部１４２は、ライトポインタＷＳがリードポインタＲＰと一致した場合に、若しくは開放ブロックがバッファに１つも残っていない場合にオーバーフロー発生と判別してもよい。
【００３６】
オーバーフローが発生していない場合（Ｓ２０３：Ｎｏ）、バファリング制御部１４１は、スロー再生映像を液晶ディスプレイ等に出力する「スロー再生制御」を実行する（Ｓ２０４）。
【００３７】
具体的には、バファリング制御部１４１は、ライトポインタＷＰが示すブロックを記録ブロックに設定する。そして、バファリング制御部１４１は、ライトポインタＷＰに格納されたアドレス番号に１を加える。その後、バファリング制御部１４１は、ライトポインタＷＰが示すブロックをライト中ブロックに設定し、さらに、フレーム入力部１１０を制御して、ライトポインタＷＰが示すブロックに入力フレームをライトする。
【００３８】
また、バファリング制御部１４１は、リードポインタＲＰに格納されたアドレス番号にスロー再生速度に応じた小数値を加算する。例えば、スロー再生速度が通常再生速度の４分の１であれば、リードポインタＲＰに０．２５（＝１／４）を加算する。そして、バファリング制御部１４１は、リードポインタＲＰが整数のとき、リード部１３１を制御して、リードポインタＲＰが示すブロックから入力フレームをリードし、リードポインタＲＰが示すブロックを開放ブロックに設定する。そして、フレーム補間部１３０は、リードした入力フレームに基づいてスロー再生信号を生成する。なお、リードポインタＲＰが整数でない場合、フレーム補間部１３０は、リードポインタＲＰの少数部の値（例えば０．２５）を、補間オフセット値ｏｆｆｓとして補間フレームを生成する。そして、フレーム補間部１３０は、生成した補間フレームを入力フレームと入力フレームとの間に挿入する。フレーム補間部１３０は、生成したスロー再生信号を外部の装置に送信する。
【００３９】
オーバーフローが発生している場合（Ｓ２０３：Ｙｅｓ）、バファリング制御部１４１は補間スロー再生制御を実行する（Ｓ２０５）。補間スロー再生制御は、Ｓ２０４に示したスロー再生制御とは異なる方法で入力フレームのバファリングを継続し、スロー再生を継続する。
【００４０】
図１０は、オーバーフロー発生時のフレームバッファのバファリングの様子を示す図である。バファリング制御部１４１は、ライトポインタＷＰを２ずつ加算しながら、入力フレームをライトする。すなわち、バファリング制御部１４１は、１ブロックおきに選択した上書きブロックに入力バッファをライトする。図１０の例であれば、アドレス番号１０でオーバーフローが発生するので、バファリング制御部１４１は、ライトポインタＷＰを１１番、１３番、０番、２番、４番、６番、８番、１０番、１２番、１４番、１番、３番、５番・・・の順に設定し、入力フレームをライトしていく。
【００４１】
このとき、バファリング制御部１４１は、入力フレームを１フレームおきに間引きながら、入力フレームをフレームバッファ１２０にライトしていく。図１０の例であれば、バファリング制御部１４１は、Ｆ１０、Ｆ１２、Ｆ１４、・・・のフレームを間引いて、Ｆ１１、Ｆ１３、・・・のフレームを上書きブロックに上書きする。
【００４２】
そして、バファリング制御部１４１は、リードポインタＷＰを２ずつ加算しながら、入力フレームをバッファからリードする。なお、リードポインタＲＰやライトポインタＷＰを２ずつ進行させる場合、フレームバッファ１２０のブロックの個数は奇数個とする。ポインタが一巡したときに、ポインタが進行するブロックが、記録ブロックから上書きブロックに、若しくは上書きブロックから記録ブロックに自然と入れ替わるので、処理が容易になる。
【００４３】
この場合、フレーム補間部１３０は、上書きされずに残されたフレームから、上書きで消滅した部分のフレームを復元する。図１０の例であれば、フレーム補間部１３０は、１０番と１２番のブロックに記録された２枚の入力フレームから１１番に位置していた入力フレームを復元する。より具体的には、フレーム補間部１３０は、１０番と１２番のブロックに記録された２枚の入力フレームのフレーム間距離を１とし、補間オフセット値ｏｆｆｓを０．５として補間フレームを生成する。そして、フレーム補間部１３０は、生成した補間フレームを１１番に位置していた入力フレームとして取得する。補間フレームの生成方法は、Ｓ２０４で示した通常スロー再生時の補間フレームの生成方法と同じであってもよい。この場合、復元されるフレームは、上書きで消滅したフレームと完全に同一でなくてもよい。
【００４４】
また、フレーム補間部１３０は、間引かれずにライトされた入力フレームから、間引かれて消滅した入力フレームを復元する。図１０の例であれば、フレーム補間部１３０は、Ｆ１１番とＦ１３番の２枚の入力フレームからＦ１２番に位置していた入力フレームを復元する。より具体的には、フレーム補間部１３０は、Ｆ１１番とＦ１３番の２枚の入力フレーム間距離を１とし、補間オフセット値ｏｆｆｓを０．５として補間フレームを生成する。そして、フレーム補間部１３０は、生成した補間フレームをＦ１２番に位置していた入力フレームとして取得する。補間フレームの生成方法は、Ｓ２０４で示した通常スロー再生時の補間フレームの生成方法と同じであってもよい。この場合、復元されるフレームは、間引かれて消滅したフレームと完全に同一でなくてもよい。
【００４５】
さらに、フレーム補間部１３０は、スムーズなスロー再生映像を実現するため、補間フレームを生成する。図１０の例であれば、フレーム補間部１３０は、例えば１０番と１１番の間に挿入するフレームやＦ１１番とＦ１２番の間に挿入する補間フレームを生成する。補間フレームの生成方法は、Ｓ２０４で示した通常スロー再生時の補間フレームの生成方法と同じである。そして、フレーム補間部１３０は、補間フレームを挿入し、スロー再生信号を生成する。フレーム補間部１３０は、生成したスロー再生信号を液晶ディスプレイ等に送信する。
【００４６】
スロー再生制御、若しくは補間スロー再生制御が完了したら、制御部１４０は２０２に戻り、フレーム入力部１１０が新たに入力フレームを取得するのを待機する。
【００４７】
次に、リピートスロー再生処理について説明する。
制御部１４０は、外部の装置からリピートスロー再生制御信号を受け取ると、リピートスロー再生処理を開始する。リピートスロー再生処理は、同じスロー再生映像（例えば、数秒から数十秒のスロー再生映像）を外部の装置に繰り返し出力する処理である。図１１は、スロー再生処理を示すフローチャートである。
【００４８】
バファリング制御部１４１は、フレームバッファ１２０のバファリング状況に基づいて初期設定を実行する（Ｓ３０１）。図１２は、リピートスロー再生時のフレームバッファの初期化の様子を示す図である。例えば、フレーム入力部１１０が、９番のブロックに入力フレームをライト中であるとする。
【００４９】
この場合、バファリング制御部１４１は、内部変数であるライトポインタＷＰにアドレス番号“９”を格納するともに、９番のブロックをリピート終了位置に設定する。また、バファリング制御部１４１は、ライト中のブロックから遅延Ｄだけ遡った位置にあるブロックの番号をリードポインタＲＰに格納するとともに、このブロックをリピート開始位置に設定する。図１２の場合、バファリング制御部１４１は、リードポインタＲＰにアドレス番号“４”を格納する。そして、バファリング制御部１４１は、ライトポインタＷＰが示すブロックを「ライト中ブロック」、ライトポインタＷＰ−１からリードポインタＲＰまでのブロックを「記録ブロック」、それ以外のブロックを「開放ブロック」に設定する。なお、一例として遅延Ｄを５ブロックとしているが、実際には遅延Ｄは数秒から数十秒である。
【００５０】
判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得したか否か判別する（Ｓ３０２）。フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ３０２：Ｙｅｓ）、判別部１４２は、制御信号によってリピートスロー再生が解除されたか否か判別する（Ｓ３０３）。フレーム入力部１１０が新たに入力フレームを取得していない場合（Ｓ３０２：Ｎｏ）、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得するまでＳ３０２を繰り返す。
【００５１】
リピートスロー再生が解除されていない場合（Ｓ３０３：Ｎｏ）、バファリング制御部１４１は、リピートスロー再生映像を外部の装置に出力する「リピートスロー再生制御」を実行する（Ｓ３０４）。
【００５２】
具体的には、バファリング制御部１４１は、リード部１３１を制御して、リピート開始位置からリピート終了位置までの入力フレームを繰り返しリードする。例えば、図１３に示すように、リピート開始位置がアドレス番号４、リピート終了位置がアドレス番号９とすれば、バファリング制御部１４１は、アドレス番号４から９のブロックを繰り返しリードする。そして、フレーム補間部１３０は、リードした入力フレームに基づいてスロー再生信号を生成し、液晶ディスプレイ等に出力する。
【００５３】
また、バファリング制御部１４１は、フレーム入力部１１０を制御して、リピートスロー再生に使用していないブロックに、新たに取得した入力フレームをライトする。このとき、バファリング制御部１４１は、リピートスロー再生に使用していないブロックをリングバッファとみなして、入力フレームのライトを継続する。リングバッファが一巡したら、既に入力フレームがライトされているブロックに入力フレームを上書きする。図１３の例では、アドレス番号１０〜１５、０〜３でリングバッファとする。
【００５４】
リピートスロー再生が解除された場合（Ｓ３０３：Ｙｅｓ）、再生制御部１４３は、リピートスロー再生を停止して画像出力装置１００を通常再生に移行させる（Ｓ３０５）。なお、通常再生処理に移行する際、画像出力装置１００は、現在ライト中のブロックから遅延Ｄだけ遡った位置から通常再生を開始する。例えば、遅延Ｄが５ブロックであり、現在ライト中のブロックが１５番のブロックであるとすれば、画像出力装置１００は、図１４に示すように、アドレス番号１０番のブロックから通常再生を開始する。また、バッファリング制御部１４１は、リングバッファを元に戻し、スロー再生で用いたブロックを上書き可能とする。
【００５５】
本実施形態によれば、画像出力装置１００は、オーバーフローが発生した場合に、１ブロックおきに入力バッファを上書きする。オーバーフローが発生したとしても、本実施形態の画像出力装置１００はしばらくの間バッファライトを継続できる。その結果、画像出力装置１００は、バッファ容量不足によるスロー再生停止等の処理を少なくでき、不自然な挙動を少なくできる。
【００５６】
また、画像出力装置１００は上書きで消滅したフレームをフレーム補間により復元する。そのため、上書きでフレームを消滅させたとしても、スロー再生映像は不自然なものとならない。しかも、消滅したフレームを復元するフレーム補間処理は、スロー再生映像で使用するフレーム補間処理をそのまま使用しているので、簡易な処理で実現できる。
【００５７】
また、画像出力装置１００は、オーバーフローが発生した場合に、１ブロックおきに入力バッファを間引いているので、より長時間バッファライトを継続できる。しかも、画像出力装置１００は、間引いて消滅した入力フレームをフレーム補間により復元しているので、スロー再生映像は不自然なものとならない。しかも、画像出力装置１００は、間引いて消滅した入力フレームの補間処理と、上書きで消滅した入力フレームの補間処理と、を同じ処理方法で実現できる。
【００５８】
また、画像出力装置１００は、リピートスロー再生に使用していない記憶領域をリングバッファにして、入力フレームのライトを継続している。ユーザからスロー再生が解除され、通常再生が指示されたとしても、本実施形態の画像出力装置１００は即座に最新のフレームを液晶ディスプレイに出力できる。そのため、画像出力装置１００は、オーバーフローが発生したとしても、スロー再生解除時に不自然に大きなウェイトを発生させることがない。
【００５９】
（実施形態２）
実施形態２では、オーバーフローが発生したときに、ライトポインタＷＳを固定し、１つのブロックに入力フレームをライトし続ける。以下、実施形態２の画像出力装置１００について説明する。
【００６０】
なお、実施形態２の画像出力装置１００は、実施形態１の画像出力装置１００と同様の構成であるので説明を省略する。また、実施形態２の画像出力装置１００の動作は、スロー再生処理を除き、実施形態１と同じであるので、スロー再生処理以外の動作の説明は省略する。以下、実施形態２のスロー再生処理について説明する。
【００６１】
制御部１４０は、外部の装置からスロー再生制御信号を受け取ると、スロー再生処理を開始する。以下、図１６のフローチャートを参照してスロー再生処理を説明する。
【００６２】
バファリング制御部１４１は、フレームバッファ１２０のバファリング状況に基づいて初期設定を実行する（Ｓ４０１）。Ｓ４０１は、実施形態１のＳ１０１と同様である。
【００６３】
続いて、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得したか否か判別する（Ｓ４０２）。フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ４０２：Ｙｅｓ）、判別部１４２はＳ４０３に進む。フレーム入力部１１０が新たに入力フレームを取得していない場合（Ｓ４０２：Ｎｏ）、判別部１４２は、フレーム入力部１１０が新たに入力フレームを取得するまでＳ４０２を繰り返す。
【００６４】
フレーム入力部１１０が新たに入力フレームを取得した場合（Ｓ４０２：Ｙｅｓ）、判別部１４２は、フレームバッファ１２０がアンダーフローしたか否か判別する（Ｓ４０３）。アンダーフローとは、オーバーフロー発生後、バッファリードを継続することによって、バッファリード位置がバッファライト位置に達してしまうことをいう。図１５は、オーバーフローが発生した後、フレームバッファがアンダーフローした様子を示す図である。オーバー発生後、バッファリードが一巡して、リードポインタＲＰがライトポインタＷＰの位置まで到達した状態（アンダーフロー）である。アンダーフロー発生の判別方法は任意であるが、例えば、判別部１４２は、オーバーフロー発生後、リードポインタＷＳがライトポインタＲＰと一致した場合に、若しくは、オーバーフロー発生後、上書きブロック以外のブロックが全て開放ブロックとなった場合にアンダーフロー発生と判別してもよい。
【００６５】
アンダーフローが発生していない場合（Ｓ４０３：Ｎｏ）、判別部１４２は、Ｓ４０４に進む。アンダーフローが発生している場合（Ｓ３０３：Ｙｅｓ）、判別部１４２は、４０５に進む。
【００６６】
アンダーフローが発生していない場合（Ｓ４０３：Ｎｏ）、再生制御部１４３は、スロー再生を停止して画像出力装置１００を通常再生に移行させる（Ｓ４０４）。具体的には、再生制御部１４３は、制御部１４０に、図６に示す通常再生処理を開始させるとともに、スロー再生処理を終了する。
【００６７】
アンダーフローが発生している場合（Ｓ４０３：Ｙｅｓ）、判別部１４２は、フレームバッファ１２０がオーバーフローしたか否か判別する（Ｓ４０５）。
【００６８】
オーバーフローが発生していない場合（Ｓ４０５：Ｎｏ）、バファリング制御部１４１は、スロー再生映像を液晶ディスプレイ等に出力する「スロー再生制御」を実行する（Ｓ４０６）。Ｓ４０６は、実施形態１のＳ２０４と同様である。
【００６９】
オーバーフローが発生している場合（Ｓ４０５：Ｙｅｓ）、バファリング制御部１４１は、ライトポインタＷＳを固定し、１つのブロックに入力フレームをライトし続ける（Ｓ４０７）。例えば、バファリング制御部１４１は、図１５に示すように、ライトポインタＷＳを１０番のブロックに固定し、１０番のブロックに入力フレームをライトし続ける。このとき、バファリング制御部１４１は、入力フレームを間引かずにライトする。バッファリードは、Ｓ２０４で示した通常のスロー再生制御と同様に継続する。バッファリード及びバッファライトが完了したら、制御部１４０はＳ４０２に戻り、フレーム入力部１１０が新たに入力フレームを取得するのを待機する。
【００７０】
本実施形態によれば、画像出力装置１００は、オーバーフローが発生した後、最新の入力フレームを１つのブロックにライトし続けている。オーバーフロー発生後に、ユーザからスロー再生が解除され通常再生が指示されたとしても、本実施形態の画像出力装置１００は即座に最新フレームを液晶ディスプレイに出力できる。そのため、オーバーフローが発生したとしても、画像出力装置１００は、スロー再生解除時に不自然に大きなウェイトを発生させることがない。
【００７１】
（実施形態３）
画像出力装置１００に入力される映像情報は伝送圧縮されていてもよい。ここで「伝送圧縮」とは、映像情報を電波やネットワークで伝送する際に、映像情報に施される圧縮である。圧縮の符号化方式としてはＭＰＥＧ（Moving Picture Experts Group）−２やＭＰＥＧ−４ ＡＶＣ（MPEG-4 Part 10 Advanced Video Coding）／Ｈ．２６４等が挙げられる。
【００７２】
実施形態３の画像出力装置２００は、例えば電波で伝送された放送データをディスプレイに出力するテレビである。図１７は、実施形態３の画像出力装置のブロック図である。実施形態１の画像出力装置１００と同様の構成は同じ符号を付し、説明を省略する。画像出力装置２００は、フレーム入力部１１０と、フレームバッファ１２０と、フレーム補間部１３０と、制御部１４０と、ストリーム入力部１５０と、ストリームバッファ１６０と、デコーダ１７０と、を備える。
【００７３】
ストリーム入力部１５０は、通信インタフェース、チューナー等の入力インタフェースから構成される。ストリーム入力部１５０に入力される映像情報は、伝送時にＭＰＥＧ−２、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４等で圧縮されている。映像情報は、Ｉフレーム（Intra-coded Frame）と、Ｐフレーム（Predicted Frame）と、Ｂフレーム（Bi-directional Predicted Frame）とから構成される。ストリーム入力部１５０は、取得した映像情報をストリームバッファ１６０にライトする。
【００７４】
ストリームバッファ１６０は、ＤＲＡＭ、ＳＲＡＭ等の記憶装置から構成されるリングバッファである。フレーム入力部１１０は映像情報を取得すると、１フレームを１ブロックとしてストリームバッファ１６０にライトする。ライトされたフレームはデコーダ１７０によってリードされる。
【００７５】
デコーダ１７０は、プロセッサ等の処理装置から構成される。デコーダ１７０は、伝送圧縮された映像情報を伸張するデコーダ部としての機能を有するとともに、バッファから入力フレームをリードするリード部としての機能も有する。デコーダ１７０は、リードした入力フレームを伸張し、フレーム入力部１１０に送信する。
【００７６】
制御部１４０は、プロセッサ等の処理装置から構成される。制御部１４０は、外部から制御信号を受信すると、「通常再生処理」、「スロー再生処理」、「リピート再生処理」を実行する。制御部１４０は、バファリング制御部１４１、判別部１４２、再生制御部１４３として機能する。なお、制御部１４０は、バッファ管理をフレームバッファ１２０ではなくストリームバッファ１６０で行う。
【００７７】
例えば、スロー再生処理であれば、制御部１４０は、ストリームバッファ１６０がオーバーフローした場合に、実施形態１のスロー再生処理と同様に、記録ブロックに新たに取得した入力フレームを上書きする。
【００７８】
具体的には、判別部１４２は、ストリームバッファ１６０がオーバーフローしたか否か判別する。例えば、判別部１４２は、開放ブロックがストリームバッファ１６０に１つも残っていない場合にオーバーフロー発生と判別してもよい。
【００７９】
そして、バファリング制御部１４１は、オーバーフローが発生した場合に、記録ブロックに新たな入力フレームを上書きする。このとき、バファリング制御部１４１は、ストリームバッファ１６０からＢフレームを上書きブロックとして選択し、新たに取得した入力フレームを上書きする。図１８は、Ｂフレームに入力フレームが上書きされる様子を示す図である。上書きする映像情報は、Ｂフレームが間引かれたものであってもよい。上書きで消滅したＢフレーム、及び間引かれて消滅したＢフレームについては、フレーム補間部１３０が復元する。
【００８０】
また、バファリング制御部１４１は、Ｂフレームが全て上書きされている場合に、さらにＰフレームに入力フレームを上書きしてもよい。図１９は、Ｐフレームに入力フレームが上書きされる様子を示す図である。このとき、上書きする映像情報はＢフレームとＰフレームが間引かれたものであってもよい。上書きで消滅したＢフレーム及びＰフレーム、及び間引かれて消滅したＢフレーム及びＰフレームについては、フレーム補間部１３０が復元する。
【００８１】
また、制御部１４０は、ストリームバッファ１６０がオーバーフローした場合に、実施形態２のスロー再生処理と同様に、特定のブロックに新たに取得した入力フレームを上書きし続けてもよい。このとき、バファリング制御部１４１は、上書きブロックの容量を１ＧＯＰ（Group Of Pictures）分の容量とし、ＧＯＰ単位で映像情報を上書きブロックに上書きし続けてもよい。ＧＯＰとは、ＩフレームからＩフレームまでのフレームをひとまとまりにしたものである。
【００８２】
本実施形態によれば、画像出力装置２００は、伝送圧縮された映像情報でバッファリング制御を実行しているので、スロー再生時のバッファリグを長く維持できる。
【００８３】
（実施形態４）
実施形態４の画像出力装置は、入力フレームを圧縮してフレームバッファ１２０にライトする。図２０は、実施形態４の画像出力装置のブロック図である。実施形態１の画像出力装置１００と同様の構成は同じ符号を付し、説明を省略する。画像出力装置３００は、フレーム入力部１１０と、フレームバッファ１２０と、フレーム補間部１３０と、制御部１４０と、符号化部１８０と、復号部１９０と、を備える。
【００８４】
符号化部１８０は、プロセッサ等の処理装置から構成される。フレーム入力部１１０から受信した入力フレームを、制御部１４０から指示された圧縮率で圧縮する。このとき、符号化部１８０は、フレーム単位で入力フレームを圧縮する。圧縮の符号化方法は、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４、ＨＥＶＣ（High Efficiency Video Coding）、ＪＰＥＧ（Joint Photographic Experts Group）２０００等であってもよい。そして、符号化部１８０は、制御部１４０の制御に従って、圧縮した入力フレーム（以下、「圧縮フレーム」という。）をフレームバッファ１２０にライトする。
【００８５】
復号部１９０は、プロセッサ等の処理装置から構成される。復号部１９０は、制御部１４０の制御に従って、フレームバッファ１２０から圧縮フレームをリードする。そして、復号部１９０は、圧縮フレームを伸張してフレーム補間部１３０に送信する。
【００８６】
本実施形態によれば、画像出力装置３００は、圧縮フレームをフレームバッファ１２０にライトする。実施形態４の画像出力装置は、オーバーフローが発生しても、長時間、入力フレームのバッファリングを継続でき、スロー再生を継続できる。
【００８７】
（実施形態５）
実施形態５の画像出力装置は、実施形態４と同様に、入力フレームを圧縮してフレームバッファ１２０にライトする。図２１は、実施形態５の画像出力装置のブロック図である。実施形態３及び４の画像出力装置と同様の構成は同じ符号を付し、説明を省略する。画像出力装置４００は、フレーム入力部１１０と、フレームバッファ１２０と、フレーム補間部１３０と、制御部１４０と、ストリーム入力部１５０と、ストリームバッファ１６０と、デコーダ１７０と、符号化部１８０と、復号部１９０と、を備える。
【００８８】
画像出力装置４００の構成は、フレーム入力部１１０が符号化部１８０を介して入力フレームをフレームバッファ１２０にライトし、フレーム補間部１３０が復号部１９０を介してフレームバッファ１２０から入力フレームをリードする以外は実施形態３と同じである。また、符号化部１８０、及び復号部１９０の構成は、実施形態４と同様である。
【００８９】
本実施形態によれば、画像出力装置４００は、圧縮フレームをフレームバッファ１２０にライトするよう構成されている。実施形態５の画像出力装置は、オーバーフローが発生しても、長時間、入力フレームのバッファリングを継続でき、スロー再生を継続できる。
【００９０】
なお、上述の各実施形態は一例であり、種々の変更及び応用が可能である。
例えば、上述の各実施形態では、判別部１４２は、バッファが記録ブロックで埋め尽くされ、新たに映像情報を記録するブロックがなくなった場合に、オーバーフロー発生と判別したが、判別部１４２は、バッファが記録ブロックで埋め尽くされる一定期間前にオーバーフロー発生と判別してもよい。例えば、判別部１４２は、図２２に示すように、ライトポインタＷＰが示すブロックとリードポインタＲＰが示すブロックとの距離が、Ｄ以下（例えば５ブロック以下）となった場合にオーバーフロー発生と判別してもよい。
【００９１】
また、実施形態２では、オーバーフロー発生後、バファリング制御部１４１が特定の１つのブロックに入力バッファを上書きし続けるものとして説明したが、上書きし続けるブロックは必ずしも１つでなくてもよい。バファリング制御部１４１、複数ブロックを上書きブロックとして選択し、選択した上書きブロックに入力バッファを上書きし続けてもよい。この場合、バファリング制御部１４１は、複数の上書きブロックをリングバッファとしてもよい。
【００９２】
また、実施形態２では、判別部１４２は、オーバーフロー発生後、バッファリードの位置がバッファライト位置に追いついた場合に、アンダーフロー発生と判別したが、判別部１４２は、バッファリード位置がバッファライト位置に追いつく一定期間前にアンダーフロー発生と判別してもよい。例えば、判別部１４２は、図２３に示すように、リードポインタＲＰが示すブロックとライトポインタＷＰが示すブロックとの距離が、Ｄ以下（例えば５ブロック以下）となった場合にアンダーフロー発生と判別してもよい。
【００９３】
また、上述の各実施形態では、１ブロックのサイズは１フレームが格納可能なサイズであるものとして説明したが、１ブロックのサイズは複数フレームが格納可能なサイズ（例えば、１ＧＯＰが格納可能なサイズ）であってもよい。この場合、フレーム入力部１１０やストリーム入力部１５０は、ブロックサイズに対応する複数フレーム単位（例えば、ＧＯＰ単位）でバッファに入力フレームをライトしてもよい。
【００９４】
また、上述の各実施形態では、画像出力装置１００〜４００にストリームデータ入力される映像情報は、通信ケーブルを介して入力される映像データや電波に乗って伝送される放送データであるものとして説明したが、映像情報はこれらのデータに限定されない。例えば、画像出力装置１００〜４００にストリームデータ入力される映像情報は、例えば、ＩＰ伝送される映像ストリームであってもよいし、撮像装置で撮影され、リアルタイムで装置に入力される動画であってもよい。
【００９５】
また、実施形態３、５では、画像出力装置にストリームデータ入力される映像情報は、ＭＰＥＧ−２やＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４で伝送圧縮された映像情報であるものとして説明したが、映像情報を伝送圧縮する符号化方式はＭＰＥＧ−２やＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４に限定されない。伝送圧縮の符号化方式は、例えば、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ−１等であってもよい。
【００９６】
また、上述の各実施形態では、画像出力装置は、バッファがオーバーフローした後、バファリング方法を変更して映像情報のバファリングを継続したが、バッファがオーバーフローした後、必ずしも映像情報のバファリングを継続する必要はない。例えば、判別部１４２がオーバーフロー発生を検出した後、再生制御部１４３は、スロー再生を即時に停止し、画像出力装置を通常再生に移行させてもよい。
【００９７】
なお、画像出力装置１００〜４００は、例えば、テレビ、プレーヤー、レコーダ、パーソナルコンピュータ、固定電話機、携帯電話機、スマートフォン、タブレット端末、ＰＤＡ（Personal Digital Assistant）、ゲーム機等の完成品として捉えることができる。また、画像出力装置は、完成品に搭載される部品、例えば、半導体、半導体基板等として捉えることもできる。
【００９８】
本実施形態に係る画像出力装置は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって画像出力装置を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Operating System）とアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００９９】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１００】
１００〜４００…画像出力装置
１１０…フレーム入力部
１２０…フレームバッファ
１３０…フレーム補間部
１３１…リード部
１３２…動き検出部
１３３…動き補償部
１３４…出力部
１４０…制御部
１４１…バファリング制御部
１４２…判別部
１４３…再生制御部
１５０…ストリーム入力部
１６０…ストリームバッファ
１７０…デコーダ
１８０…符号化部
１９０…復号部
【図１】
2016059015.tif 000003
【図２】
2016059015.tif 000004
【図３】
2016059015.tif 000005
【図４】
2016059015.tif 000006
【図５】
2016059015.tif 000007
【図６】
2016059015.tif 000008
【図７】
2016059015.tif 000009
【図８】
2016059015.tif 000010
【図９】
2016059015.tif 000011
【図１０】
2016059015.tif 000012
【図１１】
2016059015.tif 000013
【図１２】
2016059015.tif 000014
【図１３】
2016059015.tif 000015
【図１４】
2016059015.tif 000016
【図１５】
2016059015.tif 000017
【図１６】
2016059015.tif 000018
【図１７】
2016059015.tif 000019
【図１８】
2016059015.tif 000020
【図１９】
2016059015.tif 000021
【図２０】
2016059015.tif 000022
【図２１】
2016059015.tif 000023
【図２２】
2016059015.tif 000024
【図２３】
2016059015.tif 000025