JP6590565B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP6590565B2
JP6590565B2 JP2015141111A JP2015141111A JP6590565B2 JP 6590565 B2 JP6590565 B2 JP 6590565B2 JP 2015141111 A JP2015141111 A JP 2015141111A JP 2015141111 A JP2015141111 A JP 2015141111A JP 6590565 B2 JP6590565 B2 JP 6590565B2
Authority
JP
Japan
Prior art keywords
packet
data processing
setting
data
address
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.)
Active
Application number
JP2015141111A
Other languages
English (en)
Other versions
JP2017021741A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015141111A priority Critical patent/JP6590565B2/ja
Priority to US15/144,561 priority patent/US10296475B2/en
Priority to CN201610556581.6A priority patent/CN106355543B/zh
Publication of JP2017021741A publication Critical patent/JP2017021741A/ja
Application granted granted Critical
Publication of JP6590565B2 publication Critical patent/JP6590565B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ処理システムに関し、特にそれぞれに設定された設定データに基づいてデータの並列処理を行なう複数のデータ処理装置を備えるデータ処理システムに好適に利用できるものである。
データの並列処理を行なうデータ処理システムに対するニーズは、年々高まってきている。例えば、動画像符号を扱うシステムでは、4K、8Kといった大画面化が進行している。これらの信号を扱う画像符号化装置や画像復号装置には高い処理性能が求められており、画像符号化復号装置の処理性能を向上させる一つの有効な手段として、画像処理装置を複数配置して並列処理を行うという手法が採用される。
一方、特許文献1には、画像符号化復号装置に好適なデータ処理装置が開示されている。この画像符号化復号装置は、複数の画像処理モジュールを備えており、それぞれの画像処理モジュールを適切に初期設定した後に起動することにより、全体としての画像処理を実行することができるように構成されている。複数の画像処理モジュールに対する初期設定を行うには、外部のCPU(Central Processing Unit)を動作させるが、同文献には、初期設定を行う際のCPUの処理負担を軽減する技術が開示されている。これにより、頻繁に且つ大量のデータを初期設定する画像符号化復号装置のようなデータ処理装置において、外部のCPUの処理負担を軽減することができる。特に、符号化・復号などの画像処理では、フレーム毎に符号化と復号処理を切り替えて使用する場合や、フレーム毎にコーデックの種類(アルゴリズムの種類)を切り替えて使用する場合などがある。そのような場合にはフレーム単位でレジスタ設定やプログラムファイルの入れ替えを行わなければならないという特有の事情があるので、初期設定を行う際のCPUの処理負担を軽減することは特に重要である。
特開2009−237888号公報
特許文献1について本発明者が検討した結果、以下のような新たな課題があることがわかった。
特許文献1では上述のように、符号化・復号などの画像処理では、フレーム単位でレジスタ設定やプログラムファイルの入れ替えを行わなければならないという特有の事情があるので、特に、初期設定を行う際のCPUの処理負担を軽減することが重要であることが指摘された。このような課題は、同文献に記載される発明によって解決される。本発明者は、今後さらに上述のような画像の大画面化に対応するなどの新たな要求に応えるためには、データの並列処理が好適であると考え、その場合に発生する新たな課題について検討した。
画像処理におけるデータの並列処理は、画像符号化復号装置に搭載する画像処理モジュールの数を何倍かに増やして並列化し、或いは、画像符号化復号装置全体を複数台搭載して並列化することによって実現されると考えられる。このとき、初期設定を行うCPUも合わせて並列化するのではなく、そのまま1個若しくは並列化とは無関係にその装置で必要とされる個数のまま、並列化(n倍化;ただしnは整数)された複数の画像処理モジュールや複数の画像符号化復号装置に対する初期値設定を行おうとすると、初期値設定のためのCPUの処理負荷がn倍化されることになる。特許文献1に記載される技術を使えば、1個の画像処理モジュールや1個の画像符号化復号装置に対する初期値設定のためのCPUの処理負荷は軽減されるが、並列化によってn倍化されることには変わりがない。
このように、画像処理モジュールや画像符号化復号装置等のデータ処理装置がn倍に並列化される一方その初期値設定を行うCPUは並列化されないときに、当該初期設定のためのCPUの処理負荷の増加をn倍よりも小さく抑えることが重要である。
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態によれば、下記の通りである。
すなわち、複数のレジスタを有し当該レジスタに設定される初期設定データに基づくデータ処理を並列的に実行可能な複数のデータ処理装置を備えるデータ処理システムであって、以下のように構成する。
複数のデータ処理装置はそれぞれ固有の識別子を有し、複数のレジスタにはそれぞれにアドレスが割り付けられ、初期設定データが格納される。それぞれのデータ処理装置は、初期設定データを含む複数のパケットを受信して前記複数のレジスタに転送する転送回路を備える。ここで、パケットは、ペイロードと、共有化情報と、宛先識別子と、宛先アドレスとを含み、初期設定データをペイロードとして含む。
転送回路は、パケットを受信したときに以下の動作を行う。
当該パケットに含まれる共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち自身を含む少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであることを示すときには、当該ペイロードを宛先アドレスに対応するレジスタに設定する。
当該パケットに含まれる前記共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置に共通に設定されるべき設定データではないことを示すときには、宛先識別子と自身の識別子との一致を条件として、当該ペイロードを宛先アドレスに対応するレジスタに設定する。
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、データ処理装置がn倍に並列化される一方その初期設定を行うCPUは並列化されないときに、当該初期設定のためのCPUの処理負荷の増加をn倍よりも小さく抑えることができる。
図1は、実施形態1に係るデータ処理システムの構成例を示すブロック図である。 図2は、転送回路の別の構成例を示すブロック図である。 図3は、実施形態2に係るデータ処理システムの構成例を示すブロック図である。 図4は、実施形態2に係るデータ処理システムにおけるパケットの構成例を示す説明図である。 図5は、記憶装置へのパケットの格納状態の一例を示す説明図である。 図6は、全ての画像符号化復号装置に共通の設定であることを示す情報を利用しない場合の記憶装置へのパケットの格納状態の一例を示す説明図である。 図7は、実施形態3に係るデータ処理システムの構成例を示すブロック図である。 図8は、実施形態3に係るデータ処理システムにおけるパケットの構成例を示す説明図である。 図9は、実施形態4に係るデータ処理システムの構成例を示すブロック図である。 図10は、実施形態4に係るデータ処理システムにおけるパケットの構成例を示す説明図である。 図11は、実施形態5に係るデータ処理システムの構成例を示すブロック図である。 図12は、実施形態5に係るデータ処理システムにおけるパケットの構成例を示す説明図である。 図13は、実施形態6に係るデータ処理システムにおける、内部バスのアドレスの構成例を示す説明図である。 図14は、実施形態6に係るデータ処理システムにおけるパケットの構成例を示す説明図である。 図15は、実施形態6に係るデータ処理システムの構成例を示すブロック図である。 図16は、CID部と内部モジュールID部のアドレスマスク判定部の構成例を模式的に示す、ブロック図である。 図17は、内部バスのアドレスの構成例を示す説明図である。 図18は、実施形態7に係るデータ処理システムの構成例を示すブロック図である。 図19は、実施形態8に係るデータ処理システムの構成例を示すブロック図である。 図20は、実施形態9に係るデータ処理システムの構成例を示すブロック図である。
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
〔実施形態1〕
図1は、実施形態1に係るデータ処理システム100の構成例を示すブロック図である。データ処理システム100は、複数の設定レジスタを有し当該設定レジスタに設定される初期設定データに基づくデータ処理を並列的に実行可能な複数のデータ処理装置1_1〜1_nを備える。ここで、nは2以上の整数である。図中の配線は、それぞれ任意の本数の信号線で実装されるが、図では1本か複数本かの区別はせず、所謂ベクトル表記は省略されている。このことは、本願における他の図面についても同様である。
複数のデータ処理装置1_1〜1_nは、特に制限されないが、例えば、CPU20と記憶装置30とともに共通のバス10に接続され、単一の半導体基板上に集積回路として形成されている。記憶装置30がインターフェースを介して当該半導体基板の外部に接続されてもよい。データ処理装置1_1〜1_nに設定される設定データは、記憶装置30に格納されており、CPU20による制御の下で、記憶装置30から読み出されて、パケットとしてデータ処理装置1_1〜1_nに供給され設定される。CPU20は、予め設定データを記憶装置30に書き込んでおき、そのアドレス情報をデータ処理装置1_1〜1_nに与えることによって、それぞれのデータ処理装置1_1〜1_nに自律的に記憶装置30にアクセスさせて、それぞれのデータ処理装置1_1〜1_n自身に必要な設定データを読み出させることができる。これにより、CPU20の処理負荷は極めて軽く抑えることができる。一方、それぞれのデータ処理装置1_1〜1_nに自律的に記憶装置30にアクセスさせる代わりに、ダイレクトメモリアクセス制御回路(DMAC:Direct Memory Access Controller)をバス10上に接続して設定データを記憶装置30から各データ処理装置1_1〜1_nに転送させてもよい。ただし、この場合のCPU20はダイレクトメモリアクセス制御回路を制御する必要があるので、上述のデータ処理装置1_1〜1_nに自律的に記憶装置30にアクセスさせる方式よりも、CPU20の処理負荷は重い。また、CPU20が記憶装置30にアクセスして設定データを読み出し、各データ処理装置1_1〜1_nに転送してもよい。ただし、この場合のCPU20の処理負荷はさらに重くなるので、CPU20にはより高い処理性能が求められる。なお、バス10を他の接続方法に変更してもよい。
複数のデータ処理装置1_1〜1_nは、転送回路2_1〜2_nと、設定レジスタ3_1〜3_nと、データ処理回路(PE:Processing Element)4_1〜4_nとをそれぞれ備える。設定レジスタ3_1〜3_nは、それぞれが複数のレジスタ5_1〜5_n(5_1のみ図示)で構成されてもよく、データ処理回路4_1〜4_nに対してその機能やパラメータなどを与える。設定レジスタ3_1が複数のレジスタ5_1で構成されるときには、例えば、アドレスデコーダ6_1と書き込みバッファ7_1を備えて構成されても良い。他のデータ処理装置1_2〜1_nにおける設定レジスタ3_2〜3_nの内部は図示が省略されているが、設定レジスタ3_1と同様に構成しても良いし、異なる構成であってもよい。また、データ処理回路4_1〜4_nと設定レジスタ3_1〜3_nとは、図1に例示されるように1ヵ所にまとめられている必要はなく、データ処理回路4_1〜4_nがさらに複数のデータ処理モジュールを含み、設定レジスタ3_1〜3_nを構成する複数のレジスタがそれらに分散して接続されても良い。複数のデータ処理装置1_1〜1_nは、それぞれ固有の識別子(ID)を有し、設定データは、それぞれにアドレスが割り付けられた複数の設定レジスタ3_1〜3_nに分散して格納される。転送回路2_1〜2_nは、それぞれのデータ処理装置1_1〜1_nに設けられ、設定データを含む複数のパケットを受信して、対応する設定レジスタ3_1〜3_nに転送する。
記憶装置30から読み出されるパケットは、設定データであるペイロードと、共有化情報と、宛先識別子と、宛先アドレスとを含む。宛先識別子は、当該パケットのペイロードに含まれる設定データが設定されるべきデータ処理装置の識別子(ID)であり、宛先アドレスは、設定データが設定されるべき、レジスタのアドレスである。共有化情報は、当該パケットのペイロードに含まれる設定データが設定されるべき対象のデータ処理装置が複数である場合に、宛先識別子とともに対象のデータ処理装置を特定するための情報である。最も単純には、共有化情報は1ビットで構成されるフラグであり、当該パケットのペイロードに含まれる設定データが、全てのデータ処理装置1_1〜1_nに共通に設定されることを示す。他の実施の形態では、共有化情報は宛先識別子と同じビット数で構成されるマスクであり、宛先識別子のうちの一部のビットをデータ処理装置の固有の識別子(ID)との比較の対象から除外することによって、複数のデータ処理装置が対象のデータ処理装置であることを示すことができる。共有化情報の与え方は、対象のデータ処理装置を指定する際の自由度に応じて、適宜変更することができる。なお、複数のデータ処理装置に含まれる複数のレジスタのうち、共通に設定される対象となるレジスタには、上記宛先アドレスに共通に指定することができるように、少なくとも一部のアドレスビットに同じ値が割り付けられている。
各転送回路2_1〜2_nは、パケットを受信したとき、受信したパケットを解析して、当該パケットのペイロードを指定された設定レジスタ3_1〜3_nに転送して書き込むことによって、設定データを適切な設定レジスタに設定する。受信したパケットに含まれる共有化情報が、当該パケットに含まれるペイロードが複数のデータ処理装置1_1〜1_nのうち自身を含む少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであることを示すときには、宛先識別子が自身の識別子(ID)と一致しているか不一致かに関わらず、当該ペイロードを宛先アドレスに対応する設定レジスタに設定する。受信したパケットに含まれる共有化情報が、当該パケットに含まれるペイロードが複数のデータ処理装置1_1〜1_nに共通に設定されるべき設定データではないことを示すときには、宛先識別子と自身の識別子(ID)との一致を条件として、当該ペイロードを宛先アドレスに対応する設定レジスタに設定する。不一致の場合には、そのパケットは無視または破棄される。
転送回路は、例えば転送回路2_1に例示されるように、比較回路8_1と書込みイネーブル生成回路9_1によって構成される。受信したパケットに含まれる宛先識別子は、そのデータ処理装置1_1に固有の識別子(ID)と比較回路8_1によって比較され、一致または不一致の比較結果が出力される。比較結果は、書込みイネーブル生成回路9_1に入力され、受信したパケットに含まれる共有化情報に基づいて変更されて、設定レジスタ3_1の書込みイネーブル信号WEとして出力される。図示されるのは、共有化情報が、当該パケットのペイロードに含まれる設定データが、全てのデータ処理装置1_1〜1_nに共通に設定されることを示す、1ビットのフラグである例である。共有化情報が設定されているときには、比較回路8_1の比較結果に関わらず、複数のレジスタ5_1のうち、宛先アドレスで指定されるレジスタに、ペイロードに含まれる設定データが書き込まれる。ここで、このような構成を有効に機能させるためには、全てのデータ処理装置1_1〜1_nについて、データ処理回路4_1〜4_nと設定レジスタ3_1〜3_nおよびそれぞれを構成する複数のレジスタ5_1〜5_nのアドレス割り付けが、同じであること好ましい。少なくとも、共通に設定されるデータ処理装置において、共通に設定されるレジスタには同じアドレスを割り付けるのが好ましい。
図2は、転送回路の別の構成例を示すブロック図である。転送回路2_1の別の構成例として示す。共有化情報が宛先識別子と同じビット数で構成されるマスクである例である。共有化情報、宛先識別子及びデータ処理装置の固有の識別子(ID)がそれぞれ2ビットである例が示される。宛先識別子と装置固有の識別子(ID)は、マスクである共有化情報との間でビット毎にANDされ、2ビットの比較回路8_1に入力される。比較結果が一致の場合は、設定レジスタ3_1の書込みイネーブル信号WEとして出力される。マスクである共有化情報の上位側ビット[1]に0をセットすることによって、宛先識別子と装置固有の識別子(ID)とは、下位側ビット[0]のみが比較される。宛先識別子が奇数の場合には奇数の識別子(ID)を持つデータ処理装置1_1と1_3に共通に設定データが書き込まれ、宛先識別子が偶数の場合には偶数の識別子(ID)を持つデータ処理装置1_2と1_4に共通に設定データが書き込まれることとなる。ここで、ビット数を2としたのは一例であって、任意のビット数に変更することができる。また、マスクをAND演算に代えてOR演算としてもよい。正論理とするか負論理とするかは任意である。このように、宛先識別子のうちの一部のビットをデータ処理装置の固有の識別子(ID)との比較の対象から除外することによって、複数のデータ処理装置が共通の初期設定データの設定対象であることを示すことができる。共有化情報の与え方は、対象のデータ処理装置を指定する際の自由度に応じて、適宜変更することができる。
これにより、データ処理装置1_1〜1_nがn倍に並列化される一方その初期設定を行うCPU20は並列化されないときに、当該初期設定のためのCPU20の処理負荷の増加をn倍よりも小さく抑えることができる。また、記憶装置30においてパケットを格納する記憶領域の大きさの増加も、n倍よりも小さく抑えることができる。
以下、より詳細な実施の形態について説明する。データ処理が画像の符号化復号であり、データ処理装置へのレジスタ設定が、ピクチャ(フレーム、フィールド等)単位での画像符号化復号装置/モジュールに対する初期設定である例を採用する。ただし、これは一例であって、以下に説明する各実施の形態は、一般のデータ処理とその制御のためのレジスタ設定に広く適用できる。
〔実施形態2〕
図3は実施形態2に係るデータ処理システム100の構成例を示すブロック図である。
501_1〜501_nは画像符号化復号装置である。上述の実施形態1におけるデータ処理装置1_1〜1_nの一例であり、画像符号化復号処理の機能を有し、並列に動作することができる。また、画像符号化復号装置501_1〜501_nには、それぞれ固有のID(識別子)が付されている。IDはレジスタなどに設定可能とされていてもよく、論理回路内の論理値として作り込まれていても良い。本実施形態2では、画像符号化復号装置がn個(nは2以上の整数)の場合について説明するが、画像符号化復号装置の数はデータ処理システム100に要求される性能に応じて任意に設定することができる。20はCPU、10はバス、30は記憶装置である。画像符号化復号装置501_1〜501_nは、バス10を介してCPU20と記憶装置30に接続されている。図示は省略されているが、画像入力装置、画像出力装置、バス10のバス調停回路、ダイレクトメモリアクセス制御回路、割り込み制御回路、記憶装置30以外のメモリ、その他の周辺回路モジュールなどが、さらに接続されてもよい。また、バス10は階層化され、或いはバスブリッジ等によっていくつかに分離されていても良い。さらには、それらはバス以外の通信路によって相互に接続されても良い。画像符号化復号装置501_1〜501_nの機能・動作を規定する初期設定データは、CPU20によって記憶装置30に一旦書き込まれて記憶され、各画像符号化復号装置501_1〜501_nに転送されて書き込まれる。バス10からこの機能の実現が可能な他の通信路に変更することは任意である。また、記憶装置30は、画像処理に必要な画像データ、例えば、撮像された画像データ、ローカル参照画像、符号化されたストリームなどを格納することができる。データ処理システム100は、特に制限されないが、例えば、公知のCMOS(Complementary Metal-Oxide-Semiconductor field effect transistor)LSI(Large Scale Integrated circuit)の製造技術を用いて、シリコンなどの単一半導体基板上に形成される。このとき、記憶装置30は同一チップ上に形成されてもよいが、インターフェースと外部端子を介して外付けされてもよい。
画像符号化復号装置501_1〜501_nの構成例について説明する。各画像符号化復号装置501_1〜501_nは同じ構成を採っても良いし、異なる構成を採用しても良いが、ここでは1つの画像符号化復号装置501_1を例に採ってその構成例を説明する。
画像符号化復号装置501_1は、内部バス504を介して互いに接続された、信号処理装置500、制御装置502及び複数の画像処理モジュール503_1〜503_mを備える。502は制御装置であり、画像符号化復号装置501_1の制御を行うモジュールである。500は、記憶装置30にアクセスを行い、格納された初期設定データを読み込むための信号処理装置である。
503_1〜503_mは、画像符号化復号装置501_1で実行する画像符号化復号処理を構成する部分的な単位の画像データ処理を行なう機能モジュールである。図示は省略されているが、実行すべきデータ処理の内容やパラメータなどが初期設定される、レジスタが設けられている。レジスタは各画像処理モジュール503_1〜503_mに分散して設けられていても良いし、共通に1個の独立したモジュールとして実装されても良い。各画像処理モジュール503_1〜503_mは、レジスタに設定される初期設定データに基づいて、例えば、直交変換、直交逆変換、量子化、逆量子化、動きベクトル検出などの画像データ処理を実行することができる。レジスタ及び各画像処理モジュール503_1〜503_mは、上述の実施形態1におけるデータ処理回路4_1及び設定レジスタ3_1の実装例である。必ずしも複数の画像処理モジュール503_1〜503_mによって実現される必要はなく、例えば1個の高性能の画像処理プロセッサによって実現されてもよい。複数の画像処理モジュールによって実現されることにより、同じ処理を並列に実行させて性能を上げる、或いは、それぞれ異なる処理をパイプライン的に実行させることによってスループットを向上するなど、自由度が高められる。画像処理モジュール503_1〜503_mは、レジスタによって機能が切替えられる論理回路またはプロセッサなどによって実現される。
制御装置502の構成について説明する。505は外部バスとのインターフェースである。506は内部バス504とのインターフェースである。507は外部バス10から設定される設定値を受け取って格納するためのレジスタである。508は信号処理装置500から転送される初期設定データの転送が終了したことを示す終了コードを受け取るための終了コード受け取りモジュールである。509は画像処理モジュール1〜n(503)や信号処理装置500の制御を行う制御モジュールである。制御モジュール509は、終了コード受け取りモジュール508が受け取る終了コードに基づいて、各画像処理モジュール503_1〜503_mに対して起動信号ST_1〜ST_mを送出する。
信号処理装置500の構成について説明する。信号処理装置500は、外部バスインターフェース(I/F)510を通してバス10に接続される。また、内部バスインターフェース(I/F)511を通して内部バス504に接続される。512は、初期設定データを読み込むために記憶装置30にアクセスするために必要な情報を格納するレジスタである。このレジスタ512には、初期設定データのデータ量を示すパケット長、記憶装置512上の初期設定データの起点を示す初期設定起点アドレス、初期設定データのエンディアンを示すエンディアンモード、初期設定データ転送を起動するための起動制御情報(起動ビット)などが設定される。513はレジスタ512に設定された設定値を元に、バス10へのリクエストを生成するリクエスト生成装置である。514はバス10からのレスポンスの処理を行うレスポンス処理装置である。レスポンス処理装置514は、バス10からのレスポンスデータのエンディアン変換を行うためのエンディアン変換装置515、初期設定データ転送終了情報を生成し、制御装置502への送付を行う終了情報生成部516、後述するCBC、CIDを判定するCBC/CID判定部517及び内部バスパケット生成部518から構成される。レスポンス処理装置514には、上述の実施形態1における転送回路2_1の機能が実装されている。
画像符号化復号装置501_1、画像処理モジュール503_1〜503_mで用いるデータのエンディアンと、CPU20、記憶装置30及びバス10で用いるエンディアンが一致していることが保証されている場合には、レジスタ512へのエンディアンモードの設定とエンディアン変換装置515は不要である。一方、これらを搭載することにより、データ処理装置(画像符号化復号装置)が備える設定レジスタに設定すべき設定データのエンディアンが、記憶装置(30)に格納されるパケットと異なる場合であっても、その相違を吸収することができるので、データ処理装置(画像符号化復号装置)とバス及びCPUの組合せの自由度を高めることができる。例えば、データ処理装置の一つである画像符号化復号装置をIP(Intellectual Property)とし、種々のデータ処理システムに流用する場合に、設計資産の汎用性を高めることができる。
図4は、データ処理システム100におけるパケットの構成例を示す説明図である。図4には、記憶装置30のアドレスと記憶されるデータの一例が模式的に示される。記憶装置30は32ビットを1ワードとされ、8ビット毎にアドレスが割り付けられている。1パケットは4ワード、128ビットで構成される。記憶装置512のアドレスとビットの構成、及び、1パケットを何ビットで構成するかは任意である。記憶装置30には、4アドレス刻みに32ビット毎のデータが格納されている。初期設定起点アドレスであるA_initからA_init+H’000Cに格納される32ビットまでの128ビットが1番目のパケットであり、次のA_init+H’0010からA_init+H’001Cに格納される32ビットまでの128ビットが2番目のパケットである。ここで、「H’」は16進数であることを表す。
1パケットの最初の32ビットには、本実施形態の特徴である、CBCとCIDが格納される。CIDは、画像符号化復号装置501_1〜501_nのうちのパケットの宛先である画像符号化復号装置のIDである。CBCは、全ての画像符号化復号装置501_1〜501_nに共通に設定されるパケットであることを示すビットである。図4ではCIDを2ビットで表しているが、CIDは画像符号化復号装置の数に合わせてビット数を変えることができる。次の32ビットは、内部モジュールIDと内部モジュール内アドレスを格納するビットとして使用する。内部モジュールIDは、画像処理モジュール503_1〜503_mのうちのパケットの宛先である画像処理モジュールのIDであり、内部モジュール内アドレスは、それに対応する設定レジスタのアドレスである。図4では内部モジュールIDを8ビット、内部モジュール内アドレスを24ビットで表しているが、これらのビット数は、画像処理モジュールの数及び設定レジスタの数に応じて任意に設定することができる。以降の64ビットは、このパケットのペイロードであり、内部モジュールへ転送する初期設定データを格納するビットとして使用する。最初のパケットから最後のパケットまでのデータは、初期設定起点アドレスA_initから連続した領域に格納する。
本実施形態2に係るデータ処理システム100の動作について説明する。
CPU20は、各画像符号化復号装置501_1〜501_nの動作に必要な初期設定データのパケットを図4に示すようなフォーマットに従って生成して、記憶装置30に書き込んで一旦格納する。ここで、「初期設定データ」とは、各画像符号化復号装置501_1〜501_nの機能を規定する設定データである。ピクチャ(フレーム、フィールドなど)毎に生成して、次のピクチャでの各画像符号化復号装置501_1〜501_nの機能を設定または変更することができる。CPU20は、それまでの画像処理の結果に基づいて、それ以降の処理内容を適応的に変更することができる。例えば前ピクチャの処理結果に応じて次のピクチャの処理内容を変更する。初期設定データが、全ての画像符号化復号装置501_1〜501_nに共通の設定値である場合がある。このような場合に、初期設定データのパケットを生成する際に、CBCのビットを1に設定する。各画像符号化復号装置501_1〜501_nに対して個別に設定する場合には、CBCのビットに0を設定し、CIDビットに設定先の画像符号化復号装置のIDを格納する。
図5は、記憶装置30へのパケットの格納状態の一例を示す説明図である。CBCのビットに1が設定された、全ての画像符号化復号装置501_1〜501_nに共通の初期設定データを含むパケットが、初期設定起点アドレスA_initから長さL0まで格納され、次にアドレスA_init+A1から画像符号化復号装置501_1に特有の初期設定データを含むパケットが格納される。これらのパケットにはCBCのビットに0が設定され、CIDのビットには画像符号化復号装置501_1のIDが設定されている。画像符号化復号装置501_1に転送されるべきパケットのパケット長はL1となる。これに続いて、アドレスA_init+A2から画像符号化復号装置501_2に特有の初期設定データを含むパケットが格納される。これらのパケットにはCBCのビットに0が設定され、CIDのビットには画像符号化復号装置501_2のIDが設定されている。画像符号化復号装置501_2に転送されるべきパケットには、全ての画像符号化復号装置501_1〜501_nに共通の初期設定データを含むパケットが含まれるので、パケット長はL2となる。以降同様に、画像符号化復号装置501_nに特有の初期設定データを含むパケットまでが格納される。最後の画像符号化復号装置501_nに転送されるべきパケットのパケット長はLnとなる。但し、パケット長は個々に異なる値である必要はなく、一律にLnとしてもよい。また、全ての画像符号化復号装置501_1〜501_nに共通の初期設定データを含むパケットが格納される領域と、個々の画像符号化復号装置501_1〜501_nに特有の初期設定データを含むパケットが格納される領域の順序は任意である。もちろん、全ての画像符号化復号装置501_1〜501_nに共通の初期設定データを含むパケットや、個々の画像符号化復号装置501_1〜501_nに特有の初期設定データを含むパケットは、それぞれがまとまった領域に格納される必要はなく、パケット単位にばらばらに格納されても構わない。
CPU20は初期設定データを記憶装置30に書き込んで一旦格納した後、バス10を通して、制御装置502を介して信号処理装置500内のレジスタ512に、初期設定データの転送に必要な情報を設定し、画像符号化復号装置501_1を起動する。初期設定データの転送に必要な情報には、初期設定データの総パケット数を示すパケット長、初期設定データが記憶装置30のどのアドレスに格納されているかを示す初期設定起点アドレス、記憶装置30に格納されている初期設定データのエンディアンを示すエンディアンモードなどである。制御装置502は外部バスI/F505を通して前記情報を受け取ると、その情報をレジスタ507に格納する。画像符号化復号装置501_1が起動されると、制御装置502は、初期設定データの転送に必要な情報を自身のレジスタ507から、内部バスI/F506および内部バス504を通して信号処理装置500へ転送した後、信号処理装置500のレジスタ512の起動ビットをセットする。
信号処理装置500は、制御装置502から初期設定データの転送に必要な情報を、内部バス504を通して受け取ると、それらの情報をレジスタ512に格納し、起動ビットを待って初期設定データの転送を開始する。レジスタ512に起動ビットが設定されると、リクエスト生成装置513は、レジスタに設定された、初期設定起点アドレスやパケット長の情報を元に、記憶装置30へのリードリクエストを生成する。生成されたリクエストは、外部バスI/F510を通してバス10へ出力され、記憶装置30へ送付される。より具体的には、リードリクエストは、図示されないバス調停回路に入力されて、他のバス権要求との間で調停を受け、バス権が与えられた後に、記憶装置30へ送られる。但し、これは一例であって、調停方式を含むバスの仕様は任意である。
リードリクエストに従って記憶装置30から読み出されたリードレスポンスはレスポンス処理装置514に入力される。読み出されたリードレスポンスは、レスポンス処理装置514において、エンディアン変換装置515により、エンディアンモード情報に従ってレスポンスデータのエンディアンに変換され、後段の処理に送られる。CBC/CID判定部517では、初期設定データのパケットのCBC/CIDの判定処理が行われる。CBCビットに1が設定されている場合、もしくはCBCビットが0でCIDビットが自身のIDを示している場合に、当該初期設定データのパケットが有効であると判定し、内部バスパケット生成部518へパケットを送付する。内部バスパケット生成部518では、内部モジュールIDビットに設定されたIDに該当する画像処理モジュールの、内部モジュール内アドレスビットに設定されたアドレスを持つレジスタに対して、初期設定データを送付する。
終了情報生成部516は、記憶装置30から転送された初期設定データのパケットをカウントしており、レジスタ512に設定されたパケット長の情報から、最終のパケットを検出する。最終の初期設定データパケットを検出すると、制御装置502に対して、初期設定データの転送が完了したことを示す終了コードを送付する。終了コードは、内部バス504を介して転送されるが、終了情報生成部516から終了コード受け取りモジュール508への専用の信号線を追加しても良い。本実施形態では、パケット長の情報を使用する例について説明したが、従来技術に示されるような、終端パケットを示す情報を用いても構わない。即ち、レジスタ512にパケット長をセットする代わりに、各パケットに終端パケットであるか否かを示すフラグビットを設ける。終了情報生成部516はパケットのフラグビットを監視し、フラグが立って終端パケットであることが検出されると、制御装置502に対して、初期設定データの転送が完了したことを示す終了コードを送付する。
制御装置502の、終了コード受け取りモジュール508は、信号処理装置500からの終了コードを受け取ると、制御モジュール509に対して、初期設定データの転送が終了したことを示す信号を送付する。制御モジュール509は、画像処理モジュール503_1〜503_mに対して、それぞれ起動信号ST_1〜ST_mを送付する。画像処理モジュール503_1〜503_mは、転送された初期設定データの設定値に従って、画像符号化復号処理を開始する。
本実施形態2の主な特徴は、初期設定データのパケットに、全ての画像符号化復号装置501_1〜501_nに共通の設定であることを示すCBCビット及び特定の画像符号化復号装置を示すCIDビットを設けたことと、これに伴って、レスポンス処理装置514にCBC/CID判定部517を設けたことである。
このことによって得られる効果について図5と図6とを用いて説明する。図6は、CBCビットのような、全ての画像符号化復号装置501_1〜501_nに共通の設定であることを示す情報(共有化情報)を利用しない場合(従来技術)の記憶装置30へのパケットの格納状態の一例を示す説明図である。従来技術では、画像符号化復号装置毎に初期設定データを準備する必要がある。そのため、記憶装置30では、画像符号化復号装置501_1のためのパケットのパケット長が共通部分のL0と特有部分の和であるL1であるのと同様に、他の画像符号化復号装置501_2〜501_nにもそれぞれ共通部分のL0を格納する領域が、別途繰り返し必要となる。したがって、初期設定データを記憶装置30に設定するCPU20には、繰り返される、当該L0を格納する領域のそれぞれに、同じ初期設定データを繰り返し書き込む動作が必要とされる。これに対して、本実施形態2によれば、図5に示したように、各画像符号化復号装置に共通の設定に対しては、CBCビットに1を設定し、それぞれの画像符号化復号装置に専用の設定に対してはCBCビットを0に設定し、CIDビットにIDを設定することにより、全ての画像符号化復号装置に共通の設定については1つだけ用意すればよい。このように、初期設定データに必要なメモリ領域を削減することが可能である。したがって、初期設定データを記憶装置30に設定するCPU20の負荷を軽減することが可能となる。
〔実施形態3〕
図7は、実施形態3に係るデータ処理システム100の構成例を示すブロック図であり、図8は、そのデータ処理システム100におけるパケットの構成例を示す説明図である。上記実施形態2では、初期設定データのパケットに、全ての画像符号化復号装置501_1〜501_nに共通の設定であることを示すCBCビット及び特定の画像符号化復号装置を示すCIDビットを設け、これに伴って、レスポンス処理装置514に、CBC/CID判定部517を設けた。
本実施形態3では、画像処理モジュール503_1〜503_mについても、全てについて共通の初期設定データがあるときには、それを示すビットであるMBCをパケットに追加する。これに伴って、内部バスパケット生成部518にMBC判定機能を追加し、内部バスパケット生成・MBC判定部519に変更する。内部バスパケット生成・MBC判定部519からは、各画像処理モジュール503_1〜503_mに対して、レジスタの書込みイネーブル信号であるWE_1〜WE_mをそれぞれ独立に供給する。その他の構成については、図3に示した実施形態2に係るデータ処理システム100と同じであるので、説明を省略する。
図8に示されるパケットの構成例について説明する。図4に示される実施形態2におけるパケットの構成との違いは、最初の32ビットに、CBCとCIDに加えてさらに本実施形態3の特徴であるMBCを有する点である。MBCは画像符号化復号装置501内の画像処理モジュール503_1〜503_mの全てに転送されるパケットであることを示すビットである。その他は、図4に示される実施形態2におけるパケットの構成と同様であるので、説明を省略する。
本実施形態3に係るデータ処理システム100の動作について説明する。基本的には上述の本実施形態2に係るデータ処理システム100の動作と同じであるので、相違する点についてのみ説明する。CPU20が各画像符号化復号装置501_1〜501_nの動作に必要な初期設定データのパケットを生成して、記憶装置30に書き込んで一旦格納するときに、画像符号化復号装置内の全画像処理モジュールに対して共通の設定である場合は、MBCビットを1に設定する。一方、各画像処理モジュールに対して個別の設定である場合は、MBCビットに0を設定し、内部モジュールIDビットに設定先の内部モジュールのIDを設定する。信号処理装置500内のリクエスト生成装置513からのリクエストに応じて記憶装置30から読み出されたリードレスポンスが、レスポンス処理装置514に入力されると、実施形態2と同様の処理が実行される。内部パケット生成部518に代わって設けられる内部パケット生成・MBC判定部519は、入力されたリードレスポンスにおけるMBCビットの判定を行い、その結果に応じて画像処理モジュール503_1〜503_mに対して初期設定データの設定を行う。MBCに1が設定されていれば、全ての画像処理モジュール503_1〜503_mに対して初期設定データを送付する。このとき、全ての書込みイネーブル信号WE_1〜WE_mをアサートする。全ての画像処理モジュール503_1〜503_mについて、同じ内部モジュール内アドレスビットには同じ初期設定データが設定される。このため、全ての画像処理モジュール503_1〜503_mは少なくとも共通に設定されるべき初期設定データを格納するレジスタには、同じ内部モジュール内アドレスが割り付けられていることが望ましい。一方、MBCに0が設定されている場合には、内部モジュールIDビットに設定されたIDに該当する画像処理モジュールの、内部モジュール内アドレスビットに設定されたアドレスに対して、初期設定データを送付する。このときは、書込みイネーブル信号WE_1〜WE_mのうちの対応する書込みイネーブル信号のみがアサートされる。
以上説明したように、本実施形態3の特徴は、上述の実施形態2の特徴に加えて、初期設定データのパケットに、全画像処理モジュールに共通の設定であることを示すMBCビットを設け、これに伴って、レスポンス処理装置514の内部パケット生成部にMBC判定機能を追加したことである。これにより、画像符号化復号装置内の各画像処理モジュール503_1〜503_mに対して共通のデータについても、初期設定データに必要なメモリ領域を削減することが可能となり、したがって、初期設定データを記憶装置30に設定するCPU20の負荷を軽減することが可能となる。1つの画像符号化復号装置においてすべての画像処理モジュール503_1〜503_mに共通の初期設定データを格納する領域が共有化されるからである。さらに、全ての画像符号化復号装置においてすべての画像処理モジュール503_1〜503_mに対する初期設定データが共通である場合には、CBCとMBCを共に1にセットすることにより、記憶装置30における記憶領域を1ヵ所にまとめることができる。このため、初期設定データを記憶装置30に設定するCPU20の負荷をさらに軽減することが可能となる。
〔実施形態4〕
以上説明したように、実施形態2では、初期設定データが全ての画像符号化復号装置501_1〜501_nに共通である場合の実施の形態を示し、実施形態3ではこれに加えて、初期設定データが全ての画像処理モジュール503_1〜503_mに共通である場合について説明した。これに対して本実施形態4では、CBCビット及びCBC/CID判定部517の搭載を前提としない実施の形態について説明する。実施形態1で説明したように、パケットに共有化情報が含まれているとき、その共有化情報が有効であれば当該パケットに含まれるペイロードは、複数のレジスタに共通に設定される。したがって、共有化情報の一例をMBCとし、全ての画像処理モジュール503_1〜503_mのレジスタに共通のレジスタに、同じ初期設定データが設定される場合にも、同様に適用することができる。
図9は、実施形態4に係るデータ処理システムの構成例を示すブロック図である。図7に示した実施形態3に係るデータ処理システム100との相違点は、CBC/CID判定部517を備えない点である。他の構成については、実施形態3に係るデータ処理システム100と同じであるので、説明を省略する。なお、本実施形態4では、複数の画像符号化復号装置501_1〜501_nを設ける必要はない。1個の画像符号化復号装置501_1のみを備えるデータ処理システム100であっても、以下に説明する効果を奏する。
図10は、本実施形態4に係るデータ処理システム100におけるパケットの構成例を示す説明図である。図8に示される実施形態3におけるパケットの構成との違いは、CBCビットを備えない点である。本実施形態4に係るデータ処理システム100は、CBCビットについての判定は行わず、CIDが自身のIDと一致するときに、入力されたリードレスポンスにおけるMBCビットの判定を行う。MBCに1が設定されていれば、全ての画像処理モジュール503_1〜503_mに対して初期設定データを送付する。このとき、全ての書込みイネーブル信号WE_1〜WE_mがアサートされ、全ての画像処理モジュール503_1〜503_mについて、同じ内部モジュール内アドレスビットが割り付けられたレジスタには、同じ初期設定データが設定される。一方、MBCに0が設定されている場合には、内部モジュールIDビットに設定されたIDに該当する画像処理モジュールの、内部モジュール内アドレスビットに設定されたアドレスが割り付けられたレジスタに対して、初期設定データを送付する。このときは、書込みイネーブル信号WE_1〜WE_mのうちの対応する書込みイネーブル信号のみがアサートされる。
これにより、1つの画像符号化復号装置内の各画像処理モジュール503_1〜503_mに対して共通のデータについて、初期設定データに必要なメモリ領域を削減することが可能となり、したがって、初期設定データを記憶装置30に設定するCPU20の負荷を軽減することが可能となる。
〔実施形態5〕
実施形態2〜4では、全ての画像符号化復号装置501_1〜501_nまたは全ての画像処理モジュール503_1〜503_mに対して共通の初期設定データについて、それを格納する記憶装置30のメモリ領域を削減し、CPU20の負荷を軽減する技術について説明した。本実施形態では、「全て」に限定することなく、画像符号化復号装置501_1〜501_nのうちの複数の画像符号化復号装置に共通、または、画像処理モジュール503_1〜503_mのうちの複数の画像処理モジュールに共通の場合にも適用することができる、実施の形態について説明する。
図11は、実施形態5に係るデータ処理システム100の構成例を示すブロック図であり、図12は、そのデータ処理システム100におけるパケットの構成例を示す説明図である。上記実施形態3では、初期設定データのパケットに、全ての画像符号化復号装置501_1〜501_nに共通の設定であることを示すCBCビット及び特定の画像符号化復号装置を示すCIDビットを設け、これに伴って、レスポンス処理装置514に、CBC/CID判定部517を設けた。本実施形態5では、これに代えて、CID/CIDM判定部800を設ける。その他の構成については、図7に示した実施形態3に係るデータ処理システム100と同じであるので、説明を省略する。
CID/CIDM判定部800の構成について説明する。CID/CIDM判定部800は、実施形態1において、図2を引用して説明した転送回路2_1と同様に構成することができる。図2における、共有化情報、宛先識別子、宛先アドレス、ペイロードは、それぞれ、CIDM、CID、内部モジュールIDと内部モジュール内アドレス、データ[63:0]に対応する。CIDと画像符号化復号装置に固有のIDは、マスクであるCIDMとの間でビット毎にANDされ、2ビットの比較回路8_1に入力される。比較結果が一致の場合は、当該画像符号化復号装置の画像処理モジュール503_1〜503_mのレジスタに対して、ペイロードである初期設定データが転送される。ここで、ビット数を2としたのは一例であって、任意のビット数に変更することができる。また、マスクをAND演算に代えてOR演算としてもよい。正論理とするか負論理とするかは任意である。このように、CIDのうちの一部のビットを画像符号化復号装置の固有のIDとの比較の対象から除外することによって、複数の画像符号化復号装置が共通の初期設定データの設定対象であることを示すことができる。マスク情報の与え方は、対象のデータ処理装置を指定する際の自由度に応じて、適宜変更することができる。例えば、CIDとCIDMをそれぞれ4ビットとし、下位2ビットをマスクすれば、4個の画像符号化復号装置ごとに同じ初期設定データを設定することができる。このとき、内部バスパケット生成・MBC判定部519は、実施形態3で説明したのと同様の動作により、内部モジュールIDに対応する1個の画像処理モジュールまたはMBCが1であれば全ての画像処理モジュールに対して、ペイロードである初期設定データを転送する。
図12に示されるパケットの構成例について説明する。図8に示される実施形態3におけるパケットの構成との違いは、最初の32ビットに、CBCに代えて、CIDに対するマスクビットであるCIDMが格納される点である。その他は、図8に示される実施形態3におけるパケットの構成と同様であるので、説明を省略する。
本実施形態5に係るデータ処理システム100の動作について説明する。基本的には上述の実施形態3に係るデータ処理システム100の動作と同じであるので、相違する点についてのみ説明する。CPU20が画像符号化復号装置501の動作に必要な初期設定データのパケットを図12に示すようなフォーマットに従って生成して、記憶装置30に書き込んで一旦格納する。このときに、複数の画像符号化復号装置に対して共通の設定値である場合、CIDおよびCIDMのビットを用いて同じ初期設定データを設定する画像符号化復号装置を指定する。指定方法は、例えば、CIDMのビットを2’b01に設定し、CIDビットを2’b01に設定する。ここで、「2’b」は2桁の2進数を示す表記である。CIDMのビット1を0に設定したことで、CIDのビット1は0でマスクされる。これにより、CIDのビット1はワイルドカードと同様の扱いとなり、CIDが2’b01および2’b11の画像符号化復号装置に対して初期設定データが設定される。各画像符号化復号装置に対して個別に設定する場合は、CIDMの全ビットに1を設定し、CIDビットに設定先の画像符号化復号装置のIDを格納する。また、実施形態3と同様に、画像符号化復号装置501内の全画像処理モジュール503_1〜503_mに対して共通の設定である場合は、MBCビットを1に設定する。一方、各画像処理モジュール503_1〜503_mに対して個別の設定である場合は、MBCビットに0を設定し、内部モジュールIDビットに設定先の内部モジュールのIDを設定する。
画像符号化復号装置は、実施形態3のデータ処理システム100と同様の動作で、記憶装置30から初期設定データのパケットを読み出すと、CID/CIDM判定部800により、自身宛のパケットであるか否かを判定する。例えば、CID&CIDM(CIDとCIDMとのビット毎の論理積)と自身のID&CIDM(自身のIDとCIDMとのビット毎の論理積)とが等しければ自身宛のパケットであると判定し、自身の画像処理モジュールへ初期設定データを転送する。前述の例のように、CIDMが2’b01、CIDが2’b01、自身のIDが2’b01の場合、CID&CIDM=2’b01、自身のID&CIDM=2’b01となり、両者が等しいため、自身宛のパケットであると判定する。また、CIDMが2’b01、CIDが2’b01、自身のIDが2’b10の場合、CID&CIDM=2’b01、自身のID&CIDM=2’b00となり、両者の値は異なるため、自身宛のパケットではないと判定する。自身宛のパケットであると判定されたリードレスポンスは、内部パケット生成・MBC判定部519に転送される。
内部パケット生成・MBC判定部519は、実施形態3と同様に入力されたリードレスポンスにおけるMBCビットの判定を行い、その結果に応じて画像処理モジュール503_1〜503_mに対して初期設定データの設定を行う。MBCに1が設定されていれば、全ての画像処理モジュール503_1〜503_mに対して初期設定データを送付する。このとき、全ての書込みイネーブル信号WE_1〜WE_mをアサートする。全ての画像処理モジュール503_1〜503_mについて、同じ内部モジュール内アドレスビットには同じ初期設定データが設定される。一方、MBCに0が設定されている場合には、内部モジュールIDビットに設定されたIDに該当する画像処理モジュールの、内部モジュール内アドレスビットに設定されたアドレスに対して、初期設定データを送付する。このときは、書込みイネーブル信号WE_1〜WE_mのうちの対応する書込みイネーブル信号のみがアサートされる。
これにより、1つの画像符号化復号装置に対する設定または全ての画像符号化復号装置に共通の設定のいずれかが指定可能であるだけではなく、一部の複数個の画像符号化復号装置に共通の設定、例えば奇数のCIDを持つ画像符号化復号装置への設定や4の倍数のCIDを持つ画像符号化復号装置への設定等も指定可能となる。このように、実施形態2〜4と比較して同じ初期化データを設定する対象の画像符号化復号装置の指定について、自由度を持たせることができる。なお、本実施形態5では、MBCを併せて設ける例を示したが、実施形態2と同様に、MBC判定を省略することもできる。また、実施形態4と同様にCIDについてではなく、画像処理モジュール503_1〜503_mについて共有化情報としてのマスクを適用することもできる。その場合には、内部モジュールIDに対応するマスクビットをパケット内に持たせ、実施形態3及び実施形態4のパケット・MBC判定部519のMBC判定機能を、図2と同様の回路機能に置き換える。
〔実施形態6〕
実施形態2〜5では、全てまたは一部の複数の画像符号化復号装置501_1〜501_n、或いは、全てまたは一部の複数の画像処理モジュール503_1〜503_mに共通する初期設定データについて、それを格納する記憶装置30のメモリ領域を削減し、CPU20の負荷を軽減する技術について説明した。これをさらに発展させて、CIDや内部モジュールIDを内部アドレスの上位ビットとみなす実施の形態について説明する。また、内部アドレスのうち、任意のビットをマスクすることができるアドレスマスクビットを設ける。
図13は、本実施形態6に係るデータ処理システムにおける、内部バスのアドレスの構成例を示す説明図である。内部バス504の32ビットのアドレスの上位2ビット[31:30]をCID、続くアドレス4ビット[29:26]を内部モジュールID、残る26ビット[25:0]を内部モジュール内アドレスとする。画像符号化復号装置501_1〜501_nごとに、内部バス504は分離されているので、本来ならば統一されたアドレス空間を定義する必要はないが、複数の画像符号化復号装置501_1〜501_nのそれぞれのアドレス空間が、上位ビットのCIDで区別されるように構成されている。上述のようにCIDを2ビットとするのは、画像符号化復号装置の数(並列度)が多くても4まで(n≦4)の場合である。
図14は、このときのパケットの構成例を示す説明図である。最初の32ビットをアドレスマスクビットとして使用し、2番目の32ビットを内部アドレスとして使用する。続く64ビットは実施形態2〜5と同様に初期設定データを格納するビットとして使用する。
図15は、本実施形態6に係るデータ処理システム100の構成例を示すブロック図である。図3に示した実施形態2に係るデータ処理システム100との相違点は、CBC/CID判定部517に代えて、アドレスマスク判定部(CID部)1000、及び、画像処理モジュール503_1〜503_m側のアドレスマスク判定部(内部モジュールID部)1001_1〜1001_mをそれぞれ設けている点である。他の構成については、図3を引用して説明した実施形態2に係るデータ処理システム100と同様であるので、説明を省略する。アドレスマスク判定部(CID部)1000は、レスポンス処理装置514内に設けられ、アドレスマスク判定部(内部モジュールID部)1001_1〜1001_mは、画像処理モジュール503_1〜503_mにそれぞれ設けられる。
図16は、CID部と内部モジュールID部のアドレスマスク判定部の構成例を模式的に示すブロック図である。アドレスマスク判定部(CID部)1000において、信号処理装置500内のリクエスト生成装置513からのリクエストに応じて記憶装置30から読み出されたリードレスポンスが、実施形態2で説明したエンディアン変換処理を施された後に入力される。リードレスポンスは、アドレスマスクと内部アドレスに分離される。アドレスマスクの上位2ビットは、CIDのマスクとして機能する。アドレスマスク判定部(CID部)1000は、アドレスマスクの上位2ビット[31:30]と自身のID、リードレスポンスに含まれる内部アドレスの上位2ビット[31:30]と、それぞれのビット毎の論理積(AND)演算をとり、その結果を比較する2ビットの比較回路8_2を備える。アドレスマスク判定部(CID部)1000は、比較結果であるイネーブル信号と、アドレスマスクのうちの下位の30ビット[29:0]と、内部アドレスのうちの下位の30ビット[29:0]と、ペイロードデータ[63:0]とを、同じレスポンス処理装置514内の内部バスインターフェース(I/F)511から内部バス504に出力する。これにより、実施形態5で説明したCIDMと同様の機能が実現される。
図16のアドレスマスク判定部(内部モジュールID部)1001は、各画像処理モジュール503_1〜503_m側のアドレスマスク判定部(内部モジュールID部)1001_1〜1001_mの一構成例である。アドレスマスク[29:0]のうちの上位4ビットは、内部モジュールIDについてのマスクとして機能する。内部アドレス[29:0]のうちの上位4ビットは、ペイロードデータ[63:0]を書き込む対象の内部モジュールIDであり、残りの26ビットは内部アドレスとして機能する。アドレスマスク判定部(内部モジュールID部)1001は、アドレスマスクの4ビット[29:26]と自身のID、リードレスポンスに含まれる内部アドレスの4ビット[29:26]と、それぞれのビット毎の論理積(AND)演算をとり、その結果を比較する4ビットの比較回路8_3を備える。比較回路8_3の出力(比較結果)は、対応する画像処理モジュール503_1〜503_m内のレジスタの書込みイネーブル信号である。これにより、内部モジュールID部についてのマスクも、CIDに対するマスクと同じアドレス空間内での制御とすることができる。
本実施形態6に係るデータ処理システム100の動作について説明する。CPU20は、画像符号化復号装置501の動作に必要な初期設定データのパケットを図14に示すようなフォーマットに従って生成し、記憶装置30に書き込んで一旦格納する。初期設定データのパケットを生成する際には、複数の画像符号化復号装置に対して共通の設定値である場合、アドレスマスクのビットを用いて初期設定データを設定する画像符号化復号装置を指定する。指定方法は、例えば、アドレスマスクのビット[31:30]を2’b00に、ビット[29:0]を全て1に設定する。アドレスマスクのビット[31:30]を2’b00に設定したことで、画像符号化復号装置のIDを示す、内部アドレスのビット[31:30]は2’b00でマスクされることを示す。これにより、内部アドレスのビット[31:30]はワイルドカードと同様の扱いとなり、内部アドレスのビット[31:30]が2’b00、2’b01、2’b10および2’b11、すなわち全ての画像符号化復号装置内の、内部アドレスのビット[29:0]に設定された値が示す内部アドレスに対して、ペイロードデータ[63:0]に含まれる初期設定データが設定される。各画像符号化復号装置に対して個別に設定する場合は、アドレスマスクのビット[31:30]の全ビットに1(2’b11)を設定し、内部アドレスのビット[31:30]に設定先の画像符号化復号装置のIDを格納する。以上のように、画像符号化復号装置501は、実施形態2と同様の動作で、記憶装置30から初期設定データのパケットを読み出すと、アドレスマスク判定部1000により、自身宛のパケットであるか否かを判定する。さらに、アドレスマスク判定部1001により、画像処理モジュール503_1〜503_mのうち、共通の初期設定データが設定される複数の画像処理モジュールを指定して、初期設定データを設定する。
本実施形態6では、初期設定データのパケットに設けたアドレスマスクビットにより、アドレスの任意のビットをマスクすることが可能とした。このことにより、繰り返しのアドレス空間があった場合、任意のグルーピングでマスクすることが可能となる。例えば図17に示すように、ModuleA〜ModuleDのアドレスが信号処理装置毎に繰り返されるような繰り返しのアドレス空間があった場合、画像符号化復号装置501_1と画像符号化復号装置501_3のModuleCとModuleDに対して初期設定データを設定するといった指定が可能となる。具体的な例を挙げて説明すれば、例えば、図14の内部アドレスのビットのうち、ビット[31:30]が画像符号化復号装置のIDを示すビットであり値0〜3がそれぞれ画像符号化復号装置501_1〜501_4に対応する。また、ビット[29:28]が内部モジュールのIDを示すビットであり2’b00、2’b01、2’b10、2’b11がそれぞれ、ModuleA、ModuleB、ModuleC、ModuleDを指すと仮定する。アドレスマスクのビット[31:30]に2’b01を設定し、内部アドレスのビット[31:30]に2’b00を設定することで、IDが2’b00と2’b10の画像符号化復号装置すなわち画像符号化復号装置501_1および501_3に初期設定データのパケットを転送することができる。さらにアドレスマスクのビット[29:28]に2’b10を設定し、内部アドレスのビット[29:28]に2’b10を設定することで、内部アドレスのビット[29:28]が2’b10と2’b11のモジュールすなわちModuleCとModuleDに対して初期設定データを設定することが可能となる。
以上説明したように、データ処理装置(画像符号化復号装置501_1〜501_n)が複数のデータ処理モジュール(画像処理モジュール503_1〜503_m)を含む場合においても、複数のデータ処理装置、複数のデータ処理モジュールのうちの一部のみの間で、設定データを共有することができる。そのため、共有化情報とモジュール共有化情報とをそれぞれ1ビットのフラグとする、最も単純な場合と比較して、自由度を向上することができる。
〔実施形態7〕
図18は、本実施形態7に係るデータ処理システム100の構成例を示すブロック図である。図18に示す本実施形態7に係るデータ処理システム100は、CPU20と記憶装置30とが接続されるバス10と、複数の画像符号化復号装置501_1〜501_nとの間に、初期設定データ用のキャッシュメモリ1203を有する初期設定データキャッシュ1201を備える。複数の画像符号化復号装置501_1〜501_nは、初期設定データキャッシュ1201に接続される。画像符号化復号装置501_1〜501_nは、実施形態2〜6に示したいずれの形態でもよい。
本実施形態7に係るデータ処理システム100の動作について説明する。
CPU20は、各画像符号化復号装置501_1〜501_nの動作に必要な初期設定データのパケットを、記憶装置30に書き込んだ後、制御装置502(不図示)を介して信号処理装置500(不図示)内のレジスタ512(不図示)に、初期設定データの転送に必要な情報を設定し、各画像符号化復号装置501_1〜501_nを起動する。これに応じて各画像符号化復号装置501_1〜501_nは、それぞれリクエスト生成装置513_1〜513_n(不図示)からリードリクエストを初期設定データキャッシュ1201へ出力する。
本実施形態7によれば、1つの画像符号化復号装置が記憶装置30から転送したリードレスポンス(初期設定データを含むパケット)は、その画像符号化復号装置に転送されるとともに、初期設定データキャッシュ1201内のキャッシュメモリ1203に格納される。他の画像符号化復号装置からパケットのリードリクエストがあったときには、対応するリードレスポンスが初期設定データキャッシュ1201内のキャッシュメモリ1203にキャッシュされているか否かを判定した後に、キャッシュされていればキャッシュメモリ1203から初期設定データを転送する。例えば、画像符号化復号装置501_1が記憶装置30から初期設定データを転送した場合、この初期設定データは、初期設定データキャッシュ1201内のキャッシュメモリ1203に格納されると共に、画像符号化復号装置501_1へ転送される。
ここで、画像符号化復号装置501_1は実施形態2〜6に示したいずれの形態の画像符号化復号装置であってもよいが、仮に、CBC/CID判定部517_1〜517_nを備えるとする。また、画像符号化復号装置501_1が要求するパケットが、CBCがセットされ且つCIDが画像符号化復号装置501_1を指すパケットであるとする。このとき、最初に画像符号化復号装置501_1がパケットを要求したとすると、そのパケットに含まれる初期値設定データは、画像符号化復号装置501_1に転送されるとともに、初期設定データキャッシュ1201に格納される。その後、他の画像符号化復号装置501_2〜501_nがパケットを要求すると、CBCがセットされていれば、その時の初期設定起点アドレスは、画像符号化復号装置501_1が最初に要求したパケットと同じ値となるから、キャッシュヒットし、初期設定データキャッシュ1201内のキャッシュメモリ1203から、要求した他の画像符号化復号装置501_2〜501_nに供給される。このとき、パケットには画像符号化復号装置501_1を指すCIDが含まれるが、CBCがセットされているので、CIDの値に関わらず、他の画像符号化復号装置501_2〜501_nにも同じ初期値設定データが転送される。このように、画像符号化復号装置501_2〜501_nが、それより以前に画像符号化復号装置501_1が転送した初期設定データと同一の初期設定データのリードを行う場合には、要求する初期設定データは既に初期設定データキャッシュ1201内のキャッシュメモリ1203に格納されている。そのため、記憶装置30にはアクセスせずに、初期設定データキャッシュ1201内のキャッシュメモリ1203から初期設定データが読み出され、各画像符号化復号装置用のCBC/CID判定部517_2〜517_nを通して画像符号化復号装置501_2〜501_nの初期設定用レジスタに転送される。
CBC/CID判定部517_1〜517_nに代えて、内部バスパケット生成・MBC判定部519_1〜519_n、或いは、アドレスマスク判定部1000_1〜1000_nを備えてもよい。
このことにより、実施形態2〜6と比較して、記憶装置30にアクセスする初期設定のデータ量を最大1/nに削減することが可能となる。
〔実施形態8〕
CBC/CID判定部517_1〜517_n、内部バスパケット生成・MBC判定部519_1〜519_n、或いは、アドレスマスク判定部1000_1〜1000_nは、データ処理システム100の中のどこに備えてもよい。
図19は、実施形態8に係るデータ処理システムの構成例を示すブロック図である。本実施形態8では、CBC/CID判定部517_1〜517_n、内部バスパケット生成・MBC判定部519_1〜519_n、或いは、アドレスマスク判定部1000_1〜1000_nに相当する、宛先判定部1202を初期設定データキャッシュ1201内に備える。
上記実施形態7と同様に、実施形態2〜6と比較して、記憶装置30にアクセスする初期設定のデータ量を最大1/nに削減することが可能となる。
〔実施形態9〕
図20は、実施形態9に係るデータ処理システムの構成例を示すブロック図である。図20は、複数の画像符号化復号装置501_1〜501_nに対して共通の初期設定データリードを行う、初期設定データリードモジュール1200を備える。画像符号化復号装置501_1〜501_nは、実施形態2〜6に示したいずれの形態でもよい。初期設定データリードモジュール1200は、CBC/CID判定部517、CID/CIDM判定部800またはアドレスマスク判定部1000に相当する、宛先判定部1202を備える。宛先判定部1202は、実施形態2〜6に示したいずれかの方法でパケットの宛先を判定し、対象の画像符号化復号装置にパケットを転送する。
本実施形態9に係るデータ処理システム100の動作について説明する。
CPU20は、各画像符号化復号装置501_1〜501_nの動作に必要な初期設定データのパケットを、記憶装置30に書き込んだ後、各画像符号化復号装置501_1〜501_n制御装置502(不図示)を介して信号処理装置500(不図示)内のレジスタ512(不図示)に、初期設定データの転送に必要な情報を設定し、各画像符号化復号装置501_1〜501_nを起動する。これに応じて各画像符号化復号装置501_1〜501_nからそれぞれ出力されるリードリクエストは、図示されないバス調停回路または初期設定データリードモジュールに入力されて調停を受けて、バス10を介して記憶装置30に供給される。リードリクエストに応答して読み出されたリードレスポンスは、初期設定データリードモジュール1200に入力され、宛先判定部1202で宛先を判定される。
例えば宛先判定部1202が、CBC/CID判定部517と同様の機能を持つ場合には、CBCの有無にしたがって、全ての画像符号化復号装置501_1〜501_nにパケットを転送するか、CIDで指定される1個の画像符号化復号装置にパケットを転送するかを判定し、判定結果に従ってパケットを転送する。他の画像符号化復号装置からのリードリクエストに対するリードレスポンスによって不要となったリードリクエストは、その時点で無効化または取消しの処理をされてもよいし、画像符号化復号装置501_1〜501_nからのリードリクエストとリードレスポンスを順次行うように構成して、過去のリードレスポンスによって不要となったリードリクエストが発行されないように構成してもよい。また、画像符号化復号装置501_1〜501_nではなく、初期設定データリードモジュール1200内に、レジスタやリクエスト生成装置を配置して、初期設定データリードモジュール1200がリードリクエストを発行する構成としてもよい。宛先判定部1202が、CID/CIDM判定部800またはアドレスマスク判定部1000と同様の機能を持つ場合も同様である。
実施形態2〜6では、各画像符号化復号装置内501_1〜501_nに初期設定データリードを行う信号処理装置500_1〜500_nを配置しているため、それぞれの画像符号化復号装置が初期設定データをリードする構造である。言い換えれば、各画像符号化復号装置に共通の初期設定データであっても、画像符号化復号装置の個数分リードされてしまう。本実施形態では、共通の初期設定リードモジュールを配置したことにより、記憶装置30に格納された初期設定データをリードして、設定されたCBC/CIDに応じてそれぞれの画像符号化復号装置に分配することが可能となる。実施形態7及び8と同様に、初期設定データを1度だけリードすればよい。これにより、バス10のバンド幅を削減することができると共に、複数の画像符号化復号装置に対して、初期設定リードモジュールが1つでよいため、回路規模も削減することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、ブロック図に示したブロック分割は、単なる一例に過ぎず、1つのブロックの一部または全部の機能を他のブロックの機能と一体に実現した別のブロックに変更して実現するなどの変更は、適宜任意に行うことができる。また、一実装例として示される論理回路を含むブロック図では、当該論理回路を正論理で構成するか負論理で構成するか、あるいは同じ機能を異なる論理回路で実装するかなどは、任意に変更可能な事項である。
1_1〜1_n データ処理装置
2_1〜2_n 転送回路
3_1〜3_n 設定レジスタ
4_1〜4_n データ処理回路(PE:Processing Element)
5_1〜5_n レジスタ群
6_1 アドレスデコーダ
7_1 書き込みバッファ
8_1、8_2、8_3 比較回路
9_1 書き込みイネーブル(WE:Write Enable)生成回路
10 バス
20 CPU
30 記憶装置
501_1〜501_n 画像符号化復号装置
502 制御装置
503_1〜503_m 画像処理モジュール
504 内部バス
505、510 外部バスインターフェース(I/F)
506、511 内部バスインターフェース(I/F)
507、512 レジスタ
508 終了コード受け取りモジュール
509 制御モジュール
513 リクエスト生成装置
514 レスポンス処理装置
515 エンディアン変換装置
516 終了情報生成部
517 CBC/CID判定部
518 内部バスパケット生成部
519 内部バスパケット生成・MBC判定部
800 CID/CIDM判定部
1000 アドレスマスク判定部(CID部)
1001_1〜1001_m アドレスマスク判定部(内部モジュールID部)
1200 初期設定データリードモジュール
1201 初期設定データキャッシュ
1202_1〜1202_n 宛先判定部
1203 キャッシュメモリ
100 データ処理システム

