(57)【要約】【課題】解像度変換処理性能を向上させることができる画像処理装置を提供することを課題とする。【解決手段】画像処理装置は、第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部と、直前の処理対象ブロックラインの最終ラインの画素の垂直方向の座標のオフセット（ｄ０）と、第２の画像の垂直方向の画素間距離（Ｈ）との和の小数部を、第１の画像のブロックライン内の最上位ラインの画素の垂直方向の座標に対する第２の画像のブロックライン内の最上位ラインの画素の垂直方向の座標のオフセット（Ｃ１）として取得する第４の取得部と、処理対象のブロックラインにおいて、最上位ラインの画素の垂直方向の座標のオフセット（Ｃ１）、第２の画像の垂直方向の画素間距離（Ｈ）、及び第２の画像の１ブロック当たりの垂直方向の画素数を基に、第２の画像のブロックライン内の画素の垂直方向の座標を取得する第５の取得部とを有する。【選択図】図３
2016081296.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部と、
前記第１の画像の垂直方向の画素間距離に対する前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を取得する第１の取得部と、
前記第１の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得する第２の取得部と、
処理対象のブロックのラインにおいて、前記第２の画像の垂直方向の画素間距離、前記第２の画像の１ブロック当たりの垂直方向の画素数、及び前記最上位ラインの画素の垂直方向の座標のオフセットを基に、前記第１の画像のブロックのライン内の最終ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最終ラインの画素の垂直方向の座標のオフセットを取得する第３の取得部と、
処理対象のブロックのラインにおいて、直前の処理対象ブロックのラインの前記最終ラインの画素の垂直方向の座標のオフセットと、前記第２の画像の垂直方向の画素間距離との和の小数部を、前記第１の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットとして取得する第４の取得部と、
処理対象のブロックのラインにおいて、前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を基に、前記第２の画像のブロックのライン内の画素の垂直方向の座標を取得する第５の取得部とを有し、
前記解像度変換部は、前記第２の画像のブロックのライン内の画素の垂直方向の座標を基に、前記第１の画像を前記第２の画像にブロック単位で解像度変換することを特徴とする画像処理装置。
【請求項２】
第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部と、
前記第１の画像の垂直方向の画素間距離に対する前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を取得する第１の取得部と、
前記第１の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得する第２の取得部と、
処理対象のブロックのラインにおいて、直前の処理対象ブロックのラインの前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の１ブロック当たりの垂直方向の画素数、及び前記第２の画像の垂直方向の画素間距離を基に、前記第１の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得する第６の取得部と、
処理対象のブロックのラインにおいて、前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を基に、前記第２の画像のブロックのライン内の画素の垂直方向の座標を取得する第５の取得部とを有し、
前記解像度変換部は、前記第２の画像のブロックのライン内の画素の垂直方向の座標を基に、前記第１の画像を前記第２の画像にブロック単位で解像度変換することを特徴とする画像処理装置。
【請求項３】
前記解像度変換部は、前記ブロックのライン単位で並列に解像度変換する複数のコアを有することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記複数のコアは、複数のブロックのラインを交互に解像度変換することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記複数のコアは、それぞれ、連続する複数のブロックのラインを解像度変換することを特徴とする請求項３記載の画像処理装置。
【請求項６】
第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部を有する画像処理装置の画像処理方法であって、
第１の取得部により、前記第１の画像の垂直方向の画素間距離に対する前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を取得するステップと、
第２の取得部により、前記第１の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得するステップと、
第３の取得部により、処理対象のブロックのラインにおいて、前記第２の画像の垂直方向の画素間距離、前記第２の画像の１ブロック当たりの垂直方向の画素数、及び前記最上位ラインの画素の垂直方向の座標のオフセットを基に、前記第１の画像のブロックのライン内の最終ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最終ラインの画素の垂直方向の座標のオフセットを取得するステップと、
第４の取得部により、処理対象のブロックのラインにおいて、直前の処理対象ブロックのラインの前記最終ラインの画素の垂直方向の座標のオフセットと、前記第２の画像の垂直方向の画素間距離との和の小数部を、前記第１の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットとして取得するステップと、
第５の取得部により、処理対象のブロックのラインにおいて、前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を基に、前記第２の画像のブロックのライン内の画素の垂直方向の座標を取得するステップと、
前記解像度変換部により、前記第２の画像のブロックのライン内の画素の垂直方向の座標を基に、前記第１の画像を前記第２の画像にブロック単位で解像度変換するステップと
を有することを特徴とする画像処理方法。
【請求項７】
第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部を有する画像処理装置の画像処理方法であって、
第１の取得部により、前記第１の画像の垂直方向の画素間距離に対する前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を取得するステップと、
第２の取得部により、前記第１の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像の最上位のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得するステップと、
第６の取得部により、処理対象のブロックのラインにおいて、直前の処理対象ブロックのラインの前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の１ブロック当たりの垂直方向の画素数、及び前記第２の画像の垂直方向の画素間距離を基に、前記第１の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像のブロックのライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得するステップと、
第５の取得部により、処理対象のブロックのラインにおいて、前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を基に、前記第２の画像のブロックのライン内の画素の垂直方向の座標を取得するステップと、
前記解像度変換部により、前記第２の画像のブロックのライン内の画素の垂直方向の座標を基に、前記第１の画像を前記第２の画像にブロック単位で解像度変換するステップと
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
解像度に上限を持たない（解像度フリー）解像度変換処理を実施するために、一定のブロックサイズ（例えば、縦：３２画素、横：３２画素）単位で処理を実施する解像度変換処理が知られている。入力画像を解像度変換処理した結果を符号化装置へ入力する場合、解像度変換処理出力は、符号化装置の入力仕様に適合する一定サイズのブロックである必要がある。一定サイズのブロックを生成する方法として、解像度変換処理出力を随時メモリに蓄積し、メモリに蓄積された解像度変換処理出力が、一定サイズに達した時点で、メモリから読み出すという方法が知られている（特許文献１参照）。
【０００３】
動画像の圧縮記録に用いられる符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下、Ｈ．２６４という）が知られている。近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始され、ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。ＪＣＴ−ＶＣでは、Ｈｉｇｈ  ＥｆｆｉｃｉｅｎｃＹ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣという）の標準化がなされた。
【０００４】
ＨＥＶＣの標準化にあたっては、種々の符号化ツールが、符号化効率向上のみならず実装の容易性や処理時間の短縮といった観点も含めて幅広く採用された。処理時間の短縮の観点では、マルチコアのプロセッサや複数のハードウェア等の上で動作させる事を想定し、並列性を高めるための手法も採用されている。その手法の一つに、コンテキスト適応型算術符号化処理（以下、ＣＡＢＡＣという）を並列に処理するためのＷＰＰ（Ｗａｖｅｆｒｏｎｔ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇ）と呼ばれる手法や、Ｔｉｌｅと呼ばれる手法がある。
【０００５】
ＨＥＶＣでは、ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）と呼ばれる所定のサイズのブロックを単位として符号化を行う。ＷＰＰでは、高さを１個のＣＴＵとする横長の矩形（以後、ＣＴＵラインという）にピクチャを区切って、符号化を行う。一方、Ｔｉｌｅでは、縦と横の長さがそれぞれ複数のＣＴＵから成る矩形（以後、タイルという）にピクチャを区切って符号化を行う。いずれの手法においても、各矩形（ＣＴＵライン又はタイル）を並列に処理することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１３０３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
処理画像サイズが急激に増加する中、画像処理系全体の処理能力の向上が迫られており、特に、画像処理系の比較的前段に位置する解像度変換の処理性能は、処理系全体に与える影響が大きく、大幅な解像度変換処理性能の向上が急務となっている。
【０００８】
そのための方策の一つとして、複数の解像度変換処理コアを並列に稼働させる方法が考えられるが、ブロックライン毎に異なるコアが処理を担当する場合、前のブロックラインで処理した端数分をコア間で授受する手段が必要である。
【０００９】
また、バスやメモリ帯域を圧迫しないように、複数コアで構成される解像度変換処理ブロック（出力）とＨＥＶＣ符号化処理（入力）を直結して、オンザフライ処理する必要がある。
【００１０】
本発明の目的は、解像度変換処理性能を向上させることができる画像処理装置及び画像処理方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明の画像処理装置は、第１の画像を第２の画像にブロック単位で解像度変換する解像度変換部と、前記第１の画像の垂直方向の画素間距離に対する前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を取得する第１の取得部と、前記第１の画像の最上位のブロックライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像の最上位のブロックライン内の最上位ラインの画素の垂直方向の座標のオフセットを取得する第２の取得部と、処理対象のブロックラインにおいて、前記第２の画像の垂直方向の画素間距離、前記第２の画像の１ブロック当たりの垂直方向の画素数、及び前記最上位ラインの画素の垂直方向の座標のオフセットを基に、前記第１の画像のブロックライン内の最終ラインの画素の垂直方向の座標に対する前記第２の画像のブロックライン内の最終ラインの画素の垂直方向の座標のオフセットを取得する第３の取得部と、処理対象のブロックラインにおいて、直前の処理対象ブロックラインの前記最終ラインの画素の垂直方向の座標のオフセットと、前記第２の画像の垂直方向の画素間距離との和の小数部を、前記第１の画像のブロックライン内の最上位ラインの画素の垂直方向の座標に対する前記第２の画像のブロックライン内の最上位ラインの画素の垂直方向の座標のオフセットとして取得する第４の取得部と、処理対象のブロックラインにおいて、前記最上位ラインの画素の垂直方向の座標のオフセット、前記第２の画像の垂直方向の画素間距離、及び前記第２の画像の１ブロック当たりの垂直方向の画素数を基に、前記第２の画像のブロックライン内の画素の垂直方向の座標を取得する第５の取得部とを有し、前記解像度変換部は、前記第２の画像のブロックライン内の画素の垂直方向の座標を基に、前記第１の画像を前記第２の画像にブロック単位で解像度変換することを特徴とする。
【発明の効果】
【００１２】
解像度に上限を持たない（解像度フリー）解像度変換処理の性能を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態による画像処理装置の構成例を示す図である。
【図２】第２の実施形態による画像処理装置の構成例を示す図である。
【図３】バイリニア補間法による解像度変換を示す図である。
【図４】画像の１フレームとブロックラインの関係を示す図である。
【図５】解像度変換（バイリニア補間）処理を示す概念図である。
【図６】元画像（入力画像）マップを示す図である。
【図７】解像度変換マップを示す図である。
【図８】第３の実施形態による画像処理装置の構成例を示す図である。
【図９】第３の実施形態による他の画像処理装置の構成例を示す図である。
【図１０】第３の実施形態による他の画像処理装置の構成例を示す図である。
【図１１】第３の実施形態による他の画像処理装置の構成例を示す図である。
【図１２】第４の実施形態による画像処理装置の構成例を示す図である。
【図１３】第４の実施形態による他の画像処理装置の構成例を示す図である。
【図１４】レジスタを介した解像度変換テーブルの一例を示す図である。
【図１５】図１４のレジスタ（６４ビット）の一例を示す図である。
【図１６】図１４のレジスタ（３２ビット×２）の一例を示す図である。
【図１７】各コアが処理するブロックラインの順序の一例を示す図である。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
図１は、本発明の第１の実施形態による画像処理装置の構成例を示すブロック図である。ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１００１及び１００４は、データバス１００５を介して、データのダイレクトメモリアクセス（ＤＭＡ）送受信を制御する。解像度変換器１００２は、ＤＭＡＣ１００１を介して、入力される元画像データを所定のサイズに変倍処理（解像度変換処理）する１個のコアを有する。解像度変換器１００２は、解像度変換処理後の出力画像（ブロック）サイズが、後段のＨＥＶＣエンコーダ１００３の入力仕様に適合する一定サイズとなるように、入力画像サイズを適宜選択する。ＨＥＶＣエンコーダ（以下、エンコーダという）１００３は、解像度変換器１００２の解像度変換処理後の出力画像に対して、符号化処理を実施するエンコーダ（符号化器）である。ＤＭＡＣ１００４は、エンコーダ１００３の出力端子からＲＡＭ１００７にＤＭＡ転送する。
【００１５】
データバス１００５に接続された各処理ブロックは、データバス１００５を介して、任意のデータの送受信を行う。ＲＯＭ１００６は、フラッシュメモリ等の不揮発性メモリであり、起動プログラムやレジスタ値を記憶・保持し、電源を切ってもデータを保持している。ＲＡＭ１００７は、元画像を格納しているＤＤＲ等の揮発性メモリであり、解像度変換器１００２の解像度変換処理、エンコーダ１００３の符号化処理の過程に於けるデータの一時記憶や書き換えが必要なレジスタ等に使用される。ＣＰＵ１００８は、各処理ブロック１００１〜１００７を制御し、解像度変換器１００２に設定する変倍率（縮小、拡大率）と、解像度変換対象である元画像情報（サイズ、画素値、画素間距離）を取得する。変倍率は、ＲＡＭ１００６内のレジスタやＲＯＭ１００６等に記憶される。ＣＰＵ１００８は、ＲＡＭ１００６内のレジスタ又はＲＯＭ１００６等から変倍率を読み出し、解像度変換器１００２に設定する。変倍率の取得方法は、その他の方法でもよく、限定されない。
【００１６】
図３は、解像度変換器１００２の解像度変換処理を示す図である。○は、元画像（第１の画像）の画素ｉ（Ｘ，Ｙ）を表す。●は、元画像に対して、解像度変換処理後の画像（第２の画像）の画素ｏ（Ｘ，Ｙ）を表す。図３は、元画像の画素ｉ（Ｘ，Ｙ）と、設定された変倍率に応じた解像度変換処理を実施した後の画像の画素ｏ（Ｘ，Ｙ）との位置関係の一例を示す。解像度変換器１００２は、元画像ｉ（Ｘ，Ｙ）を入力し、変換後の画像ｏ（Ｘ，Ｙ）を出力する。元画像ｉ（Ｘ，Ｙ）及び変換後の画像ｏ（Ｘ，Ｙ）は、それそれ、複数のブロックを有する。元画像ｉ（Ｘ，Ｙ）の各ブロックは、例えば３×６画素又は３×５画素を有する。変換後の画像ｏ（Ｘ，Ｙ）の各ブロックは、例えば２×４画素を有する。
【００１７】
ＣＰＵ１００８は、元画像の画素ｉ（Ｘ，Ｙ）に対して、図３に示すように、変倍率に応じた解像度変換処理後の画像の画素ｏ（Ｘ，Ｙ）の座標と、元画像の画素ｉ（Ｘ，Ｙ）のＸ，Ｙ方向の画素間距離を１とした時のサンプリング比Ｇ，Ｈを算出する。Ｘ，Ｙ方向の画素間距離を１とした時のサンプリング比Ｇ，Ｈは、解像度変換処理後の画像のＸ，Ｙ方向の画素間距離として取り扱ってもよい。Ｈは、元画像の垂直方向（Ｙ方向）の画素間距離に対する解像度変換処理後の画像の垂直方向の画素間距離である。Ｇは、元画像の水平方向（Ｘ方向）の画素間距離に対する解像度変換処理後の画像の水平方向の画素間距離である。解像度変換処理後の画像ｏ（Ｘ，Ｙ）のＹ方向の画素間距離Ｈは、ＲＡＭ１００７内のレジスタ等に記憶しておく。ＣＰＵ１００８は、ＲＡＭ１００７内のレジスタ等から画素間距離Ｈを読み出し、解像度変換器１００２に設定する。解像度変換処理後の画像ｏ（Ｘ，Ｙ）のＸ方向の画素間距離Ｇも同様である。解像度変換器１００２は、変倍率に応じて、元画像ｉ（Ｘ，Ｙ）を変換後の画像ｏ（Ｘ，Ｙ）にブロック単位で解像度変換する解像度変換部である。
【００１８】
ＤＭＡＣ１００１は、ＣＰＵ１００８の制御により、解像度変換器１００２へ所定のサイズのブロックに分割した元画像データをＤＭＡ転送する。ＤＭＡ転送の転送元は、元画像データが記憶されているＲＡＭ１００７又はＲＯＭ１００６等の記憶装置である。解像度変換器１００２の出力は、直接、エンコーダ１００３に入力されるので、解像度変換器１００２から出力される画像のサイズは、エンコーダ１００３の入力仕様に適合した一定サイズである。
【００１９】
ＣＰＵ１００８は、取得した変倍率に応じて、解像度変換処理した後の画像のブロックサイズが、エンコーダ１００３の入力仕様を満足する一定サイズとなるように、解像度変換器１００２へ入力する元画像のブロックのサイズを算出する。解像度変換器１００２の入力画像のブロックサイズは、ＣＰＵ１００８により、元画像サイズと変倍率を基に、解像度変換処理を実施する前に算出され、ＲＡＭ１００７のレジスタ等に記憶される。ＣＰＵ１００８は、ＲＡＭ１００７のレジスタ等から入力画像のブロックサイズを読み出し、解像度変換器１００２への入力ブロックサイズを決定し、ＤＭＡＣ１００１に指示する。
【００２０】
ＤＭＡＣ１００１は、ＣＰＵ１００８からの解像度変換器１００２へ入力する元画像サイズ情報に従って、ＲＡＭ１００７から元画像を読み出し、解像度変換器１００２へ出力する。例えば、図３のブロック１が解像度変換器１００２に入力される。
【００２１】
ＣＰＵ１００８は、ＤＭＡＣ１００１がＲＡＭ１００７から解像度変換器１００２へ元画像を転送する処理を制御する。また、ＲＡＭ１００７から元画像を読み出し、その元画像を解像度変換器１００２に入力する制御は、解像度変換器１００２が行ってもよい。
【００２２】
図３に示すように、エンコーダ１００３の入力画像ｏ（Ｘ，Ｙ）のブロックサイズは、２×４画素（一定）と仮定して、以下説明する。言い換えると、解像度変換器１００２の解像度変換処理後の出力画像ｏ（Ｘ，Ｙ）のブロックサイズが、２×４画素（一定）となるように、ＣＰＵ１００８は、解像度変換器１００２へ入力する元画像ｉ（Ｘ，Ｙ）のブロックサイズを制御する。また、解像度変換器１００２の解像度変換処理後の出力画像ｏ（Ｘ，Ｙ）のブロックが２×４画素（一定）となるように、解像度変換器１００２へ入力する元画像ｉ（Ｘ，Ｙ）のブロックサイズの制御は、解像度変換器１００２の内部制御により行ってもよい。
【００２３】
解像度変換処理後の画像ｏ（Ｘ，Ｙ）のＹ方向の画素間距離Ｈは、解像度変換器１００２の内部処理（バイリニア補間法）において、元画像ｉ（Ｘ，Ｙ）のＹ方向の画素間距離を１とした時のサンプリング比となる。
【００２４】
図５は、解像度変換器１００２の解像度変換処理を示す図である。解像度変換器１００２は、バイリニア補間法を用いて、次式（１）により、解像度変換処理後の１画素ａの画素値Ｙａ（ｘ，ｙ）を算出する。解像度変換器１００２は、元画像の４画素の画素値Ｓｒｃ（［ｘ］，［ｙ］）、Ｓｒｃ（［ｘ］＋１，［ｙ］）、Ｓｒｃ（［ｘ］，［ｙ］＋１）、Ｓｒｃ（［ｘ］＋１，［ｙ］＋１）を式（１）に代入し、補間画素ａの画素値Ｙａ［ｘ，ｙ］を算出する。元画像の４画素の画素値Ｓｒｃ（［ｘ］，［ｙ］）、Ｓｒｃ（［ｘ］＋１，［ｙ］）、Ｓｒｃ（［ｘ］，［ｙ］＋１）、Ｓｒｃ（［ｘ］＋１，［ｙ］＋１）は、解像度変換処理後の画素ａの近傍の元画像の４画素の画素値（輝度値）である。式（１）にお於いて、［  ］は、［  ］内の数値の小数部切り捨てを意味する。
【００２５】
Ｙａ（ｘ，ｙ）＝（［ｘ］＋１−ｘ）（［ｙ］＋１−ｙ）Ｓｒｃ（［ｘ］，［ｙ］）
＋（［ｘ］＋１−ｘ）（ｙ−［ｙ］）Ｓｒｃ（［ｘ］＋１，［ｙ］）
＋（ｘ−［ｘ］）（［ｙ］＋１−ｙ）Ｓｒｃ（［ｘ］，［ｙ］＋１）
＋（ｘ−［ｘ］）（ｙ−［ｙ］）Ｓｒｃ（［ｘ］＋１，［ｙ］＋１）
・・・（１）
【００２６】
式（１）において、ｘは補間画素ａのＸ座標、ｙは補間画素ａのＹ座標である。画素値Ｓｒｃ（［ｘ］，［ｙ］）は、元画像の画素ｉ（［ｘ］，［ｙ］）の画素値であり、例えば元画像の画素ｉ（０，０）の画素値「１００」である。画素値Ｓｒｃ（［ｘ］＋１，［ｙ］）は、元画像の画素ｉ（［ｘ］＋１，［ｙ］）の画素値であり、例えば元画像の画素ｉ（１，０）の画素値「１２０」である。画素値Ｓｒｃ（［ｘ］，［ｙ］＋１）は、元画像の画素ｉ（［ｘ］，［ｙ］＋１）の画素値であり、例えば元画像の画素ｉ（０，１）の画素値「１８０」である。画素値Ｓｒｃ（［ｘ］＋１，［ｙ］＋１）は、元画像の画素ｉ（［ｘ］＋１，［ｙ］＋１）の画素値であり、例えば元画像の画素ｉ（１，１）の画素値「１８１」である。この場合、式（１）により、解像度変換処理後の画素ａの画素値Ｙａ（ｘ，ｙ）は、約「１２１」になる。
【００２７】
図４は、画像の１フレームとブロックラインの関係を示す図である。１フレームは、ブロックライン１〜ブロックラインｎを有する。
【００２８】
図６は、元画像の１フレームを示す図である。元画像の１フレームは、２次元行列状のｍ×ｎ個のブロックを有する。各ブロックは、例えば３×６個又は３×５個の画素ｉ（Ｘ，Ｙ）を有する。ブロックライン１は、１行目のｍ個のブロックを有する。ブロックラインｎは、ｎ行目のｍ個のブロックを有する。
【００２９】
図７は、解像度変換処理後の画像の１フレームを示す図である。解像度変換処理後の画像の１フレームは、２次元行列状のｊ×ｎ個のブロックを有する。各ブロックは、例えば４個の画素ｏ（Ｘ，Ｙ）を有する。ブロックライン１は、１行目のｊ個のブロックを有する。ブロックラインｎは、ｎ行目のｊ個のブロックを有する。
【００３０】
元画像の画像サイズ及び変倍率は、ＣＰＵ１００８又は解像度変換器１００２へ通知される。図３のように、ＣＰＵ１００８又は解像度変換器１００２は、最上位のブロックラインであるブロックライン１において、元画像の最上位ラインのＹ座標と、解像度変換処理後の画像の最上位ラインのＹ座標とのオフセット（Ｙ座標の端数）Ｃ０の値を算出する。オフセットＣ０は、元画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。
【００３１】
ここで、画素数ｐは、解像度変換処理後の画像の１ブロック当たりの垂直方向（Ｙ方向）の画素数とする。また、図３に示すように、解像度変換処理後の１ブロックのＹ方向の画素数ｐ＝４と仮定する。ＣＰＵ１００８又は解像度変換器１００２により、解像度変換処理後のブロックライン１の最終ラインのＹ座標の端数ｄ０は、（Ｃ０＋（ｐ−１）×Ｈ）−４＝（Ｃ０＋３×Ｈ）−４の値（小数値）として算出される。すなわち、端数ｄ０は、（Ｃ０＋（ｐ−１）×Ｈ）＝（Ｃ０＋３×Ｈ）の小数部として算出される。端数ｄ０は、元画像のブロックライン１内の最終ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン１内の最終ラインの画素の垂直方向のＹ座標のオフセットである。
【００３２】
ＣＰＵ１００８又は解像度変換器１００２は、解像度変換処理後の画像のブロックライン１内の４ラインのＹ座標Ｃ０，Ｃ０＋Ｈ，Ｃ０＋２×Ｈ，Ｃ０＋３×Ｈを算出する。
【００３３】
次に、ブロックライン２について説明する。ブロックライン２の元画像の最上位ラインと解像度変換処理後の画像の最上位ラインとのＹ座標のオフセットＣ１は、ＣＰＵ１００８又は解像度変換器１００２により、｛（ｄ０＋Ｈ）の小数部｝として算出される。オフセットＣ１は、元画像のブロックライン２内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン２内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。
【００３４】
解像度変換処理後の１ブロックのＹ方向の画素数ｐ＝４と仮定する。ＣＰＵ１００８又は解像度変換器１００２により、解像度変換処理後のブロックライン２の最終ラインのＹ座標の端数ｄ１は、（Ｃ１＋（ｐ−１）×Ｈ）−３＝（Ｃ１＋３×Ｈ）−３の値（小数値）として算出される。すなわち、端数ｄ１は、（Ｃ１＋（ｐ−１）×Ｈ）＝（Ｃ１＋３×Ｈ）の小数部として算出される。端数ｄ１は、元画像のブロックライン２内の最終ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン２内の最終ラインの画素の垂直方向のＹ座標のオフセットである。
【００３５】
ＣＰＵ１００８又は解像度変換器１００２は、解像度変換処理後の画像のブロックライン２内の４ラインのＹ座標Ｃ１，Ｃ１＋Ｈ，Ｃ１＋２×Ｈ，Ｃ１＋３×Ｈを算出する。
【００３６】
次に、ブロックライン３について説明する。ブロックライン３の元画像の最上位ラインと解像度変換処理後の画像の最上位ラインとのＹ座標のオフセットＣ２は、ＣＰＵ１００８又は解像度変換器１００２により、｛（ｄ１＋Ｈ）の小数部｝として算出される。オフセットＣ２は、元画像のブロックライン３内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン３内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。
【００３７】
また、ＣＰＵ１００８又は解像度変換器１００２により、解像度変換処理後のブロックライン３の最終ラインのＹ座標の端数ｄ２は、（Ｃ２＋３×Ｈ）の小数部として算出される。端数ｄ２は、元画像のブロックライン３内の最終ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン３内の最終ラインの画素の垂直方向のＹ座標のオフセットである。
【００３８】
ＣＰＵ１００８又は解像度変換器１００２は、解像度変換処理後の画像のブロックライン３内の４ラインのＹ座標Ｃ２，Ｃ２＋Ｈ，Ｃ２＋２×Ｈ，Ｃ２＋３×Ｈを算出する。
【００３９】
ブロックライン４以降も同様にして、算出される。以上のように、ブロックライン２以降の元画像の最上位ラインと解像度変換処理後の画像の最上位ラインとのＹ座標のオフセットＣ１，Ｃ２，Ｃ３・・・は、端数ｄ０，ｄ１，ｄ２・・・と、Ｙ方向のサンプリング比Ｈとの和の小数部として算出される。
【００４０】
なお、ＣＰＵ１００８又は解像度変換器１００２は、オフセットＣ１を｛（Ｃ０＋３×Ｈ）の小数部｝として演算し、オフセットＣ２を｛（Ｃ１＋３×Ｈ）の小数部｝として演算し、オフセットＣ３を｛（Ｃ２＋３×Ｈ）の小数部｝として演算してもよい。また、オフセットＣ１，Ｃ２，Ｃ３・・・の算出は、ＣＰＵ１００８又は解像度変換器１００２の内部に処理コアを設け、ＣＰＵ１００８の制御により算出してもよい。
【００４１】
ＣＰＵ１００８は、次の処理対象ブロックラインの最上位ラインのＹ座標（Ｙ座標の端数）を、現在のブロックラインの処理中に算出する。例えば、ＣＰＵ１００８がブロックライン１を処理中の場合を説明する。その場合、ＣＰＵ１００８は、ブロックライン２の最上位ラインの解像度変換処理前後の画像のＹ座標のオフセットＣ１と、解像度変換処理後の画像のブロックライン２内の４ラインのＹ座標Ｃ１，Ｃ１＋Ｈ，Ｃ１＋２×Ｈ，Ｃ１＋３×Ｈを算出する。以下、同様にして、ＣＰＵ１００８は、現在処理中のブロックラインの解像度変換処理中に、次の解像度変換処理ブロックラインの最上位ラインの解像度変換処理前後のオフセット、及び、解像度変換処理後の各画素のＹ座標を算出する。
【００４２】
図３のブロック１に対する解像度変換処理後の画像ｏ（Ｘ，Ｙ）のブロックを２×４画素とするためには、Ｘ座標：０〜２の３画素、Ｙ座標：ｎ＋０〜ｎ＋５の６ライン（６画素）の元画像ｉ（Ｘ，Ｙ）を１ブロックとして図１の解像度変換器１００２へ入力する。これは、解像度変換処理前後の画素の位置関係から決められる。解像度変換処理後の画像ｏ（Ｘ，Ｙ）のブロックを２×４画素とするために必要な元画像ｉ（Ｘ，Ｙ）のブロックサイズの選択は、ＣＰＵ１００８又は解像度変換器１００２が実施する。
【００４３】
図３のブロック２に対する解像度変換処理後の画像ｏ（Ｘ，Ｙ）のブロックを２×４画素とするためには、Ｘ座標：０〜２の３画素、Ｙ座標：ｎ＋５〜ｎ＋９の５ライン（５画素）の元画像ｉ（Ｘ，Ｙ）を１ブロックとして図１の解像度変換器１００２へ入力する。これは、解像度変換処理前後の画素の位置関係から決められる。
【００４４】
図３に示すように、ブロックライン１の最終ラインと、ブロックライン２の最上位ラインは、解像度変換処理前後の画素の位置関係から、元画像のＹ座標＝（ｎ＋５）のラインが重複して使用される。解像度変換器１００２へ入力する元画像のブロックサイズは、ＣＰＵ１００８又は解像度変換器１００２により算出又は選択される。ＣＰＵ１００８又は解像度変換器１００２は、図３の元画像ｉ（Ｘ，Ｙ）と解像度変換処理後の画素ｏ（Ｘ，Ｙ）の位置関係から、解像度変換処理後の画像が２×４画素となるように入力ブロックサイズを算出又は選択する。ＣＰＵ１００８又は解像度変換器１００２は、算出又は選択された入力ブロックサイズに従って、元画像を取得して、解像度変換器１００２へ入力する。画像処理装置は、前述のように、解像度変換器１００２へ入力する元画像のブロックサイズを変更することで、解像度変換処理後の画像のブロックサイズを一定サイズにする。
【００４５】
図３のブロック３に対する解像度変換処理の結果として、２×４画素を出力するため、解像度変換処理前後の画素の位置関係から、Ｘ座標：０〜２の３画素、Ｙ座標：ｎ＋１０〜ｎ＋１４の５ラインの元画像を１ブロックとして、解像度変換器１００２へ入力する。以下、同様にして、解像度変換処理前後の画素の位置関係から、解像度変換処理結果として、２×４画素を出力するために必要な元画像のブロックサイズをＣＰＵ１００８又は解像度変換器１００２が、算出又は選択する。ＣＰＵ１００８又は解像度変換器１００２は、算出又は選択した結果に基づいて、元画像のブロック（画素）を選択及び取得して、解像度変換器１００２へ入力する。そして、解像度変換器１００２は、解像度変換処理を実施する。以下、同様にして、図３に示す解像度変換処理前後の画素の位置関係が設定された変倍率毎に、入力ブロックサイズを算出又は選択することにより、様々な変倍率に対して、上記と同様な処理により、解像度変換処理を実施することができる。なお、ＣＰＵ１００８は、上式（１）の演算プログラムを実行し、解像度変換処理後の画素値の算出（バイリニア補間演算）を実施してもよい。
【００４６】
以上の処理を、図６のブロックライン１のブロック１から順次左方向へ処理し、ブロックライン１の最終ブロックの処理を完了したら、処理を次のブロックラインへ移行し、ブロックライン１と同様な処理を実施する。以下、同様の処理を、各ブロックラインについて実施する。
【００４７】
以上、解像度変換処理後の画像内の画素のＹ座標の算出方法を説明したが、ＣＰＵ１００８又は解像度変換器１００２は、それと同様に、解像度変換処理後の画像の水平方向の画素間距離Ｇを用いて、解像度変換処理後の画像内の画素のＸ座標を算出できる。解像度変換器１００２は、解像度変換処理後の画像のブロックライン内の画素のＸ座標及びＹ座標を基に、上式（１）により、元画像を解像度変換処理後の画像にブロック単位で解像度変換することができる。
【００４８】
本実施形態は、上記のように２個の画像処理方法を行うことができる。まず、第１の画像処理方法を説明する。ＣＰＵ１００８又は解像度変換器１００２の第１の取得部は、元画像の垂直方向の画素間距離に対する解像度変換処理後の画像の垂直方向の画素間距離Ｈ、及び解像度変換処理後の画像の１ブロック当たりの垂直方向の画素数ｐを取得する。
【００４９】
ＣＰＵ１００８又は解像度変換器１００２の第２の取得部は、オフセットＣ０を取得する。オフセットＣ０は、元画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。
【００５０】
ＣＰＵ１００８又は解像度変換器１００２の第３の取得部は、処理対象のブロックラインにおいて、画素間距離Ｈ、画素数ｐ、及びオフセットＣ０を基に、オフセットｄ０を取得する。オフセットｄ０は、元画像のブロックライン１内の最終ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン内の最終ラインの画素の垂直方向のＹ座標のオフセットである。具体的には、オフセットｄ０は、（Ｃ０＋（ｐ−１）×Ｈ）の小数部として算出される。
【００５１】
ＣＰＵ１００８又は解像度変換器１００２の第４の取得部は、処理対象のブロックラインにおいて、直前の処理対象ブロックラインの最終ラインの画素の垂直方向のＹ座標のオフセットｄ０と画素間距離Ｈとの和の小数部を、オフセットＣ１として取得する。オフセットＣ１は、元画像のブロックライン内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像のブロックライン内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。すなわち、オフセットＣ１は、（ｄ０＋Ｈ）の小数部として算出される。
【００５２】
ＣＰＵ１００８又は解像度変換器１００２の第５の取得部は、処理対象のブロックラインにおいて、オフセットＣ０等、画素間距離Ｈ、及び画素数ｐを基に、解像度変換処理後の画像のブロックライン内の画素の垂直方向のＹ座標を取得する。具体的には、ブロックライン１内の４ラインのＹ座標は、Ｃ０，Ｃ０＋Ｈ，Ｃ０＋２×Ｈ，Ｃ０＋３×Ｈとして算出される。ブロックライン２内の４ラインのＹ座標は、Ｃ１，Ｃ１＋Ｈ，Ｃ１＋２×Ｈ，Ｃ１＋３×Ｈとして算出される。
【００５３】
解像度変換器１００２は、解像度変換処理後の画像のブロックライン内の画素の垂直方向のＹ座標を基に、上式（１）により、元画像を解像度変換処理後の画像にブロック単位で解像度変換する。
【００５４】
次に、第２の画像処理方法を説明する。ＣＰＵ１００８又は解像度変換器１００２の第１の取得部は、元画像の垂直方向の画素間距離に対する解像度変換処理後の画像の垂直方向の画素間距離Ｈ、及び解像度変換処理後の画像の１ブロック当たりの垂直方向の画素数ｐを取得する。
【００５５】
ＣＰＵ１００８又は解像度変換器１００２の第２の取得部は、オフセットＣ０を取得する。オフセットＣ０は、元画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標に対する解像度変換処理後の画像の最上位のブロックライン１内の最上位ラインの画素の垂直方向のＹ座標のオフセットである。
【００５６】
ＣＰＵ１００８又は解像度変換器１００２の第６の取得部は、処理対象のブロックラインにおいて、直前の処理対象ブロックラインの最上位ラインの画素の垂直方向の座標のオフセットＣ０、画素数ｐ、及び画素間距離Ｈを基に、オフセットＣ１を取得する。具体的には、オフセットＣ１は（Ｃ０＋（ｐ−１）×Ｈ）の小数部として算出され、オフセットＣ２は（Ｃ１＋（ｐ−１）×Ｈ）の小数部として算出され、オフセットＣ３は（Ｃ２＋（ｐ−１）×Ｈ）の小数部として算出される。ｐは、例えば４である。
【００５７】
ＣＰＵ１００８又は解像度変換器１００２の第５の取得部は、処理対象のブロックラインにおいて、オフセットＣ０等、画素間距離Ｈ、及び画素数ｐを基に、解像度変換処理後の画像のブロックライン内の画素の垂直方向のＹ座標を取得する。具体的には、ブロックライン１内の４ラインのＹ座標は、Ｃ０，Ｃ０＋Ｈ，Ｃ０＋２×Ｈ，Ｃ０＋３×Ｈとして算出される。ブロックライン２内の４ラインのＹ座標は、Ｃ１，Ｃ１＋Ｈ，Ｃ１＋２×Ｈ，Ｃ１＋３×Ｈとして算出される。
【００５８】
解像度変換器１００２は、解像度変換処理後の画像のブロックライン内の画素の垂直方向のＹ座標を基に、上式（１）により、元画像を解像度変換処理後の画像にブロック単位で解像度変換する。
【００５９】
本実施形態によれば、上記の方法によりブロック単位で解像度変換するので、解像度に上限を持たない（解像度フリー）解像度変換処理性能を向上させることができる。
【００６０】
（第２の実施形態）
図２は、本発明の第２の実施形態による画像処理装置の構成例を示す図である。本実施形態の画像処理装置は、１フレームの画像に対する処理性能を確保するために、解像度変換及びエンコード処理をそれぞれ２個のコアで並列処理する。以下、本実施形態が第１の実施形態と異なる点を説明する。
【００６１】
ＤＭＡＣ２００１、２００２、２００５、２００６は、図１のＤＭＡＣ１００１及び１００４と同様に、データバス２０１０を介して、データのＤＭＡ送受信を制御する。解像度変換器２００３は、図１の解像度変換器１００２に対応し、第１のコア２００３−１及び第２のコア２００３−２を有する。第１のコア２００３−１は、ＤＭＡＣ２００１から指定サイズの元画像データを入力し、解像度変換する。第２のコア２００３−２は、ＤＭＡＣ２００２から指定サイズの元画像データを入力し、解像度変換する。ＤＭＡＣ２００１及び２００２は、解像度変換器２００３の２つのコア２００３−１及び２００３−２に独立に元画像を出力する。コア２００３−１及び２００３−２は、独立に解像度変換する。
【００６２】
エンコーダ２００４は、図１のエンコーダ１００３に対応し、第１のコア２００４−１及び２００４−２を有する。解像度変換器２００３内の第１のコア２００３−１の出力は、エンコーダ２００４内の第１のコア２００４−１の入力仕様に適合した画像出力サイズである。解像度変換器２００３内の第２のコア２００３−２の出力は、エンコーダ２００４内の第２のコア２００４−２の入力仕様に適合した画像出力サイズである。
【００６３】
エンコーダ２００４内の第１のコア２００４−１は、解像度変換器２００３内の第１のコア２００３−１で解像度変換処理された画像データに対して、エンコード処理を実施する。エンコーダ２００４内の第２のコア２００４−２は、解像度変換器２００３内の第２のコア２００３−２で解像度変換処理された画像データに対して、エンコード処理を実施する。
【００６４】
ＲＯＭ２００７は、図１のＲＯＭ１００６に対応し、フラッシュメモリ等の不揮発メモリであり、起動プログラムやレジスタ値（定数）を記憶・保持し、電源を切ってもデータを保持している。ＲＡＭ２００８は、図１のＲＡＭ１００７に対応し、ＤＤＲ等の揮発性メモリである。ＲＡＭ２００８は、解像度変換器２００３の解像度変換処理過程やエンコーダ２００４のエンコード処理過程に於けるデータの一時記憶や、書き換えが必要なレジスタ、データバス２０１０のトラフィック調整用バッファとして使用される。ＣＰＵ２００９は、図１のＣＰＵ１００８に対応し、各処理ブロック２００１〜２００６、記憶手段２００７及び２００８、データバス２０１０の制御を行う。
【００６５】
解像度変換器２００３は、並列処理可能な２個のコア２００３−１及び２００３−２を有し、図１の解像度変換器１００２を２組有することと等価である。エンコーダ２００４は、並列処理可能な２個のコア２００４−１及び２００４−２を有し、図１のエンコーダ１００３を２組有することと等価である。
【００６６】
解像度変換器２００３内の第１のコア２００３−１及びエンコーダ２００４内の第１のコア２００４−１は、図４の奇数ブロックラインを処理する。解像度変換器２００３内の第２のコア２００３−２及びエンコーダ２００４内の第２のコア２００４−２は、図４の偶数ブロックラインを処理する。第１のコア２００３−１及び第２のコア２００３−２は、ブロックライン単位で並列に解像度変換する。例えば、第１のコア２００３−１及び第２のコア２００３−２は、複数のブロックラインを交互に解像度変換する。
【００６７】
ＣＰＵ２００９の制御により、ＤＭＡＣ２００１は、データバス２０１０経由で、ブロックライン１の画像データを指定されたサイズで、ＲＡＭ２００８から解像度変換器２００３内の第１のコア２００３−１へＤＭＡ転送する。同様に、ＣＰＵ２００９の制御により、ＤＭＡＣ２００２は、データバス２０１０経由で、ブロックライン２の画像データを指定されたサイズで、ＲＡＭ２００８から解像度変換器２００３の第２のコア２００３−２へＤＭＡ転送する。
【００６８】
解像度変換器の第１のコア２００３−１の出力画像ブロックサイズがエンコーダの第１のコア２００４−１の入力仕様に適合する一定サイズとなるように、ＤＭＡＣ２００１は、第１のコア２００３−１に入力される画像サイズを随時調整（変更）する。同様に、解像度変換器の第２のコア２００３−２の出力画像ブロックサイズがエンコーダの第２のコア２００４−２の入力仕様に適合する一定サイズとなるように、ＤＭＡＣ２００２は、第２のコア２００３−２に入力される画像サイズを随時調整（変更）する。
【００６９】
解像度変換器２００３内の第１のコア２００３−１及び第２のコア２００３−２の入力端子にＤＭＡ転送される画像データのサイズの調整は、第１の実施形態と同様にして実施される。第１のコア２００３−１及び第２のコア２００３−２の解像度変換処理は、第１の実施形態と同様である。第１のコア２００３−１及び第２のコア２００３−２への入力画像サイズの制御は、ＣＰＵ２００９又は解像度変換器２００３が実施するか、又は、制御手段を別途設けてもよい。
【００７０】
第１のコア２００３−１及び第１のコア２００４−１は、図４のブロックライン１，３，５，７・・・・の奇数ブロックラインを処理する。第２のコア２００３−２及び第２のコア２００４−２は、図４のブロックライン２，４，６，８・・・・の偶数ブロックラインを処理する。なお、第１のコア２００３−１及び第１のコア２００４−１が偶数ブロックラインを処理し、第２のコア２００３−２及び第２のコア２００４−２が奇数ブロックラインを処理してもよい。
【００７１】
第１のコア２００３−１及び第１のコア２００４−１がブロックライン１を処理している場合、第１のコア２００３−１及び第１のコア２００４−１の次の処理対象は、ブロックライン３となる。同様に、第２のコア２００３−２及び第２のコア２００４−２がブロックライン２を処理している場合、第２のコア２００３−２及び第２のコア２００４−２の次の処理対象は、ブロックライン４となる。
【００７２】
第１のコア２００３−１及び第２のコア２００３−２は、現在処理中のブロックラインの最終ラインのＹ座標と、次に処理するブロックライン（又はブロック）に関して、元画像と、解像度変換処理後の最上位ラインのＹ座標の算出方法が、第１の実施形態と異なる。例外として、元画像のブロックライン１の最上位ラインと解像度変換処理後のブロックライン１の最上位ラインのオフセット（Ｙ座標の端数）Ｃ０の算出方法は、第１の実施形態と同様となる。
【００７３】
オフセットＣ０は、元画像サイズ（縦、横の画素数と画素間距離）と変倍率から、ＣＰＵ２００９又は解像度変換器２００３等により、算出され、ＲＡＭ２００８又はＲＯＭ２００７に記憶される。ＣＰＵ２００９は、算出したオフセットＣ０により、ブロックライン１の解像度変換処理後の画素のＹ座標（Ｃ０，Ｃ０＋Ｈ，Ｃ０＋２×Ｈ，Ｃ０＋３×Ｈ）を算出する。
【００７４】
ここで、処理コア数をｑとし、解像度変換処理後のＹ方向のライン数（画素数）をｐとする。第１のコア２００３−１がブロックライン１を処理する際、次の処理対象であるブロックライン３の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ２を｛（Ｃ０＋ｑ×ｐ×Ｈ）の小数部｝として算出する。したがって、ｑ＝２、ｐ＝４の場合、第１のコア２００３−１がブロックライン１の次に処理するブロックライン３の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ２は、｛（Ｃ０＋２×４×Ｈ）の小数部｝として算出することができる。同様に、第２のコア２００３−２のブロックライン２の次に処理するブロックライン４の最上位ラインのＹ座標の端数Ｃ４は、｛（Ｃ１＋２×４×Ｈ）の小数部｝として算出することができる。
【００７５】
以下、同様に、コア２００３−１及び２００３−２が直前に処理したブロックラインの最上位ラインの端数は、処理コア数ｑと解像度変換処理後のＹ方向のライン数ｐと、Ｙ方向のサンプリング距離Ｈとの積を加算した結果の小数部として算出すればよい。
【００７６】
例えば、ブロックライン５の最上位ラインのＹ座標の端数Ｃ４は、｛（Ｃ２＋２×４×Ｈ）の小数部｝として算出され、ブロックライン６の最上位ラインのＹ座標の端数Ｃ５は、｛（Ｃ３＋２×４×Ｈ）の小数部｝として算出される。
【００７７】
次に、処理対象ブロックラインの解像度変換処理後の最終ラインの座標の端数を算出する方法について説明する。図３のブロックライン１の最終ラインのＹ座標の端数ｄ０は、（Ｃ０＋３×Ｈ）の小数部として算出される。すなわち、端数ｄ０は、解像度変換処理後の１ブロックのＹ方向のライン数ｐから１を減算した値と、サンプリング距離Ｈとの積と、処理対象ブロックラインの最上位ラインのＹ座標の端数Ｃ０との和（Ｃ０＋３×Ｈ）の小数部として算出される。
【００７８】
ブロックライン２の最終ラインのＹ座標の端数ｄ１は、上記と同様に、｛（Ｃ１＋３×Ｈ）の小数部｝として算出される。ブロックライン３以降もブロックライン１及び２と同様にして算出される。
【００７９】
ブロックライン２の最上位ラインのＹ座標の端数Ｃ１は、（Ｃ０＋４×Ｈ）の小数部として算出される。ブロックライン３の最上位ラインのＹ座標の端数Ｃ２は、（Ｃ１＋４×Ｈ）の小数部として算出される。処理対象ブロックラインの最上位ラインのＹ座標の端数は、解像度変換処理後の１ブロックのＹ方向のライン数ｐとサンプリング距離Ｈとの積と、直前のブロックラインの最上位ラインのＹ座標の端数との和の小数部として算出される。ブロックライン４以降の最上位ラインのＹ座標の端数も上記と同様にして算出可能である。各ブロックラインの最上位ラインのＹ座標の端数Ｃ１，Ｃ２等は、解像度変換処理を担当するコア、又はＣＰＵ２００９が演算処理する。
【００８０】
各ブロックラインの最上位ラインのＹ座標の端数は、直前のブロックラインの最終ラインのＹ座標の端数を直前のブロックラインの処理担当コアから取得可能であれば、次のようにして、算出することが可能である。
【００８１】
ブロックライン２の最上位ラインのＹ座標の端数Ｃ１は、ブロックライン１の最終ラインのＹ座標の端数ｄ０を用いて、Ｃ１＝｛（ｄ０＋Ｈ）の小数部｝として算出してもよい。また、ブロックライン３の最上位ラインのＹ座標の端数Ｃ２も、ブロックライン２の最終ラインのＹ座標の端数ｄ１の値を用いて、Ｃ２＝｛（ｄ１＋Ｈ）の小数部｝として算出してもよい。ブロックライン４以降の最上位ラインのＹ座標の端数も上記と同様にして算出可能である。
【００８２】
各ブロックラインの最上位ラインのＹ座標の端数は、前述のように、２種類の算出方法があるので、演算を担当するＣＰＵ又は解像度変換器のコアに算出方法を適宜切り替え可能な手段を設けてもよい。
【００８３】
次に、第１の実施形態と同様に、各ブロックラインの解像度変換処理後の各画素のＹ座標をＣＰＵ２００９等で算出又は取得して、各処理対象ブロックラインの各画素の座標を確定する。
【００８４】
本実施形態では、説明を判り易くするために、処理コアが２個の場合につて説明したが、処理コアを３個以上とすることも可能である。処理コアが３個以上の場合、各処理対象ブロックラインの最上位ラインのＹ座標の端数を算出する際に、コア数ｑの値を２から当該コア数に変更すればよい。処理対象ブロックラインの最終ラインの算出は、コア数ｑに応じて、処理対象ブロックラインの直前のブロックラインの処理担当コアの判定機能を３コア以上対応とする。すなわち、処理対象ブロックラインの最終ラインの算出は、直前のブロックラインの処理担当コアから最上位ライン又は最終ラインの座標の端数を取得するようにすればよい。
【００８５】
各ブロックラインの解像度変換処理後の画素の値は、バイリニア補間法の上式（１）により、算出する。本実施形態では、解像度変換処理後の各画素の座標が決定した後、解像度変換処理後の各画素の画素値をバイリニア補間法で算出する例を示したが、解像度変換処理手段、又は方法は、任意であり、バイリニア補間法は、その一例である。
【００８６】
解像度変換処理を複数のコアで処理することにより、解像度に上限を持たない（解像度フリー）解像度変換処理の性能を向上させることができる。また、複数のコアによる解像度変換処理とＨＥＶＣ符号化処理を実施することにより、解像度変換処理とＨＥＶＣ符号化処理をオンザフライ処理できる。また、解像度変換処理出力を蓄積するメモリが不要となる。
【００８７】
（第３の実施形態）
第１及び第２の実施形態では、次の処理対象となるブロックライン（又はブロック）の元画像の最上位ラインと、解像度変換処理後の最上位ラインとのＹ座標のオフセット（Ｙ座標の端数）を算出及び記憶する手段は、図１及び図２の処理ブロック内に存在した。第３の実施形態では、次の処理対象ブロックライン（又はブロック）の元画像の最上位ラインと、解像度変換処理後の最上位ラインとのＹ座標のオフセット（最上位ラインのＹ座標の端数）の算出及び記憶する手段を図１及び図２の処理ブロック外に設ける。以下、本実施形態が第１及び第２の実施形態と異なる点を説明する。
【００８８】
図８は、本発明の第３の実施形態による画像処理装置の構成例を示すブロック図である。図８の画像処理装置は、図１の画像処理装置に対して、外部メモリ８００９を追加したものである。ＣＰＵ１００８は、データを入力するための外部ポートを有し、その外部ポートを介して、外部メモリ（外部ストレージ手段）８００９に接続される。画像処理装置の外部装置は、図３及び図７に示すような解像度変換処理後の座標等の情報を算出し、外部メモリ８００９に書き込む。ＣＰＵ１００８は、外部メモリ８００９から解像度変換処理後の座標等の情報を読み出す。
【００８９】
図９は、本発明の第３の実施形態による他の画像処理装置の構成例を示すブロック図である。図９の画像処理装置は、図１の画像処理装置に対して、外部メモリ９００９を追加したものである。解像度変換器１００２は、データを入力するための外部ポートを有し、その外部ポートを介して、外部メモリ（外部ストレージ手段）９００９に接続される。画像処理装置の外部装置は、図３及び図７に示すような解像度変換処理後の座標等の情報を算出し、外部メモリ９００９に書き込む。解像度変換器１００２は、外部メモリ９００９から解像度変換処理後の座標等の情報を読み出す。
【００９０】
図１０は、本発明の第３の実施形態による他の画像処理装置の構成例を示すブロック図である。図１０の画像処理装置は、図２の画像処理装置に対して、外部メモリ１００１０を追加したものである。ＣＰＵ２００９は、データを入力するための外部ポートを有し、その外部ポートを介して、外部メモリ（外部ストレージ手段）１００１０に接続される。画像処理装置の外部装置は、図３及び図７に示すような解像度変換処理後の座標等の情報を算出し、外部メモリ１００１０に書き込む。ＣＰＵ２００９は、外部メモリ１００１０から解像度変換処理後の座標等の情報を読み出す。
【００９１】
図１１は、本発明の第３の実施形態による他の画像処理装置の構成例を示すブロック図である。図１１の画像処理装置は、図２の画像処理装置に対して、外部メモリ１１０１０を追加したものである。解像度変換器２００３は、データを入力するための外部ポートを有し、その外部ポートを介して、外部メモリ（外部ストレージ手段）１１０１０に接続される。画像処理装置の外部装置は、図３及び図７に示すような解像度変換処理後の座標等の情報を算出し、外部メモリ１１０１０に書き込む。解像度変換器２００３は、外部メモリ１１０１０から解像度変換処理後の座標等の情報を読み出す。
【００９２】
ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３は、外部メモリ８００９，９００９，１００１０，１１０１０から、元画像のサイズ（縦、横の画素数と画素間隔）、変倍（拡大、縮小）率情報を取得可能である。ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３は、元画像のサイズ及び変倍率を取得済みとして、以下説明する。
【００９３】
本実施形態では、第１及び第２の実施形態で説明した次の処理対象ブロックラインの最上位ライン、又は最終ラインのＹ座標の端数の算出に必要となる同一コアが直前に処理したブロックラインの最上位ライン、最終ラインのＹ座標の端数を外部メモリに記憶する。図１０及び図１１では、ブロックライン１からブロックライン３に処理対象が切り替わる場合、ブロックライン１の処理中に算出、又は取得したブロックライン１の最上位ライン、又は最終ラインのＹ座標の端数を外部メモリ１００１０，１１０１０に記憶する。処理対象ブロックラインが切り替わる際に、ＣＰＵ２００９等の制御により、外部メモリ１００１０，１１０１０から最上位ライン、又は最終ラインのＹ座標の端数を読み出す。そして、第１及び第２の実施形態と同様に、処理対象ブロックラインの最上位ラインのＹ座標の端数を算出する。その他の処理は、第１及び第２の実施形態で説明した処理と同様である。
【００９４】
（第４の実施形態）
第１及び第２の実施形態では、次の解像度変換処理対象ブロックラインの元画像の最上位ラインと、解像度変換処理後の最上位ラインのＹ座標の端数Ｃ０，Ｃ１等を演算し、記憶する処理装置は、図１及び図２の処理ブロック内に存在した。
【００９５】
第４の実施形態では、図１４に示すように、解像度変換処理後の各ブロックラインの最上位ラインのＹ座標の端数Ｃ０，Ｃ１等を記憶する解像度変換テーブル１４００２と、解像度変換テーブル１４００２の先頭アドレスを記憶するレジスタ１４００１を設ける。図１４の解像度変換テーブル１４００２は、解像度変換テーブルの一例である。
【００９６】
解像度変換テーブル１４００２に記憶されている値は、各ブロックラインの最終ラインのＹ座標ｄ０，ｄ１等、又は、最上位ラインのＹ座標の端数と最終ラインのＹ座標の端数の両方であってもよい。
【００９７】
解像度変換テーブル１４００２は、各ブロックラインの最上位ラインの解像度変換処理後のＹ座標を記憶する。レジスタ１４００１は、解像度変換テーブル１４００２の先頭アドレスを記憶する。
【００９８】
図１２は、本発明の第４の実施形態による画像処理装置の構成例を示すブロック図である。図１２の画像処理装置は、図１の画像処理装置に対して、レジスタ１２００９及び外部メモリ１２０１０を追加したものである。レジスタ１２００９及び外部メモリ１２０１０は、解像度変換器１００２に接続されている。レジスタ１２００９は、図１４のレジスタ１４００１に対応する。外部メモリ１２０１０は、図１４の解像度変換テーブル１４００２を記憶する。
【００９９】
図１３は、本発明の第４の実施形態による他の画像処理装置の構成例を示すブロック図である。図１３の画像処理装置は、図２の画像処理装置に対して、レジスタ１３０１１及び外部メモリ１３０１２を追加したものである。レジスタ１３０１１及び外部メモリ１３０１２は、解像度変換器２００３に接続されている。レジスタ１３０１１は、図１４のレジスタ１４００１に対応する。外部メモリ１３０１２は、図１４の解像度変換テーブル１４００２を記憶する。
【０１００】
解像度変換テーブル１４００２は、元画像サイズと変倍率の組に対応するＹ座標を記憶している。なお、各ブロックラインの最上位ラインの解像度変換処理後のＹ座標テーブルは、解像度変換テーブル１４００２の代わりに、解像度変換処理後の画素のＹ座標、画素値にＸ座標を併記した図７に示すようなテーブルとしてもよい。画素値ｏ（Ｘ，Ｙ）は、座標（Ｘ，Ｙ）に位置する画素の画素値である。
【０１０１】
ＣＰＵ１００８又は２００９は、元画像サイズと変倍率に対応するレジスタアドレス（例：図１４のＡｄｄｒｅｓｓ  Ｐ）を算出し、又は任意のテーブルを参照する等の方法で取得する。ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３は、レジスタ１４００１のアドレス（例：Ａｄｄｒｅｓｓ  Ｐ）の内容（例：Ａｄｄｒｅｓｓ  ０）を読み出す。
【０１０２】
ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３は、解像度変換テーブル１４００２から、先頭アドレス（Ａｄｄｒｅｓｓ  ０）に記憶されている元画像サイズ（Ｘ，Ｙ）、変倍率ｈに対応する解像度変換テーブル（Ｄａｔａ００００〜）を読み出す。先頭アドレス（Ａｄｄｒｅｓｓ  ０）の内容（Ｄａｔａ  ００００）を読み出した後、続く内容（Ｄａｔａ  ０００１，Ｄａｔａ  ０００２）を読み出す。
【０１０３】
Ｄａｔａ  ００００，Ｄａｔａ  ０００１，Ｄａｔａ０００２，・・・の内容は、図７に示すように、元画像サイズ（Ｘ，Ｙ）と変倍率ｈの組合せに対応する解像度変換処理後の画素の座標情報であってもよい。
【０１０４】
解像度変換テーブル１４００２のアクセス方法は、図１４に示すように、任意の元画像サイズ（Ｘ，Ｙ）と変倍率ｈの組合せに対応する解像度変換テーブルの先頭アドレスを記憶したレジスタ１４００１を介してアクセスする方法であれば、その構成は問わない。
【０１０５】
図１５及び図１６は、元画像サイズと変倍率の組合せと、解像度変換テーブル１４００２の先頭アドレスを格納したレジスタ１４００１のアドレスとの関係を示す。図１５は、元画像のＸ座標サイズ、Ｙ座標サイズと、変倍率を各４バイトで示す。図１６は、元画像のＸ座標サイズ、Ｙ座標サイズと、変倍率を各８バイトで示す。その他の表現方法でもよい。
【０１０６】
本実施形態では、ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３が元画像サイズ（Ｘ，Ｙ）及び変倍率ｈの値を取得するものとして説明したが、ＣＰＵ１００８，２００９の制御により、任意の専用手段を設けて、情報を取得してもよい。
【０１０７】
本実施形態では、レジスタ１４００１を介して、解像度変換テーブル１４００２が記憶された外部メモリ１２０１０，１３０１２の先頭アドレスを取得するという間接アドレッシングを用いる。これにより、解像度変換テーブル１４００２を外部メモリ１２０１０，１３０１２から読み出すことができる。
【０１０８】
ＣＰＵ１００８，２００９又は解像度変換器１００２，２００３は、読み出した解像度変換テーブル（解像度変換処理後の各画素の座標）１４００２を取得して、解像度変換処理後の各画素の値を算出する。解像度変換処理後の各画素の画素値の演算は、第１及び第２の実施形態と同様である。
【０１０９】
（第５の実施形態）
本発明の第５の実施形態では、第２の実施形態で説明した複数コアによる処理において、第２の実施形態の処理順序とは異なる順序で処理を実施する。以下、図２、図３及び図１７を用いて、本実施形態を説明する。
【０１１０】
本実施形態は、図２と同じく、処理コア数ｑが２である。図１７に示すように、各コアは、連続した２ブロックライン単位で処理する点が、第２の実施形態と異なる。例えば、第１のコア２００３−１，２００４−１はブロックライン１及び２を処理し、第２のコア２００３−２，２００４−２はブロックライン３及び４を処理する。第１のコア２００３−１及び第２のコア２００３−２は、それぞれ、連続する複数のブロックラインを解像度変換する。
【０１１１】
第１のコア２００３−１の最初の処理対象であるブロックライン１の元画像と解像度変換処理後の最上位ライン間のオフセットＣ０は、第１及び第２の実施形態と同様にして、算出又は取得する。第１のコア２００３−１は、オフセットＣ０を用いて、第１の実施形態と同様に、ブロックライン１の各ラインのＹ座標（Ｃ０，Ｃ０＋Ｈ，Ｃ０＋２×Ｈ，Ｃ０＋３×Ｈ）を算出する。
【０１１２】
第１のコア２００３−１は、ブロックライン１の処理に於いて、次の処理対象であるブロックライン２の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ１＝｛（Ｃ０＋４×Ｈ）の小数部｝を算出する。なお、ブロックライン２の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ１は、ブロックライン１の解像度変換処理後の最終ラインのＹ座標ｄ０を用いて、｛（ｄ０＋Ｈ）の小数部｝として算出してもよい。第１のコア２００３−１は、算出したブロックライン２の最上位ラインのＹ座標の端数Ｃ１を用いて、ブロックライン２の各ラインの解像度変換処理後のＹ座標（Ｃ１，Ｃ１＋Ｈ，Ｃ１＋２×Ｈ，Ｃ１＋３×Ｈ）を算出する。
【０１１３】
第２のコア２００３−２の最初の処理対象であるブロックライン３の元画像と、解像度変換処理後の最上位ライン間のオフセットＣ２は、ブロックライン２の最上位ラインのＹ座標の端数Ｃ１を用いて、｛（Ｃ１＋４×Ｈ）の小数部｝として算出される。オフセットＣ２は、ＣＰＵ２００９又は任意の演算装置により算出される。なお、第２のコア２００３−２は、第１のコア２００３−１からブロックライン２の解像度変換処理後の最終ラインのＹ座標ｄ１を取得可能であれば、Ｃ２の値をＣ２＝｛（ｄ１＋Ｈ）の小数部｝として算出してもよい。第２のコア２００３−２は、算出したＣ２の値を用いて、ブロックライン３の解像度変換処理後の各ラインのＹ座標（Ｃ２，Ｃ２＋Ｈ，Ｃ２＋２×Ｈ，Ｃ２＋３×Ｈ）を算出する。
【０１１４】
第２のコア２００３−２は、ブロックライン３の処理に於いて、次の処理対象であるブロックライン４の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ３＝｛（Ｃ２＋４×Ｈ）の小数部｝を算出する。なお、ブロックライン４の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ３は、ブロックライン３の解像度変換処理後の最終ラインのＹ座標ｄ２を用いて、｛（ｄ２＋Ｈ）の小数部｝として算出してもよい。第２のコア２００３−２は、算出したブロックライン４の最上位ラインのＹ座標の端数Ｃ３を用いて、ブロックライン４の各ラインの解像度変換処理後のＹ座標（Ｃ３，Ｃ３＋Ｈ，Ｃ３＋２×Ｈ，Ｃ３＋３×Ｈ）を算出する。
【０１１５】
第１のコア２００３−１は、ブロックライン２を処理中に、次の処理対象であるブロックライン５の最上位ラインのＹ座標の端数Ｃ４＝｛（Ｃ０＋１６×Ｈ）の小数部｝＝｛（Ｃ１＋１２×Ｈ）の小数部｝を算出する。端数Ｃ４の値は、第２のコア２００３−２が算出したブロックライン４の最上位ラインのＹ座標の端数Ｃ３の値を用いて、Ｃ４＝｛（Ｃ３＋４×Ｈ）の小数部｝として算出してもよい。また、端数Ｃ４の値は、ブロックライン４の解像度変換処理後の最終ラインのＹ座標ｄ３が算出済みであれば、Ｃ４＝｛（ｄ３＋Ｈ）の小数部｝として算出してもよい。第１のコア２００３−１は、算出したＣ４の値を用いて、ブロックライン５の解像度変換処理後の各ラインのＹ座標（Ｃ４，Ｃ４＋Ｈ，Ｃ４＋２×Ｈ，Ｃ４＋３×Ｈ）を算出する。
【０１１６】
第１のコア２００３−１は、ブロックライン５の処理に於いて、次の処理対象であるブロックライン６の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ５＝｛（Ｃ４＋４×Ｈ）の小数部｝を算出する。なお、ブロックライン６の解像度変換処理後の最上位ラインのＹ座標の端数Ｃ５は、ブロックライン５の解像度変換処理後の最終ラインのＹ座標ｄ４を用いて、｛（ｄ４＋Ｈ）の小数部｝として算出してもよい。第１のコア２００３−１は、算出したブロックライン６の最上位ラインのＹ座標の端数Ｃ５を用いて、ブロックライン６の各ラインの解像度変換処理後のＹ座標（Ｃ５，Ｃ５＋Ｈ，Ｃ５＋２×Ｈ，Ｃ５＋３×Ｈ）を算出する。
【０１１７】
ブロックライン７，８は、ブロックライン３，４と同様に第２のコア２００３−２が処理し、ブロックライン９，１０は、ブロックライン５，６と同様に第１のコア２００３−１が処理する。
【０１１８】
以下、同様に、ブロックライン２×Ｋ−１とブロックライン２×Ｋの処理は、第１のコア２００３−１がブロックライン１，２の処理と同様に実施する（Ｋ：１，２，３，４・・・）。また、ブロックライン２×Ｋ＋１とブロックライン２×Ｋ＋２の処理は、第２のコア２００３−２がブロックライン３，４の処理と同様に実施する。前述のようにして求めた解像度変換処理後の画素位置（座標）の画素値は、第１及び第２の実施形態と同様に、バイリニア補間法（フィルタ）を用いて算出される。
【０１１９】
本実施形態では、図１７のような処理順序の場合について説明したが、処理順序がどのように変わっても、現在処理中のブロックラインから次の処理対象ブロックラインの先頭ラインのＹ座標を算出することは可能である。各実施形態で説明した通り、最上位ブロックラインの最上位ラインのＹ座標の端数をＣ０とすると、次の処理対象であるブロックラインｉの解像度変換処理後の最上位ラインのＹ座標の端数は、｛（Ｃ０＋４×（ｉ−１）×Ｈ）の小数部｝として算出すればよい。
【０１２０】
本実施形態では、第１〜第４の実施形態と同様に、解像度変換処理後の出力画像サイズを２画素×４ラインとしたので、後述のｇを４に設定する。Ｈは解像度変換処理後のＹ方向の画素間距離（バイリニア補間法に於けるサンプリング距離）である。
【０１２１】
現在ブロックラインｉを処理中であり、次にブロックラインｋを処理する場合、ブロックラインｋの解像度変換処理後の最上位ラインのＹ座標の端数Ｃ（ｋ−１）は、｛（Ｃ（ｉ−１）＋ｇ×［ｋ−ｉ］×Ｈ）｝の小数部として算出される。ここで、［ｋ−ｉ］は、コアが処理するブロックラインが不連続である場合に於ける現在処理中のブロックラインｉから次の処理対象ブロックラインｋまでのブロックライン単位の間隔を表し、第２の実施形態であれば、［ｋ−ｉ］＝２（一定）となる。
【０１２２】
現在処理中のブロックラインｉから次の処理対象ブロックラインｋまでの間隔に係わらず、次の処理対象ブロックラインの解像度変換処理後の最上位ラインのＹ座標の端数Ｃ（ｋ−１）は、｛（Ｃ（ｉ−１）＋ｇ×［ｋ−ｉ］×Ｈ）の小数部｝として算出される。
【０１２３】
また、次の処理対象ブロックラインｋの直上のブロックラインｋ−１の解像度変換処理後の最上位ラインのＹ座標Ｃ（ｋ−２）又は最終ラインのＹ座標ｄ（ｋ−２）を用いる場合を説明する。その場合、端数Ｃ（ｋ−１）は、（Ｃ（ｋ−２）＋ｇ×Ｈ）の少数部又は（ｄ（ｋ−２）＋Ｈ）の小数部として算出することができる。
【０１２４】
以上説明したように、マルチコア処理で、各コアが処理するブロックラインの順序に演算上の制約はないが、極端に不規則な処理順序は、遅延や制御の複雑化に繋がる可能性がある。
【０１２５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２６】
１００１，１００４  ＤＭＡＣ、１００２  解像度変換器、１００３  エンコーダ、１００６  ＲＯＭ、１００７  ＲＡＭ、１００８  ＣＰＵ
【図１】
2016081296.tif 000003
【図２】
2016081296.tif 000004
【図３】
2016081296.tif 000005
【図４】
2016081296.tif 000006
【図５】
2016081296.tif 000007
【図６】
2016081296.tif 000008
【図７】
2016081296.tif 000009
【図８】
2016081296.tif 000010
【図９】
2016081296.tif 000011
【図１０】
2016081296.tif 000012
【図１１】
2016081296.tif 000013
【図１２】
2016081296.tif 000014
【図１３】
2016081296.tif 000015
【図１４】
2016081296.tif 000016
【図１５】
2016081296.tif 000017
【図１６】
2016081296.tif 000018
【図１７】
2016081296.tif 000019