JP6623843B2 - データ処理装置およびプログラム - Google Patents

データ処理装置およびプログラム Download PDF

Info

Publication number
JP6623843B2
JP6623843B2 JP2016038552A JP2016038552A JP6623843B2 JP 6623843 B2 JP6623843 B2 JP 6623843B2 JP 2016038552 A JP2016038552 A JP 2016038552A JP 2016038552 A JP2016038552 A JP 2016038552A JP 6623843 B2 JP6623843 B2 JP 6623843B2
Authority
JP
Japan
Prior art keywords
data
circuit
decoding
run length
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016038552A
Other languages
English (en)
Other versions
JP2017157987A (ja
Inventor
領 久木宮
領 久木宮
奥山 潤一
潤一 奥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016038552A priority Critical patent/JP6623843B2/ja
Priority to US15/251,691 priority patent/US9780807B2/en
Publication of JP2017157987A publication Critical patent/JP2017157987A/ja
Application granted granted Critical
Publication of JP6623843B2 publication Critical patent/JP6623843B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、データ処理装置およびプログラムに関する。
データ処理装置は様々な分野において広く普及しており、特に、画像データを処理対象とする画像処理装置はデータ処理装置の好適な具体例の一つである。従来から、データ処理装置と画像処理装置に係る技術がいくつか提案されている。
例えば、特許文献1には、ランレングス符号により符号化されたデータを復号化するデータ処理装置(データ変換装置)が記載されている。
特開2011−55422号公報
ランレングス符号により符号化されたデータは、各データ要素の値とその値の連続数に対応したラン長(ランレングス)とを組み合わせた符号データで構成される。例えば、ラスタ形式の画像データであれば、ランレングス符号による符号化(ランレングス圧縮)により、各画素の画素値とラン長とからなるベクタ形式の画像データに変換(ベクタ化)される。
また、ランレングス符号により符号化されたデータを復号化する際には、各データ要素の値がラン長に応じた個数だけ展開される。例えば、各画素の画素値とラン長とからなるベクタ形式の画像データであれば、各画素の画素値がラン長に応じた個数だけ展開されてラスタ形式の画像データに変換(ラスタ化)される。
符号化されたデータの復号化においては、そのデータ内におけるラン長の配列状態に適した復号処理を実行できることが望ましい。ところが、符号化されたデータ内におけるラン長の配列状態は、データ内容によって大きく異なる場合があり、また、データ内において大きく異なる場合もある。そのため、データ内におけるラン長の配列状態に適した復号処理を実行することは容易ではない。
本発明は、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成を実現することにある。
請求項1に係る発明は、符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する回路選択部と、前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化する復号処理部と、を有することを特徴とするデータ処理装置である。
請求項2に係る発明は、請求項1に記載のデータ処理装置において、前記回路選択部は、互いに同じ出力幅で処理結果を出力する複数の専用回路の中から前記各データ部分ごとに復号回路を選択する、ことを特徴とするデータ処理装置である。
請求項3に係る発明は、請求項2に記載のデータ処理装置において、前記回路選択部は、ラン長の合計が前記出力幅となるラン長の組み合わせごとに用意された前記複数の専用回路の中から、前記各データ部分の復号回路として、当該各データ部分におけるラン長の組み合わせに対応付けられた前記各専用回路を選択する、ことを特徴とするデータ処理装置である。
請求項4に係る発明は、請求項1に記載のデータ処理装置において、前記回路選択部は、符号化された対象データ内の同一ラン長が連続する前記各データ部分ごとに、当該各データ部分における同一ラン長の連続数を指標として復号回路を選択する、ことを特徴とするデータ処理装置である。
請求項5に係る発明は、請求項4に記載のデータ処理装置において、前記回路選択部は、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路とを含む複数回路の中から、前記対象データ内の前記各代表ラン長が連続する前記各データ部分の復号回路として、当該各代表ラン長の専用回路または汎用回路を選択する、ことを特徴とするデータ処理装置である。
請求項6に係る発明は、請求項5に記載のデータ処理装置において、前記回路選択部は、前記各代表ラン長が連続する前記各データ部分において、当該各代表ラン長の連続数を用いて予測される処理性能の判定式により、当該各代表ラン長の専用回路または汎用回路を選択する、ことを特徴とするデータ処理装置である。
請求項7に係る発明は、請求項1から6のいずれか1項に記載のデータ処理装置において、前記対象データを構成する複数ラインの各ラインの復号処理結果を記憶する記憶部と、互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて前記記憶部に記憶されている他方ラインの復号処理結果を出力する制御部と、を有することを特徴とするデータ処理装置である。
請求項8に係る発明は、コンピュータに、符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する機能と、前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化するように再構成可能回路を制御する機能と、を実現させることを特徴とするプログラムである。
請求項1に係る発明によれば、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成が実現される。
請求項2に係る発明によれば、互いに同じ出力幅で処理結果を出力する複数の専用回路を選択候補とする復号回路の選択が実現される。
請求項3に係る発明によれば、ラン長の組み合わせごとに用意された複数の専用回路の中から、各データ部分におけるラン長の組み合わせに対応付けられた各専用回路の選択が実現される。
請求項4に係る発明によれば、符号化された対象データ内の同一ラン長が連続する各データ部分において、同一ラン長の連続数を指標とした復号回路の選択が実現される。
請求項5に係る発明によれば、対象データ内の各代表ラン長が連続する各データ部分の復号回路として、各代表ラン長の専用回路または汎用回路の選択が実現される。
請求項6に係る発明によれば、各代表ラン長が連続する各データ部分において、各代表ラン長の専用回路または汎用回路の処理性能による選択が実現される。
請求項7に係る発明によれば、互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて記憶部に記憶されている他方ラインの復号処理結果を利用することができる。
請求項8に係る発明によれば、符号化された対象データの復号化において、対象データ内の各データ部分におけるラン長の配列状態に適合した復号回路の選択的な再構成を実現するプログラムが提供される。
本発明の実施形態として好適なデータ処理装置の具体例を示す図である。 対象データの符号化と復号化の具体例を示す図である。 データ処理部の具体例1を示す図である。 前処理部と復号処理部における処理の具体例を示す図である。 回路データ記憶部に記憶される回路データの具体例1を示す図である。 データ処理部の具体例2を示す図である。 対象データ分析部と復号処理部における処理の具体例を示す図である。 回路データ記憶部に記憶される回路データの具体例2を示す図である。 回路選択部による回路選択の具体例を示す図である。 データ処理部の具体例2の処理を示すフローチャートである。 データ処理部の具体例3を示す図である。 データ処理部の具体例3の処理を示すフローチャートである。
図1は、本発明を実施するための形態として好適なデータ処理装置100の具体例を示す図である。図1のデータ処理装置100は、対象データ(処理対象となるデータ)に対してデータ処理を実行するデータ処理部10を備えている。
図1のデータ処理装置100が処理対象とする対象データの好適な具体例は画像データ(文字や数字や記号のみのデータを含む)等であり、例えばコンピュータ等の外部の装置から画像データがデータ処理装置100に送られる。
また、図1のデータ処理装置100が、画像読み取り機能(スキャン機能)等を備えた画像処理装置内に組み込まれ、画像読み取り機能を介して紙などの媒体から得られた画像データが対象データとされてもよい。さらに、データ処理装置100による処理後の画像データに対応した画像が紙などに印刷されてもよいし、処理後の画像データが外部の装置に提供されてもよい。なお、画像処理装置の好適な具体例には、複写機、印刷機、ファクシミリ(FAX)などが含まれる。さらに、複写機、印刷機、ファクシミリのうちのいずれか複数の機能を兼ね備えた複合機も画像処理装置の好適な具体例である。
データ処理部10は、対象データに対してデータ処理を実行する。図1に示す具体例において、データ処理部10は、復号処理部と回路選択部と再構成制御部を備えており、符号化された対象データを復号処理して復号化する。復号処理部は回路構成がプログラマブルな再構成可能回路により実現され、回路選択部は復号処理部内に再構成される復号回路を選択する。再構成制御部は、回路選択部が選択した復号回路が再構成されるように、復号処理部(再構成可能回路)の再構成を制御する。
再構成可能回路は、内部の回路構成を再構成可能(プログラマブル)な回路である。例えば、動的再構成可能プロセッサ(DRP:Dynamic Reconfigurable Processor)が、再構成可能回路として好適なデバイスの一つである。もちろん、他のデバイス、例えばPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)などのプログラマブル論理回路が再構成可能回路として利用されてもよい。さらに、将来的に登場する動的再構成可能なデバイス(プロセッサ等)を利用して再構成可能回路が実現されてもよい。
図1のデータ処理装置100が備える内部構成のうちの少なくとも一部は、例えば演算機能等を実現するハードウェアとその動作を規定するソフトウェア(制御プログラム等)によって構成され、ハードウェアとソフトウェアとの協働により実現されてもよい。例えば、データ処理部10内の回路選択部と再構成制御部の機能がコンピュータにより実現されてもよい。この場合には、後に詳述する回路選択部と再構成制御部の機能に対応したアルゴリズムのプログラムが、例えば、ディスクやメモリなどのコンピュータが読み取り可能な記憶媒体に記憶され、その記憶媒体を介してコンピュータ(データ処理装置100)に提供される。もちろん、インターネット等の電気通信回線を介して当該プログラムがコンピュータに提供されてもよい。そして、コンピュータが備えるCPUやメモリ等のハードウェア資源と、提供された当該プログラム(ソフトウェア)との協働により、例えば回路選択部と再構成制御部の機能が実現される。
図1のデータ処理装置100の全体構成は以上のとおりである。次に、データ処理装置100により実現される処理や機能の具体例について説明する。なお、図1に示した構成(符号を付した各部)については、以下の説明において図1の符号を利用する。
図2は、対象データの符号化と復号化の具体例を示す図である。図2には、データ処理装置100により処理される対象データの好適な具体例である画像データのデータ形式が図示されている。つまり、ラスタ形式の画像データとベクタ形式の画像データの具体例が図示されている。画像データをラスタ形式からベクタ形式へ変換する処理は符号化の具体例であり、画像データをベクタ形式からラスタ形式へ変換する処理は復号化の具体例である。
ラスタ形式の画像データは、画像データ内において連続する複数画素の画素値を画素の配列順に並べたデータ構成である。一方、ベクタ形式の画像データは、複数画素に関する画素値とラン長(RUN長)の組み合わせで構成される。ベクタ形式におけるラン長は、画像データ内において連続する同一画素値の画素数を示すデータである。つまり、画素値とラン長の組み合わせにより、その画素値に対応した画素がラン長の個数だけ連続することが示される。
例えば、データ例1には、連続する複数画素の画素値が左から順にAAAAABBBである画像データが図示されている。ラスタ形式では、画像データ内の配列どおりに、複数画素の画素値が左から順にAAAAABBBと配列される。これに対し、ベクタ形式では同一画素値の連続する複数画素が画素値とラン長の組み合わせにより纏められる。データ例1において、画素値Aの画素が5つ連続して画素値Bの画素が3つ連続しており、ベクタ形式では画素値A×ラン長5と画素値B×ラン長3のデータ構成となる。
データ例2には、連続する複数画素の画素値が左から順にACACADBCである画像データが図示されている。ラスタ形式では、画像データ内の配列どおりに、複数画素の画素値が左から順にACACADBCと配列される。これに対し、ベクタ形式では、連続する同一画素値の複数画素が画素値とラン長の組み合わせにより纏められる。なお、データ例2では、連続する同一画素値がないため、ベクタ形式においても、複数画素の画素値が左から順にACACADBCに分解されたままである。
データ処理部10(図1)は、符号化された対象データを復号処理して復号化する。例えば、データ処理部10は、ベクタ形式の画像データをラスタ形式の画像データに復号化する。
図3は、データ処理部10の具体例1を示す図である。図3には、データ処理部10の内部構成例が図示されている。
入力制御部10Aは、符号化された対象データ、例えばベクタ形式の画像データを取得する。入力制御部10Aは、例えば、複数ラインで構成される画像データを先頭ラインから順に次々に取得する。
前処理部10Bは、入力制御部10Aから得られる符号化された対象データを復号処理部10Cの出力幅に合わせた中間符号に変換する。復号処理部10Cは、中間符号に変換された対象データを復号処理することにより、対象データを復号化する。
図4は、前処理部10Bと復号処理部10Cにおける処理の具体例を示す図である。前処理部10Bは、符号化された対象データ、例えばベクタ形式の画像データを先頭ラインから順に次々に取得し、復号処理部10Cの出力幅に合わせた中間符号に変換(プレデコード)する。
図4の具体例において、復号処理部10Cは、出力幅が8画素分の8バイトであり、ラスタ形式に復号化された画像データを先頭ラインから順に8画素単位で出力する。そのため、図4の具体例において、前処理部10Bは、復号処理部10Cの出力幅である8画素単位の中間符号を生成する。
例えば、図4に示すように、画素値a×ラン長2,画素値b×ラン長3,画素値c×ラン長5の符号化されたベクタ形式の画像データが入力されると、前処理部10Bは、画素値a×ラン長2,画素値b×ラン長3,画素値c×ラン長3で構成される8画素分、つまりラン長の合計が8となる中間符号を生成する。なお、画素値cの残りのラン長2は、次の8画素分の中間符号に利用される。図4の具体例において、前処理部10Bは、ラン長の合計が8となる8画素分の中間符号を次々に生成する。
復号処理部10Cは、8画素分の中間符号に変換されたベクタ形式の画像データを復号処理(ランレングスデコード)することにより、ラスタ形式の画像データを8画素単位で出力する。復号処理部10Cは、中間符号であるベクタ形式の画像データを構成する各画素の画素値をラン長に応じた個数だけ展開して、ラスタ形式の画像データに変換(ラスタ化)する。
図3に戻り、復号処理部10Cは、再構成可能回路を利用して実現され、8画素分の中間符号ごとに選択された復号回路を再構成して復号処理を実行する。復号処理部10C内に再構成される復号回路は、回路選択部10Dにより選択される。
回路選択部10Dは、互いに同じ出力幅、例えば図4の具体例であれば8画素分の出力幅で処理結果を出力する複数の専用回路の中から、8画素分の中間符号ごとに復号回路を選択する。再構成制御部10Eは、復号処理部10Cの再構成を制御する。復号処理部10Cの再構成に利用される回路データは、回路データ記憶部10Fに記憶される。
図5は、回路データ記憶部10Fに記憶される回路データの具体例1を示す図である。回路データ記憶部10Fには、ラン長の合計が8(複合処理部10Cの出力幅)となるラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
例えば、ラン長8専用回路は、画素数が1つの中間符号(画素数1のパターン)に対応した専用回路の回路データである。中間符号が8画素単位で構成される場合(図4の具体例)には、画素数が1つであれば、1つの画素値×ラン長8の中間符号となる。
画素数が2つの中間符号(画素数2のパターン)については、ラン長1,7専用回路,ラン長2,6専用回路,ラン長3,5専用回路,・・・に対応した複数の回路データが記憶される。ラン長1,7専用回路は、ラン長1とラン長7の2つの画素値で構成される中間符号に対応しており、ラン長2,6専用回路は、ラン長2とラン長6の2つの画素値で構成される中間符号に対応している。画素数が2つの中間符号(画素数2のパターン)については、ラン長の合計が8となる2つのラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
画素数が3つの中間符号(画素数3のパターン)については、ラン長1,1,6専用回路,ラン長1,2,5専用回路,ラン長1,3,4専用回路,・・・に対応した複数の回路データが記憶される。ラン長1,1,6専用回路は、ラン長1とラン長1とラン長6の3つの画素値で構成される中間符号に対応しており、ラン長1,2,5専用回路は、ラン長1とラン長2とラン長5の3つの画素値で構成される中間符号に対応している。画素数が3つの中間符号(画素数3のパターン)については、ラン長の合計が8となる3つのラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
また、画素数が4つの中間符号(画素数4のパターン)、画素数が5つの中間符号(画素数5のパターン)、画素数が6つの中間符号(画素数6のパターン)、画素数が7つの中間符号(画素数7のパターン)についても、ラン長の合計が8となるラン長の組み合わせごとに用意された複数の専用回路の回路データが記憶される。
画素数が8つの中間符号(画素数8のパターン)については、全てのラン長が1であるラン長1×8専用回路に対応した回路データが記憶される。中間符号が8画素単位で構成される場合(図4の具体例)には、画素数が8つであれば、8つの画素全てのラン長が1の中間符号となる。
図3に戻り、回路選択部10Dは、前処理部10Bにおいて生成される8画素分の中間符号ごとに、その中間符号に対応した専用回路を選択する。例えば、8画素分の中間符号を構成するラン長の組み合わせがラン長2,3,3であれば(図4の具体例参照)、その中間符号に対応した専用回路として、ラン長2,3,3専用回路が選択される。
再構成制御部10Eは、回路選択部10Dが選択した専用回路を構成するように、復号処理部10Cの再構成を制御する。復号処理部10Cは、再構成した復号回路(専用回路)により中間符号を復号化する。こうして、例えば、中間符号を構成するラン長の組み合わせがラン長2,3,3の場合には、ラン長2,3,3専用回路が復号処理部10C内に再構成され、ラン長2,3,3専用回路によりラン長2,3,3の中間符号が復号処理される。
出力制御部10Gは、復号処理部10Cから得られる処理結果の出力を制御する。出力制御部10Gは、復号処理部10Cから得られる復号化された対象データ、例えばラスタ形式に復号化された画像データを復号処理部10Cの出力幅で、図4の具体例であれば8画素単位で(8バイトごとに)、先頭ラインから次々に出力する。
図3の具体例1によれば、ラン長の組み合わせごとに用意された複数の専用回路の中から、中間符号内におけるラン長の組み合わせに対応付けられた各専用回路が選択され、その専用回路により中間符号が復号処理される。8画素分の中間符号ごとに、その中間符号の専用回路を再構成すればよいため、ラン長の全ての組み合わせに対応した全ての専用回路を固定的に設けておく場合に比べて、回路規模が小さくなる。
図6は、データ処理部10の具体例2を示す図である。図6には、データ処理部10の内部構成例が図示されている。
入力制御部10Aは、符号化された対象データ、例えばベクタ形式の画像データを取得する。入力制御部10Aは、例えば、複数ラインで構成される画像データを先頭ラインから順に次々に取得する。入力制御部10Aが取得した符号化された対象データは対象データ記憶部10Hに記憶される。また、入力制御部10Aが取得した符号化された対象データは対象データ分析部10Iに送られる。
対象データ分析部10Iは、符号化された対象データ内におけるラン長の配列状態を分析する。回路選択部10Dは、対象データ分析部10Iにおける分析結果に基づいて、ラン長の配列状態に適合する復号回路を選択する。再構成制御部10Eは、回路選択部10Dが選択した復号回路を構成するように、復号処理部10Cの再構成を制御する。復号処理部10Cは、再構成可能回路を利用して実現され、回路選択部10Dにより選択された復号回路を再構成して復号処理を実行する。復号処理部10Cの再構成に利用される回路データは、回路データ記憶部10Fに記憶される。
出力制御部10Gは、復号処理部10Cから得られる処理結果の出力を制御する。出力制御部10Gは、復号処理部10Cから得られる復号化された対象データ、例えばラスタ形式に復号化された画像データを復号処理部10Cの出力幅で、先頭ラインから次々に出力する。
図7は、対象データ分析部10Iと復号処理部10Cにおける処理の具体例を示す図である。対象データ分析部10Iは、符号化された対象データを処理単位ごとに分析する。例えば、ベクタ形式の画像データを先頭ラインから順に各ラインごとに分析する。なお、処理単位は各ラインに限らず、例えば、各ページまたは各ブロックを一つの処理単位としてもよいし、いくつかのラインを纏めて一つの処理単位としてもよい。
そして、対象データ分析部10Iにおける分析結果に基づいて、ラン長の配列状態に適合する復号回路が選択され、選択された復号回路が復号処理部10C内に再構成される。復号処理部10Cは、再構成された復号回路を利用して、符号化された対象データを復号処理することにより、対象データを復号化する。なお、図7の具体例において、復号処理部10Cは、出力幅が8画素分の8バイトであり、ラスタ形式に復号化された画像データを先頭ラインから順に8画素単位で出力する。
対象データ分析部10Iは、復号処理部10Cにおける復号処理に先だって、対象データを処理単位ごとに分析する。例えば、各ラインを処理単位とする場合、復号処理部10Cにおいて第Nライン(Nは自然数)の復号処理が実行されている処理期間に、対象データ分析部10Iは、第Nラインの次の第N+1ラインの分析処理を実行する。そして、第N+1ラインの復号処理が実行される前に、例えば第Nラインの復号処理が終了した直後に、第N+1ラインの分析結果に応じて回路選択と再構成が行われる。
図8は、回路データ記憶部10Fに記憶される回路データの具体例2を示す図である。図8の具体例2において、回路データ記憶部10Fには、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路の回路データが記憶される。
ラン長1専用回路は、代表ラン長の1つであるラン長1の符号化データ(符号化された画像データ)を8個並列で復号処理して8画素分の復号化データ(復号化された画像データ)を出力する回路である。例えば、符号化された対象データ内、つまりベクタ化された画像データ内において、ラン長1が連続するデータ部分でラン長1専用回路を利用することにより、復号処理性能の向上(復号処理時間の短縮)が期待できる。
ラン長2専用回路は、代表ラン長の1つであるラン長2の符号化データを4個並列で復号処理して8画素分の復号化データを出力する回路である。例えば、符号化された対象データ内、つまりベクタ化された画像データ内において、ラン長2が連続するデータ部分でラン長2専用回路を利用することにより、復号処理性能の向上(復号処理時間の短縮)が期待できる。
ラン長4専用回路は、代表ラン長の1つであるラン長4の符号化データを2個並列で復号処理して8画素分の復号化データを出力する回路であり、ラン長4が連続するデータ部分でラン長4専用回路を利用することが望ましい。また、ラン長8専用回路は、代表ラン長の1つであるラン長8の符号化データを復号処理して8画素分の復号化データを出力する回路であり、ラン長8が連続するデータ部分でラン長8専用回路を利用することが望ましい。
そして、全ラン長汎用回路は、符号化データ内のラン長を1個ずつ復号処理(単純復号)する回路であり、全てのラン長を処理対象とすることができる。
回路選択部10D(図6)は、回路データ記憶部10Fに記憶された複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路の中から、対象データ内の各代表ラン長が連続する各データ部分の復号回路として、その代表ラン長の専用回路または汎用回路を選択する。
図9は、回路選択部10D(図6)による回路選択の具体例を示す図である。回路選択部10Dは、各代表ラン長が連続する各データ部分において、その代表ラン長の連続数を用いて予測される処理性能の判定式により、その代表ラン長の専用回路または汎用回路を選択する。処理性能の判定式としては、例えば、以下に示す性能予測値と閾値を利用した閾値判定式が利用される。
[数1]
{(A×n)/N}+2α < nの場合・・・ラン長A専用回路を選択
{(A×n)/N}+2α ≧ nの場合・・・全ラン長汎用回路を選択
性能予測値{(A×n)/N}+2α
(A×n)/Nの小数点以下は整数へ繰り上げ
数1式において、Aは分析対象となる代表ラン長である。例えば、図8に示す回路データの具体例2では、代表ラン長Aは、1,2,4,8のいずれかである。なお、代表ラン長は図8の具体例2に限定されず、他のラン長が代表ラン長とされてもよい。nは代表ラン長Aの連続数である。Nは復号処理部の出力幅である。例えば、図7に示す具体例では出力幅Nが8となる。そして、αは1回当たりの動的再構成時間である。
数1式における性能予測値の算出では、汎用回路から専用回路に再構成してから(再構成時間α)、専用回路により復号処理を行い(復号処理時間(A×n)/N)、その後に専用回路から汎用回路または別の専用回路に再構成する(再構成時間α)場合の合計時間が算出される。また、数1式における閾値nは、代表ラン長Aの連続数であり、n個の代表ラン長Aを全て汎用回路によって復号処理した場合の復号処理時間に相当する。
図9の分析例1には、ラン長が14080である符号化データ(ベクタ形式の画像データ)が例示されている。例えば、画像データ内において白枠の範囲にある各ラインにおいて、そのラインを構成する全画素(14080画素)の画素値が0xff(白)となる場合にラン長が14080(画素数が1つ)である分析例1の符号化データが得られる。
図8に示す回路データの具体例2では、代表ラン長Aは、1,2,4,8であり、ラン長14080は代表ラン長ではないため、図9の分析例1では、ラン長14080のデータ部分の復号回路として全ラン長汎用回路が選択される。
図9の分析例2には、代表ラン長2が含まれる符号化データ(ベクタ形式の画像データ)が例示されている。
分析例2の区間Iにおけるラン長が不連続なデータ部分、つまり、ラン長1,3,4が並ぶデータ部分とラン長3,1が並ぶデータ部分では、ラン長が全て不連続であるため、これらのデータ部分の復号回路として全ラン長汎用回路が選択される。なお、ラン長1とラン長4は、図8に示す回路データの具体例2では、代表ラン長Aであるため、数1式の閾値判定式が利用されてもよい。しかし、図9の分析例2の区間Iにおけるラン長1とラン長4は共に連続数nが1であるため、数1式の閾値判定式を適用しても全ラン長汎用回路が選択される。
分析例2の区間Iにおけるラン長2が4つ連続するデータ部分には、数1式の閾値判定式が利用される。ラン長2(代表ラン長A=2)が4つ連続(連続数n=4)するため、再構成時間α=5(クロック)とすると、性能予測値{(A×n)/N}+2α=11(クロック)となる。一方、閾値n、つまりラン長2が4つ連続するデータ部分を汎用回路によって復号処理した場合の復号処理時間はn=5(クロック)となる。したがって、分析例2の区間Iにおけるラン長2が4つ連続するデータ部分には、数1式の閾値判定式により、全ラン長汎用回路が選択される。結果的に、分析例2の区間Iの全データ部分において全ラン長汎用回路が選択される。
これに対し、図9の分析例2の区間IIは、ラン長2が7032個連続するデータ部分で構成される。このデータ部分には、数1式の閾値判定式が利用される。ラン長2(代表ラン長A=2)が7032個連続(連続数n=7032)するため、再構成時間α=5(クロック)とすると、性能予測値{(A×n)/N}+2α=1770(クロック)となる。一方、閾値n、つまりラン長2が7032個連続するデータ部分を汎用回路によって復号処理した場合の復号処理時間はn=7032(クロック)となる。したがって、分析例2の区間IIにおけるラン長2が7032個連続するデータ部分には、数1式の閾値判定式により、ラン長2専用回路が選択される。
図10は、データ処理部10の具体例2(図6)の処理を示すフローチャートである。図10には、複数ラインで構成される画像データの各ラインを処理単位とする処理例が図示されている。
まず、第Nライン(N番目のライン:Nは自然数)に対する復号処理に先だって、対象データ分析部10Iにより第Nラインの分析が行われる(S1000)。そして、第Nラインが分析されてからS1001以降の処理が実行される。なお、先頭ライン(N=1)については、S1000における分析を省略し、ライン内の全データ部分を全ラン長汎用回路(図8)により単純復号してもよい。また、第2ライン(N=2)以降のラインについては、その前のライン(第N−1ライン)に対する復号処理が実行されている時に、復号処理と並行して分析が行われてもよい。
次に、対象データ分析部10Iによる第Nラインの分析結果(代表ラン長の連続数)に基づいて、回路選択部10Dにより第Nライン内における回路選択が行われる(S1001)。つまり、図8,図9を利用して説明した回路選択が行われ、第Nライン内のどのデータ部分でどの回路を利用するのかが選択される。
そして、再構成が必要か否かの確認が行われつつ(S1002)、復号処理部10Cにより第Nラインに対する復号処理が行われる。例えば、第Nライン内において再構成が必要なデータ部分については、回路選択部10Dにより選択された回路が復号処理部内に再構成され(S1003)、再構成された回路を利用して復号処理部により復号処理が実行される(S1004)。一方、第Nライン内において再構成が不要なデータ部分については、復号処理部内の再構成は行われず、現状の回路を維持して、復号処理部により復号処理が実行される(S1004)。
S1001からS1004までの処理は、第Nライン内の全データ部分の復号処理が終了するまで繰り返される(S1005)。第Nライン内の全データ部分の復号処理が終了すると、画像データ内の全ラインの復号処理が終了したか否かが確認される(S1006)。全ラインの復号処理が終了していなければ、NがN+1に更新され(S1007)、次のライン(更新された第Nライン)に対する処理が実行される。画像データ内の全ラインの復号処理の終了により(S1006)、図10のフローチャートは終了する。
図11は、データ処理部10の具体例3を示す図である。図11には、データ処理部10の内部構成例が図示されている。
図6の具体例2と比較して、図11の具体例3では、ライン比較部10Jと中央制御部10Kと復号データ記憶部10Lと選択部10Mが追加されている。図11に示す構成のうち、図6と同じ符号の各部は具体例2と同じ機能を備えており具体例2と同じ処理を実行する。そこで、図11において追加された各部を中心に、データ処理部10の具体例3を説明する。
符号化された対象データ、例えば複数ラインで構成されるベクタ形式の画像データは、先頭ラインから順に次々に対象データ記憶部10Hと対象データ分析部10Iとライン比較部10Jに送られる。ライン比較部10Jは、第Nライン(N番目のライン:Nは自然数)とその前のライン(第N−1ライン)のデータ内容を比較する。
第Nラインと第N−1ラインのデータ内容が一致していなければ、第Nラインに対する復号処理が必要となる。中央制御部10Kは、再構成制御部10E等を制御して、第Nラインに対する復号処理を実行させる。つまり、第Nラインに関する分析結果に応じて回路選択が行われ、必要に応じて復号処理部10C内が再構成され、第Nラインが復号処理される(図7〜図10参照)。そして、復号処理部10Cにおける処理結果、例えばラスタ形式に復号化された画像データが、選択部10Mにより選択されて出力制御部10Gへ送られる。
これに対し、第Nラインと第N−1ラインのデータ内容が一致していれば、第Nラインに対する復号処理が不要となる。中央制御部10Kは、選択部10Mを制御して、第Nラインの復号結果として、復号データ記憶部10Lに記憶された第N−1ラインの復号結果を出力制御部10Gへ送る。例えば、復号データ記憶部10Lに記憶された第N−1ラインの復号結果(ラスタ形式の画像データ)が、復号処理部10Cの出力幅と同じデータ幅で次々に読み出され、選択部10Mを介して出力制御部10Gから出力される。
図11の具体例3によれば、第Nラインと第N−1ラインのデータ内容が一致している場合に、第Nラインの復号処理が省略できるため、第Nラインの復号処理を実行する場合に比べて、処理時間が短縮され回路消費電力も低下する。
図12はデータ処理部10の具体例3(図11)の処理を示すフローチャートである。図12には、複数ラインで構成される画像データの各ラインを処理単位とする処理例が図示されている。
まず、第Nライン(N番目のライン:Nは自然数)を処理するにあたり、ライン比較部10Jにより、第Nラインとその前の第N−1ラインのデータ内容が一致しているか否かが確認される(S1201)。なお、先頭ライン(N=1)については、S1201における確認が省略され、S1000以降の処理が実行される。
S1201における確認により、第Nラインとその前の第N−1ラインのデータ内容が一致していれば、復号データ記憶部10Lに記憶された第N−1ラインの復号結果が出力制御部10Gから出力される(S1202)。そして、画像データ内の全ラインの復号処理が終了したか否かが確認され(S1006)、全ラインの復号処理が終了していなければ、NがN+1に更新され(S1007)、次のライン(更新された第Nライン)に対する処理が実行される。
一方、S1201における確認により、第Nラインとその前の第N−1ラインのデータ内容が一致していなければ、第Nラインに対する復号処理が必要となり、図10を利用して説明したS1000からS1005までの処理が実行される。S1000からS1005までの処理は、既に説明したとおりであるため、ここでは説明を省略する。なお、画像データ内の全ラインの復号処理の終了により(S1006)、図12のフローチャートは終了する。
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。
10 データ処理部、10C 復号処理部、10D 回路選択部、100 データ処理装置。

