(57)【要約】      （修正有）【課題】ＪＰＥＧ規格に従って符号化された画像などの符号化画像を回転させるＪＰＥＧまたは他の符号化規格のための回転トランスコーディングを提供する。【解決手段】符号化画像の指定された回転に従って符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、指定された回転に従ってＭＣＵ内の画像データを回転させることと、並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む符号化画像の回転バージョンを生成することと、を含む。【選択図】図７
2014239473.tif 000002
【特許請求の範囲】
【請求項１】
符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、
前記指定された回転に従って前記ＭＣＵ内の画像データを回転させることと、
前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む、前記符号化画像の回転バージョンを生成することと、
を具備する符号化画像を回転させる方法。
【請求項２】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項１に記載の方法。
【請求項３】
１つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチすることと、
前記ＭＣＵを並べ替えかつ前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、
をさらに具備する請求項１に記載の方法。
【請求項４】
画像をキャプチャすることと、
前記キャプチャされた画像に基づいて前記符号化画像を生成することと、
をさらに具備する請求項１に記載の方法。
【請求項５】
前記ＭＣＵを処理することは、
ファイルサイズ制御パラメータを適用することを含み、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項１に記載の方法。
【請求項６】
前記ＭＣＵを並べ替えることは、
前記符号化画像にリスタートマーカ値１を割り当てることと、
前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、
前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、
を含む請求項１に記載の方法。
【請求項７】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して垂直反転演算を行うことと、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行うことと、
を含む請求項１に記載の方法。
【請求項８】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して垂直反転演算を行うことと、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項９】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して水平反転演算を行うことと、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項１０】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して転置演算を行うことと、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項１１】
符号化画像を記憶するメモリと、
前記メモリから前記符号化画像を受け取り、前記符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替え、前記指定された回転に従って前記ＭＣＵ内の画像データを回転させ、前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する回転トランスコーダと、
を具備する装置。
【請求項１２】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項１１に記載の装置。
【請求項１３】
前記回転トランスコーダは、さらに
前記メモリから１つまたは複数のエントロピー符号化技術によって符号化され前記符号化画像をフェッチし、
前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成し、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する請求項１１に記載の装置。
【請求項１４】
画像をキャプチャするカメラと、
前記キャプチャされた画像に基づいて前記符号化画像を生成するエンコーダと、
をさらに具備する請求項１１に記載の装置。
【請求項１５】
前記回転トランスコーダは、ファイルサイズ制御パラメータを適用し、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項１１に記載の装置。
【請求項１６】
前記回転トランスコーダは、
前記符号化画像にリスタートマーカ値１を割り当て、
前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングし、
前記インデキシングに基づいて前記ＭＣＵを並べ替える
請求項１１に記載の装置。
【請求項１７】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して垂直反転演算を行い、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う
請求項１１に記載の装置。
【請求項１８】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して垂直反転演算を行い、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う
請求項１１に記載の装置。
【請求項１９】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して水平反転演算を行い、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う
請求項１１に記載の装置。
【請求項２０】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して転置演算を行い、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う
請求項１１に記載の装置。
【請求項２１】
無線ハンドセットを具備する請求項１１に記載の装置。
【請求項２２】
集積回路を具備する請求項１１に記載の装置。
【請求項２３】
実行時にプロセッサに、
符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、
前記指定された回転に従って前記ＭＣＵ内の画像データを回転させることと、
前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成することと、
を行わせる命令を具備するコンピュータ可読媒体。
【請求項２４】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記プロセッサに、
１つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチすることと、
前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、
を行わせる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記プロセッサに、
キャプチャされた画像を受け取ることと、
前記キャプチャされた画像に基づいて前記符号化画像を生成することと、
を行わせる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
前記プロセッサに、
ファイルサイズ制御パラメータを適用させる命令をさらに備え、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項２３に記載のコンピュータ可読媒体。
【請求項２８】
前記プロセッサに、
前記符号化画像にリスタートマーカ値１を割り当てることと、
前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、
前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、
を行わせる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項２９】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する垂直反転演算と、
前記ＭＣＵの前記垂直反転された係数値に対する転置演算と、
を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項３０】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する垂直反転演算と、
前記ＭＣＵの前記垂直反転された係数値に対する水平反転演算と、
を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項３１】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する水平反転演算と、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算と、
を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項３２】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する転置演算と、
前記ＭＣＵの前記転置された係数値に対する垂直反転演算と、
を行うことによって前記ＭＣＵ内の画像データを回転させることを行わせる命令をさらに具備する請求項２３に記載のコンピュータ可読媒体。
【請求項３３】
符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替える手段と、
前記指定された回転に従って前記ＭＣＵ内の画像データを回転させる手段と、
前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する手段と、
を具備するデバイス。
【請求項３４】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項３３に記載のデバイス。
【請求項３５】
１つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチする手段と、
前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成する手段と、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する手段と、
をさらに具備する請求項３３に記載のデバイス。
【請求項３６】
画像をキャプチャする手段と、
前記キャプチャされた画像に基づいて前記符号化画像を生成する手段と、
をさらに具備する請求項３３に記載のデバイス。
【請求項３７】
生成する手段は、
ファイルサイズ制御パラメータを適用する手段を含み、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項３３に記載のデバイス。
【請求項３８】
前記ＭＣＵを並べ替える手段は、
前記符号化画像にリスタートマーカ値１を割り当てる手段と、
前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングする手段と、
前記インデキシングに基づいて前記ＭＣＵを並べ替える手段と、
を含む請求項３３に記載のデバイス。
【請求項３９】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う手段と、
を含む請求項３３に記載のデバイス。
【請求項４０】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う手段と、
を含む請求項３３に記載のデバイス。
【請求項４１】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して水平反転演算を行う手段と、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う手段と、
を含む請求項３３に記載のデバイス。
【請求項４２】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して転置演算を行う手段と、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う手段と、
を含む請求項３３に記載のデバイス。
【請求項４３】
並べ替える前記手段と、回転させる前記手段と、生成する前記手段とは、共同で回転トランスコーダを備える請求項３３に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理に関し、より詳しくは符号化画像を回転させる技術に関する。
【背景技術】
【０００２】
デジタルカメラは、通常、多種多様なデバイスに組み込まれている。本開示では、デジタルカメラデバイスは静止画像をキャプチャすることができるデバイスおよびビデオを記録するために画像のシーケンスをキャプチャすることができるデバイスを含む、１つまたは複数のデジタル画像をキャプチャすることができる任意のデバイスを指す。例として、デジタルカメラデバイスは独立型デジタルカメラまたはデジタルビデオカムコーダ、モバイル電話、セルラー電話、衛星無線電話などのカメラ付き無線通信デバイスハンドセット、カメラ付き携帯情報端末（ＰＤＡ）、いわゆる「ウェブカム」などのカメラを含むコンピュータデバイス、あるいはデジタルイメージング機能またはビデオ機能をもつ任意のデバイスを含み得る。
【０００３】
ＪＰＥＧは、一般的に使用される画像圧縮方法である。ＪＰＥＧという名称は、規格を作成した委員会の名称であるJoint Photographic Experts Groupを表す。ＪＰＥＧ符号化プロセスは、いくつかのステップを含む。第１に、画像の画素を赤、緑および青（ＲＧＢ）から、輝度（brightness）を表す１つの輝度（luma）成分（Ｙ）と色（color）を表す２つの色（chroma）成分（ＣｂおよびＣｒ）とを含むＹＣｂＣｒに変換する。
【０００４】
次に、人の目が精細な色ディテールに対してよりも精細な輝度ディテールに対して感度が低いことを反映するために、クロマデータの解像度を例えば通常は１／２に低下する。次いで、画像を８×８画素のブロックに分割し、各ブロックのＹ、ＣｂおよびＣｒデータの各々を離散コサイン変換（ＤＣＴ）する。次いで、周波数成分の振幅を量子化する。人の視覚は、高周波輝度の強さの変動に対してよりも、広いエリアにわたる色または輝度の変動に対してより敏感なので、高周波成分の大きさは低周波成分よりも低い精度で記憶される。エンコーダの品質設定は、各周波数成分の分解能の範囲を制御するように調整できる。極端に低い品質設定を使用すると、高周波成分が全面的に廃棄されることがある。
【０００５】
ＤＣＴプロセスの後、例えば差分符号化技術、およびジグザグ走査、ハフマン符号化、ランレングス符号化、可変長符号化（ＶＬＣ）方法、符号化ブロックパターン（ＣＢＰ）の適用などのエントロピー符号化技術を使用して、すべての８×８ブロックの得られたデータをさらに圧縮する。復号プロセスは、様々なＪＰＥＧ符号化ステップを逆転させて、ディスプレイを駆動するために使用できる一連の画素値を再生する。
【０００６】
多くのイメージングアプリケーションでは、画像の回転が望ましい。例えば、９０度回転されたカメラによって画像をキャプチャする場合、画像がディスプレイに出力されるときに画像が回転しないように、画像データを回転させることが望ましい場合がある。従来では画像を復号し、復号された画像を画素領域で回転させ、次いで回転された画像を再符号化することによって、符号化されたＪＰＥＧ画像を回転させる。この従来の技術は、回転の前および後に圧縮されていない画像の１つまたは複数のコピーの一時記憶および圧縮された画像の記憶を必要とするので、きわめてメモリ集約的（memory intensive）である。
【発明の概要】
【０００７】
本開示では、ＪＰＥＧ規格に従って符号化された画像などの符号化画像を回転させる技術について説明する。符号化画像は、複数の最小符号化ユニット（ＭＣＵ）を含み得る。一例では、ＭＣＵは離散コサイン変換によって画素の８×８ブロックから符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含むことができる。本開示によれば、ＭＣＵをＤＣＴ領域から画素領域に十分に復号することなしに画像を回転させる。特に、画像をＤＣＴ領域において回転させることができ、本開示ではＤＣＴ領域におけるそのような回転を可能にするプロセスを提案する。場合によっては、ＭＣＵの各々の低周波（ＤＣ）成分に対して差分復号を適用することができるが、その場合はデータが回転されるときＭＣＵの高周波（ＡＣ）成分がＤＣＴ領域に残る。
【０００８】
本開示によれば、最初にＭＣＵが元の符号化画像に対して回転された順序で配置されるように、ＭＣＵを並べ替える。次いで、各ＭＣＵ内のデータを回転させる。このようにして、ＤＣＴ係数のすべてを画素形式に復号することなしに、符号化画像の回転バージョンを生成する。ＭＣＵの並べ替えを単純化できる、ＭＣＵをインデキシングする技術についても説明する。さらに、符号化画像にファイルサイズ制約を適用する機会として画像回転プロセスを使用することなどの追加の技術について説明する。この場合、元の画像をファイルサイズ制約なしで符号化し、回転された画像をファイルサイズ制約付きで符号化することができる。概して、本明細書で説明する画像回転プロセスは、ファイルサイズ制約の適用など、いくつかの追加の符号化ステップを実行する機会を与えることができる。
【０００９】
一例では、本開示は符号化画像の指定された（specified）回転に従って符号化画像のＭＣＵを並べ替えることと、指定された回転に従ってＭＣＵ内の画像データを回転させることと、並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む符号化画像の回転バージョンを生成することとを具備する、符号化画像を回転させる方法を提供する。
【００１０】
別の例では、本開示は符号化画像を記憶するメモリと、符号化画像をメモリから受け取り、符号化画像の指定された回転に従って符号化画像のＭＣＵを並べ替え、指定された回転に従ってＭＣＵ内の画像データを回転させ、並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む符号化画像の回転バージョンを生成する回転トランスコーダとを具備する装置を提供する。
【００１１】
別の例では、本開示は符号化画像の指定された回転に従って符号化画像のＭＣＵを並べ替える手段と、指定された回転に従ってＭＣＵ内の画像データを回転させる手段と、並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む符号化画像の回転バージョンを生成する手段とを具備するデバイスを提供する。
【００１２】
本明細書で説明するこれらおよび他の技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実施できる。ソフトウェアで実装した場合、ソフトウェアは汎用マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のタイプのプロセッサなどのプロセッサで実行され得る。そのようなソフトウェアは、最初に、符号化画像の回転を可能にするためにコンピュータ可読媒体に記憶され、プロセッサにロードされ、実行され得る。
【００１３】
従って、本開示は、実行時に、プロセッサに符号化画像の指定された回転に従って符号化画像のＭＣＵを並べ替えることと、指定された回転に従ってＭＣＵ内の画像データを回転させることと、並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む符号化画像の回転バージョンを生成することとを行わせる命令を具備するコンピュータ可読媒体をも企図する。
【００１４】
１つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載する。他の特徴、目的および利点は、説明および図面ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】本開示の技術を実装可能な例示的なイメージングデバイスを示すブロック図。
【図２】画像を回転させるために使用できる構成要素を示すブロック図。
【図３】画像を回転させるために使用できる構成要素を示すブロック図。
【図４】本開示の技術に合致する、画像を回転させるために使用できる構成要素を示すブロック図。
【図５】本開示の技術に合致する、画像を回転させるために使用できる構成要素を示すブロック図。
【図６】本開示に合致する、画像を回転させる技術を示すフローチャート。
【図７】本開示に合致する、画像を回転させる技術を示すフローチャート。
【図８】ＭＣＵに従ってインデキシングされた画像を示す概念図。
【図９】本開示に合致する、画像を回転させる技術を示す別のフローチャート。
【発明を実施するための形態】
【００１６】
本開示では、符号化画像を回転させる技術について説明する。一例として、符号化画像（encoded image）はJoint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された画像を含み得るが、本開示の技術は他の画像圧縮規格に適用可能である。本開示の技術は、静止画像、またはビデオシーケンスのフレームを含む符号化画像を回転させるために使用され得る。ユーザがカメラデバイスを横方向（landscape）に向けたか縦方向（portrait orientation）に向けたたかにかかわらず、同じ走査線順で画像データが生成されるデジタルカメラデバイスでは、しばしば回転が必要である。これらの向きの少なくとも１つについて、９０度、１８０度または２７０度の回転が望まれることがある。
【００１７】
符号化画像は、複数の最小符号化単位（minimum coded units）（ＭＣＵ）を含み得る。ＭＣＵは、離散コサイン変換（ＤＣＴ）プロセスによって符号化されたデータのブロックなど、符号化されたデータのブロックを含み得る。この場合、ＭＣＵは画像の画素ブロックから符号化されたＤＣＴ係数のブロックを含み得る。本開示は、そのようなＭＣＵをＤＣＴ領域から画素領域に復号する必要なしに画像回転を容易にする技術を提供する。例えば、画像はＤＣＴ領域において回転され得、本開示はそのような回転を容易にできる効果的なプロセスを提案する。場合によっては、所定のＭＣＵの低周波（いわゆる「ＤＣ」）成分に対して差分符号化を使用した場合、ＤＣ成分に対する差分符号化が復号され得る。ただし、この場合にはＡＣ係数は画素領域に復号されず、画像回転が行われるとＡＣ係数がＤＣＴ領域に残る。
【００１８】
本開示によれば、ＭＣＵが元の符号化画像に対して回転された順序で配置されるように、指定された回転に従ってＭＣＵを並べ替える。このＭＣＵの並べ替えを可能にするために、本開示ではインデキシング方式を利用する。例えば、ＪＰＥＧ規格に従って符号化画像に関連するリスタートマーカ値を１に設定する。この結果、各ＤＣＴ符号化されたＭＣＵは、ＪＰＥＧ画像の独立して復号可能な単位を形成する。ＭＣＵが元の符号化画像に対して回転された順序で配置されるように、各ＭＣＵをインデキシングし、インデキシングに基づいて並べ替えられた形でＭＣＵをフェッチする。次いで、指定された回転に従って各ＭＣＵ内のデータを回転させる。このようにして、ＤＣＴ係数の一部または全部を画素形式に復号することなしに、ＤＣＴ技術によって符号化されたＭＣＵを含む符号化画像を回転させることができる。説明した技術は、画像回転に関連するメモリ要件（memory requirements）を著しく低減することができる。さらに、本明細書では、符号化画像にファイルサイズ制約を適用する機会として画像回転プロセスを使用することなど、追加の技術を開示する。この場合、元の符号化画像をファイルサイズ制約なしで符号化し、回転された画像をファイルサイズ制約付きで符号化する。ファイルサイズ制約の適用は、元の符号化画像に対する回転された画像の圧縮を生じるかもしれない。
【００１９】
図１は、本開示の技術を実装する例示的なデジタルカメラデバイス２を示すブロック図である。例として、デジタルカメラデバイス２は独立型デジタルカメラ、デジタルビデオカムコーダ、セルラー電話や衛星無線電話などのカメラ付き無線通信デバイスハンドセット、カメラ付き携帯情報端末（ＰＤＡ）、デジタルカメラやウェブカムなどを装備したコンピュータデバイス、あるいはイメージング機能またはビデオ機能をもつ任意の他のデバイスを含み得る。本開示の技術は、メモリが制限され、電力消費が重要であるカメラ付き無線通信デバイスハンドセットなどにおける無線アプリケーションにこの上なく適用可能である。
【００２０】
図１に示すように、デバイス２は画像をキャプチャするカメラ１２を含む。キャプチャされた画像は、スチール写真、またはビデオシーケンスの画像フレームを含み得る。後者の場合、本開示の技術はビデオシーケンスの各画像フレームに連続的に使用され得る。ＪＰＥＧコーダ１４は、エンコーダまたは複合（combined）エンコーダ／デコーダ（コーデック）を含むことができる。ＪＰＥＧコーダ１４は、キャプチャされた画像をＪＰＥＧ圧縮規格に従ってリアルタイムで符号化することができる。このようにして、ＪＰＥＧコーダ１４はキャプチャされた画像に基づいて符号化画像を生成し、符号化画像はＪＰＥＧ規格に従って圧縮される。
【００２１】
メモリ１６は、符号化画像を記憶する。所望される場合、ディスプレイ２０は画像の復号バージョンをユーザに表示することができる。ＪＰＥＧコーダ１４は、画素データをディスプレイ２０が提示することができるように、符号化画像の復号を可能にすることもできる。ディスプレイ２０は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、または画像をユーザに提示することが可能な任意のディスプレイなど、任意のタイプのディスプレイを含むことができる。いくつかの例では、ディスプレイ２０はデバイス２のビューファインダディスプレイを含み得る。データ通信バス１５は、デバイス２の異なる構成要素間のデータ転送を可能にする。ただし、場合によってはカメラ１２を専用のバスを介してＪＰＥＧエンコーダ１４に結合することができ、ＪＰＥＧエンコーダ１４は画像が受信されたときに、いわゆる「インライン」符号化を実行することができる。この場合、本明細書で説明する回転トランスコーディングは、画像回転が必要とされる場合はいつでも自動的に実行されるインラインプロセスと見なすこともできる。そのような回転は、画像キャプチャ中にユーザ入力に基づいて、または場合によってはカメラ１２の向きに基づいて、必要とされると判断され得る。
【００２２】
デバイス２は、多くの他の構成要素を含むこともできる。例えば、デバイス２がモバイル電話ハンドセットなどの無線通信デバイスである場合、デバイス２はそのような無線通信を可能にするためにアンテナ、送信機、受信機および変調器などの様々な構成要素を含むことができる。ただし、これらの追加の構成要素は、説明を簡単で容易にするために図１から省略されている。
【００２３】
本開示によれば、デバイス２は本開示による画像回転を可能にする回転トランスコーダ１８を含む。そのために、回転トランスコーダ１８は符号化画像のＭＣＵの並べ替えおよび画像データの回転が符号化画像の回転バージョンを生成するように、それらのＭＣＵを並べ替え、ＭＣＵ内の画像データを回転させる。符号化画像の回転バージョンを生成した後、回転トランスコーダ１８は符号化画像の回転バージョンをメモリ１６に出力することができる。ＭＣＵは、ＪＰＥＧ規格に従って符号化されたＤＣＴ係数のブロックを含み得る。
【００２４】
回転トランスコーダ１８は、メモリ１６から符号化画像をフェッチすることができ、符号化画像は１つまたは複数のエントロピー符号化技術によって符号化される。回転トランスコーダ１８は、ＭＣＵを並べ替えるより前に符号化画像をエントロピー復号してＭＣＵを生成し、符号化画像の回転バージョンを出力するより前に１つまたは複数のエントロピー符号化技術に従って符号化画像の回転バージョンをエントロピー符号化する。このようにして、回転トランスコーダ１８は、エントロピー符号化を除去するために符号化画像の部分復号（partial decode）を行うことはできるが、符号化画像のＤＣＴについては復号しない。代わりに、回転トランスコーダ１８は符号化画像を実質的にＤＣＴ領域において回転させ、次いで回転された画像にエントロピー符号化を再適用する。ＤＣＴ係数の低周波（ＤＣ）成分に対して差分符号化を使用した場合、回転トランスコーダ１８は差分符号化をなくすることができるようにＤＣＴ係数のＤＣ成分を復号する。ただし、この場合には所定のＭＣＵに関連するＤＣＴ係数のＡＣ成分が画像回転プロセスのためにＤＣＴ領域に残ることがある。
【００２５】
回転トランスコーダ１８は、場合によっては並べ替えられたＭＣＵを処理する際に、ファイルサイズ制御パラメータを適用することができる。この場合、符号化画像の回転バージョンはファイルサイズ制御パラメータに適合する。例えば、符号化画像の回転バージョンはファイルサイズ制御パラメータに適合するように最初の符号化画像に対して圧縮され得る。ファイルサイズ制御パラメータの適用は、一般に最初のＪＰＥＧ符号化プロセスの後に第２の符号化プロセスを必要とする。本開示の技術は、回転トランスコーディングの一部としてファイルサイズ制御パラメータを適用するための変更を提供することができる。これにより、ファイルサイズ制御パラメータを適用するために通常ならば必要とされる別個の符号化プロセスをなくすことができる。代わりに、本開示は画像の回転を行うことと、画像にファイルサイズ制御パラメータを適用することの両方のために、（最初のＪＰＥＧ符号化プロセスの後に）単一の符号化プロセスを使用することができる。
【００２６】
回転トランスコーダ１８は、符号化画像にリスタートマーカ値１を割り当て、リスタートマーカ値に基づいてＭＣＵをインデキシングし、インデキシングに基づいてＭＣＵを並べ替えることによって、ＭＣＵを再符号化することができる。ＪＰＥＧによるリスタートマーカ値は、ＪＰＥＧファイルをより弾力的にするように設計された値を指す。リスタートマーカ値を定義することによって、ＭＣＵのセットを独立して復号することができるので、ＭＣＵの１つのセットにおいてエラーが生じた場合、そのようなエラーはＭＣＵの他のセットに伝搬しない。符号化画像にリスタートマーカ値１を割り当てることによって、各ＤＣＴ符号化されたＭＣＵは、ＪＰＥＧ画像の独立して復号可能な単位を形成する。各ＭＣＵはインデキシングすることができ、回転トランスコーダ１８は、ＭＣＵが元の符号化画像に対して回転された順序で配置されるように、インデキシングに基づいて並べ替えられた形でＭＣＵをフェッチする。次いで、回転トランスコーダ１８は各ＭＣＵ内のデータを回転させる。符号化画像の回転バージョンは、並べ替えられたＭＣＵとＭＣＵの各々の回転されたデータとを含む。
【００２７】
回転トランスコーダ１８は、ＭＣＵ内の画像データを回転させる際に２つ以上の演算（operation）を行う。例えば、回転トランスコーダ１８はＭＣＵの係数値に対して垂直反転演算を行い、垂直反転されたＭＣＵの係数値に対して転置演算を行う。この結果、９０度時計回りの画像回転を生じることができる。別の例では、回転トランスコーダ１８は、ＭＣＵの係数値に対して垂直反転演算を行い、垂直反転されたＭＣＵの係数値に対して水平反転演算を行う。これは、１８０度時計回りの画像回転をもたらすことができる。
【００２８】
別の例では、回転トランスコーダ１８はＭＣＵの係数値に対して水平反転演算を行い、水平反転されたＭＣＵの係数値に対して垂直反転演算を行う。これは、１８０度反時計回りの画像回転をもたらすことができる。別の例では、回転トランスコーダ１８は、ＭＣＵの係数値に対して転置演算を行い、転置されたＭＣＵの係数値に対して垂直反転演算を行う。これは、２７０度時計回りの画像回転をもたらすことができる。回転トランスコーダ１８は、カメラ１２に関連する画像キャプチャ状態に基づいて自動的に決定されるか、またはデバイス２の入力ユニット（図示せず）を介して入力としてユーザから受け取られる、指定された回転レベルに基づいて所望の量の画像回転を行うことができる。
【００２９】
図２は、画像を回転させるために使用され得る構成要素を示すブロック図である。図２に示すように、カメラ２２Ａが画像をキャプチャし、ＪＰＥＧ規格に従って画像を符号化するＪＰＥＧエンコーダ２６Ａに、カメラ２２Ａの読み出し情報２４Ａが供給される。メモリ２８Ａは、画像の符号化されたＪＰＥＧファイル３０Ａを記憶する。次いで、ＪＰＥＧデコーダ３２ＡがＪＰＥＧファイルを復号し、復号されたファイル３４Ａをメモリ２８Ａに記憶する。回転およびコピーユニット３６Ａは、メモリ２８Ａに記憶される、復号ファイルの回転バージョン３８Ａを生成するために、復号ファイル３４Ａに対して回転およびコピー演算を行う。次いで、ＪＰＥＧエンコーダ２６Ａが復号ファイルの回転バージョン３８Ａを符号化し、回転された画像の符号化されたＪＰＥＧファイル４０Ａをメモリ２８Ａに書き込む。
【００３０】
図２の構成要素によって実行されるプロセスに従って、画像がＪＰＥＧ符号化され、復号され、回転され、次いで再符号化される。残念なことに、図２の構成要素によって実行されるプロセスは、非常にメモリ集約的（memory intensive）である。特に、メモリ２８ＡはＪＰＥＧファイル３０Ａおよび画像の２つの復号バージョン３４Ａおよび３８Ａを記憶する必要がある。さらに、メモリ２８ＡはＪＰＥＧファイル４０Ａをも記憶する。さらに、複数の符号化ステップおよび復号ステップは、画像を回転させるプロセスに望ましくない待ち時間を追加するかもしれない。本開示の技術は、図２の構成要素によって実行されるプロセスによる画像回転に関連するそのようなメモリ要件を低減することができ、画像の非圧縮復号バージョンを画素形式で記憶する必要をなくすことができる。
【００３１】
図３は、画像を回転させるために使用され得る構成要素を示す別のブロック図である。図３に示すように、カメラ２２Ｂが画像をキャプチャし、ファイル３４Ｂに対してＪＰＥＧ符号化を行うことなしに、カメラ２２Ｂの読み出し情報２４Ｂをメモリ２８Ｂに供給する。回転およびコピーユニット３６Ｂは、メモリ２８Ｂに記憶される、ファイルの回転バージョン３８Ｂを生成するために、ファイル３４Ｂに対して回転およびコピー操作を行う。次いで、ＪＰＥＧエンコーダ２６Ｂが復号ファイルの回転バージョン３８Ｂを符号化し、回転された画像の符号化されたＪＰＥＧファイル４０Ｂをメモリ２８Ｂに記憶する。
【００３２】
図３の構成要素によって実行されるプロセスは、図２の構成要素によって実行されるプロセスよりもメモリ集約的でなく、計算集約的（computationally intensive）でない。特に、図３の構成要素によって実行されるプロセスでは、図２の構成要素によって実行されるプロセスに対して、１つのＪＰＥＧ符号化ステップ２６Ｂおよび１つのＪＰＥＧ復号ステップ３２Ｂが取り除かれている。さらに、ＪＰＥＧファイル３０Ｂをメモリ２８Ｂに記憶する必要はない。図２に対して取り除かれた図３のユニットは、点線で、まとめて要素５０と示されている。それにもかかわらず、図３の構成要素によって実行されるプロセスはまだ非常にメモリ集約的であり、画像ファイルの非圧縮バージョン３４Ｂおよび３８Ｂの記憶を必要とする。本開示の技術は、図２および図３に示すそれぞれの構成要素によって実行されるプロセスに対して、画像回転に関連するメモリ要件を低減することができる。
【００３３】
図４は、本開示による、画像を回転させるために使用できる構成要素を示すブロック図である。図３に示すように、カメラ２２Ｃが画像をキャプチャし、カメラ２２Ｃの読み出し情報２４ＣがＪＰＥＧエンコーダ２６Ｃに供給される。図示のように、ＪＰＥＧエンコーダ２６Ｃはリスタートマーカ間隔１を適用する。リスタートマーカ値を１に設定することによって、符号化されたＪＰＥＧファイル３０Ｃ中の各ＭＣＵは、別々に復号可能な単位になる。この場合、エントロピー符号化は所定のＭＣＵにしか適用することができず、各ＭＣＵ自体が独立して復号可能なので、ＭＣＵ間に展開することができない。符号化されたＪＰＥＧファイル３０Ｃは、メモリ２８Ｃに記憶される。
【００３４】
本開示によれば、回転トランスコーダ６０ＣはＪＰＥＧファイル３０Ｃに対して回転トランスコーディングを行う。特に、回転トランスコーダ６０ＣはＪＰＥＧファイル３０ＣのＭＣＵを並べ替える。次いで、回転トランスコーダ６０ＣはＭＣＵ内の画像データを回転させる。回転トランスコーダ６０ＣによるＭＣＵの並べ替えおよびＭＣＵ内の画像データの回転は、メモリ２８Ｃに出力され、回転された画像のＪＰＥＧファイル４０Ｃとしてメモリに記憶され得る、符号化画像の回転バージョンを生成する。
【００３５】
回転トランスコーダ６０Ｃは、メモリ２８Ｃから符号化されたＪＰＥＧファイル３０Ｃをフェッチすることができ、符号化画像は１つまたは複数のエントロピー符号化技術によって符号化される。回転トランスコーダ６０Ｃは、ＭＣＵを並べ替えおよび処理するより前に符号化画像をエントロピー復号してＭＣＵを生成し、符号化画像の回転バージョンを出力するよりも前に１つまたは複数のエントロピー符号化技術に従って符号化画像の回転バージョンをエントロピー符号化することができる。このようにして、回転トランスコーダ６０Ｃは符号化画像の部分復号を行ってエントロピー符号化をなくすることができるが、符号化画像のＤＣＴ符号化された情報を十分には復号しない。代わりに、回転トランスコーダ６０Ｃは符号化画像を実質的にＤＣＴ領域において回転させ、次いで回転された画像にエントロピー符号化を再適用する。場合によっては、ＤＣＴ係数の低周波（ＤＣ）成分に対して差分符号化を使用した場合、回転トランスコーダ６０Ｃはそのような差分符号化をなくするようにＤＣＴ係数のＤＣ成分を復号する。ただし、この場合にはＤＣＴ係数のＡＣ成分がＤＣＴ領域に残ることがある。
【００３６】
図４の構成要素によって実行されるプロセスは、図２および図３の構成要素によって実行されるプロセスよりもはるかにメモリ集約的でない。図４の構成要素によって実行されるプロセスでは、画像の復号バージョン３４Ｃおよび３８Ｃをメモリ２８Ｃに記憶する必要をなくすことができ、回転およびコピーユニット３６Ｃの代わりに回転トランスコーダ６０Ｃを使用する。ＪＰＥＧエンコーダ２６Ｃ’に関連する追加のステップをも、取り除くことができる。図２のユニットに対して取り除かれた図４のユニットは、点線でまとめて要素５２と示されている。
【００３７】
図５は、本開示による画像を回転させるプロセスを示す別のブロック図である。図５に示すように、カメラ２２Ｄが画像をキャプチャし、カメラ２２Ｄの読み出し情報２４ＤがＪＰＥＧエンコーダ２６Ｄに供給される。図４と同様に、図５のＪＰＥＧエンコーダ２６Ｄはリスタートマーカ間隔１を適用する。同じく、リスタートマーカ値を１に設定することによって、符号化されたＪＰＥＧファイル３０Ｄ中の各ＭＣＵは、別々に復号可能な単位である。符号化されたＪＰＥＧファイル３０Ｄは、メモリ２８Ｄに記憶される。図５では、ＪＰＥＧエンコーダ２６Ｄはファイルサイズ制御パラメータを生成し、これらのファイルサイズ制御パラメータを回転トランスコーダ６０Ｄによって適用するために転送する。ファイルサイズ制御パラメータは、符号化されたＪＰＥＧファイルのサイズを制限するために使用できる１つまたは複数のパラメータを含み得る。そのようなパラメータは、データを圧縮するためにＤＣＴ係数の高周波ＡＣ成分の低減または除去をもたらすことができる。概して、本明細書で説明する画像回転プロセスは、ファイルサイズ制御パラメータまたは他のタイプのパラメータの適用など、いくつかの追加の符号化ステップを実行する機会を与え得る。
【００３８】
回転トランスコーダ６０Ｄは、ＪＰＥＧファイル３０Ｄに対して回転トランスコーディングを行う。さらに、図５の例ではＪＰＥＧファイル（ファイル４０Ｄ）の回転バージョンがサイズ制限および／またはサイズ制約付きで符号化されるように、回転トランスコーダ６０Ｄはファイルサイズ制御パラメータを適用する。この場合も、回転トランスコーディングにおいて回転トランスコーダ６０ＤはＪＰＥＧファイル３０ＤのＭＣＵを並べ替え、ＭＣＵ内の画像データを回転させる。例えば、ＭＣＵ内で画像データのＭＣＵおよび回転を並べ替えることは、ユーザ入力として受け取るかまたはカメラ２２Ｄの向きに基づいて自動的に生成される指定された回転レベルに基づくことができる。回転トランスコーディング中に、符号化されたＪＰＥＧファイル４０Ｄが指定されたサイズ制限内に入るように、回転トランスコーダ６０Ｄによってファイルサイズパラメータを適用することができる。この場合も、そのようなパラメータはパラメータによって指定されたファイルサイズ制約未満にデータを圧縮するために、回転トランスコーダ６０ＤにＤＣＴ係数の１つまたは複数の高周波ＡＣ成分を低減させるか、またはなくさせることができる。符号化画像の回転バージョンはメモリ２８Ｄに出力され、サイズ制限付きの回転された画像のＪＰＥＧファイル４０Ｄとしてメモリに記憶される。
【００３９】
上述のように、回転トランスコーダ６０Ｄはメモリ２８Ｄから符号化されたＪＰＥＧファイル３０Ｄをフェッチすることができ、符号化画像は１つまたは複数のエントロピー符号化技術によって符号化される。回転トランスコーダ６０Ｄは、ＭＣＵを並べ替えるよりも前に符号化画像をエントロピー復号してＭＣＵを生成するエントロピー復号構成要素を含むことができる。さらに、回転トランスコーダ６０Ｄは例えば符号化画像の回転バージョンを出力するよりも前に、１つまたは複数のエントロピー符号化技術に従って符号化画像の回転バージョンをエントロピー符号化するエントロピー符号化構成要素を含むことができる。このようにして、回転トランスコーダ６０Ｄは符号化画像の部分復号を行ってエントロピー符号化をなくすることはできるが、符号化画像のＤＣＴについて復号しない。代わりに、回転トランスコーダ６０Ｄは符号化画像を実質的にＤＣＴ領域において回転させ、次いで回転された画像にエントロピー符号化を再適用する。ただし、場合によってはＤＣＴ係数の低周波（ＤＣ）係数に対して差分符号化を使用した場合、回転トランスコーダ６０Ｄはそのような差分符号化をなくすることができるようにＤＣ係数を復号する。この場合は、ＤＣＴ係数の高周波（ＡＣ）係数がＤＣＴ領域に残ることがある。
【００４０】
ファイルサイズパラメータの適用は、ＭＣＵ内でいわゆる高周波ＤＣＴ係数値を低減すること、またはなくすることができる。ＭＣＵ全体の平均強度を表す低周波「ＤＣ」値に対比して、高周波値をＡＣ値と呼ぶこともある。図５によれば、回転トランスコーダ６０Ｄは画像を回転させるだけでなく、ファイルサイズパラメータによって定められたサイズ制限を有するＪＰＥＧファイル４０Ｄを生成するために、ファイルサイズパラメータを適用するためにも使用できる。概して、本明細書で説明する画像回転プロセスは、最初のＪＰＥＧ符号化パスの後の第２の符号化パスを介してファイルサイズ制御パラメータまたは従来適用できる他のタイプのパラメータの適用など、いくつかの追加の符号化ステップを実行する機会を与えることができる。
【００４１】
図４の構成要素によって実行されるプロセスと同様に、図５の構成要素によって実行されるプロセスは、図２および図３の構成要素によって実行されるプロセスよりもはるかにメモリ集約的でない。図５の構成要素によって実行されるプロセスでは、画像の復号バージョン３４Ｄおよび３８Ｄをメモリ２８Ｄに記憶する必要を回避でき、回転およびコピーユニット３６Ｄの代わりに回転トランスコーダ６０Ｄを使用することができる。ＪＰＥＧエンコーダ２６Ｄ’に関連する追加のステップをも、取り除くことができる。図２の構成要素に対して取り除かれた図５の構成要素は点線でまとめて要素５４と示されている。
【００４２】
図６は、本開示に合致する技術を示すフローチャートである。図６については、図１のデバイス２の観点から説明する。図６に示すように、デバイス２の回転トランスコーダ１８は、符号化されたファイルに関連する画像データを部分復号してＭＣＵを生成する（６１）。一例として、符号化されたファイルはＤＣＴ符号化およびエントロピー符号化の両方を含むＪＰＥＧファイルを含み得る。部分復号プロセス（６１）は、エントロピー復号を含むことができるが、ＤＣＴ係数を画素領域に十分には復号しない。
【００４３】
回転トランスコーダ１８は、ＭＣＵを並べ替える（６２）。例えば、ＭＣＵが元の符号化画像に対して回転された形で提示されるように、ＭＣＵを並べ替える。次に、回転トランスコーダ１８は各ＭＣＵ内の画像データを回転させるために、各ＭＣＵ内の画像データを処理する（６３）。従って、回転トランスコーダは最初にＭＣＵを並べ替え（６２）、次いでＭＣＵの各々内の画像データを回転させる（６３）。ステップ（６２）および（６３）の結果として、画像の回転バージョンが生成される。すなわち、回転トランスコーダ１８は並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む画像の回転バージョンを生成する（６４）。ただし、ステップ（６２）および（６３）は、いくつかの実施形態では逆にすることができる。
【００４４】
並べ替えられたＭＣＵとＭＣＵ内の回転された画像データとを含む画像の回転バージョンを生成（６４）した後、回転トランスコーダ１８はＭＣＵを再符号化する（６５）。このステップ（６５）の再符号化プロセスは、ステップ（６１）の部分復号プロセスの反対である。従って、ステップ（６１）がエントロピー復号を含む例では、ステップ（６５）はＭＣＵのエントロピー符号化を含み得る。回転トランスコーダ１８は、次いで画像データの回転バージョン、例えば回転されたＪＰＥＧファイルをメモリ１６に出力する（６６）。
【００４５】
図７は、本開示に合致する例示的な回転トランスコーディングプロセスを示す別のフローチャートである。図７については、図１の例示的なデバイス２の観点から説明する。図７に示すように、デバイス２のメモリ１６はＪＰＥＧエンコーダ１４によって符号化された画像８０のＪＰＥＧビットストリームを最初に記憶することができる。回転トランスコーダ１８は、ＪＰＥＧビットストリームのＭＣＵをインデキシングするためにリスタート（ＲＳＴ）マーカを使用する（７１）。特に、リスタートマーカ値１を選択することによって、各ＭＣＵは別々に復号可能な単位を含み得る。画像８２は、リスタートマーカ１でＭＣＵに分離された画像の例を示す。
【００４６】
次に、回転トランスコーダ１８はＭＣＵビットストリームを回転順にフェッチする（７２）。これはＭＣＵを並べ替える。例えば、画像８４に示すようにＭＣＵは画像８２のＭＣＵに対してＭＣＵの回転を生じる順序でフェッチできる。例えば、９０度回転させる場合、最初にフェッチされたＭＣＵは画像８４の左下角のＭＣＵであり、最後にフェッチされたＭＣＵは画像８４の右上角のＭＣＵであり得る。ＭＣＵは、画像８４に示される矢印が示す順序でフェッチできる。
【００４７】
回転トランスコーダ１８は、各ＭＣＵについてハフマン復号および逆ジグザグ走査を行う（７３）。このハフマン復号および逆ジグザグ走査のプロセスは、本明細書ではエントロピー復号とも呼ばれる。次に、回転トランスコーダ１８は各ＭＣＵのＤＣ係数のみを復号することができ、各ＭＣＵにＤＣ差分復号を適用することができる（７４）。ステップ７４のＤＣ差分復号は、ＤＣＴ係数のＤＣ係数に適用された差分符号化をなくすることができる。そのためには各ＭＣＵのＤＣ係数の少なくとも部分復号が必要であるが、この場合にはＡＣ係数がＤＣＴ領域に符号化されたまま残る。
【００４８】
回転トランスコーダ１８は、量子化されたＤＣＴ係数を回転させる（７５）。画像８４に示すＭＣＵのフェッチの例では、この回転を９０度の回転とすることができる。ただし、１８０度の回転または２７０度の回転を行うこともできる。ＭＣＵに適用できる９０度、１８０度または２７０度の回転のための例示的な行列変換式は、図７のステップ（７５）の隣に記載されている。特に、９０度の回転は次の式を適用することによって達成できる。
【数１】
2014239473.tif 000003
【００４９】
１８０度の回転は、次の式を適用することによって達成できる。
【数２】
2014239473.tif 000004
【００５０】
２７０度の回転は、次の式を適用することによって達成できる。
【数３】
2014239473.tif 000005
【００５１】
ＭＣＵの係数が回転されると、回転トランスコーダ１８はＭＣＵのジグザグ走査およびハフマン符号化を行う（７６）。このジグザグ走査およびハフマン符号化のプロセスは、本明細書ではエントロピー符号化と呼ぶことがある。回転トランスコーダ１８は、回転された画像８６のＪＰＥＧビットストリームをメモリ１６に出力することができる。
【００５２】
（ＭＣＵ並べ替えの後に）ＭＣＵの各々のＤＣＴ係数を回転させるために、回転トランスコーダ１８は以下のうちの１つまたは複数の計算を行うことができる。例えば、以下とする。
【数４】
2014239473.tif 000006
【００５３】
ここで、ＣはＤＣＴカーネルであり、ｘは画素値の行列を表し、ＸはＤＣＴ値の行列を表す。Ｃおよびｘの例を以下に示す。
【数５】
2014239473.tif 000007
【００５４】
画素行列（ｘ）が画素領域において転置される場合、対応するＤＣＴ行列（Ｘ）は以下の演算によって転置される。
【数６】
2014239473.tif 000008
【００５５】
空間領域の垂直反転演算は、次のように与えられる。
【数７】
2014239473.tif 000009
【００５６】
ここで、
【数８】
2014239473.tif 000010
【００５７】
はＭＣＵの元の画素値行列を表し、
【数９】
2014239473.tif 000011
【００５８】
は垂直反転された行列を表す。
【００５９】
ＤＣＴ領域における垂直反転演算の等価演算は、以下によって与えられる。
【数１０】
2014239473.tif 000012
【００６０】
同様に、ＤＣＴ領域における水平反転演算の演算は、以下によって与えられる。
【数１１】
2014239473.tif 000013
【００６１】
空間領域では、９０度の時計回りの回転は２つの演算、すなわち垂直反転演算とその後の転置演算に分割できる。転置演算は行列演算Ｔを指し、任意の行列Ａは特性（ＡT）T＝Ａを有する。ＤＣＴ領域における９０度回転のＤＣＴ演算は、垂直反転およびその後の転置の組合せで与えることができ、以下によって集合的に表すことができる。
【数１２】
2014239473.tif 000014
【００６２】
１８０度時計回りの回転も、垂直反転および水平反転の２つの演算に分割できる。従って、ＤＣＴ領域における１８０度回転のＤＣＴ演算は、以下によって与えられる。
【数１３】
2014239473.tif 000015
【００６３】
２７０度時計回りの回転も、転置およびその後の垂直反転の２つの演算に分割できる。従って、ＤＣＴ領域における２７０度回転のＤＣＴ演算は、以下によって与えられる。
【数１４】
2014239473.tif 000016
【００６４】
ＤＣＴ領域における画像回転については、場合によってはＤＣＴ量子化演算およびジグザグ走査演算に埋め込むこと、またはそれらと組み合わせることができる。所望の回転に基づいて、上記の式によって示すように、量子化パラメータの符号はそれに応じて変化することがある。同様に、転置演算が必要な場合、転置演算はＤＣＴ変換演算と組み合わせること、または回転トランスコーディング中に適用されるジグザグ走査テーブルに統合することができる。従って、回転トランスコーダ１８によって実行される回転演算は、個別の演算として適用する必要がなく、本明細書で論じるエントロピー復号ステップまたはエントロピー符号化ステップと組み合わせることができる。
【００６５】
図８は、ＭＣＵに従ってインデキシングされた画像を示す概念図である。特に、ＪＰＥＧファイルのリスタートマーカ値を１に割り当てることによって、ＪＰＥＧファイルの各ＭＣＵは別々に復号可能な単位を含み得る。これは各ＭＣＵ内でエントロピー符号化を行う必要があり、エントロピー符号化がＭＣＵ間に展開しないことを意味する。さらに、図８に示すように各ＭＣＵはラスタの順序で自動的にインデキシングできる。このインデキシングが実行されると、回転トランスコーダ１８（図１）は指定された回転に従ってメモリ１６からＭＣＵをフェッチすることができる。例えば、９０度回転させる場合、回転トランスコーダ１８は図７に示すインデックス番号（８５，７３，６１，４９，３７，２５，１３，１，８６，７４，６２，など）に従って、この順序でＭＣＵをフェッチすることができる。１８０度回転させる場合、回転トランスコーダ１８はＭＣＵを逆の順序（９６，９５，９４，９３，９２，９１，９０，８９，８８，８７，８６，８５，８４，８３，など）でフェッチすることができる。２７０度回転させる場合、回転トランスコーダ１８は図７に示すインデックス番号（１２，２４，３６，４８，６０，７２，８４，９６，１１，２３，３５，など）に従って、以下の順序でＭＣＵをフェッチすることができる。このようにして、インデキシングはメモリフェッチが画像回転を可能にする形でデータを処理できるようにする。所定のＭＣＵをフェッチすると、次いで本明細書で対処するように、そのＭＣＵ内のデータが回転される。並び替え、および並べ替えされたＭＣＵ内のデータの回転は、例えばＭＣＵを画素領域に十分に復号する必要なしに、集合的に（collectively）画像の回転バージョンを生成する。
【００６６】
図９は、本開示に合致する、画像を回転させる技術を示す別のフローチャートである。図９については、図１のデバイス２の観点から説明する。図９に示すように、デバイス２の回転トランスコーダ１８は符号化されたファイルに関連する画像データを部分復号してＭＣＵを生成する（９１）。一例として、符号化されたファイルはＤＣＴ符号化およびエントロピー符号化の両方を含むＪＰＥＧファイルを含み得る。部分復号プロセス（９１）はエントロピー復号を含み得るが、ＤＣＴ係数を画素領域に十分には復号しない。前述のように、場合によっては差分符号化を除去するために低周波ＤＣ係数を復号することができるが、高周波ＡＣ係数はＤＣＴ領域に残る。
【００６７】
回転トランスコーダ１８は、ＭＣＵを並べ替える（９２）。例えば、ＭＣＵが元の符号化画像に対して回転された形で提示されるように、ＭＣＵを並べ替える。次に、回転トランスコーダ１８はファイルサイズパラメータを適用して、ＭＣＵの各々内の画像データを回転させるために、ＭＣＵの各々内の画像データを処理する（９３）。従って、回転トランスコーダは最初にＭＣＵを並べ替え（９２）、次いでＭＣＵの各々内の画像データを回転させる（９３）。ステップ（９２）および（９３）の結果として、ファイルサイズ制約に適合する画像の回転バージョンが生成される。すなわち、回転トランスコーダ１８は並べ替えられたＭＣＵとＭＣＵ内の回転された（場合によっては、さらに圧縮された）画像データとを含む画像の回転バージョンを生成する（９４）。回転された画像データは、ファイルサイズ制約に基づいて圧縮され得る。例えば、ファイルサイズパラメータはファイルサイズ制限を指定することができ、回転トランスコーダ１８は回転された画像がファイルサイズ制約を超えないように、（例えば、高周波ＤＣＴ成分に関連する値を低減するか、またはなくすことによって）データを圧縮することができる。ステップ（９２）および（９３）は、いくつかの実施形態では逆にすることができる。
【００６８】
並べ替えられたＭＣＵとＭＣＵ内の回転された（場合によっては、さらに圧縮された）画像データとを含む画像の回転バージョンを生成（９４）した後、回転トランスコーダ１８はＭＣＵを再符号化する（９５）。このステップ（９５）の再符号化プロセスは、ステップ（９１）の部分復号プロセスの反対である。従って、ステップ（９１）がエントロピー復号を含む例では、ステップ（９５）はＭＣＵのエントロピー符号化を含み得る。回転トランスコーダ１８は、次いで画像データの回転バージョン、例えば回転されたＪＰＥＧファイルをメモリ１６に出力する（９６）。
【００６９】
本明細書で説明する技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。説明したユニット、モジュールまたは構成要素（component）は、いずれも集積論理デバイス中で一緒に実装され得、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装した場合、これらの技術は実行されると上記で説明した技術の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、パッケージング材料を含む、コンピュータプログラム製品の一部をなすことができる。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体などを備えることができる。本技術は、追加または代替として、命令またはデータ構造を搬送または伝達し、コンピュータによってアクセス、読み取りおよび／または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【００７０】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）など１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積または個別論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技術の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能を専用のソフトウェアモジュール、ハードウェアモジュール、またはそれらの任意の組合せで提供することができる。
【００７１】
ハードウェアまたはハードウェアとソフトウェアとの組合せで実装した場合、本明細書で説明する技術は、図１に示す回転トランスコーダ１８、または場合によっては図１に示す構成要素の組合せを備える装置（apparatus）、デバイスまたは集積回路で実施され得る。集積回路は、例えば本明細書で説明する技術の１つまたは複数を行うように構成され得る。その場合、集積回路は符号化画像のＭＣＵを並べ替え、並べ替えられたＭＣＵを処理してＭＣＵ内の画像データを回転させ、符号化画像の回転バージョンを生成し、さらに符号化画像の回転バージョンを出力するように構成され得る。
【００７２】
これらおよび他の例は、以下の特許請求の範囲内にある。
【図１】
2014239473.tif 000017
【図２】
2014239473.tif 000018
【図３】
2014239473.tif 000019
【図４】
2014239473.tif 000020
【図５】
2014239473.tif 000021
【図６】
2014239473.tif 000022
【図７】
2014239473.tif 000023
【図８】
2014239473.tif 000024
【図９】
2014239473.tif 000025
【手続補正書】
【提出日】平成26年8月15日(2014.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、
前記指定された回転に従って前記ＭＣＵ内の画像データを回転させることと、
前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む、前記符号化画像の回転バージョンを生成することと、
を具備する符号化画像を回転させる方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
これらおよび他の例は、以下の特許請求の範囲内にある。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、前記指定された回転に従って前記ＭＣＵ内の画像データを回転させることと、前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む、前記符号化画像の回転バージョンを生成することと、を具備する符号化画像を回転させる方法。
［２］  前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む［１］に記載の方法。
［３］  １つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチすることと、前記ＭＣＵを並べ替えかつ前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、をさらに具備する［１］に記載の方法。
［４］  画像をキャプチャすることと、前記キャプチャされた画像に基づいて前記符号化画像を生成することと、をさらに具備する［１］に記載の方法。
［５］  前記ＭＣＵを処理することは、ファイルサイズ制御パラメータを適用することを含み、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する［１］に記載の方法。
［６］  前記ＭＣＵを並べ替えることは、前記符号化画像にリスタートマーカ値１を割り当てることと、前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、を含む［１］に記載の方法。
［７］  前記ＭＣＵ内の前記画像データを回転させることは、前記ＭＣＵの係数値に対して垂直反転演算を行うことと、前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行うことと、を含む［１］に記載の方法。
［８］  前記ＭＣＵ内の前記画像データを回転させることは、前記ＭＣＵの係数値に対して垂直反転演算を行うことと、前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行うことと、を含む［１］に記載の方法。
［９］  前記ＭＣＵ内の前記画像データを回転させることは、前記ＭＣＵの係数値に対して水平反転演算を行うことと、前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行うことと、を含む［１］に記載の方法。
［１０］  前記ＭＣＵ内の前記画像データを回転させることは、前記ＭＣＵの係数値に対して転置演算を行うことと、前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行うことと、を含む［１］に記載の方法。
［１１］  符号化画像を記憶するメモリと、前記メモリから前記符号化画像を受け取り、前記符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替え、前記指定された回転に従って前記ＭＣＵ内の画像データを回転させ、前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する回転トランスコーダと、を具備する装置。
［１２］  前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む［１１］に記載の装置。
［１３］  前記回転トランスコーダは、さらに
前記メモリから１つまたは複数のエントロピー符号化技術によって符号化され前記符号化画像をフェッチし、前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成し、前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する［１１］に記載の装置。
［１４］  画像をキャプチャするカメラと、前記キャプチャされた画像に基づいて前記符号化画像を生成するエンコーダと、をさらに具備する［１１］に記載の装置。
［１５］  前記回転トランスコーダは、ファイルサイズ制御パラメータを適用し、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する［１１］に記載の装置。
［１６］  前記回転トランスコーダは、前記符号化画像にリスタートマーカ値１を割り当て、前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングし、前記インデキシングに基づいて前記ＭＣＵを並べ替える
［１１］に記載の装置。
［１７］  前記回転トランスコーダは、前記ＭＣＵの係数値に対して垂直反転演算を行い、前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う
［１１］に記載の装置。
［１８］  前記回転トランスコーダは、前記ＭＣＵの係数値に対して垂直反転演算を行い、前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う
［１１］に記載の装置。
［１９］  前記回転トランスコーダは、前記ＭＣＵの係数値に対して水平反転演算を行い、前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う
［１１］に記載の装置。
［２０］  前記回転トランスコーダは、前記ＭＣＵの係数値に対して転置演算を行い、前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う
［１１］に記載の装置。
［２１］  無線ハンドセットを具備する［１１］に記載の装置。
［２２］  集積回路を具備する［１１］に記載の装置。
［２３］  実行時にプロセッサに、符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替えることと、前記指定された回転に従って前記ＭＣＵ内の画像データを回転させることと、前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成することと、を行わせる命令を具備するコンピュータ可読媒体。
［２４］  前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む［２３］に記載のコンピュータ可読媒体。
［２５］  前記プロセッサに、１つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチすることと、前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、を行わせる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［２６］  前記プロセッサに、キャプチャされた画像を受け取ることと、前記キャプチャされた画像に基づいて前記符号化画像を生成することと、を行わせる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［２７］  前記プロセッサに、ファイルサイズ制御パラメータを適用させる命令をさらに備え、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する［２３］に記載のコンピュータ可読媒体。
［２８］  前記プロセッサに、前記符号化画像にリスタートマーカ値１を割り当てることと、前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、を行わせる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［２９］  前記プロセッサに、少なくとも以下の演算、すなわち、前記ＭＣＵの係数値に対する垂直反転演算と、前記ＭＣＵの前記垂直反転された係数値に対する転置演算と、を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［３０］  前記プロセッサに、少なくとも以下の演算、すなわち、前記ＭＣＵの係数値に対する垂直反転演算と、前記ＭＣＵの前記垂直反転された係数値に対する水平反転演算と、を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［３１］  前記プロセッサに、少なくとも以下の演算、すなわち、前記ＭＣＵの係数値に対する水平反転演算と、前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算と、を行うことによって前記ＭＣＵ内の画像データを回転させる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［３２］  前記プロセッサに、少なくとも以下の演算、すなわち、前記ＭＣＵの係数値に対する転置演算と、前記ＭＣＵの前記転置された係数値に対する垂直反転演算と、を行うことによって前記ＭＣＵ内の画像データを回転させることを行わせる命令をさらに具備する［２３］に記載のコンピュータ可読媒体。
［３３］  符号化画像の指定された回転に従って前記符号化画像の最小符号化単位（ＭＣＵ）を並べ替える手段と、前記指定された回転に従って前記ＭＣＵ内の画像データを回転させる手段と、前記並べ替えられたＭＣＵと前記ＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する手段と、を具備するデバイス。
［３４］  前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む［３３］に記載のデバイス。
［３５］  １つまたは複数のエントロピー符号化技術によって符号化された前記符号化画像をフェッチする手段と、前記ＭＣＵを並べ替え、前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成する手段と、前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する手段と、をさらに具備する［３３］に記載のデバイス。
［３６］  画像をキャプチャする手段と、前記キャプチャされた画像に基づいて前記符号化画像を生成する手段と、をさらに具備する［３３］に記載のデバイス。
［３７］  生成する手段は、ファイルサイズ制御パラメータを適用する手段を含み、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する［３３］に記載のデバイス。
［３８］  前記ＭＣＵを並べ替える手段は、前記符号化画像にリスタートマーカ値１を割り当てる手段と、前記リスタートマーカ値に基づいて前記ＭＣＵをインデキシングする手段と、前記インデキシングに基づいて前記ＭＣＵを並べ替える手段と、を含む［３３］に記載のデバイス。
［３９］  前記画像データを回転させる手段は、前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う手段と、を含む［３３］に記載のデバイス。
［４０］  前記画像データを回転させる手段は、前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う手段と、を含む［３３］に記載のデバイス。
［４１］  前記画像データを回転させる手段は、前記ＭＣＵの係数値に対して水平反転演算を行う手段と、前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う手段と、を含む［３３］に記載のデバイス。
［４２］  前記画像データを回転させる手段は、前記ＭＣＵの係数値に対して転置演算を行う手段と、前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う手段と、を含む［３３］に記載のデバイス。
［４３］  並べ替える前記手段と、回転させる前記手段と、生成する前記手段とは、共同で回転トランスコーダを備える［３３］に記載のデバイス。
【手続補正書】
【提出日】平成26年9月4日(2014.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化画像の指定された回転に従って前記符号化画像の複数の最小符号化単位（ＭＣＵ）を並べ替えることと、ここにおいて、前記複数のＭＣＵを並べ替えることは、前記符号化画像の回転を生じる順序で各ＭＣＵを取り込むことを含み、前記複数のＭＣＵが他のＭＣＵを参照しないで復号される別々に復号可能な単位である、
ファイルサイズ制約を超えないように前記符号化画像の回転バージョンが前記符号化画像に対して圧縮されるように、前記複数のＭＣＵ内の画像データにファイルサイズ制御パラメータを適用することと、
前記指定された回転に従って各ＭＣＵ内の前記画像データを回転させることと、
前記並べ替えられた複数のＭＣＵと前記複数のＭＣＵ内の前記回転された画像データとを含む、前記符号化画像の前記回転バージョンを生成することと、
を具備し、画像キャプチャデバイスが、ＭＣＵを並べ替えることと、前記ＭＣＵ内の画像データを回転させることと、前記符号化画像の回転バージョンを生成することとを行う、符号化画像を回転させる方法。
【請求項２】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項１に記載の方法。
【請求項３】
前記符号化画像は１つまたは複数のエントロピー符号化技術によって符号化され、前記方法は、
前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、
をさらに具備する請求項１に記載の方法。
【請求項４】
画像をキャプチャすることと、
前記キャプチャされた画像に基づいて前記符号化画像を生成することと、
をさらに具備する請求項１に記載の方法。
【請求項５】
前記ＭＣＵを並べ替えることは、
前記符号化画像に割り当てられたリスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、
前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、
を含む請求項１に記載の方法。
【請求項６】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して垂直反転演算を行うことと、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行うことと、
を含む請求項１に記載の方法。
【請求項７】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して垂直反転演算を行うことと、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項８】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して水平反転演算を行うことと、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項９】
前記ＭＣＵ内の前記画像データを回転させることは、
前記ＭＣＵの係数値に対して転置演算を行うことと、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行うことと、
を含む請求項１に記載の方法。
【請求項１０】
複数の最小符号化単位（ＭＣＵ）を含む符号化画像を記憶するメモリと、
前記符号化画像の回転を生じる順序で前記メモリから各ＭＣＵを取り込むことにより、前記符号化画像の指定された回転に従って前記符号化画像の前記複数のＭＣＵを並べ替え、前記複数のＭＣＵ内の高周波数構成要素を低減するか、または、なくすことによって、前記複数のＭＣＵ内の画像データにファイルサイズ制御パラメータを適用し、前記指定された回転に従って各ＭＣＵ内の画像データを回転させ、前記複数のＭＣＵの係数値に対して反転演算を行い、前記並べ替えられた複数のＭＣＵと前記複数のＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する回転トランスコーダと、
を具備し、ここにおいて、前記複数のＭＣＵは、他のＭＣＵを参照しないで復号される別々に復号可能な単位であり、ＭＣＵを並べ替えることと、前記ＭＣＵ内の画像データを回転させることと、前記符号化画像の回転バージョンを生成することとは、画像キャプチャ装置によって行われ、前記符号化画像の前記回転バージョンは、前記ファイルサイズ制御パラメータに適合する装置。
【請求項１１】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項１０に記載の装置。
【請求項１２】
前記符号化画像は１つまたは複数のエントロピー符号化技術および前記回転トランスコーダによって符号化され、
前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成し、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する請求項１０に記載の装置。
【請求項１３】
画像をキャプチャするカメラと、
前記キャプチャされた画像に基づいて前記符号化画像を生成するエンコーダと、
をさらに具備する請求項１０に記載の装置。
【請求項１４】
前記回転トランスコーダは、ファイルサイズ制御パラメータを適用し、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項１０に記載の装置。
【請求項１５】
前記回転トランスコーダは、
前記符号化画像に割り当てられたリスタートマーカ値に基づいて前記ＭＣＵをインデキシングし、
前記インデキシングに基づいて前記ＭＣＵを並べ替える
請求項１０に記載の装置。
【請求項１６】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して垂直反転演算を行い、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う
請求項１０に記載の装置。
【請求項１７】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して垂直反転演算を行い、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う
請求項１０に記載の装置。
【請求項１８】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して水平反転演算を行い、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う
請求項１０に記載の装置。
【請求項１９】
前記回転トランスコーダは、
前記ＭＣＵの係数値に対して転置演算を行い、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う
請求項１０に記載の装置。
【請求項２０】
前記装置は、無線ハンドセットを具備する請求項１０に記載の装置。
【請求項２１】
前記装置は、集積回路を具備する請求項１０に記載の装置。
【請求項２２】
実行時に、画像キャプチャデバイスのプロセッサに、
符号化画像の指定された回転に従って前記符号化画像の複数の最小符号化単位（ＭＣＵ）を並べ替えることと、ここにおいて、前記複数のＭＣＵを並べ替えることは、前記符号化画像の回転を生じる順序で各ＭＣＵを取り込むことを含み、前記複数のＭＣＵが他のＭＣＵを参照しないで復号される別々に復号可能な単位である、
前記複数のＭＣＵ内のＡＣ構成要素を低減するか、または、なくすことによって、前記複数のＭＣＵ内の画像データにファイルサイズ制御パラメータを適用することと、
前記指定された回転に従って各ＭＣＵ内の画像データを回転させることと、
前記並べ替えられた複数のＭＣＵと前記複数のＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成することと、
を行わせ、ここにおいて、ＭＣＵを並べ替えることと、前記ＭＣＵ内の画像データを回転させることと、前記符号化画像の回転バージョンを生成することとは、前記画像キャプチャデバイスによって行われる命令を具備するコンピュータ可読媒体。
【請求項２３】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項２２に記載のコンピュータ可読媒体。
【請求項２４】
前記符号化画像は１つまたは複数のエントロピー符号化技術によって符号化され、
前記プロセッサに、
前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成することと、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化することと、
を行わせる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項２５】
前記プロセッサに、
キャプチャされた画像を受け取ることと、
前記キャプチャされた画像に基づいて前記符号化画像を生成することと、
を行わせる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項２６】
前記プロセッサに、
ファイルサイズ制御パラメータを適用させる命令をさらに備え、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項２２に記載のコンピュータ可読媒体。
【請求項２７】
前記プロセッサに、
前記符号化画像に割り当てられたリスタートマーカ値に基づいて前記ＭＣＵをインデキシングすることと、
前記インデキシングに基づいて前記ＭＣＵを並べ替えることと、
を行わせる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項２８】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する垂直反転演算と、
前記ＭＣＵの前記垂直反転された係数値に対する転置演算と、
を行うことによって前記ＭＣＵ内の前記画像データを回転させる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項２９】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する垂直反転演算と、
前記ＭＣＵの前記垂直反転された係数値に対する水平反転演算と、
を行うことによって前記ＭＣＵ内の前記画像データを回転させる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項３０】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する水平反転演算と、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算と、
を行うことによって前記ＭＣＵ内の前記画像データを回転させる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項３１】
前記プロセッサに、少なくとも以下の演算、すなわち、
前記ＭＣＵの係数値に対する転置演算と、
前記ＭＣＵの前記転置された係数値に対する垂直反転演算と、
を行うことによって前記ＭＣＵ内の前記画像データを回転させることを行わせる命令をさらに具備する請求項２２に記載のコンピュータ可読媒体。
【請求項３２】
符号化画像の指定された回転に従って前記符号化画像の複数の最小符号化単位（ＭＣＵ）を並べ替える手段と、ここにおいて、前記複数のＭＣＵを並べ替える手段は、前記符号化画像の回転を生じる順序で各ＭＣＵを取り込む手段を含み、
前記符号化画像の回転バージョンが前記符号化画像に対して圧縮されるように、前記複数のＭＣＵ内の画像データにファイルサイズ制御パラメータを適用する手段と、
前記指定された回転に従って各ＭＣＵ内の画像データを回転させる手段と、
前記並べ替えられた複数のＭＣＵと前記複数のＭＣＵ内の前記回転された画像データとを含む前記符号化画像の回転バージョンを生成する手段と、
を具備し、ここにおいて、前記複数のＭＣＵが他のＭＣＵを参照しないで復号される別々に復号可能な単位である、画像キャプチャデバイス。
【請求項３３】
前記ＭＣＵは、Joint Photographic Experts Group（ＪＰＥＧ）規格に従って符号化された離散コサイン変換（ＤＣＴ）係数のブロックを含む請求項３２に記載のデバイス。
【請求項３４】
前記符号化画像は１つまたは複数のエントロピー符号化技術によって符号化され、
前記ＭＣＵ内の前記画像データを回転させるよりも前に前記符号化画像をエントロピー復号して前記ＭＣＵを生成する手段と、
前記１つまたは複数のエントロピー符号化技術に従って前記符号化画像の前記回転バージョンをエントロピー符号化する手段と、
をさらに具備する請求項３２に記載のデバイス。
【請求項３５】
画像をキャプチャする手段と、
前記キャプチャされた画像に基づいて前記符号化画像を生成する手段と、
をさらに具備する請求項３２に記載のデバイス。
【請求項３６】
前記生成する手段は、
ファイルサイズ制御パラメータを適用する手段を含み、前記符号化画像の前記回転バージョンが前記ファイルサイズ制御パラメータに適合する請求項３２に記載のデバイス。
【請求項３７】
前記ＭＣＵを並べ替える手段は、
前記符号化画像に割り当てられたリスタートマーカ値に基づいて前記ＭＣＵをインデキシングする手段と、
前記インデキシングに基づいて前記ＭＣＵを並べ替える手段と、
を含む請求項３２に記載のデバイス。
【請求項３８】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、
前記ＭＣＵの前記垂直反転された係数値に対して転置演算を行う手段と、
を含む請求項３２に記載のデバイス。
【請求項３９】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して垂直反転演算を行う手段と、
前記ＭＣＵの前記垂直反転された係数値に対して水平反転演算を行う手段と、
を含む請求項３２に記載のデバイス。
【請求項４０】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して水平反転演算を行う手段と、
前記ＭＣＵの前記水平反転された係数値に対して垂直反転演算を行う手段と、
を含む請求項３２に記載のデバイス。
【請求項４１】
前記画像データを回転させる手段は、
前記ＭＣＵの係数値に対して転置演算を行う手段と、
前記ＭＣＵの前記転置された係数値に対して垂直反転演算を行う手段と、
を含む請求項３２に記載のデバイス。
【請求項４２】
前記並べ替える手段と、前記回転させる手段と、前記生成する手段は、共同で回転トランスコーダを構成する請求項３２に記載のデバイス。
【外国語明細書】
2014239473000001.pdf