特許第6038384号(P6038384)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

<>
  • 特許6038384-情報処理装置及び情報処理方法 図000002
  • 特許6038384-情報処理装置及び情報処理方法 図000003
  • 特許6038384-情報処理装置及び情報処理方法 図000004
  • 特許6038384-情報処理装置及び情報処理方法 図000005
  • 特許6038384-情報処理装置及び情報処理方法 図000006
  • 特許6038384-情報処理装置及び情報処理方法 図000007
  • 特許6038384-情報処理装置及び情報処理方法 図000008
  • 特許6038384-情報処理装置及び情報処理方法 図000009
  • 特許6038384-情報処理装置及び情報処理方法 図000010
  • 特許6038384-情報処理装置及び情報処理方法 図000011
  • 特許6038384-情報処理装置及び情報処理方法 図000012
  • 特許6038384-情報処理装置及び情報処理方法 図000013
  • 特許6038384-情報処理装置及び情報処理方法 図000014
  • 特許6038384-情報処理装置及び情報処理方法 図000015
  • 特許6038384-情報処理装置及び情報処理方法 図000016
  • 特許6038384-情報処理装置及び情報処理方法 図000017
  • 特許6038384-情報処理装置及び情報処理方法 図000018
  • 特許6038384-情報処理装置及び情報処理方法 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6038384
(24)【登録日】2016年11月11日
(45)【発行日】2016年12月7日
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
   G06F 13/28 20060101AFI20161128BHJP
   G06F 12/02 20060101ALI20161128BHJP
【FI】
   G06F13/28 310M
   G06F13/28 310L
   G06F12/02 570M