Claims (8)

  1. 符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する回路選択部と、
    前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化する復号処理部と、
    を有する、
    ことを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記回路選択部は、互いに同じ出力幅で処理結果を出力する複数の専用回路の中から前記各データ部分ごとに復号回路を選択する、
    ことを特徴とするデータ処理装置。
  3. 請求項2に記載のデータ処理装置において、
    前記回路選択部は、ラン長の合計が前記出力幅となるラン長の組み合わせごとに用意された前記複数の専用回路の中から、前記各データ部分の復号回路として、当該各データ部分におけるラン長の組み合わせに対応付けられた前記各専用回路を選択する、
    ことを特徴とするデータ処理装置。
  4. 請求項1に記載のデータ処理装置において、
    前記回路選択部は、符号化された対象データ内の同一ラン長が連続する前記各データ部分ごとに、当該各データ部分における同一ラン長の連続数を指標として復号回路を選択する、
    ことを特徴とするデータ処理装置。
  5. 請求項4に記載のデータ処理装置において、
    前記回路選択部は、複数の代表ラン長に対応した複数の専用回路とラン長に依存しない汎用回路とを含む複数回路の中から、前記対象データ内の前記各代表ラン長が連続する前記各データ部分の復号回路として、当該各代表ラン長の専用回路または汎用回路を選択する、
    ことを特徴とするデータ処理装置。
  6. 請求項5に記載のデータ処理装置において、
    前記回路選択部は、前記各代表ラン長が連続する前記各データ部分において、当該各代表ラン長の連続数を用いて予測される処理性能の判定式により、当該各代表ラン長の専用回路または汎用回路を選択する、
    ことを特徴とするデータ処理装置。
  7. 請求項1から6のいずれか1項に記載のデータ処理装置において、
    前記対象データを構成する複数ラインの各ラインの復号処理結果を記憶する記憶部と、
    互いにデータ内容が一致するライン間において、一方ラインの復号処理結果として、既に復号化されて前記記憶部に記憶されている他方ラインの復号処理結果を出力する制御部と、
    を有する、
    ことを特徴とするデータ処理装置。
  8. コンピュータに、
    符号化された対象データ内の各データ部分ごとに、当該各データ部分におけるラン長の配列状態に適合する復号回路を選択する機能と、
    前記各データ部分ごとに選択された復号回路を再構成して前記対象データを復号化するように再構成可能回路を制御する機能と、
    を実現させる、
    ことを特徴とするプログラム。