Claims (14)

  1. 複数の設定レジスタを有し当該設定レジスタに設定される設定データに基づくデータ処理を並列的に実行可能な複数のデータ処理装置を備え、
    前記複数のデータ処理装置は、それぞれ固有の識別子を有し、
    前記データ処理装置は、前記設定データを分散して含む複数のパケットを受信して前記複数の設定レジスタに転送する転送回路を備え、
    前記パケットは、ペイロードと、共有化情報と、宛先識別子と、宛先アドレスとを含み、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる情報のうち、共有化情報を少なくとも含む情報に基づいて、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち自身を含む少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであると判断されるときには、当該ペイロードを宛先アドレスに対応する設定レジスタに設定し、
    当該パケットに含まれる前記共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置に共通に設定されるべき設定データではないことを示すときには、宛先識別子と自身の識別子との一致を条件として、当該ペイロードを宛先アドレスに対応する設定レジスタに設定する、
    データ処理システム。
  2. 請求項1において、前記データ処理システムは、前記複数のデータ処理装置が接続され、前記パケットが格納される記憶装置と中央処理装置とがそれぞれ接続可能な、バスをさらに備え、
    前記データ処理装置は、パケット設定レジスタとパケット要求生成回路とをさらに備え、
    前記パケット設定レジスタは、前記記憶装置において自身に必要な設定データを含むパケットが格納される場所に関する情報を少なくとも含むパケット格納情報を、前記中央処理装置から供給されることによって保持するためのレジスタであり、
    前記パケット要求生成回路は、前記パケット設定レジスタに格納される前記パケット格納情報に基づいて、前記記憶装置から前記パケットを読み出すための前記バスへの要求信号を生成する回路であり、
    前記転送回路は、自身に必要な設定データを含む全てのパケットが前記要求信号に応答して受信されたことを設定終了情報として検出し、
    前記データ処理装置は、前記設定終了情報が検出された後に、前記複数の設定レジスタに設定された設定データに基づくデータ処理を開始する、
    データ処理システム。
  3. 請求項2において、
    前記パケット格納情報は、自身に必要な設定データを含むパケットが格納される前記記憶装置における起点アドレスとパケット長を含み、
    前記パケット設定レジスタは、前記パケット要求生成回路に対して前記要求信号の生成を許可する起動情報を、前記中央処理装置から供給されることによって保持可能であり、
    前記パケット要求生成回路は、前記パケット設定レジスタに前記起動情報がセットされた後に、前記起点アドレスから順次、前記パケット長に達するまでの複数のパケットについての要求信号を生成し、
    前記転送回路は、前記要求信号に応答して受信したパケットをカウントして、前記パケット長に達したことを前記設定終了情報として検出する、
    データ処理システム。
  4. 請求項2において、
    前記パケットは、終端フラグをさらに含み、
    前記パケット格納情報は、自身に必要な設定データを含むパケットが格納される前記記憶装置における起点アドレスを含み、
    前記パケット設定レジスタは、前記パケット要求生成回路に対して前記要求信号の生成を許可する起動情報を、前記中央処理装置から供給されることによって保持可能であり、
    前記パケット要求生成回路は、前記パケット設定レジスタに前記起動情報がセットされた後に、前記起点アドレスから順次、前記設定終了情報が検出されるまでの複数のパケットについての要求信号を生成し、
    前記転送回路は、前記要求信号に応答して受信したパケットに含まれる終端フラグに基づいて前記設定終了情報を検出する、
    データ処理システム。
  5. 請求項3において、
    前記パケット格納情報は、パケットのエンディアンモードをさらに含み、
    前記転送回路は、エンディアン変換回路をさらに含み、
    前記エンディアン変換回路は、前記パケット設定レジスタに格納される前記エンディアンモードに基づいて、前記受信したパケットのエンディアンを変換する回路である、
    データ処理システム。
  6. 請求項2において、
    前記データ処理装置は、複数のデータ処理モジュールと前記複数のデータ処理モジュールが接続される内部バスとをさらに備え、前記転送回路と前記パケット設定レジスタと前記パケット要求生成回路は、前記内部バスに接続され、前記複数の設定レジスタはそれぞれのデータ処理モジュールにおけるデータ処理を制御するために前記複数のデータ処理モジュールに分散して設けられ、
    前記複数のデータ処理モジュールは、それぞれ固有の内部モジュール識別子を有し、
    前記パケットは、モジュール共有化情報をさらに含み、前記宛先アドレスは宛先内部モジュール識別子と内部モジュール内宛先アドレスとで構成され、
    前記転送回路は、受信したパケットに含まれるペイロードが、当該転送回路を備えるデータ処理装置自身に設定されるべき設定データであるとき
    当該パケットに含まれるモジュール共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理モジュールに共通に設定されるべき設定データであることを示すときには、当該ペイロードを対応する複数のデータ処理モジュールの設定レジスタに並列に設定し、
    当該パケットに含まれる前記モジュール共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理モジュールに共通に設定されるべき設定データではないことを示すときには、前記宛先内部モジュール識別子が示すデータ処理モジュールの、前記内部モジュール内宛先アドレスが示す設定レジスタに、当該ペイロードを設定する、
    データ処理システム。
  7. 請求項1において、
    前記複数のデータ処理装置がそれぞれ有する前記固有の識別子と前記宛先識別子と前記共有化情報とは、すべてが互いに同じビット数のディジタル値であり、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる共有化情報によって同じパケットに含まれる宛先識別子をマスクして、自身に固有の識別子と比較し、マスクされていないビットで一致することを条件として、当該ペイロードを宛先アドレスに対応する設定レジスタに設定する、
    データ処理システム。
  8. 請求項6において、
    前記内部バスのアドレスは、複数ビットのディジタル値であり、前記内部バスのアドレスの一部のk1ビットが前記複数のデータ処理装置がそれぞれ有する前記固有の識別子に割り付けられ、他の一部のk2ビットが前記複数のデータ処理モジュールがそれぞれ有する内部モジュール識別子に割り付けられ、残りの少なくとも一部のk3ビットが前記設定レジスタを示しうる内部モジュール内宛先アドレスに割り付けられ(k1,k2,k3はそれぞれ2以上の整数)、
    前記パケットは、アドレスマスクと宛先内部アドレスと前記ペイロードとを含み、
    前記アドレスマスクと前記宛先内部アドレスとは互いに同じビット数のディジタル値であって、前記内部バスのアドレスに対応し、
    前記アドレスマスクのうち、前記k1ビットが前記共有化情報であり、前記k2ビットが前記モジュール共有化情報であり、
    前記宛先内部アドレスのうち、前記k1ビットが前記宛先識別子であり、前記k2ビットが前記宛先内部モジュール識別子であり、前記k3ビットが前記内部モジュール内宛先アドレスであり、
    前記データ処理装置は、当該パケットに含まれるアドレスマスクによって同じパケットに含まれる宛先内部アドレスをマスクして、前記k1ビットを自身に固有の識別子と比較し、前記k1ビットのうちマスクされていないビットにおいて一致するとき、前記k2ビットのうちのマスクされていないビットにおいて、宛先内部アドレスと一致する、内部モジュール識別子を有するデータ処理モジュールの前記内部モジュール内宛先アドレスが示す設定レジスタに、当該ペイロードを設定する、
    データ処理システム。
  9. 請求項6において、
    前記複数のデータ処理モジュールは、それぞれ当該データ処理モジュールが有する設定レジスタに設定された設定データに基づく画像処理を実行する回路であり、
    前記設定データの前記設定レジスタへの設定は、ピクチャごとに更新可能とされる、
    データ処理システム。
  10. 複数のデータ処理モジュールと転送回路と、前記複数のデータ処理モジュールと前記転送回路とが接続される内部バスとを備える、1または複数個のデータ処理装置を備え、
    前記複数のデータ処理モジュールは、それぞれに前記内部バスにおけるアドレスが割り付けられた複数の設定レジスタをそれぞれ有し、前記設定レジスタに設定された設定データに基づくデータ処理をそれぞれ実行する回路であり、
    前記転送回路は、前記設定データを分散して含む複数のパケットを受信して前記複数の設定レジスタに転送する回路であり、
    前記複数のデータ処理モジュールは、それぞれ固有の内部モジュール識別子を有し、
    前記パケットは、モジュール共有化情報と宛先内部モジュール識別子と内部モジュール内宛先アドレスとペイロードとを含み、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれるモジュール共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理モジュールに共通に設定されるべき設定データであることを示すときには、当該ペイロードを対応する複数のデータ処理モジュールの設定レジスタに並列に設定し、
    当該パケットに含まれる前記モジュール共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理モジュールに共通に設定されるべき設定データではないことを示すときには、前記宛先内部モジュール識別子が示すデータ処理モジュールの、前記内部モジュール内宛先アドレスが示す設定レジスタに、当該ペイロードを設定する、
    データ処理システム。
  11. 複数の設定レジスタを有し当該設定レジスタに設定される設定データに基づくデータ処理を並列的に実行可能な複数のデータ処理装置と、前記複数のデータ処理装置が接続され記憶装置と中央処理装置とがそれぞれ接続可能なバスと、前記設定データを分散して含む複数のパケットを受信して前記複数の設定レジスタに転送して設定する転送回路とを備え、
    前記複数のデータ処理装置は、それぞれに固有の識別子が付され、前記記憶装置において自身に必要な設定データを含むパケットが格納される場所に関する情報を少なくとも含むパケット格納情報を前記中央処理装置から供給されることによって保持するパケット設定レジスタと、前記パケット設定レジスタに格納される前記パケット格納情報に基づいて、前記記憶装置から前記パケットを読み出すための前記バスへの要求信号を生成するパケット要求生成回路とをそれぞれ備え、
    前記パケットは、ペイロードと、共有化情報と、宛先識別子と、宛先アドレスとを含み、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであることを示すときには、該当する複数のデータ処理装置において宛先アドレスに対応する設定レジスタに当該ペイロードを設定し、
    当該パケットに含まれる前記共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置に共通に設定されるべき設定データではないことを示すときには、当該パケットに含まれる宛先識別子が示すデータ処理装置に備えられ、当該パケットに含まれる宛先アドレスに対応する設定レジスタに、当該ペイロードを設定する、
    データ処理システム。
  12. 請求項11において、前記データ処理システムは、前記複数のデータ処理装置と前記バスとの間に配置され、前記転送回路を含む、設定データリードモジュールをさらに備え、
    前記複数のデータ処理装置からそれぞれ出力される前記要求信号は、調停を受けて前記バスを介して前記記憶装置に供給され、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであることを示すときには、該当する複数のデータ処理装置に対して並列に当該ペイロードを転送する、
    データ処理システム。
  13. 請求項11において、前記データ処理システムは、前記複数のデータ処理装置と前記バスとの間に配置され、前記転送回路とキャッシュメモリとを含む、設定データリードモジュールをさらに備え、
    前記設定データリードモジュールは、前記複数のデータ処理装置からそれぞれ出力される前記要求信号を、前記キャッシュメモリに入力してキャッシュ制御をさせ、キャッシュミスの場合には、前記要求信号に対応するパケットを、前記バスを介して前記記憶装置から前記キャッシュメモリにキャッシュフィルした上で、前記転送回路に転送し、キャッシュヒットの場合には前記キャッシュメモリにキャッシュされているパケットを前記転送回路に転送し、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであることを示すときには、該当する複数のデータ処理装置に対して並列に当該ペイロードを転送する、
    データ処理システム。
  14. 請求項11において、前記データ処理システムは、前記複数のデータ処理装置と前記バスとの間に配置され、キャッシュメモリを含む、設定データリードモジュールをさらに備え、
    前記複数のデータ処理装置はそれぞれに前記転送回路を備え、
    前記設定データリードモジュールは、前記複数のデータ処理装置からそれぞれ出力される前記要求信号を、前記キャッシュメモリに入力してキャッシュ制御をさせ、キャッシュミスの場合には、前記要求信号に対応するパケットを、前記バスを介して前記記憶装置から前記キャッシュメモリにキャッシュフィルした上で、前記要求信号を送出したデータ処理装置の転送回路に転送し、キャッシュヒットの場合には前記キャッシュメモリにキャッシュされているパケットを、前記要求信号を送出したデータ処理装置の前記転送回路に転送し、
    前記転送回路は、パケットを受信したとき、
    当該パケットに含まれる情報のうち、共有化情報を少なくとも含む情報に基づいて、当該パケットに含まれるペイロードが前記複数のデータ処理装置のうち自身を含む少なくとも一部の複数のデータ処理装置に共通に設定されるべき設定データであると判断されるときには、当該ペイロードを宛先アドレスに対応する設定レジスタに設定し、
    当該パケットに含まれる前記共有化情報が、当該パケットに含まれるペイロードが前記複数のデータ処理装置に共通に設定されるべき設定データではないことを示すときには、宛先識別子と自身の識別子との一致を条件として、当該ペイロードを宛先アドレスに対応する設定レジスタに設定する、
    データ処理システム。
