(57)【要約】      （修正有）【課題】動的にスケーリングされるファイル符号化方法及び装置を提供する。【解決手段】ＪＰＥＧ符号化を用いたファイル符号化システムは、相対的に一定した圧縮されたファイルサイズを生成することができる。システムは、圧縮される最初のファイル又は画像を取り出し、目標ビットレートを決定し、最初のスケーリングファクタを決定する。最初のファイルは、最初のスケーリングファクタによってスケーリングされた係数を有するＪＰＥＧ符号器を用いて符号化される。得られたビットレートは、希望されるビットレートよりも大きい場合は第２のループにおいて調整することができる。ビットレートの調整では、再計算されたスケーリングファクタが得られたビットレートから決定される。最初のファイルは、目標ビットレート内にあるビットレートを達成させるために再計算されたスケーリングファクタによってスケーリングされた係数を用いて符号化される。【選択図】図３
2011239425.tif 000002
【特許請求の範囲】
【請求項１】
スケーリングファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して前記ソースファイルのファイルサイズよりも小さい目標ファイルサイズを有する符号化されたファイルを生成するように構成された符号器と、
前記符号器によって用いられる前記スケーリングファクタを前記目標ファイルサイズ及び前記ソースファイルの前記ファイルサイズに部分的に基づいて決定するように構成されたスケーリングモジュールと、を具備する符号化システム。
【請求項２】
前記スケーリングモジュールは、前記ソースファイルの前記ファイルサイズに部分的に基づいて最初のスケールファクタを生成するように構成され、前記符号器は、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて前記ソースファイルを符号化して最初の符号化されたファイルを生成し、前記スケーリングモジュールは、前記最初の符号化されたファイルのファイルサイズに部分的に基づいて前記スケーリングファクタを決定する請求項１に記載のシステム。
【請求項３】
前記スケーリングモジュールは、スケーリングファクタモデルを用いて前記最初のスケールファクタを決定する請求項２に記載のシステム。
【請求項４】
前記スケーリングモジュールは、予め決定された多項式を用いて前記最初のスケールファクタを決定する請求項２に記載のシステム。
【請求項５】
前記スケーリングモジュールは、前記ソースファイル内の画素数に基づいて目標ビットレートを決定することによって前記最初のスケールファクタを決定する請求項２に記載のシステム。
【請求項６】
前記スケーリングモジュールは、前記ソースファイル内のＡＣビット数に部分的に基づいて目標ビットレートを決定することによって前記最初スケールファクタを決定する請求項２に記載のシステム。
【請求項７】
前記スケーリングモジュールは、前記最初の符号化されたファイルの前記ファイルサイズに基づいて補正係数を決定するように構成され、前記スケーリングファクタを前記最初のスケールファクタと前記補正係数の積として決定する請求項２に記載のシステム。
【請求項８】
前記スケーリングモジュールは、前記最初のスケールファクタと前記補正係数の前記積が予め決定された数字を超える場合は前記スケーリングファクタを前記予め決定された数字に設定する請求項７に記載のシステム。
【請求項９】
前記符号器は、ＪＰＥＧ符号器を具備する請求項１に記載のシステム。
【請求項１０】
前記符号器は、前記スケーリングファクタによってスケーリングされたＡＣ量子化パラメータ及びスケーリングされないＤＣ量子化パラメータを用いて前記ソースファイルを符号化するように構成される請求項１に記載のシステム。
【請求項１１】
前記スケーリングファクタによってスケーリングされた前記量子化パラメータは、ＡＣ量子化パラメータを具備する請求項１に記載のシステム。
【請求項１２】
前記量子化パラメータは、ＪＰＥＧ量子化パラメータを具備する請求項１に記載のシステム。
【請求項１３】
前記符号化システムは、無線通信システムを通じて通信するように構成された移動局を具備する請求項１に記載のシステム。
【請求項１４】
前記符号化システムは、無線基地局を具備する請求項１に記載のシステム。
【請求項１５】
前記符号器に結合されて前記ソースファイルを格納するように構成されたメモリと、
画像ファイルをキャプチャして前記ソースファイルとして前記メモリに格納するように構成されたカメラと、をさらに具備する請求項１に記載のシステム。
【請求項１６】
前記符号器に結合されて前記符号化されたファイルを無線通信リンクを通じて送信するように構成された無線トランシーバをさらに具備する請求項１に記載のシステム。
【請求項１７】
キャプチャされた画像ファイルを符号化して符号化された画像ファイルを生成するように構成されたＪＰＥＧ符号器であって、スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルのうちの少なくともＡＣビットを符号化するＪＰＥＧ符号器と、
前記ＪＰＥＧ符号器に結合されて目標ファイルサイズ及び前記キャプチャされた画像ファイル内の画素数に部分的に基づいて最初のスケールファクタを決定するように構成されたスケーリングモジュールと、を具備し、前記ＪＰＥＧ符号器は、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルのうちの前記ＡＣビットを符号化して最初の符号化されたファイルを生成するように構成され、前記スケーリングモジュールは、前記最初の符号化されたファイルのファイルサイズに部分的に基づいて前記スケーリングファクタを決定する、符号化システム。
【請求項１８】
前記符号器に結合されて前記キャプチャされた画像ファイルを格納するように構成されたメモリと、
前記キャプチャされた画像ファイルを生成して前記キャプチャされた画像ファイルを前記メモリに格納するように構成されたカメラと、をさらに具備する請求項１７に記載のシステム。
【請求項１９】
前記符号器に結合されて無線通信リンクを通じて前記符号化された画像ファイルを送信するように構成された無線トランシーバをさらに具備する請求項１７に記載のシステム。
【請求項２０】
前記符号化システムは、無線電話を具備する請求項１７に記載のシステム。
【請求項２１】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
目標ビットレートを決定することと、
最初のスケールファクタを決定することと、
前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、
修正されたビットレートを決定することと、
スケーリングファクタを決定することと、
前記スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを具備する、方法。
【請求項２２】
前記目標ビットレートを決定することは、目標ファイルサイズに部分的に基づいて目標ＡＣビットレートを決定することを具備する請求項２１に記載の方法。
【請求項２３】
前記目標ビットレートを決定することは、前記ソースファイル内の画素数によって割られた目標ファイルサイズを決定することを具備する請求項２１に記載の方法。
【請求項２４】
前記目標ビットレートを決定することは、
前記ソースファイル内のＤＣビット数を推定することと、
前記ＤＣビット数の差を目標ファイルサイズから決定して目標ＡＣビット推定値を生成すること、とを具備する請求項２１に記載の方法。
【請求項２５】
前記目標ビットレートを決定することは、前記ＡＣビット推定値と前記ソースファイル内の画素数の比率を決定することをさらに具備する請求項２４に記載の方法。
【請求項２６】
前記最初のスケールファクタを決定することは、前記目標ビットレートをスケールファクタレスポンスの多項式モデルに適用することによって決定することを具備する請求項２１に記載の方法。
【請求項２７】
前記ソースファイルを符号化することは、前記最初のスケールファクタによってスケーリングされたＡＣ量子化パラメータを用いてキャプチャされた画像をＪＰＥＧ符号化することを具備する請求項２１に記載の方法。
【請求項２８】
前記修正されたビットレートを決定することは、前記最初の符号化されたファイルのＡＣビットレートを決定することを具備する請求項２１に記載の方法。
【請求項２９】
前記スケーリングファクタを決定することは、
前記修正されたビットレートに部分的に基づいて補正係数を計算することと、
前記スケーリングファクタを前記補正係数と前記最初のスケールファクタの積として決定すること、とを具備する請求項２１に記載の方法。
【請求項３０】
前記補正係数と前記最初のスケールファクタの前記積が予め決定された値を超える場合は前記スケーリングファクタを前記予め決定された値に設定することをさらに具備する請求項２９に記載の方法。
【請求項３１】
カメラを用いて画像ファイルをキャプチャすることと、
前記画像ファイルを前記ソースファイルとしてメモリに格納すること、とをさらに具備する請求項２１に記載の方法。
【請求項３２】
前記符号化されたファイルを無線通信リンクを用いて行先デバイスに送信することをさらに具備する請求項２１に記載の方法。
【請求項３３】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
画像ファイル内のＤＣビット数を推定することと、
前記ＤＣビット数を目標ファイルサイズから減じてＡＣビット推定値を生成することと、
前記画像ファイル内の画素数によって割られた前記ＡＣビット推定値の前記値として目標レートを決定することと、
前記目標レートに部分的に基づいて最初のスケールファクタを決定することと、
前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてＪＰＥＧ符号器によって前記画像ファイルを符号化して前記符号化されたファイルを生成すること、とを具備する、方法。
【請求項３４】
前記符号化されたファイルのサイズに部分的に基づいてビットレートを決定することと、
前記ビットレートに基づいて補正係数を決定することと、
再計算されたスケーリングファクタを前記補正係数と前記最初のスケールファクタの前記積として決定することと、
再計算されたスケーリングファクタを前記補正係数と前記最初のスケールファクタの積として決定することと、
前記再計算されたスケーリングファクタによってスケーリングされた量子化パラメータを用いて前記ＪＰＥＧ符号器によって前記画像ファイルを符号化すること、とをさらに具備する請求項３３に記載の方法。
【請求項３５】
プロセッサによって実行されたときに、目標ビットレートを決定することと、最初のスケールファクタを決定することと、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、修正されたビットレートを決定することと、スケーリングファクタを決定することと、前記スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを具備する方法を実行する１つ以上のプロセッサ読み取り可能命令を格納するように構成された１つ以上の記憶装置。
【請求項３６】
スケーリングファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して前記ソースファイルのファイルサイズよりも小さい目標ファイルサイズを有する符号化されたファイルを生成するように構成された符号器と、
前記符号器によって生成された最初の符号化されたファイルから決定されたレート歪み曲線に部分的に基づいて前記符号器によって用いられる前記スケーリングファクタを決定するように構成されたスケーリングモジュールと、を具備する符号化システム。
【請求項３７】
前記スケーリングモジュールは、個別のクロミナンス及びルミナンススケーリングファクタを決定するようにさらに構成される請求項３６に記載のシステム。
【請求項３８】
前記スケーリングモジュールは、前記最初の符号化されたファイル内のＡＣビット数及び前記最初の符号化されたファイルの分数の非ゼロ値に基づいて前記レート歪み曲線を決定するようにさらに構成される請求項３６に記載のシステム。
【請求項３９】
前記スケーリングモジュールは、複数のスケーリングされた量子化テーブルの各々に関して前記符号器からゼロＤＣＴ出力数字を決定するようにさらに構成され、前記スケーリングモジュールは、目標分数非ゼロ値を前記レート歪み曲線から決定するように構成され、前記ゼロＤＣＴ出力数字のうちの２つの間で内挿することによって前記スケーリングファクタを決定する請求項３６に記載のシステム。
【請求項４０】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
最初の量子化テーブルを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、
前記最初の符号化されたファイルに基づいてレート歪み曲線を決定することと、
前記レート歪み曲線に部分的に基づいてスケーリングファクタを決定することと、
前記最初の量子化テーブルを前記スケーリングファクタによってスケーリングすることによってスケーリングされた量子化テーブルを決定することと、
前記スケーリングされた量子化テーブルを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを具備する、方法。
【請求項４１】
目標ビット数を決定することをさらに具備する請求項４０に記載の方法。
【請求項４２】
前記目標ビット数は、目標ＡＣビット数を具備する請求項４１に記載の方法。
【請求項４３】
前記目標ビット数は、目標ルミナンスビット数を具備する請求項４１に記載の方法。
【請求項４４】
前記レート歪み曲線を決定することは、
前記最初の符号化されたファイルに対応する分数の非ゼロＤＣＴ出力数を決定することと、
前記分数の非ゼロＤＣＴ出力数と前記最初の符号化されたファイル内の総ＡＣビット数の比を決定すること、とを具備する請求項４０に記載の方法。
【請求項４５】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
最初の量子化テーブルを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、
前記最初の符号化されたファイルから統計値を収集することと、
複数のスケーリングされた量子化テーブルの各々に対応する符号器からゼロＤＣＴ出力数を決定することと、
目標ビット数を決定することと、
前記統計値に部分的に基づいてレート歪み曲線を決定することと、
前記レート歪み曲線に部分的に基づいて目標分数非ゼロ値を決定することと、
前記目標分数非ゼロ値に部分的に基づいてスケーリングファクタを決定することと、
前記スケーリングファクタを前記最初の量子化テーブルに適用して目標量子化テーブルを生成することと、
前記目標量子化テーブルを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを具備する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子ファイル圧縮分野に関するものである。本開示は、より具体的には、通信システムにおいて電子ファイルの圧縮を動的に決定することに関するものである。
【背景技術】
【０００２】
無線通信システムは、音声通信搬送専用のシステムから、高データ速度をサポートするように構成された第３世代（３Ｇ）システムに発展してきている。従って、無線通信システムは、データ及び情報の配信のために用いられることがますます多くなってきている。無線通信システムを通じて配信されるデータ及び情報は、大きなデータファイル内に含められていることがしばしばある。携帯電話システム等の無線通信システムは、システムを通じて送信される大量のデータを取り扱うまでに発展してきている。無線通信システムは、データファイルを送受信する能力を備えた形でしばしば構成される。これらのデータファイルは、リングトーンファイル及びピクチャファイルを含むことができる。
【０００３】
しかしながら、３Ｇシステムにおいても、無線通信システムは固定された帯域幅又は政府機関によって割り当てられた周波数スペクトル内において動作するようにしばしば制約されているため、無線システムにおいてデータ及び情報を効率的に送信するのが１つの優先事項である。
【０００４】
例えば、３Ｇ無線サービスの急増に伴い、デジタルカメラ電話が我々の日常生活においてますます普及してきている。高度な３Ｇ無線ネットワークを通じて瞬時にデジタル画像を交換することができる。しかしながら、各画像が有する膨大なデータ量に起因して、無線通信事業者は、典型的には、貴重な無線帯域幅の効率的な使用を目的として各圧縮画像に関してファイルサイズの制限、例えば１００ＫＢ、を課している。デジタルカメラは、サービスプロバイダによって課されている制限を超える画像を簡単にキャプチャすることができる。従って、ハンドセットが無線ネットワークを通じてピクチャを送信する前に、ピクチャのファイルサイズが無線通信事業者によって強制されている限度を超えていないことを確認しなければならない。
【０００５】
無線ハンドセット等のデバイスは、システムプロバイダによって課されているファイルサイズ制限を順守しやすくするためにファイル圧縮を組み入れることができる。しかしながら、ファイル圧縮及びその結果得られる圧縮比は、ファイルの内容に依存する可能性がある。最初のサイズがまったく同じである２つのファイルは、符号化アルゴリズムがファイルの内容によって受ける影響度に起因して異なる圧縮ファイルサイズを生成することがある。
【０００６】
従って、圧縮ファイルサイズを一貫して生成することができさらにファイルの内容又は原ファイルサイズの影響を相対的に受けにくいファイル符号化技術を有することが望ましい。
【発明の概要】
【０００７】
動的にスケーリングされたファイル符号化方法及び装置が開示される。ジョイントフォトグラフィックエキスパーツグループ（ＪＰＥＧ）符号化を用いたファイル符号化システムは、最初のファイルサイズ及びファイルの内容とは無関係に相対的に一定の圧縮ファイルサイズを生成するように構成することができる。前記システムは、圧縮すべき最初のファイル又は画像を取り出し、目標となる圧縮ファイルサイズに対応する目標ビットレートを決定する。前記目標ビットレートは、最初のスケーリングファクタを決定するために用いられる。最初のファイルは、前記最初のスケーリングファクタによってスケーリングされた係数を有するＪＰＥＧ符号器を用いて符号化される。結果的に得られたビットレートが前記目標ビットレートを上回るか又は大きく下回る場合は、新しいスケーリングファクタが前記結果的に得られたビットレートから導き出される。次に、前記最初のファイルが前記新しいスケーリングファクタによってスケーリングされた係数を用いて符号化され、前記目標ビットレート内にあるビットレートが達成される。
【０００８】
前記方法及び装置の一側面は、符号化システムを含む。前記システムは、スケーリングファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して前記ソースファイルのファイルサイズよりも小さい目標ファイルサイズを有する符号化されたファイルを生成するように構成された符号器と、前記目標ファイルサイズ及び前記ソースファイルの前記ファイルサイズに部分的に基づいて前記符号器によって用いられる前記スケーリングファクタを決定するように構成されたスケーリングモジュールと、を含む。
【０００９】
他の側面は、キャプチャされた画像ファイルを符号化して符号化された画像ファイルを生成するように構成されたＪＰＥＧ符号器であって、スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルの少なくともＡＣビットを符号化するＪＰＥＧ符号器と、前記ＪＰＥＧ符号器に結合されており目標ファイルサイズ及び前記キャプチャされた画像ファイル内の画素数に部分的に基づいて最初のスケールファクタを決定するように構成されたスケーリングモジュールと、を含み、前記ＪＰＥＧ符号器は、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルの前記ＡＣビットを符号化して最初の符号化されたファイルを生成するように構成され、前記スケーリングモジュールは、前記最初の符号化されたファイルのファイルサイズに部分的に基づいて前記スケーリングファクタを決定する、符号化システムに関するものである。
【００１０】
他の側面は、ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法に関するものであって、目標ビットレートを決定することと、最初のスケールファクタを決定することと、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、修正されたビットレートを決定することと、スケーリングファクタを決定することと、前記スケーリングファクタを用いてスケーリングされた量子化パラメータを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを含む。
【００１１】
他の側面は、スケーリングファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して前記ソースファイルのファイルサイズよりも小さい目標ファイルサイズを有する符号化されたファイルを生成するように構成された符号器と、前記符号器によって生成された最初の符号化されたファイルから決定されたレート歪み曲線に部分的に基づいて前記符号器によって用いられる前記スケーリングファクタを決定するように構成されたスケーリングモジュールと、を含む符号化システムに関するものである。
【００１２】
他の側面は、ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法に関するものであって、最初の量子化テーブルを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、前記最初の符号化されたファイルに基づいてレート歪み曲線を決定することと、前記レート歪み曲線に部分的に基づいてスケーリングファクタを決定することと、前記最初の量子化テーブルを前記スケーリングファクタによってスケーリングすることによってスケーリングされた量子化テーブルを決定することと、前記スケーリングされた量子化テーブルを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、とを含む。
【００１３】
本開示の特長、目的及び利点は、下記の詳細な説明と図面を併用することでさらに明確になるであろう。同一の要素については同一の参照数字を付すこととする。
【図面の簡単な説明】
【００１４】
【図１】ファイル符号化の動的スケーリングを行うように構成された通信デバイスを含む無線通信システムの実施形態の機能ブロック図である。
【図２】ファイル符号化を動的にスケーリングするための方法の実施形態の流れ図である。
【図３】ファイル符号化を動的にスケーリングするための方法の実施形態の流れ図である。
【図４Ａ】ファイル符号化を動的にスケーリングするための方法の実施形態の流れ図である。
【図４Ｂ】ファイル符号化を動的にスケーリングするための方法の実施形態の流れ図である。
【図５】量子化された非ゼロＤＣＴ出力のヒストグラムである。
【図６】レート歪み曲線の例のグラフである。
【図７】量子化されたＤＣＴ係数に基づいてスケーリングファクタを決定するグラフ図である。
【発明の詳細な説明】
【００１５】
無線通信システム内のデバイスは、ファイルの符号化のスケーリング側面によってファイルサイズを動的にスケーリングする装置及び方法を組み入れることができる。カメラによってキャプチャされた画像等のファイルは、部分的にはピクチャを定義するために用いられる画素数によって決定されるサイズを有することができる。画像の画素幅及び画素高は、画像の空間次元を特徴づけることができる。画像の空間次元に基づき、ファイルサイズは、ビット／画素に基づくビットレートとして表すことも可能である。ファイルサイズの制御は、ビットレート制御と同じ問題であるとみることができる。
【００１６】
ＪＰＥＧ圧縮は、ソース画像を圧縮するために用いられる最も一般的な画像圧縮方法の１つであるため、本開示は、ＪＰＥＧレート制御問題に焦点を合わせる。ＪＰＥＧ基準においては、符号化ビットレート（ビット／画素）は、量子化パラメータによって制御される。量子化パラメータは、符号器内で行われる離散コサイン変換（ＤＣＴ）プロセスにおいて用いられる行列で提供される。典型的には、量子化パラメータが大きいほど、結果的に得られるファイルにおけるビットレートは低くなる。
【００１７】
ＪＰＥＧ基準は、広範な心理的−視覚的しきい値設定実験に基づき、Ｑ０及びＱ１によってそれぞれ表される２つの標準的な量子化テーブルを推奨しており、Ｑ０はルミナンス成分、Ｑ１はクロミナンス成分を表す。標準的量子化テーブルは、以下の表１に示されている。
【００１８】
これらのテーブルは、特定の用途に関しては理想的でないことがあるが、一般的な８ビット／サンプル画像圧縮に関して用いられて好結果が得られている。これらのテーブル内の値を２で割ると、再構築されたＪＰＥＧ画像は通常は原画像とほぼ区別不能であるという点に注目することが重要である。  
【表１】
2011239425.tif 000003
【００１９】
一実施形態においては、画像ファイルのＪＰＥＧ符号化は、量子化パラメータの最適化を１つの画像ごとに実装することができる。特定の画像を所定のビットレートで符号化する場合は、所定の目標ビットレートに関して最高の画質が得ることができるようにするため、量子化テーブルを再設計して所定の画像の統計上の性質と一致させるようにすることが可能である。しかしながら、最適化プロセスは計算が非常に複雑であるため、特に計算能力が限られておりさらに短い遅延が要求される用途に関しては実際的な解決策にならない可能性がある。
【００２０】
代替実施形態においては、デバイスは、推奨される量子化テーブルを用いてＪＰＥＧ符号器を初期設定することができ、量子化テーブルＱ０及びＱ１をスケーリングすることによって新しい量子化テーブルを導き出すことができる。従って、第２の実施形態における各画像ファイルに関して、デバイスは、所定のビットレートに対応する新しい量子化テーブルＱ０’＝Ｑ０／Ｓ及びＱ１’＝Ｑ１／Ｓを決定し、ここで、Ｓはスケーリングファクタである。
【００２１】
従って、第２の実施形態における問題は、新しい量子化テーブルＱ０’及びＱ１’を用いて圧縮されたＪＰＥＧ画像の符号化ビットレートが所定のビットレートを満たすようなスケーリングファクタを該所定のビットレートに関して推定する問題であると特徴づけることができる。開示される方法及び装置は、所定の目標ビットレートに関するスケーリングファクタＳを推定するためにモデル型アルゴリズムを組み入れる。これらの方法及び装置は、一般的多項式モデルを用いて、ＡＣビット／画素とスケーリングファクタＳとの間の関係を概算する。これらの方法及び装置は、一般的モデルを特定の画像に適合化させるようにさらに構成され、このため、所定の目標ＡＣビット／画素に関するスケーリングファクタＳを処理中の各画像ファイルに関して正確に導き出すことができる。
【００２２】
図１は、ファイルサイズを予め決定されたファイルサイズにほぼ縮小するためにファイル符号化をスケーリングするように構成された少なくとも１つのユーザー端末１７０を有する無線通信システム１００の実施形態の機能ブロック図である。符号器の動的スケーリングは、帯域幅が限られている無線通信システム１００において特に有利であることができる。しかしながら、方法及び装置は、無線通信システム１００における用途に限定されておらず、有線システムにおいても適用可能である。
【００２３】
システムは、移動局１１０と通信状態であることができる１つ以上の固定された要素を含む。移動局１１０は、例えば、１つ以上の通信基準に従って動作するように構成された無線電話であることができる。１つ以上の通信基準は、例えば、ＧＳＭ（登録商標）と、ＷＣＤＭＡと、１ｘＥＶ−ＤＯ、１Ｘ  ＥＶ−ＤＶ、及びＣＤＭＡ２０００  ３ｘを含むＣＤＭＡ２００と、を含むことができる。移動局１１０は、ポータブル装置又はモバイル装置であることができ、継続的にモバイルである必要はなく、一定時間静止していることができる。移動局１１０は、モバイル装置、移動端末、ユーザー端末、ユーザー装置、ポータブル、電話等と呼ばれることもある。
【００２４】
移動局１１０は、典型的には、本明細書においてはセクター化されたセルラータワーとして描かれている１つ以上の基地局１２０と通信する。移動局１１０は、典型的には、移動局１１０内の受信機において最も強力な信号強度を提供する基地局１２０と通信する。図１には１つの基地局１２０しか示されていないが、無線通信システム１００は、典型的には、システムカバレッジエリアにわたってカバレッジを提供するように構成された複数の基地局を有する。
【００２５】
基地局１２０は、１２０等の該当する基地局へ又は該基地局から通信信号をルーティングする基地局コントローラ（ＢＳＣ）１３０に結合することができる。ＢＳＣ１３０は、移動局１１０と公衆交換電話網（ＰＳＴＮ）１５０との間のインタフェースとして動作するように構成することができる移動通信交換局（ＭＳＣ）１４０に結合される。従って、ＭＳＣ１４０は、ＰＳＴＮ１５０にも結合される。ＭＳＣ１４０は、その他の通信システムとのシステム間ハンドオフを調整するように構成することも可能である。
【００２６】
通信デバイス１６０は、ＰＳＴＮ１５０に接続することができ、基地局１２０と通信中の無線デバイスと通信することができる。通信デバイス１６０は、ディスプレイを有するコンピュータとして描かれている。しかしながら、通信デバイス１６０は、コンピュータ、電話機、端末等であることができる。
【００２７】
ユーザー端末１７０も基地局１２０と通信状態であることができる。ユーザー端末１７０は、移動局、モバイル装置、移動端末、ユーザー装置、ポータブル、電話機、無線モデムを装備したコンピュータ又は計算デバイス、コンピュータ、サーバー、パーソナルデジタルアシスタント等、又はその他の何らかの通信デバイスであることができる。ユーザー端末１７０は、基地局１２０との無線通信を送信及び受信するように構成されたトランシーバ１７２を含む。ユーザー端末１７０は、プロセッサ１７６及びメモリ１７８を含むことも可能である。メモリ１７８は、プロセッサが読み取り可能な１つ以上の命令を、プロセッサ１７６によって実行できるソフトウェアの形態で格納することができる。例えば、プロセッサ１７６は、メモリ１７８に格納された命令と共同で、トランシーバ１７２に結合された信号及びトランシーバ１７２からの信号のベースバンド処理を行うことができる。ユーザー端末１７０は、ユーザーインタフェースとして動作するように構成されたディスプレイ１７４を含むこともできる。
【００２８】
ユーザー端末１７０は、画像をキャプチャするように構成することができるカメラ１８０を含むことも可能である。キャプチャされた画像は、ディスプレイ１７４上で観るために又は無線通信システム１００に結合された行先デバイスに引き渡すためにメモリ１７８に格納することができる。
【００２９】
符号器１８２は、キャプチャされた画像を符号化して特定のフォーマットのファイルを生成するように構成することができる。さらに、符号器１８２は、キャプチャされた画像ファイルを、ファイルサイズを圧縮する形で符号化するように構成することも可能である。例えば、符号器１８２は、メモリ１７８に格納されているキャプチャされた画像ファイルのＪＰＥＧ符号化を行うように構成することが可能である。
【００３０】
ユーザー端末１７０は、符号化された画像ファイルが希望されるファイルサイズに圧縮されるようにするために符号器１８２と共同で動作するスケーリングモジュール１８４を含むように構成することも可能である。例えば、ユーザー端末１７０は、カメラ１８０を用いて画像をキャプチャすることができ、キャプチャ画像の各々は、画像ファイルの解像度に依存して異なるサイズを有することができる。ユーザー端末１７０は、無線通信システム１００に結合された他のデバイスに画像ファイルを通信するように構成することもできる。ユーザー端末１７０は、例えば、移動局１１０又はＰＳＴＮ１５０に結合された通信デバイス１６０にキャプチャされた画像ファイルを通信することができる。
【００３１】
無線通信システム１００は、システム上でのファイルサイズ転送に関する制限を有することができる。システムファイルサイズ制限は、例えば、システム上で利用可能な使用可能帯域幅量を保全するために実装することができる。
【００３２】
従って、ユーザー端末１７０は、キャプチャされた画像を無線通信システム１００上で送信前に符号器１８２を用いて圧縮することができる。しかしながら、ＪＰＥＧ符号化を提供するように構成された符号器１８２は、画像ファイルに依存して異なる符号化されたファイルサイズを生成する。ほぼ同一のサイズの２つの画像ファイルは、異なる符号化された画像サイズを生成する可能性がある。さらに、公称ＪＰＥＧ量子化テーブルを用いる符号器１８２は、圧縮された画像ファイルが無線通信システムによって課されたファイルサイズ制限よりも小さくなるようにキャプチャされた画像ファイルを十分に圧縮できない可能性がある。
【００３３】
従って、スケーリングモジュール１８４は、符号器１８２と共同で動作してファイルサイズ制限を満たしている圧縮された画像ファイルを生成することができる。スケーリングモジュール１８４は、最初に、目標ファイルサイズに従って最初のスケーリングファクタを決定し、次に、符号器１８２は、最初のスケーリングファクタを用いてキャプチャされた画像ファイルを符号化する。スケーリングモジュール１８４は、符号器１８２によって行われたキャプチャされた画像ファイルの最初の符号化が予め決定されたファイルサイズ制限内にある圧縮画像ファイルを生成するかどうかを決定することができる。生成する場合は、スケーリングモジュール１８４は、キャプチャされた画像ファイルを圧縮するために符号器１８２によって用いられる量子化パラメータを修正する必要がない。
【００３４】
圧縮された画像ファイルが予め決定されたファイルサイズよりも大きいか又ははるかに小さいとスケーリングモジュール１８４が決定した場合は、スケーリングモジュール１８４は、符号器１８２から得られたビットレートに基づいて新しいスケーリングファクタを再計算する。これで、スケーリングモジュール１８４は、新しいスケーリングファクタを用いてキャプチャされた画像ファイルを再符号化するように符号器１８２に命令することができる。スケーリングモジュール１８４は、符号化プロセスの特徴に部分的に基づいてスケーリングファクタを決定する。例えば、符号器１８２は、ＪＰＥＧ符号化を実装することができ、スケーリングモジュール１８４は、ＪＰＥＧファイルフォーマットに関する知識を用いてＪＰＥＧ量子化パラメータに関するスケーリングファクタを決定することができる。
【００３５】
符号器１８２及びスケーリングモジュール１８４は、ユーザー端末１７０において明示されているが、図１に示される１つ以上のその他のデバイス又はモジュール内にも存在することができる。例えば、無線通信システム１００は、基地局１２０によってブロードキャストされる全画素ファイルがファイルサイズ制限を超えないようにするために符号器１８２及びスケーリングモジュール１８４を基地局コントローラ１３０に実装することができる。その他の実施形態においては、移動局１１０及び通信デバイス１６０は、符号器１８２及びスケーリングモジュール１８４とともに構成することができる。
【００３６】
ＪＰＥＧ符号器及びスケーリングモジュールは、個別のモジュールとして描かれているが、これらのモジュールによって遂行される機能の一部又は全部は、メモリ１７８内に格納された命令に基づいて動作するプロセッサ１７６によって行うことができる。さらに、これらのモジュールのうちの１つ以上のモジュールの機能を単一のモジュール内において統合することができ又は単一のモジュールの機能を複数の個別のモジュールによって行うことができる。
【００３７】
ＪＰＥＧファイルにおいては、ビットストリームは、主に、次の構成要素、すなわち、ハフマンテーブルと量子化テーブル及びＪＰＥＧ基準において指定されるその他のオプションのヘッダを含むＪＰＥＧヘッダビットと、ＤＣ成分を符号化するＤＣビットと、ＡＣ成分を符号化するＡＣビットと、ブロック終了ビットと、を具備する。ＪＰＥＧヘッダビット及びブロック終了ビットの数は、通常は一定であり、符号化前に知られている。ＤＣビット数は、典型的には、ＪＰＥＧビットストリームの小さい部分であり、量子化パラメータに適用される異なるスケーリングファクタに関して有意には変わらない。
【００３８】
一実施形態においては、ＤＣ量子化パラメータはスケーリングされず、ＤＣビット数はスケーリングファクタに基づいて変わらない。その他の実施形態においては、ＤＣ量子化パラメータは、符号化されたファイルサイズをわずかに改良するためにスケーリングすることができる。
【００３９】
ＡＣビットは、ＪＰＥＧビットストリームの大きな部分を占めており、ＡＣビット数は、異なるスケーリングファクタの間で劇的に変化する可能性がある。従って、ＡＣビット数とスケーリングファクタとの間の関係について理解することは、ＪＰＥＧビットレート制御に関する基礎となる。以下の説明においては、‘Ｒ’は画素当たりのＡＣビット数を表す。
【００４０】
スケーリングファクタがキャプチャされた画像のＪＰＥＧ符号化に対して与える影響を特徴づけるために、異なる特徴を有する幾つかの画像が作成された。これらの様々なな画像は、異なるスケーリングファクタを用いて符号化された。各々のサンプル画像に関するＲ−Ｓ曲線が作図されて比較された。
【００４１】
Ｒ−Ｓ曲線は各画像ごとに劇的に変化することが観察された。しかしながら、Ｓ＝０の場合は、Ｑ０’及びＱ１’内のスケーリングされた量子化値はすべて無限である。従って、すべての量子化されたＡＣ係数がゼロになり、Ｒ＝０を意味する。従って、すべてのＲ−Ｓ曲線は、原点（０，０）を通る。さらに、以下の多項式によってすべての曲線を合理的な誤差の範囲内で概算可能であることが決定された。
【００４２】
S = AR2 + BR  
ここで、Ａ及びＢは、一定の係数であり、Ｒは、画素当たりのＡＣビット、Ｓは、スケーリングファクタである。
【００４３】
Ｒ−Ｓ曲線の多項式モデルは、すべての試験画像内のすべてのＡ値及びＢ値の中央値を用いて一般的Ｒ−Ｓモデルを計算するために用いられる。その結果、次の値が得られた。Ａ＝０．６８６９、Ｂ＝１．５８２５。導き出された一般的Ｒ−Ｓモデルは以下のとおりである。
【００４４】
S = 0.6869R2 + 1.5825R  
しかしながら、Ｒ−Ｓ曲線は、各画像ごとに劇的に変化する可能性がある。従って、一般的Ｒ−Ｓモデルは、特定の画像に適用するスケーリングファクタＳを推定するために用いられたときには不良な推定精度をもたらすことがある。一般的Ｒ−Ｓモデルは、特定の画像に関するスケーリングファクタ（Ｓ）推定値の精度を向上させるために２パスプロセスにおいて適合化することができる。
【００４５】
図２は、ファイル符号化を動的にスケーリングするための方法２００の実施形態の流れ図である。方法２００は、図１に示されるユーザー端末１７０、特にスケーリングモジュール１８４及び符号器１８２に実装することができる。
【００４６】
方法２００を実装したスケーリングモジュール及び符号器は、２パスＪＰＥＧビットレート制御アルゴリズムを実行する。図２の方法２００においては、Ｑ０及びＱ１の両方におけるＤＣ量子化パラメータがアルゴリズムにおいてスケーリングされるわけではない。しかしながら、その他の実施形態においては、ＤＣパラメータもスケーリング可能である。例えば、スケーリングモジュール及び符号器は、ＡＣパラメータに関して用いられるのと同じスケーリングファクタを用いて同時にＤＣパラメータをスケーリングすることができる。代替として、別個の方法及びスケーリングファクタをＤＣパラメータに適用することができる。
【００４７】
方法２００は、ブロック２０２において開始し、ユーザー端末１７０は、例えばスケーリングモジュール１８４において、スケーリングファクタモデルを決定し、該スケーリングファクタモデルは、多項式モデルであることができる。上述されるように、多項式モデルは、キャプチャされた画像ファイルの研究又はシミュレーションを通じて決定することができる。このような経験的に導き出された多項式モデルは、製造時又はスケーリングモジュール１８４及び符号器１８２によるアクセスのための装備中に予め決定することができる。
【００４８】
次に、スケーリングモジュールは、ブロック２１０において目標ビットレートを決定することができる。スケーリングモジュールは、例えばキャプチャされた画像ファイル内の画素数に基づいて目標ビットレートを決定することができる。他の実施形態においては、スケーリングモジュールは、キャプチャされた画像の解像度に部分的に基づいて、予め決定された目標ビットレートグループの中から目標ビットレートを選択することができる。その他の実施形態、例えばカメラが単一の解像度に制限されている実施形態、においては、目標ビットレートは、固定してメモリに格納することができる。
【００４９】
次に、スケーリングモジュールは、ブロック２２０において多項式モデルを用いてスケーリングファクタを決定する。目標ビットレートの選択が定義されている実施形態においては、関連するスケーリングファクタも予め決定することができる。目標ビットレートがキャプチャされた画像ファイルに基づいて決定される場合は、目標ビットレートは、スケーリングファクタモデルにおいて該当するスケーリングファクタを決定するための変数として用いることができる。
【００５０】
最初のスケーリングファクタを決定後は、スケーリングモジュールは、スケーリングファクタを符号器に提供することができ、又はスケーリングファクタを用いて１つ以上のスケーリングされた量子化テーブルを生成することができる。符号器は、ブロック２３０において、スケーリングされた量子化テーブルを用いてソース画像を符号化する。符号器は、例えば、符号化された画像ファイルをメモリに出力することができる。
【００５１】
スケーリングモジュールは、判断ブロック２４０において、符号化された画像ファイルをメモリから取り出すことができ、さらに符号化された画像ファイルと関連する実際のビットレートを決定することができる。次に、スケーリングモジュールは、モデルから生成されたスケーリングファクタを用いて符号化された符号化画像ファイルが目標ビットレートを満たしているかどうかを決定することができる。満たしている場合は、スケーリングファクタを調整する必要も画像ファイルを再符号化する必要もない。スケーリングモジュールは、ブロック２８０に進み、方法は終了される。
【００５２】
判断ブロック２４０に戻り、実際のビットレートが希望される目標ビットレートよりも大きいか又ははるかに小さいとスケーリングモジュールが決定した場合は、スケーリングモジュールは、ブロック２５０に進み、一般的スケーリングファクタモデルを、修正されたビットレートを計算することによって処理中の特定の画像に適合させる。
【００５３】
スケーリングモジュールは、最初のスケーリングされたビットレートに関する知識を用いてスケーリングファクタを調整することができる。キャプチャされた画像ファイルは、修正されたスケーリングファクタを用いて符号化することで、目標ビットレートよりも小さいか又は等しい符号化された画像ファイルを生成することができる。
【００５４】
一実施形態においては、スケーリングモジュールは、最初のスケーリングファクタ及び符号器を通じての最初のパスにおいて結果的に得られたビットレートを用いて一般的スケーリングファクタモデルを特定の画像に合わせて適合化する。適合化プロセスは以下のとおりである。
【００５５】
・パス１符号化の結果得られたビットレートＲ１が目標ビットレートＲＴよりも大きい場合は、ビットレートR1 = R1 + (R1 − RT)/4に修正する。
【００５６】
・補正係数（Ｋ）がK = S1/(0.6869R12 + 1.5825R1)に決定され、ここで、Ｓ１は、スケーリングモジュール１８４によって与えられる最初のスケーリングファクタである。
【００５７】
・この特定の画像に関する新しいスケーリングファクタモデルは、S = K(0.6869R2 + 1.5825R)であり、ここで、Ｓはスケーリングファクタであり、Ｒは画素当たりのＡＣビットである。
【００５８】
次に、スケーリングモジュールは、ブロック２６０に進み、修正されたスケーリングファクタを決定することができる。再計算されたスケーリングファクタは、新しいスケーリングファクタモデルから導き出すことができる。例えば、スケーリングモジュールは、更新されたスケーリングファクタモデルを用いて新しいスケーリングファクタＳ２を計算することができる。スケーリングモジュールは、例えば、S2 = K(0.6869RT2 + 1.5825RT) = KS1を計算することができる。Ｒ１＞ＲＴである場合は、再計算されたスケーリングファクタは、原スケーリングファクタ推定値よりも小さく、結果的に得られる符号化された画像ファイルはより小さくなる。Ｒ１＜ＲＴである場合は、再計算されたスケーリングファクタは、原スケーリングファクタ推定値よりも大きくなる。スケーリングモジュールは、再計算されたスケーリングファクタを符号器に提供することができる、又は再計算されたスケーリングファクタを用いて１つ以上のスケーリングされた量子化テーブルを生成することができる。
【００５９】
符号器は、ブロック２７０に進み、再計算されたスケーリングファクタによってスケーリングされた量子化テーブルを用いて、キャプチャされた画像ファイルを再符号化することができる。符号化された画像ファイルは、メモリに格納することができ、前の符号化された画像ファイルに置換することができる。キャプチャされた画像ファイルを再符号化後は、ユーザー端末は、ブロック２８０に進み、方法２００が終了される。全体的には、方法２００のレート制御誤差は、目標ビットレートＲＴの約１０％を下回る。
【００６０】
図３は、ファイル符号化を動的にスケーリングするための方法３００の実施形態の流れ図である。図３に示される方法３００は、個々のキャプチャされた画像ファイルに関して目標レートが決定され、ＡＣビット数に基づく特定の実装である。方法３００は、図１のユーザー端末又は希望されるファイルサイズの符号化されたファイルを生成するために符号器パラメータをスケーリングするように構成されたその他のデバイスによって実行することができる。図３の公式は、以下の定義を用いる。
【００６１】
・Ｆ＝ビットに基づくＪＰＥＧファイルサイズ
・Ｈ＝ＪＰＥＧヘッダビット数  
・ＥＯＢ＝ブロック終了ビット数  
・ＤＣ＝ＤＣビット数  
・ＡＣ＝ＡＣビット数  
・Ｗ＝画素に基づく画像の幅  
・ＨＴ＝画素数に基づく画像の高さ  
最初に、ブロック３１０において、ユーザー端末は、スケーリングモジュールを用いて、目標ビットレートを計算することができる。上述されるように、ＪＰＥＧ符号化されたファイルは、ＡＣ量子化パラメータの変化の影響を最も受けやすい。従って、目標ビットレートは、ＡＣビット数から決定することができる。ＪＰＥＧ符号化されたファイルは、ビット数F = H + EOB + DC + ACを含む。所定の目標ＪＰＥＧファイルサイズＦＴに関して、画素当たりの目標ＡＣビットＲＴは、以下の式によって計算することができる。
【００６２】
RT = AC/(W * HT) = (FT−H−EOB−DC)/(W * HT)  
上述されるように、Ｈ及びＥＯＢは定数であり、符号化前に知られている。例えば、ＪＰＥＧ基準におけるデフォルトハフマンテーブルがＪＰＥＧ符号化において用いられる場合は、各８×８ルミナンスブロックに関してはＥＯＢ＝４、各８×８クロミナンスブロックに関してはＥＯＢ＝２である。ＤＣはＪＰＥＧビットストリームの小さい部分であるが、符号化前に知られていない場合がある。従って、ＤＣビット数は推定することができる。
【００６３】
ＤＣビット数は、８×８ブロックごとのＤＣ成分を符号化するために用いられる４つのＤＣビットを推定することによって推定することができる。次に、ファイル内の総ＤＣビット数を4*W*HT*C/(8*8)として推定することができ、YCbCr420フォーマットの場合はC = 1.5、YCbCr422フォーマットの場合はC = 2である。
【００６４】
目標ビットレートが決定された時点で、スケーリングモジュールは、ブロック３２０に進み、最初のスケーリングファクタを決定する。スケーリングモジュールは、予め決定されている一般的スケーリングファクタモデルを用いてスケーリングファクタＳ１を推定することができる。上述されるように、経験的に導き出されるスケーリングファクタモデルの一実施形態は、S1 = 0.6869RT2 + 1.5825RTを提供する。
【００６５】
スケーリングファクタを決定後、符号器は、ブロック３３０において、最初のスケーリングファクタによってスケーリングされた量子化パラメータを用いてキャプチャされた画像を最初に符号化する。この実施形態においては、ＤＣ成分に関する量子化パラメータはスケーリングされない。
【００６６】
スケーリングモジュールは、ブロック３４０において、達成された実際のレートを符号化された画像ファイルのサイズを用いて計算することができる。ＪＰＥＧ符号器は、ＤＣ成分の符号化に費やされた実際のビット数ＤＣ１を戻すことも可能である。その場合は、ＤＣ１は、ＤＣ値の最初の推定値に置換するために用いることができる。ＤＣ１は推定値されたＤＣビットではなく実際のＤＣビットであるため、ＤＣビット数に関する実際の値を用いることは、全体的なファイルサイズの制御の精度を向上させることができる。
【００６７】
実際のレートが決定された時点で、スケーリングモジュールは、ブロック３５０に進み、スケーリングファクタに適用される補正係数を決定することができる。スケーリングモジュールは、オプションで、予め決定されたファイルサイズ又はビットレートよりも大きいか又ははるかに小さい符号化されたファイルのみに関して補正係数を決定することができる。ブロック３４０において決定された実際のビットレートをＲ１とする。R1 > RTの場合、R1 = R1 + (R1 − RT)/4である。補正係数は、K = S1/(0.6869R12 + 1.5825R1)として計算することができる。
【００６８】
ブロック３６０において、スケーリングモジュールは、補正係数を用いてスケーリングファクタを再計算する。再計算されたスケーリングファクタは、S = K(0.6869RT2 + 1.5825RT)である。
【００６９】
上述されるように、標準量子化テーブルＱ０及びＱ１内の値を２で割った場合、再構築されたＪＰＥＧ画像は、通常は原画像とほとんど区別できない。従って、１／２よりも小さいスケーリングファクタを用いて符号化されたＪＰＥＧ画像は、１／２のスケーリングファクタを用いて符号化されたＪＰＥＧ画像とほぼ同じ知覚上の品質を有することになり、他方、第１の画像のファイルサイズは、第２の画像のファイルサイズよりもはるかに大きくなる可能性がある。従って、スケーリングモジュールは、スケーリングファクタの範囲を１／２に制限することができる。同様に、スケーリングファクタ範囲の上半分は、極端に低い知覚上の品質を有する符号化画像を防止するように制限することができる。
【００７０】
符号器は、ブロック３７０において、再計算されたスケーリングファクタによってスケーリングされた量子化パラメータを用いて、キャプチャされた画像ファイルを再符号化する。繰り返しになるが、ＤＣ成分に関する量子化パラメータはスケーリングされない。
【００７１】
図３の方法３００のシミュレーションにおいて、１００を超える画像が試験された。これらのシミュレーションの場合は、ＪＰＥＧ符号器は、ＤＣビット数ＤＣ１を戻さなかった。その結果、ＪＰＥＧ符号化を通じての第２のパスにおいては推定されたＤＣ値が用いられた。これらのシミュレーションは、幾つかの画像に関する出力ビットレートは一定の目標ビットレートを超えても一定であることを明らかにした。このことは、スケーリングファクタはＪＰＥＧファイルサイズ制御アルゴリズムでは２以下に制限されているという事実に起因する。出力されたビットレートが増加を止める時点は、画像内の内容に依存する。
【００７２】
シミュレーション結果は、試験された画像の一部に関するアルゴリズムの制御上の誤りの有無についても検討された。この分析は、幾つかの場合においてはアルゴリズムが目標ビットレートを１０％オーバーシュートする可能性があることを示した。この問題を克服するため、システム又は方法は、予め決定されたファイルサイズ限度を超える確率を最低にするためにアルゴリズムを実行する前に目標ビットレートを約１０％低くすることができる。ＪＰＥＧ符号器がＤＣビット数ＤＣ１を戻すその他の実施形態は、アルゴリズムの精度を向上させ、それによって目標ビットレートにおいて要求されるヘッドルーム量を低減させることができる。ＤＣビットの推定誤差は、低ビットレートにおけるアルゴリズムの精度に特に影響を及ぼす可能性がある。
【００７３】
図２及び３の流れ図は、図１のユーザー端末１７０に実装することができるファイル符号化を動的にスケーリングする方法の実施形態を示す。図２及び３の流れ図において示される方法では、ファイル符号化の動的スケーリングは、符号器１８２から独立して、及び符号器１８２の外部で行うことができる。該実装は、符号器１８２の中間結果をユーザー端末１７０内のその他のモジュールが利用できない場合、又は符号器１８２がアクセス可能な入力と出力を有するがその他は密閉されている「ブラックボックス」として扱われる場合に有利になる。例えば符号器１８２は、ユーザー端末１７０のその他のモジュールとインタフェースする別個のモジュール、例えば別個のＩＣ、であることができる。
【００７４】
その他の実施形態においては、符号器１８２によって生成された中間結果は、ユーザー端末１７０内のその他のモジュールによってアクセス可能である。該コンフィギュレーションにおいては、符号器に依存する動的ファイル符号化スケーリング方法を実装するのが有利になる。図４Ａは、ファイル符号化を動的にスケーリングするための方法４００の実施形態の流れ図である。図４Ａの流れ図に示される方法４００は、ＪＰＥＧ符号器からの中間結果を利用する。特に、方法４００は、異なる量子化パラメータスケーリングファクタに関して符号器によって生成された幾つかの非ゼロ量子化ＤＣＴ係数に部分的に基づいて量子化パラメータを決定する。
【００７５】
図４Ａの方法４００は、レート歪み（ＲＤ）がＤＣＴブロックからの非ゼロ要素分に比例する圧縮アルゴリズムの性質に部分的に基づく。図４Ａの方法４００を実装するユーザー端末は、最初に、最初の量子化テーブルを用いてキャプチャされた画像ファイルを符号化する。ユーザー端末は、符号器がキャプチャされた画像ファイルを最初の符号化された画像ファイルに変換中に幾つかの統計値を符号器から収集する。
【００７６】
ユーザー端末、特にスケーリングモジュールは、オーバーヘッドビット数、符号器からのゼロＤＣＴ出力数、及び符号器からの分数の非ゼロＤＣＴ出力数を決定するように構成することができる。スケーリングモジュールは、予め決定された数のスケーリングファクタによってスケーリングされた量子化パラメータに関する統計値を再決定することができる。スケーリングファクタは、例えば直線的に配列することができる。
【００７７】
スケーリングモジュールは、最初の符号化の統計値からレート歪み曲線を決定することができる。スケーリングモジュールは、スケーリングされた量子化パラメータに対応する統計値間で内挿することによってスケーリングファクタを決定することができる。スケーリングモジュールは、スケーリングファクタを用いて量子化パラメータをスケーリングする。符号器は、キャプチャされた画像ファイルをスケーリングされた量子化パラメータによって再符号化する。その結果得られた符号化されたファイルは、典型的には、目標ファイルサイズよりも小さい。目標ファイルサイズよりも小さくない場合は、スケーリングモジュールは、量子化パラメータを微調整することができ、符号器は、キャプチャされた画像ファイルを再符号化することができる。スケーリングモジュールは、符号化されたファイルサイズが目標ファイルサイズよりも小さくなるまで量子化パラメータの微調整を続けることができ、符号器は、キャプチャされた画像ファイルを再符号化することができる。
【００７８】
図４Ａの方法４００は、ユーザー端末が画像ファイルを通信することを希望してキャプチャされた画像ファイルを処理のために符号器又はスケーリングモジュールに提示した時点で動作することができる。方法４００は、ＪＰＥＧ符号器を実装するものとして示されているが、その他の圧縮アルゴリズムを実行するその他の型の符号器に対しても適用可能である。
【００７９】
ユーザー端末は、判断ブロック４０２において、目標ファイルサイズが指定されているかどうかを最初に決定する。例えば、ユーザー端末は、画像ファイルが無線リンクを通じて通信されるときには目標ファイルサイズ制限を課すことができるが、画像ファイルがユーザー端末上の有線ポートを介して通信される場合はファイルサイズ制限を課すことができない。
【００８０】
ファイルサイズが制限されないか又は指定されない場合は、ユーザー端末は、ブロック４０４に進み、符号器は、画像ファイルを符号化する。符号器は、例えば、公称量子化テーブルにおいて配列された公称量子化パラメータを用いてＪＰＥＧ符号化を行う。ＪＰＥＧ符号化は、典型的には、別個のクロミナンス及びルミナンス符号化プロセスを指すと理解されている。一実施形態においては、デフォルト量子化パラメータ及びデフォルト量子化テーブルは、表１に示される量子化パラメータ及び量子化テーブルであり、公称量子化パラメータ及び量子化テーブルは、デフォルトパラメータを１／２だけスケーリングすることによって決定される。その他の実施形態は、その他のデフォルト量子化パラメータ及び量子化テーブルを用いることができる。ブロック４０４におけるＪＰＥＧ符号化後は、ユーザー端末は、ブロック４０８に進んで終了される。
【００８１】
判断ブロック４０２に戻り、ファイルサイズ制限が存在していて画像ファイルに課すべきであるとユーザー端末が決定した場合は、ユーザー端末は、判断ブロック４１０に進む。判断ブロック４１０において、ユーザー端末は、画像ファイル内の画素数及びファイルサイズ制限に基づいて画素当たりのビット数を決定する。ユーザー端末は、符号化されたファイルに関して得られたビットレートが画素当たり１／２ビット未満、又はその他の何らかの最低レート未満であるかどうかを決定する。ビットレートが最低ビットレートを下回る場合は、符号器によって生成された符号化されたファイルは、符号化されたファイルから復元された画像の品質が低くなるような高い圧縮率で圧縮される。
【００８２】
従って、ビットレートが最低ビットレートよりも低いとユーザー端末が決定した場合は、ユーザー端末は、ブロック４１２に進み、ブロック４１２において、画像ファイル内の総画素数を減らすために画像ファイルがデシメートされるか又はダウンサンプリングされる。ユーザー端末は、例えば、原画像ファイル内の２つの画素ごとにそのうちの１つを選択することによって画像ファイルをデシメートすることができる。その他のデシメーション率も用いることができる。ユーザー端末は、ブロック４１２において画像ファイルをデシメート後に判断ブロック４１０に戻る。
【００８３】
判断ブロック４１０に戻り、原画像ファイル又はデシメートされた画像ファイルのいずれであるかにかかわらず、画像ファイルに関するビットレートが最低ビットレートよりも大きい場合は、ユーザー端末は、ブロック４２０に進む。
【００８４】
ブロック４２０において、ユーザー端末は、表１に示されるデフォルト量子化テーブルを１／２倍だけスケーリングすることによって最初の量子化テーブルを決定する。ユーザー端末は、ブロック４２２に進み、最初の量子化テーブルを用いて画像ファイルを符号化して最初の符号化されたファイルを生成する。
【００８５】
ユーザー端末は、判断ブロック４３０に進み、最初の符号化されたファイルのファイルサイズが最低条件を満たしているかどうかを決定する。すなわち、ユーザー端末は、最初の符号化されたファイルが目標ファイルサイズよりも小さいか又は等しいファイルサイズを有するかどうかを決定する。該ファイルサイズを有する場合は、ユーザー端末は、ブロック４６０に進んで終了される。
【００８６】
判断ブロック４３０に戻り、最初の符号化されたファイルサイズが目標ファイルサイズよりも大きいとユーザー端末が決定した場合は、ユーザー端末は、判断ブロック４３０からブロック４４０に進む。ブロック４４０において、ユーザー端末は、ＪＰＥＧレート制御を行って新しい量子化テーブルを決定する。ユーザー端末は、例えば、新しい量子化テーブルを生成するためにデフォルト量子化テーブルに適用するスケーリングファクタを決定することができる。
【００８７】
スケーリングファクタを決定するプロセスは、図４Ｂの流れ図において詳述されており、以下において要約される。ユーザー端末は、新しい量子化テーブルを決定するために用いられるスケーリングファクタを決定するために、様々な量子化テーブルに対応する統計値を符号器から収集する。一実施形態においては、符号器又はスケーリングモジュールは、最初の量子化パラメータを用いて生成された符号器からのＤＣＴ係数値を格納することができる。このため、ユーザー端末は、符号器が最初の量子化テーブル及び最初の量子化テーブルのスケーリングされたバージョンを使用時にゼロ量子化ＤＣＴ出力数を決定するように構成することができる。ユーザー端末は、最初の符号化されたファイルに関する分数の非ゼロ値を決定することも可能である。
【００８８】
統計値から、ユーザー端末は、分数の非ゼロ値及び符号化されたファイル内のＡＣビット数を含む、最初の符号化されたファイルからの統計値に基づいてレート歪み曲線を決定することができる。レート歪み曲線から、ユーザー端末は、レート歪み曲線及び目標ＡＣビット数を用いて目標とする分数の非ゼロ値を決定することができる。次に、ユーザー端末は、目標とする分数の非ゼロ値からスケーリングファクタを決定することができる。
【００８９】
スケーリングファクタを決定後は、ユーザー端末は、ブロック４４２に進み、スケーリングされた量子化テーブルのパラメータを用いて画像ファイルをＪＰＥＧ符号化する。画像ファイルは、判断ブロック４１０の要求を満たしている画像ファイルを指す。画像ファイルは、原画像ファイルであることができ、又は原画像ファイルのデシメートされたバージョンであることができる。
【００９０】
画像ファイルを符号化して符号化されたファイルを生成後は、ユーザー端末は、判断ブロック４５０に進み、符号化されたファイルがファイルサイズ制限を満たしているかどうかを決定する。満たしている場合は、ユーザー端末は、ブロック４６０に進んで終了される。
【００９１】
しかしながら、符号化されたファイルがファイルサイズ制限を満たしていない場合がある。満たしていない場合は、符号化されたファイルサイズは、典型的には、ファイルサイズ制限よりもほんのわずかに大きい。これらの状況においては、ユーザー端末は、判断ブロック４５０からブロック４５２に進み、スケーリングされた量子化テーブルを微調整する。
【００９２】
ユーザー端末は、スケーリングされた量子化テーブルを微調整するために一般的技術を実装することができるが、符号化されたファイルサイズをファイルサイズ制限内にするために必要な変更は、典型的には小さい変更である。一実施形態においては、ユーザー端末は、スケーリングされた量子化テーブル内の各々のパラメータに一定の量を加えることによってスケーリングされた量子化テーブルを微調整することができる。例えば、ユーザー端末は、６、８、１０，１５、又はその他の何らかの値をスケーリングされた量子化テーブル内の各量子化パラメータに加えることによって量子化パラメータを微調整することができる。他の実施形態においては、ユーザー端末は、例えばパラメータ値をさらに２、５、１０、又は１５％大きくすることができる追加のスケールファクタ、又はその他の何らかの値を乗じることによってスケーリングされた量子化テーブルを微調整することができる。
【００９３】
スケーリングされた量子化テーブルを微調整後は、ユーザー端末は、ブロック４４２に戻り、微調整された量子化テーブルを用いて画像ファイルを再符号化する。ユーザー端末は、符号化されたファイルサイズがファイルサイズ制限を満たすまで量子化テーブルを微調整して画像ファイルを符号化するのを続けることができる。
【００９４】
図４Ｂは、例えば図１のユーザー端末のスケーリングモジュールを用いて実行することができるＪＰＥＧレート制御方法４４０の実施形態の流れ図である。方法４４０は、ブロック４７０において開始し、スケーリングモジュールは、最初の符号化されたファイルの処理中に統計値を符号器から収集することができる。統計値は、ファイル内のオーバーヘッドビット数と、ルミナンスブロック及びクロミナンスブロックにおける画像全体に関する量子化後のゼロＤＣＴ出力の総数と、ルミナンスブロック及びクロミナンスブロックの連長符号化において用いられるビット数と、を含むことができるが、これらに限定されない。
【００９５】
スケーリングモジュールは、ブロック４７２に進み、スケーリングされた量子化テーブルを用いてルミナンスブロック及びクロミナンスブロックにおいて量子化後の非ゼロでなＤＣＴ出力数を決定する。これらの値を決定するために、スケーリングモジュールは、符号器のＤＣＴ出力にアクセスする。ＤＣＴ出力は、典型的には、符号器の中間段階であるため、符号器は、ＤＣＴ出力値へのアクセスを提供するように構成される。
【００９６】
スケーリングモジュールは、量子化テーブルに適用された予め決定された数のスケーリングファクタに関して非ゼロＤＣＴ出力数を決定することができる。例えば、スケーリングモジュールは、最初の量子化テーブルを２、３、４、５、及び６倍だけ、又はその他の何らかのスケーリングファクタだけスケーリング後に非ゼロＤＣＴ出力数を決定することができる。スケーリングモジュールは、スケーリングされた量子化テーブル値に関する非ゼロＤＣＴ出力の総数を決定することができ、又は量子化テーブルをスケーリング時に非ゼロの数の変化を決定することができる。
【００９７】
図５は、ルミナンス値に関する非ゼロＤＣＴ出力のヒストグラムである。クロミナンス値に関して別個のヒストグラムを生成することができる。図５のヒストグラム内の棒は、デフォルト量子化テーブルに適用される様々なスケーリングファクタに関してスケーリングモジュールによって決定された非ゼロＤＣＴ出力の追加の数を示す。ヒストグラム上の最初の棒は、最初の量子化行列に関する非ゼロＤＣＴ出力数を表す。上述されるように、最初の量子化テーブルは、１／２だけスケーリングされた値を有するデフォルト量子化テーブルであることができる。
【００９８】
様々なスケーリングファクタに関する非ゼロＤＣＴ出力数を決定後は、スケーリングモジュールは、ブロック４８０に進んで目標ビット数を決定する。その他のビットの数は量子化テーブルの変化による影響を相対的に受けにくいため、目標ビット数は、目標とするＡＣビット数に限定することができる。従って、スケーリングモジュールは下記を決定することができる。
【００９９】
target_nbits_ac_all = TargetNbits − nbits_overhead  
TargetNbitsの値は、方法への入力であり、nbits_overheadは、以前に決定されたオーバーヘッドビット数を表す。スケーリングモジュールは、クロミナンス及びルミナンスに関する目標ＡＣビット数を別個に決定することができ、さらに目標ビット数はルミナンスビット及びクロミナンスビットの目標合計であることを考慮に入れることができる。
【０１００】
目標ビット数を決定後は、スケーリングモジュールは、ブロック４８２に進み、レート歪み曲線を決定する。レート歪みを分数の非ゼロ要素数（ρ）と突き合わせて作図したレート歪み曲線は、原点を通る直線である。
【０１０１】
図６は、ルミナンス値に関するレート歪み曲線の例である。曲線は原点を通るため、レート歪み曲線は以下の形を有する。
【０１０２】
nBitsAC = κ・ρ  
傾き（κ）は、最初の符号化されたファイルから収集された統計値を用いて決定することができ、最初の符号化された画像内のＡＣビット数を分数の非ゼロＤＣＴ出力値数によって割った値に等しい。従って、傾きは、以下の公式によって決定することができる。  
【数１】
2011239425.tif 000004
【０１０３】
スケーリングモジュールは、ブロック４８４に進み、目標分数非ゼロ値を決定する。図６に示されるように、目標分数非ゼロ値（ρ^）は、本明細書においては目標ＡＣビットレートとして示されている目標ビットレートを用いてレート歪み曲線から決定することができる。
【０１０４】
レート歪み曲線に少なくとも部分的に基づいて目標分数非ゼロ値を決定後は、スケーリングモジュールは、ブロック４９０に進み、画像ファイルを再符号化する際に用いるスケーリングファクタを決定する。図７は、量子化されたＤＣＴ係数に基づいたスケーリングファクタの決定を示すグラフである。
【０１０５】
図７に示されるように、各ヒストグラム値は、分数の非ゼロ要素（ρ）数に対応する。スケーリングモジュールは、ブロック４８４において以前に決定された目標分数非ゼロ値（ρ^）を用いて、２つのρ値の間で内挿してスケーリングファクタを決定することができる。図７の例においては、スケーリングファクタは、（Q^）に比例し、２×Q^として決定される。
【０１０６】
スケーリングファクタを決定後は、スケーリングファクタは、ブロック４９２においてデフォルト量子化テーブルにスケーリングファクタを適用し、スケーリングされた量子化テーブルを生成する。スケーリングモジュールは、ブロック４９４に進み、ＪＰＥＧレート制御方法４４０が終了される。
【０１０７】
ファイル符号化を動的にスケーリングするための装置、システム、及び方法が開示されている。これらの方法、システム、及び装置は、目標ビットレート及び関連する目標の符号化ファイルサイズを最初のファイルから達成させることができる２パス符号化プロセスを用いることができる。最初の符号化されていないファイルは、スケーリングファクタモデルから決定されたスケーリングファクタによってスケーリングされた量子化パラメータを用いて符号化される。その結果得られる符号化されたファイルは、予め決定された符号化されたファイルサイズ制限を順守しているかどうかを検討することができる。
【０１０８】
スケーリングファクタは、予め決定されたファイルサイズ制限を最初に順守していない符号化されたファイルに関して再計算することができる。スケーリングモジュールは、再計算されたスケーリングファクタを生成するために最初のスケーリングファクタに適用される補正されたビットレート及び補正係数を決定することができる。次に、再計算されたスケーリングファクタによってスケーリングされた量子化係数を用いて原ファイルを再符号化し、予め決定されたファイルサイズ制限を順守する符号化されたファイルを生成することができる。
【０１０９】
開示されている実施形態に関する上記の説明は、当業者が本開示を製造又は使用できるようにすることを目的とするものである。これらの実施形態に対する様々な修正は、当業者にとっては容易に明確になるであろう。本明細書において定められている一般原理は、本開示の精神及び適用範囲を逸脱しない形でその他の実施形態に対しても適用することができる。以上のように、本開示は、本明細書において示されている実施形態に限定することが意図されるものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められるべきである。
【図１】
2011239425.tif 000005
【図２】
2011239425.tif 000006
【図３】
2011239425.tif 000007
【図４Ａ】
2011239425.tif 000008
【図４Ｂ】
2011239425.tif 000009
【図５】
2011239425.tif 000010
【図６】
2011239425.tif 000011
【図７】
2011239425.tif 000012
【手続補正書】
【提出日】平成23年7月13日(2011.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スケーリングファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して前記ソースファイルのファイルサイズよりも小さい目標ファイルサイズを有する符号化されたファイルを生成するように構成された符号器と、
前記符号器によって用いられる前記スケーリングファクタを前記目標ファイルサイズ及び前記ソースファイルの前記ファイルサイズに部分的に基づいて決定するように構成され、前記ソースファイルの前記ファイルサイズに部分的に基づいて最初のスケールファクタを生成するように構成されたスケーリングモジュールと、
を具備し、
前記符号器は、最初の符号化されたファイルサイズに部分的に基づいた前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて、前記ソースファイルを符号化するように構成され、
前記スケーリングモジュールは、前記最初の符号化されたファイルの前記ファイルサイズに基づいて補正係数を決定し、前記スケーリングファクタを前記最初のスケールファクタと前記補正係数の積として決定するように構成され、
前記スケーリングモジュールは、ソースファイル内のＡＣビット数に基づいて目標ビットレートを決定することによって最初のスケールファクタを決定するように構成された符号化システム。
【請求項２】
前記スケーリングモジュールは、スケーリングファクタモデルを用いて前記最初のスケールファクタを決定する請求項１に記載のシステム。
【請求項３】
前記スケーリングモジュールは、予め決定された多項式を用いて前記最初のスケールファクタを決定する請求項１に記載のシステム。
【請求項４】
前記スケーリングモジュールは、前記最初のスケールファクタと前記補正係数の前記積が予め決定された数字を超える場合は前記スケーリングファクタを前記予め決定された数字に設定する請求項１に記載のシステム。
【請求項５】
前記符号器は、ＪＰＥＧ符号器を具備する請求項１に記載のシステム。
【請求項６】
前記符号器は、前記スケーリングファクタによってスケーリングされたＡＣ量子化パラメータ及びスケーリングされないＤＣ量子化パラメータを用いて前記ソースファイルを符号化するように構成される請求項１に記載のシステム。
【請求項７】
前記スケーリングファクタによってスケーリングされた前記量子化パラメータは、ＡＣ量子化パラメータを具備する請求項１に記載のシステム。
【請求項８】
前記量子化パラメータは、ＪＰＥＧ量子化パラメータを具備する請求項１に記載のシステム。
【請求項９】
前記符号化システムは、無線通信システムを通じて通信するように構成された移動局を具備する請求項１に記載のシステム。
【請求項１０】
前記符号化システムは、無線基地局を具備する請求項１に記載のシステム。
【請求項１１】
前記符号器に結合されて前記ソースファイルを格納するように構成されたメモリと、
画像ファイルをキャプチャして前記ソースファイルとして前記メモリに格納するように構成されたカメラと、をさらに具備する請求項１に記載のシステム。
【請求項１２】
前記符号器に結合されて前記符号化されたファイルを無線通信リンクを通じて送信するように構成された無線トランシーバをさらに具備する請求項１に記載のシステム。
【請求項１３】
キャプチャされた画像ファイルを符号化して符号化された画像ファイルを生成するように構成されたＪＰＥＧ符号器であって、スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルのうちの少なくともＡＣビットを符号化するＪＰＥＧ符号器と、
前記ＪＰＥＧ符号器に結合されて目標ファイルサイズ及び前記キャプチャされた画像ファイル内の画素数に部分的に基づいて最初のスケールファクタを決定するように構成されたスケーリングモジュールと、
を具備し、
前記ＪＰＥＧ符号器は、前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて前記キャプチャされた画像ファイルのうちの前記ＡＣビットを符号化して最初の符号化されたファイルを生成するように構成され、
前記スケーリングモジュールは、前記最初の符号化されたファイルのファイルサイズに部分的に基づいて前記スケーリングファクタを決定し、前記最初の符号化されたファイルの前記ファイルサイズに基づいて補正係数を決定し、前記スケーリングファクタを前記最初のスケールファクタと前記補正係数の積として決定するように構成され、
前記スケーリングモジュールは、ソースファイル内のＡＣビット数に基づいて目標ビットレートを決定することによって最初のスケールファクタを決定するように構成された符号化システム。
【請求項１４】
前記符号器に結合されて前記キャプチャされた画像ファイルを格納するように構成されたメモリと、
前記キャプチャされた画像ファイルを生成して前記キャプチャされた画像ファイルを前記メモリに格納するように構成されたカメラと、をさらに具備する請求項１３に記載のシステム。
【請求項１５】
前記符号器に結合されて無線通信リンクを通じて前記符号化された画像ファイルを送信するように構成された無線トランシーバをさらに具備する請求項１３に記載のシステム。
【請求項１６】
前記符号化システムは、無線電話を具備する請求項１３に記載のシステム。
【請求項１７】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
ソースファイル内のＡＣビット数に基づいて目標ビットレートを決定することによって、最初のスケールファクタを決定することと、
前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して最初の符号化されたファイルを生成することと、
修正されたビットレートを決定することであって、前記最初の符号化されたファイルのＡＣビットレートを決定することを含むことと、
前記最初の符号化されたファイルの前記ファイルサイズに基づいて補正係数を決定し、前記最初のスケールファクタと前記補正係数の積としてスケーリングファクタを決定することと、
前記スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成すること、
とを具備する、方法。
【請求項１８】
前記目標ビットレートを決定することは、目標ファイルサイズに部分的に基づいて目標ＡＣビットレートを決定することを具備する請求項１７に記載の方法。
【請求項１９】
前記目標ビットレートを決定することは、
前記ソースファイル内のＤＣビット数を推定することと、
前記ＤＣビット数の差を目標ファイルサイズから決定して目標ＡＣビット推定値を生成すること、
とを具備する請求項１７に記載の方法。
【請求項２０】
前記目標ビットレートを決定することは、前記ＡＣビット推定値と前記符号化されたファイル内の画素数の比率を決定することをさらに具備する請求項１９に記載の方法。
【請求項２１】
前記最初のスケールファクタを決定することは、前記目標ビットレートをスケールファクタレスポンスの多項式モデルに適用することによって決定することを具備する請求項１７に記載の方法。
【請求項２２】
前記ソースファイルを符号化することは、前記最初のスケールファクタによってスケーリングされたＡＣ量子化パラメータを用いてキャプチャされた画像をＪＰＥＧ符号化することを具備する請求項１７に記載の方法。
【請求項２３】
前記補正係数と前記最初のスケールファクタの前記積が予め決定された値を超える場合は前記スケーリングファクタを前記予め決定された値に設定することをさらに具備する請求項１７に記載の方法。
【請求項２４】
カメラを用いて画像ファイルをキャプチャすることと、
前記画像ファイルを前記ソースファイルとしてメモリに格納すること、とをさらに具備する請求項１７に記載の方法。
【請求項２５】
前記符号化されたファイルを無線通信リンクを用いて行先デバイスに送信することをさらに具備する請求項１７に記載の方法。
【請求項２６】
ファイルサイズ制限よりも小さいファイルサイズを有する符号化されたファイルを生成するためにファイルをスケーリングする方法であって、
画像ファイル内のＤＣビット数を推定することと、
前記ＤＣビット数を目標ファイルサイズから減じてＡＣビット推定値を生成することと、
前記画像ファイル内の画素数によって割られた前記ＡＣビット推定値の前記値として目標レートを決定することであって、ソースファイル内のＡＣビット数に基づいて目標ビットレートを決定することを含むことと、
前記目標レートに部分的に基づいて最初のスケールファクタを決定することと、
前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いて符号器によって前記画像ファイルを符号化して前記符号化されたファイルを生成すること、
前記符号化されたファイルのサイズに部分的に基づいてビットレートを決定することと、
前記ビットレートに基づいて補正係数を決定することと、
再計算されたスケーリングファクタを前記補正係数と前記最初のスケールファクタの前記積として決定することと、
前記再計算されたスケーリングファクタによってスケーリングされた量子化パラメータを用いて前記符号器によって前記画像ファイルを符号化すること、とを具備する方法。
【請求項２７】
ソースファイル内のＡＣビット数に基づいて目標ビットレートの決定をコンピュータにより実行するコードと、
目標ビットレートから最初のスケールファクタの決定をコンピュータにより実行するコードと、
前記最初のスケールファクタによってスケーリングされた量子化パラメータを用いてソースファイルを符号化して最初の符号化されたファイルを生成することをコンピュータにより実行するコードと、
最初の符号化されたファイルのファイルサイズに基づいて補正係数を決定することをコンピュータにより実行するコードと、
再計算されたスケーリングファクタを前記補正係数と前記最初のスケールファクタの前記積として決定することをコンピュータにより実行するコードと、
前記スケーリングファクタによってスケーリングされた量子化パラメータを用いて前記ソースファイルを再符号化して前記符号化されたファイルを生成することをコンピュータにより実行するコードと、
を具備するコンピュータ実行可能コードを記憶するコンピュータ読み取り可能媒体。
【外国語明細書】
2011239425000001.pdf