(57)【要約】【課題】符号化後の画像の品質レベルを指定した符号化において、目標符号量での符号化を実現するための符号化の実行回数を限定的にする。【解決手段】画像符号化装置１００は、指定された品質レベルで画像を符号化する符号化部１１０と、符号量に応じた品質レベルを推定する推定部１２０と、制御部１３０とを備え、制御部１３０は、符号化部１１０に前記画像を第１の品質レベルで符号化させ、推定部１２０は、符号化部１１０により前記画像が前記第１の品質レベルで符号化された場合の符号量と目標符号量との差に基づいて第２の品質レベルを推定し、制御部１３０は、前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、符号化部１１０に前記画像を第２の品質レベルで符号化させる。【選択図】      図１
2018174406.tif 000002
【特許請求の範囲】
【請求項１】
指定された品質レベルで画像を符号化する符号化手段と、
符号量に応じた品質レベルを推定する推定手段と、
制御手段と
を備え、
前記制御手段は、
前記符号化手段に前記画像を第１の品質レベルで符号化させ、
前記推定手段は、
前記符号化手段により前記画像が前記第１の品質レベルで符号化された場合の符号量と目標符号量との差に基づいて第２の品質レベルを推定し、
前記制御手段は、
前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記符号化手段に前記画像を第２の品質レベルで符号化させる
画像符号化装置。
【請求項２】
前記符号化手段は、
前記第１の品質レベルと前記第２の品質レベルとが前記条件を満たす場合に、前記第２の品質レベルで符号化された符号化データを出力し、
前記第１の品質レベルと前記第２の品質レベルとが前記条件を満たさない場合に、前記第１の品質レベルで符号化された符号化データを出力する
請求項１に記載の画像符号化装置。
【請求項３】
前記符号化手段は、
前記第１の品質レベルと前記第２の品質レベルとが異なる場合に、前記第２の品質レベルで符号化された符号化データを出力し、
前記第１の品質レベルと前記第２の品質レベルとが同じである場合に、前記第１の品質レベルで符号化された符号化データを出力する
請求項２に記載の画像符号化装置。
【請求項４】
前記推定手段は、
エントロピーが異なる複数の画像の品質レベルと符号量の対応関係を用いて前記第２の品質レベルを推定する
請求項１から請求項３までのいずれか１項に記載の画像符号化装置。
【請求項５】
前記推定手段は、
前記第１の品質レベルを、前記目標符号量と前記複数の画像のいずれかの対応関係とを用いて推定する
請求項４に記載の画像符号化装置。
【請求項６】
画像を第１の品質レベルで符号化し、
前記画像が前記第１の品質レベルで符号化された場合の符号量と、目標符号量との差に基づいて第２の品質レベルを推定し、
前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記画像を第２の品質レベルで符号化する
画像符号化方法。
【請求項７】
コンピュータに、
画像を第１の品質レベルで符号化する処理と、
前記画像が前記第１の品質レベルで符号化された場合の符号量と、目標符号量との差に基づいて第２の品質レベルを推定する処理と、
前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記画像を第２の品質レベルで符号化する処理と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像符号化装置等に関する。
【背景技術】
【０００２】
画像を符号化する符号化器には、符号化後の符号量が符号化後でなければ不明なものがある。このような符号化器には、符号化された画像の復号後の品質レベルを指定できるものが存在する。
【０００３】
このような符号化器を用いて、目標とする符号量（以下「目標符号量」ともいう。）になるように符号化を実行するためには、ある品質レベルで符号化を実行してその符号量を特定し、その符号量に基づいて決定された品質レベルで符号化を実行する、といった試行を繰り返すことで符号量を目標符号量に近付ける必要がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−０３２４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような処理は、符号化の実行回数や、目標符号量で符号化できるまでに要する時間が定まらず、数回の試行で符号量を精度良く推定することが困難であるという問題がある。
【０００６】
本開示の例示的な目的は、符号化後の画像の品質レベルを指定した符号化において、目標符号量での符号化を実現するための符号化の実行回数を限定的にすることである。
【課題を解決するための手段】
【０００７】
一の態様において、指定された品質レベルで画像を符号化する符号化手段と、符号量に応じた品質レベルを推定する推定手段と、制御手段とを備え、前記制御手段は、前記符号化手段に前記画像を第１の品質レベルで符号化させ、前記推定手段は、前記符号化手段により前記画像が前記第１の品質レベルで符号化された場合の符号量と目標符号量との差に基づいて第２の品質レベルを推定し、前記制御手段は、前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記符号化手段に前記画像を第２の品質レベルで符号化させる画像符号化装置が提供される。
【０００８】
別の態様において、画像を第１の品質レベルで符号化し、前記画像が前記第１の品質レベルで符号化された場合の符号量と、目標符号量との差に基づいて第２の品質レベルを推定し、前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記画像を第２の品質レベルで符号化する画像符号化方法が提供される。
【０００９】
さらに別の態様において、コンピュータに、画像を第１の品質レベルで符号化する処理と、前記画像が前記第１の品質レベルで符号化された場合の符号量と、目標符号量との差に基づいて第２の品質レベルを推定する処理と、前記第１の品質レベルと前記第２の品質レベルとが所定の条件を満たす場合に、前記画像を第２の品質レベルで符号化する処理とを実行させるためのプログラムが提供される。
【発明の効果】
【００１０】
本開示によれば、符号化後の画像の品質レベルを指定した符号化において、目標符号量での符号化を実現するための符号化の実行回数が限定的になる。
【図面の簡単な説明】
【００１１】
【図１】図１は、画像符号化装置の構成の一例を示すブロック図である。
【図２】図２は、画像符号化装置の動作の一例を示すフローチャートである。
【図３】図３は、画像符号化装置の構成の別の例を示すブロック図である。
【図４】図４は、符号量テーブルを例示する模式図である。
【図５】図５は、符号化処理の一例を示すフローチャートである。
【図６】図６は、第１の計算処理の一例を示すフローチャートである。
【図７】図７は、第２の計算処理の一例を示すフローチャートである。
【図８】図８は、符号量の関係を例示する図である。
【図９】図９は、符号量の関係を例示する図である。
【図１０】図１０は、コンピュータ装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
［第１実施形態］
図１は、一の実施形態に係る画像符号化装置１００の構成を示すブロック図である。画像符号化装置１００は、符号化部１１０と、推定部１２０と、制御部１３０とを含んで構成される。ただし、画像符号化装置１００は、他の構成をさらに含んでもよい。
【００１３】
符号化部１１０は、画像を符号化する。本実施形態において、符号化部１１０は、指定された品質レベルで画像を符号化するように構成される。ここでいう品質レベルは、符号化後の画像の画質を示す。品質レベルは、例えば、所定の段階（１０段階、１００段階など）で表される数値であり、大きいほど画質が高い（すなわち符号化後の符号量が多い）とする。符号化部１１０は、符号化された画像を示す符号化データのほか、当該符号化データの符号量を出力することができる。
【００１４】
推定部１２０は、符号量に応じた品質レベルを推定する。すなわち、推定部１２０は、所定の符号量が与えられると、当該符号量に対応する品質レベルを出力する。ただし、推定部１２０により出力される品質レベルは、推定値である。したがって、符号化部１１０は、推定部１２０により出力される品質レベルで画像を符号化しても、符号化後の符号量が推定部１２０に与えられた符号量に一致するとは限らない。
【００１５】
制御部１３０は、画像符号化装置１００の各部の動作を制御する。例えば、制御部１３０は、画像の符号化に際し、符号化部１１０に対して品質レベルを指定する。また、制御部１３０は、推定部１２０に対して符号量を指定し、指定された符号量に応じた品質レベルを推定させる。
【００１６】
図２は、画像符号化装置１００の動作を示すフローチャートである。ステップＳ１１において、制御部１３０は、入力された画像を第１の品質レベルで符号化部１１０に符号化させる。第１の品質レベルは、例えば、目標符号量に対応する品質レベルである。第１の品質レベルは、推定部１２０により目標符号量に基づいて推定されてもよい。
【００１７】
ステップＳ１２において、推定部１２０は、第２の品質レベルを推定する。より詳細には、推定部１２０は、符号化部１１０により第１の品質レベルで符号化された場合の符号量と目標符号量との差に基づいて第２の品質レベルを推定する。例えば、推定部１２０は、符号化部１１０により第１の品質レベルで符号化された場合の符号量が目標符号量よりも多い場合には、第２の品質レベルを第１の品質レベルよりも小さい値にする。
【００１８】
ステップＳ１３において、制御部１３０は、第１の品質レベルと第２の品質レベルとが所定の条件を満たすかを判断する。ここでいう条件は、第１の品質レベルと第２の品質レベルの差に関する条件であるともいえる。例えば、ここでいう条件は、「第１の品質レベルと第２の品質レベルの差が所定の閾値以上であること」である。あるいは、ここでいう条件は、「第１の品質レベルと第２の品質レベルが異なる（すなわち一致しない）こと」であってもよい。
【００１９】
制御部１３０は、第１の品質レベルと第２の品質レベルとが所定の条件を満たす場合（Ｓ１３：ＹＥＳ）、ステップＳ１４を実行し、第１の品質レベルと第２の品質レベルとが所定の条件を満たさない場合（Ｓ１３：ＮＯ）、ステップＳ１４をスキップ（省略）する。
【００２０】
ステップＳ１４において、制御部１３０は、入力された画像（すなわちステップＳ１１において符号化された画像）を第２の品質レベルで符号化部１１０に符号化させる。すなわち、制御部１３０は、符号化部１１０に符号化を再度実行させる。符号化部１１０は、ステップＳ１１において指定された品質レベル（すなわち第１の品質レベル）と異なる品質レベル（すなわち第２の品質レベル）で、画像を再度符号化する。
【００２１】
以上のとおり、本実施形態の画像符号化装置１００は、第１の品質レベルで符号化を実行した後、必要に応じて、第２の品質レベルで符号化を再度実行する構成を有する。この構成によれば、符号化の回数は、１回又は２回、すなわち多くとも２回で済む。したがって、画像符号化装置１００は、符号化後の画像の品質レベルを指定した符号化において目標符号量に達するまで試行を繰り返す場合に比べ、符号化の回数を限定的にすることが可能である。
【００２２】
［第２実施形態］
図３は、別の実施形態に係る画像符号化装置２００の構成を示すブロック図である。画像符号化装置２００は、画像バッファ２１０と、制御部２２０と、品質レベル計算部２３０と、記憶部２４０と、符号化部２５０と、符号バッファ２６０とを含んで構成される。
【００２３】
なお、図３に示される矢印は、画像符号化装置２００の各ブロックにおけるデータの流れの一例を示している。したがって、画像符号化装置２００の各ブロックにおいて授受されるデータは、矢印によって例示されたものに限定されない。
【００２４】
画像バッファ２１０は、入力画像を記憶するバッファである。ここでいう入力画像は、符号化部２５０により符号化される画像、すなわち符号化前の画像を表すデータである。なお、入力画像のサイズ等は、特に限定されない。
【００２５】
制御部２２０は、画像符号化装置２００の各部におけるデータの入出力を制御する。例えば、制御部２２０は、符号化部２５０に対し、画像バッファ２１０に記憶された入力画像の符号化を命令する。この命令のことを、以下においては「符号化指示」ともいう。制御部２２０は、符号化部２５０に対し、符号化指示とともに符号化の品質レベルを供給する。制御部２２０は、符号化部２５０に対して符号化の品質レベルを指定しているともいえる。また、制御部２２０は、目標符号量、品質レベル及び符号量を品質レベル計算部２３０に供給し、品質レベル計算部２３０から目標符号量に応じた品質レベルの推定値を取得する。制御部２２０は、第１実施形態の制御部１３０の一例に相当する。
【００２６】
品質レベル計算部２３０は、目標符号量に応じた画像の品質レベルを計算する。品質レベル計算部２３０は、目標符号量に加え、画像の品質レベルと、符号化部２５０が当該品質レベルで画像を符号化した場合の符号量とが入力された場合には、符号量テーブル２４１〜２４３を用いて、目標符号量に近くなる品質レベルを算出する。また、品質レベル計算部２３０は、目標符号量が入力され、品質レベル及び符号量が入力されない場合には、符号量テーブル２４２を用いて品質レベルを算出する。品質レベル計算部２３０は、第１実施形態の推定部１２０の一例に相当する。
【００２７】
記憶部２４０は、符号量テーブル２４１〜２４３を記憶する。符号量テーブル２４１〜２４３は、品質レベルと符号量の対応関係を表すテーブルである。本実施形態の品質レベルは、０から１００までの１０１段階で表される。符号量テーブル２４１〜２４３は、このような品質レベルのそれぞれに対応する符号量を記憶する。
【００２８】
符号量テーブル２４１〜２４３が表す符号量は、それぞれ、所定の画像を各品質レベルで符号化することによって得られた符号量を表している。ここにおいて、符号量テーブル２４１〜２４３の作成に用いられる画像は、エントロピー、すなわち画素値のばらつきの大きさがそれぞれ異なる。具体的には、符号量テーブル２４１の作成に用いられる画像のエントロピーをＥ1、符号量テーブル２４２の作成に用いられる画像のエントロピーをＥ2、符号量テーブル２４３の作成に用いられる画像のエントロピーをＥ3とすると、Ｅ1＞Ｅ2＞Ｅ3が成り立つ。
【００２９】
図４は、記憶部２４０に記憶された符号量テーブル２４１〜２４３を例示する模式図である。符号量テーブル２４１〜２４３には、品質レベルに対応する符号量がそれぞれ格納されている。ここにおいて、符号量テーブル２４１に格納された符号量をＨ（ｉ）、符号量テーブル２４２に格納された符号量をＳ（ｉ）、符号量テーブル２４３に格納された符号量をＬ（ｉ）とすると（ｉ＝０，１，２，・・・，１００）、Ｈ（ｉ）＞Ｓ（ｉ）＞Ｌ（ｉ）が全てのｉにおいて成り立つ。すなわち、ある品質レベルに対応する符号量は、符号量テーブル２４１が最も多くなり、符号量テーブル２４３が最も少なくなる。
【００３０】
符号化部２５０は、画像を符号化する。より詳細には、符号化部２５０は、画像バッファ２１０に記憶された入力画像を、制御部２２０により指定された品質レベルで符号化し、符号化された画像を表す符号化データを出力する。本実施形態において、符号化部２５０の画像符号化方式は、ＪＰＥＧ（Joint Photographic Experts Group）であるとする。また、符号化部２５０は、品質レベルが指定された符号化指示に応じて、符号化後の画像の符号量を制御部２２０に供給することができる。符号化部２５０は、第１実施形態の符号化部１１０の一例に相当する。
【００３１】
符号バッファ２６０は、符号化部２５０により符号化された符号化データを記憶する。すなわち、符号バッファ２６０に記憶される符号化データは、画像バッファ２１０に記憶された入力画像を符号に変換したデータである。符号バッファ２６０に記憶された符号化データは、例えば、画像符号化装置２００の後段にある他の装置によって読み出される。
【００３２】
図５は、画像符号化装置２００により実行される符号化処理を示すフローチャートである。ステップＳ２１において、画像バッファ２１０及び制御部２２０は、データの入力を受け付ける。より詳細には、画像バッファ２１０は、画像の入力を受け付け、制御部２２０は、目標符号量の入力を受け付ける。制御部２２０は、目標符号量の入力を受け付けると、この目標符号量を品質レベル計算部２３０に供給する。
【００３３】
ステップＳ２２において、品質レベル計算部２３０は、入力された目標符号量に基づいて品質レベルを計算する。より詳細には、品質レベル計算部２３０は、符号量テーブル２４２を参照し、符号量テーブル２４２のうち入力された目標符号量に対応付けられた品質レベルを特定する。ステップＳ２２の計算処理のことを、以下においては「第１の計算処理」ともいう。
【００３４】
図６は、第１の計算処理をより詳細に示すフローチャートである。ステップＳ２２１において、品質レベル計算部２３０は、品質レベルをｋとし、ｋに初期値「０」を設定する。ステップＳ２２２において、品質レベル計算部２３０は、目標符号量をＴ、符号量テーブル２４２の品質レベルｋにおける符号量をＳ（ｋ）とした場合に、目標符号量Ｔと符号量Ｓ（ｋ）との差分の絶対値、すなわち｜Ｔ−Ｓ（ｋ）｜を算出する。
【００３５】
ステップＳ２２３において、品質レベル計算部２３０は、｜Ｔ−Ｓ（ｋ）｜の値をｋの値とともにメモリの所定の記憶領域に記憶する。ここにおいて、品質レベル計算部２３０は、ｋ≧１の場合には、メモリに記憶されている｜Ｔ−Ｓ（ｋ）｜の値と直前に算出された｜Ｔ−Ｓ（ｋ）｜の値とを比較する。品質レベル計算部２３０は、直前に算出された｜Ｔ−Ｓ（ｋ）｜の値の方が小さければ、直前に算出された｜Ｔ−Ｓ（ｋ）｜の値をｋの値とともにメモリに記憶（すなわち上書き）してからステップＳ２２４を実行する。一方、品質レベル計算部２３０は、メモリに記憶されている｜Ｔ−Ｓ（ｋ）｜の値の方が直前に算出された｜Ｔ−Ｓ（ｋ）｜の値よりも小さければ、上書きせずにステップＳ２２４を実行する。
【００３６】
ステップＳ２２４において、品質レベル計算部２３０は、ｋの値が最大値、すなわち１００に達したかを判断する。品質レベル計算部２３０は、ｋの値が１００に満たない場合（Ｓ２２４：ＮＯ）、ステップＳ２２５においてｋの値をインクリメントし、ステップＳ２２２以降の処理を再度実行する。
【００３７】
ステップＳ２２２〜Ｓ２２５の処理をｋの値が１００に達するまで実行すると、メモリには、｜Ｔ−Ｓ（ｋ）｜の値の最小値と、｜Ｔ−Ｓ（ｋ）｜の値が最小値を示すときのｋの値とが記憶される。このようにすることで、品質レベル計算部２３０は、入力された目標符号量に対応する品質レベルを特定することができる。
【００３８】
ｋの値が１００に達すると（Ｓ２２４：ＹＥＳ）、品質レベル計算部２３０は、ステップＳ２２６を実行する。ステップＳ２２６において、品質レベル計算部２３０は、メモリに記憶されたｋの値、すなわち品質レベルを出力する。すなわち、第１の計算処理は、制御部２２０から目標符号量Ｔが与えられると、これに対応する品質レベルｋを制御部２２０に返す処理（サブルーチン）である。以下においては、第１の計算処理において算出された品質レベルを「初期品質レベル」ともいう。初期品質レベルは、第１実施形態における第１の品質レベルの一例に相当する。
【００３９】
ステップＳ２３において、制御部２２０は、ステップＳ２２において計算された初期品質レベルを用いて、符号化部２５０に対して符号化指示を供給する。すなわち、制御部２２０は、入力画像の初期品質レベルでの符号化を符号化部２５０に実行させる。これにより、制御部２２０は、初期品質レベルに対応する符号量を符号化部２５０から取得する。制御部２２０は、ステップＳ２３において取得された符号量を品質レベル計算部２３０に供給する。
【００４０】
ステップＳ２４において、品質レベル計算部２３０は、制御部２３０から供給される符号量に基づいて品質レベルを計算する。ステップＳ２４の計算処理のことを、以下においては「第２の計算処理」ともいう。なお、第２の計算処理は、符号量テーブル２４２だけでなく、符号量テーブル２４１及び２４３も参照して実行される点において第２の計算処理と異なる。また、第２の計算処理により計算された品質レベルは、第１実施形態の第２の品質レベルの一例に相当する。
【００４１】
図７は、第２の計算処理を示すフローチャートである。ステップＳ２４０１において、品質レベル計算部２３０は、初期品質レベルをｐ、入力画像を符号化することによって得られた符号量をＣ（ｐ）、符号量テーブル２４２において初期品質レベルｐに対応する符号量をＳ（ｐ）とし、符号量Ｃ（ｐ）と符号量Ｓ（ｐ）とを比較する。品質レベル計算部２３０は、この比較結果に応じた処理を実行する。
【００４２】
符号量Ｃ（ｐ）が符号量Ｓ（ｐ）以上である場合（Ｓ２４０１：ＹＥＳ）、品質レベル計算部２３０は、ステップＳ２４０２以降の処理を実行する。ステップＳ２４０２において、品質レベル計算部２３０は、符号量テーブル２４１において初期品質レベルｐに対応する符号量をＨ（ｐ）、２つのパラメータをｒ１、ｒ２とし、以下の（１）〜（３）式によりパラメータｒ１及びｒ２を算出する。
Ｃ（ｐ）＝ｒ１＊Ｈ（ｐ）＋ｒ２＊Ｓ（ｐ）        （１）
ｒ１＝（Ｃ（ｐ）−Ｓ（ｐ））／（Ｈ（ｐ）−Ｓ（ｐ））        （２）
ｒ２＝（Ｈ（ｐ）−Ｃ（ｐ））／（Ｈ（ｐ）−Ｓ（ｐ））        （３）
【００４３】
品質レベル計算部２３０は、ステップＳ２４０２において算出されたパラメータｒ１及びｒ２に基づいて、品質レベルを推定する。具体的には、まず、品質レベル計算部２３０は、以下の（４）式により推定符号量Ｘ（ｋ）を算出する。推定符号量Ｘ（ｋ）を算出するため、品質レベル計算部２３０は、ステップＳ２４０３〜Ｓ２４０８を実行する。
Ｘ（ｋ）＝ｒ１＊Ｈ（ｋ）＋ｒ２＊Ｓ（ｋ）        （４）
【００４４】
ステップＳ２４０３において、品質レベル計算部２３０は、品質レベルｋに初期値「０」を設定する。ステップＳ２４０４において、品質レベル計算部２３０は、設定された品質レベルｋを用いて、（４）式により推定符号量Ｘ（ｋ）を算出する。ステップＳ２４０５において、品質レベル計算部２３０は、目標符号量Ｔと推定符号量Ｘ（ｋ）との差分の絶対値、すなわち｜Ｔ−Ｘ（ｋ）｜を算出する。
【００４５】
ステップＳ２４０６において、品質レベル計算部２３０は、｜Ｔ−Ｘ（ｋ）｜の値をｋの値とともにメモリの所定の記憶領域に記憶する。ここにおいて、品質レベル計算部２３０は、ｋ≧１の場合には、メモリに記憶されている｜Ｔ−Ｘ（ｋ）｜の値と直前に算出された｜Ｔ−Ｘ（ｋ）｜の値とを比較する。品質レベル計算部２３０は、直前に算出された｜Ｔ−Ｘ（ｋ）｜の値の方が小さければ、直前に算出された｜Ｔ−Ｘ（ｋ）｜の値をｋの値とともにメモリに記憶（すなわち上書き）してからステップＳ２４０７を実行する。一方、品質レベル計算部２３０は、メモリに記憶されている｜Ｔ−Ｘ（ｋ）｜の値の方が直前に算出された｜Ｔ−Ｘ（ｋ）｜の値よりも小さければ、上書きせずにステップＳ２４０７を実行する。
【００４６】
ステップＳ２４０７において、品質レベル計算部２３０は、ｋの値が最大値、すなわち１００に達したかを判断する。品質レベル計算部２３０は、ｋの値が１００に満たない場合（Ｓ２４０７：ＮＯ）、ステップＳ２４０８においてｋの値をインクリメントし、ステップＳ２４０４以降の処理を再度実行する。なお、ステップＳ２４０３、Ｓ２４０５〜Ｓ２４０８の処理は、符号量Ｓ（ｋ）が推定符号量Ｘ（ｋ）に置き換えられている点を除けば、第１の計算処理のステップＳ２２１〜Ｓ２２５の処理と同様である。
【００４７】
ｋの値が１００に達すると（Ｓ２４０７：ＹＥＳ）、品質レベル計算部２３０は、ステップＳ２４０９を実行する。ステップＳ２４０９において、品質レベル計算部２３０は、メモリに記憶されたｋの値、すなわち品質レベルの推定値を出力する。
【００４８】
一方、符号量Ｃ（ｐ）が符号量Ｓ（ｐ）未満である場合（Ｓ２４０１：ＮＯ）、品質レベル計算部２３０は、ステップＳ２４１２以降の処理を実行する。ステップＳ２４１２〜Ｓ２４１９の処理は、ステップＳ２４０２〜Ｓ２４０９の処理と次の点において相違し、他の点において共通の処理である。すなわち、ステップＳ２４１２〜Ｓ２４１９の処理は、パラメータｒ１及びｒ２の算出（ステップＳ２４１２）と推定符号量Ｘ（ｋ）の算出（ステップＳ２４１４）の具体的な方法がステップＳ２４０２〜Ｓ２４０９の処理と異なる。ステップＳ２４１２〜Ｓ２４１９の処理のうち、ステップＳ２４０２〜Ｓ２４０９の処理と共通するステップの説明は、以下においては省略される。
【００４９】
ステップＳ２４１２において、品質レベル計算部２３０は、以下の（５）、（６）式によりパラメータｒ１及びｒ２を算出する。
ｒ１＝（Ｃ（ｐ）−Ｌ（ｐ））／（Ｓ（ｐ）−Ｌ（ｐ））        （５）
ｒ２＝（Ｓ（ｐ）−Ｃ（ｐ））／（Ｓ（ｐ）−Ｌ（ｐ））        （６）
【００５０】
また、ステップＳ２４１４において、品質レベル計算部２３０は、以下の（７）式により推定符号量Ｘ（ｋ）を算出する。
Ｘ（ｋ）＝ｒ１＊Ｓ（ｋ）＋ｒ２＊Ｌ（ｋ）      （７）
【００５１】
図８は、入力画像を符号化することによって得られた符号量Ｃ（ｐ）と符号量テーブル２４１〜２４３により表される符号量Ｈ（ｐ）、Ｓ（ｐ）、Ｌ（ｐ）との関係を例示する図である。符号量Ｃ（ｐ）は、符号量Ｈ（ｐ）、Ｓ（ｐ）と必ずしも一致しない。パラメータｒ１、ｒ２は、符号量Ｃ（ｐ）と符号量Ｈ（ｐ）、Ｓ（ｐ）とのずれを表す。
【００５２】
図９は、初期品質レベルｐにおける符号量Ｃ（ｐ）、Ｈ（ｐ）、Ｓ（ｐ）、Ｌ（ｐ）と推定符号量Ｘ（ｋ）及び符号量Ｈ（ｋ）、Ｓ（ｋ）、Ｌ（ｋ）との関係を例示する図である。図９に示されるように、推定符号量Ｘ（ｋ）は、初期品質レベルｐを用いて算出されたパラメータｒ１及びｒ２を用いて推定される。
【００５３】
第２の計算処理が終了した後、制御部２２０は、ステップＳ２５を実行する。ステップＳ２５において、制御部２２０は、第２の計算処理により算出された品質レベル（すなわちｋ）と初期品質レベル（すなわちｐ）とを比較する。制御部２２０は、ｋ≠ｐであれば（Ｓ２５：ＹＥＳ）、ステップＳ２６において、第２の計算処理により算出された品質レベルで入力画像を符号化させる符号化指示を符号化部２５０に供給する。これにより、符号バッファ２６０の符号化データは、初期品質レベルで符号化されたデータから第２の計算処理により算出された品質レベルで符号化されたデータに置換される。
【００５４】
一方、ｋ＝ｐであれば（Ｓ２５：ＮＯ）、制御部２２０は、ステップＳ２６をスキップする。すなわち、符号化部２５０は、第２の計算処理により算出された品質レベルが初期品質レベルと一致している場合には、再度の符号化を実行しない。
【００５５】
以上のとおり、本実施形態の画像符号化装置２００は、初期品質レベルで符号化を実行した後、符号量テーブル２４１〜２４３に基づいて、必要に応じて符号化を再度実行する構成を有する。この構成によれば、符号化の回数は、１回又は２回、すなわち多くとも２回で済む。したがって、画像符号化装置２００は、符号化後の画像の品質レベルを指定した符号化において目標符号量に達するまで試行を繰り返す場合に比べ、符号化に要する回数又は時間のばらつきを少なくすることが可能である。また、画像符号化装置２００は、符号化後の画像の品質レベルを指定した符号化において目標符号量に達するまで試行を繰り返す場合に比べ、符号化の回数を（多くの場合において）少なくすることが可能である。
【００５６】
［変形例］
上述された第１〜第２実施形態は、例えば、以下のような変形を適用することができる。これらの変形例は、必要に応じて適宜組み合わせることも可能である。
【００５７】
（１）記憶部２４０は、符号量と品質レベルの対応関係を示すテーブルを４種類以上記憶してもよい。また、記憶部２４０は、符号量と品質レベルの対応関係を、図４に例示されたようなテーブルとは異なる形式で記憶することも可能である。
【００５８】
（２）ステップＳ２５において、制御部２２０は、第２の計算処理により算出された品質レベル（すなわちｋ）と初期品質レベル（すなわちｐ）とを比較する。このとき、制御部２２０は、品質レベルｋと初期品質レベルｐの差分が所定の閾値以上である場合にステップＳ２６を実行し、当該差分が所定の閾値未満である場合にステップＳ２６をスキップしてもよい。
【００５９】
（３）画像符号化装置１００又は２００に適用可能な画像符号化方式は、ＪＰＥＧのみに限定されない。例えば、画像符号化方式としてＪＰＥＧ２０００が用いられる場合であっても、第１実施形態又は第２実施形態の画像符号化方法が適用可能である。
【００６０】
（４）本開示に係る装置（画像符号化装置１００及び２００）の具体的なハードウェア構成は、さまざまなバリエーションが含まれ、特定の構成に限定されない。本開示に係る装置は、ソフトウェアを用いて実現されてもよく、複数のハードウェアを用いて各種処理を分担するように構成されてもよい。例えば、本開示に係る装置は、ＡＰＩ（Application Programming Interface）等の形態で提供されてもよい。
【００６１】
図１０は、本開示に係る装置を実現するコンピュータ装置３００のハードウェア構成の一例を示すブロック図である。コンピュータ装置３００は、ＣＰＵ（Central Processing Unit）３０１と、ＲＯＭ（Read Only Memory）３０２と、ＲＡＭ（Random Access Memory）３０３と、記憶装置３０４と、ドライブ装置３０５と、通信インタフェース３０６と、入出力インタフェース３０７とを含んで構成される。
【００６２】
ＣＰＵ３０１は、ＲＡＭ３０３を用いてプログラム３０８を実行する。通信インタフェース３０６は、ネットワーク３１０を介して外部装置とデータをやり取りする。入出力インタフェース３０７は、周辺機器（入力装置、表示装置など）とデータをやり取りする。通信インタフェース３０６及び入出力インタフェース３０７は、データを取得又は出力するための構成要素として機能することができる。
【００６３】
なお、プログラム３０８は、ＲＯＭ３０２に記憶されていてもよい。また、プログラム３０８は、メモリカード等の記録媒体３０９に記録され、ドライブ装置３０５によって読み出されてもよいし、外部装置からネットワーク３１０を介して送信されてもよい。
【００６４】
本開示に係る装置は、図１０に示される構成（又はその一部）によって実現され得る。例えば、画像符号化装置１００の場合、符号化部１１０、推定部１２０及び制御部１３０は、ＣＰＵ３０１、ＲＯＭ３０２及びＲＡＭ３０３に対応する。また、符号化部１１０、推定部１２０及び制御部１３０の一部又は全部は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＧＰＵ（Graphics Processing Unit）等のＣＰＵ３０１とは別のプロセッサによって構成されてもよい。
【００６５】
なお、本開示に係る装置の構成要素は、単一の回路（プロセッサ等）によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路（circuitry）は、専用又は汎用のいずれであってもよい。例えば、本開示に係る装置は、一部が専用のプロセッサによって実現され、他の部分が汎用のプロセッサによって実現されてもよい。
【００６６】
（５）以上、本発明は、上述された実施形態及び変形例を模範的な例として説明された。しかし、本発明は、これらの実施形態及び変形例に限定されない。本発明は、本発明のスコープ内において、いわゆる当業者が把握し得るさまざまな変形又は応用を適用した実施の形態を含み得る。また、本発明は、本明細書に記載された事項を必要に応じて適宜に組み合わせ、又は置換した実施の形態を含み得る。例えば、特定の実施形態を用いて説明された事項は、矛盾を生じない範囲において、他の実施形態に対しても適用し得る。
【符号の説明】
【００６７】
１００、２００    画像符号化装置
１１０    符号化部
１２０    推定部
１３０    制御部
２１０    画像バッファ
２２０    制御部
２３０    品質レベル計算部
２４０    記憶部
２４１、２４２、２４３    符号量テーブル
２５０    符号化部
２６０    符号バッファ
３００    コンピュータ装置
【図１】
2018174406.tif 000003
【図２】
2018174406.tif 000004
【図３】
2018174406.tif 000005
【図４】
2018174406.tif 000006
【図５】
2018174406.tif 000007
【図６】
2018174406.tif 000008
【図７】
2018174406.tif 000009
【図８】
2018174406.tif 000010
【図９】
2018174406.tif 000011
【図１０】
2018174406.tif 000012