【請求項の数】15
【全頁数】19
(21)【出願番号】特願2016-506088(P2016-506088)
(86)(22)【出願日】2014年12月4日
(86)【国際出願番号】JP2014082070
(87)【国際公開番号】WO2015133028
(87)【国際公開日】20150911
【審査請求日】2016年3月17日
(31)【優先権主張番号】特願2014-45048(P2014-45048)
(32)【優先日】2014年3月7日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100083840
【弁理士】
【氏名又は名称】前田 実
(74)【代理人】
【識別番号】100116964
【弁理士】
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100135921
【弁理士】
【氏名又は名称】篠原 昌彦
(72)【発明者】
【氏名】小池 正英
(72)【発明者】
【氏名】丸山 清泰
(72)【発明者】
【氏名】道籏 聡
(72)【発明者】
【氏名】上村 敬志
(72)【発明者】
【氏名】中村 雄大
【審査官】 田上 隆一
(56)【参考文献】
【文献】 特開2001−256104(JP,A)
【文献】 特開2006−146553(JP,A)
【文献】 特開2001−022685(JP,A)
【文献】 特開平03−260750(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/28
G06F 12/02
(57)【特許請求の範囲】
【請求項1】
映像データを記憶する記憶部と、
アドレスを指定して前記記憶部から映像データを読み出し、当該読み出された映像データを前記記憶部又は前記記憶部とは異なる他の記憶部に書き込むDMA部と、
前記DMA部が指定したアドレスを変換するアドレス変換規則を記憶するアドレス変換規則記憶部と、
前記アドレス変換規則に従って、前記DMA部が指定したアドレスを変換するアドレス変換部と、を備え、
前記アドレス変換規則は、一連の領域のアドレスを、前記記憶部の複数の領域に記憶されている映像データのアドレスに変換する規則であり、
前記アドレス変換部は、アドレス変換有無判定部を備え、
前記アドレス変換有無判定部は、アドレス変換用に割り当てた第3の領域とのアドレス比較によりアドレス変換の有無を判定すること
を特徴とする情報処理装置。
【請求項2】
前記映像データは、監視カメラにより撮影され、ネットワーク経由で伝送され、受信された監視用の映像データであること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記記憶部に記憶されている映像データを処理するデータ処理部をさらに備え、
前記データ処理部は、前記処理後の映像データが前記記憶部に記憶されている複数の領域のアドレスと、前記一連の領域のアドレスとを対応付けることで、前記アドレス変換規則を生成して、前記アドレス変換規則記憶部に記憶させること
を特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記データ処理部は、前記処理後の映像データの一部が記憶されている領域のアドレスと、前記一連の領域の一部のアドレスとを対応付けた部分アドレス変換規則を少なくとも1つ以上含めることにより、前記アドレス変換規則を生成すること
を特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記データ処理部は、前記記憶部に記憶されている映像データの内、予め定められた量又は数の映像データを処理する毎に、前記部分アドレス変換規則を生成すること
を特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記アドレス変換部は、前記DMA部による映像データの転送状況に応じて、前記部分アドレス変換規則を前記アドレス変換規則記憶部から削除すること
を特徴とする請求項4又は5に記載の情報処理装置。
【請求項7】
前記部分アドレス変換規則は、前記DMA部により転送が行われる映像データの順番がわかるように、前記アドレス変換規則記憶部に記憶されていること
を特徴とする請求項4から6の何れか一項に記載の情報処理装置。
【請求項8】
前記アドレス変換部は、前記アドレス変換規則を参照することで、前記DMA部により指定されたアドレスが、前記一連の領域に含まれる場合には、当該指定されたアドレスを前記複数の領域の内の対応するアドレスに変換すること
を特徴とする請求項1から7の何れか一項に記載の情報処理装置。
【請求項9】
前記アドレス変換部は、前記アドレス変換規則を参照することで、前記DMA部により指定されたアドレスが、前記一連の領域に含まれない場合には、当該指定されたアドレスを変換しないこと
を特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記DMA部を制御するCPUをさらに備え、
前記データ処理部は、前記一連の領域を前記CPUに通知し、
前記CPUは、前記データ処理部から通知された前記一連の領域の映像データを転送するように前記DMA部に指示すること
を特徴とする請求項3から7の何れか一項に記載の情報処理装置。
【請求項11】
前記CPUは、前記データ処理部で処理された映像データをさらに処理すること
を特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記一連の領域は、前記記憶部において映像データが記憶されていない領域であること
を特徴とする請求項1から11の何れか一項に記載の情報処理装置。
【請求項13】
前記一連の領域は、前記記憶部にはない架空の領域であること
を特徴とする請求項1から11の何れか一項に記載の情報処理装置。
【請求項14】
前記記憶部と、前記アドレス変換規則記憶部は、1つの記憶装置内に形成されていること
を特徴とする請求項1から13の何れか一項に記載の情報処理装置。
【請求項15】
記憶部から読み出す映像データのアドレスを指定するアドレス指定過程と、
前記アドレス指定過程で指定されたアドレスを、アドレス変換規則に従って変換するアドレス変換過程と、
前記アドレス変換過程で変換されたアドレスに記憶されている映像データを前記記憶部から読み出す読み出し過程と、
前記読み出し過程で読み出された映像データを、前記記憶部又は前記記憶部とは異なる他の記憶部に書き込む過程と、を有する情報処理方法であって、
前記アドレス変換規則は、一連の領域のアドレスを、前記記憶部の複数の領域に記憶されている映像データのアドレスに変換する規則であり、
前記アドレス変換過程では、アドレス変換用に割り当てた第3の領域とのアドレス比較によりアドレス変換の有無を判定すること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
図1に示されているように、情報処理装置1は、一般的に、情報を処理する中央処理装置であるCPU(Central Processing Unit)2、CPU2で実行するプログラム及びCPU2で処理するデータを保持するデータ記憶部(メモリーともいう)3、周辺デバイスを接続するための入出力部4、データのコピーを高速に実行するためのDMA(Direct Memory Access)部5、6、これらのブロックがデータの受け渡しをするためのデータバス7といった要素を含む。
【0003】
情報処理装置1において、同一のメモリー内、あるいは、異なるメモリー間で、メモリー内に格納しているデータを大量にコピーする際に、CPU2の負荷を下げるため、DMA部5が用いられる。DMA部5は、CPU2の代わりにメモリーの読み書きを行い、データをコピーする。一般的に、CPU2からDMA部5へ、コピー元データの格納アドレス(転送元アドレス)、コピー先のアドレス(転送先アドレス)、コピーするデータの量(転送量)を指定して、DMA部5にコピー開始指示を出すことにより、DMA部5が転送元アドレスのデータを読み出し、転送先アドレスに同データを書き込む。さらに、DMA部5は、転送元アドレス及び転送先アドレスを増加させながら、転送量の分、この読み出し及び書き込み処理を繰り返すことにより、コピー元データをコピー先へコピーする。
【0004】
図2は、DMA部5によるDMA転送の様子を示す概略図である。CPU2は、DMA部5に、転送元アドレスsa、転送先アドレスda及び転送量szを設定する。DMA部5は、アドレスsaから始まるsz分の量のデータをメモリーから順に読み出し、アドレスdaから始まる領域に順に書き込みを行う。このときの処理の流れを図3(A)に示す。これにより、データがコピーされる。
【0005】
図4(A)及び(B)は、CPU2によるDMAの設定と、DMA部5によるメモリー読み出し及びメモリー書き込みとの間の関係を示す概略図である。
図4(B)に示されているように、DMA部5がメモリーの読み書きを行っている間は、CPU2はメモリーの読み書きを行う必要がないため、他の処理を行うことができる。このため、CPU2がメモリーの読み書きをする場合に比べて、DMA部5によりCPU2の負荷が軽減される。
【0006】
情報処理装置1では、情報処理の過程において、同一のメモリー内で、あるいは複数のメモリー間で、異なる多数の領域に分散したデータをまとめてコピーすることが必要となる場合もある。このような場合には、図5(A)及び(B)に示されているように、CPU2が領域毎にDMA部5に対して転送元アドレス、転送先アドレス及び転送量を設定する。このような設定をCPU2が行うと、CPU2の負荷が増大するため、デスクリプタ対応のDMA部6が使用される。
【0007】
デスクリプタは、通常メモリー内の一部の領域に記述されることが多く、コピーするデータの各領域に対応した転送元アドレス、転送先アドレス及び転送量の情報がコピーするデータの領域の数だけ記述される。
【0008】
図6(A)及び(B)は、デスクリプタ対応のDMA部6が使用されている場合のデータ記憶部3に記憶されているデータを示す概略図である。図6(A)に示されているデスクリプタ領域DAに、例えば、図6(B)に示されているデスクリプタ情報DTが格納されている。
デスクリプタ情報DTには、転送元アドレスsai、転送先アドレスdai及び転送量szi(i=1、2、3、・・・、N;Nは正の整数)からなるデスクリプタが領域の数(図6の場合はN)の分だけ記述されている。
【0009】
図6(A)に示されているように、CPUがデスクリプタ情報DTの設定を終え、DMA部6にコピー開始指示を出すと、DMA部6はデスクリプタ情報DTから各々のデスクリプタを順に読み出し、デスクリプタに従ってデータのコピーを実行する。DMA部6は、最初に転送元アドレスsa1から転送先アドレスda1へ転送量sz1の分だけデータをコピーし、次に転送元アドレスsa2から転送先アドレスda2へ転送量sz2の分だけデータをコピーし、というように領域1から領域Nまでを順にコピーする。このときの処理の流れを図3(B)に示す。また、このときのタイミング図を図7(A)及び(B)に示す。CPU2は、最初にデスクリプタ情報DTを設定し、DMA部6にコピー開始指示を出した後は、DMA部6が領域1から領域Nのデータをコピーし終えるまで、他の処理を行うことができる。
【0010】
このようにデスクリプタ対応のDMA部6を使用することにより、異なった領域に分散したデータを、デスクリプタに従ってDMA部6が順次コピーすることで、CPU2が領域毎に毎回DMAの設定を行う作業が省略でき、CPU2の負荷を軽減できる。
【0011】
特許文献1には、デスクリプタに対応したDMA転送装置が開示されている。さらに、このDMA転送装置は、デスクリプタとしてDMA転送を行なわないことを指定するNOP指定を受け付ける。具体的には、このDMA転送装置は、デスクリプタにてNOP指定が行なわれている場合、CPUに対する割り込み信号を発生して当該DMA転送を行なわず、CPUはDMA転送装置からの前記割り込み信号を検知した場合、デスクリプタに基づきデータ転送を行なう。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特許第4881140号公報(段落0065〜0074)
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1に示されている、デスクリプタ対応のDMA転送装置では、CPUが、コピーする領域毎に、転送元アドレス、転送先アドレス及び転送量を管理しておき、それらをデスクリプタとして設定する必要がある。このため、コピーする領域の数が多くなると、その分CPUでのアドレスや転送量の管理負荷が増加し、また、デスクリプタを設定する負荷も増加するという問題があった。
【0014】
そこで、本発明は、上記のような問題を解決し、コピーする領域の数が多くなっても、コピーする領域の転送元アドレス、転送先アドレス及び転送量の管理負荷を軽減することを目的とする。
【課題を解決するための手段】
【0015】
本発明の一態様に係る情報処理装置は、映像データを記憶する記憶部と、アドレスを指定して前記記憶部から映像データを読み出し、当該読み出された映像データを前記記憶部又は前記記憶部とは異なる他の記憶部に書き込むDMA部と、前記DMA部が指定したアドレスを変換するアドレス変換規則を記憶するアドレス変換規則記憶部と、前記アドレス変換規則に従って、前記DMA部が指定したアドレスを変換するアドレス変換部と、を備え、前記アドレス変換規則は、一連の領域のアドレスを、前記記憶部の複数の領域に記憶されている映像データのアドレスに変換する規則であり、前記アドレス変換部は、アドレス変換有無判定部を備え、前記アドレス変換有無判定部は、アドレス変換用に割り当てた第3の領域とのアドレス比較によりアドレス変換の有無を判定することを特徴とする。
【0016】
本発明の一態様に係る情報処理方法は、記憶部から読み出す映像データのアドレスを指定するアドレス指定過程と、前記アドレス指定過程で指定されたアドレスを、アドレス変換規則に従って変換するアドレス変換過程と、前記アドレス変換過程で変換されたアドレスに記憶されている映像データを前記記憶部から読み出す読み出し過程と、前記読み出し過程で読み出された映像データを、前記記憶部又は前記記憶部とは異なる他の記憶部に書き込む過程と、を有する情報処理方法であって、前記アドレス変換規則は、一連の領域のアドレスを、前記記憶部の複数の領域に記憶されている映像データのアドレスに変換する規則であり、前記アドレス変換過程では、アドレス変換用に割り当てた第3の領域とのアドレス比較によりアドレス変換の有無を判定することを特徴とする。
【発明の効果】
【0017】
本発明の一態様によれば、コピーする領域の数が多くなっても、一連の領域として扱うことができるため、コピーする領域の転送元アドレス、転送先アドレス及び転送量の管理負荷を軽減することができる。
【図面の簡単な説明】
【0018】
図1】従来の情報処理装置の構成を概略的に示すブロック図である。
図2】従来におけるDMA転送の様子を示す概略図である。
図3】(A)及び(B)は、従来におけるDMA転送の処理を示すフローチャートである。
図4】(A)及び(B)は、従来における、DMAの設定と、メモリー読み出し及びメモリー書き込みとの間の関係を示す概略図である。
図5】(A)及び(B)は、従来における、DMAの設定と、メモリー読み出し及びメモリー書き込みとの間の関係を示す概略図である。
図6】(A)及び(B)は、従来のデスクリプタ対応のDMA部が使用されている場合のデータ記憶部に記憶されているデータの一例を示す概略図である。
図7】(A)及び(B)は、従来における、デスクリプタの設定と、メモリー読み出し及びメモリー書き込みとの間の関係を示す概略図である。
図8】実施の形態1に係る情報処理装置の構成の一例を概略的に示すブロック図である。
図9】(A)及び(B)は、実施の形態1における、処理対象のデータと、処理後のデータとを説明するための概略図である。
図10】実施の形態1におけるCCTVシステムの一例を示す概略図である。
図11】実施の形態1におけるRTPパケットの構成を示す概略図である。
図12】(A)及び(B)は、実施の形態1において、アドレス変換なしでデータをコピーした場合と、アドレス変換ありでデータをコピーした場合の様子を示す概略図である。
図13】実施の形態1におけるアドレス変換規則の一例を示す概略図である。
図14】実施の形態1におけるアドレス変換部の構成の一例を概略的に示すブロック図である。
図15】実施の形態2に係る情報処理装置の構成の一例を概略的に示すブロック図である。
図16】(A)及び(B)は、実施の形態2における処理対象のデータの転送を説明するための概略図である。
図17】(A)及び(B)は、実施の形態2における、処理対象のデータと、処理後のデータとを説明するための概略図である。
図18】(A)及び(B)は、実施の形態2において、アドレス変換なしでデータをコピーした場合と、アドレス変換ありでデータをコピーした場合の様子を示す概略図である。
【発明を実施するための形態】
【0019】
実施の形態1.
【0020】
図8は、実施の形態1に係る情報処理装置100の構成の一例を概略的に示すブロック図である。図8に示されている情報処理装置100は、例えば、監視レコーダにおいて監視映像の記録及び再生のためのデータ処理に使用される。
【0021】
情報処理装置100は、データ記憶部101と、CPU102と、データ処理部103と、アドレス変換規則記憶部104と、アドレス変換部105と、DMA部106と、データバス107とを備える。
【0022】
データ記憶部101は、データ及びプログラムを記憶する記憶部である。
【0023】
CPU102は、情報処理装置100内の各部を制御する制御部である。例えば、CPU102は、データ記憶部101に記憶されたプログラムを実行して、データ記憶部101へのデータの読み書き、演算処理及び制御処理を行う。
【0024】
データ処理部103は、CPU102の処理の一部を、CPU102の代わりに実行して、CPU102の負荷を削減する。例えば、データ処理部103は、データ記憶部101に記憶されているデータを処理する。そして、CPU102は、データ処理部103での処理が終わったデータを使用して、それ以降の処理を継続する。
また、データ処理部103は、処理後のデータがデータ記憶部101に記憶されている複数の領域のアドレスを、データ記憶部101においてデータが記憶されていない未使用の一連の領域のアドレスに対応付けることでアドレス変換規則を生成する。そして、データ処理部103は、生成されたアドレス変換規則をアドレス変換規則記憶部104に記憶させる。なお、このデータ記憶部101においてデータが記憶されていない未使用の一連の領域をアドレス変換用領域という。
そして、データ処理部103は、アドレス変換用領域をCPU102に通知する。これにより、CPU102は、DMA部106に、アドレス変換用領域のデータを転送するよう指示する。
【0025】
アドレス変換規則記憶部104は、データ処理部103から設定されるアドレス変換規則を保持する。アドレス変換規則は、DMA部106が指定するアドレスを変換する規則である。
【0026】
アドレス変換部105は、アドレス変換規則記憶部104に記憶されたアドレス変換規則に従って、DMA部106が指定するアドレスを変換する。例えば、アドレス変換部105は、アドレス変換規則記憶部104に記憶されているアドレス変換規則を参照することで、DMA部106が指定したアドレスが、データ記憶部101のアドレス変換用領域に含まれる場合には、アドレス変換を行い、それが含まれない場合には、アドレス変換を行わない。
【0027】
DMA部106は、CPU102からの開始指示により、アドレスを指定してデータ記憶部101に格納されたデータを読み出して、そのデータをデータ記憶部101の別の領域に書き込む(コピーする)。ここで、DMA部106が指定するアドレスについては、アドレス変換部105により適宜変換される。
【0028】
以下に、情報処理装置100の各部の動作を詳細に説明する。
【0029】
CPU102は、処理の一部をデータ処理部103に実行させるために、データ記憶部101内で処理対象のデータが格納されている場所をデータ処理部103へ通知する。例えば、図9(A)に示すように、CPU102は、処理対象のデータが格納された領域od1、od2、od3、・・・、odNをデータ処理部103に通知する。CPU102からデータ処理部103への通知は、データ処理部103内のレジスタにデータが格納された領域の情報を書き込む等により行われる。
【0030】
データ処理部103は、CPU102からのデータ処理開始指示により、データ処理を開始する。ここで、データ処理の一例として、図10に示されているCCTV(CLOSED−CIRCUIT TELEVISION)システム500を例にとって説明する。CCTVシステム500は、例えば、図10に示すように複数の監視カメラ501と監視レコーダ502をネットワーク503で接続して構成される。監視用途によっては、多数の監視カメラ501が監視レコーダ502に接続される。監視カメラ501で撮影された監視映像は、H.264等の形式にエンコードされ、映像ストリームが生成される。生成された映像ストリームは、例えば、RTP(Real−time Transport Protocol)パケットに乗せて監視カメラ501から送信される。このRTPパケットは、ネットワーク503経由で伝送され、監視レコーダ502にて受信される。監視レコーダ502では、受信したRTPパケットからRTPヘッダを取り除き、映像ストリームを取り出すなどの処理を実施した後、監視レコーダ502内のハードディスク等の記憶装置に記録する。
この場合、監視レコーダ502が情報処理装置100に相当する。また、受信したRTPパケットは、データ記憶部101に記憶されているものとする。
ここでは、データ処理部103にて、RTPパケットからRTPヘッダを取り除き、映像ストリームを取り出す場合を想定して説明する。
【0031】
図11に示されているように、RTPパケット110は、RTPヘッダ111とRTPペイロード112から構成されている。RTPペイロード112の部分に映像ストリームが格納されているため、データ処理部103は、RTPパケット110からRTPペイロード112の部分のみを抽出する。
【0032】
ここでは、図9(A)に示されている領域od1、od2、od3、・・・、odNのそれぞれが、一つのRTPパケットであるとする。データ処理部103は、領域od1から順に処理する。まず、データ処理部103は、領域od1に格納されたRTPパケットのRTPヘッダ部分の情報を読み出す。RTPヘッダの内容により、RTPペイロードの格納場所が分かるため、データ処理部103は、図9(B)に示されているように、その領域を映像ストリームが格納されている領域sd1であるとする。領域od2、od3、・・・についても同様に処理し、データ処理部103は、図9(B)に示されているように、映像ストリームが格納された領域sd2、sd3、・・・、sdNを得る。
【0033】
データ処理部103での処理が進み、予め定められた時点、例えば、予め定められた量のデータ、又は、予め定められたまとまりのデータ(予め定められた数のデータ)の処理が終わったら、データ処理部103は、アドレス変換規則記憶部104へアドレス変換規則を記憶する。アドレス変換規則は、例えば、図12(B)に示されているようなアドレス変換が行われるように生成される。図12(A)は、アドレス変換なしでデータをコピーした場合を示している。図12(B)は、アドレス変換ありでデータをコピーした場合を示している。図12(B)に示されているように、アドレス変換ありの場合には、図12(A)で未使用だったアドレス領域を、アドレス変換用領域として使用する。このようなアドレス変換用領域を使用することで、映像ストリームが格納されている領域sd1、sd2、・・・、sdNが、連続したアドレスに格納されているように見えるようにアドレス変換が行われる。図12(B)では、未使用アドレス領域のうち、アドレスma1に領域sd1を、アドレスma2に領域sd2をというように、未使用のアドレスに、領域sd1〜領域sdNが連続して割り当てられている。このようにすることで、映像ストリームのデータがまとまった領域に格納されているように取り扱うことができる。
【0034】
データ処理部103は、予め定められた時点毎、例えば、予め定められた量のデータ又は予め定められたまとまりのデータ(予め定められた数のデータ)の処理が終了する毎に、アドレス変換規則の一部(以下、部分アドレス変換規則ともいう)をアドレス変換規則記憶部104に記憶させる。このため、アドレス変換規則記憶部104内のアドレス変換規則は固定のものではなく、データ処理部103の処理経過に応じて、その内容は変化していく。また、後に説明するDMA部106によるデータのコピーが行われ、不要となる部分アドレス変換規則は、アドレス変換規則記憶部104から破棄(削除)される。このように、DMA部106による転送状況に応じて、部分アドレス変換規則を削除することにより、アドレス変換規則記憶部104が不必要に大きくなるのを防ぐことができる。
【0035】
図13は、アドレス変換規則記憶部104に記憶されるアドレス変換規則の一例を示す概略図である。アドレス変換規則は、例えば、図13に示されているように、アドレス変換規則テーブル120のような形式で設定される。
アドレス変換規則テーブル120は、番号欄121と、変換前アドレス欄122と、領域サイズ欄123と、変換後アドレス欄124とを備える。ここで、それぞれのレコードに格納された一組の情報が、部分アドレス変換規則である。
番号欄121は、各々の部分アドレス変換規則を識別するための部分アドレス変換規則識別情報としての識別番号1〜Nを格納する。
変換前アドレス欄122は、変換前のアドレスma1〜maNを格納する。
領域サイズ欄123は、変換前のアドレスma1〜maNに格納されている各々のデータのサイズsz1〜szNを格納する。
変換後アドレス欄124は、変換後のアドレスsa1〜saNを格納する。
以上のように、アドレス変換規則を以上のような形式で記憶しておくことで、アドレス変換部105にて簡単なハードウエアによりアドレス変換を行うことができる。
【0036】
アドレス変換部105は、アドレス変換規則記憶部104に記憶されたアドレス変換規則に従って、アドレス変換を行う。アドレス変換規則記憶部104に記憶されているアドレス変換規則テーブル120の変換前アドレス欄122及び領域サイズ欄123で特定されるアドレス領域に対するバスアクセスがあった場合、アドレス変換部105は、アドレス変換規則テーブル120に従ってアドレス変換を行う。一方、アドレス変換規則テーブル120の変換前アドレス欄122及び領域サイズ欄123で特定されるアドレス領域以外の領域に対するバスアクセスがあった場合、アドレス変換部105は、アドレス変換を行わない。これにより、対応するアドレス変換規則が存在している場合のみアドレス変換が行われる。
例えば、図13の例では、アドレス変換部105は、アドレスma1〜(ma1+sz1−1)内の領域のアドレスにバスアクセスがあった場合、実際にアクセスするアドレスをアドレスsa1〜(sa1+sz1−1)内の領域のアドレスに変換する。アドレスma2〜(ma2+sz2−1)、・・・、アドレスmaN〜(maN+szN−1)の領域についても同様である。バスアクセスのアドレスが、アドレスma1〜(ma1+sz1−1)、アドレスma2〜(ma2+sz2−1)、・・・、アドレスmaN〜(maN+szN−1)のいずれのアドレス領域にも入っていない場合は、アドレス変換部105は、アドレス変換を行わない。
【0037】
図14は、アドレス変換部105の構成の一例を概略的に示すブロック図である。図14に示されているように、アドレス変換部105は、アドレス変換規則読み出し部130と、アドレス変換有無判定部131と、アドレス置換部132とを備える。
【0038】
図14の端子133から変換前のアドレスa0が入力される。アドレス変換規則読み出し部130は、変換前のアドレスa0が入力されると、端子134経由でアドレス変換規則記憶部104へ読み出し信号を出力する。この読み出し信号では、例えば、部分アドレス変換規則の識別番号を1からNまで順に指定する。これにより、アドレス変換規則記憶部104は、指定された識別番号i(iは、1≦i≦Nを満たす整数)に対応する部分アドレス変換規則(変換前アドレスmai、領域サイズszi、変換後アドレスsai)を、アドレス変換部105に返す。
なお、アドレス変換規則読み出し部130は、部分アドレス変換規則を読み出す際に、すでに読み出した部分アドレス変換規則に対応するアドレス領域のデータのコピーが完了している場合、それに対応するレコードを、アドレス変換規則テーブルから削除させることで、アドレス変換規則記憶部104の記憶量を減らすことができる。
【0039】
アドレス変換規則記憶部104から返された部分アドレス変換規則は、アドレス変換部105の端子135から入力され、アドレス変換有無判定部131へ入力される。アドレス変換有無判定部131では、端子133から入力された変換前アドレスa0と、端子135から入力された部分アドレス変換規則とを対比して、アドレス変換の有無を判定する。例えば、アドレスa0がアドレスmai≦アドレスa0≦(アドレスmai+szi−1)の条件を満たす場合には、アドレス変換有無判定部131は、この部分アドレス変換規則によるアドレス変換有りと判定する。一方、そのような条件を満たさない場合には、アドレス変換有無判定部131は、この部分アドレス変換規則によるアドレス変換無しと判定する。アドレス変換有りの場合は、アドレス変換有無判定部131は、変換後のアドレスとして、例えば、アドレスsai+(アドレスa0−アドレスmai)をアドレス置換部132に出力する。アドレス変換有無判定部131の判定結果がアドレス変換有りの場合には、アドレス置換部132は、アドレス変換有無判定部131から入力された変換後のアドレスを出力する。アドレス変換有無判定部131の判定結果がアドレス変換無しの場合には、アドレス置換部132は、端子133から入力された変換前のアドレスa0を出力する。アドレス置換部132から出力されたアドレスは、端子136経由で、アドレス変換部105から出力され、出力されたアドレスによるデータ記憶部101からの読み出しが可能となる。
【0040】
データ処理部103は、アドレス変換規則記憶部104へのアドレス変換規則の記憶を終えると、CPU102へデータ処理が完了したことを通知するとともに、処理後のデータの格納場所としてアドレス変換用領域を通知する。例えば、図12(B)に示す例では、アドレスma1及び領域sd1〜領域sdNに格納されているデータの合計サイズszAを通知する。ここで、szA=sz1+sz2+・・・+szNである。
【0041】
CPU102は、データ処理部103からデータ処理完了の通知を受けると、DMA部106に、処理結果のデータをコピーするための設定を行う。例えば、図12(B)に示す例では、DMAの転送元アドレスとしてアドレスma1を、DMAの転送先アドレスとしてda1を、転送量としてszAを設定する。ここでは、転送元の領域は、アドレスma1と転送量szAとにより特定され、一連の領域となっている。なお、転送先のアドレスda1は、CPU102がその後の処理をするのに都合の良い場所を設定する。CPU102は、DMA部106への設定を終えると、DMA部106へコピー開始を指示する。これらのCPU102からDMA部106への設定及び指示は、DMA部106内のレジスタを設定することにより行われる。このとき、アドレス変換部105でのアドレス変換は行われず、CPU102からDMA部106へのレジスタ書き込みアクセスをそのまま通す。
【0042】
DMA部106は、CPU102からのコピー開始指示により、データのコピーを行う。CPU102から設定された転送元アドレスma1を起点としてアドレス順にデータを読み出し、読み出したデータを、CPU102から設定された転送先アドレスda1を起点として順に書き込む。CPU102から指定された転送量szAの分だけデータのコピーを終えたら、データのコピーが完了したことをCPU102へ通知する。
【0043】
これにより、CPU102が指定したアドレスda1から順に、映像ストリームを格納した領域sd1〜sdNまでのデータが連続して格納された状態となる。この際、CPU102が指定したのは、転送元アドレスma1と転送先アドレスda1と転送サイズszAのみであり、映像ストリームを格納した領域sd1〜sdNのそれぞれの領域について、転送元アドレス、転送先アドレス、転送量の管理を行う必要がなく、また、DMAのためのデスクリプタの設定が不要又は簡単になる。
【0044】
データ処理部103からアドレス変換規則記憶部104へ部分アドレス変換規則を記憶する際に、図12(B)の領域sd1、sd2、・・・、sdNについて、DMA部106が読み出す順に合わせて、言い換えると、DMA部106において読み出す順がわかるように、識別番号の設定を行っておくと、アドレス変換部105がアドレス変換規則テーブル120を参照してアドレス変換を行う際に、アドレスの参照が容易となる。例えば、図13に示した例では、DMAの順が識別番号1、2、3、・・・の順となるように部分アドレス変換規則を格納しておくと、DMAの最初の転送のアドレス変換で参照するのは識別番号1の部分アドレス変換規則であり、DMA転送が進むにつれて、識別番号1、2、3、・・・と順に進んでいくため、アドレスの参照が容易となる。
【0045】
この場合、アドレス変換部105内のアドレス変換規則読み出し部130にて、DMA動作開始時はアドレス変換規則テーブル120の識別番号1から順に部分アドレス変換規則を参照するようにしておく。また、アドレス変換規則読み出し部130は、アドレス変換有無判定部131から、現在処理している識別番号1に対応する変換前アドレスma1及び領域サイズsz1を取得しておく。そして、端子133から入力される変換前のアドレスa0が、アドレスma1+sz1以上となった場合には、識別番号1の部分アドレス変換規則の範囲を外れたと判断し、識別番号2から順に次の部分アドレス変換規則を参照するように参照動作を変更する。この場合、アドレス変換規則読み出し部130は、アドレス変換有無判定部131から、現在処理している識別番号2に対応する変換前アドレスma2及び領域サイズsz2を取得する。そして、アドレス変換規則読み出し部130は、識別番号2の部分アドレス変換規則の範囲を外れたら、識別番号3から順に次の部分アドレス変換規則を参照するように参照動作を変更するというように参照開始識別番号を変えていく。これにより、アドレス変換部105によるアドレス変換規則テーブル120の参照が容易となり、アドレス変換に必要な時間を短縮することが可能となる。また、この仕組みは、簡単なハードウエアで実現することが可能なため、装置コストへの影響もない。なお、アドレス変換規則読み出し部130は、アドレス変換規則記憶部104に記憶されているアドレス変換規則テーブル120の全体を読み出すようにしてもよい。このような場合、アドレス変換規則テーブル120は、アドレス変換有無判定部131内のメモリ(図示せず)に保持される。
【0046】
また、図8に示した構成において、アドレス変換規則記憶部104と、データ記憶部101とを一つの記憶装置に形成することも可能である。この場合、アドレス変換規則記憶部104を実現するための記憶装置と、データ記憶部101を実現する記憶装置とを一つにすることが可能となり、ハードウエアの構成がより簡素になるとともに、装置コストの削減が可能となる。この場合、例えば、アドレス変換規則記憶部104をデータ記憶部101の内部に配置することも可能である。さらに、図8において、DMA部106がデータバス107にも接続されており、CPU102からの指示等が、アドレス変換部105を経由せずに、直接DMA部106に入力されるようにしてもよい。
【0047】
以上のように、実施の形態1によれば、コピーする領域の数が多くなっても、コピーする領域の転送元アドレス、転送先アドレス及び転送量の管理負荷を軽減することができる。また、デスクリプタを使用する場合でも、CPU102が設定するデスクリプタの記述量を減らして、CPU102がデスクリプタを設定する負荷を軽減することができる。
また、図10に示されているCCTVシステム500において、CPU102の負荷が軽減されることにより、CPU102がより多くの監視カメラ501からの映像ストリームを処理することが可能となり、監視レコーダ502に多数の監視カメラ501を接続することができるという効果がある。
【0048】
実施の形態2.
図15は、実施の形態2に係る情報処理装置200の構成の一例を概略的に示すブロック図である。図15に示されている情報処理装置200は、例えば、監視レコーダにおいて監視映像の記録及び再生のためのデータ処理に使用される。また、実施の形態2は、CPUの負荷を軽減するために、CPUの処理の一部を価格の安い小規模のFPGAにて代行する場合の構成である。この構成では、CPUの負荷を軽減することにより、価格の安いCPUを使用することが可能となり、情報処理装置200全体のコストを削減することが可能となる。
【0049】
情報処理装置200は、第1のデータ記憶部201Aと、第2のデータ記憶部201Bと、第1の処理部240Aと、第2の処理部240Bとを備える。
第1の処理部240Aは、CPU102と、第1のデータバス207Aと、第1のインタフェース部(以下、第1のI/F部という)208Aとを備える。第1の処理部240Aは、プログラム及びデータの一時記憶装置として、第1のデータ記憶部201Aを使用する。
第2の処理部240Bは、DMA部106と、データ処理部103と、アドレス変換部105と、アドレス変換規則記憶部104と、第2のデータバス207Bと、第2のインタフェース部(以下、第2のI/F部という)208Bとを備える。第2の処理部240Bは、データ処理のための一時記憶装置として、第2のデータ記憶部201Bを使用する。
ここで、第1の処理部240Aは、CPU102を搭載したSoC(System−on−a−Chip)のようなデバイスであり、第2の処理部240Bは、FPGA(Field Programmable Gate Array)等によるカスタム回路での実現が考えられる。
【0050】
図15に示されている情報処理装置200の構成要素のうち、CPU102、DMA部106、データ処理部103、アドレス変換部105及びアドレス変換規則記憶部104は、実施の形態1に係る情報処理装置100の同じ符号が付された構成要素とほぼ同様の機能を有する。
【0051】
第1のデータ記憶部201Aは、CPU102で使用するデータ及びプログラムを記憶する。
CPU102は、第1のデータ記憶部201Aに記憶されたプログラムを実行して、第1のデータ記憶部201Aへのデータの読み書き、演算処理及び制御処理を行う。
【0052】
第1のI/F部208A及び第2のI/F部208Bは、第1の処理部240Aと第2の処理部240Bとの間でデータの受け渡しを行うためのインタフェースである。例えば、これらは、PCI(Peripheral Component Interconnect)−Express又はUSB(Universal Serial Bus)等の規格による通信を行い、第1の処理部240Aと第2の処理部240Bとの間で高速にデータを転送する。
【0053】
DMA部106は、CPU102の処理の一部をデータ処理部103にて代行させるために、処理対象のデータを第1のデータ記憶部201Aから読み出し、第1のI/F部208Aと、第2のI/F部208Bとを経由して、第1の処理部240Aから第2の処理部240Bへデータを転送し、転送されたデータを第2のデータ記憶部201Bに格納する。
また、DMA部106は、CPU102からの開始指示により、アドレスを指定して第2のデータ記憶部201Bに格納されたデータを読み出し、第1のデータ記憶部201Aへコピーする。この際、DMA部106により指定されたアドレスは、アドレス変換部105で適宜変換される。
【0054】
データ処理部103は、CPU102の処理の一部を、CPU102の代わりに実行して、CPU102の負荷を軽減する。第2のデータ記憶部201Bに格納された処理対象のデータを読み出して、CPU102の処理を代わりに処理する。データ処理部103で処理されたデータは、DMA部106により第2のデータ記憶部201Bから第1のデータ記憶部201Aに転送される。その後、CPU102は、データ処理部103で処理され、第1のデータ記憶部201Aに格納された処理後のデータを使用して、それ以降の処理を継続する。
【0055】
アドレス変換規則記憶部104は、データ処理部103での処理結果に応じて、データ処理部103から設定されるアドレス変換規則を保持する。
【0056】
アドレス変換部105は、アドレス変換規則記憶部104に記憶されたアドレス変換規則に従って、アドレスの変換を行う。
【0057】
以下に、情報処理装置200の各部の動作を詳細に説明する。
【0058】
CPU102は、処理の一部をデータ処理部103に実行させるために、第1のデータ記憶部201A内における処理対象のデータを、第2のデータ記憶部201B内へコピーするための設定をDMA部106に行う。例えば、CPU102は、図16(A)に示すように、第1のデータ記憶部201A内における処理対象のデータが格納された領域od1、od2、od3、・・・、odNを、図16(B)に示すように、第2のデータ記憶部201Bの領域od1#、od2#、od3#、・・・、odN#へコピーするように設定する。ここで、領域od1、od2、od3、・・・、odNは、それ以前のCPU102での処理結果が格納されている領域であり、領域od1#、od2#、od3#、・・・、odN#は、第2のデータ記憶部201B内で、使用可能な未使用領域に割り当てられる。
【0059】
DMA部106による転送は、図2に示されているような単発のDMA、又は、図6に示されているようなデスクリプタを使用したDMAにより行われる。領域od1、od2、od3、・・・、odNが連続なアドレスに配置されている場合、及び、領域od1#、od2#、od3#、・・・、odN#が連続なアドレスに配置されている場合には、単発のDMAで転送が行われる。一方、これらが分散したアドレスに配置されているときはデスクリプタを使用したDMAが使用される。
【0060】
CPU102からDMA部106への設定は、第1のI/F部208Aと第2のI/F部208Bとを経由して、DMA部106内のレジスタを書き込むことにより行われる。CPU102は、DMA部106への設定を終えると、DMA部106へコピー開始を指示する。これらのCPU102からDMA部106への設定及び指示は、第1のI/F部208A及び第2のI/F部208B経由で、DMA部106内のレジスタを設定することにより行われる。このとき、アドレス変換部105でのアドレス変換は行われず、CPU102からDMA部106へのレジスタ書き込みアクセスをそのまま通す。
【0061】
DMA部106は、CPU102からの指示により、処理対象のデータを第1のデータ記憶部201Aから第2のデータ記憶部201Bへコピーする。DMA部106によるデータのコピーが完了したら、DMA部106は、データコピーが完了したことを第2のI/F部208B及び第1のI/F部208A経由で、CPU102へ通知する。CPU102は、データコピー完了の通知を受け、データ処理部103へ処理開始の指示を出す。処理開始の指示は、第1のI/F部208Aと第2のI/F部208B経由でデータ処理部103のレジスタを書き込むことにより行われる。
【0062】
データ処理部103は、CPU102からのデータ処理開始指示により、データ処理を開始する。データ処理の一例として、実施の形態1と同様に、処理対象のデータが、監視カメラから送信されネットワーク経由で伝送されたRTP(Real−time Transport Protocol)パケットであり、RTPパケットからRTPヘッダを取り除き、映像ストリームを取り出す場合で説明する。
【0063】
図17(A)に示されている領域od1#、od2#、od3#、・・・、odN#のそれぞれが、一つのRTPパケットであるとする。データ処理部103は、実施の形態1と同様の処理を行い、領域od1#、od2#、od3#、・・・、odN#のデータから、図17(B)に示されているように、映像ストリームが格納された領域sd1、sd2、sd3、・・・、sdNを得る。
【0064】
データ処理部103での処理が進み、予め定められた量のデータの処理、又は、予め定められたまとまりのデータの処理が終わったら、データ処理部103は、実施の形態1と同様にアドレス変換規則を生成して、生成されたアドレス変換規則をアドレス変換規則記憶部104に記憶させる。アドレス変換規則は、例えば、図18(B)に示されているようなアドレス変換が行われるように生成される。図18(A)は、アドレス変換なしでデータをコピーした場合を示している。図18(B)は、アドレス変換ありでデータをコピーした場合を示している。図18(B)に示されているように、アドレス変換ありの場合には、図18(A)に示されているアドレス変換なしの場合で未使用だったアドレス領域を使用し、映像ストリームが格納されている領域sd1、sd2、・・・、sdNが、連続したアドレスに格納されているように見えるようにアドレス変換を行う。図18(B)に示されている場合には、未使用アドレス領域のうち、アドレスma1に領域sd1を、アドレスma2に領域sd2をというように、未使用だったアドレスに、領域sd1〜領域sdNを連続して割り当てている。このようにすることで、映像ストリームのデータがまとまった領域に格納されているように取り扱うことができる。ここで、アドレスma1、ma2、・・・、maNを割り当てた領域のことを、アドレス変換用領域と呼ぶこととする。
【0065】
アドレス変換規則記憶部104に記憶されるアドレス変換規則は、実施の形態1と同様に、例えば、図13に示されているようなテーブル形式とする。このような形式とすることで、アドレス変換部105にて簡単なハードウエアによりアドレス変換を行うことができる。
【0066】
また、実施の形態1と同様に、データ処理部103は、予め定められた量のデータの処理、又は、予め定められたまとまりのデータ(予め定められた数のデータ)の処理が終了する毎に、部分アドレス変換規則をアドレス変換規則記憶部104に記憶させる。また、後に説明するDMA部106によるデータのコピーを行い、不要となるアドレス変換規則は、アドレス変換規則記憶部104から破棄(削除)される。このようにアドレス変換規則を設定することで、アドレス変換規則記憶部104が不必要に大きくなるのを防ぐことができる。
【0067】
アドレス変換部105では、実施の形態1と同様に、アドレス変換規則記憶部104に設定されたアドレス変換規則に従って、アドレス変換を行う。これにより、アドレス変換規則が存在している場合のみアドレス変換が行われる。
【0068】
データ処理部103は、アドレス変換規則記憶部104へアドレス変換規則の記憶が終了すると、実施の形態1と同様に、CPU102へデータ処理が完了したことを通知し、また、処理後のデータの格納場所(アドレス変換領域)を通知する。
【0069】
CPU102は、データ処理部103からデータ処理完了の通知を受けると、DMA部106に、処理結果のデータをコピーするための設定を行う。例えば、図18(B)に示す例では、DMAの転送元アドレスとしてアドレスma1を、DMAの転送先アドレスとしてda1を、転送量としてszAを設定する。ここで、アドレスma1は、第2のデータ記憶部201B内に相当するアドレスであり、アドレスda1は、第1のデータ記憶部201A内に相当するアドレスである。また、アドレスda1は、第1のデータ記憶部201A内で、CPU102がその後の処理をするのに都合の良い場所を指定する。CPU102は、DMA部106への設定を終えると、DMA部106へコピー開始を指示する。これらのCPU102からDMA部106への設定及び指示は、第1のI/F部208A及び第2のI/F部208B経由で、DMA部106内のレジスタを設定することにより行われる。このとき、アドレス変換部105でのアドレス変換は行われず、CPU102からDMA部106へのレジスタ書き込みアクセスをそのまま通す。
【0070】
DMA部106は、CPU102からのコピー開始指示により、実施の形態1と同様にデータのコピーを行う。ただし、データの転送元は、第2のデータ記憶部201Bであり、転送先は第1のデータ記憶部201Aである。
【0071】
これにより、第1のデータ記憶部201A内にて、CPU102が指定したアドレスda1から順に、映像ストリームを格納した領域sd1〜sdNまでのデータが連続して格納された状態となる。この際、CPU102が指定したのは、転送元アドレスma1と転送先アドレスda1と転送サイズszAのみであり、映像ストリームを格納した領域sd1〜sdNのそれぞれの領域について、転送元アドレス、転送先アドレス及び転送量の管理を行う必要がない。このため、DMAのためのデスクリプタの設定が不要、又は、簡単になる。また、第2のデータ記憶部201Bから第1のデータ記憶部201Aへのデータコピーが、単発のDMAとなるため、第1のI/F部208Aと第2のI/F部208B経由のデータ転送が簡単になる。
【0072】
実施の形態1と同様に、データ処理部103が、アドレス変換規則記憶部104に部分アドレス変換規則を記憶する際に、図18(B)に示されている領域sd1、sd2、・・・、sdNについて、DMA部106が読み出す順に合わせて、識別番号の設定を行っておくと、アドレス変換部105がアドレス変換規則テーブル120を参照してアドレス変換を行う際に、アドレスの参照が容易となり、簡単なハードウエア構成で、高速にアドレス変換が可能となる。
【0073】
実施の形態1と同様に、図15に示した構成において、アドレス変換規則記憶部104と第2のデータ記憶部201Bとを一つの記憶装置により形成してもよい。この場合、アドレス変換規則記憶部104を実現するための記憶装置と第2のデータ記憶部201Bを実現する記憶装置とを1つにすることが可能となり、ハードウエアの構成がより簡素になるとともに、装置コストの削減が可能となる。この場合、アドレス変換規則記憶部104を第2のデータ記憶部201B内部に配置することも可能である。さらに、図15において、DMA部106が第2のデータバス207Bにも接続されており、CPU102からの指示等が、アドレス変換部105を経由せずに、直接DMA部106に入力されるようにしてもよい。
【0074】
以上に記載された実施の形態1及び2においては、データ記憶部101又は第2のデータ記憶部201Bの未使用のアドレス領域をアドレス変換用領域として使用、言い換えると、未使用のアドレスを変換用のアドレスとして使用したが、このような例に限定されない。例えば、データ記憶部101又は第2のデータ記憶部201Bにはない架空のアドレス領域をアドレス変換用領域として使用、言い換えると、架空のアドレスを変換用のアドレスとして使用してもよい。
【符号の説明】
【0075】
100,200 情報処理装置、 101 データ記憶部、 201A 第1のデータ記憶部、 201B 第2のデータ記憶部、 102 CPU、 103 データ処理部、 104 アドレス変換規則記憶部、 105 アドレス変換部、 106 DMA部、 107 データバス、 207A 第1のデータバス、 207B 第2のデータバス、 208A 第1のI/F部、 208B 第2のI/F部、 240A 第1の処理部、 240B 第2の処理部、 500 CCTVシステム、 501 監視カメラ、 502 監視レコーダ、 503 ネットワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18