JP2016038552A 2016-03-01 2016-03-01 データ処理装置およびプログラム Expired - Fee Related JP6623843B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016038552A JP6623843B2 (ja) 2016-03-01 2016-03-01 データ処理装置およびプログラム
US15/251,691 US9780807B2 (en) 2016-03-01 2016-08-30 Data processing apparatus, data processing method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038552A JP6623843B2 (ja) 2016-03-01 2016-03-01 データ処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2017157987A JP2017157987A (ja) 2017-09-07
JP6623843B2 true JP6623843B2 (ja) 2019-12-25

Family

ID=59724403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038552A Expired - Fee Related JP6623843B2 (ja) 2016-03-01 2016-03-01 データ処理装置およびプログラム

Country Status (2)

Country Link
US (1) US9780807B2 (ja)
JP (1) JP6623843B2 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1471520A1 (en) * 2003-04-22 2004-10-27 Deutsche Thomson-Brandt Gmbh Method for decoding data received from a data source using hardware configuration data received from the same data source
US7330137B2 (en) * 2003-12-12 2008-02-12 Mediatek Inc. Method and apparatus for RLL code encoding and decoding
US7565024B2 (en) * 2003-12-19 2009-07-21 Intel Corporation Run length coding and decoding
EP1724931A1 (en) * 2004-03-12 2006-11-22 Matsushita Electric Industrial Co., Ltd. Variable-length code decoding device
JP4642501B2 (ja) * 2005-02-15 2011-03-02 キヤノン株式会社 データ復号化装置、データ復号化方法、記録装置
JP2006286084A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 符号器、復号器および符号化方法
JP2011055422A (ja) 2009-09-04 2011-03-17 Canon Inc データ変換装置
JP5636816B2 (ja) * 2010-08-25 2014-12-10 富士ゼロックス株式会社 再構成可能演算回路及びプログラム
JP5596884B2 (ja) * 2011-11-03 2014-09-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ フィルタリング方法およびフィルタリング装置
JP5935366B2 (ja) * 2012-02-09 2016-06-15 富士ゼロックス株式会社 画像処理装置
US9002122B2 (en) * 2012-07-19 2015-04-07 Omnivision Technologies, Inc. System and method for improving decoder performance using quantization control

