(57)【要約】【課題】  画像データに重畳データを重畳する際の回路規模と処理負荷の増大を抑制する。【解決手段】  経路制御部３００は、圧縮コア３７０、３７１の何れか一方のみからデータ要求信号を受信した場合には、受信したデータ要求信号に対応する系統１又は２を選択する。経路制御部３００は、圧縮コア３７０、３７１の双方からデータ要求信号を受信した場合であって、系統１、２での処理対象のＣＴＵの差が２ブロック以内である場合には、系統１を選択し、そうでない場合には、系統２を選択する。そして、経路制御部３００は、選択した系統１又は２に対応するカウンタ３０３０又は３０３１をインクリメントし、系統１、２の選択回数を記憶する。【選択図】  図３
2016019089.tif 000002
【特許請求の範囲】
【請求項１】
画像データを複数のブロックに分割することにより得られるそれぞれのブロックデータを、複数の系統のうちの何れか１つの系統に入力する入力手段と、
前記複数の系統のうちの１つの系統を選択する系統選択手段と、
前記系統選択手段により選択された前記系統に入力されたブロックデータに重畳する重畳データを当該系統に属する重畳データとしてバッファリングする重畳データバッファ手段と、
前記系統選択手段により選択された前記系統に入力された前記ブロックデータに対応する前記重畳データを、前記重畳データバッファ手段によりバッファリングされた前記重畳データから選択する重畳データ選択手段と、
前記系統選択手段により選択された前記系統に入力された前記ブロックデータに、前記重畳データ選択手段により選択された前記重畳データを重畳したデータを、当該系統に属する重畳後データとして生成する重畳手段と、
前記重畳後データを、前記系統選択手段により選択された前記系統に属する重畳後データとして出力する出力手段と、
前記重畳後データを、当該重畳後データが属する前記系統とは異なる前記系統に属する前記重畳後データを参照して圧縮することを前記複数の系統ごとに個別に行う圧縮手段と、を有し、
前記出力手段による出力が要求された前記重畳後データが属する系統に基づいて、前記系統選択手段による前記系統の選択と、前記重畳データ選択手段による前記重畳データの選択とを行うことを特徴とする画像処理装置。
【請求項２】
前記重畳データバッファ手段は、前記系統に属する前記重畳データの記憶領域が解放されると、当該系統とは異なる予め定められた系統に属する前記重畳データを当該記憶領域に記憶し、
前記重畳データ選択手段は、前記系統選択手段により選択された系統と、前記複数の系統のそれぞれにおける前記系統選択手段による選択の回数と、に基づいて、前記重畳データバッファ手段によりバッファリングされた前記重畳データを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記系統選択手段は、異なる２以上の系統に属する前記重畳後データの出力の要求があると、当該異なる２以上の系統の一の系統に属する前記重畳後データの当該一の系統における処理順と、当該異なる２以上の系統の他の系統に属する前記重畳後データの当該他の系統における処理順との差を判定し、
前記判定の結果、前記処理順の差が、予め設定された値を上回る場合には、前記一の系統に属する前記重畳後データと、前記他の系統に属する前記重畳後データとのうち、前記系統における処理順が遅い方の前記重畳後データが属する系統を選択し、前記処理順の差が、予め設定された値を下回る場合には、前記一の系統に属する前記重畳後データと、前記他の系統に属する前記重畳後データとのうち、前記系統における処理順が速い方の前記重畳後データが属する系統を選択することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記系統選択手段は、異なる２以上の系統に属する前記重畳後データの出力の要求があると、前記複数の系統のそれぞれにおける前記系統選択手段による選択の回数に基づいて、当該異なる２以上の系統の一の系統に属する前記重畳後データの当該一の系統における処理順と、当該異なる２以上の系統の他の系統に属する前記重畳後データの当該他の系統における処理順との差を判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記系統選択手段は、前記処理順の差が、予め設定された値である場合には、前記一の系統に属する前記重畳後データと、前記他の系統に属する前記重畳後データとのうち、前記系統における処理順が速い方の前記重畳後データが属する系統を選択することを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記予め設定された値は、２であることを特徴とする請求項３〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記ブロックデータは、ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）の単位で分割されることを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
画像データを複数のブロックに分割することにより得られるそれぞれのブロックデータを、複数の系統のうちの何れか１つの系統に入力する入力工程と、
前記複数の系統のうちの１つの系統を選択する系統選択工程と、
前記系統選択工程により選択された前記系統に入力されたブロックデータに重畳する重畳データを当該系統に属する重畳データとしてバッファリングする重畳データバッファ工程と、
前記系統選択工程により選択された前記系統に入力された前記ブロックデータに対応する前記重畳データを、前記重畳データバッファ工程によりバッファリングされた前記重畳データから選択する重畳データ選択工程と、
前記系統選択工程により選択された前記系統に入力された前記ブロックデータに、前記重畳データ選択工程により選択された前記重畳データを重畳したデータを、当該系統に属する重畳後データとして生成する重畳工程と、
前記重畳後データを、前記系統選択工程により選択された前記系統に属する重畳後データとして出力する出力工程と、
前記重畳後データを、当該重畳後データが属する前記系統とは異なる前記系統に属する前記重畳後データを参照して圧縮することを前記複数の系統ごとに個別に行う圧縮工程と、を有し、
前記出力工程による出力が要求された前記重畳後データが属する系統に基づいて、前記系統選択工程による前記系統の選択と、前記重畳データ選択工程による前記重畳データの選択とを行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、特に、画像データにデータを重畳するために用いて好適なものである。
【背景技術】
【０００２】
動画像の圧縮記録に用いられる符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている（非特許文献１を参照）。
近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。ＪＣＴ−ＶＣでは、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣと称する）の標準化がなされた（非特許文献２を参照）。
【０００３】
ＨＥＶＣの標準化にあたっては、種々の符号化処理の手法が、符号化効率の向上のみならず、実装の容易化や処理時間の短縮化を含む観点から、幅広く採用された。処理時間の短縮化の観点では、マルチコアのプロセッサや複数のハードウェア等で動作させる事を想定した、並列性を高めるための符号化処理の手法が採用されている。その手法の一つに、コンテキスト適応型算術符号化処理（以下、ＣＡＢＡＣと称する）を並列に処理するためのＷＰＰ（Ｗａｖｅｆｒｏｎｔ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇ）と呼ばれる手法や、Ｔｉｌｅと呼ばれる手法がある。
【０００４】
ＨＥＶＣでは、ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）と呼ばれる所定のサイズのブロックを単位として符号化を行う。ＷＰＰでは、縦の長さ（高さ）を１個のＣＴＵとする横長の矩形（以下、ＣＴＵラインと称する）にピクチャを区切って符号化を行う。一方、Ｔｉｌｅでは、縦と横の長さがそれぞれ複数のＣＴＵから成る矩形（以下、タイルと称する）にピクチャを区切って符号化を行う。いずれの手法においても、各矩形（ＣＴＵラインあるいはタイル）を並列に処理することができる。尚、ＣＴＵラインの横の長さを、動画像データの横の長さと一致させることができる。
【０００５】
一方、圧縮前の動画像データに、画像データや文字データ等のデータ（以下、重畳データと称する）を重畳し、重畳データを重畳した動画像データを圧縮する構成が必要となることがある（特許文献１を参照）。
したがって、前述したＨＥＶＣで並列処理を行う際にも、重畳データを重畳した後に画像データの圧縮を行うという構成を採用することが考えられる。この場合、複数の系統に並列に入力する画像データの各々に対して、重畳データを重畳するモジュールを並列に配置し、各々の系統を別々に制御する構成を採用することが考えられる。この際、画像データ及び重畳データを、データ重畳モジュールに入力するために、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）等のデータ転送用のコントローラを複数の系統の各々に用意する構成となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１９６４０４号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４  （０３／２０１０）  Ａｄｖａｎｃｅｄｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６５  （０４／２０１３）  Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、複数のデータ重畳モジュールのそれぞれに、画像データを入力するためのＤＭＡＣと、重畳データを入力するためのＤＭＡＣとを使用する構成では、回路量が増加する。さらに、画像データや重畳データの複数の系統への振り分けの処理や、ＤＭＡＣの処理の終了を確認するための処理等のため、ＤＭＡＣを制御するプロセッサ等の処理負荷が大きくなる。
そこで、本発明は、画像データに重畳データを重畳する際の回路規模と処理負荷の増大を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、画像データを複数のブロックに分割することにより得られるそれぞれのブロックデータを、複数の系統のうちの何れか１つの系統に入力する入力手段と、前記複数の系統のうちの１つの系統を選択する系統選択手段と、前記系統選択手段により選択された前記系統に入力されたブロックデータに重畳する重畳データを当該系統に属する重畳データとしてバッファリングする重畳データバッファ手段と、前記系統選択手段により選択された前記系統に入力された前記ブロックデータに対応する前記重畳データを、前記重畳データバッファ手段によりバッファリングされた前記重畳データから選択する重畳データ選択手段と、前記系統選択手段により選択された前記系統に入力された前記ブロックデータに、前記重畳データ選択手段により選択された前記重畳データを重畳したデータを、当該系統に属する重畳後データとして生成する重畳手段と、前記重畳後データを、前記系統選択手段により選択された前記系統に属する重畳後データとして出力する出力手段と、前記重畳後データを、当該重畳後データが属する前記系統とは異なる前記系統に属する前記重畳後データを参照して圧縮することを前記複数の系統ごとに個別に行う圧縮手段と、を有し、前記出力手段による出力が要求された前記重畳後データが属する系統に基づいて、前記系統選択手段による前記系統の選択と、前記重畳データ選択手段による前記重畳データの選択とを行うことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像データに重畳データを重畳する際の回路規模と処理負荷の増大を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の構成を示す図である。
【図２】ＷＰＰを用いた画像処理を概念的に説明する図である。
【図３】重畳部の構成の第１の例を示す図である。
【図４】重畳データの保持状態の第１の例を概念的に示す図である。
【図５】系統選択部の処理の第１の例を説明するフローチャートである。
【図６】重畳部の構成の第２の例を示す図である。
【図７】重畳データの保持状態の第２の例を概念的に示す図である。
【図８】系統選択部の処理の第２の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、本発明の一実施形態を説明する。
（第１の実施形態）
まず、第１の実施形態を説明する。
本実施形態の画像処理装置は、入力した画像データに重畳データを重畳した後、ＨＥＶＣの規格で定義されているＷＰＰ手法を用いて２並列で圧縮処理を行う。重畳データは、例えば、文字データと画像データとの少なくとも何れか一方を含む。
【００１３】
図１は、画像処理装置１０のハードウェアの構成の一例を示す図である。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００は、画像処理装置１０全体の制御を行う。ＣＰＵ１００は、制御プログラムの置かれているプログラムＲＯＭ１０１、ＣＰＵ１００が処理を行う際のワークエリアとして使用されるワークＲＡＭ１０２、及び画像データや制御情報をやり取りするバス１０３と相互に接続される。
画像入力部１１０は、画像処理装置１０の外部から画像データを入力する。画像入力部１１０に入力された画像データは、データＲＡＭ１２０の原画像データ領域１２１に格納される。
【００１４】
重畳部１３０は、画像入力部１１０から原画像データ領域１２１に取り込まれた画像データに対し、データＲＡＭ１２０内の重畳データ領域１２２に記憶されている重畳データを重畳する。重畳データは、例えば、画像データと文字データとの少なくとも何れか一方を含む。原画像データ領域１２１に記憶されている画像データは、１ＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）ラインごとに分割され、複数のブロックのブロックデータに分けられる。各ブロックデータは、１ＣＴＵラインごとに、後述するＷＰＰ（Ｗａｖｅｆｒｏｎｔ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇ）に対応して２系統の何れかに割り当てられる。各ブロックデータは、画像入力ＤＭＡ１４０又は１４１を介して重畳部１３０に入力される。画像入力ＤＭＡ１４０、１４１は、画像データを転送するＤＭＡコントローラ（ＤＭＡＣ）であり、それぞれ、系統１、２に対応するＤＭＡコントローラである。以下の説明では、重畳データが重畳された画像データを必要に応じて重畳後画像データと称する。
【００１５】
重畳データ領域１２２に記憶されている重畳データは、重畳データ入力ＤＭＡ１５０を介して重畳部１３０に入力される。重畳データ入力ＤＭＡ１５０は、重畳データを転送するＤＭＡコントローラ（ＤＭＡＣ）である。画像入力ＤＭＡ１４０、１４１から入力された画像データに、重畳データ入力ＤＭＡ１５０から入力された重畳データを重畳部１３０で重畳した結果は、入力と同様の２系統に分けられて後段の圧縮部１６０に送られる。
【００１６】
圧縮部１６０は、重畳部１３０から２系統で入力される重畳後画像データを、ＨＥＶＣ規格で定義されているＷＰＰにより並列処理する。圧縮部１６０で並列処理された結果は、画像出力ＤＭＡ１７０、１７１を介して、データＲＡＭ１２０内の圧縮画像データ領域１２３に記憶される。画像出力ＤＭＡ１７０、１７１は、圧縮部１６０で圧縮された重畳後画像データを転送するＤＭＡコントローラ（ＤＭＡＣ）である。以下の説明では、圧縮部１６０で圧縮された重畳後画像データを必要に応じて圧縮後画像データと称する。
【００１７】
図２は、ＷＰＰを用いた画像処理の一例を概念的に説明する図である。
図２の各々の四角形は、符号化を行う際の所定サイズの単位ブロックであり、ＣＴＵと呼ばれるものである。ＷＰＰでは、ＣＴＵラインと呼ばれる単位に、ピクチャ（画像データ）を区切って符号化を行う。ＣＴＵラインは、縦方向の長さ（高さ）がＣＴＵ１個の長さである横長の矩形の領域である。
【００１８】
本実施形態では、２系統で画像データの並列処理を行う。したがって、本実施形態では、図２に示すように、上から１、３、５、・・・番目（奇数番目）のＣＴＵラインのデータを系統１で処理し、２、４、６、・・・番目（偶数番目）のＣＴＵラインのデータを系統２で処理する。図２において、ＣＴＵ２００に対応するデータを系統２で圧縮する際には、直前のＣＴＵ２１０以外に、１つ上のＣＴＵラインに属するＣＴＵ２１１、２１２、２１３の圧縮後のデータを参照する必要がある。この為、系統２でＣＴＵ２００を処理するまでに、系統１ではＣＴＵ２１３のデータの処理まで終了している必要がある。つまり、ＷＰＰでは、或るＣＴＵラインよりも１つ上のＣＴＵラインにおける処理対象のＣＴＵは、系統ごとの処理順で見た場合、当該或るＣＴＵラインにおける処理対象のＣＴＵよりも少なくとも２つのＣＴＵ分先行する。
【００１９】
図３は、重畳部１３０の詳細なハードウェアの構成の一例を、重畳部１３０の入力側及び出力側の部分と共に示す図である。
重畳部１３０への入力は、前述した通り、画像入力ＤＭＡ１４０、１４１から出力される画像データと、重畳データ入力ＤＭＡ１５０から出力される重畳データである。
重畳部１３０からの出力は、２系統あり、それぞれの系統は圧縮部１６０に接続される。系統１、２に出力された重畳後画像データは、それぞれ、圧縮部１６０内部の圧縮コア３７０、３７１で個別に並列処理される。また、圧縮コア３７０、３７１は、処理状況に応じた、未圧縮の重畳後画像データの取得が必要なタイミングで、未処理の重畳後画像データの取得を要求することを示すデータ要求信号を重畳部１３０に出力する。例えば、圧縮コア３７０、３７１は、自身で処理（圧縮）を行う重畳後画像データがなくなった後に、未処理の重畳後画像データの取得を要求することを示すデータ要求信号を重畳部１３０に出力する。
【００２０】
以下、重畳部１３０内部の構成の一例について説明する。
経路制御部３００は、重畳部１３０の内部のデータ経路を制御する。経路制御部３００は、アドレス生成部３０１０、系統選択部３０２０、及びカウンタ３０３０、３０３１を含む。
系統選択部３０２０は、前述した圧縮コア３７０、３７１から出力されるデータ要求信号を入力する。系統選択部３０２０は、後述する図５のフローチャート（アルゴリズム）に従って、２系統のうちの何れか１つの系統を、選択対象の系統として示す系統選択信号を生成する。系統選択部３０２０は、選択対象の系統が系統１である場合にカウンタ３０３０のカウント値を「１」カウントアップさせることにより系統１の選択回数をカウントする。また、系統選択部３０２０は、選択対象の系統が系統１である場合にカウンタ３０３１のカウント値を「１」カウントアップさせることにより系統２の選択回数をカウントする。
【００２１】
アドレス生成部３０１０は、重畳データ選択処理を行う。具体的に本実施形態では、アドレス生成部３０１０は、まず、系統選択部３０２０から出力される系統選択信号に基づいて、系統１、２のうちの何れの系統の、何れのＣＴＵが選択対象であるかを判定する。そして、アドレス生成部３０１０は、判定したＣＴＵに対応する重畳データが記憶されている重畳データバッファ３１０のアドレスを、カウンタ３０３０、３０３１の計数値から特定し、特定したアドレスを示すアドレス信号を生成する。
【００２２】
重畳データバッファ３１０は、重畳データ入力ＤＭＡ１５０から入力された重畳データを、最大で１ＣＴＵライン相当分バッファリングする。重畳データバッファ３１０にバッファリングされた重畳データのうち、アドレス生成部３０１０で生成されたアドレス信号に示されるアドレスの重畳データが取り出される。
【００２３】
入力バッファ３２０、３２１は、それぞれ、画像入力ＤＭＡ１４０、１４１から入力された画像データを、１ＣＴＵ分バッファリングする。
入力画像選択部３３０は、系統選択部３０２０から出力される系統選択信号に従って、系統１が選択対象である場合には、入力バッファ３２０を選択し、系統２が選択対象である場合には、入力バッファ３２１を選択する。入力バッファ３２０、３２１でバッファリングされた画像データのうち、入力画像選択部３３０で選択された入力バッファ３２０又は３２１でバッファリングされた画像データが画像重畳部３４０に出力される。
【００２４】
画像重畳部３４０では、入力画像選択部３３０で選択された画像データに対し、アドレス生成部３０１０で生成されたアドレス信号に従って重畳データバッファ３１０から取り出された重畳データを重畳する（重畳後画像データを生成する）。
出力バッファ選択部３５０は、系統選択部３０２０から出力される系統選択信号に従って、系統１が選択対象である場合には、出力バッファ３６０を選択し、系統２が選択対象である場合には、出力バッファ３６１を選択する。
【００２５】
画像重畳部３４０で生成された重畳後画像データは、出力バッファ選択部３５０で振り分けられ、出力バッファ３６０又は３６１へ出力される。
出力バッファ３６０、３６１の出力は、それぞれ、圧縮部１６０の圧縮コア３７０、３７１へ接続される。
【００２６】
図４は、重畳データバッファ３１０内の重畳データの保持状態の一例を概念的に示す図である。
図４の例では、処理される画像データの横方向の長さ（幅）がＣＴＵ１０個分である場合を示す。また、図４の例では、上から下に向かって（タイミングｔａ、ｔｂ、ｔｃ、・・・の順に）時間が進むものとする。
まず、タイミングｔａでは、１番目のＣＴＵラインの画像データに重畳される１０ＣＴＵ分の重畳データが重畳データバッファ３１０に格納される。
【００２７】
次に、タイミングｔｂでは、画像重畳部３４０において１番目のＣＴＵラインの画像データの最初の１ＣＴＵ分に対して「１」の重畳データが重畳されることにより、「１」の重畳データが解放される。図４の例では、「１」の重畳データが解放される前に、タイミングｔａのように１ＣＴＵライン分の重畳データが取り込まれる。しかしながら、このようにするのは、あくまでも一例に過ぎない。実際には、「１」の重畳データが解放される前に取り込まれる重畳データは、画像重畳部３４０と重畳データ入力ＤＭＡ１５０のスループット次第で変動する。すなわち、「１」の重畳データが解放される前に、１ＣＴＵライン分の全ての重畳データが取り込まれていなくてもよい。このことは、以降の説明でも同様とする。
【００２８】
次に、タイミングｔｃでは、重畳データバッファ３１０の、「１」の重畳データが記憶されていた位置（アドレス）に、２番目のＣＴＵラインの先頭のＣＴＵに相当する「１１」の重畳データが取り込まれる。
次に、タイミングｔｄでは、「２」の重畳データが解放され、タイミングｔｅで「１２」の重畳データが取り込まれる。
以降、１番目のＣＴＵラインの重畳データが１ＣＴＵ単位で解放されるのを追いかける形で２番目のＣＴＵラインの重畳データが１ＣＴＵ単位で取り込まれる。前述した通り、ＷＰＰでは、１つ上のＣＴＵラインの処理は２ＣＴＵ以上先行する。このため、遅れて追いかける側の重畳データを取り込む際に、重畳データバッファ３１０は解放されており、当該重畳データを記憶するための空きが無いという事態は生じない。
【００２９】
その後、タイミングｔｆでは、１番目のＣＴＵラインの重畳データは「９」まで使用されて解放され、追いかける側の２番目のＣＴＵラインの重畳データは「１６」まで使用されて解放される。
次に、タイミングｔｇでは、１番目のＣＴＵラインの重畳データ「１０」が解放される。そして、次のタイミングｔｈにおいて、２番目のＣＴＵラインの重畳データ「２０」の取り込みが終わると、その次のタイミングから、３番目のＣＴＵラインの重畳データ取り込みが開始される。３番目のＣＴＵラインの重畳データ取り込みは、タイミングｔｉのように、２番目のＣＴＵ用ラインの重畳データを追いかける形で行われる。
【００３０】
その後、タイミングｔｊでは、３番目のＣＴＵラインの重畳データ取り込みが全て終わった状態になる。この状態は、タイミングｔａに相当する状態であり、４番目のＣＴＵライン以降も同様に重畳データの解放と取り込みとが繰り返される。
【００３１】
図５は、系統選択部３０２０の処理の一例を説明するフローチャートである。この系統選択部３０２０の処理は、画像重畳部３４０の１ＣＴＵ分の処理が開始される毎に行われる。本実施形態では、系統１と系統２の処理順の差を２ＣＴＵに近づける方針で制御する場合を例に挙げて説明する。
まず、ステップＳ５００では、系統選択部３０２０は、圧縮コア３７０、３７１からのデータ要求信号の有無を確認する。その結果、少なくとも一方の圧縮コア３７０又は３７１からのデータ要求信号があれば、ステップＳ５１０の処理に進む。
【００３２】
ステップＳ５１０の処理に進むと、系統選択部３０２０は、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ているか否かを判定する。この判定の結果、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ている場合には、後述するステップＳ５４０に進む。一方、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ていない場合には、ステップＳ５２０に進む。
【００３３】
ステップＳ５２０に進むと、系統選択部３０２０は、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ているか否かを判定する。この判定の結果、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ている場合には、後述するステップＳ５５０に進む。一方、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ていない場合（すなわち、データ要求信号が圧縮コア３７０（圧縮コア１）及び３７１（圧縮コア２）の双方から来ている場合）には、ステップＳ５３０に進む。
【００３４】
ステップＳ５３０に進むと、系統選択部３０２０は、カウンタ３０３０、３０３１の計数値の差を確認する。系統選択部３０２０は、この確認の結果に基づき、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が２ブロック以内であるか否かを判定する。この判定の結果、両者のＣＴＵの差が２ブロック以内である場合には、ステップＳ５４０に進み、そうでない場合には、ステップＳ５５０に進む。
【００３５】
ステップＳ５４０に進むと、系統選択部３０２０は、系統１を選択することを示す系統選択信号を出力すると共に、カウンタ３０３０の計数値をインクリメントする。一方、ステップＳ５５０に進むと、系統選択部３０２０は、系統２を選択することを示す系統選択信号を出力すると共に、カウンタ３０３１の計数値をインクリメントする。尚、ステップＳ５３０からステップＳ５４０又はＳ５５０に進んだ場合（圧縮コア１、２の双方からデータ要求信号が来た場合）に選択されなかった系統は、ステップＳ５４０又はＳ５５０で選択された系統の次に選択される。
【００３６】
以上のように本実施形態では、画像データを系統１、２に分けて、系統ごとに重畳データを重畳して圧縮する際に、１つの重畳データバッファ３１０に系統１、２で使用する重畳データを記憶する。経路制御部３００は、圧縮コア３７０、３７１の何れか一方のみからデータ要求信号を受信した場合には、受信したデータ要求信号に対応する系統１又は２を選択する。経路制御部３００は、圧縮コア３７０、３７１の双方からデータ要求信号を受信した場合であって、系統１、２での処理対象のＣＴＵの差が２ブロック以内（処理順の差が２以内）である場合には、系統１を選択し、そうでない場合には、系統２を選択する。そして、経路制御部３００は、選択した系統１又は２に対応するカウンタ３０３０又は３０３１をインクリメントし、系統１、２の選択回数を記憶する。アドレス生成部３０１０は、選択された系統１又は２と、カウンタ３０３０、３０３１の計数値から、重畳データバッファ３１０に記憶されている重畳データのうち、画像データの重畳に使用される重畳データが記憶されているアドレスを特定する。
したがって、画像や文字を画像データに重畳した後にＨＥＶＣで並列処理による圧縮を行う際、重畳用のモジュールと重畳データ入力のＤＭＡＣは、それぞれ一つずつで済む。その結果、重畳用のモジュールと重畳データ入力のＤＭＡＣの回路規模の削減と、制御するプロセッサ等の処理負荷の低減が可能となる。
【００３７】
実施形態では、系統２（系統１）の重畳データが系統１の重畳データ（系統２）の重畳データを追いかける形で、重畳データバッファ３１０の同一の記憶領域（アドレス）に系統１、２の重畳データが記憶される場合を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。例えば、重畳データバッファ３１０の各アドレスに記憶している重畳データを把握するようにしてれば、重畳データバッファ３１０に重畳データを記憶する方法は特に限定されない。また、このようにした場合には、カウンタ３０３０、３０３１による計数値を判断しなくても、重畳データバッファ３１０のアドレスや系統の選択をすることができる。
【００３８】
また、本実施形態では、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が２ブロックである場合には、系統１を選択する場合を例に挙げて説明した。しかしながら、当該差が２ブロックである場合に、系統２を選択してもよい。この場合に系統２を選択しても、例えば、図２に示す系統２のＣＴＵ２００の圧縮に必要な系統１のＣＴＵ２１３の重畳後データが得られているからである。すなわち、当該差が２ブロックを上回っている場合に系統２を選択し、下回っている場合に系統１を選択していれば、当該差が２ブロックである場合には、系統１を選択しても系統２を選択してもよい。
【００３９】
また、本実施形態では、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が２ブロック以内であるか否かを判定する場合を例に挙げて説明した。しかしながら、当該差として予め設定される値は、「２」に限定されない。例えば、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が１ブロック以内であるか否かを判定してもよい。当該差が１ブロック以内である場合に系統１を選択しても、例えば、図２に示す系統２のＣＴＵ２００の圧縮に必要な系統１のＣＴＵ２１３の重畳後データが得られるからである。
【００４０】
（第２の実施形態）
次に、第２の実施形態を説明する。第１の実施形態では、系統が２つである場合を例に挙げて説明した。しかしながら、系統の数は、２以上であれば、系統の数は限定されない。そこで、本実施形態では、系統が３つである場合を例に挙げて説明する。具体的には、入力した画像データに重畳データを重畳した後、ＨＥＶＣの規格で定義されているＷＰＰ手法を用いて３並列で圧縮処理を行う場合を例に挙げて説明する。このように本実施形態と第１の実施形態とは、系統の数が異なることによる構成及び処理が主として異なる。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４１】
本実施形態における画像処理装置のハードウェアの構成は、第１の実施形態の画像処理装置１０の並列度を２並列から３並列に変更したものであるので、本実施形態における画像処理装置のハードウェアの構成の図示を省略する。
図６は、重畳部６３０の詳細なハードウェアの構成の一例を、重畳部１３０の入力側及び出力側の部分と共に示す図である。
図６に示す重畳部６３０は、図３に示す重畳部１３０に対し、並列処理する数を２から３（２並列から３並列）に変更したものである。
【００４２】
具体的に、図６では、図３に対し、画像入力ＤＭＡ６４２、入力バッファ６２２、出力バッファ６６２、カウンタ６０３２、圧縮コア６７２が追加される。これらは、系統３に対する処理で使用されるものである。また、経路制御部６００内の系統選択部６０２０、アドレス生成部６０１０における処理の一部が第１の実施形態の系統選択部３０２０、アドレス生成部３０１０における処理と異なる。
【００４３】
図７は、重畳データバッファ６１０内の重畳データの保持状態の一例を概念的に示す図である。
図７の例では、処理される画像データの横方向の長さ（幅）がＣＴＵ１０個分であり、重畳データバッファ３１０は、２ＣＴＵライン分のバッファサイズを有する場合を示す。このように、重畳データバッファ６１０と第１の実施形態で説明した重畳データバッファ３１０とでは、バッファサイズが異なる。また、図７の例では、上から下に向かって（タイミングｔｋ、ｔｌ、ｔｍ、・・・の順に）時間が進むものとする。
【００４４】
まず、タイミングｔｋでは、１番目及び２番目のＣＴＵラインに重畳される合計２０ＣＴＵ分の重畳データが取り込まれる。
その後、タイミングｔｌでは、画像重畳部３４０において１番目のＣＴＵラインの画像データの最初の２ＣＴＵ分に対してしれじれ「１」、「２」の重畳データが重畳されることにより、「１」と「２」の重畳データが解放される。本実施形態においても、第１の実施形態と同様に、重畳データの取り込まれるスループットと解放されるスループットの変動で状況は変動するため、重畳データバッファ６１０の状態はあくまでも一例にすぎない。
【００４５】
次に、タイミングｔｍでは、重畳データバッファ６１０の「１」の重畳データが記憶されていた位置（アドレス）に、３番目のＣＴＵラインの先頭のＣＴＵに相当する「２１」の重畳データが取り込まれる。その後、タイミングｔｎに示す様に、１番目のＣＴＵラインの重畳データの解放を追いかけ、解放された位置に３番目のＣＴＵラインの重畳データが取り込まれる。
【００４６】
その後、タイミングｔｏでは、１番目のＣＴＵラインの重畳データが全て解放され、３番目のＣＴＵラインの重畳データの取り込みが終わる。３番目のＣＴＵラインの重畳データの取り込み終わると、タイミングｔｐに示すように、系統１の次の処理で使用される４番目のＣＴＵラインの重畳データが、２番目のＣＴＵラインの重畳データの解放を追いかける形で取り込まれる。
これ以降、系統３、１、２で使用される重畳データは、それぞれ、系統１、２、３で使用される重畳データの解放を追いかける形で取り込まれる。
【００４７】
図８は、系統選択部６０２０の処理の一例を説明するフローチャートである。この系統選択部６０２０の処理は、第１の実施形態と同様に、画像重畳部３４０の１ＣＴＵ分の処理が開始される毎に行われる。本実施形態では、系統１と系統２との処理の差、及び、系統２と系統３との処理の差を、それぞれ２ＣＴＵに近づける方針で制御する場合を例に挙げて説明する。
まず、ステップＳ８００では、系統選択部６０２０は、圧縮コア３７０、３７１、６７２からのデータ要求信号を確認する。その結果、少なくとも一つの圧縮コア３７０、３７１、又は６７２からのデータ要求信号があれば、ステップＳ８１０の処理に進む。
【００４８】
ステップＳ８１０に進むと、系統選択部６０２０は、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ているか否かを判定する。この判定の結果、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ている場合には、後述するステップＳ８７０に進む。一方、データ要求信号が圧縮コア３７０（圧縮コア１）のみから来ていない場合には、ステップＳ８１１に進む。
【００４９】
ステップＳ８１１に進むと、系統選択部６０２０は、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ているか否かを判定する。この判定の結果、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ている場合には、後述するステップＳ８７１に進む。一方、データ要求信号が圧縮コア３７１（圧縮コア２）のみから来ていない場合には、ステップＳ８１２に進む。
【００５０】
ステップＳ８１２に進むと、系統選択部６０２０は、データ要求信号が圧縮コア６７２（圧縮コア３）のみから来ているか否かを判定する。この判定の結果、データ要求信号が圧縮コア６７２（圧縮コア３）のみから来ている場合には、後述するステップＳ８７２に進む。一方、データ要求信号が圧縮コア６７２（圧縮コア３）のみから来ていない場合には、ステップＳ８２０に進む。
【００５１】
ステップＳ８２０に進むと、系統選択部６０２０は、データ要求信号が、圧縮コア３７０（圧縮コア１）、３７１（圧縮コア２）、及び６７２（圧縮コア３）の全てから来ているか否かを判定する。この判定の結果、データ要求信号が、圧縮コア３７０（圧縮コア１）、３７１（圧縮コア２）、及び６７２（圧縮コア３）の全てから来ている場合には、後述するステップＳ８３０に進む。一方、データ要求信号が、圧縮コア３７０（圧縮コア１）、３７１（圧縮コア２）、及び６７２（圧縮コア３）の全てから来ていない場合（すなわち、データ要求信号が、何れか２つの圧縮コアから来ている場合）には、ステップＳ８４０に進む。
【００５２】
ステップＳ８４０に進むと、系統選択部６０２０は、データ要求信号が、圧縮コア３７０（圧縮コア１）及び３７１（圧縮コア２）から来ているか否かを判定する。この判定の結果、データ要求信号が、圧縮コア３７０（圧縮コア１）及び３７１（圧縮コア２）から来ている場合には、後述するステップＳ８５０に進む。一方、データ要求信号が、圧縮コア３７０（圧縮コア１）及び３７１（圧縮コア２）から来ていない場合には、ステップＳ８４１に進む。
【００５３】
ステップＳ８４１に進むと、系統選択部６０２０は、データ要求信号が、圧縮コア３７１（圧縮コア２）及び６７２（圧縮コア３）から来ているか否かを判定する。この判定の結果、データ要求信号が、圧縮コア３７１（圧縮コア２）及び６７２（圧縮コア３）から来ている場合には、後述するステップＳ８５１に進む。一方、データ要求信号が、圧縮コア３７１（圧縮コア２）及び６７２（圧縮コア３）から来ていない場合には、ステップＳ８６０に進む。
【００５４】
ステップＳ８６０に進むと、系統選択部６０２０は、カウンタ３０３０、６０３２の計数値の差を確認する。系統選択部６０２０は、この確認の結果に基づき、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統３のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が４ブロック以内であるか否かを判定する。この判定の結果、両者のＣＴＵの差が４ブロック以内である場合には、後述するステップＳ８７０に進み、そうでない場合には、後述するステップＳ８７２に進む。
【００５５】
系統２における処理対象のＣＴＵは、系統３における処理対象のＣＴＵよりも少なくとも２つのＣＴＵ分先行する必要がある。さらに、系統２における処理対象のＣＴＵは、系統１における処理対象のＣＴＵよりも少なくとも２つのＣＴＵ分先行する必要がある。したがって、系統２における処理対象のＣＴＵは、系統１における処理対象のＣＴＵよりも少なくとも４つのＣＴＵ分先行する必要がある。
【００５６】
前述したように、ステップＳ８２０において、データ要求信号が、圧縮コア３７０（圧縮コア１）、３７１（圧縮コア２）、及び６７２（圧縮コア３）の全てから来ている場合には、ステップＳ８３０に進む。ステップＳ８３０に進むと、系統選択部６０２０は、次の処理を行う。すなわち、カウンタ３０３０（カウンタ１）の計数値からカウンタ３０３１（カウンタ２）の計数値を減算した値が、カウンタ３０３１（カウンタ２）の計数値からカウンタ６０３２（カウンタ３）の計数値を減算した値未満であるか否かを判定する。この判定の結果、カウンタ３０３０の計数値からカウンタ３０３１の計数値を減算した値が、カウンタ３０３１の計数値からカウンタ６０３２の計数値を減算した値未満でない場合には、ステップＳ８５０に進む。一方、カウンタ３０３０の計数値からカウンタ３０３１の計数値を減算した値が、カウンタ３０３１の計数値からカウンタ６０３２の計数値を減算した値未満である場合には、ステップＳ８５１に進む。
【００５７】
ステップＳ８５０に進むと、系統選択部６０２０は、カウンタ３０３０、３０３１の計数値の差を確認する。系統選択部６０２０は、この確認の結果に基づき、先行する系統１のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が２ブロック以内であるか否かを判定する。この判定の結果、両者のＣＴＵの差が２ブロック以内である場合には、後述するステップＳ８７０に進み、そうでない場合には、後述するステップＳ８７１に進む。
【００５８】
一方、ステップＳ８５１に進むと、系統選択部６０２０は、カウンタ３０３１、６０３２の計数値の差を確認する。系統選択部６０２０は、この確認の結果に基づき、先行する系統２のＣＴＵラインで重畳データの重畳の対象となるＣＴＵと、後行する系統３のＣＴＵラインで重畳データの重畳の対象となるＣＴＵとの差が２ブロック以内であるか否かを判定する。この判定の結果、両者のＣＴＵの差が２ブロック以内である場合には、後述するステップＳ８７１に進み、そうでない場合には、後述するステップＳ８７２に進む。
【００５９】
以上のようにしてステップＳ８７０に進むと、系統選択部６０２０は、系統１を選択することを示す系統選択信号を出力すると共に、カウンタ３０３０の計数値をインクリメントする。
また、ステップＳ８７１に進むと、系統選択部６０２０は、系統２を選択することを示す系統選択信号を出力すると共に、カウンタ３０３１の計数値をインクリメントする。
また、ステップＳ８７２に進むと、系統選択部６０２０は、系統３を選択することを示す系統選択信号を出力すると共に、カウンタ６０３２の計数値をインクリメントする。
【００６０】
アドレス生成部６０１０は、系統選択部６０２０から出力される系統選択信号に基づいて、系統１、２、３のうちの何れの系統の何れのＣＴＵが選択対象であるかを判定する。そして、アドレス生成部６０１０は、判定したＣＴＵに対応する重畳データが記憶されている重畳データバッファ６１０のアドレスを、カウンタ３０３０、３０３１、６０３２の計数値から特定し、特定したアドレスを示すアドレス信号を生成する。
【００６１】
以上のように、系統の数が３以上であっても、第１の実施形態で説明したのと同様の効果を得ることができる。
本実施形態においても第１の実施形態で説明した種々の変形例を採用することができる。尚、ステップＳ８５０、Ｓ８５１においては、例えば、ＣＴＵの差が１ブロック以内であるか否かを判定し、ステップＳ８６０においては、例えば、ＣＴＵの差が１ブロック以内であるか否かを判定してもよい。
【００６２】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６３】
（その他の実施例）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１５０：重畳データ入力ＤＭＡ、３００、６００：経路制御部、３１０、６１０：重畳データバッファ、３４０：画像重畳部、１６０、６６０：圧縮部
【図１】
2016019089.tif 000003
【図３】
2016019089.tif 000004
【図４】
2016019089.tif 000005
【図５】
2016019089.tif 000006
【図６】
2016019089.tif 000007
【図７】
2016019089.tif 000008
【図８】
2016019089.tif 000009
【図２】
2016019089.tif 000010