(57)【特許請求の範囲】
【請求項１】
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化装置であって、
１画面が複数にスライスされた映像信号を受け取って前処理を行う前処理部と、
前記前処理部の出力を受け取って符号化処理を行い、ストリームデータを生成する画像符号化部と、を有し、
前記画像符号化部は、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もり、
前記第１イントラスライスの情報として、前記第１シーケンスのイントラ発生情報量および前記第１シーケンスのイントラスライスライン数の情報を取得し、
前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
ことを特徴とする画像符号化装置。
【請求項２】
さらに、
前記第１シーケンスのイントラ発生情報量、前記第１シーケンスのイントラスライスライン数および前記第１シーケンスのイントラアクティビティを保持する第１情報用バッファを有する、
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
さらに、
前記第２シーケンスのイントラ発生情報量，前記第２シーケンスのイントラスライスライン数および前記第２シーケンスのイントラアクティビティを保持する第２情報用バッファを有する、
ことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記画像符号化部は、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第１シーケンスのイントラアクティビティと前記第２シーケンスのイントラアクティビティの差分を検出する、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の画像符号化装置。
【請求項５】
前記画像符号化部は、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第２シーケンスのイントラアクティビティが、前記第１シーケンスのイントラアクティビティより大きいとき、前記算出式から求めた前記第２シーケンスのイントラスライスライン数Ｎを減少させ、
前記第２シーケンスのイントラスライスライン数Ｎを減少させた分、前記第２シーケンスのインタースライスライン数Ｍを増加させる、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の画像符号化装置。
【請求項６】
前記画像符号化部は、
前記第２シーケンスのイントラスライスライン数Ｎが前記対象イントラスライスの符号化ライン数よりも小さいとき、前記第２シーケンスのイントラスライスライン数Ｎの分の符号化処理を行った後で、さらに、前記第２シーケンスのイントラスライスライン数Ｎと前記対象イントラスライスの符号化ライン数の差に相当する数の分の符号化処理を行う、
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の画像符号化装置。
【請求項７】
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化方法であって、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もり、
前記第１イントラスライスの情報として、前記第１シーケンスのイントラ発生情報量および前記第１シーケンスのイントラスライスライン数の情報を取得し、
前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
ことを特徴とする画像符号化方法。
【請求項８】
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化プログラムであって、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もり、
前記第１イントラスライスの情報として、前記第１シーケンスのイントラ発生情報量および前記第１シーケンスのイントラスライスライン数の情報を取得し、
前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
処理を、処理装置に実行させる、
ことを特徴とする画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で言及する実施例は、画像符号化装置、画像符号化方法および画像符号化プログラムに関する。
【背景技術】
【０００２】
近年、動画データの圧縮符号化方式として、様々な方式が提案され、また、標準化されている。そして、携帯電話やスマートフォンのテレビ電話といった低速／低画質のものから、ハイビジョンテレビ放送などの大容量／高画質の動画まで幅広い用途に適用され、実用化されている。
【０００３】
ところで、例えば、テレビ会議システムや監視カメラといった画質よりも低遅延を重視するものでは、例えば、漸進的復号化リフレッシュ(ＧＤＲ：Gradual Decoder Refresh)方式に基づいて画像の符号化(低遅延エンコード)が行われている。
【０００４】
このＧＤＲは、例えば、低速リンクでのシリアル化遅延がＩ(Intra-coded：イントラ)フレームのパケットの到着遅延やパケット破棄の原因となり得るため、イントラの画像データを複数のフレーム(ピクチャ)に分割して送信を行うものである。
【０００５】
なお、ＧＤＲフレームは、イントラのマクロブロック部(イントラスライス：Intraスライス)と予測されたマクロブロック部(インタースライス：Interスライス)を含んでいる。そして、デコーダ(復号器)は、全てのＧＤＲフレームを受信した時に画像を完全にリフレッシュすることができる。
【０００６】
ところで、従来、画像データの画像符号化装置、画像符号化方法および画像符号化プログラムとしては、様々な提案がなされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２８７２０７号公報
【特許文献２】特開平０９−２７１０２６号公報
【特許文献３】特開２００４−１４７３０６号公報
【非特許文献】
【０００８】
【非特許文献１】高田 和夫、"Cisco TelePresence / Video テクノロジー 解説"、[online]、シスコシステムズ合同会社, ソリューションズ システムズ エンジニアリング, コンサルティング システムズ エンジニア, Cisco Plus Japan 2011、[平成２６年７月２日検索]、インターネット＜http://www.cisco.com/web/JP/event/ciscoplus2011/pdf/1C-5.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、例えば、テレビ会議システムや監視カメラでは、ＧＤＲ方式に基づいて低遅延エンコードを実現しているものがある。ここで、イントラ予測に基づく符号化は、画像の中で一部分に限られており、また、イントラ予測に基づく符号化は、情報量が大きくなる傾向がある。
【００１０】
そして、イントラを一部分に限定したとしても、画像の上方から下方に向けて符号化を進めていく際、例えば、通信速度による情報量の上限(目標情報量)を超えてしまう虞がある。
【００１１】
このように、符号化した結果の情報量が目標情報量を超える場合には、その情報を破棄するか、或いは、イントラの情報量を間引いたりするため、結果として、画質の劣化を来たすことになってしまう。
【課題を解決するための手段】
【００１２】
一実施形態によれば、漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化装置であって、１画面が複数にスライスされた映像信号を受け取って前処理を行う前処理部と、画像符号化部と、を有する画像符号化装置が提供される。前記画像符号化部は、前記前処理部の出力を受け取って符号化処理を行い、ストリームデータを生成する。
【００１３】
また、前記画像符号化部は、第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得する。
【００１４】
さらに、前記画像符号化部は、取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もり、前記第１イントラスライスの情報として、前記第１シーケンスのイントラ発生情報量および前記第１シーケンスのイントラスライスライン数の情報を取得し、前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、Ｉintraを、前記第１シーケンスのイントラ発生情報量、Ｉinterを、前記第１シーケンスのインター発生情報量、Ｌintraを、前記第１シーケンスのイントラスライスライン数、Ｌinterを、前記第１シーケンスのインタースライスライン数、Ｌtotalを、１ピクチャあたりのライン数、および、Ｐtotalを、１ピクチャあたりの目標情報量として、次の算出式により求める。
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
【発明の効果】
【００１５】
開示の画像符号化装置、画像符号化方法および画像符号化プログラムは、画質劣化を抑えつつ映像のエンコードにおける遅延を低減することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施例に係る画像符号化方法の一例を説明するための図である。
【図２】図２は、本実施例に係る画像符号化装置の一例を示すブロック図である。
【図３】図３は、１周目のシーケンスにおける処理の一例を説明するためのフローチャートである。
【図４】図４は、図３に示すフローチャートにおけるバッファ処理を説明するための図である。
【図５】図５は、２周目以降のシーケンスにおける処理の一例を説明するためのフローチャートである。
【図６】図６は、図５に示すフローチャートにおけるバッファ処理を説明するための図である。
【図７】図７は、図５に示すフローチャートにおけるIntraアクティビティ補正処理をより詳細に説明するためのフローチャートである。
【図８】図８は、図７に示すフローチャートにおけるバッファ処理を説明するための図である。
【図９】図９は、図５に示すフローチャートにおける符号化処理をより詳細に説明するためのフローチャートである。
【図１０】図１０は、図９に示すフローチャートにおけるスライス画像を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、画像符号化装置、画像符号化方法および画像符号化プログラムの実施例を、添付図面を参照して詳述する。なお、本実施例の画像符号化装置、画像符号化方法および画像符号化プログラムは、ＧＤＲ(漸進的復号化リフレッシュ)方式に基づいて画像の符号化を行うものに適用される。
【００１８】
図１は、本実施例に係る画像符号化方法の一例を説明するための図である。以下では、一例として、１つの画像を４つに分割(スライス)し、その１／４ずつスライスした画像信号(画面１／４の映像信号)を符号化して映像ストリームを出力する場合を説明する。
【００１９】
図１において、参照符号ＳＱ１は、符号化を行っているシーケンスの直前のシーケンス(第１シーケンス)を示し、ＳＱ２は、符号化を行っているシーケンス(第１シーケンスの直後のシーケンス：第２シーケンス)を示す。
【００２０】
ここで、第１シーケンスＳＱ１において、１つの画像は、４つのピクチャＰ１１〜Ｐ１４で形成され、第２シーケンスＳＱ２において、１つの画像は、５つのピクチャＰ２１〜Ｐ２５で形成されている。
【００２１】
例えば、第１シーケンスＳＱ１の１番目ピクチャＰ１１において、最上段のスライス領域Ｓ０は、Intra予測の領域であり、大きな情報量を有し、２段目〜最下段のスライス領域Ｓ１〜Ｓ３は、Inter予測の領域であり、小さな情報量を有する。
【００２２】
すなわち、以下の説明は、４ピクチャ(フレーム)かけてシーケンスをリフレッシュ(Intra領域を一周)する場合のものであるが、本実施例の適用は、１つの画像を４つにスライスして処理するものに限定されないのはいうまでもない。
【００２３】
第１シーケンスＳＱ１において、１つの画像は、４つのピクチャＰ１１〜Ｐ１４で形成されているが、４番目ピクチャＰ１４では、Intra領域が予め定められた大きさ(目標情報量)を超過している。すなわち、第１シーケンスＳＱ１では、４番目ピクチャＰ１４におけるIntra領域Ｒofが、上限である目標情報量ＴＩＱを超えて上方へはみ出している。
【００２４】
なお、例えば、第１シーケンスＳＱ１のように、４番目ピクチャＰ１４におけるIntra領域Ｒofが目標情報量ＴＩＱを超過している場合には、画像をリフレッシュするのが困難なため、例えば、そのイントラ(Intra)画像を破棄することになる。
【００２５】
このように、Intra領域が目標情報量を超えている場合、第１シーケンスＳＱ１の後の第２シーケンスＳＱ２では、第１シーケンスＳＱ１における情報(Intraスライスの発生情報量、Intraスライスライン数およびピクチャ全体の発生情報量)に基づいた処理を行う。
【００２６】
例えば、１秒間に３０フレーム(画像)の動画を想定した場合、近接するフレーム間での画像変化は小さく、第２シーケンスＳＱ２における処理を、第１シーケンスの情報に基づいて行うのが好ましいと考えられる。そこで、例えば、第１シーケンスＳＱ１のように、４番目ピクチャＰ１４におけるIntra領域Ｒofが目標情報量ＴＩＱを超過している場合、第２シーケンスＳＱ２では、１つの画像を５つのピクチャＰ２１〜Ｐ２５で形成して、Intra領域を分割する。
【００２７】
すなわち、第２シーケンスＳＱ２において、３番目ピクチャＰ２３と４番目ピクチャＰ２４の間で、スライス前処理を行って、第２シーケンスＳＱ２における全てのピクチャＰ２１〜Ｐ２５のIntra領域が目標情報量ＴＩＱを超過しないように制御する。
【００２８】
ここで、スライス前処理は、例えば、第１シーケンスＳＱ１の４番目ピクチャＰ１４における予測情報量から、一旦、Ｌaに相当するIntraスライスライン数としたが、さらに、情報量がＬbだけ超過しそうなので、Intraスライスライン数をさらに削減する。
【００２９】
すなわち、第２シーケンスの４番目ピクチャＰ２４および５番目ピクチャＰ２５では、Intra予測のライン数を削減し、ＳＱ１のＰ１４に対して２つのピクチャＰ２４，Ｐ２５を割り当て、各ピクチャにおけるIntra予測の情報量を低減するようになっている。
【００３０】
このように、本実施例は、第１シーケンスＳＱ１の後に、実際に符号化を行う第２シーケンスＳＱ２における４および５番目ピクチャＰ２４，Ｐ２５のIntra予測(Intraスライス)Ｓd1，Ｓd2が目標情報量を超えないように、Intraスライスライン数を制御する。なお、Inter(インター)スライスライン数は、１ピクチャあたりのライン数からIntraスライスライン数を減算することにより求められる。
【００３１】
一般化すると、第２シーケンスのIntraスライスライン数(イントラスライスライン数)をＮ、第２シーケンスのInterスライスライン数(インタースライスライン数)をＭとして、ＭおよびＮは、次の算出式により求めることができる。
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
【００３２】
上記算出式において、Ｉintraは第１シーケンスのIntraスライスのIntra発生情報量、Ｉinterは第１シーケンスのInter発生情報量、Ｌintraは第１シーケンスのIntraスライスライン数、そして、Ｌinterは第１シーケンスのInterスライスライン数を示す。また、Ｌtotalは１ピクチャあたりのライン数、さらに、Ｐtotalは１ピクチャあたりの目標情報量を示す。
【００３３】
ここで、例えば、Ｉintra／Ｌintraは、第１シーケンスの４番目ピクチャＰ１４におけるIntraの１ライン当たりの発生情報量を表し、Ｉinter／Ｌinterは、第１シーケンスの４番目ピクチャＰ１４におけるInterの１ライン当たりの発生情報量を表す。
【００３４】
すなわち、例えば、Ｎ×Ｉintra／Ｌintraにより、ピクチャＰ１４におけるIntra全体の発生情報量が表され、Ｍ×Ｉinter／Ｌinterにより、ピクチャＰ１４におけるInter全体の発生情報量が表される。
【００３５】
これにより、例えば、同じ４番目ピクチャＰ１４，Ｐ２４において、第２シーケンスのIntraスライスライン数Ｎを、１ピクチャあたりの目標情報量Ｐtotalによる制限を加えた上で算出する(見積もる)ことができる。
【００３６】
すなわち、まず、第２シーケンスＳＱ２における４番目ピクチャＰ２４のIntra予測Ｓd1が目標情報量を超えないように、Intraスライスライン数を見積もる。さらに、第２シーケンスＳＱ２における５番目ピクチャＰ２５のIntra予測Ｓd2が目標情報量を超えないように、Intraスライスライン数を見積もる。
【００３７】
なお、第２シーケンスＳＱ２における４および５番目ピクチャＰ２４，Ｐ２５のIntra予測Ｓd1，Ｓd2が目標情報量Ｐtotalを超えないように、Intraスライスライン数を見積もった後、IntraアクティビティActNによる補正を行う。なお、Intraアクティビティに関しては、図３以降を参照して、後に詳述する。
【００３８】
このように、本実施例によれば、符号化においては、Intraスライスの発生情報量が支配的であるため、Intraスライスライン数を削減することにより、１ピクチャ当たりの発生情報量を目標情報量に収束させることが可能になる。すなわち、本実施例によれば、画質劣化を抑えつつ、映像のエンコードにおける遅延、換言すると、映像入力からストリーム出力までのエンコード遅延を低減することが可能になる。
【００３９】
図２は、本実施例に係る画像符号化装置の一例を示すブロック図である。図２において、参照符号１は画像処理部、２は映像信号取り込み部、３は前処理部、そして、４は画像符号化部を示す。
【００４０】
さらに、参照符号５は前シーケンスの情報用バッファ(第１情報用バッファ)、６はテンポラリ情報用バッファ(第２情報用バッファ)、そして、７はストリームバッファを示す。なお、図２に示す画像符号化装置は、例えば、ＬＳＩなどの集積回路として実現される。
【００４１】
画像処理部１は、光学系(図示しない)および撮像素子(ＣＭＯＳイメージセンサ：図示しない)を介して得られた画像(映像信号)を処理するもので、例えば、１画面を１／４ずつスライスし、画面１／４の映像信号を生成して出力する。
【００４２】
映像信号取り込み部２は、画像処理部１からの映像信号(画面１／４の映像信号を)を取り込んで、前処理部３に出力する。前処理部３は、後に詳述する前処理を行い、その前処理された信号を画像符号化部４に出力する。
【００４３】
画像符号化部４は、後に詳述する前シーケンスの情報用バッファ５およびテンポラリ情報用バッファ６との間でデータの遣り取りを行って画像(映像)の符号化処理を行い、ストリームデータを生成してストリームバッファ７に出力する。
【００４４】
図２に示されるように、画像符号化部４は、制御部(処理装置)４０１、Intra(イントラ)スライスライン判定部４０２、差分画像生成部４０３、ＤＣＴ(離散コサイン変換)部４０４、量子化部４０５、エントロピ符号化部４０６および逆符号化部４０７を含む。
【００４５】
さらに、画像符号化部４は、ＩＤＣＴ(逆離散コサイン変換)部４０８、動き補償部４０９、画内予測部４１０、予測画像生成部４１１、フレームメモリ４１２および動きベクトル検出部４１３を含む。
【００４６】
ここで、本実施例の画像符号化装置の画像符号化部４には、上述した前処理部３の出力を受け取って、Intraスライスラインの判定を行うIntraスライスライン判定部４０２が設けられている。
【００４７】
また、制御部４０１は、バッファ５および６との間でデータを遣り取りすると共に、Intraスライスライン判定部４０２との間で信号を遣り取りして、量子化部４０５，エントロピ符号化部４０６および画内予測部４１０等を制御する。なお、制御部４０１は、エントロピ符号化部４０６からの信号も受け取っている。
【００４８】
ここで、差分画像生成部４０３，ＤＣＴ部４０４，量子化部４０５，エントロピ符号化部４０６，逆符号化部４０７およびＩＤＣＴ部４０８は一般的なものであり、その説明は省略する。
【００４９】
さらに、動き補償部４０９，画内予測部４１０、予測画像生成部４１１、フレームメモリ４１２および動きベクトル検出部４１３も一般的なものであり、その説明は省略する。なお、図２は、画像符号化装置の単なる一例であり、本実施例の画像符号化装置は、様々に変形および変更することが可能なのはいうまでもない。
【００５０】
図３は、１周目のシーケンスにおける処理の一例を説明するためのフローチャートであり、図４は、図３に示すフローチャートにおけるバッファ処理を説明するための図である。
【００５１】
図２および図３を参照して、前のシーケンス情報が無い１周目のシーケンス(第１シーケンス)における処理を説明する。第１シーケンスにおける処理が開始すると、画像処理部１により１画面が１／４ずつスライスされた画面１／４の映像信号を、映像信号取り込み部２により取り込む(ＳＴ１０)。
【００５２】
そして、その画面１／４の映像信号がIntraスライスかどうかを判定し(ＳＴ１１)、Intraスライスではない(Ｎｏ)と判定すると、その取り込みをした画面１／４をInter符号化する(ＳＴ１２)。さらに、Inter符号化した時の発生情報量を取得し(ＳＴ１３)、第１シーケンスにおける処理を終了する。
【００５３】
すなわち、ステップＳＴ１１において、取り込みをした画面１／４がIntraスライスではないと判定すると、一般的な処理と同様に、画像符号化部４によりInter符号化が行われる。なお、Inter符号化した時の発生情報量は、エントロピ符号化部４０６を介して制御部４０１が取得することになる。
【００５４】
一方、ステップＳＴ１１において、取り込みをした画面１／４がIntraスライスである(Ｙｅｓ)と判定すると、前処理部３により、IntraアクティビティActNを取得する(ＳＴ１４)。
【００５５】
ここで、ステップＳＴ１４以降の処理で使用するIntraアクティビティActNは、例えば、画面の複雑度が分かる統計情報ならどのような統計情報を適用してもよい。また、前述したステップＳＴ１１におけるIntraスライスの判定式は、Intraスライス部分の画面の複雑度に応じて、Intraスライスライン数Ｎを適応的に算出(補正)可能であれば、どのような判定式を適用してもよい。これは、後述する２周目以降のシーケンスにおける処理でも同様である。
【００５６】
次に、Intraスライスライン判定部４０２により、Intraスライスライン数(Intraスライスのライン数)Ｎ＝取り込みをした画面１／４のライン数とし(ＳＴ１５)、また、Intraスライスの残りのライン数Ｎ'＝０として初期化する(ＳＴ１６)。
【００５７】
さらに、取り込みをした画面１／４をIntra符号化し(ＳＴ１７)、今回のIntraスライスの情報(Intraスライスライン数Ｎ，発生情報量，IntraアクティビティActN)を前シーケンスの情報用バッファ(第１情報用バッファ)５に格納する(ＳＴ１８)。
【００５８】
例えば、ステップＳＴ１８でバッファ５に格納する情報は、図４(a)に示されるように、スライス０〜３に対するIntraスライスライン数Ｌintra-0〜Ｌintra-3、発生情報量Ｉintra-0〜Ｉintra-3およびIntraアクティビティACTintra-0〜ACTintra-3である。
【００５９】
ここで、スライス０〜３は、例えば、前述した図１における第１シーケンスＳＱ１のピクチャＰ１１のスライス領域Ｓ０〜Ｓ３に対応する。また、バッファ５に格納する今回(第１シーケンス)のIntraスライスの情報は、次のシーケンス(第２シーケンス)の処理に使用される。
【００６０】
そして、テンポラリ情報用バッファ(第２情報用バッファ)６を０クリアし(ＳＴ１９)、第１シーケンスにおける処理を終了する。すなわち、ステップＳＴ１９では、図４(b)に示されるように、テンポラリ情報用バッファ６における、スライスＸに対するIntraスライスライン数tmpＬintra-X、発生情報量tmpＩintra-XおよびIntraアクティビティtmpACTintra-Xを全て０クリアする。これにより、テンポラリ情報用バッファ６は、初期化されることになる。
【００６１】
図５は、２周目以降のシーケンスにおける処理の一例を説明するためのフローチャートであり、図６は、図５に示すフローチャートにおけるバッファ処理を説明するための図である。
【００６２】
図２および図５を参照して、前のシーケンス情報が有る２周目以降のシーケンス(第２シーケンス)における処理を説明する。第２シーケンスにおける処理が開始すると、画像処理部１により１画面が１／４ずつスライスされた画面１／４の映像信号を、映像信号取り込み部２により取り込む(ＳＴ２０)。
【００６３】
そして、その画面１／４の映像信号がIntraスライスかどうかを判定し(ＳＴ２１)、Intraスライスではない(Ｎｏ)と判定すると、その取り込みをした画面１／４をInter符号化する(ＳＴ２２)。さらに、Inter符号化した時の発生情報量を取得し(ＳＴ２３)、第２シーケンスにおける処理を終了する。
【００６４】
すなわち、ステップＳＴ２１において、取り込みをした画面１／４がIntraスライスではないと判定した場合は、図３を参照して説明した１周目のシーケンス(第１シーケンス)における処理と同様である。
【００６５】
一方、ステップＳＴ２１において、取り込みをした画面１／４がIntraスライスである(Ｙｅｓ)と判定すると、前処理部３により、IntraアクティビティActNを取得する(ＳＴ２４)。
【００６６】
ここで、第２シーケンス(２周目以降のシーケンス)では、前のシーケンスによるIntraスライスの情報が前シーケンスの情報用バッファ５に格納されているので、その前シーケンスにおけるIntraスライス情報を使用することになる。
【００６７】
すなわち、前シーケンス(第１シーケンス)の同位置のスライス情報より、Intraスライスライン数Ｎを見積もる(ＳＴ２５)。ここで、図６(a)は、ステップＳＴ２５で使用するIntraスライス情報を示し、図４(a)に示す前のシーケンス(第１シーケンス)の処理におけるステップＳＴ１８でバッファ５に格納したIntraスライス情報を読み出したものである。
【００６８】
例えば、今回、処理するのがスライス０ならば、図６(a)におけるスライス０のデータＤ01(スライス０に対するIntraスライスライン数Ｌintra-0および発生情報量Ｉintra-0)を、バッファ５から読み出して、Intraスライスライン数Ｎを見積もる。
【００６９】
そして、前シーケンスの同位置のIntraアクティビティとActNより、Intraスライスライン数Ｎを補正する(ＳＴ２６)。ここで、例えば、今回、処理するのがスライス０ならば、図６(a)におけるスライス０のIntraアクティビティActintra-0をバッファ５から読み出し、ステップＳＴ２４で取得したIntraアクティビティActNと共に使用して、Intraスライスライン数Ｎを補正する。さらに、Intraスライスライン数Ｎに応じた符号化処理を行う(ＳＴ２７)。
【００７０】
なお、ステップＳＴ２６におけるIntraアクティビティ補正処理(Ｎの補正処理)は、図７および図８を参照して、後に詳述し、また、ステップＳＴ２７における符号化処理は、図９および図１０を参照して、後に詳述する。
【００７１】
次に、今回のIntraスライスの情報(Intraスライスライン数Ｎ，発生情報量，IntraアクティビティActN)をテンポラリ情報用バッファ６に格納する(ＳＴ２８)。すなわち、ステップＳＴ２８では、図６(b)に示されるように、テンポラリ情報用バッファ６に対して、スライスＸに対するIntraスライスライン数tmpＬintra-X、発生情報量tmpＩintra-XおよびIntraアクティビティtmpACTintra-Xを格納する。
【００７２】
さらに、Intraスライスの残りのライン数Ｎ'＝０が成り立つかどうかを判定する(ＳＴ２９)。ここで、ステップＳＴ２９において、Ｎ'＝０が成立しない(Ｎｏ)、すなわち、Intraスライスの残りのライン数Ｎ'が有ると判定すると、処理を終了する。
【００７３】
一方、ステップＳＴ２９において、Ｎ'＝０が成立する(Ｙｅｓ)、すなわち、Intraスライスの残りのライン数Ｎ'が無いと判定すると、テンポラリ情報用バッファ６の値を前シーケンスの情報用バッファ５の該当スライス位置へコピーする(ＳＴ３０)。
【００７４】
例えば、該当スライス位置がスライス３の場合、図６(b)に示すテンポラリ情報用バッファ６に格納された値(tmpＬintra-X，tmpＩintra-X， tmpACTintra-X)が、図６(a)に示す前シーケンスの情報用バッファ５のスライス３のデータＤ３１としてコピーされる。
【００７５】
そして、テンポラリ情報用バッファ６に０クリアして初期化し(ＳＴ３１)、処理を終了する。なお、このシーケンス(第１シーケンスに相当)により前シーケンスの情報用バッファ５に格納されたIntraスライスの情報(データ)は、同様にして、次のシーケンス(第２シーケンスに相当)の処理で使用されることになる。
【００７６】
図７は、図５に示すフローチャートにおけるIntraアクティビティ補正処理(ステップＳＴ２６の処理)をより詳細に説明するためのフローチャートであり、図８は、図７に示すフローチャートにおけるバッファ処理を説明するための図である。
【００７７】
前述のように、ステップＳＴ２６では、前シーケンスの同位置のIntraアクティビティとActNよりIntraスライスライン数Ｎを補正するが、このＮの補正処理が開始すると、まず、前シーケンスの同位置のスライスのIntraスライスライン数を取得する(ＳＴ４０)。
【００７８】
ここで、例えば、今回、スライス０の処理を行っていれば、図８に示す前シーケンスの情報用バッファ５におけるスライス０のIntraスライスライン数Ｌintra-0(データＤ03)を読み出して取得することになる。
【００７９】
さらに、前シーケンスの同位置のスライスのIntraアクティビティActNを取得する(ＳＴ４１)。ここで、今回、スライス０の処理を行っていれば、図８に示す前シーケンスの情報用バッファ５におけるスライス０のIntraアクティビティActintra-0(データＤ04)を読み出して取得することになる。
【００８０】
そして、今回のIntraスライスライン数辺りのアクティビティCIAPLを、ActN／Ｎ＝CIAPLとして算出し(ＳＴ４２)、前シーケンスのIntraスライスライン数辺りのアクティビティPIAPLを、Actintra-0／数Ｌintra-0＝PIAPLとして算出する(ＳＴ４３)。
【００８１】
次に、CIAPL＞PIAPLが成り立つかどうかを判定し(ＳＴ４４)、CIAPL＞PIAPLが成立する(Ｙｅｓ)と判定すると、Ｘ＝CIAPL／PIAPLとし(ＳＴ４５)、Intraスライスライン数Ｎ＝Ｎ／Ｘとして算出し(ＳＴ４６)、処理を終了する。ここで、ステップＳＴ４５におけるCIAPL／PIAPLの計算では、例えば、小数点以下は切り上げることとする。
【００８２】
一方、ステップＳＴ４４において、CIAPL＞PIAPLが成立しない(Ｎｏ)と判定すると、Ｘ＝PIAPL／CIAPLとし(ＳＴ４７)、Intraスライスライン数Ｎ＝Ｎ＊Ｘとして算出し(ＳＴ４８)、処理を終了する。ここで、ステップＳＴ４７におけるPIAPL／CIAPLの計算では、例えば、小数点以下は切り捨てることとする。
【００８３】
このようにして、前のシーケンス(第１シーケンス)におけるIntraスライス情報を使用して見積もったIntraスライスライン数Ｎに対して、Intraアクティビティによる補正処理を行うことができる。
【００８４】
このように、本実施例によれば、ライン数決定の際には、基にした過去ピクチャの情報から算出されるIntraアクティビティと現スライスのIntraアクティビティの差分に基づいた補正を行うようになっており、例えば、シーン変化にも対応することができる。なお、図７に示すフローチャートは、単なる一例を示すものであり、Intraアクティビティによる補正処理は、様々な補正処理を適用することが可能である。
【００８５】
図９は、図５に示すフローチャートにおける符号化処理(ステップＳＴ２７の処理)をより詳細に説明するためのフローチャートであり、図１０は、図９に示すフローチャートにおけるスライス画像を説明するための図である。
【００８６】
前述のように、ステップＳＴ２７では、Intraスライスライン数Ｎに応じた符号化処理を行うが、この符号化処理が開始すると、まず、Intraスライスの残りのライン数Ｎ'＝０が成り立つかどうかを判定する(ＳＴ５０)。
【００８７】
ステップＳＴ５０において、Ｎ'＝０が成立する(Ｙｅｓ)と判定すると、符号化ライン数＝スライスライン数とし(ＳＴ５１)、符号化ライン数＞Ｎが成り立つかどうかを判定する(ＳＴ５２)。
【００８８】
一方、ステップＳＴ５０において、Ｎ'＝０が成立しない(Ｎｏ)と判定すると、符号化ライン数＝スライスライン数とし(ＳＴ５１)、符号化ライン数＝Ｎ'とし(ＳＴ５６)、さらに、スライスライン数−Ｎ'分、Inter符号化を行って、ステップＳＴ５２に進む。ここで、スライスライン数，Intraスライスライン数Ｎ，および，Intraスライスの残りのライン数Ｎ'は、例えば、図１０に示されるような関係になっている。
【００８９】
ステップＳＴ５２において、符号化ライン数＞Ｎが成立する(Ｙｅｓ)と判定すると、Ｎ'＝符号化ライン数−Ｎとし(ＳＴ５３)、さらに、Ｎ分、Intra符号化を行う(ＳＴ５４)。また、ステップＳＴ５２において、符号化ライン数＞Ｎが成立しない(Ｎｏ)と判定すると、Ｎ'＝０とし(ＳＴ５８)、さらに、Ｎ分、Intra符号化を行う(ＳＴ５４)。
【００９０】
そして、再び、Ｎ'＝０が成り立つかどうかを判定する(ＳＴ５５)。ステップＳＴ５５において、Ｎ'＝０が成立する(Ｙｅｓ)と判定すると、そのまま処理を終了し、Ｎ'＝０が成立しない(Ｎｏ)と判定すると、Ｎ'分、Inter符号化を行い(ＳＴ５９)、その後、処理を終了する。なお、上述した符号化処理は(ステップＳＴ２７の処理)は、単なる例であり、様々な変形および変更が可能なのはいうまでもない。
【００９１】
このように、本実施例によれば、符号化を行う前に、予め、前シーケンスの発生情報量を用いた予測、並びに、Intraアクティビティによる補正を行い、Intraスライスライン数を決定しておくことができる。これにより、符号化中に情報量が発生し過ぎて、以降の画像の情報量の割り当てを削減するといった処理が不要となり、その結果、画質の劣化を抑えつつ、エンコード遅延を低減することが可能となる。
【００９２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【００９３】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化装置であって、
１画面が複数にスライスされた映像信号を受け取って前処理を行う前処理部と、
前記前処理部の出力を受け取って符号化処理を行い、ストリームデータを生成する画像符号化部と、を有し、
前記画像符号化部は、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もる、
ことを特徴とする画像符号化装置。
【００９４】
（付記２）
前記画像符号化部は、
前記第１イントラスライスの情報として、前記第１シーケンスのイントラ発生情報量および前記第１シーケンスのイントラスライスライン数の情報を取得する、
ことを特徴とする付記１に記載の画像符号化装置。
【００９５】
（付記３）
前記画像符号化部は、前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
ことを特徴とする付記２に記載の画像符号化装置。
【００９６】
（付記４）
さらに、
前記第１シーケンスのイントラ発生情報量、前記第１シーケンスのイントラスライスライン数および前記第１シーケンスのイントラアクティビティを保持する第１情報用バッファを有する、
ことを特徴とする付記２または付記３に記載の画像符号化装置。
【００９７】
（付記５）
さらに、
前記第２シーケンスのイントラ発生情報量，前記第２シーケンスのイントラスライスライン数および前記第２シーケンスのイントラアクティビティを保持する第２情報用バッファを有する、
ことを特徴とする付記４に記載の画像符号化装置。
【００９８】
（付記６）
前記画像符号化部は、さらに、
前記第１シーケンスのイントラアクティビティと前記第２シーケンスのイントラアクティビティの差分を検出する、
ことを特徴とする付記５に記載の画像符号化装置。
【００９９】
（付記７）
前記画像符号化部は、さらに、
前記第２シーケンスのイントラアクティビティが、前記第１シーケンスのイントラアクティビティより大きいとき、前記算出式から求めた前記第２シーケンスのイントラスライスライン数Ｎを減少させ、
前記第２シーケンスのイントラスライスライン数Ｎを減少させた分、前記第２シーケンスのインタースライスライン数Ｍを増加させる、
ことを特徴とする付記５に記載の画像符号化装置。
【０１００】
（付記８）
前記画像符号化部は、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第１シーケンスのイントラアクティビティと前記第２シーケンスのイントラアクティビティの差分を検出する、
ことを特徴とする付記１乃至付記３のいずれか１項に記載の画像符号化装置。
【０１０１】
（付記９）
前記画像符号化部は、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第２シーケンスのイントラアクティビティが、前記第１シーケンスのイントラアクティビティより大きいとき、前記算出式から求めた前記第２シーケンスのイントラスライスライン数Ｎを減少させ、
前記第２シーケンスのイントラスライスライン数Ｎを減少させた分、前記第２シーケンスのインタースライスライン数Ｍを増加させる、
ことを特徴とする付記１乃至付記３のいずれか１項に記載の画像符号化装置。
【０１０２】
（付記１０）
前記画像符号化部は、
前記第２シーケンスのイントラスライスライン数Ｎが前記対象イントラスライスの符号化ライン数よりも小さいとき、前記第２シーケンスのイントラスライスライン数Ｎの分の符号化処理を行った後で、さらに、前記第２シーケンスのイントラスライスライン数Ｎと前記対象イントラスライスの符号化ライン数の差に相当する数の分の符号化処理を行う、
ことを特徴とする付記１乃至付記９のいずれか１項に記載の画像符号化装置。
【０１０３】
（付記１１）
前記第１イントラスライスは、複数のピクチャに対する符号化が行われる前記第１シーケンスにおいて、前記第１イントラスライスの情報量が前記目標情報量を超える第１ピクチャに含まれ、
前記対象イントラスライスは、複数のピクチャに対する符号化が行われる前記第２シーケンスにおいて、前記第１ピクチャに対応する第２ピクチャに含まれる、
ことを特徴とする付記１乃至付記１０のいずれか１項に記載の画像符号化装置。
【０１０４】
（付記１２）
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化方法であって、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もる、
ことを特徴とする画像符号化方法。
【０１０５】
（付記１３）
前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
ことを特徴とする付記１２に記載の画像符号化方法。
【０１０６】
（付記１４）
さらに、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第２シーケンスのイントラアクティビティが、前記第１シーケンスのイントラアクティビティより大きいとき、前記算出式から求めた前記第２シーケンスのイントラスライスライン数Ｎを減少させ、
前記第２シーケンスのイントラスライスライン数Ｎを減少させた分、前記第２シーケンスのインタースライスライン数Ｍを増加させる、
ことを特徴とする付記１２または付記１３に記載の画像符号化方法。
【０１０７】
（付記１５）
前記第２シーケンスのイントラスライスライン数Ｎが前記対象イントラスライスの符号化ライン数よりも小さいとき、前記第２シーケンスのイントラスライスライン数Ｎの分の符号化処理を行った後で、さらに、前記第２シーケンスのイントラスライスライン数Ｎと前記対象イントラスライスの符号化ライン数の差に相当する数の分の符号化処理を行う、
ことを特徴とする付記１２乃至付記１４のいずれか１項に記載の画像符号化方法。
【０１０８】
（付記１６）
漸進的復号化リフレッシュ方式に基づいて画像の符号化を行う画像符号化プログラムであって、
第１シーケンスの後に、符号化が行われる第２シーケンスにおける対象イントラスライスに対して、前記第１シーケンスにおける、前記対象イントラスライスに対応する第１イントラスライスの情報を取得し、
取得した前記第１イントラスライスの情報に基づいて、目標情報量を超えないように、前記第２シーケンスのイントラスライスライン数およびインタースライスライン数を見積もる、
処理を、処理装置に実行させる、
ことを特徴とする画像符号化プログラム。
【０１０９】
（付記１７）
さらに、
前記第２シーケンスのイントラスライスライン数Ｎおよびインタースライスライン数Ｍを、
Ｉintraを、前記第１シーケンスのイントラ発生情報量、
Ｉinterを、前記第１シーケンスのインター発生情報量、
Ｌintraを、前記第１シーケンスのイントラスライスライン数、
Ｌinterを、前記第１シーケンスのインタースライスライン数、
Ｌtotalを、１ピクチャあたりのライン数、および、
Ｐtotalを、１ピクチャあたりの目標情報量として、
次の算出式により求める、
Ｎ×Ｉintra／Ｌintra＋Ｍ×Ｉinter／Ｌinter＝Ｐtotal
Ｎ＋Ｍ＝Ｌtotal
処理を、前記処理装置に実行させる、
ことを特徴とする付記１６に記載の画像符号化プログラム。
【０１１０】
（付記１８）
さらに、
前記第１イントラスライスに対して、前記第１シーケンスのイントラアクティビティを取得し、
前記対象イントラスライスに対して、前記第２シーケンスのイントラアクティビティを取得し、
前記第２シーケンスのイントラアクティビティが、前記第１シーケンスのイントラアクティビティより大きいとき、前記算出式から求めた前記第２シーケンスのイントラスライスライン数Ｎを減少させ、
前記第２シーケンスのイントラスライスライン数Ｎを減少させた分、前記第２シーケンスのインタースライスライン数Ｍを増加させる、
処理を、前記処理装置に実行させる、
ことを特徴とする付記１６または付記１７に記載の画像符号化プログラム。
【０１１１】
（付記１９）
前記第２シーケンスのイントラスライスライン数Ｎが前記対象イントラスライスの符号化ライン数よりも小さいとき、前記第２シーケンスのイントラスライスライン数Ｎの分の符号化処理を行った後で、さらに、前記第２シーケンスのイントラスライスライン数Ｎと前記対象イントラスライスの符号化ライン数の差に相当する数の分の符号化処理を行う、
処理を、前記処理装置に実行させる、
ことを特徴とする付記１６乃至付記１８のいずれか１項に記載の画像符号化プログラム。
【符号の説明】
【０１１２】
１    画像処理部
２    映像信号取り込み部
３    前処理部
４    画像符号化部
５    前シーケンスの情報用バッファ(第１情報用バッファ)
６    テンポラリ情報用バッファ(第２情報用バッファ)
７    ストリームバッファ
４０１    制御部(処理装置)
４０２    Intraスライスライン判定部
４０３    差分画像生成部
４０４    ＤＣＴ部
４０５    量子化部
４０６    エントロピ符号化部
４０７    逆符号化部
４０８    ＩＤＣＴ部
４０９    動き補償部
４１０    画内予測部
４１１    予測画像生成部
４１２    フレームメモリ
４１３    動きベクトル検出部
【図１】
0006398569.tif 000002
【図２】
0006398569.tif 000003
【図３】
0006398569.tif 000004
【図４】
0006398569.tif 000005
【図５】
0006398569.tif 000006
【図６】
0006398569.tif 000007
【図７】
0006398569.tif 000008
【図８】
0006398569.tif 000009
【図９】
0006398569.tif 000010
【図１０】
0006398569.tif 000011