Also Published As

Publication number Publication date
JP2017157987A (ja) 2017-09-07
US20170257114A1 (en) 2017-09-07
US9780807B2 (en) 2017-10-03

Similar Documents

Publication Publication Date Title
JP2015130640A (ja) データ伸張装置、プログラムおよび記録媒体
JP3694999B2 (ja) 画像符号化装置および画像復号装置ならびにそれらの方法
JP6003059B2 (ja) 画像処理装置および画像処理方法、ならびに、画像形成装置
JP6159240B2 (ja) 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム
US20110280492A1 (en) Image processing apparatus and image processing method
JP5614122B2 (ja) 画像データ復号装置
JP6623843B2 (ja) データ処理装置およびプログラム
JP4633576B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4009808B2 (ja) 画像処理装置
JP2012231215A (ja) 画像データ処理装置及びプログラム
CN107864381B (zh) 图像处理设备和图像处理方法
JP2001257887A (ja) 画像符号化装置および画像復号装置ならびに画像符号化方法および画像復号方法
JP4907488B2 (ja) 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP6589642B2 (ja) データ処理装置およびプログラム
TW201419140A (zh) 可重新配置的指令編碼方法、執行方法及電子裝置
CN115250351A (zh) 用于图像数据的压缩方法、解压方法及相关产品
JP4840462B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP5732765B2 (ja) 画像データ復号装置
JP4784814B2 (ja) 符号化装置、符号化方法、及びプログラム
JP3862590B2 (ja) 画像処理装置及び方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体
JP5200854B2 (ja) 符号化装置、復号装置、及び画像処理システム
JP2010074444A (ja) 画像圧縮装置、画像圧縮方法、画像復号装置、画像復号方法、及び、コンピュータプログラム
JP5454105B2 (ja) データ処理装置およびデータ処理方法
JP6711003B2 (ja) データ処理装置およびプログラム
CN117560013A (zh) 数据压缩方法和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191111

R150 Certificate of patent or registration of utility model

Ref document number: 6623843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees