(57)【要約】  画像化システムは、イメージの生データをフォーマットされたデータに変換すると同時に、そのイメージのフォーマットされたデータを圧縮する。典型的な画像化システムは、生のイメージデータからフォーマットされたデータのブロックを生成するための画像処理プロセッサを含んでいる。典型的な画像化システムは、さらにフォーマットされたデータのブロックを圧縮するための画像圧縮器を含んでいる。前記圧縮器は、画像処理プロセッサがフォーマットされたデータの１つ以上のブロックを生成している間に、ブロックの１つ以上を圧縮する。
2009524361.tif 000002
【特許請求の範囲】
【請求項１】
イメージの生データをフォーマットされたデータに変換すると同時に、前記イメージの前記フォーマットされたデータを圧縮するように構成された画像化システム。
【請求項２】
前記フォーマットされたデータは、ＹＣｂＣｒデータを含み、前記フォーマットされたデータの圧縮が、前記フォーマットされたデータのＪＰＥＧ符号化を、含んでいる請求項１に記載のシステム。
【請求項３】
前記生データを前記フォーマットされたデータに変換するための画像処理プロセッサと、前記フォーマットされたデータを圧縮するための画像圧縮器、をさらに備える請求項１に記載のシステム。
【請求項４】
前記フォーマットされたデータは、複数のブロックへ分割され、フォーマットされたデータの１つのブロックは複数のピクセルについてのフォーマットされたデータを含む、  請求項３に記載のシステム。
【請求項５】
前記フォーマットされたデータは、前記画像処理プロセッサが連続的にメモリに書く複数のブロックに分割され、フォーマットされたデータの１つのブロックは複数のピクセルについてのフォーマットされたデータを含む、請求項３に記載のシステム。
【請求項６】
前記ブロックは各々ＪＰＥＧ符号化に関連した複数の最小コード・ユニット（ＭＣＵ）を含む、請求項５に記載のシステム。
【請求項７】
前記画像処理プロセッサは、前記生データを直列に各ブロックのフォーマットされたデータに変換する、請求項５に記載のシステム。
【請求項８】
前記メモリは、ピンポン・バッファを含み、そして各ブロックの前記フォーマットされたデータは、前記ピンポン・バッファのバッファ中に書かれる、請求項５に記載のシステム。
【請求項９】
前記圧縮器は、前記メモリからブロックの前記フォーマットされたデータを読み、そして、前記画像処理プロセッサが別のブロックの生のイメージデータをフォーマットするのと同時にそのブロックの前記フォーマットされたデータの圧縮を始める、請求項５のシステム。
【請求項１０】
前記圧縮器は  前記画像処理プロセッサが別のブロックの生のイメージデータをフォーマットするのと同時にブロック中の前記フォーマットされたデータの圧縮を始める、請求項４に記載のシステム。
【請求項１１】
前記圧縮器は、前記イメージの回転の希望の角度に依存して異なるように前記ブロックを圧縮するように構成される、請求項１０に記載のシステム。
【請求項１２】
前記ブロック中の前記フォーマットされたデータの圧縮は、各々が再スタートマーカを含んでいる１つ以上のビットストリーム・セグメントを生成することを含む、請求項１１に記載のシステム。
【請求項１３】
前記ブロック中の前記フォーマットされたデータの圧縮は、各々が再スタートマーカを含んでいる複数のビットストリーム・セグメントを生成することを含む、請求項１１に記載のシステム。
【請求項１４】
前記圧縮器は、前記ブロックの各々中の前記フォーマットされたデータを圧縮し、ブロック中の前記フォーマットされたデータの圧縮は、各々が再スタートマーカを含んでいる１つ以上のビットストリーム・セグメントを生成することを含む、請求項４に記載のシステム。
【請求項１５】
前記圧縮器は、それから前記イメージを生成することができる圧縮したイメージ・ビットストリームへ前記ビットストリーム・セグメントの各々を組み合わせる、請求項１４に記載のシステム。
【請求項１６】
フォーマットされたデータの各ブロックは、それぞれフォーマットされたデータのユニットを含み、前記圧縮器は、連続的に異なるユニットを圧縮し、前記ユニットが圧縮される前記順序は、前記イメージの前記希望の回転の関数である、請求項４に記載のシステム。
【請求項１７】
フォーマットされたデータの各ユニットは、ＪＰＥＧ圧縮中で使用される最小のコード・ユニットである、請求項１６に記載のシステム。
【請求項１８】
ＹＣｂＣｒデータのブロックへイメージの生データをフォーマットするように、ＹＣｂＣｒデータの各ブロックは複数の最小のコード・ユニット（ＭＣＵ）を含み、そして連続的にメモリにＹＣｂＣｒデータの前記ブロックを書くように構成された画像処理プロセッサと、
前記メモリからＹＣｂＣｒデータの前記ブロックを連続的に読むように、そして
再スタートマーカと１つ以上のユニット・ビットストリームを、各々が含む１つ以上のビットストリーム・セグメントを生成するために、１つの前記ブロックの前記最小のコードユニット（ＭＣＵ）をＪＰＥＧエンコードするように構成されたＪＰＥＧエンコーダと、
各ユニット・ビットストリームは、前記ブロックにおける前記最小のコードユニット（ＭＣＵ）の１つについてＪＰＥＧ符号化されたビットストリームであり、
１つのブロックの前記最小のコードユニット（ＭＣＵ）は、前記イメージについて希望の回転角度の関数である順序でＪＰＥＧ符号化され、
前記最小のコードユニット（ＭＣＵ）は、前記生データがフォーマットされるのと同時にＪＰＥＧ符号化され、
そして、前記イメージを再作成することができるイメージ・ビットストリームへビットストリーム・セグメントを組み立てるための電子装置と、
を備える画像化システム。
【請求項１９】
前記メモリは、複数のバッファを含み、前記画像処理プロセッサが、それが各ブロックを書く前記バッファを交互にし、そして、前記圧縮器が、それが各ブロックを受け取る前記バッファを交互にする、請求項１８に記載の画像化システム。
【請求項２０】
フォーマットされたデータの各ブロックは複数のユニットへ分割されている、フォーマットされたデータのブロックへイメージの生データをフォーマットするための手段と、
前記生データのフォーマットと同時にフォーマットされたデータの前記ユニットを圧縮するための手段と、
を備える画像化システム。
【請求項２１】
前記ユニットを圧縮するための前記手段は  前記イメージについての希望の回転角度で変化するのに応じて変化する順序で前記ユニットを圧縮する、請求項２０に記載のシステム
【請求項２２】
生データをフォーマットするための前記手段は、メモリにフォーマットされたデータの各ブロックを連続的に書き、そして、前記ユニットを圧縮するための前記手段は、前記メモリからフォーマットされたデータの各ブロックを連続的に読む、請求項２０に記載のシステム。
【請求項２３】
前記メモリは複数のバッファを持つピンポン・バッファを含んでおり、生データをフォーマットするための前記手段は、それが各ブロックを書く前記バッファを交互にし、そして前記ユニットを圧縮するための前記手段は、それが各ブロックを受け取る前記バッファを交互にする、請求項２２に記載のシステム。
【請求項２４】
前記ユニットを圧縮するための前記手段は、各ブロックにつき１つ以上のビットストリーム・セグメントを生成し、各ビットストリーム・セグメントは１つの再スタートマーカと１ユニット以上のビットストリームを含み、各ユニット・ビットストリームは  前記ブロック中の１つの前記ユニットのための圧縮したビットストリームである、請求項２０に記載のシステム。
【請求項２５】
前記ビットストリーム・セグメントを、それから前記イメージを再生成することができるイメージ・ビットストリームへ組み立てるための手段、をさらに備える請求項２４に記載のシステム。
【請求項２６】
メモリからフォーマットされたデータのブロックを受け取ること、
前記ブロックのフォーマットされたデータは、複数のユニットに分割されており、前記ブロックは、前記メモリから連続的に受け取られるものである、
および、
前記フォーマットされたデータのユニットをイメージの希望の回転角度における変更に応じて変化する順序で圧縮すること、
の命令の組を含む、
コンピュータ実行可能な１組の命令を持つ信号記録媒体。
【請求項２７】
メモリからフォーマットされたデータのブロックを受け取ること、
ブロック中の前記フォーマットされたデータは複数のユニットに分割されており、前記ブロックは前記メモリから連続的に受け取られている、
および、
前記ブロック中のフォーマットされたデータのユニットをイメージについての希望の回転角度に変更に応じて変化する順序で圧縮すること、
を含むイメージデータを処理する方法。
【請求項２８】
フォーマットされたデータは、ＹＣｂＣｒフォーマットであり、そして、前記フォーマットされたデータのユニットを圧縮することが、前記ＹＣｂＣｒデータをＪＰＥＧ符号化することを含んでいる、請求項２７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
３５  Ｕ．Ｓ．Ｃ．§１１９の下の優先権主張
本特許出願は、２００６年１月１８日に出願され、本出願人に譲渡され、引用することによってその全体が明確にここに組み入れられ、「低いレーテンシーおよびメモリの効率的な画像キャプチャーおよびＪＰＥＧ符号化システム」とタイトルを付けられた６０／７５９，８４０番の仮出願の優先権を主張するものである。
【０００２】
本発明は、一般に画像化システム（imaging system）に関し、より詳細には、画像化システムにおけるイメージデータの処理に関する。
【背景技術】
【０００３】
ディジタル・カメラのような画像化装置は、典型的には生のイメージデータを生成するイメージ・センサを含んでいる。画像化装置は、その生のイメージデータを、ＹＣｂＣｒフォーマットのようなフォーマットに変換する。それから、フォーマットされたデータは、記憶装置に適したサイズに圧縮される。画像化装置によって写真が撮られるとき、フォーマットと圧縮プロセスは、その間の遅れの原因となる。例えば、カメラが最初のイメージのデータを処理しているので、カメラは、しばしば次のイメージを撮ることができない。その結果、イメージデータの処理を改善する必要がある。
【発明の開示】
【発明の概要】
【０００４】
画像化システムは、イメージ用のフォーマットされたデータの圧縮と同時にイメージ用生データをフォーマットされたデータに変換する。典型的な画像化システムは生のイメージデータからのフォーマットされたデータのブロックの生成のために画像処理プロセッサを含んでいる。典型的な画像化システムは、さらにフォーマットされたデータのブロックの圧縮のために画像圧縮器を含んでいる。画像処理プロセッサが１つ以上のブロックのフォーマットされたデータを生成している間に、圧縮器は、１つ以上のブロックを圧縮する。
【０００５】
画像化システムの実施態様は、イメージ用生データをＹＣｂＣｒデータのブロックへフォーマットし、かつ、メモリに前記ＹＣｂＣｒデータのブロックを連続的に書くように構成された画像処理プロセッサを含んでいる。ＹＣｂＣｒデータの各ブロックは、複数の最小のコード・ユニット（ＭＣＵ）に分割される。システムは、さらにメモリからＹＣｂＣｒデータのブロックを連続的に読み込むように構成されたＪＰＥＧエンコーダを含んでいる。ＪＰＥＧエンコーダは、再スタートマーカおよび１ユニット以上のビットストリームを各々含んでいる１つ以上のビットストリーム・セグメントを生成するようにブロックの中で最小のコード・ユニット（ＭＣＵ）を符号化する。各ユニット・ビットストリームは、それぞれ、そのブロックにおいて最小のコード・ユニット（ＭＣＵ）のうちの１つについてのＪＰＥＧに符号化されたビットストリームである。ブロック中の最小のコード・ユニットは、画像回転変更の希望角度にしたがって変化する順序で圧縮される。さらに、最小のコード・ユニットは、生データがフォーマットされていると同時にＪＰＥＧに符号化される。システムは、さらに、ビットストリーム・セグメントを、それからイメージを再生成することができるイメージ・ビットストリームへ組み立てるための電子装置も含んでいる。
【詳細な説明】
【０００６】
典型的な実施態様のとおりに、画像化システムは、フォーマットされたデータのブロックへイメージ用生データをフォーマットするように構成された画像処理プロセッサを含んでいる。システムは、さらに連続的にデータ・ブロックを圧縮するように構成された圧縮器を含んでいる。連続的にデータ・ブロックを圧縮する能力は、圧縮器が圧縮を始める前に、全イメージより少ないフォーマットを可能にする。その結果、圧縮器は、画像処理プロセッサがデータ・ブロックをフォーマットすると同時にデータ・ブロックを圧縮することができる。データのフォーマットと同時にフォーマットされたデータのブロックを圧縮する能力は、イメージの世代間の遅れを縮小する。ディジタル・カメラのような画像化システムでは、写真が撮られる場合、イメージデータのフォーマットと同時にイメージデータを圧縮することはその間の時間を縮小する。
【０００７】
画像化システムは、肖像または景観のアプリケーションのような目的のためにイメージをしばしば回転させる。フォーマットされたデータのブロックの圧縮は、さらにイメージの回転もサポートすることができる。フォーマットされたデータのブロックは、ＪＰＥＧ圧縮で使用される最小のコード・ユニット（ＭＣＵ）のようなユニットへ分割することができる。圧縮器がブロック中のユニットを圧縮する順序は、イメージ回転変更の希望角度に従い変更することができる。その結果、イメージが回転する場合でさえ、圧縮器が圧縮を始める前に、全イメージをフォーマットする必要はない。
【０００８】
フォーマットされたデータのブロックの圧縮は、さらに画像化システムのメモリ必要条件を縮小することができる。例えば、画像化システムは、画像処理プロセッサがフォーマットされたデータ・ブロックを書き込み、それから圧縮器がフォーマットされたデータ・ブロックを読み取るメモリを含むことができる。メモリは、複数のバッファがあるピンポン・バッファを含むことができる。画像処理プロセッサは、それが各フォーマットされたデータ・ブロックを書くバッファを交互にすることができる。さらに、圧縮器は、それが各フォーマットされたデータ・ブロックを受け取るバッファを交互にすることができる。その結果、メモリは、全イメージ用のフォーマットされたデータではなく、わずか２つのブロックのフォーマットされたデータだけを保持することができる。全イメージ用のフォーマットされたデータがメモリに書かれていないので、メモリ必要条件が縮小され得る。
【０００９】
図１は、画像化システム１０のブロック図である。画像化システム１０は、各々光センサ１６に関係付けられるずらりと並んだピクセル１４を持つイメージ・センサ１２を含んでいる。いくつかの実例では、ピクセル１４は、行と列の２次元配列で並べられる。イメージ・センサ１２の例は、ＣＭＯＳ（相補的金属酸化膜半導体）センサ・チップおよびＣＣＤ（電荷結合素子）センサ・チップ含んでいる、しかしこれらに限定されない。
【００１０】
画像化システム１０はイメージ・センサ１２と通信状態にある電子装置１８を含んでいる。イメージを生成する場合、電子装置１８はイメージ・センサ１２中のセンサ１６からセンサの値を受け取る。電子装置１８は、圧縮したイメージ・ビットストリームを生成するようにセンサ値を処理する。電子装置１８は、補助メモリ２０および／または電子装置１８に含まれたメモリにイメージ・ビットストリームを格納することができる。補助メモリ２０は、イメージとデータを格納するような書き込み操作に適した任意のメモリ素子あるいはメモリ素子の組み合わせであり得る。補助メモリ２０は画像化システム１０の一部であることとして示されるが、補助メモリ２０は画像化システム１０の外部である場合があるか、あるいは画像化システム１０に着脱できるようにつなぐことができる。ディジタル・カメラと共に使用されるメモリ・スティックは、画像化システム１０に着脱できるようにつなぐことができる、補助メモリ２０の例である。
【００１１】
画像化システム１０は、イメージを再生成するためにイメージ・ビットストリームを使用することができる。画像化システム１０は、１つ以上の出力装置２２にイメージを表示することができる。適切な出力装置２２は、プリンタ、送信機、インターネットのようなネットワーク、カメラ・ディスプレイ、テレビ電話機能付携帯電話ディスプレイ、ビデオ・スクリーン、およびコンピュータ・スクリーンのような表示装置を含んでいる、しかしこれらに限定されない。出力装置２２は、画像化システム１０の一部であるとして示されるが、出力装置２２および／または補助メモリは、画像化システム１０の外部である場合があるか、あるいは画像化システム１０に着脱できるように結合することができる。
【００１２】
電子装置１８は、イメージ・センサ１２、およびメモリ２６と通信状態にあるセンサ・インターフェース２４を含んでいる。メモリ２６は、イメージに関連したデータとイメージを格納するような読み取り／書き込みオペレーションに適した任意のメモリ素子あるいはメモリ素子の組み合わせであり得る。メモリ２６は、共通のプール・メモリとして動作することができる。カメラ・インターフェースは、イメージ・センサ１２から生のイメージデータを抽出し、かつメモリ２６に生のイメージデータを格納するように構成される。電子装置１８は、さらにメモリ２６と通信状態にある画像処理プロセッサ２８を含んでいる。画像処理プロセッサ２８は、生のイメージデータをフォーマットし、かつメモリ２６にフォーマットされたデータを書き込むように構成される。画像処理プロセッサ２８によって使用されるイメージ形式の一例は、ＹＣｂＣｒフォーマット含んでいる、しかしこれに限定されない。電子装置１８は、さらにメモリ２６、出力装置２２およびオプションの補助メモリ２０と通信状態にある圧縮器３０を含んでいる。圧縮器３０は、イメージ・ビットストリームを生成するようにメモリ２６に保存された、フォーマットされたデータを圧縮する。イメージ・ビットストリームは、メモリ２６および／または補助メモリ２０に格納することができる。
【００１３】
画像処理プロセッサ２８は、第１のプロセッサ３２を含んでおり、また、圧縮器３０は第２のプロセッサ３４を含んでいる。第１のプロセッサ３２および／または第２のプロセッサ３４として使用されるのに適当なプロセッサは、以下のもの含んでいるが、しかしこれらに限定されない。一般目的のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向けＩＣ（ＡＳＩＣ）、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）あるいは他のプログラム可能論理回路、個別のゲートかトランジスタ・ロジック、個別のハードウェア・コンポーネント、あるいは、ここに説明された機能を行なうように設計されたそれらの任意の組み合わせ。一般目的のプロセッサは、マイクロプロセッサであり得る、しかし、その代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいは、ステートマシンであり得る。第１のプロセッサ３２および／または第２のプロセッサ３４も、計算装置（例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと結合される１個以上のマイクロプロセッサ、あるいは他のそのような構成。）の組み合わせとして実装され得る。第１のプロセッサ３２および第２のプロセッサ３４は、同じタイプのプロセッサあるいは異なるタイプのプロセッサであり得る。適切な画像処理プロセッサ２８は、ビデオ・フロント・エンド・ハードウェア含んでいるが、しかしこれに限定されない。適切な圧縮器３０は、ＪＰＥＧエンコーダを含んでいるが、しかしこれに限定されない。
【００１４】
図１は、第１の信号記憶媒体３６と通信状態にある第１のプロセッサ３２、および第２の信号記憶媒体３８と通信状態にある第２のプロセッサ３４を示す。第１のプロセッサ３２によって実行されるアクションのための命令は、第１の信号記憶媒体３６上でエンコードすることができる。第２のプロセッサ３４によって実行されるアクションのための命令は、第２の信号記憶媒体３８上でエンコードすることができる。上に記載されたように、種々の異なるコンポーネントは、第１のプロセッサ３２および／または第２のプロセッサ３４として役立つことができる。第１のプロセッサ３２および第２のプロセッサ３４の選択によっては、第１の信号記憶媒体３６および／または第２の信号記憶媒体３８は、必要ではないかもしれない。したがって、第１の信号記憶媒体３６および／または第２の信号記憶媒体３８はオプションかもしれない。第１の信号記憶媒体３６および第２の信号記憶媒体３８は、メモリ２６と分離しているものとして示されるが、メモリ２６は、第１の信号記憶媒体３６および／または第２の信号記憶媒体３８として役立つことができる。
【００１５】
第１の信号記憶媒体３６あるいはキャプチャー信号記憶媒体として使用される適切な信号記憶媒体は、ＣＤのような光ディスク、磁気記憶ディスケット、ジップディスク、磁気テープ、ＲＡＭ、およびＲＯＭ、を含んでいる、しかし、これらに限定されない。いくつかの実施例では、第１の信号記憶媒体３６および／または第２の信号記憶媒体３８は、画像化システム１０の外部に位置する。例えば、信号記憶媒体は、コンピューター・ネットワーク上のサーバコンピュータに接続することができる。
【００１６】
適切な画像化システム１０の例は、ディジタル・カメラ、ビデオカメラ、モバイルのカメラ電話、医用画像装置を含んでいる、しかしこれらに限定されない。画像化システム１０は、さらにイメージデータを格納するように構成されたコンピュータ・システムであり得る。適切なコンピュータ・システムの例は、パソコンとサーバを含んでいる、しかしこれらに限定されない。いくつかの例では、画像化システム１０はイメージ・センサ１２を含んでいない。例えば、画像化システム１０がコンピュータ・システムである場合、イメージ・センサ１２は画像化システム１０に必ずしも含まれていない。イメージ・センサ１２が画像化システム１０に含まれていない場合、イメージ・センサ１２は、画像化システム１０から独立しているかもしれないが、電子装置１８がセンサ値を受け取ることを可能にするために画像化システム１０と通信状態に置かれ得る。
【００１７】
図２は、図１の画像化システムによるデータの工程を示す。センサ・インターフェースは、メモリにイメージ・センサからの生のイメージデータ４０を格納する。生のイメージデータ４０は、イメージ・センサ中の各センサからのセンサ値を、イメージ・センサ中のピクセルに関係付ける。イメージ・センサ中の１つ以上のピクセルがイメージ中のピクセルに関係付けられているので、生のイメージデータ４０は、１つ以上のセンサ値をイメージ中のピクセルに有効に関係付ける。
【００１８】
画像処理プロセッサは、メモリから生のイメージデータ４０を読み、そして、圧縮のために生のイメージデータ４０をフォーマットする。例えば、画像処理プロセッサは、生のイメージデータ４０をＹＣｂＣｒフォーマットに変換することによりＪＰＥＧ圧縮のために生のイメージデータ４０をフォーマットすることができる。ＹＣｂＣｒフォーマットでは、Ｙ、ＣｂおよびＣｒは、各々、イメージの異なるコンポーネントを表わす。例えば、ＣｂおよびＣｒが各々クロミナンス・コンポーネントを表わしているのに対して、Ｙはルミネセンス・コンポーネントを表わす。
【００１９】
フォーマットされたデータ４２は、そのイメージの複数のピクセル用データを各々含んでいる複数のユニット４４に分割される。図２の中の図形Ａは、ラベルＡからＸを各々与えられた複数のユニット４４に分割された、フォーマットされたデータ４２を備えたイメージを表わす。
【００２０】
ユニット４４は、ＪＰＥＧ圧縮と共に使用される最小のコード・ユニット（ＭＣＵ）でありえる。１つのＭＣＵは、Ｈｍａｘ＊８ピクセル  ×  Ｖｍａｘ＊８ピクセル  の次元を持っている、ここで、ＨｍａｘおよびＶｍａｘが１以上に等しい整数で、ピクセルはイメージ中のピクセルである。ＨｍａｘおよびＶｍａｘの値は、異なるデータ成分用のサンプリング周波数によって決定される。例として、ＹＣｂＣｒフォーマットが使用される場合、イメージ中の２ｘ２の正方形ピクセルからのデータは、ＣｂおよびＣｒコンポーネントについてはしばしば平均され、一方、Ｙコンポーネント用のデータは平均されない。異なるコンポーネントの各々用のＭＣＵのデータが、イメージ中のピクセルの同じグループについて生成されるのに対して、ＨｍａｘとＶｍａｘは、できるだけ小さな値を持つように選択される。したがって、上記の例については、ＭＣＵは、１６×１６だろう。共通のＭＣＵの次元は、８×８、８×１６、１６×８、および１６×１６を含んでいる。
【００２１】
画像処理プロセッサは、複数のユニットを各々含んでいるブロック４６中の生データをフォーマットする。例えば、図形Ｃは、８個のユニット４４を各々含んでいる３個のブロック４６へ分割された図形Ａのイメージを表わす。画像処理プロセッサは、各ブロック４６のフォーマットされたデータ４２を連続して生成することができる。例えば、画像処理プロセッサは、第１のブロック４６についての生データをメモリから読み、その生データをフォーマットされたデータ４２に変換し、メモリにそのフォーマットされたデータ４２を書くことができる。メモリにブロック４６用のフォーマットされたデータ４２を書いた後に、画像処理プロセッサは、次のブロック４６用のフォーマットされたデータ４２を連続して生成することができる。多くのカメラ中の画像処理プロセッサには、効率的に全イメージを扱う入力および出力キャパシティーが十分にない。しかしながら、全イメージではなくデータのブロックをフォーマットする場合、これらの画像処理プロセッサは有効かもしれない。
【００２２】
圧縮器は、メモリからブロック４６用のフォーマットされたデータ４２を受け取る。例えば、図２の中の図形Ｄは、圧縮器がブロック４６各々中のユニット４４を圧縮する順序を例示する。圧縮器は、ユニットＡのためのフォーマットされたデータ４２を圧縮し、さらに後に続けてユニットＢを、さらに後に続けてユニットＧなどを圧縮する。図形Ｂは、ユニット４４がイメージ・ビットストリーム５４において存在する順序を例示する。例えば、イメージ・ビットストリームは、ユニットＡについて、後に続けてユニットＢについて、後に続けてユニットＣについてのデータを含んでいる。図形Ｂおよび図形Ｄの比較によって、イメージ・ビットストリーム５４中のユニット４４の順序が、ユニット４４が圧縮される順序とは異なることを示す。
【００２３】
圧縮器は、イメージ・ビットストリーム５４中のユニット４４の順序と、ユニット４４が圧縮される順序の間の差を補うために再スタートマーカ５２を使用する。例えば、圧縮器は、図形Ｄで示される順にユニット４４を圧縮する。１つのユニット４４の圧縮が、結果として、１つのユニット・ビットストリーム４８になる。ユニットＣについてユニット・ビットストリーム４８は、図２においてＢＳＣというラベルが付けられている。異なるユニット４４からのユニット・ビットストリーム４８は、図形Ｄによる順序で配列されたユニット・ビットストリーム４８を持つビットストリーム・セグメント５０に組み合わせられる。図形Ｄで指定された順序のユニット４４による工程が、結果として図形Ｂの中で指定された順序からの変更になる場合、再スタートマーカはビットストリーム・セグメント５０内に含まれている。例えば、図形Ｄは、ユニットＧが圧縮され、その後Ｈが、その後Ｍが圧縮されることを明示する。しかしながら、図形Ｂは、ユニットＧが圧縮され、その後Ｈが、その後Ｉが圧縮されることを明示する。図形Ｄの中の順序が、ユニットＨの後に図形Ｂの中の順序から分岐するので、再スタートマーカ５２は、ユニットＨのユニット・ビットストリーム４８の後に置かれる。その結果、圧縮器は、ユニットＡ、ユニットＢ、およびＲＳ１というラベルが付けられた第１の再スタートマーカ５２について圧縮されたデータ、を持つビットストリーム・セグメント５０、ならびに、ユニットＧ、ユニットＨ、およびＲＳ２というラベルが付けられた第１の再スタートマーカ５２について圧縮されたデータ、を持つビットストリーム・セグメント５０を生成する。ブロック４６の中の最後のユニット４４が圧縮された後、再スタートマーカ５２もビットストリーム・セグメント５０に含まれている。例えば、再スタートマーカ５２は、ユニットＴのためのユニット・ビットストリーム４８の後に置かれる。圧縮器は、再スタートマーカ５２の後に別のビットストリーム・セグメント５０を開始する。圧縮器は、メモリにビットストリーム・セグメント５０を格納する。図２は、ビットストリーム・セグメント５０の各々が互いに分離されているように示すが、ビットストリーム・セグメント５０は、メモリにおいてエンドツーエンドに位置することができる。再スタートマーカ５２は、後に続く処理中に連続的にそれらを識別することができるように、連続する数のラベルを含むことができる。
【００２４】
ある圧縮方法では、前のユニット４４が図２における図形Ｂの数にしたがって決定される場合、ある特定のユニット４４用の圧縮したデータはその前のユニット４４の関数である。例えば、図２におけるユニットＣについてのＪＰＥＧデータは、ユニットＢについてのＪＰＥＧデータの関数である。特に、ＪＰＥＧ符号化は、ＡＣ係数およびＤＣ係数と一般に呼ばれる係数を利用する。ユニットＣのＤＣの係数は、ユニットＣとユニットＢのＤＣコンポーネントの間の差を示す。したがって、ラベルＢが付けられたＭＣＵについてのＤＣコンポーネントの値は、ラベルＣが付けられたＭＣＵについてのＤＣコンポーネントの値を決定するために知られていなければならない。ユニットＧ、Ｍ、およびＳについてのユニット・ビットストリーム４８を生成する場合、圧縮器は、その前のユニット用の圧縮したデータにアクセスしない。その結果、再スタートマーカ５２の後の圧縮されたユニット４４は、イメージの最初のユニット４４として扱うことができる。例えば、ユニットＧは、ユニットＡと同様に扱うことができる。特に、ＪＰＥＧ符号化は、最初のＭＣＵについてのＤＣの予測をゼロにセットする。したがって、圧縮器は、ユニットＧについてのＤＣの予測をゼロにセットすることができる。
【００２５】
圧縮器が、メモリにブロック４６用のビットストリーム・セグメント５０の各々を書いた後、圧縮器は、メモリから次のブロック４６用のフォーマットされたデータ４２を検索する。圧縮器は、次のブロック４６中のユニット４４用のフォーマットされたデータ４２を圧縮し、ビットストリーム・セグメント５０をメモリに書く。圧縮器は、ブロック４６の各々を通って進むために上記のプロセスを使用し、ユニットＸについてのユニット・ビットストリーム４８の後にイメージの終了のマーカを置く。
【００２６】
全イメージではなく、データのブロックの圧縮およびフォーマットにより、画像化システムのメモリ必要条件を縮小することができる。例えば、フォーマットされたデータ・ブロック４６は、メモリに含まれたピンポン・バッファに書くことができる。ピンポン・バッファは、複数のバッファを含むことができ、そして、画像処理プロセッサは、それがフォーマットされたデータ・ブロック４６の各々を書くバッファを交互にすることができる。さらに、圧縮器は、それが各フォーマットされたデータ・ブロック４６を受け取るバッファを交互にすることができる。その結果、画像処理プロセッサが別のバッファにデータを書いている間、圧縮器は１つのバッファからフォーマットされたデータ４２を読むことができる。フォーマットされたデータを画像処理プロセッサと圧縮器の間で転送するこの方法は、全イメージがメモリに書き込まれることを必要としないので、この方法は、画像化装置によって要求されるメモリを縮小することができる。
【００２７】
圧縮器は、イメージ・ビットストリーム５４を組み立てるためにビットストリーム・セグメント５０の各々を使用する。イメージ・ビットストリーム５４は組み立てられ、したがって、各ユニット４４の圧縮したデータは、図形Ｂで示される順序で配列される。例えば、圧縮器は、最初の再スタートマーカを見つけることができ、そしてイメージ・ビットストリーム５４を始めるために最初の再スタートマーカを含んでいるビットストリーム・セグメントを使用する。圧縮器は、５番目のスタートマーカを含んだビットストリーム・セグメントを使用して、イメージ・ビットストリーム５４を続けることができ、それから９番目の再スタートマーカを含んだビットストリーム・セグメント、などというように続けることができる。ビットストリーム・セグメント中の再スタートマーカはイメージ・ビットストリームに含まれ得る。再スタートマーカがイメージ・ビットストリームに含まれている場合、イメージ・ビットストリーム中のビットストリーム・セグメントの正確な順序を反映するように再スタートマーカの番号を付け替えるができる。例えば、５番目の再スタート・マーカ（ＲＳ５）を含むビットストリーム・セグメントが、イメージ・ビットストリーム中の２番目のビットストリーム・セグメントであるので、ＲＳ５は、イメージ・ビットストリーム中の２番目の再スタートマーカとして、ＲＳ’２に番号が付け替えられる。圧縮器中の第２のプロセッサは、ビットストリーム・セグメント５０を組み立てることができる。交互に、圧縮器または電子装置は、ビットストリーム・セグメント５０を組み立てる、第３のプロセッサを含むことができる。
【００２８】
圧縮器は、異なる方向へイメージを回転させるために図２のブロック４６を使用することができる。図３は、９０度右回りの回転が望まれる場合、画像化システムによるイメージデータの工程を示す。図形Ａは、オリジナルイメージを例示し、図２の中の図形Ａと同じである。図形Ｂは、図形Ｂによって例示されたイメージが９０度右回りに回転されたことを例示する。ＪＰＥＧ圧縮のような多くの圧縮技術が、行主体の順序で配列されたユニット４４を持つビットストリームを作成する。したがって、図形Ｂの中で示されるように回転したイメージを作成するために、これらの圧縮技術は、ユニットＳ、次にユニットＭ、次にユニットＧ、次にユニットＡ、次にユニットＴなどのデータをもつビットストリームを作成する。図形Ｃは、この順序が図形Ａに適用されることを示す。したがって、図形Ｃは、図形Ａの中のユニットの各々からのデータが、９０度回転させるためにビットストリームに配列される順序を示す。
【００２９】
上に記載されたように、画像処理プロセッサはフォーマットされたデータ・ブロック４６をメモリに書く。図３の中の図形Ｄは、図形Ａに示されたイメージのために作成され得るブロック４６の一例を示す。圧縮器は、メモリからブロック４６のためのデータを読み、ブロック４６中のユニット４４を圧縮する。各ユニット４４を圧縮する場合、圧縮は、イメージの希望の回転（この例では９０度右回りの回転）によってユニット４４のデータを回転させるように行なわれる。様々な技術が、個々のユニット４４を回転させるために使用することができる。例えば、圧縮器は、ユニット４４を圧縮する前に、ユニット４４が希望の量回転するように、各ユニット４４においてピクセルの位置を入れ替える（shuffle）ことができる。したがって、ユニット・ビットストリーム４８の中のデータは、希望の回転によって回転されるユニット４４に関するものである。
【００３０】
図形Ｅは、圧縮器がブロック４６の各々中のユニット４４を圧縮する順序を例示する。上に記載されたように、ユニット４４の圧縮は、結果としてユニット・ビットストリーム４８になる。ユニットＣのためのユニット・ビットストリーム４８はＢＳＣというラベルが付けられている。異なるユニット４４からのユニット・ビットストリーム４８は、図形Ｅで指定された順序で配列された圧縮されたビットストリームを有する、ビットストリーム・セグメント５０に組み合わせられる。図形Ｅで指定された順序でユニット４４による工程が、図形Ｃで指定された順序からの変更になる場合、再スタートマーカはビットストリーム・セグメント５０に含まれている。ブロック４６中の最後のユニット４４が圧縮された後、再スタートマーカ５２もビットストリーム・セグメント５０に含まれている。この実例では、ブロック４６の各々の順序は、図形Ｃで指定された順序に対応する。その結果、再スタートマーカ５２は、ユニットＢのためのユニット・ビットストリーム４８の後に単に置かれる。したがって、圧縮器は、ユニットＳ、Ｍ、Ｇ、Ａ、Ｔ、Ｎ、Ｈ、Ｂ（この順序で）、およびＲＳ１というラベルが付けられた１番目の再スタートマーカについての圧縮されたデータを有するビットストリーム・セグメント５０を生成する。圧縮器は、再スタートマーカ５２の後に別のビットストリーム・セグメント５０を始める。圧縮器は、メモリにビットストリーム・セグメント５０を格納する。図３は最初のブロック４６の圧縮によって生じる単一のビットストリーム・セグメント５０を示すが、ブロック４６は複数のビットストリーム・セグメント５０に分割することができる。例えば、再スタートマーカ５２は、ユニットＡ、およびさらにユニットＢのためのユニット・ビットストリーム４８の後に位置することができる。
【００３１】
圧縮器が、メモリにブロック４６についてのビットストリーム・セグメント５０の各々を書いた後、圧縮器はメモリから次のブロック４６用のフォーマットされたデータ４２を検索する。圧縮器は、次のブロック４６中のユニット４４のフォーマットされたデータ４２を圧縮し、メモリにビットストリーム・セグメント５０を書く。圧縮器は、ブロック４６の各々を通って進むために上記のプロセスを使用し、そして、ユニットＦについてのユニット・ビットストリーム４８の後にイメージの終了のマーカを置く。
【００３２】
図３の図形Ｄにおけるブロック４６は、図２の図形Ｃにおけるブロック４６と同じである。しかしながら、図３の図形Ｅで示された順序は、図２の図形Ｄで示された順序とは異なっている。前記順序の変更は、図３に示されたプロセスにより生じるが、図２に示されたプロセスによっては生じない、イメージの回転を提供する。したがって、圧縮器がユニット４４を圧縮する順序は、イメージ回転の希望角度の関数である。
【００３３】
圧縮器は、イメージ・ビットストリーム５４を組み立てるためにビットストリーム・セグメント５０の各々を使用する。イメージ・ビットストリーム５４は組み立てられ、したがって、各ユニット４４の圧縮したデータは、図形Ｃで示される順序で配列される。例えば、圧縮器は、１番目の再スタートマーカを見つけることができ、そして、イメージ・ビットストリーム５４を開始するために、その１番目の再スタートマーカを含んでいるビットストリーム・セグメントを使用することができる。圧縮器は、２番目の再スタートマーカなどを含んでいるビットストリーム・セグメントを使用して、イメージ・ビットストリーム５４を続けることができる。ビットストリーム・セグメント中の再スタートマーカはイメージ・ビットストリームに含むことができる。再スタートマーカがイメージ・ビットストリームに含まれている場合、再スタートマーカの番号は、イメージ・ビットストリーム中のビットストリーム・セグメントの正確な順序を反映するために付け変えられる。
【００３４】
図３に関連したビットストリーム・セグメント５０は、２番目の再スタートマーカを含んだビットストリーム・セグメント（この２番目の再スタートマーカを含んだビットストリーム・セグメントには、３番目の再スタートマーカを含んでいるビットストリーム・セグメントなどがさらに後続する）が後続する、１番目の再スタートマーカを含んでいるビットストリーム・セグメントから開始して組み立てられる。対照的に、図２に関連したビットストリーム・セグメント５０は、５番目の再スタートマーカを含んだビットストリーム・セグメント（この５番目の再スタートマーカを含んだビットストリーム・セグメントには９番目の再スタートマーカを含んでいるビットストリーム・セグメントなどがさらに後続する）が後続する、１番目の再スタートマーカを含んでいるビットストリーム・セグメントの使用により組み立てられた。したがって、ビットストリーム・セグメント５０が組み立てられる順序は、図３と図２とで異なる。前記順序の差は、図３および図２におけるイメージの回転角度の差に起因している。したがって、ビットストリーム・セグメント５０が組み立てられる順序は、イメージ回転の希望角度の関数になりえる。
【００３５】
図４は、イメージが１８０度回転される場合の画像化システムによるデータの工程を示す。図形Ａは、オリジナルイメージを示し、図２における図形Ａと同じである。図形Ｂは、図形Ｂによって示されたイメージが１８０度右回りに回転されていることを示す。ＪＰＥＧ圧縮のような多くの圧縮技術が、行主体の順序で配列されたユニット４４を持つビットストリームを作成する。したがって、図形Ｂに示されるように回転したイメージを作成するために、これらの圧縮技術は、ユニットＸ、Ｗ、Ｖ、Ｔ、Ｓ、Ｒなどのデータをもつビットストリームを作成する。図形Ｃは、この順序が図形Ａに適用されることを示す。したがって、図形Ｃは、図形Ａの中のユニット４４の各々用のデータが、１８０度の回転を達成するためにこれらの圧縮技術のうちの１つによって作成されたビットストリームの配列される順序を示す。
【００３６】
上で特に言及したように、画像処理プロセッサは、メモリにフォーマットされたデータ・ブロック４６を書く。図４における図形Ｄは、図形Ａで示されたイメージについて作成することができたブロック４６の一例を示す。圧縮器は、メモリからブロック４６のデータを読み、ブロック４６中のユニット４４を圧縮する。各ユニット４４を圧縮する場合、圧縮は、イメージの希望の回転（この実例では右回りに１８０度の回転）によってユニット４４におけるデータを回転させるように行なわれる。様々な技術は、個々のユニット４４を回転させるために使用することができる。例えば、圧縮器は、ユニット４４を圧縮する前に、ユニット４４が所望量回転されるように、各ユニット４４におけるピクセルの位置を入れ替えることができる。したがって、１つのユニット・ビットストリーム４８のデータは、希望の回転によって回転される１つのユニット４４についてのものである。
【００３７】
図４における図形Ｅは、圧縮器がブロック４６の各々中のユニット４４を圧縮する順序を示す。上に特に記載されたように、ユニット４４の圧縮は、結果としてユニット・ビットストリーム４８となる。ユニットＣのためのユニット・ビットストリーム４８はＢＳＣと呼ばれる。図４における図形Ｅは、圧縮器がユニット４４を圧縮する順序を示す。異なるユニット４４からのユニット・ビットストリーム４８は、図形Ｅで指定された順序で配列され圧縮されたビットストリームを有するビットストリーム・セグメント５０に組み合わせられる。図形Ｅで指定された順序のユニット４４による工程が、図形Ｃで指定された順序からの変更に帰着する場合、再スタートマーカはビットストリーム・セグメント５０に含まれている。例えば、図形Ｅは、ユニットＮが圧縮され、その後Ｍが、その後Ｈが圧縮されることを明示する、しかしながら、図形Ｃは、ユニットＮが圧縮され、その後Ｍが、その後Ｌが圧縮されることを明示する。図形Ｅにおける順序が、ユニットＭの後に図形Ｃにおける順序から分岐するので、再スタートマーカ５２はユニットＭのためのユニット・ビットストリーム４８の後に置かれる。その結果、圧縮器は、ユニットＴ、ユニットＳ、およびＲＳ１というラベルが付けられた第１の再スタートマーカについての圧縮されたデータを持つビットストリーム・セグメント５０を生成し、また、ユニットＮ、ユニットＭ、およびＲＳ２というラベルが付けられた第２の再スタートマーカについての圧縮されたデータを有するビットストリーム・セグメント５０を生成する。ブロック４６中の最後のユニット４４が圧縮された後、再スタートマーカ５２もビットストリーム・セグメント５０に含まれている。例えば、再スタートマーカ５２は、ユニットＡのためのユニット・ビットストリーム４８の後に置かれる。圧縮器は、再スタートマーカ５２の後に別のビットストリーム・セグメント５０を始める。圧縮器は、メモリにビットストリーム・セグメント５０を格納する。図４は、ビットストリーム・セグメント５０の各々を互いに分離されているように示すけれども、ビットストリーム・セグメント５０はメモリにおいて、エンドツーエンド（end-to-end）に位置させることができる。再スタートマーカ５２は、後続の処理中に連続的にそれらを識別することができるように、連続する数のラベルを含むことができる。
【００３８】
圧縮器が、メモリにブロック４６のためのビットストリーム・セグメント５０の各々を書いた後、圧縮器はメモリから次のブロック４６用のフォーマットされたデータ４２を検索する。圧縮器は、次のブロック４６中のユニット４４のフォーマットされたデータ４２を圧縮し、メモリにビットストリーム・セグメント５０を書く。圧縮器は、ブロック４６の各々を通って進むために上記のプロセスを使用する、そしてユニットＦのためのユニット・ビットストリーム４８の後にイメージの終了のマーカを置く。
【００３９】
図４の図形Ｄにおけるブロック４６は、図２の図形Ｃにおけるブロック４６と同じであり、また図３の図形Ｄにおけるブロック４６と同じである。しかしながら、図４の図形Ｅによって示されているように、これらのブロック４６中のユニット４４は圧縮されるがその順序は、図３の図形Ｅで示されている順序とは異なっており、また図２の図形Ｄで示されている順序とも異なっている。前記順序の変更は、図２、図３および図４に示されたプロセスに起因する異なる回転角度を提供する。したがって、圧縮器がユニット４４を圧縮する順序は、イメージ回転の希望角度の関数である。
【００４０】
圧縮器は、イメージ・ビットストリーム５４を組み立てるためにビットストリーム・セグメント５０の各々を使用する。イメージ・ビットストリーム５４は、各ユニット４４の圧縮したデータが図形Ｃで示される順序で配列されるように組み立てられる。例えば、圧縮器は、９番目の再スタートマーカを見つけることができ、かつイメージ・ビットストリーム５４のスタートとして９番目の再スタートマーカを含んでいるビットストリーム・セグメントを使用する。圧縮器は、５番目の再スタートマーカを含んでいるビットストリーム・セグメントを、次に１番目の再スタートマーカを含んでいるビットストリーム・セグメントを、次に１０番目の再スタートマーカを含んでいるビットストリーム・セグメント、等を使用して、イメージ・ビットストリーム５４を継続することができる。ビットストリーム・セグメントの再スタートマーカは、イメージ・ビットストリームに含むことができる。再スタートマーカがイメージ・ビットストリームに含まれている場合、イメージ・ビットストリーム中のビットストリーム・セグメントの正確な順序を反映するように再スタートマーカの番号を付け替えることができる。例えば、９番目の再スタートマーカ（ＲＳ９）を含むビットストリーム・セグメントが、イメージ・ビットストリーム中の最初のビットストリーム・セグメントであるので、ＲＳ９は、イメージ・ビットストリーム中の１番目の再スタートマーカとして、ＲＳ’１に番号が付け替えられる。さらに、５番目の再スタートマーカＲＳ５は、イメージ・ビットストリーム中の２番目の再スタートマーカとして、ＲＳ’２に付け替えることができる。
【００４１】
図４に関連したビットストリーム・セグメント５０は、９番目の再スタートマーカを含んでいるビットストリーム・セグメントから組み立てが開始される。前記ビットストリーム・セグメントには５番目の再スタートマーカを含んでいるビットストリーム・セグメントが後続し、さらにそのビットストリーム・セグメントには、１番目の再スタートマーカを含んでいるビットストリーム・セグメントなどが後続している。対照的に、図２に関連したビットストリーム・セグメント５０は、９番目の再スタートマーカが関連付けられたユニット・ビットストリーム４８などが後続する、５番目の再スタートマーカが関連付けられたユニット・ビットストリーム４８が後続する、１番目の再スタートマーカが関連付けられたユニット・ビットストリーム４８の使用により組み立てられた。
【００４２】
したがって、ビットストリーム・セグメント５０が組み立てられる順序は図４と図２とで異なる。前記順序の違いは、図４および図２の中のイメージの回転角度の差に起因している。したがって、ビットストリーム・セグメント５０が組み立てられる順序はイメージ回転の希望角度の関数になりえる。
【００４３】
図５はイメージデータを処理する方法を例示するフロー図である。処理ブロック１００では、ブロック４６用の生のイメージデータはメモリから受け取られる。例えば、画像処理プロセッサは、メモリから１つのブロックの生のイメージデータを受け取ることができる。処理ブロック１０２では、生のイメージデータはフォーマットされる。
【００４４】
例えば、画像処理プロセッサは生のイメージデータをＹＣｂＣｒフォーマットに変換することができる。処理ブロック１０４では、ブロックのフォーマットされたデータは、メモリに書かれる。例えば、画像処理プロセッサはピンポン・バッファのバッファにフォーマットされたデータ・ブロックを書くことができる。判定ブロック１０６では、ブロックの各々用のフォーマットされたデータがメモリに書かれたかどうかが、判定される。判定が、いいえ、である場合、方法は処理ブロック１００に戻り、また、判定が、はい、の場合、方法はこの部分で停止されうる。
【００４５】
処理ブロック１０８では、メモリに保存された、フォーマットされたデータのブロックが受け取られる。例えば、圧縮器は、ピンポン・バッファ中のバッファからフォーマットされたデータのブロックを受け取ることができる。処理ブロック１１０では、１つ以上のビットストリーム・セグメントが、フォーマットされたデータのブロックから生成される。例えば、圧縮器は、フォーマットされたデータのブロックからの１つ以上のビットストリーム・セグメントを生成するためにフォーマットされたデータのブロック中のユニット４４を圧縮することができる。特に、１つ以上のビットストリーム・セグメントを生成するために、圧縮器は、フォーマットされたデータのブロック中のユニット４４おいてＪＰＥＧ圧縮を行なうことができる。いくつかの実例では、フォーマットされたデータのユニット４４を圧縮することは、ユニット４４の圧縮したデータがユニット４４のフォーマットされたデータに関連して回転されたユニット４４のバージョンについてのものであるデータのユニット４４を圧縮することを含んでいる。
【００４６】
判定ブロック１１２では、ビットストリーム・セグメントがフォーマットされたデータの各ブロックについて生成されたかどうかについて、判定される。判定が、いいえ、である場合、方法は処理ブロック１０８に戻り、また、判定が、はい、である場合、方法は処理ブロック１１４に継続することができる。処理ブロック１１４では、ビットストリーム・セグメントはイメージ・ビットストリームへ組み立てられる。イメージ・ビットストリームはメモリおよび／または補助メモリに格納することができる。
【００４７】
図５に例示されたブロックは、方法の実際の実行とは異なることがあり得る。例えば、異なるブロックは同時に行なうことができるか、あるいは交互に繰り返すことができる。例として、処理ブロック１０２および１０４は同時に行なうことができる、あるいは交互に繰り返すことができる。特に、ブロックについてのデータ  カン（can）は、同じブロックからの他のデータがメモリに書かれている間にフォーマットされ得る、つまり、ブロックからのデータのフォーマットを、ブロックからのデータの記憶と交互にすることができる。別の例として、処理ブロック１０８および１１０は同時に行なうことができるか、あるいは交互にすることができる。特に、ビットストリーム・セグメントは、同じブロックについての追加のデータがメモリから受け取られる間に、特別のブロックのために生成することができる、つまり、ビットストリームの生成は、ブロック用のフォーマットされたデータを受け取ることと交互にすることができる。さらに、判定ブロックはソフトウェア・プログラミングでのループの使用によって実行することができる。
【００４８】
図５に例示された方法の異なる部分は同時に実行することができる。例えば、フォーマットされたデータの最初のブロックがメモリに書かれた後、ビットストリーム・セグメントは最初のブロック、およびメモリに書かれている後続のブロックから生成することができる。追加のブロックは、ビットストリーム・セグメントが１番目および後続のブロックから生成されている間に、フォーマットすることができる。例として、図６は、時間にわたる電子装置のコンポーネントの可能な割付けを示す。画像処理プロセッサは、最初のイメージのフォーマットを始める。最初のブロックをフォーマットした後に、圧縮器は最初のブロックおよび後続のブロックを圧縮し始める。圧縮器が最初のブロックおよび後続のブロックを圧縮している間、画像処理プロセッサは後続のブロックをフォーマットし続ける。画像処理プロセッサは、圧縮器の前にデータを処理し終えるので、圧縮器がまだ最初のイメージのデータを圧縮している間に、画像処理プロセッサは２番目のイメージのデータをフォーマットし始めることができる。その結果、最初のイメージおよび２番目のイメージの生成の間の遅れは縮小される。
【００４９】
図７は、イメージ・センサからのデータを処理するためのロジック・モジュールを示すロジック・フロー図である。電子装置１８は、生のイメージデータ４０を受け取り格納するように構成された記憶モジュール１２０を含んでいる。例えば、記憶モジュール１２０は、イメージ・センサ１２から生のイメージデータ４０を受け取り、メモリ２６に生のイメージデータ４０を格納することができる。電子装置１８は、さらに、生のイメージデータ４０をフォーマットされたデータ・ブロック４６へフォーマットするように構成された画像処理モジュール１２２を含んでいる。例えば、画像処理モジュール１２２は、メモリから生のイメージデータ４０の部分を読み、生のイメージデータ４０をフォーマットされたデータ・ブロック４６に変換し、メモリにフォーマットされたデータ・ブロック４６を書き、メモリから生のイメージデータ４０の別の部分を読むことができる。電子装置１８は、さらに、フォーマットされたデータ・ブロック４６を圧縮してビットストリーム・セグメント５０にするように構成された圧縮モジュール１２４を含んでいる。例えば、圧縮モジュール１２４は、メモリからフォーマットされたデータ・ブロック４６を読むことができ、１つ以上の圧縮したビットストリーム・セグメント５０を生成するようにフォーマットされたデータ・ブロック４６を圧縮し、また１つ以上の圧縮したビットストリーム・セグメント５０をメモリに書くことができる。電子装置１８は、さらに、それからイメージを再生成することができるイメージ・ビットストリームへビットストリーム・セグメント５０を組み立てるように構成されたビットストリーム組立モジュール１２６を含んでいる。例えば、ビットストリーム組立モジュール１２６は、イメージ・ビットストリームを組み立てて、かつ希望の順序でメモリにユニット・ビットストリームを書くために必要な順序でメモリからビットストリーム・セグメント５０を読むことができる。イメージ・ビットストリームが書かれるメモリは、メモリおよび／または補助メモリ２０でありうる。
【００５０】
画像化システムは、ＪＰＥＧ画像圧縮のコンテキストに示されるが、圧縮は異なるタイプの圧縮になり得る。また、圧縮器は異なるタイプの圧縮器になり得る。画像化システムは、ＹＣｂＣｒイメージ・フォーマットのコンテキストに示されるが、画像化システムは他のイメージ・フォーマットを使用することができる。
【００５１】
上記の例は、イメージを３つのブロックへ分割することが示されているが、イメージを、３つより多くのブロックに、あるいは、わずか２つのブロックに分割することができる。しかしながら、イメージが２つのブロックだけに分割される場合には、ピンポン・バッファ中の各バッファは、それぞれイメージの半分を保持するだろう、そして、あたかも全イメージがメモリに格納されたかのように、ピンポン・バッファのメモリ必要条件が同じであろうから、メモリの本質的な節約はないであろう。したがって、必要なメモリを縮小することが望ましい場合、３つ以上のブロックにイメージを分割することが好ましい。
【００５２】
イメージが垂直のブロックに分割されることが示されているが、イメージは水平のブロックに分割することができる。イメージは、交互に、水平および垂直の両方に分割することができる。したがって、方法と技術は、水平および／または垂直のブロックへ分割されるイメージに関連して使用することができる。
【００５３】
データのブロックはピンポン・バッファに書かれるように、かつピンポン・バッファから読まれるように、説明されているが、ピンポン・バッファは必要ではなく、また、他のメモリ装置をピンポン・バッファの代わりに使用することができる。
【００５４】
本アプリケーションに説明された方法とオペレーションは、単一のイメージ・コンポーネントのコンテキストにおいて説明される。上記の議論の多くは、各イメージ・コンポーネントについて繰り返される必要がある。共通のイメージ・フォーマットはＹＣｂＣｒフォーマットである。このフォーマットは、Ｙコンポーネント、ＣｂコンポーネントおよびＣｒコンポーネントを含んでいる。上に説明された各ユニットは、それぞれ、Ｙコンポーネント、ＣｂコンポーネントあるいはＣｒコンポーネントに特有である。その結果、本アプリケーションにおいて説明された方法とオペレーションは、「トゥルー・カラー・イメージ」あるいは「トゥルー・カラーＪＰＥＧ」を作成するために、コンポーネントの各々について繰り返すことができる。
【００５５】
当業者は、情報と信号が、様々な異なる技術および技術のうちの任意ものを使用して表わされてもよいと理解するだろう。例えば、上記の説明の全体にわたって参照され得るデータおよび命令は、電圧、電流、電磁波、磁気のフィールドまたは粒子、光のフィールドまたは粒子、あるいは、それらの任意の組み合わせによって表わされ得る。
【００５６】
熟練したものは、さらに、種々の例示された、論理ブロック、回路、モジュール、および、ここに示された実施例に関連して説明された方法ステップが、電子ハードウェア、コンピュータ・ソフトウェア、あるいは両者の組み合わせとして実装され得ることを認識するであろう。ハードウェアとソフトウェアのこの互換性を明白に例示するために、種々の実例となるコンポーネント、ブロック、ロジック、モジュール、回路およびステップは、それらの機能性の点から上で一般的に説明された。そのような機能性がハードウェアまたはソフトウェアとしてインプリメントされるかるどうかは、システム全体に課された設計の制約および特定のアプリケーションに依存している。熟練した人は、説明された機能性を、各特定のアプリケーションについて種々の手法で実装することができる。しかし、そのような実装の決定は、本発明のスコープ範囲からの離脱を引き起こすとは解釈されるべきでない。
【００５７】
ここに示された実施態様に関連して説明された、種々の実例となる論理ブロック、ロジック、モジュール、および回路は、一般目的のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向けＩＣ（ＡＳＩＣ）、フィールドプログラム可能なゲート・アレイ（ＦＰＧＡ）、あるいは他のプログラム可能論理回路、個別のゲートかトランジスタ・ロジック、個別のハードウェア・コンポーネントあるいはここに記述された機能を行なうように設計されたそれらの任意の組み合わせで実装されてもよいし実行されてもよい。一般目的のプロセッサは、マイクロプロセッサかもしれない。しかし、代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいはステートマシンかもしれない。プロセッサは、計算装置（例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと結合する１個以上のマイクロプロセッサ、あるいは任意の他のそのような構成）の組み合わせとして実装され得る。
【００５８】
ここに示された実施態様に関連して説明された方法のステップは、ハードウェア、プロセッサによって実行されるソフトウェア・モジュール、あるいは、２つの組み合わせで、直接具体化され得る。ソフトウェア・モジュールおよび／またはロジック・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭあるいは当該技術分野で知られているコンピュータ可読媒体の任意の他の形態中に存在してもよい。典型的な記憶コンピュータ可読媒体は、プロセッサがその記憶メディアから情報を読むことができるようにかつその記憶メディアに情報を書くことができるようにプロセッサに結合される。代わりに、記憶メディアはプロセッサに不可欠かもしれない。プロセッサと記憶メディアはＡＳＩＣに存在してもよい。ＡＳＩＣはユーザ端末に存在してもよい。代案では、プロセッサと記憶メディアはユーザ端末の個別のコンポーネントとして存在してもよい。
【００５９】
開示された実施態様の以前の説明は、任意の当業者が、本発明を作るか使用することを可能にするために提供される。これらの実施態様への種々の修正は、当業者とって容易に明らかになる。また、ここに定義された総括的な法則は、発明の趣旨または範囲から外れずに、他の実施例に適用され得る。したがって、本発明は、ここに示された実施態様に制限されることは意図されないが、ここに開示された法則と新規な特徴と矛盾しない最も広い範囲を与えられるべきである。
【図面の簡単な説明】
【００６０】
【図１】典型的な実施態様に従った画像化システムのブロック図である。
【図２】イメージが回転しない場合、画像化システムによるイメージデータの工程を示す。
【図３】イメージが９０度回転する場合、画像化システムによるデータの工程を示す。
【図４】イメージが１８０度回転する場合、画像化システムによるデータの工程を示す。
【図５】イメージデータを処理する方法を例示するフロー図である。
【図６】時間にわたる、画像化システムにおけるコンポーネントの可能な割付けを示す。
【図７】画像化システムにおけるイメージデータの処理のためのロジック・モジュールを示すロジック・フロー図である。
【図１】
2009524361.tif 000003
【図２】
2009524361.tif 000004
【図３】
2009524361.tif 000005
【図４】
2009524361.tif 000006
【図５】
2009524361.tif 000007
【図６】
2009524361.tif 000008
【図７】
2009524361.tif 000009
【国際調査報告】
2009524361.tif 000010
2009524361.tif 000011
2009524361.tif 000012