(57)【要約】【課題】符号化データのサイズを削減する。【解決手段】符号化装置１０Ａは、一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化部１０６と、（ａ）一連のフレームのうちの第一フレームを符号化部１０６がフレーム内符号化した場合には、一連のフレームのうち第一フレームの次の第二フレームをフレーム間符号化するよう制御し、（ｂ）一連のフレームのうちの第三フレームを符号化部１０６がフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち第三フレームを終端とする連続した所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、一連のフレームのうち第三フレームの次の第四フレームをフレーム内符号化するよう制御する、制御部１１１とを備える。【選択図】図７
2018061075.tif 000002
【特許請求の範囲】
【請求項１】
一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化部と、
（ａ）前記一連のフレームのうちの第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、
（ｂ）前記一連のフレームのうちの第三フレームを前記符号化部がフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち前記第三フレームを終端とする連続した第一所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、前記一連のフレームのうち前記第三フレームの次の第四フレームをフレーム内符号化するよう制御する、制御部とを備える
符号化装置。
【請求項２】
前記制御部は、
（ｃ）前記（ｂ）において、フレーム間符号化された前記フレームのそれぞれの前記データサイズが前記第一閾値以上であるとき、前記一連のフレームのうち前記第四フレームを始端とする連続した第二所定数のフレームをフレーム内符号化するよう制御する
請求項１に記載の符号化装置。
【請求項３】
前記制御部は、前記（ｃ）において、
前記第二所定数のフレームを再生順に順次にフレーム内符号化し、
前記第二所定数のフレームのうちの第五フレームをフレーム内符号化した時点において、フレーム内符号化された前記第五フレームのデータサイズが、前記一連のフレームのうち前記第五フレームの直前にフレーム内符号化された第六フレームのデータサイズから第三所定値以上変化した場合には、前記第五フレームの次の第七フレームをフレーム間符号化するよう制御する
請求項２に記載の符号化装置。
【請求項４】
前記制御部は、前記（ａ）において、
前記第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうちの前記第二フレーム以降のフレームを、再生順に順次にフレーム間符号化するよう制御し、
前記第二フレーム以降のフレームのうちの第八フレームをフレーム間符号化した時点において、フレーム間符号化された前記第八フレームのデータサイズが第二閾値以上であるときには、前記一連のフレームのうち前記第八フレームの次の第九フレームをフレーム内符号化するよう制御する
請求項１〜３のいずれか１項に記載の符号化装置。
【請求項５】
前記符号化装置は、さらに、
前記符号化部がフレーム内符号化又はフレーム間符号化することで生成した符号化データを送信する送信部と、
前記符号化データに含まれるフレームがフレーム間符号化されたフレームであって、かつ、当該フレームのデータサイズが第三閾値以上である場合には、前記送信部が当該フレームを送信することを禁止する送信制御部とを備える
請求項１〜４のいずれか１項に記載の符号化装置。
【請求項６】
一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化部と、
（ｄ）前記一連のフレームのうちの第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、
（ｅ）前記一連のフレームのうちの第三フレームを前記符号化部がフレーム間符号化した場合には、前記第三フレームを含む連続した所定数のフレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、前記第三フレームをフレーム内符号化するよう制御する、制御部とを備える
符号化装置。
【請求項７】
一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化ステップと、
（ａ）前記一連のフレームのうちの第一フレームを前記符号化ステップでフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、
（ｂ）前記一連のフレームのうちの第三フレームを前記符号化ステップでフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち前記第三フレームを終端とする連続した第一所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、前記一連のフレームのうち前記第三フレームの次の第四フレームをフレーム内符号化するよう制御する、制御ステップとを含む
符号化方法。
【請求項８】
一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化ステップと、
（ｄ）前記一連のフレームのうちの第一フレームを前記符号化ステップでフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、
（ｅ）前記一連のフレームのうちの第三フレームを前記符号化ステップでフレーム間符号化した場合には、前記第三フレームを含む連続した所定数のフレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、前記第三フレームをフレーム内符号化するよう制御する、制御ステップとを含む
符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、及び、符号化方法に関する。
【背景技術】
【０００２】
ネットワークを通じて動画像コンテンツを転送する際に、ネットワークにおける通信量を削減する圧縮技術が使用される。圧縮技術では、送信装置がコンテンツを構成するフレームを圧縮符号化してネットワークに送信し、圧縮符号化されたデータを受信装置が受信して復号することでコンテンツを復元する。
【０００３】
圧縮技術における圧縮率を向上させる差分符号化方式がある。差分符号化方式では、コンテンツに含まれるフレームの一部をキーフレームとしてフレーム内符号化する。また、コンテンツに含まれるフレームの上記一部を除く残部を差分フレームとして、上記キーフレームからの差分を符号化、つまり、フレーム間符号化する。
【０００４】
特許文献１は、圧縮符号化技術において、キーフレームの符号化処理量の急激な上昇を抑制するとともに、フレーム内符号化されたフレームと、フレーム間符号化されたフレームとの再生中に現れる差異をより小さくする技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１７１５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１が開示する技術は、キーフレームの他にキーＧＯＢ（ブロック領域）という概念を導入したことで、キーフレームの符号化処理量の急激な上昇を抑制する効果が期待される一方、符号化されたデータのデータサイズには無頓着である。例えば、映像内の動きが激しい場合、フレーム間符号化されたフレームのデータサイズが、フレーム内符号化されたフレームのデータサイズを超えることがある。
【０００７】
そのため、符号化により生成されるデータサイズが比較的大きくなることで、ネットワークの通信量を圧迫したり、ネットワークにおいて生じ得る通信ロスにより再生装置で再生されるコンテンツに乱れが生じたりするという問題がある。
【０００８】
本発明は、上記問題を解決するためになされたものであり、符号化データのサイズを削減する符号化装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様に係る符号化装置は、一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化部と、（ａ）前記一連のフレームのうちの第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、（ｂ）前記一連のフレームのうちの第三フレームを前記符号化部がフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち前記第三フレームを終端とする連続した第一所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、前記一連のフレームのうち前記第三フレームの次の第四フレームをフレーム内符号化するよう制御する、制御部とを備える。
【００１０】
これによれば、符号化装置は、フレーム内符号化した後のフレームをフレーム間符号化することで符号化データのサイズを削減する。また、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときには、その後のフレームをフレーム内符号化することでフレームのデータサイズを削減する。フレーム間符号化されたフレームのデータサイズは、フレーム内の画像全体の動きが比較的大きい場合には、フレーム内符号化されたフレームのデータサイズより大きくなることがある。このとき、新たなフレームをフレーム内符号化すれば、そのフレームのデータサイズは、フレーム間符号化された場合よりも小さくなる。これらの制御により、符号化装置は、符号化データのサイズを削減することができる。
【００１１】
また、前記制御部は、（ｃ）前記（ｂ）において、フレーム間符号化された前記フレームのそれぞれの前記データサイズが前記第一閾値以上であるとき、前記一連のフレームのうち前記第四フレームを始端とする連続した第二所定数のフレームをフレーム内符号化するよう制御してもよい。
【００１２】
これによれば、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときには、その後の連続した所定数のフレームをフレーム内符号化する。コンテンツの一連のフレームにおいて、フレーム内の画像全体が連続的に移動する場合（例えば、スクロールがある場合、又は、撮影時に継続的に手ぶれがあった場合）には、フレーム間符号化されたフレームのデータサイズが連続して比較的大きくなり、フレーム間符号化による差分符号化の効果が比較的小さくなる。その場合、符号化装置は、新たなフレーム以降の所定数のフレーム内符号化することで、それらのフレームのデータサイズを、フレーム間符号化された場合よりも小さくすることができる。
【００１３】
また、前記制御部は、前記（ｃ）において、前記第二所定数のフレームを再生順に順次にフレーム内符号化し、前記第二所定数のフレームのうちの第五フレームをフレーム内符号化した時点において、フレーム内符号化された前記第五フレームのデータサイズが、前記一連のフレームのうち前記第五フレームの直前にフレーム内符号化された第六フレームのデータサイズから第三所定値以上変化した場合には、前記第五フレームの次の第七フレームをフレーム間符号化するよう制御してもよい。
【００１４】
これによれば、符号化装置は、フレーム内の画像全体が連続的に移動することでフレーム内符号化を続けて行っているときに、符号化されたフレームのデータサイズが比較的大きく変化した場合には、フレーム内符号化を続けることを中止し、フレームをフレーム間符号化する。上記のようにデータサイズが比較的大きく変化する一因は、フレーム内のシーンが切り替えられたことによる場合がある。このような場合には、その後、フレーム内の画像全体の連続的な移動がなくなる可能性があるので、フレーム内符号化を中止して、フレーム間符号化を行うことで、符号化データのサイズを削減することができる。
【００１５】
また、前記制御部は、前記（ａ）において、前記第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうちの前記第二フレーム以降のフレームを、再生順に順次にフレーム間符号化するよう制御し、前記第二フレーム以降のフレームのうちの第八フレームをフレーム間符号化した時点において、フレーム間符号化された前記第八フレームのデータサイズが第二閾値以上であるときには、前記一連のフレームのうち前記第八フレームの次の第九フレームをフレーム内符号化するよう制御してもよい。
【００１６】
これによれば、符号化装置は、フレーム間符号化されたフレームのデータサイズが比較的大きい場合に、新たなフレームをフレーム内符号化する。フレーム間符号化されたフレームとキーフレームとの差分が比較的大きい場合に、新たなフレームを新たなキーフレームとしてフレーム内符号化することで、それ以降のフレームと新たなキーフレームとの差分を比較的小さくすることができるからである。
【００１７】
また、前記符号化装置は、さらに、前記符号化部がフレーム内符号化又はフレーム間符号化することで生成した符号化データを送信する送信部と、前記符号化データに含まれるフレームがフレーム間符号化されたフレームであって、かつ、当該フレームのデータサイズが第三閾値以上である場合には、前記送信部が当該フレームを送信することを禁止する送信制御部とを備えてもよい。
【００１８】
これによれば、符号化装置は、フレーム間符号化されたフレームのうち、データサイズが比較的大きいフレームを送信することを禁止することで、ネットワークにおける通信量を抑制することができる。なお、このようにフレームの送信を禁止すると、復号装置によりこのフレームを再生することはできなくなるが、１フレームの再生がなくなる程度であれば、コンテンツの再生に大きな影響を与えないと考えられる。
【００１９】
また、本発明の一態様に係る符号化装置は、一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化部と、（ｄ）前記一連のフレームのうちの第一フレームを前記符号化部がフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、（ｅ）前記一連のフレームのうちの第三フレームを前記符号化部がフレーム間符号化した場合には、前記第三フレームを含む連続した所定数のフレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、前記第三フレームをフレーム内符号化するよう制御する、制御部とを備える。
【００２０】
これによれば、符号化装置は、フレーム内符号化の後にはフレーム間符号化をすることで符号化データのサイズを削減する。また、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときに、その符号化したフレームを改めてフレーム内符号化することでフレームのデータサイズを削減する。これらの制御により、符号化装置は、符号化データのサイズを削減することができる。
【００２１】
また、本発明の一態様に係る符号化方法は、一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化ステップと、（ａ）前記一連のフレームのうちの第一フレームを前記符号化ステップでフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、（ｂ）前記一連のフレームのうちの第三フレームを前記符号化ステップでフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち前記第三フレームを終端とする連続した第一所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、前記一連のフレームのうち前記第三フレームの次の第四フレームをフレーム内符号化するよう制御する、制御ステップとを含む。
【００２２】
これにより、上記符号化装置と同様の効果を奏する。
【００２３】
また、本発明の一態様に係る符号化方法は、一連のフレームに含まれるフレームを、フレーム内符号化又はフレーム間符号化する符号化ステップと、（ｄ）前記一連のフレームのうちの第一フレームを前記符号化ステップでフレーム内符号化した場合には、前記一連のフレームのうち前記第一フレームの次の第二フレームをフレーム間符号化するよう制御し、（ｅ）前記一連のフレームのうちの第三フレームを前記符号化ステップでフレーム間符号化した場合には、前記第三フレームを含む連続した所定数のフレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、前記第三フレームをフレーム内符号化するよう制御する、制御ステップとを含む。
【００２４】
これにより、上記符号化装置と同様の効果を奏する。
【発明の効果】
【００２５】
本発明にかかる符号化装置等は、符号化データのサイズを削減することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、実施の形態に係るコンテンツ再生システムの構成を示す構成図である。
【図２】図２は、実施の形態に係る符号化装置のハードウェア構成を示すブロック図である。
【図３】図３は、実施の形態に係る符号化装置の構成を示すブロック図である。
【図４】図４は、実施の形態に係る符号化装置の処理を示すフロー図である。
【図５】図５は、実施の形態に係る復号装置の構成を示すブロック図である。
【図６】図６は、実施の形態に係る復号装置の処理を示すフロー図である。
【図７】図７は、実施の形態に係る符号化装置の構成をより詳しく示すブロック図である。
【図８】図８は、実施の形態に係る制御部により検出される、コンテンツにおけるスクロールの一例の説明図である。
【図９】図９は、実施の形態に係る制御部により検出される、コンテンツにおけるシーン切替の一例の説明図である。
【図１０】図１０は、実施の形態に係る符号化装置の処理を示すフロー図である。
【図１１】図１１は、実施の形態に係る符号化装置の符号化処理を示すフロー図である。
【図１２Ａ】図１２Ａは、実施の形態に係る符号化装置の符号化制御処理を示す第一のフロー図である。
【図１２Ｂ】図１２Ｂは、実施の形態に係る符号化装置の符号化制御処理を示す第二のフロー図である。
【図１３】図１３は、実施の形態に係るスクロール検出モードを示すフロー図である。
【図１４】図１４は、実施の形態に係る符号化装置によるスクロール検出の効果を説明する第一の説明図である。
【図１５】図１５は、実施の形態に係る符号化装置によるスクロール検出の効果を説明する第二の説明図である。
【図１６】図１６は、実施の形態に係る符号化装置によるスクロール検出の効果を説明する第三の説明図である。
【図１７】図１７は、実施の形態に係る符号化装置によるスクロール検出の効果を説明する第四の説明図である。
【図１８】図１８は、実施の形態に係る符号化装置によるシーン切替検出の効果を説明する第一の説明図である。
【図１９】図１９は、実施の形態に係る符号化装置によるシーン切替検出の効果を説明する第二の説明図である。
【図２０】図２０は、実施の形態に係る符号化装置によるシーン切替検出の効果を説明する第三の説明図である。
【図２１】図２１は、実施の形態に係る符号化装置によるスクロール検出の早期判定の効果を説明する第一の説明図である。
【図２２】図２２は、実施の形態に係る符号化装置によるスクロール検出の早期判定の効果を説明する第二の説明図である。
【図２３】図２３は、実施の形態の変形例に係る符号化装置の構成を示すブロック図である。
【図２４】図２４は、実施の形態の変形例に係る符号化装置の処理を示すフロー図である。
【図２５】図２５は、実施の形態の変形例に係る符号化装置の処理を示すフロー図である。
【発明を実施するための形態】
【００２７】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００２８】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【００２９】
（実施の形態）
本実施の形態において、符号化データのサイズを削減する符号化装置等について説明する。
【００３０】
図１は、本実施の形態に係るコンテンツ再生システムＳの構成を示す構成図である。
【００３１】
図１に示されるように、コンテンツ再生システムＳは、送信装置１と再生装置２とを備える。送信装置１と再生装置２とは、ネットワーク３により通信可能に接続されている。
【００３２】
コンテンツ再生システムＳは、送信装置１が保有している動画像コンテンツ（以降、単にコンテンツともいう）を、１以上の再生装置２により再生するコンテンツ再生システムである。
【００３３】
送信装置１は、コンテンツを保有しており、コンテンツをネットワーク３を通じて再生装置２に送信する送信装置である。送信装置１は、コンテンツを圧縮符号化（以降、単に符号化ともいう）する符号化装置１０を備える。符号化装置１０は、符号化によりコンテンツのデータ量を削減した符号化データを生成し、生成した符号化データをネットワーク３に送信する。
【００３４】
再生装置２は、ネットワーク３を通じて送信装置１からコンテンツを受信し、受信したコンテンツを再生する再生装置である。再生装置２は、送信装置１が保有している動画コンテンツをもとに符号化装置１０が生成した符号化データを、ネットワーク３を通じて受信する。再生装置２は、符号化データを復号する復号装置２０を備える。復号装置２０は、ネットワーク３から受信した符号化データを復号することでコンテンツを復元し、復元したコンテンツを再生装置２により再生する。
【００３５】
ネットワーク３は、送信装置１と再生装置２とを通信可能に接続するネットワークである。ネットワーク３は、具体的には、ＩＥＥＥ８０２．１１ａ、ｂ、ｇ、ｎ規格等に適合する無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、又は、ＩＥＥＥ８０２．３規格等に適合する有線ＬＡＮである。
【００３６】
なお、コンテンツ再生システムＳは、２以上の再生装置２を備えていてもよい。その場合、２以上の再生装置２それぞれがネットワーク３に接続し、送信装置１が送信する符号化データを受信することができることを要する。送信装置１は、再生装置２が２以上存在する場合には、２以上の再生装置２それぞれに対してユニキャスト送信してもよいし、２以上の再生装置２が受信できるようにブロードキャスト送信してもよい。
【００３７】
図２は、本実施の形態に係る符号化装置１０のハードウェア構成を示すブロック図である。なお、復号装置２０も、符号化装置１０と同じハードウェア構成を有する。
【００３８】
図２に示されるように、符号化装置１０は、ＣＰＵ１１と、メインメモリ１２と、ストレージ１３とを備える。
【００３９】
ＣＰＵ１１は、メインメモリ１２又はストレージ１３に格納された制御プログラムを実行するプロセッサである。符号化装置１０が実行する処理は、ＣＰＵ１１が制御プログラムを実行することで実現され得る。
【００４０】
メインメモリ１２は、ＣＰＵ１１が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
【００４１】
ストレージ１３は、コンテンツを構成するフレームのデータを記憶している不揮発性の記憶装置である。なお、ストレージ１３は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、又は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等であり、符号化装置１０に内蔵されたものであってもよいし、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格等により外付けされるものであってもよい。
【００４２】
以降において、本実施の形態に係る符号化装置及び復号装置の構成について詳細に説明する。
【００４３】
図３は、本実施の形態に係る符号化装置１０の構成を示すブロック図である。
【００４４】
図３に示されるように、符号化装置１０は、フレーム保持部１００と、取得部１０１と、ブロッキングフィルタ１０２と、変換部１０３と、差分部１０４と、量子化部１０５と、符号化部１０６と、逆量子化部１０７と、参照用保持部１０８とを備える。
【００４５】
フレーム保持部１００は、符号化対象のコンテンツを構成するフレームのデータを保持している記憶部である。フレーム保持部１００は、例えばメインメモリ１２等により実現される。
【００４６】
取得部１０１は、符号化対象フレームを取得する処理部である。取得部１０１は、フレーム保持部１００に格納されているコンテンツに含まれるフレームのうちの符号化対象フレームを読み出すことで取得する。符号化対象フレームは、例えば、コンテンツを構成する複数のフレームのうち、符号化装置１０が管理している現在時刻情報に対応付けられるフレームが順次割り当てられる。
【００４７】
ブロッキングフィルタ１０２は、取得部１０１が取得した符号化対象フレームに含まれる処理単位であるブロック境界に対してブロッキングフィルタ処理を施す処理部である。ブロッキングフィルタ処理は、変換処理（後述）の処理単位であるブロックの境界で生じ得る不連続性を抑制するために、変換処理の前に施すべき処理である。
【００４８】
変換部１０３は、ブロッキングフィルタ１０２がブロッキングフィルタ処理を施した後のフレームに対してブロックごとに変換処理を施す処理部である。変換処理の一例は、周波数変換処理である。周波数変換は、符号化対象フレームを、基底となる複数の三角関数の足し合わせとして表現する場合の係数（周波数係数）に変換する。なお、変換処理は、次数変換（例えば、アダマール変換）処理等を採用することもできる。
【００４９】
差分部１０４は、変換部１０３が変換処理を施した後の符号化対象フレーム（周波数係数）と、参照用保持部１０８が保持している参照用フレームとの差分を算出することで、差分フレームを生成する処理部である。差分部１０４は、上記差分を算出する前に、参照用保持部１０８から参照用フレームを読み出す。差分部１０４は、符号化対象フレームがキーフレームでない場合に上記差分を算出し、キーフレームである場合には上記差分を算出しない。なお、符号化対象フレームがキーフレームであるか、又は、キーフレームでないかは、差分部１０４が変換部１０３から符号化対象フレームを取得した時点までに決定されていてもよいし、何らかの制御に基づいて差分部１０４が決定してもよい。この制御には、例えば、後述する変形例における制御部１１１による制御がある。
【００５０】
差分部１０４が参照用フレームを読み出すタイミングは、取得部１０１がフレーム保持部１００から符号化対象フレームを読み出すタイミングより後になる。なぜなら、取得部１０１がフレーム保持部１００から符号化対象フレームを読み出した後に、ブロッキングフィルタ１０２及び変換部１０３の処理が実行され、その後に、差分部１０４が参照用フレームを読み出すからである。言い換えれば、ブロッキングフィルタ１０２及び変換部１０３が、取得部１０１による符号化対象フレームの読み出しに対して、差分部１０４による参照用フレームの読み出しを遅延させる遅延部として機能するとも言える。
【００５１】
量子化部１０５は、変換部１０３が変換処理を施した後の符号化対象フレーム、又は、差分部１０４が生成した差分フレームを量子化する（つまり、上記フレームを量子化係数に変換する）処理部である。
【００５２】
符号化部１０６は、量子化部１０５が量子化したフレームを符号化することで符号化データを生成する処理部である。符号化部１０６が生成した符号化データが、符号化装置１０が送信するコンテンツデータに相当する。
【００５３】
逆量子化部１０７は、量子化部１０５による量子化後のフレームを逆量子化する処理部である。逆量子化部１０７は、量子化部１０５による量子化後のフレームがキーフレームである場合に逆量子化を行う。逆量子化部１０７は、逆量子化したフレームを参照用フレームとして参照用保持部１０８に格納する。
【００５４】
参照用保持部１０８は、逆量子化部１０７が逆量子化した後のキーフレームを参照用フレームとして保持する記憶部である。参照用保持部１０８が保持するキーフレームは、差分部１０４に参照され、差分を算出する処理に用いられる。参照用保持部１０８は、例えばメインメモリ１２により実現される。
【００５５】
以上のように構成された符号化装置１０の処理について説明する。
【００５６】
図４は、本実施の形態に係る符号化装置１０の処理を示すフロー図である。
【００５７】
ステップＳ１０１において、取得部１０１は、符号化対象フレームをフレーム保持部１００から読み出すことで取得する。
【００５８】
ステップＳ１０２において、ブロッキングフィルタ１０２は、取得部１０１が取得した符号化対象フレームにおけるブロック境界に対してブロッキングフィルタ処理を施す。
【００５９】
ステップＳ１０３において、変換部１０３は、ブロッキングフィルタ１０２によるブロッキングフィルタ処理後のフレームに対してブロックごとに変換処理を施す。
【００６０】
ステップＳ１０４において、符号化装置１０は、符号化対象フレームがキーフレームであるか否かに応じて処理を分岐する。符号化対象フレームがキーフレームである場合（ステップＳ１０４でＹｅｓ）にはステップＳ１０５に進み、そうでない場合（ステップＳ１０４でＮｏ）には、ステップＳ１１１に進む。
【００６１】
ステップＳ１０５において、量子化部１０５は、変換部１０３が変換処理を施した後の符号化対象フレームに量子化処理を施す。
【００６２】
ステップＳ１０６において、逆量子化部１０７は、量子化部１０５による量子化後のキーフレームに逆量子化処理を施す。
【００６３】
ステップＳ１０７において、逆量子化部１０７は、ステップＳ１０６で逆量子化したフレームを参照用保持部１０８に格納する。
【００６４】
ステップＳ１１１において、差分部１０４は、変換部１０３が変換処理を施した後の符号化対象フレームと、参照用保持部１０８から読み出した参照用フレームとの差分を、差分フレームとして生成する。
【００６５】
ステップＳ１１２において、量子化部１０５は、差分部１０４が変換処理を施した後の差分フレームを量子化する。
【００６６】
ステップＳ１０８において、符号化部１０６は、量子化部１０５が量子化したキーフレームを符号化して符号化データを生成する。生成された符号化データは、送信装置１により再生装置２に送信される。
【００６７】
図５は、本実施の形態に係る復号装置２０の構成を示すブロック図である。
【００６８】
図５に示されるように、復号装置２０は、復号部２０１と、加算部２０２と、逆量子化部２０３と、参照用保持部２０４と、逆変換部２０５と、デブロッキングフィルタ２０６と、生成部２０７とを備える。
【００６９】
復号部２０１は、符号化装置１０が送信したコンテンツデータである符号化データを復号対象フレームとして受信して復号する処理部である。復号部２０１が復号により生成するフレームは、符号化部１０６による符号化の対象となった元データである符号化対象フレーム（量子化係数）である。
【００７０】
加算部２０２は、復号部２０１が復号した復号対象フレームと、参照用保持部２０４が保持している参照用フレームとを加算することで、加算フレーム（量子化係数）を生成する処理部である。加算部２０２は、上記の加算処理をする前に、参照用保持部２０４から参照用フレームを読み出す。加算部２０２が生成した加算フレームは、変換部１０３が符号化対象フレームに基づいて生成した周波数係数である。
【００７１】
逆量子化部２０３は、加算部２０２が加算処理により生成した加算フレームを逆量子化することで、復号対象フレーム（周波数係数）を算出する処理部である。逆量子化部２０３の処理は、符号化装置１０の逆量子化部１０７と同じである。
【００７２】
参照用保持部２０４は、逆量子化部２０３が生成した復号対象フレームのうちのキーフレームを、参照用フレームとして保持する記憶部である。参照用保持部２０４が保持するキーフレームは、加算部２０２に参照され、加算の処理に用いられる。参照用保持部２０４は、例えばメインメモリ１２等により実現される。
【００７３】
逆変換部２０５は、逆量子化部２０３が逆量子化により生成した復号対象フレーム（周波数係数）に対して、逆変換処理を施す処理部である。逆変換処理は、符号化装置１０の変換部１０３による変換とは逆の変換を行う。具体的には、逆変換処理は、変換部１０３が周波数変換を行う場合には逆周波数変換処理であり、変換部１０３が次数変換を行う場合には逆次数変換処理である。
【００７４】
デブロッキングフィルタ２０６は、逆変換部２０５が逆変換処理を施した後の復号対象フレームにおけるブロック境界に対してデブロッキングフィルタ処理を施す処理部である。
【００７５】
生成部２０７は、デブロッキングフィルタ２０６によるデブロッキングフィルタ処理が施された加算フレームを取得し、取得した加算フレームに属性情報等を付加することでフレームを生成し、後段の処理に渡す処理部である。
【００７６】
以上のように構成された復号装置２０の処理について説明する。
【００７７】
図６は、本実施の形態に係る復号装置２０の処理を示すフロー図である。
【００７８】
ステップＳ２０１において、復号部２０１は、符号化データを受信して復号することで復号対象フレームを取得する。
【００７９】
ステップＳ２０２において、復号装置２０は、復号対象フレームがキーフレームであるか否かに応じて処理を分岐する。復号対象フレームがキーフレームである場合（ステップＳ２０２でＹｅｓ）にはステップＳ２０３に進み、そうでない場合（ステップＳ２０２でＮｏ）には、ステップＳ２１１に進む。
【００８０】
ステップＳ２０３において、逆量子化部２０３は、復号対象フレームであるキーフレームを逆量子化する。
【００８１】
ステップＳ２０４において、逆量子化部２０３は、ステップＳ２０３で逆量子化したキーフレームを参照用保持部２０４に格納する。
【００８２】
ステップＳ２０５において、逆変換部２０５は、逆量子化部２０３が逆量子化した加算フレームに対して、逆変換処理を施す。
【００８３】
ステップＳ２０６において、デブロッキングフィルタ２０６は、逆変換部２０５が逆変換処理を施した後の加算フレームにおけるブロック境界に対してデブロッキングフィルタ処理を施す。
【００８４】
ステップＳ２０７において、生成部２０７は、フレームを生成し、後段の処理に渡す。
【００８５】
ステップＳ２１１において、加算部２０２は、復号部２０１が復号により生成したフレームと、参照用保持部２０４から読み込んだ参照用フレームとを加算することで、加算フレームを生成する。
【００８６】
ステップＳ２１２において、逆量子化部２０３は、加算部２０２が加算処理により生成した加算フレームを逆量子化する。
【００８７】
以降において、本実施の形態に係る符号化装置において、符号化データのサイズを削減する技術についてより詳細に説明する。より具体的には、本実施の形態に係る符号化装置は、符号化処理結果に応じて、新たなフレームをフレーム内符号化するか、又は、フレーム間符号化するか、言い換えれば、どのフレームをキーフレームとするかを適切に決定することで、符号化データのサイズを削減する。
【００８８】
図７は、本実施の形態に係る符号化装置の構成をより詳しく示すブロック図である。図８は、本実施の形態に係る制御部１１１により検出される、コンテンツにおけるスクロールの一例の説明図である。図９は、本実施の形態に係る制御部１１１により検出される、コンテンツにおけるシーン切替の一例の説明図である。
【００８９】
図７に示されるように、符号化装置１０Ａは、フレーム保持部１００と、取得部１０１と、ブロッキングフィルタ１０２と、変換部１０３と、差分部１０４Ａと、量子化部１０５と、符号化部１０６と、逆量子化部１０７と、参照用保持部１０８と、制御部１１１と、切替部１１２とを備える。
【００９０】
ここで、フレーム保持部１００と、取得部１０１と、ブロッキングフィルタ１０２と、変換部１０３と、量子化部１０５と、符号化部１０６と、逆量子化部１０７と、参照用保持部１０８とについては、上記符号化装置１０の同名の構成要素と同じ機能を有するので、詳細な説明を省略する。
【００９１】
差分部１０４Ａは、上記符号化装置１０における差分部１０４と同様、変換部１０３が変換処理を施した後の符号化対象フレームと、参照用保持部１０８が保持している参照用フレームとの差分を、差分フレームとして生成する処理部である。差分部１０４Ａが変換部１０３からフレームを取得する時点では、このフレームがキーフレームであるか又は差分フレームであるかは決定されておらず、後段の制御部１１１により切替部１１２の状態が制御されることで、このフレームがキーフレームになるか、差分フレームになるかが決定される。差分部１０４Ａに入力されたフレームがフレーム間符号化される（差分フレームになる）場合には、後段の切替部１１２を通じて量子化部１０５に提供される。一方、差分部１０４Ａに入力されたフレームがフレーム内符号化される（キーフレームになる）場合には、差分部１０４Ａに入力されたフレームが量子化部１０５に提供され、差分部１０４Ａが生成した差分フレームは後段の処理に使われない。
【００９２】
制御部１１１は、符号化部１０６が符号化により生成した符号化データに基づく判定を行い、判定結果に応じて新たな符号化対象フレームの符号化を制御する処理部である。具体的には、制御部１１１は、コンテンツに含まれる一連のフレームのうちの第一フレームを符号化部１０６がフレーム内符号化した場合には、一連のフレームのうち第一フレームの次の第二フレームをフレーム間符号化するよう制御する。また、制御部１１１は、一連のフレームのうちの第三フレームを符号化部１０６がフレーム間符号化した場合には、既にフレーム間符号化されたフレームのうち第三フレームを終端とする連続した第一所定数のフレームそれぞれのデータサイズが第一閾値以上であるとき、一連のフレームのうち第三フレームの次の第四フレームをフレーム内符号化するよう制御する。ここで、制御部１１１は、フレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、一連のフレームのうち第四フレームを始端とする連続した第二所定数のフレームをフレーム内符号化するよう制御してもよい。また、制御部１１１は、第一フレームを符号化部１０６がフレーム内符号化した場合には、一連のフレームのうちの第二フレーム以降のフレームを、再生順に順次にフレーム間符号化するよう制御し、第二フレーム以降のフレームのうちの第八フレームをフレーム間符号化した時点において、フレーム間符号化された第八フレームのデータサイズが第二閾値以上であるときには、一連のフレームのうち第八フレームの次の第九フレームをフレーム内符号化するよう制御してもよい。
【００９３】
制御部１１１は、符号化部１０６が符号化により生成した符号化データ（又は、当該符号化データの複製）を取得して、符号化データに含まれるフレームがキーフレームであるか否かを示す情報と、符号化データのデータサイズとを得る。そして、上記情報と上記データサイズとに基づく判定を行い、符号化装置１０Ａが次に符号化する新たな符号化対象フレームを、フレーム内符号化するか、又は、フレーム間符号化するか（言い換えれば、どのフレームをキーフレームにし、どのフレームを差分フレームにするか）を決定する。そして、制御部１１１は、決定結果に応じて、切替部１１２の状態を制御する。
【００９４】
制御部１１１による判定は、主としてフレームにおけるスクロール検出とシーン切替検出とに基づいてなされる。ここでは、スクロールとは、フレームに含まれる画素が全体的に一の方向に移動することを言い、例えばコンピュータグラフィックスにより生成された文字列画像がフレーム内で上下方向又は左右方向に移動すること、カメラにより撮影されたコンテンツにおいて、カメラの撮影方向が左右方向又は上下方向に振れる（パン、チルト、又は、手ぶれ）ことでフレーム内の画像がカメラの向きと反対方向に移動すること、などをいう（図８参照）。制御部１１１は、フレームをフレーム間符号化した場合に、フレーム間符号化されたフレームのデータサイズが、閾値Ａを超えることが所定値Ｂ回継続したことを、スクロールとして検出する。スクロールを検出した場合、制御部１１１は、連続する所定値Ａ個のフレームをフレーム内符号化する。上記閾値Ａは、上記第一閾値に相当する。また、所定値Ｂ及び所定値Ａは、それぞれ、第一所定数及び第二所定数に相当する。
【００９５】
なお、閾値Ａは、例えば過去の最新のフレーム内符号化されたフレームのデータサイズとすることができる。所定値Ｂは、１以上の自然数をとることができ、符号化されたフレームのデータサイズが突発的に大きくなってもスクロールを検出しないフレーム連続数に基づいて任意に定められ得る。所定値Ｂについては後で詳しく説明する。
【００９６】
また、シーン切替とは、連続するフレームの内容が不連続に切り替わることを言い、例えば、映画又はドラマなどにおける異なる場面への変更、又は、実写に基づくシーンからアニメーション若しくはコンピュータグラフィックスにより生成されたシーンへの変更等をいう（図９参照）。制御部１１１は、複数のフレームを連続してフレーム内符号化している場合において、フレーム内符号化されたフレームのデータサイズが所定値Ｃ以上変化したことを、シーン切替として検出する。上記所定値Ｃは、第三所定値に相当する。
【００９７】
また、制御部１１１は、イントラモードとインターモードとの２つの符号化モードのいずれかで、コンテンツに含まれる一連のフレームをフレーム内符号化又はフレーム間符号化するよう制御する。ここで、イントラモードとは、一連のフレームそれぞれをフレーム内符号化する符号化モードである。また、インターモードとは、一連のフレームのうちの一部のフレームをフレーム内符号化し、上記一部を除くフレームについては、フレーム内符号化したフレームからの差分を符号化する（つまり、フレーム間符号化する）符号化モードである。制御部１１１は、符号化部１０６が生成した符号化データに含まれるフレームがキーフレームであるか否かを示す情報と、符号化データのデータサイズとに基づいて、符号化モードをイントラモードとインターモードとに相互に切り替える。符号化モードを切り替えるための条件等については後で詳しく説明する。
【００９８】
なお、制御部１１１は、スクロール検出処理において、上記説明におけるスクロールの検出よりも早期にスクロールを検出することもできる。上記のとおり、制御部１１１は、スクロールが検出された後には所定数のフレームがフレーム内符号化され、その後のフレームがフレーム間符号化されるよう制御する。ここで、コンテンツにおけるスクロールが継続的に発生している場合には、所定数のフレームがフレーム内符号化された後にもスクロールが発生していることが想定される。そこで、所定数のフレームがフレーム内符号化された後には、連続して所定値Ｄ個（ここでＤ＜Ｂ）のフレーム間符号化されたフレームのデータサイズが閾値Ａを超えている場合に、スクロールが発生していることを検出する。このように早期にスクロールを検出することで、フレーム間符号化によるデータサイズの上昇を抑えることができる利点がある。
【００９９】
切替部１１２は、後段の量子化部１０５に提供されるフレームを、変換部１０３が変換処理を施した後のフレームとするか、又は、差分部１０４Ａが差分処理により生成した差分フレームとするかを切り替える切替部である。切替部１１２が、変換部１０３が変換処理を施した後のフレームを量子化部１０５に提供する状態、つまり、図９において端子ａと端子ｃとが接続される状態を状態Ａという。また、切替部１１２が、差分部１０４Ａが差分処理により生成した差分フレームを量子化部１０５に提供する状態、つまり、図面において端子ｂと端子ｃとが接続される状態を状態Ｂという。切替部１１２が状態Ａをとるか、状態Ｂをとるかは、制御部１１１により制御される。
【０１００】
なお、上記の差分部１０４Ａ及び切替部１１２の動作は、上記符号化装置１０の差分部１０４による、符号化対象フレームがキーフレームでない場合に上記差分を算出し、キーフレームである場合には上記差分を算出しないという動作と同様である。つまり、差分部１０４Ａ及び切替部１１２は、上記符号化装置１０の差分部１０４を、２つの構成要素に分けてより具体的に記載したものである。
【０１０１】
以上のように構成された符号化装置１０Ａの処理についてフロー図を用いて説明する。
【０１０２】
図１０は、本実施の形態に係る符号化装置１０Ａの処理を示すフロー図である。
【０１０３】
図１０に示されるように、符号化装置１０Ａは、符号化処理Ｓ３０１を実行し、符号化処理Ｓ３０１によって生成された符号化データを送信する送信処理Ｓ３０２を行う。その後、実行した符号化処理Ｓ３０１の結果に応じて符号化制御処理Ｓ３０３を実行する。送信処理Ｓ３０２と符号化制御処理Ｓ３０３とはどちらが先でもよい。
【０１０４】
符号化処理Ｓ３０１及び符号化制御処理Ｓ３０３について、以下で詳しく説明する。
【０１０５】
図１１は、実施の形態に係る符号化装置１０Ａの符号化処理Ｓ３０１を示すフロー図である。
【０１０６】
図１１におけるステップＳ１０１からＳ１０８の処理については、図４に示されるステップＳ１０１からＳ１０８の処理と実質的に同じである。ここで、ステップＳ１０４Ａは、ステップＳ１０４の処理の内容をより具体的にしたものである。
【０１０７】
ステップＳ１０４Ａにおいて、制御部１１１は、符号化対象フレームをフレーム内符号化するか又はフレーム間符号化するかを、切替部１１２の状態に応じて切り替える。すなわち、切替部１１２が状態Ａである場合（ステップＳ１０４Ａで「フレーム内符号化」）には、符号化対象フレームをフレーム内符号化する一連の処理（ステップＳ１０５〜Ｓ１０７）を行う。一方、切替部１１２が状態Ｂである場合（ステップＳ１０４Ａで「フレーム間符号化」）には、符号化対象フレームをフレーム間符号化する一連の処理（ステップＳ１１１〜Ｓ１１２）を行う。
【０１０８】
図１２Ａは、実施の形態に係る符号化装置１０Ａの符号化制御処理Ｓ３０３を示す第一のフロー図である。図１２Ｂは、実施の形態に係る符号化装置１０Ａの符号化制御処理Ｓ３０３を示す第二のフロー図である。
【０１０９】
図１２Ａに示されるように、ステップＳ４０１において、制御部１１１は、符号化部１０６により符号化されたフレームがキーフレームであるか否か、言い換えれば、符号化部１０６がフレームをフレーム内符号化したか、又は、フレーム間符号化したかを判定する。符号化部１０６により符号化されたフレームがキーフレームであると判定した場合（ステップＳ４０１でＹｅｓ）には、ステップＳ４０２に進み、そうでない場合（ステップＳ４０１でＮｏ）には、端子Ａを経て、ステップＳ４３１（図１２Ｂ参照）に進む。
【０１１０】
ステップＳ４０２において、制御部１１１は、現時点の符号化モードがイントラモードであるか、又は、インターモードであるかに基づいて処理を分岐する。現時点の符号化モードがイントラモードである場合（ステップＳ４０２で「イントラモード」）には、ステップＳ４０３に進み、現時点の符号化モードがインターモードである場合（ステップＳ４０２で「インターモード」）には、ステップＳ４２１に進む。
【０１１１】
ステップＳ４０３において、制御部１１１は、符号化されたフレームにおいてシーン切替が検出されたか否かを判定する。シーン切替が検出された場合（ステップＳ４０３でＹｅｓ）にはステップＳ４１１に進み、そうでない場合（ステップＳ４０３でＮｏ）には、ステップＳ４０４に進む。
【０１１２】
ステップＳ４０４において、制御部１１１は、カウンタＡをインクリメント（１加算）する。
【０１１３】
ステップＳ４０５において、制御部１１１は、カウンタＡが所定値Ａ以上であるか否かを判定する。カウンタＡが所定値Ａ以上であると判定した場合にはステップＳ４１１に進み、そうでない場合にはステップＳ４０６に進む。
【０１１４】
ステップＳ４０６において、制御部１１１は、一連のフレームのうちの次のフレームをフレーム内符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ａに維持する。
【０１１５】
ステップＳ４０７において、制御部１１１は、符号化されたフレーム（キーフレーム）のデータサイズを、後の処理のために保存する。ステップＳ４０７の処理を終えたら、本フロー図に示される一連の処理を終了する。
【０１１６】
ステップＳ４１１において、制御部１１１は、イントラモードからインターモードに遷移する。
【０１１７】
ステップＳ４１２において、制御部は、一連のフレームのうちの次のフレームをフレーム間符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ｂに変更する。ステップＳ４１２の処理を終えたらステップＳ４０７に進む。
【０１１８】
ステップＳ４２１において、制御部１１１は、一連のフレームのうちの次のフレームをフレーム間符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ｂに変更する。ステップＳ４２１の処理を終えたら、本フロー図に示される一連の処理を終了する。
【０１１９】
図１２Ｂに示されるように、ステップＳ４３１において、制御部１１１は、符号化部１０６が符号化により生成した符号化データのデータサイズが閾値Ａより大きいか否かを判定する。符号化データのデータサイズが閾値Ａより大きいと判定した場合（ステップＳ４３１でＹｅｓ）にはステップＳ４３２に進み、そうでない場合（ステップＳ４３１でＮｏ）には、ステップＳ４５１に進む。
【０１２０】
ステップＳ４３２において、制御部１１１は、カウンタＢをインクリメントする。
【０１２１】
ステップＳ４３３において、制御部１１１は、カウンタＢが所定値Ｂ以上であるか否かを判定する。カウンタＢが所定値Ｂ以上である場合（ステップＳ４３３でＹｅｓ）にはステップＳ４３５に進み、そうでない場合（ステップＳ４３３でＮｏ）には、ステップＳ４４１に進む。
【０１２２】
ステップＳ４３４において、制御部１１１は、インターモードからイントラモードに遷移する。
【０１２３】
ステップＳ４３５において、制御部１１１は、一連のフレームのうちの次のフレームをフレーム内符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ａに変更する。ステップＳ４２１の処理を終えたら、端子Ｂを経て、本フロー図に示される一連の処理を終了する。
【０１２４】
ステップＳ４４１において、制御部１１１は、『現時点の符号化モードであるインターモードがステップＳ４０５の条件「カウンタＡ≧所定値Ａ」の成立によりインターモードから変更されたものであり、かつ、カウンタＢが所定値Ｄ以上である』との条件を満たすか否かを判定する。この条件を満たすと、スクロールが早期に検出されたことになる。上記条件を満たすと判定した場合（ステップＳ４４１でＹｅｓ）にはステップＳ４４２に進み、そうでない場合（ステップＳ４４１でＮｏ）にはステップＳ４３５に進む。
【０１２５】
ステップＳ４４２において、制御部１１１は、インターモードからイントラモードに遷移する。ステップＳ４４２の処理を終えたらステップＳ４３５に進む。
【０１２６】
ステップＳ４５１において、制御部１１１は、符号化データのデータサイズが閾値Ｂ（第二閾値に相当）より大きいか否かを判定する。符号化データのデータサイズが閾値Ｂより大きいと判定した場合（ステップＳ４５１でＹｅｓ）にはステップＳ４５２に進み、そうでない場合（ステップＳ４５１でＮｏ）にはステップＳ４５３に進む。
【０１２７】
ステップＳ４５２において、制御部１１１は、一連のフレームのうちの次のフレームをフレーム内符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ａに変更する。ステップＳ４５２の処理を終えたら、端子Ｂを経て、本フロー図に示される一連の処理を終了する。
【０１２８】
ステップＳ４５３において、制御部１１１は、一連のフレームのうちの次のフレームをフレーム間符号化するよう制御する。具体的には、制御部１１１は、切替部１１２を状態Ｂに維持する。ステップＳ４５３の処理を終えたら、端子Ｂを経て、本フロー図に示される一連の処理を終了する。
【０１２９】
以上の一連の処理により、符号化装置１０Ａは、スクロール検出及びシーン検出に基づいて、符号化データのサイズを削減することができる。
【０１３０】
以降では、符号化装置１０Ａが行うスクロール検出及びシーン検出に基づく符号化データのデータサイズの削減効果についてのシミュレーション評価を、スクロール検出及びシーン検出に関わる処理とともに説明する。なお、以降の説明におけるグラフでは、一連のフレームを再生順に並べた場合のフレーム（フレームナンバ）を横軸に示し、フレームそれぞれが符号化されて生成されるフレームサイズを縦軸に示す。また、グラフ上の各モードでのデータサイズ等に対応するシンボルを結ぶ直線は、同種のシンボルの推移を分かりやすく示すための説明用の直線である。データサイズ等は、横軸の整数値に対応する各シンボルだけが意味をもち、直線のうち、隣接する整数値の間の部分は意味をもたないものとする。
【０１３１】
なお、以下において、「スクロール検出モード」という動作態様を用いて説明する。スクロール検出モードとは、図１２Ａ及び図１２Ｂのフロー図において、シーン切替検出処理に含まれるステップＳ４０３を除外したものに相当する。スクロール検出モードのフロー図を図１３に示す。図１３に示される各処理ステップは、図１２Ａ又は図１２Ｂの同名の処理ステップと同じ処理を行うものであるので、詳細な説明を省略する。
【０１３２】
まず、スクロール検出についてのシミュレーション結果を説明する。
【０１３３】
図１４〜図１７は、本実施の形態に係る符号化装置１０Ａによるスクロール検出の効果を説明する説明図である。
【０１３４】
まず、図１４を参照しながら、イントラモードのみの場合と、インターモードのみの場合とについて説明する。ここで、「イントラモードのみ」とは、常にイントラモードで動作し、イントラモードから他のモードに遷移しない動作態様をいう。また、「インターモードのみ」とは、常にインターモードで動作し、インターモードから他のモードに遷移しない動作態様をいう。
【０１３５】
図１４は、フレーム内の画像の動きが比較的少ない場合の、イントラモードのみ、及び、インターモードのみのそれぞれの場合における、符号化データのデータサイズを示している。
【０１３６】
イントラモードのみの場合では、符号化されたフレーム１のデータサイズが約３００バイトであり、フレームナンバが進むにつれて徐々にデータサイズが上昇している。このデータサイズの上昇は、フレームに含まれる画像の内容に依存したものであり、一般に、フレームに含まれる画像の動きが徐々に激しくなった場合などにこのようなデータサイズの上昇が観測される。
【０１３７】
インターモードのみの場合では、まず、フレーム１がキーフレームとしてフレーム内符号化される。その後、フレーム２以降のフレームが再生順に順次に、過去の最新のキーフレームであるフレーム１からの差分を用いてフレーム間符号化される。フレーム２以降のフレームが再生順に順次にフレーム間符号化されると、符号化されたフレームのデータサイズが徐々に上昇している。また、図１４には、各フレームについての閾値Ｂを示す破線が描かれている。ここでは、閾値Ｂは、当該フレームの直前のキーフレームのデータサイズの４／５としている。
【０１３８】
符号化されたフレームのデータサイズが閾値Ｂを超えないとき（フレーム２〜６）は、そのフレームの次のフレームはフレーム間符号化される（ステップＳ４５１でＮｏ、ステップＳ４５３）。そして、符号化されたフレーム７のデータサイズが閾値Ｂを超えると、その次のフレーム８はフレーム内符号化される（ステップＳ４５１でＹｅｓ、ステップＳ４５２）。
【０１３９】
図１４に示されるように、符号化装置１０Ａは、上記コンテンツを符号化する場合には、イントラモードのみで符号化するより、インターモードのみで符号化する方が、データサイズを小さくすることができる。
【０１４０】
なお、図１４のインターモードのみの符号化モードにおけるフレーム７が第八フレームに相当し、フレーム８が第九フレームに相当する。
【０１４１】
図１５は、フレーム内でスクロールが発生している場合の、イントラモードのみ、及び、インターモードのみのそれぞれの場合における符号化データのデータサイズを示している。
【０１４２】
イントラモードのみの場合では、符号化されたフレーム１のデータサイズが約３００バイトであり、フレームナンバが進むにつれて徐々にデータサイズが上昇している。図１４での説明と同様、このデータサイズの上昇は、フレームに含まれる画像の内容に依存したものである。
【０１４３】
インターモードのみの場合では、まず、フレーム１がキーフレームとしてフレーム内符号化され、その後、フレーム２以降のフレームが再生順に順次に、フレーム１からの差分を用いてフレーム間符号化される。また、図１５には、各フレームについての閾値Ａを示す破線が描かれている。ここでは、閾値Ａは、当該フレームの直前のキーフレームのデータサイズとしている。
【０１４４】
ここで、符号化されたフレーム２のデータサイズが閾値Ａを超えると、その次のフレーム３はフレーム内符号化される（ステップＳ４３１でＹｅｓ、ステップＳ４３５）。その後、フレーム４がフレーム内符号化され、そのデータサイズが閾値を超えることで、その次のフレーム５がフレーム内符号化される。以降同様に繰り返される。
【０１４５】
図１５に示されるように、スクロールが発生しているコンテンツを符号化する場合には、符号化装置１０Ａは、インターモードのみで符号化するより、イントラモードのみで符号化する方が、データサイズを小さくすることができる。
【０１４６】
すなわち、コンテンツにスクロールが発生しているか否かに応じて、イントラモードのみ、及び、インターモードのみ、のうち、データサイズを小さくすることができる符号化モードが用いられる。
【０１４７】
図１６は、図１５と同じコンテンツである（フレーム内でスクロールが発生している）場合の、インターモードのみ、及び、インターモードにおいてスクロール検出に基づいてイントラモードに遷移するモード（以降、スクロール検出モードともいう）のそれぞれの場合における符号化データのデータサイズを示している。なお、スクロール検出処理に用いられる所定値Ｂ（図１２ＢのステップＳ４３３）を２としている。
【０１４８】
インターモードのみの場合の符号化フレームのデータサイズは、図１５で示したものと同一である。
【０１４９】
スクロール検出モードの場合では、フレーム４まではインターモードのみのデータサイズと同じであるが、フレーム５からはイントラモードのみのデータサイズと同じになる。
【０１５０】
これは、フレーム４をフレーム間符号化した時点において、既にフレーム間符号化されたフレームのうちフレーム４を終端とする連続した２個のフレーム（つまり、フレーム２及び４）それぞれのデータサイズが閾値Ａを超えていることに基づいて、インターモードからイントラモードに遷移したことによる。
【０１５１】
このように、インターモードにおいてスクロール検出に基づいてイントラモードに遷移するようにすると、インターモードのみの場合よりもデータサイズの総量を小さくすることができる効果がある。
【０１５２】
なお、図１６のスクロール検出モードにおけるフレーム１、２、４及び５が、それぞれ、第一フレーム、第二フレーム、第三フレーム及び第四フレームに相当する。
【０１５３】
なお、スクロール検出処理において所定値Ｂを１とは異なる値に設定することができることによる効果を以下で説明する。
【０１５４】
図１７は、コンテンツ内で突発的に大きな動きが生じた場合における、イントラモードのみ、スクロール検出モード（所定値Ｂ＝１）、及び、スクロール検出モード（所定値Ｂ＝２）での符号化データのデータサイズを示している。突発的な大きな動きは、フレーム６で生じたとする。なお、「スクロール検出モード（所定値Ｂ＝１）」との記載は、スクロール検出モードであって、所定値Ｂを１とするものを意味する。以降でもこの記載を用いる。
【０１５５】
スクロール検出モード（所定値Ｂ＝１）では、フレーム６における１回のデータサイズの上昇に基づいて、インターモードからイントラモードへ遷移し、それ以降のフレームをイントラモードで符号化する。
【０１５６】
一方、スクロール検出モード（所定値Ｂ＝２）では、フレーム６における１回のデータサイズの上昇だけでは、イントラモードへ遷移せず、それ以降のフレームをインターモードで符号化する。
【０１５７】
コンテンツ内の動きが突発的であれば、その後のコンテンツ内の動きの大きさは、突発的な上昇の前と同程度になると予想される。よって、一回だけのデータサイズの上昇があってもインターモードを維持する方が望ましい。スクロール検出モード（所定値Ｂ＝２）では、一回だけのデータサイズの上昇があってもインターモードを維持することができる効果がある。
【０１５８】
なお、所定値Ｂの大きさは、突発的にデータサイズが大きくなることを許容するフレームの連続数に応じて任意に、例えば５又は３０というように、定めることができる。
【０１５９】
次に、シーン切替検出の効果について説明する。
【０１６０】
図１８〜図２０は、本実施の形態に係る符号化装置１０Ａによるシーン切替検出の効果を説明する説明図である。
【０１６１】
図１８は、コンテンツ中にシーン切替が含まれている場合の、イントラモードのみ、及び、インターモードのみのそれぞれ場合における、符号化データのデータサイズを示している。シーン切替はフレーム１０に含まれているとする。また、シーン切替の前のフレーム１〜９ではコンテンツ中にスクロールが含まれており、シーン切替の後のフレーム１１以降には、スクロールが含まれていないとする。
【０１６２】
イントラモードのみの場合では、符号化されたフレーム１のデータサイズが約３００バイトであり、フレームナンバが進むにつれて徐々にデータサイズが上昇している。また、シーン切替を含むフレーム１０でデータサイズが一段と上昇している。
【０１６３】
インターモードのみの場合では、シーン切替の前のフレームについては、フレーム間符号化されたフレーム２、４、６、８及び１０のデータサイズが、当該フレームの直前のキーフレームのデータサイズを超えている。
【０１６４】
上記の、イントラモードのみの場合、及び、インターモードのみの場合それぞれのデータサイズは、削減することができる余地がある。具体的には、イントラモードのみの場合に着目すると、フレーム１２以降のフレームをフレーム間符号化すればデータサイズを削減できる余地がある。また、インターモードのみの場合に着目すると、フレーム２、４、６、８及び１０をフレーム内符号化すればデータサイズを削減できる余地がある。
【０１６５】
図１９では、コンテンツ中にシーン切替が含まれている場合の、イントラモードのみ、インターモードのみ、及び、スクロール検出モードのそれぞれ場合における、符号化データのデータサイズを示している。シーン切替の位置等は図１８と同じである。また、イントラモードのみ、及び、インターモードのみのグラフは、図１８と同じである。
【０１６６】
スクロール検出モードでは、インターモードのみの場合に比べて、フレーム６以降（より具体的にはフレーム６及び８）のデータサイズが削減されている。しかしながら、シーン切替の後（具体的にはフレーム１２以降）にインターモードのみの場合よりデータサイズが大きくなる現象が生じている。これは、スクロール検出モードにおいてスクロール検出後には、スクロールが含まれているか否かに関わらずフレームをフレーム内符号化することを続けるので、フレーム間符号化する場合よりデータサイズが大きくなることが原因である。
【０１６７】
図２０では、コンテンツ中にシーン切替が含まれている場合の、スクロール検出モード及びシーン切替検出モードのそれぞれの場合における、符号化データのデータサイズを示している。シーン切替の位置等は図１８と同じである。スクロール検出モードのグラフは、図１８と同じである。なお、シーン切替検出モードとは、図１２Ａ及び図１２Ｂに示されるフロー図に示されるすべての処理を行うモードをいう。
【０１６８】
図２０に示されるシーン切替検出モードでは、シーン切替を検出した時点（つまりフレーム１０を符号化した時点）でインターモードに遷移し、その次のフレーム１１をフレーム間符号化する（ステップＳ４０３でＹｅｓ、ステップＳ４１１、Ｓ４１２）。これにより、シーン切替後にフレーム内符号化を継続する。これにより、フレーム内符号化を継続することでフレーム間符号化をするよりデータサイズが大きくなること（図１９参照）を回避することができる効果がある。
【０１６９】
なお、図２０のシーン検出モードにおけるフレーム１０、９及び１１が、それぞれ、第五フレーム、第六フレーム及び第七フレームに相当する。
【０１７０】
次に、スクロール検出の早期判定の効果について説明する。
【０１７１】
図２１及び図２２は、本実施の形態に係る符号化装置１０Ａによるスクロール検出の早期判定の効果を説明する説明図である。
【０１７２】
図２１は、フレーム内でスクロールが発生している場合の、イントラモードのみ、及び、スクロール検出モードのそれぞれの場合における符号化データのデータサイズを示している。コンテンツは、図１５におけるものと同じである。ここで、ステップＳ４０５（図１２Ａ）の所定値Ａを５としている。
【０１７３】
この場合、符号化部１０６は、スクロール検出モードにおいて連続してフレーム間符号化されたフレーム（フレーム２及び４）のデータサイズが閾値Ａを超えていることに基づいてインターモードからイントラモードに遷移し、フレーム５〜９の５個のフレームをフレーム内符号化する。その後、インターモードに遷移し（Ｓ４０５でＹｅｓ、Ｓ４１１）、連続してフレーム間符号化されたフレーム（フレーム１０及び１２）が閾値Ａを超えていることに基づいてインターモードからイントラモードに遷移し、フレーム１３以降のフレームをフレーム内符号化する。
【０１７４】
ここで、スクロールが継続的に発生している場合には、インターモードからイントラモードへの遷移を早期に行うことで、符号化されたフレームのデータサイズを抑制することができる。より具体的には、フレーム１２をフレーム内符号化をすれば、当該フレームをフレーム間符号化する場合より、データサイズを小さくすることができる。
【０１７５】
図２２は、コンテンツ内でスクロールが発生している場合の、イントラモードのみ、スクロール検出モード、及び、スクロール早期検出モードのそれぞれの場合における符号化データのデータサイズを示している。コンテンツは、図１５におけるものと同じである。ここで、ステップＳ４４１（図１２Ｂ）の所定値Ｄを１としている。
【０１７６】
図２２において、イントラモードでフレーム５〜９をフレーム内符号化した後、イントラモードに遷移すると、次のフレーム１０をフレーム間符号化した時点で、データサイズが閾値Ａを超える。これによりスクロールを早期検出する条件を満たす（Ｓ４４１でＹｅｓ）ことでイントラモードに遷移しフレーム１１以降をフレーム内符号化する。
【０１７７】
これにより、符号化部１０６は、フレーム１２をフレーム内符号化する。これにより、フレーム１２をフレーム間符号化するスクロール検出モードの場合より、データサイズを小さくすることができる効果がある。
【０１７８】
なお、符号化装置１０Ａは、さらに、符号化部１０６がフレーム内符号化又はフレーム間符号化することで生成した符号化データを送信する送信部（不図示）を備えてもよい。その場合に、さらに、符号化データに含まれるフレームがフレーム間符号化されたフレームであって、かつ、当該フレームのデータサイズが閾値以上である場合には、送信部が当該フレームを送信することを禁止する送信制御部（不図示）を備えてもよい。上記閾値は、例えば、送信部がその直前に送信したフレームのデータサイズに応じて定められるものとすることができ、より具体的には、送信部がその直前に送信したフレームのデータサイズの２倍とすることができる。
【０１７９】
このようなフレームの送信を禁止すると、復号装置によりこのフレームを再生することはできなくなるが、１フレームの再生がなくなる程度であれば、コンテンツの再生に大きな影響を与えないと考えられる。これにより、復号装置で再生されるコンテンツへの影響を抑えるとともに、ネットワークにおける通信量を抑制することができる。
【０１８０】
（実施の形態の変形例）
本変形例において、符号化データのサイズを削減する符号化装置等において、さらにデータサイズの圧縮効果を高める技術について説明する。
【０１８１】
図２３は、実施の形態の変形例に係る符号化装置１０Ｂの構成を示すブロック図である。
【０１８２】
図２３に示されるように、符号化装置１０Ｂは、フレーム保持部１００と、取得部１０１と、ブロッキングフィルタ１０２と、変換部１０３と、差分部１０４Ａと、量子化部１０５と、符号化部１０６と、逆量子化部１０７と、参照用保持部１０８と、制御部１１１Ａと、切替部１１２と、再符号化用保持部１２１と、切替部１２２とを備える。
【０１８３】
ここで、制御部１１１Ａ、再符号化用保持部１２１及び切替部１２２を除く構成要素については、上記実施の形態の同名の構成要素と同じ機能を有するので、詳細な説明を省略する。
【０１８４】
制御部１１１Ａは、コンテンツに含まれる一連のフレームのうちの第一フレームを符号化部１０６がフレーム内符号化した場合には、一連のフレームのうち第一フレームの次の第二フレームをフレーム間符号化するよう制御する。また、制御部１１１Ａは、一連のフレームのうちの第三フレームを符号化部１０６がフレーム間符号化した場合には、第三フレームを含む連続した所定数のフレーム間符号化されたフレームのそれぞれのデータサイズが第一閾値以上であるとき、第三フレームをフレーム内符号化するよう制御する。
【０１８５】
制御部１１１Ａは、上記実施の形態における切替部１１２の制御に加えて、切替部１２２、量子化部１０５及び符号化部１０６の制御を行う。制御部１１１Ａは、上記実施の形態における制御部１１１と同様に、符号化部１０６が生成した符号化データに含まれるフレームがキーフレームであるか否かを示す情報と、符号化データのデータサイズとを得る。そして、上記情報と上記データサイズとに基づく判定を行い、符号化装置１０Ｂが次に符号化する新たな符号化対象フレームを、フレーム内符号化するか、若しくは、フレーム間符号化するか、又は、符号化部１０６が既に符号化したフレームを改めてフレーム内符号化するかを決定する。そして、制御部１１１Ａは、決定結果に応じて、切替部１１２及び切替部１２２の状態を制御する。また、改めてフレームをフレーム内符号化すると決定した場合には、量子化部１０５及び符号化部１０６に処理を実行させる。
【０１８６】
再符号化用保持部１２１は、変換部１０３が変換処理を施した符号化対象フレームを保持する記憶部である。再符号化用保持部１２１が保持するフレームは、コンテンツに含まれる一連のフレームのうち、変換部１０３が出力するフレームの１つ前のフレームである。
【０１８７】
切替部１２２は、差分部１０４Ａ及び切替部１１２に提供されるフレームを、変換部１０３が変換処理を施した後のフレームとするか、又は、再符号化用保持部１２１が保持しているフレームとするかを切り替える切替部である。切替部１２２が、再符号化用保持部１２１が保持しているフレームを差分部１０４Ａ及び切替部１１２に提供する状態、つまり、図２３において端子ｄと端子ｆとが接続される状態を状態Ｄという。また、切替部１２２が、差分部１０４Ａが差分処理により生成した差分フレームを差分部１０４Ａ及び切替部１１２に提供する状態、つまり、図面において端子ｅと端子ｆとが接続される状態を状態Ｅという。切替部１２２が状態Ｄをとるか、状態Ｅをとるかは、制御部１１１Ａにより制御される。
【０１８８】
図２４は、本変形例の変形例に係る符号化装置１０Ｂの処理を示すフロー図である。
【０１８９】
図２４に示されるように、符号化装置１０Ｂは、符号化処理Ｓ３０１を実行し、実行した符号化処理Ｓ３０１の結果に応じて符号化制御処理Ｓ３０３Ａを実行する。そして、符号化処理Ｓ３０１及び符号化制御処理Ｓ３０３Ａにより生成された符号化フレームを送信する送信処理Ｓ３０２を行う。
【０１９０】
符号化処理Ｓ３０１及び送信処理Ｓ３０２については、上記実施の形態におけるものと同じであるので説明を省略する。符号化制御処理Ｓ３０３Ａについて、以下で詳しく説明する。
【０１９１】
図２５は、本変形例に係る符号化装置１０Ｂの処理を示すフロー図である。
【０１９２】
ステップＳ５０１において、制御部１１１Ａは、符号化部１０６により符号化されたフレームがキーフレームであるか否か、言い換えれば、符号化部１０６がフレームをフレーム内符号化したか、又は、フレーム間符号化したかを判定する。符号化部１０６により符号化されたフレームがキーフレームであると判定した場合（ステップＳ５０１でＹｅｓ）には、ステップＳ５０２に進み、そうでない場合（ステップＳ５０１でＮｏ）にはステップＳ５１１に進む。
【０１９３】
ステップＳ５０２において、制御部１１１Ａは、符号化されたフレーム（キーフレーム）のデータサイズを、後の処理のために保存する。ステップＳ５０２の処理を終えたら、本フロー図に示される一連の処理を終了する。
【０１９４】
ステップＳ５１１において、制御部１１１Ａは、符号化部１０６が符号化により生成した符号化データのデータサイズが閾値Ａより大きいか否かを判定する。符号化データのデータサイズが閾値Ａより大きいと判定した場合（ステップＳ５０２でＹｅｓ）にはステップＳ５１２に進み、そうでない場合（ステップＳ５０２でＮｏ）には、ステップＳ５２１に進む。
【０１９５】
ステップＳ５１２において、制御部１１１Ａは、符号化部１０６が符号化したフレーム（つまり、ステップＳ５０１で判定の対象となったフレーム）を、改めて、フレーム内符号化するよう制御する。具体的には、制御部１１１Ａは、切替部１２２を状態Ｄにし、切替部１１２を状態Ａにしたうえで、量子化部１０５及び符号化部１０６により各処理を実行させる。ステップＳ５１２の処理を終えたら、本フロー図に示される一連の処理を終了する。この後に行われる送信処理では、上記ステップＳ５１２で新たにフレーム内符号化により生成されたフレームが送信される。
【０１９６】
ステップＳ５２１において、制御部１１１Ａは、符号化データのデータサイズが閾値Ｂより大きいか否かを判定する。符号化データのデータサイズが閾値Ｂより大きいと判定した場合（ステップＳ５２１でＹｅｓ）にはステップＳ５２２に進み、そうでない場合（ステップＳ５２１でＮｏ）にはステップＳ５２３に進む。
【０１９７】
ステップＳ５２２において、制御部１１１Ａは、一連のフレームのうちの次のフレームをフレーム内符号化するよう制御する。具体的には、制御部１１１Ａは、切替部１２２を状態Ｅにし、切替部１１２を状態Ａに変更する。ステップＳ５２２の処理を終えたら、本フロー図に示される一連の処理を終了する。
【０１９８】
ステップＳ５２３において、制御部１１１Ａは、一連のフレームのうちの次のフレームをフレーム間符号化するよう制御する。具体的には、制御部１１１Ａは、切替部１２２を状態Ｅにし、切替部１１２を状態Ｂに変更する。ステップＳ５２３の処理を終えたら、本フロー図に示される一連の処理を終了する。
【０１９９】
これにより、符号化装置１０Ｂは、符号化データのサイズを削減する符号化装置等において、さらにデータサイズの圧縮効果を高めることができる。
【０２００】
以上のように本実施の形態に係る符号化装置は、フレーム内符号化した後のフレームをフレーム間符号化することで符号化データのサイズを削減する。また、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときには、その後のフレームをフレーム内符号化することでフレームのデータサイズを削減する。フレーム間符号化されたフレームのデータサイズは、フレーム内の画像全体の動きが比較的大きい場合には、フレーム内符号化されたフレームのデータサイズより大きくなることがある。このとき、新たなフレームをフレーム内符号化すれば、そのフレームのデータサイズは、フレーム間符号化された場合よりも小さくなる。これらの制御により、符号化装置は、符号化データのサイズを削減することができる。
【０２０１】
また、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときには、その後の連続した所定数のフレームをフレーム内符号化する。コンテンツの一連のフレームにおいて、フレーム内の画像全体が連続的に移動する場合（例えば、スクロールがある場合、又は、撮影時に継続的に手ぶれがあった場合）には、フレーム間符号化されたフレームのデータサイズが連続して比較的大きくなり、フレーム間符号化による差分符号化の効果が比較的小さくなる。その場合、符号化装置は、新たなフレーム以降の所定数のフレーム内符号化することで、それらのフレームのデータサイズを、フレーム間符号化された場合よりも小さくすることができる。
【０２０２】
また、符号化装置は、フレーム内の画像全体が連続的に移動することでフレーム内符号化を続けて行っているときに、符号化されたフレームのデータサイズが比較的大きく変化した場合には、フレーム内符号化を続けることを中止し、フレームをフレーム間符号化する。上記のようにデータサイズが比較的大きく変化する一因は、フレーム内のシーンが切り替えられたことによる場合がある。このような場合には、その後、フレーム内の画像全体の連続的な移動がなくなる可能性があるので、フレーム内符号化を中止して、フレーム間符号化を行うことで、符号化データのサイズを削減することができる。
【０２０３】
また、符号化装置は、フレーム間符号化されたフレームのデータサイズが比較的大きい場合に、新たなフレームをフレーム内符号化する。フレーム間符号化されたフレームとキーフレームとの差分が比較的大きい場合に、新たなフレームを新たなキーフレームとしてフレーム内符号化することで、それ以降のフレームと新たなキーフレームとの差分を比較的小さくすることができるからである。
【０２０４】
また、符号化装置は、フレーム間符号化されたフレームのうち、データサイズが比較的大きいフレームを送信することを禁止することで、ネットワークにおける通信量を抑制することができる。なお、このようにフレームの送信を禁止すると、復号装置によりこのフレームを再生することはできなくなるが、１フレームの再生がなくなる程度であれば、コンテンツの再生に大きな影響を与えないと考えられる。
【０２０５】
また、符号化装置は、フレーム内符号化の後にはフレーム間符号化をすることで符号化データのサイズを削減する。また、符号化装置は、フレーム間符号化されたフレームのデータサイズが連続して比較的大きいときに、その符号化したフレームを改めてフレーム内符号化することでフレームのデータサイズを削減する。これらの制御により、符号化装置は、符号化データのサイズを削減することができる。
【０２０６】
以上、本発明の符号化装置、及び、コンテンツ再生システム等について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０２０７】
本発明は、符号化データのサイズを削減する符号化装置及びコンテンツ再生システム等に利用可能である。具体的には、公共スペース又は商業施設などにおいて複数設置され、画像等を再生する再生装置、及び、再生装置にコンテンツを提供する送信装置などに利用可能である。
【符号の説明】
【０２０８】
１  送信装置
２  再生装置
３  ネットワーク
１０、１０Ａ、１０Ｂ  符号化装置
１１  ＣＰＵ
１２  メインメモリ
１３  ストレージ
２０  復号装置
１００  フレーム保持部
１０１  取得部
１０２  ブロッキングフィルタ
１０３  変換部
１０４、１０４Ａ  差分部
１０５  量子化部
１０６  符号化部
１０７、２０３  逆量子化部
１０８、２０４  参照用保持部
１１１、１１１Ａ  制御部
１１２、１２２  切替部
１２１  再符号化用保持部
２０１  復号部
２０２  加算部
２０５  逆変換部
２０６  デブロッキングフィルタ
２０７  生成部
Ｓ  コンテンツ再生システム
【図１】
2018061075.tif 000003
【図２】
2018061075.tif 000004
【図３】
2018061075.tif 000005
【図４】
2018061075.tif 000006
【図５】
2018061075.tif 000007
【図６】
2018061075.tif 000008
【図７】
2018061075.tif 000009
【図８】
2018061075.tif 000010
【図９】
2018061075.tif 000011
【図１０】
2018061075.tif 000012
【図１１】
2018061075.tif 000013
【図１２Ａ】
2018061075.tif 000014
【図１２Ｂ】
2018061075.tif 000015
【図１３】
2018061075.tif 000016
【図１４】
2018061075.tif 000017
【図１５】
2018061075.tif 000018
【図１６】
2018061075.tif 000019
【図１７】
2018061075.tif 000020
【図１８】
2018061075.tif 000021
【図１９】
2018061075.tif 000022
【図２０】
2018061075.tif 000023
【図２１】
2018061075.tif 000024
【図２２】
2018061075.tif 000025
【図２３】
2018061075.tif 000026
【図２４】
2018061075.tif 000027
【図２５】
2018061075.tif 000028