JP2015141111A 2015-07-15 2015-07-15 データ処理システム Active JP6590565B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015141111A JP6590565B2 (ja) 2015-07-15 2015-07-15 データ処理システム
US15/144,561 US10296475B2 (en) 2015-07-15 2016-05-02 Data processing system
CN201610556581.6A CN106355543B (zh) 2015-07-15 2016-07-14 数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015141111A JP6590565B2 (ja) 2015-07-15 2015-07-15 データ処理システム

Publications (2)

Publication Number Publication Date
JP2017021741A JP2017021741A (ja) 2017-01-26
JP6590565B2 true JP6590565B2 (ja) 2019-10-16

Family

ID=57775958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015141111A Active JP6590565B2 (ja) 2015-07-15 2015-07-15 データ処理システム

Country Status (3)

Country Link
US (1) US10296475B2 (ja)
JP (1) JP6590565B2 (ja)
CN (1) CN106355543B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481342B2 (en) 2019-06-25 2022-10-25 Seagate Technology Llc Data storage system data access arbitration
EP3783498A1 (en) * 2019-08-22 2021-02-24 Ams Ag Signal processor, processor system and method for transferring data
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05134990A (ja) * 1991-11-13 1993-06-01 Fujitsu Ltd データ転送装置
US7139872B1 (en) * 1997-04-04 2006-11-21 Emc Corporation System and method for assessing the effectiveness of a cache memory or portion thereof using FIFO or LRU using cache utilization statistics
US6347354B1 (en) * 1997-10-10 2002-02-12 Rambus Incorporated Apparatus and method for maximizing information transfers over limited interconnect resources
GB2402759B (en) * 2003-06-12 2005-12-21 Advanced Risc Mach Ltd Data processing apparatus and method for transferring data values between a register file and a memory
US7080164B2 (en) * 2003-09-23 2006-07-18 Intel Corporation Peripheral device having a programmable identification configuration register
CN101299671B (zh) * 2007-04-30 2013-03-13 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
JP5111191B2 (ja) * 2008-03-27 2012-12-26 ルネサスエレクトロニクス株式会社 データ処理装置、画像符号化復号装置、データ処理システム及び画像処理装置
JP6268066B2 (ja) * 2013-09-20 2018-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
JP6297853B2 (ja) * 2014-02-18 2018-03-20 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム

