説明

分散メディア処理装置及び方法及びプログラム

【課題】 ユーザからアップロードされた単一の情報量の多いデータを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力する。
【解決手段】 ネットワーク上のメディアデータを分割して断片データを生成する際に、処理の終盤につれて分割サイズを徐々に小さくしていき、すべての処理部がほぼ同時に処理が終了するように(アイドル状態の処理部が存在しないように)分割するとともに、分割された各断片データに対する処理を並行実行し、すべての処理結果を統合する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散メディア処理装置及び方法及びプログラムに係り、特に、各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータが日々大量に生成されるネットワーク上で、これらのメディアデータを高速に処理する分散メディア処理装置及び方法及びプログラムに関する。
【背景技術】
【0002】
各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータを高速に処理する技術として、入力された映像データを一旦、部分映像に分割し、これらの部分映像に対する処理を並列に実行し、処理結果を統合することで1つの映像データを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力する方法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−69946号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の技術では、入力されたデータを分割して有限個の断片データを生成する際の分割サイズが分割の開始から終了まで固定であるため、断片データを同時並行に処理する処理部の数が十分に存在する場合に処理の終盤(特に最後の断片データを処理する時点)では処理中の処理部と処置待ち(アイドル状態)の処理部が発生して、システム全体としての処理能力を十分に活用することができないという問題がある。
【0005】
本発明は、上記の点に鑑みなされたもので、ユーザからアップロードされた単一の情報量の多いデータを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力することが可能な分散メディア処理装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明(請求項1)は、ネットワーク上のメディアデータを高速に処理するための分散メディア処理装置であって、
入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割手段と、
前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する少なくとも1つ以上の処理手段と、
少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合手段と、を有する。
【0007】
また、本発明(請求項2)は、データ分割手段において、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割する手段を含む。
【0008】
また、本発明(請求項3)は、データ分割手段において、
前記処理手段の空き能力数が、前記記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する手段を含む。
【0009】
また、本発明(請求項4)は、ネットワーク上のメディアデータを高速に処理するための分散メディア処理方法であって、
断片データを記憶する記憶手段と、データ分割手段、1つ以上の処理手段、統合手段とを有する装置において、
前記データ分割手段が、入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割ステップと、
各処理手段が、前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する処理ステップと、
前記統合手段が、少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合ステップと、を行う。
【0010】
また、本発明(請求項5)は、データ分割ステップにおいて、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割する。
【0011】
また、本発明(請求項6)は、データ分割ステップにおいて、
前記処理手段の空き能力数が、前記記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する。
【0012】
また、本発明(請求項7)は、請求項1乃至3のいずれか1項に記載の分散メディア処理装置を構成する各手段としてコンピュータを機能させるための分散メディア処理プログラムである。
【発明の効果】
【0013】
上述のように、本発明によれば、各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータが日々大量に生成されるネットワーク上で、これらのメディアデータを分割して断片データを生成する際に、処理の終盤につれて分割サイズを徐々に小さくしていき、すべての処理部がほぼ同時に処理が終了するように(アイドル状態の処理部が存在しないように)分割するとともに、分割された各断片データに対する処理を並行実行し、すべての処理結果を統合することでユーザからアップロードされた単一の情報量の多いデータを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力する分散メディア処理システムを実現することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施の形態における分散メディア処理装置の構成図である。
【図2】本発明の一実施の形態における分割部の処理のフローチャートである。
【図3】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その1)である。
【図4】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その2)である。
【図5】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その3)である。
【図6】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その4)である。
【図7】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その5)である。
【図8】本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その6)である。
【図9】本発明の一実施の形態における蓄積部の処理のフローチャートである。
【図10】本発明の一実施の形態における処理部の処理のフローチャートである。
【図11】本発明に一実施の形態における統合部の処理のフローチャートである。
【図12】従来技術により断片データ処理に要する時間の例である。
【図13】本発明により断片データ処理に要する時間の例である。
【発明を実施するための形態】
【0015】
以下図面と共に、本発明の実施の形態を説明する。
【0016】
図1は、本発明の一実施の形態における分散メディア処理装置の構成を示す。
【0017】
同図に示す分散メディア処理装置10は、分割部10、蓄積部20、処理部30、統合部40から構成される。
【0018】
分割部10は、データ受付部11、分割サイズ計算部12、データ分割部13、断片データ蓄積部14から構成され、ユーザ端末2から入力(アップロード)されたメディアデータをデータ受付部11が受け付け、データ分割部13において分割サイズ計算部12で計算されたサイズに分割し、少なくとも1つ以上の断片データを生成し、断片データ蓄積部14が蓄積部20に蓄積する。このとき、1つの蓄積部20にすべての断片データを蓄積することも可能であるが、予め指定した任意個の蓄積部20に対して順番に(ラウンドロビン方式に)蓄積することも可能である。分割サイズ計算部12では、蓄積部20に蓄積された未処理の断片データの量と各処理部の稼動状況に基づいて、分割の途中からメディアデータを分割するGOP数を所定のサイズずつ徐々に小さく(例えば、4GOP→3GOP→2GOP→1GOP)する。このようにして決定されたGOP数に応じて、データ分割部13では当該サイズに基づいてメディアデータを分割する。
【0019】
なお、分割部10は、分割サイズ計算部12においてGOP数の計算に必要な蓄積部20の未処理の断片データ量及び処理部30の稼動状況(空き処理能力)を収集し、メモリ(図示せず)に格納しておくものとする。
【0020】
蓄積部20は、断片データ受付部21、断片データキューイング部22を有し、断片データ受付部21で受け付けた断片データを、断片データキューイング部22で到着順に(FIFOで)キューに保存する。
【0021】
処理部30は、少なくとも1つ以上存在し、各処理部30は、断片データ取得部31、メディア処理部32、処理結果送信部33を有する。断片データ取得部31がいずれかの蓄積部20から断片データを取得して、メディア処理部32において所定のメディア処理を実行し、処理結果送信部33から統合部40に送信する。各処理部30では、このすべての処理サイクルを同時並行に実行する。
【0022】
統合部40は、処理結果受付部41、処理結果統合部42、統合結果返却部43を有し、処理結果受付部41において処理部30から処理結果を取得し、処理結果統合部42において処理結果を統合し(例えば、データ分割時に断片データが生成された順番に並べ替える処理などを実行し)、処理結果返却部42が統合結果をユーザ端末2へ返却する。また、ユーザ端末2の数が多い場合は、図1の構成を複数並列に配置して対応することが可能である。
【0023】
次に、上記の構成における分割部10の処理について説明する。
【0024】
図2は、本発明の一実施の形態における分割部の処理のフローチャートである。
【0025】
ステップ101)分割部10は、データ受付部11によりユーザ端末2から入力(アップロード)されたメディアデータを受け付ける。必要に応じてファイルとして蓄積することも可能である。
【0026】
ステップ102) データ受付部11は、受け付けたメディアデータがGOP(Group Of Picture)単位で構成されているかどうかを判断し、GOP単位で構成されていなければ、非分割時(例外)処理を実行してステップ101へ戻る。
【0027】
ステップ103) 分割サイズ計算部12は、蓄積部20に蓄積された未処理の断片データの量を定期的に計測するとともに各処理部30の稼動状況(空き処理能力)を判別してすべての処理部の処理がほぼ同時に終了するような(統合部40での待ち時間が最小になるような)GOP数を計算する。なお、計算された当該時点におけるGOP数、及び、計測された蓄積部20のデータ量はメモリ(図示せず)に格納しておくものとする。
【0028】
ステップ104) 分割サイズ計算部12は、分割の途中で分割するGOP数を変更する必要があるかどうかを判断し、GOP数を変更する必要がある場合は、ステップ105に移行し、変更する必要がない場合はステップ106に移行する。当該判定方法は、蓄積部20の未処理のGOP数と各処理部30の空き処理能力とを比較し、未処理のGOP数≦空き処理能力である場合には、GOP数をその時点におけるGOP数よりも小さくすると判定する。
【0029】
ステップ105) 分割サイズ計算部12は、未処理のGOP数>空き処理能力となるように、GOP数を変更する。
【0030】
ステップ106) データ分割部13は分割サイズ計算部12で求められたGOP数単位にデータを切り出して断片データを生成する。
【0031】
ステップ107) 断片データ蓄積部14は、データ分割部13で生成された断片データを蓄積部20へ蓄積する。
【0032】
ステップ108) 蓄積部20へ蓄積した断片データにEOF(End Of File)が含まれなければ、ステップ103へ戻って分割を繰り返し、EOFが含まれる場合はステップ101へ戻って新たなメディアデータを受け付ける。
【0033】
上記のステップ103及びステップ104の分割サイズ計算部12の処理について以下に詳細に説明する。
【0034】
分割サイズ計算部12は、内部の情報収集機能により、定期的に蓄積部20に蓄積された未処理の断片データの量と、処理部30の稼動状況情報を収集し、メモリ(図示せず)に格納する。ここで、稼動状況情報とは、各処理部毎に計測時点における空き処理能力数を指す。分割サイズ計算部12は、メモリの内容を参照して以下の処理を行う。
【0035】
図3〜図8は、本発明の一実施の形態における分割部の分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図である。これらの図において、全データ64GOPのうち、48GOP分のデータは分割数4GOPとして分割部10によって分割済みであり、各処理部a〜hが処理中もしくは処理済であることを実線で示している。
【0036】
図3の例において処理部eに与える断片データの分割サイズを計計算する。ここで、処理部eに与える断片データの分割サイズを4GOPとすると、他の処理部とほぼ同時に終了することになる。処理部eの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。
【0037】
また、分割サイズを変更するか否かを判定する場合には、図3の例において、破線の箇所(空き処理能力)が12GOP分に相当し、残りのGOP数である16よりも小さいため、分割数の変更は不要であると判断する。
【0038】
また、図4は、全データ64GOPのうち、52GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部fに与える断片データの分割サイズを4GOPとした場合に、処理部fの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。当該破線(空き処理能力)は12GOP分に相当し、残りのGOP数である12と等しい(小さくない)ため、ステップ104では分割数を4GOP未満に変更すると判断する。
【0039】
また、図5は、全データ64GOPのうち、52GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部fに与える断片データの分割サイズを4GOPから3GOPに変更した場合に、処理部fの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は6GOP分に相当し、残りGOP数である12よりも小さいため、分割数を変更する必要がないと判断し、分割数3GOPで分割を行う。
【0040】
また、図6は、64GOPのうち、55GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部gに与える断片データの分割サイズを3GOPとした場合に、処理部gの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は6GOP分に相当し、残りGOP数である9よりも小さいため分割数を変更する必要がないと判断し、分割数3GOPで分割を行う。
【0041】
また、図7は、64GOPのうち、58GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部hに与える断片データの分割サイズを3GOPとした場合に、処理部hの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は7GOP分に相当し、残りのGOP数である6より大きい(小さくない)ため分割数を3GOP未満に変更すると判断する。
【0042】
また、図8は、64GOPのうち、58GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部hに与える断片データの分割サイズを3GOPから2GOPに変更した場合に、処理部hの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は2GOP分に相当し、残りGOP数である6よりも小さいため、分割数を変更する必要がないと判断し、分割数2GOPで分割を行う。
【0043】
次に、蓄積部20の処理について説明する。
【0044】
図9は、本発明の一実施の形態における蓄積部の動作のフローチャートである。
【0045】
ステップ201) 断片データ受付部21は、分割部10から断片データを取得する。
【0046】
ステップ202) 断片データ受付部21は取得した断片データの到着順にタイムスタンプ及びシーケンス番号を付与する。
【0047】
ステップ203) 断片データキューイング部22は、キューに空きがあるかを判定し、空きがなければ所定の時間待機し、再度判定する。
【0048】
ステップ204) キューに空きがあれば、断片データをFIFO順にキューに保存し、ステップ201に移行し、新たな断片データを受け付ける処理を行う。なお、キューに断片データを保存した時点で、分割部10に対して、待ちキューの状態を通知するものとする。
【0049】
次に、処理部30の動作を説明する。
【0050】
図10は、本発明の一実施の形態における処理部のフローチャートである。以下では、処理部30が蓄積部20から断片データを取得し、取得した断片データに対して所定のメディア処理を実行し、処理結果を統合部40へ送信する際の動作を示す。
【0051】
ステップ301) 断片データ取得部31は、蓄積部20からFIFO順に断片データを取得する。
【0052】
ステップ302) メディア処理部32は、取得した断片データに対して所定のメディア処理を実行する。メディア処理の例として、映像内容のシーンの切り替わり検出処理(カット点検出処理)や隣接フレーム間の差分検出処理(動き検出処理)、注目シーン検出処理等が適用可能であり、これらの様々なメディア処理を断片データに対して適用する。
【0053】
ステップ303) 処理結果送信部33は、断片データに対してメディア処理を実行した処理結果を統合部40へ送信する。
【0054】
ステップ304) 処理結果送信部33は、処理結果を統合部40へ送信できたかどうか判定し、送信できなければ所定の時間待機してステップ303に戻って処理結果を統合部40へ送信し、送信できればステップ301に戻って蓄積部20から新たな断片データを取得する処理を繰り返す。
【0055】
次に、統合部40の処理を説明する。以下では、統合部40が、複数の処理部30から取得した処理結果を統合してユーザ端末2へ結果を返却する際の動作を示す。
【0056】
図11は、本発明の一実施の形態における統合部のフローチャートである。
【0057】
ステップ401) 処理結果受付部41は、少なくとも1つ以上の処理部の処理結果を受け付ける。
【0058】
ステップ402) 処理結果統合部42により処理結果を分割部10で付与したタイムスタンプ順または分割部10で付与したシーケンス番号順に整列させて統合する。
【0059】
ステップ403) 処理結果統合部42は、分割部10で付与されたシーケンス番号に基づき、すべての断片データに対する処理結果を受け付け、統合したかどうかを判定し、すべての処理結果を統合していない場合はステップ401に移行して処理部30からの処理結果を受け付け、すべての処理結果を統合した場合は、統合結果返却部43からユーザ端末2に返却し、ステップ401に移行して、新たな処理結果を受け付ける。
【0060】
次に、本発明と従来技術の比較結果を示す。
【0061】
図12は、従来技術により断片データ処理に要する時間の例であり、分割部において従来技術により分割の開始から終了まで固定のGOP数(4GOP)で分割した断片データを処理部が処理した場合に要する処理時間を可視化して示したものである。同図では、処理部a〜処理部hの処理能力が等価であり、1GOPのメディアデータに対する処理に1単位時間かかると仮定すると、各断片データ(4GOPのメディアデータ)の処理に4単位時間かかり、すべての断片データの処理が終了するまでに11.5単位時間かかることを示している。
【0062】
図13は、本発明により断片データ処理に要する時間の例であり、分割部10において分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら(4GOP→3GOP→2GOP→1GOPと変化させながら)分割した断片データを処理部30が処理した場合にかかる処理時間を可視化したものである。処理部a〜処理部hの処理能力が等価であり、1GOPのメディアデータに対する処理に1単位時間かかると仮定すると、処理の前半では4GOPの断片データの処理に4単位時間かかっているが、途中からメディアデータの分割するGOP数を4GOP→3GOP→2GOP→1GOPと変化させているため、すべての断片データの処理が終了するまでに10単位時間で済んでいる。このように、本発明によれば処理時間を短縮することができる。
【0063】
なお、上記では処理部30の処理能力が等価であることを前提に説明したが、処理部の処理能力が異なる場合でも同様である。
【0064】
また、分割部10が1つの断片データを分割するのに要する時間と1つの処理部30が断片データを処理するのに要する時間の比率が本実施の形態と異なる場合でも同様である。
【0065】
なお、上記の実施の形態の図1に示す分散メディア処理装置の構成要素の動作をプログラムとして構築し、分散メディア処理装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0066】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【0067】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【0068】
1 分散メディア処理装置
2 ユーザ端末
10 分割部
11 データ受付部
12 分割サイズ計算部
13 データ分割部
14 断片データ蓄積部
20 蓄積部
21 断片データ受付部
22 断片データキューイング部
30 処理部
31 断片データ取得部
32 メディア処理部
33 処理結果送信部
40 統合部
41 処理結果受付部
42 処理結果統合部
43 統合結果返却部