Also Published As

Publication number Publication date
US20170017591A1 (en) 2017-01-19
JP2017021741A (ja) 2017-01-26
CN106355543A (zh) 2017-01-25
CN106355543B (zh) 2021-08-10
US10296475B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
US11256517B2 (en) Architecture of crossbar of inference engine
US6052738A (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
US8413153B2 (en) Methods and systems for sharing common job information
US20170220499A1 (en) Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications
US20170237703A1 (en) Network Overlay Systems and Methods Using Offload Processors
US20220261367A1 (en) Persistent kernel for graphics processing unit direct memory access network packet processing
US7415598B2 (en) Message synchronization in network processors
US20030126319A1 (en) Flexible I/O interface and method for providing a common interface to a processing core
US10496595B2 (en) Method for zero-copy object serialization and deserialization
EP0991999A1 (en) Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates
US8799536B2 (en) Data processing apparatus, data processing method and computer-readable medium
JP6590565B2 (ja) データ処理システム
US20200174977A1 (en) Storage appliance for processing of functions as a service (faas)
EP1508100B1 (en) Inter-chip processor control plane
Rezaei et al. Ultrashare: Fpga-based dynamic accelerator sharing and allocation
US9727499B2 (en) Hardware first come first serve arbiter using multiple request buckets
US20090074002A1 (en) Method, apparatus and system for optimizing packet throughput for content processing systems on chips
JP2005216283A (ja) シングル・チップ・プロトコル・コンバーター
US20140164553A1 (en) Host ethernet adapter frame forwarding
US9148270B2 (en) Method and apparatus for handling data flow in a multi-chip environment using an interchip interface
US20200264873A1 (en) Scalar unit with high performance in crypto operation
JP2006139766A (ja) 情報処理装置
US11102150B2 (en) Communication apparatus and control method for communication apparatus
US12001370B2 (en) Multi-node memory address space for PCIe devices
US20240103861A1 (en) Multi-stage computationally intensive process with compute-in-memory and/or memory data streaming

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190403

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: 20190820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190917

R150 Certificate of patent or registration of utility model

Ref document number: 6590565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150