【特許請求の範囲】
【請求項1】
ネットワーク上のメディアデータを高速に処理するための分散メディア処理装置であって、
入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割手段と、
前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する少なくとも1つ以上の処理手段と、
少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合手段と、
を有することを特徴とする分散メディア処理装置。
【請求項2】
前記データ分割手段は、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割する手段を含む
請求項1記載の分散メディア処理装置。
【請求項3】
前記データ分割手段は、
前記処理手段の空き能力数が、前記記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する手段を含む
請求項2記載の分散メディア処理装置。
【請求項4】
ネットワーク上のメディアデータを高速に処理するための分散メディア処理方法であって、
断片データを記憶する記憶手段と、データ分割手段、1つ以上の処理手段、統合手段とを有する装置において、
前記データ分割手段が、入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割ステップと、
各処理手段が、前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する処理ステップと、
前記統合手段が、少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合ステップと、
を行うことを特徴とする分散メディア処理方法。
【請求項5】
前記データ分割ステップにおいて、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割する
請求項4記載の分散メディア処理方法。
【請求項6】
前記データ分割ステップにおいて、
前記処理手段の空き能力数が、前記記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する
請求項5記載の分散メディア処理方法。
【請求項7】
請求項1乃至3のいずれか1項に記載の分散メディア処理装置を構成する各手段としてコンピュータを機能させるための分散メディア処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−248537(P2011−248537A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−119799(P2010−119799)
【出願日】平成22年5月25日(2010.5.25)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】