(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022146903
(43)【公開日】2022-10-05
(54)【発明の名称】機械学習基盤の映像ストリーム提供方法および装置
(51)【国際特許分類】
G06Q 50/10 20120101AFI20220928BHJP
G06N 20/10 20190101ALI20220928BHJP
G06Q 30/02 20120101ALI20220928BHJP
【FI】
G06Q50/10
G06N20/10
G06Q30/02 470
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022037802
(22)【出願日】2022-03-11
(31)【優先権主張番号】10-2021-0036704
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ウィンドウズ
2.WINDOWS
3.リナックス
4.Linux
5.UNIX
6.macOS
7.JAVA
(71)【出願人】
【識別番号】519130063
【氏名又は名称】ハイパーコネクト インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】サンギル アン
(72)【発明者】
【氏名】ヨンジェ リ
(72)【発明者】
【氏名】ヒョン ウ パク
(72)【発明者】
【氏名】ボム ジュン シン
(72)【発明者】
【氏名】ギ フン ヨム
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB08
5L049CC12
(57)【要約】
【課題】機械学習に基づいて映像ストリームを提供する方法および装置を提供する。
【解決手段】多様な実施形態に係る電子装置の機械学習基盤の映像ストリーム提供方法は、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階;前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて、前記ソース映像ストリームに対するイベント検出の有無を確認する段階;前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定する段階、を含み得る。その他の実施形態も可能である。
【選択図】
図4
【特許請求の範囲】
【請求項1】
電子装置の機械学習基盤の映像ストリーム提供方法において、
第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階と、
前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて前記ソース映像ストリームに対するイベント検出の有無を確認する段階と、
前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定する段階と、を含む、電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項2】
前記ストリーミング制限の有無を決定する段階は、
前記学習モデルを用いて前記少なくとも1つのフレームに対するイベント検出に関連した確率値を獲得する段階と、
前記確率値に基づいて、前記ソース映像ストリームのストリーミング制限の有無を決定する段階と、を含む、請求項1に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項3】
前記ストリーミング制限の有無を決定する段階は、
前記確率値が指定された閾値以上である場合、前記確率値の獲得に対応して前記ソース映像ストリームのストリーミングを制限するように決定する段階を含む、請求項2に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項4】
前記確率値が前記閾値以上である場合、指定された時間、前記第1の装置からのソース映像ストリームに対するイベント検出の有無の確認を中止する段階をさらに含む、請求項3に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項5】
前記ストリーミング制限の有無を決定する段階は、
前記確率値が前記閾値未満である場合、前記イベントに対応する映像ストリーム関連情報を1つ以上の外部装置に伝送する段階と、
前記1つ以上の外部装置から獲得された情報に基づいて、前記ソース映像ストリームのストリーミング制限の有無を決定する段階と、を含む、請求項3に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項6】
前記映像ストリーム関連情報を伝送する前記外部装置の個数は、前記確率値の大きさに基づいて決定される、請求項5に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項7】
前記1つ以上の外部装置から獲得された情報に基づいて、前記学習モデルを追加学習させる段階をさらに含む、請求項5に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項8】
前記指定された閾値は、前記第1の装置に対応するユーザー識別情報に基づいて決定される、請求項3に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項9】
前記1つ以上の外部装置に伝送する段階は、
前記確率値が第1の閾値以上で第2の閾値未満である場合、前記イベントに対応する映像ストリーム関連情報を第1の外部装置に送信する段階と、
前記確率値が前記第1の閾値未満である場合、前記イベントに対応する映像ストリーム関連情報を前記第1の外部装置および第2の外部装置にそれぞれ伝送する段階と、を含み、
前記ストリーミング制限の有無を決定する段階は、
前記確率値が前記第2の閾値以上である場合、前記確率値の獲得に対応して前記ソース映像ストリームのストリーミングを制限する段階を含む、請求項5に記載の電子装置の機械学習基盤の映像ストリーム提供方法。
【請求項10】
前記映像ストリーム関連情報は、
前記イベント検出に対応する第1のフレーム情報、前記イベント検出に対応する前記第1のフレーム以前の少なくとも1つの第2のフレーム情報、および前記イベント検出に対応する前記第1のフレーム以後の少なくとも1つの第3のフレーム情報を含む、請求項5に記載の電子装置の映像ストリーム提供方法。
【請求項11】
電子装置において、
通信モジュールと、
データベースと、
プロセッサーと、を含み、前記プロセッサーは、
第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信し、
前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて、前記ソース映像ストリームに対するイベント検出の有無を確認し、
前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定するように設定された、電子装置。
【請求項12】
前記プロセッサーは、
前記学習モデルを用いて、前記少なくとも1つのフレームに対する前記イベント検出に関連した確率値を取得し、
前記確率値と指定された閾値間の比較に基づいて、前記ソース映像ストリームのストリーミング制限の有無を決定するように設定された、請求項11に記載の電子装置。
【請求項13】
前記プロセッサーは、
前記確率値が前記閾値未満である場合、前記通信モジュールを用いて、前記イベントに対応する映像ストリーム関連情報を1つ以上の外部装置に伝送し、
前記1つ以上の外部装置から獲得された情報に基づいて、前記ソース映像ストリームのストリーミング制限の有無を決定するように設定された、請求項12に記載の電子装置。
【請求項14】
前記プロセッサーは、
前記確率値が第1の閾値以上で第2の閾値未満である場合、前記イベントに対応する映像ストリーム関連情報を第1の外部装置に伝送し、
前記確率値が前記第1の閾値未満である場合、前記イベントに対応する映像ストリーム関連情報を前記第1の外部装置を含む複数の外部装置に伝送し、
前記確率値が前記第2の閾値以上である場合、前記確率値の獲得に対応して前記ソース映像ストリームのストリーミングを制限するように設定された、請求項13に記載の電子装置。
【請求項15】
機械学習基盤の映像ストリーム提供方法を電子装置において実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的な記録媒体であって、前記機械学習基盤の映像ストリーム提供方法は、
第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階と、
前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて、前記ソース映像ストリームに対するイベント検出の有無を確認する段階と、
前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定する段階と、を含む、非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習に基づいて映像ストリームを提供する方法および装置に関する。
【背景技術】
【0002】
近年、デジタル技術の発達と共に、移動通信端末機、スマートフォン、タブレットPC、ラップトップ、またはウェアラブル装置などの多様な類型の電子装置が広く普及されている。また、これと共に、インターネットのような通信技術が急速に発展することによって、電子装置を用いた多様なサービスのうちの1つとして、多者間映像通話サービスまたはリアルタイム個人放送サービスを提供するプラットフォームが設けられる趨勢である。
【0003】
このような多者間映像通話サービスまたはリアルタイム個人放送サービスを提供する管理者は、ユーザーに健全なサービス環境が提供されるようにするために、それぞれの映像に有害な要素が含まれているか否かを監視し、不適切な映像を伝送するユーザーに制裁を加える必要がある。
【0004】
これに関連して、従来には、ビデオ通話または個人放送において、不適切な映像を伝送するユーザーに関する申告が受け付けられると、累積された申告回数などに基づいて、該当ユーザーに制裁を加える受動的な方式が使用されていた。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、この場合、リアルタイムストリーミングとして映像を提供されるユーザーは、既に不適切な映像に晒されて不快感を感じることがあり、申告をせずにサービスの使用を終了する場合もあり得るので、より積極的な方法によって不適切な映像の発生を遮断する方案が考慮される必要がある。このために、管理者(例:モニタリングエージェント)がビデオ通話または個人放送に参加して全体の映像を一つ一つモニタリングする方法を考慮することができるが、これは非効率的な側面が大きく、実質的な適用が困難であり得る。
【0006】
本実施形態が解決しようとする課題は、少なくとも1つのモデル(例:機械学習を通じて学習された学習モデル)を用いてリアルタイムにストリーミング伝送される映像ストリームに有害な要素が含まれているか否かを自動で識別し、該当映像ストリームの伝送を制限できる方法および装置を提供することにある。
【0007】
本実施形態が達成しようとする技術的課題は、前記のような技術的課題に限定されず、以下の実施形態から多様な技術的課題が推論され得る。
【課題を解決するための手段】
【0008】
多様な実施形態に係る電子装置の機械学習基盤の映像ストリーム提供方法は、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階;前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて前記ソース映像ストリームに対するイベント検出の有無を確認する段階;および前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定する段階、を含み得る。
【0009】
多様な実施形態に係る電子装置の映像ストリーム提供方法は、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階;前記ソース映像ストリームの少なくとも1つのフレームに基づいて、前記ソース映像ストリームに対するイベント検出の有無を確認する段階;および前記イベント検出に対応して前記第1の装置からの前記ソース映像ストリームのストリーミングを制限する段階、を含み得る。
【0010】
多様な実施形態に係る電子装置は、通信モジュール;データベース;およびプロセッサーを含み、前記プロセッサーは、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信し、前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて、前記ソース映像ストリームに対するイベント検出の有無を確認し、および前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定するように設定され得る。
【0011】
多様な実施形態に係る電子装置は、通信モジュール;データベース;およびプロセッサーを含み、前記プロセッサーは、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信し、前記ソース映像ストリームの少なくとも1つのフレームに基づいてイベント検出の有無を確認し、および前記イベント検出に対応して、前記第1の装置からの前記ソース映像ストリームのストリーミングを制限されるように設定され得る。
【0012】
多様な実施形態に係る機械学習基盤の映像ストリーム提供方法を電子装置において実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的記録媒体であって、前記機械学習基盤の映像ストリーム提供方法は、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階;前記ソース映像ストリームの少なくとも1つのフレームに基づいて、機械学習を通じて学習された学習モデルを用いて前記ソース映像ストリームに対するイベント検出の有無を確認する段階;および前記イベント検出に基づいて、前記第1の装置からの前記ソース映像ストリームのストリーミング制限の有無を決定する段階、を含み得る。
【0013】
多様な実施形態に係る映像ストリーム提供方法を電子装置において実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的記録媒体であって、前記映像ストリーム提供方法は、第1の装置から少なくとも1つの他の装置にストリーミングされるソース映像ストリームを受信する段階;前記ソース映像ストリームの少なくとも1つのフレームに基づいて、前記ソース映像ストリームに対するイベント検出の有無を確認する段階;および前記イベント検出に対応して前記第1の装置からの前記ソース映像ストリームのストリーミングを制限する段階、を含み得る。
【0014】
その他の実施形態の具体的な事項は、詳細な説明および図面に含まれている。
【発明の効果】
【0015】
多様な実施形態によると、少なくとも1つのモデル(例:機械学習を通じて学習された学習モデル)を用いて、リアルタイムストリーミング方式として伝送される映像に有害な要素が含まれているか否かを効率的な方式で自動識別し、該当映像関連ストリーミング伝送を制限することによって、リアルタイム個人放送または多者間映像通話に関連した健全なサービス環境を提供することができる。
【0016】
本発明の効果は、以上において言及された効果に限定されず、言及されていないさらに他の効果は、請求の範囲の記載から当該技術分野の通常の技術者に明確に理解され得るだろう。
【図面の簡単な説明】
【0017】
【
図1a】本開示の多様な実施形態に係るネットワーク環境を図示した図面である。
【
図1b】本開示の多様な実施形態に係る電子装置の構成ブロック図である。
【
図1c】本開示の多様な実施形態に係るサーバーの構成ブロック図である。
【
図2】本開示の多様な実施形態に係る映像ストリーム提供方法に関する概略的なフローチャートである。
【
図3】本開示の多様な実施形態に係る映像ストリーム提供方法に関する概略的なフローチャートである。
【
図4】本開示の一実施形態に係る装置の機械学習基盤の映像ストリーム提供方法に関するフローチャートである。
【
図5】本開示の一実施形態に係る映像ストリームのサンプリング方法を説明するための図面である。
【発明を実施するための形態】
【0018】
実施形態において使用される用語は、本開示における機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは、当分野に従事する技術者の意図または判例、新たな技術の出現などによって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する説明部分において詳細にその意味を記載するだろう。従って、本開示において使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全体にわたった内容に基づいて定義されなければならない。
【0019】
明細書全体において、ある部分がある構成要素を「含む」とするとき、これは、特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含み得ることを意味する。
【0020】
明細書全体において記載された、「a、b、およびcのうち少なくとも1つ」の表現は、「a単独」、「b単独」、「c単独」、「aおよびb」、「aおよびc」、「bおよびc」、または「a、b、およびcすべて」を包括し得る。
【0021】
以下において言及される電子装置は、ネットワークを通じてサーバーや他の電子装置に接続することができるコンピュータや携帯用端末として具現され得る。ここで、コンピュータは、例えば、ウェブブラウザ(WEB Browser)が搭載されたノートブックパソコン、デスクトップ(desktop)、ラップトップ(laptop)などを含み、携帯用端末は、例えば、携帯性と移動性が保障される無線通信装置として、IMT(International Mobile Telecommunication)、CDMA(Code Division Multiple Access)、W-CDMA(W-Code Division Multiple Access)、LTE(Long Term Evolution)などの通信基盤端末、スマートフォン、タブレットPCなどのようなすべての種類のハンドヘルド(Handheld)基盤の無線通信装置を含み得る。
【0022】
本明細書に記載されたストリーミング(streaming)は、リアルタイムで映像(video)を制作および伝送するか、そのような映像を視聴できるように提供されるサービスとして、コマーシャルおよびコンシューマモデルに分類される概念に該当し得る。
【0023】
以下においては、添付した図面を参照して、本開示の実施形態に関して本開示が属する技術分野において通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本開示は、多様な異なる形態として具現され得、ここで説明する実施形態に限定されない。
【0024】
以下、本発明の実施形態を添付された図面を参照して詳細に説明する。
【0025】
実施形態を説明することにおいて、本発明が属する技術分野においてよく知られており、本発明と直接的に関連のない技術内容に関しては説明を省略する。これは、不要な説明を省略することによって本明細書の要旨を曖昧にせず、より明確に伝達するためである。
【0026】
同様の理由として、添付図面において、一部の構成要素は、誇張または省略されるか、概略的に図示された。また、各構成要素の大きさは、実際の大きさを全的に反映するものではない。各図面において同一または対応する構成要素には同一の参照番号を付与した。
【0027】
本発明の利点および特徴、そして、それらを達成する方法は、添付される図面と共に詳細に後述されている実施形態を参照すれば明確になるだろう。しかし、本発明は、以下において開示される実施形態に限定されるものではなく、互いに異なる多様な形態として具現され得、単に本実施形態は、本発明の開示が完全なものとし、本発明が属する技術分野において通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求項の範疇によって定義されるのみである。明細書全体に亘って同一の参照番号は、同一の構成要素を指称する。
【0028】
このとき、処理フローチャート図面の各ブロックとフローチャート図面の組み合わせは、コンピュータプログラムインストラクションによって遂行され得ることを理解することができるだろう。これらのコンピュータプログラムインストラクションは、汎用コンピュータ、特殊コンピュータ、またはその他のプログラム可能なデータプロセッシング装備のプロセッサーに搭載され得るため、コンピュータまたはその他のプログラム可能なデータプロセッシング装備のプロセッサーを通じて遂行されるそのインストラクションがフローチャートブロック(ら)において説明された機能を遂行する手段を生成することになる。これらのコンピュータプログラムインストラクションは、特定方式として機能を具現するためにコンピュータまたは他のプログラム可能なデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ読み取り可能なメモリに保存することも可能であるため、そのコンピュータ利用可能またはコンピュータ読み取り可能なメモリに保存されたインストラクションは、フローチャートブロック(ら)において説明された機能を遂行するインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載されることも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセッシング装備上において一連の動作段階が遂行されて、コンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラム可能なデータプロセッシング装備を遂行するインストラクションは、フローチャートブロック(ら)において説明された機能を実行するための段階を提供することも可能である。
【0029】
また、各ブロックは、特定された論理的機能(ら)を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメント、またはコードの一部を示すことができる。また、いくつかの代替実行例においては、ブロックにおいて言及された機能が順序を外れて発生することも可能であることに注目されたい。例えば、連続して図示されている2つのブロックは、事実上、実質的に同時に遂行されることも可能であり、または、そのブロックが時々該当する機能によって逆順に遂行されることも可能である。
【0030】
図1aは、本開示の多様な実施形態に係るネットワーク環境を図示した図面である。
【0031】
図1aを参照すると、本開示の一実施形態に係るネットワーク環境1は、少なくとも1つの電子装置110、少なくとも1つのサーバー120、およびネットワーク50を含み得る。
図1aにおいては、ネットワーク環境1の一例として、4つの電子装置110と2つのサーバー120が示されたが、本発明の多様な実施形態に係るネットワーク環境1は、このような電子装置110の数やサーバー120の数に限定されず、以下の実施形態が適用され得る多様な形態のネットワーク環境が含まれ得る。
【0032】
電子装置110は、コンピュータ装置として具現される固定型端末または移動型端末を含み得る。例えば、電子装置110は、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノートブックパソコン、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、タブレットPC、およびウェアラブル装置のうちの少なくとも1つを含み得る。例示的に、
図1aにおいては、特定の電子装置110をスマートフォンの形状として図示しているが、これは、実質的に無線または有線の通信方式を用いてネットワーク50を通じて他の電子装置110および/またはサーバー120と通信することができる多様な物理的なコンピュータ装置に該当し得る。
【0033】
一方、本開示の多様な実施形態によると、電子装置110のうち少なくとも1つは、映像ストリームを生成してこれをストリーミングの伝送方式でサーバー(例:メディアサーバー)または他の電子装置(例:映像視聴者装置)に伝送する映像供給者装置(例:ホスト装置、ゲスト装置)に該当し得る。また、電子装置110のうち他の少なくとも1つは、前記映像供給者装置によって生成された映像ストリームを受信して、これをディスプレイおよび/またはスピーカーを通じて出力する映像視聴者装置に該当し得る。さらに他の実施形態によると、電子装置110は、特定の映像供給者装置から生成された映像ストリームに有害な要素が含まれているかに関するイベント発生をモニタリングするモニタリングエージェントに対応する装置に該当してもよい。
【0034】
ネットワーク50は、電子装置110とサーバー120、電子装置110と他の電子装置110、またはサーバー120と他のサーバー120を連結する役割をし得る。例えば、ネットワーク500は、各装置が互いに連結されてパケットデータを送受信できるように接続経路を提供し得る。例えば、ネットワーク50は、通信網(例:移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけでなく、各種近距離無線通信方式として具現され得る。例えば、ネットワーク50は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうち少なくとも1つを含み得る。例えば、ネットワーク50は、バスネットワーク、スターネットワーク、リングネットワーク、網目状ネットワーク、スター-バスネットワーク、ツリーまたは階層型ネットワークのうち少なくとも1つを含むネットワークトポロジーのうち任意の少なくとも1つを含み得るが、これに限定されない。
【0035】
サーバー120は、ネットワークサーバーとして具現される多数のコンピュータシステムまたはコンピュータソフトウェアを含み得、多様な情報をウェブページの形式として構成して提供し得る。例えば、サーバー120は、イントラネットまたはインターネットのようなコンピュータネットワークを通じて他のネットワークサーバと通信できる下位装置と連結されて作業遂行要請を受け付け、それに対する作業を遂行して遂行結果を提供するコンピュータシステムまたはソフトウェアを指称し得る。このほかにも、サーバー120は、ネットワークサーバ上において動作可能な一連の応用プログラムと、内部に構築された各種データベースを含む広義の概念として理解され得る。例えば、電子装置100は、ドス(DOS)、ウィンドウズ(Windows)、リナックス(Linux)、ユニックス(UNIX)、またはマックOS(MacOS)などのオペレーティングシステムによって多様に提供されるネットワークサーバープログラムを用いて具現され得る。例えば、サーバー120は、他の電子装置110または他のサーバー120とネットワーク50を通じて通信し、命令、コード、ファイル、またはコンテンツのような各種情報を送受信するコンピュータ装置(または複数のコンピュータ装置)として具現され得る。
【0036】
多様な実施形態に係るサーバー120は、特定の映像供給者(provider)装置(例:ホスト装置またはゲスト装置)から生成された映像をストリーミング方式として受信し、前記受信された映像ストリームを他の複数の電子装置(例:映像視聴者装置)にストリーミング伝送するメディアサーバーを含み得る。例えば、前記メディアサーバーは、受信された映像ストリームをキューに保存してから、これを複数の電子装置にストリーミング方式として順次的に伝送し得る。
【0037】
他の例を挙げると、サーバー120は、メディアサーバーから映像ストリームを受信する複数の電子装置のうちいずれか1つに該当する機械学習サーバーを含み得る。機械学習サーバーは、機械学習を通じて学習された少なくとも1つの学習モデルを含むことができ、前記学習モデルを用いて映像ストリームに対するイベント検出の有無を確認することができる。例えば、機械学習サーバーは、前述した学習モデルを用いて特定の映像ストリームからイベントが検出されたと判断する場合、前記映像ストリームを提供した映像供給者装置からのストリーミングの伝送を制限するか、前記イベント検出関連情報をAPI(application programming interface)サーバーを通じてモニタリングエージェントに対応する装置に伝送してイベント検出の有無を再確認することができる。
【0038】
例えば、APIサーバーは、前記機械学習サーバーから受信したイベント検出関連情報をモニタリングエージェント(管理者)に対応する特定の電子装置110に提供することができ、モニタリングエージェントは、受信された情報に基づいて前記映像供給者に対応する電子装置によるストリーミングの伝送を選択的に制限することができる。
【0039】
図1bは、本開示の多様な実施形態に係る電子装置の構成ブロック図である。
【0040】
前述したように、多様な実施形態に係る電子装置110は、リアルタイム個人放送サービス(または多者間映像通話サービス)を利用するユーザー装置であって、映像を提供する映像供給者装置であるか、または映像を受信して出力する映像視聴者装置のうちいずれか1つに該当し得る。一方、前記電子装置は、電子装置を使用するユーザーが映像を供給するか、或いは他の装置によって製作された映像を視聴するかを決定することに対応して、状況に応じて映像供給者装置になるか、映像視聴者装置になり得ることは当然である。また、多様な実施形態に係る電子装置110は、特定の映像供給者装置によって生成された映像コンテンツ(例:映像ストリーム)に関連したイベント発生を管理するモニタリングエージェントに対応する装置としてモニタリングエージェント装置に該当してもよい。
【0041】
以下、
図1bを参照すると、電子装置11(例:映像供給者装置、映像視聴者装置、モニタリングエージェント装置など)は、プロセッサー111、メモリ113、通信モジュール115、入力モジュール117、および出力モジュール119のうち少なくとも1つを含み得る。
【0042】
例えば、電子装置110のプロセッサー111は、入力モジュール117に含まれたカメラおよび/またはマイクを用いて映像コンテンツを生成することができ、通信モジュール115を用いて前記生成された映像コンテンツを伝送するか、他の装置から特定情報(またはコンテンツ)を受信することができる。また、プロセッサー111は、出力モジュール119に含まれたディスプレイおよび/またはスピーカーを用いて特定の映像コンテンツを出力することができ、電子装置110の動作に関連した一連の命令や所定のデータをメモリ113を通じて保存するか、取り出すことができる。
【0043】
図1cは、本開示の多様な実施形態に係るサーバーの構成ブロック図である。
【0044】
図1cを参照すると、サーバー120(例:メディアサーバー、機械学習サーバー、APIサーバーなど)は、プロセッサー121、データベース123、および通信モジュール125のうち少なくとも1つを含み得る。
【0045】
例えば、サーバー120のプロセッサー121は、通信モジュール125を用いて特定の装置から受信した所定の映像コンテンツ(例:映像ストリーム)を他の装置に伝達するか、受信した映像に基づいて特定のイベントを検出することができる。前記プロセッサー121は、前記イベントの検出に基づいて、映像コンテンツの伝送を維持するか、制限することができ、特定の装置(例:映像供給者装置)に関する評価情報を提供(例:不良(abusive)ユーザーとして登録)することもできる。例えば、前記プロセッサー121は、データベース123に予め保存された少なくとも1つのモデル(例:機械学習を通じて学習された少なくとも1つの学習モデル)を用いて、所定の映像コンテンツ(例:映像ストリーム)に対するイベント検出の有無を確認することができ、特定の映像コンテンツに対してイベントが検出される場合、前記検出されたイベント関連情報を他の装置(例:モニタリングエージェント装置)に伝送することができる。
【0046】
プロセッサー121は、サーバー120において具現される多様な機能を処理するための一連の動作を遂行することができ、一例として学習データ(例:イベントに対応するものとして確認された映像コンテンツ情報)を受信し、該当学習データを用いて機械学習を通じて前記学習モデルを学習(train)させてもよい。
【0047】
データベース123は、サーバー120の所定の保存空間に具現されたデータ構造であって、データの保存、検索、削除、編集、または追加などの機能を処理するためのフィールドまたは構成要素を有し得る。例えば、データベース123は、前記プロセッサー121と電気的に連結され、プロセッサー121の動作に関連した命令語を保存することができる。また、サーバー120において使用される多様なデータ(例:学習データ、機械学習のための命令語、確率値に関連した臨界条件情報、フレームサンプリング条件関連情報など)を保存することができる。
【0048】
図2および
図3は、本開示の多様な実施形態に係る映像ストリーム提供方法に関する概略的なフローチャートである。
【0049】
図2を参照すると、多様な実施形態に係る映像ストリーム提供方法は、先ず、段階210において、第1の電子装置110a(例:映像供給者装置)から映像ストリームが生成され得る。
【0050】
例えば、第1の電子装置110aに対応する映像供給者(provider)は、リアルタイム個人放送サービス(または、多者間映像通話サービス)を用いて映像ストリームを提供しようとするユーザーに該当し得る。例えば、前記映像供給者は、第1の電子装置110aに含まれた所定の入力モジュール(例えば、カメラ、マイクなど)を用いて所定の映像ストリーム(または、映像コンテンツ)を生成し得る。前記映像ストリームにはイメージデータおよび/または音声データが含まれ得る。
【0051】
次に、段階220において、第1の電子装置110aは、前記生成した映像ストリームをリアルタイムストリーミング方式としてメディアサーバー120bに伝送し得る。また、段階230において、メディアサーバー120bは、前記受信された映像ストリームを再び複数の他の装置(例:映像視聴者装置)に伝送し得る。このように、メディアサーバー120bは、映像供給者装置と映像視聴者装置の間において映像ストリームを中継する役割をし得る。一方、一実施形態において、第1の電子装置110aが生成した映像ストリームは、他の装置にストリーミングされるところ、これをソースストリームと呼ぶことができる。
【0052】
一方、メディアサーバー120bから映像ストリームを受信する複数の他の装置は、第3の電子装置110c(例:映像視聴者装置)(ら)および機械学習サーバー120cを含み得る。
【0053】
例えば、第3の電子装置110cに対応する映像視聴者は、リアルタイム個人放送サービス(または多者間映像通話サービス)を用いて所定の映像ストリームを提供されるユーザーに該当し得る。前記映像視聴者は、第3の電子装置110cに設けられた出力モジュール(例えば、ディスプレイ、スピーカーなど)を用いて出力される映像をリアルタイムで確認(視聴)することができる。一方、前記第3の電子装置110cは、前記メディアサーバー120bから受信される映像ストリームを視聴する複数の映像視聴者に対応する複数の映像視聴者装置を意味してもよい。
【0054】
機械学習サーバー120cは、第3の電子装置110c(即ち、映像視聴者装置)に不適切な映像が提供される状況(イベント)を短時間内に検出し、これに対する措置を講じるために設けられたモニタリング装置に該当し得る。前記機械学習サーバー120cは、前記リアルタイム個人放送サービス(または、多者間映像通話サービス)に参加して映像ストリームを生成する少なくとも1つの映像供給者(例:ホスト、ゲスト)(例:第1の電子装置110a)からそれぞれの映像ストリームをリアルタイムで受信し、各映像ストリームに対してリアルタイムでイベント検出の有無を確認することができる。
【0055】
一方、一実施形態において、前記メディアサーバー120bは、第1の電子装置110aから受信した映像ストリームをキューに優先保管(保存)してから、所定の処理方式によって、ストリーミング方式として前記複数の他の装置に提供してもよい。
【0056】
段階240において、機械学習サーバー120cは、メディアサーバー120bを通じて伝達された映像ストリームに対するイベント検出の有無を確認することができる。
【0057】
機械学習サーバー120cは、機械学習(machine learning)を通じて学習された少なくとも1つの学習モデルをデータベースに予め保存しておくことができ、前記学習モデルを用いて、リアルタイムで伝達される映像ストリームから指定されたイベントが発生するか否かをリアルタイムで確認することができる。
【0058】
例えば、機械学習を通じて学習された学習モデルは、少なくとも2つ以上の層(layer)を含むニューラルネットワークを含み得る。例えば、前記機械学習を通じて学習された学習モデルは、入力層、出力層、および少なくとも1つの隠れ層を含み得る。前記学習モデルは、少なくとも1つの映像データまたは音声データを正常的な要素と非正常的な要素(例:有害な要素)に区分した学習データを用いて既学習(learn)された分類モデル(classification model)を含み得る。
【0059】
例えば、前記学習モデルは、任意の映像データおよび/または音声データから所定の特徴点(features)を抽出し、抽出された特徴点を入力データとして使用することによって、前記映像データおよび/または音声データに非正常的な要素(例:有害な要素)が含まれたか否か(即ち、イベント検出の有無)を確認することができる。
【0060】
一方、前記学習モデルは、前記映像データおよび/または音声データに非正常的な要素が含まれたか、含まれないことを示す出力データ(例:イベント検出の有無に関連した分類情報)に関連して、該当出力データの信頼度に関連した確率値をさらに提供することができる。
【0061】
一実施形態によると、機械学習サーバー120cは、指定された閾値(threshold value)よりも大きいか同じ確率値として出力データが提供された場合、該当出力データに基づいて、第1の電子装置110aからの映像ストリーミングの伝送を制限する方式として、映像ストリーム対するモニタリングの結果を直接反映することができる。
【0062】
また、機械学習サーバー120cは、前記確率値が前記予め設定された値よりも小さい場合、前記出力データを無視するか、または他の装置(例:第2の電子装置110b)にイベント検出に対する再確認要請を伝送してもよい。
【0063】
一方、他の実施形態において、閾値は、第1の閾値および第2の閾値を含み得る。例えば、第2の閾値が第1の閾値よりも大きく、確率値が第1の閾値以上、第2の閾値未満である場合、機械学習サーバー120cは、第2の電子装置110bにイベント検出に対する再確認要請して、第2の電子装置110bの応答に基づいてストリーミングを制限することができる。また、確率値が第2の閾値以上である場合、前記機械学習サーバー120cは、前記確率値の獲得に対応してストリーミングを直接制限することができる。
【0064】
一実施形態によると、機械学習サーバー120cは、確率値が前記指定された閾値(例:第2の閾値)よりも大きいか同じ場合、指定された時間(例:24時間)、第1の電子装置110aからの映像ストリームに対するイベントを含むか否かに関する確認動作を中断することができる。例えば、機械学習サーバー120cは、第1の電子装置110aに対応するユーザーを不良ユーザーとして決定することができ、前記第1の電子装置110aから提供される映像ストリームに関しては、イベント検出の有無に関する確認作業を省略することができる。例えば、機械学習サーバー120cは、イベント検出時に確認したユーザー識別情報に基づいて、第1の電子装置110aに対応するユーザーによって生成される映像ストリームは、前記映像ストリームがストリーミングされる放送の識別情報とは関係なく、指定された時間、ストリーミングの伝送を制限することができる。次に、段階250において、機械学習サーバー120cは、前記段階240において、所定のイベント検出を確認した場合、メディアサーバー120bに映像ストリームの伝送を制限するための命令を含むイベント関連情報を伝送することができる。
【0065】
メディアサーバー120bは、前記機械学習サーバー120cからイベント関連情報(例:映像ストリームの伝送制限命令)を受信することによって、段階260において、前記イベントに対応する映像ストリームに対する第3の電子装置110cへのストリーミングの伝送を中断させることができる。また、図示されていないが、一実施形態に係るメディアサーバー120bは、前記第3の電子装置110cに第1の電子装置110aからの映像ストリームの提供が中断されることを知らせる情報を伝送してもよい。一方、一実施形態において、第3の電子装置110cにストリーミングされるストリームをターゲットストリームと指称することができ、ターゲットストリームは、少なくとも1つのソースストリームに対応する映像を含み得る。一例として、複数のソースストリームを併合して1つのストリームを生成することができ、これを通じて複数のユーザーが1つのストリームを通じて放送を遂行することができる。実施形態において、このような場合にターゲットストリームのうち、イベントが検出されたソースストリームに対応する部分の伝送を制限する方式として、少なくとも一部の映像ストリームの提供を中断することができる。また、ユーザーの経験向上のために、このように複数個のソースストリームが含まれる放送のうち、一部のストリームから前記イベントが検出される場合、該当ターゲットストリームに含まれたソースストリームに対するイベント検出の有無をより頻繁に判断することができ、および/またはイベント判断のための閾値の設定を変更することによって、イベント判断をより厳密にすることができる。
【0066】
一方、段階270において、機械学習サーバー120cは、前記検出されたイベントに対応する映像ストリームを生成した第1の電子装置110a側に該当映像ストリームからイベントが検出されたという通知情報および前記映像ストリームのストリーミングが制限されたという通知情報のうち少なくとも1つを提供することができる。他の例として、
図2に図示されたものとは異なり、前記機械学習サーバー120cから映像ストリームに対するイベント検出を確認したメディアサーバー120bにおいて第1の電子装置110aに前記イベント検出の通知情報および/または前記映像ストリームのストリーミングが制限されるという通知情報を機械学習サーバー120cに代えて伝送してもよい。
【0067】
また、機械学習サーバー120c、メディアサーバー120b、またはAPIサーバー120aのうちいずれか1つは、前記検出されたイベントに対応する映像ストリームを生成した第1の電子装置110aに対応するユーザー(例:映像供給者)を不良(abusive)ユーザーとして登録する方式として、ユーザーのイベント検出履歴を管理してもよい。
【0068】
以上、
図2を参照して説明した一実施形態に係る映像ストリーム提供方法は、機械学習サーバー120cにおいて特定の映像ストリームから所定のイベントを検出した場合、前記イベント検出の信頼性の指標として提供されるイベント検出関連の確率値が、指定された閾値(threshold value)よりも大きいか同じである場合に限って適用される方法に該当し得る。一方、前記イベント検出関連の確率値が前記指定された閾値よりも小さい場合には、
図3を参照して後述する一実施形態に係る映像ストリーム提供方法が適用され得る。
【0069】
他の実施形態に係る映像ストリーム提供方法は、前記イベント検出関連の確率値が前記指定された閾値よりも大きいか同じである場合には、
図2に図示された各段階によって映像ストリームを提供することができ、閾値よりも小さい場合には、前記イベント検出結果(即ち、出力データ)を無視するか、または映像視聴者装置(例:第3の電子装置110c)に前記イベント検出に関連した申告提案情報を提供することができる。
【0070】
さらに他の実施形態に係る映像ストリーム提供方法は、前記イベント検出関連の確率値が前記指定された閾値よりも小さいか否かに関係なく、いつでも
図3に図示された各段階によって映像ストリームを提供してもよい。
【0071】
図3を参照すると、多様な実施形態に係る映像ストリーム提供方法は、段階310において、第1の電子装置110aによって生成された映像ストリームが段階320においてメディアサーバー120bに伝送され、段階330において前記映像ストリームが前記メディアサーバー120bから複数の他の装置(例:機械学習サーバー120cおよび第3の電子装置110c)にストリーミング伝送され得る。
【0072】
また、段階340において、機械学習サーバー120cは、機械学習を通じて学習された学習モデルを用いて、前記受信された映像ストリームからイベントが検出されたか否かを確認することができる。以上の段階310ないし段階340は、
図2を参照して説明した段階210ないし段階240と実質的に同一の段階に該当し得る。
【0073】
一方、段階340において、機械学習サーバー120cによって前記受信された映像ストリームにイベントが検出されたものとして確認されると、段階350において、機械学習サーバー120cは、APIサーバー120aに検出されたイベントと関連した情報を伝送することができる。
【0074】
前述したように、一実施形態に係る機械学習サーバー120cは、段階340において、イベントの検出を確認した場合、該当イベント検出に関連した確率値が指定された閾値よりも小さいか否かに基づいて、次の段階を遂行することができる。例えば、機械学習サーバー120cは、段階350において、イベント検出に関連した確率値が指定された閾値未満である場合に限って、前記検出されたイベントに対応する映像ストリーム関連情報、即ち、イベント関連情報をAPIサーバー120aに伝送することができる。また、段階360において、APIサーバー120aは、第2の電子装置110bに前記イベント関連情報を伝送することができる。
【0075】
例えば、第2の電子装置110bは、モニタリングエージェント(例:管理者)に対応する電子装置として、機械学習サーバー120cにおいて1次的に確認した特定の映像ストリームに対するイベント検出の有無を再確認するための所定の情報を受信することができる。
【0076】
一方、一実施形態によると、段階360において、前記APIサーバー120aが前記イベント関連情報を伝送する第2の電子装置110bは、1つ以上の外部装置を指称してもよい。例えば、APIサーバー120a(または、機械学習サーバー120c)は、確率値の大きさに基づいて、イベント関連情報を伝送する外部装置の個数を決定することができる。例えば、イベント検出に関連した確率値が第1の閾値よりも大きいか同じであり、第2の閾値よりも小さい場合、APIサーバー120aは、単一の外部装置(例:第1の外部装置)に前記イベント関連情報を伝送することができる。例えば、イベント検出に関連した確率値が第1の閾値よりも小さい場合、APIサーバー120aは、2つ以上の外部装置(例:第1の外部装置および第2の外部装置)に前記イベント関連情報を伝送することができる。例えば、第1の外部装置と第2の外部装置は、それぞれ互いに異なるモニタリングエージェントに対応する電子装置に該当し得る。
【0077】
即ち、APIサーバー120a(または、機械学習サーバー120c)は、イベント関連確率値が設定された大きさよりも小さいことに基づいて、外部装置(ら)を通じてイベント検出の有無を再確認することができ、確率値の大きさに基づいて、再確認(または、再検閲)回数を2回以上に設定することができる。
【0078】
また、図示されていないが、一実施形態によると、機械学習サーバー120cは、第2の電子装置110b(例:第1の外部装置および第2の外部装置のうち少なくとも1つ)から受信されたイベント検出の有無に関する再確認の結果情報に基づいて、学習モデル(learning model)を追加的に学習させることができる。一実施形態によると、段階350および段階360において伝送されるイベント検出に関連した情報は、前記イベントが検出された映像ストリームに関連して、該当映像ストリームからイベントが発生した時点に対応するタイムスタンプ(time stamp)情報、前記イベントが識別された映像ストリーム部分に対応するフレーム情報、前記映像ストリームを生成した第1の電子装置110aに対応するユーザー(例:映像供給者)識別情報、および前記映像ストリーム関連の放送識別情報(例:stream IDまたは放送ID)のうち少なくとも1つを含み得る。また、一実施形態において、イベント検出に関連した特定のフレーム(例:第1のフレーム情報)が識別されると、該当フレームの少なくとも1つ前のフレーム情報(例:第2のフレーム情報)、および少なくとも1つ後のフレーム情報(例:第3のフレーム情報)を共に第2の電子装置110bに伝送して、これに基づいて第2の電子装置110bが該当映像のコンテキストを把握するのに役立つ。
【0079】
例えば、本開示の一実施形態に係るリアルタイム個人放送サービス(または、多者間映像通話サービス)においては、1つの放送において2つ以上の第1の電子装置110a(例:映像供給者装置)から生成された複数の映像ストリームが1つの画面内に割り当てられた各部分の領域を通じて同時に提供され得る。
【0080】
例えば、特定の放送を新規に生成して、生成した放送を通じて映像ストリームを提供する映像供給者はホストに該当し得、既に生成された放送に参加して映像ストリームを提供する他の映像供給者はゲストに該当し得る。
【0081】
例えば、前記リアルタイム個人放送サービスを提供する管理者装置(例:APIサーバー120aまたはメディアサーバー120b)は、特定のホストに対応する装置(ホスト装置)によって新規放送が生成されることによって、前記放送に対応する放送識別情報(放送ID)を付与することができる。また、前記管理者装置は、前記ホストに対応する装置から提供される映像ストリームに対して、前記映像ストリームに対応するストリーム識別情報(stream ID)を付与することができる。一方、特定の映像供給者がゲストとして既に生成された放送に参加して映像ストリームを提供しようとする場合にも、前記管理者装置は、前記ゲストに対応する装置から提供される映像ストリームに関するストリーム識別情報(stream ID)を付与することができる。
【0082】
本開示の多様な実施形態において、第1の電子装置110aは、ホスト装置またはゲスト装置のうち少なくとも1つに該当し得る。
【0083】
再び段階350および段階360を参照すると、前記機械学習サーバー120cは、特定の映像ストリームに対するイベントが検出される場合、該当映像ストリームに対応するストリーム識別情報(stream ID)と該当映像ストリームが提供された放送の放送識別情報(放送ID)のうち少なくとも1つを確認することができる。例えば、前記情報は、段階330においてメディアサーバー120bから映像ストリームのストリーミングの伝送が開始される時点に前記メディアサーバー120bから受信されたものであり得る。
【0084】
一実施形態によると、段階350において、機械学習サーバー120cは、APIサーバー120a側に、識別されたイベントに対応する映像ストリームのストリーム識別情報(stream ID)を提供し、段階360において、APIサーバー120aは、第2の電子装置110b側に前記ストリーム識別情報(stream ID)と放送識別情報(放送ID)をそれぞれ提供することができる。例えば、APIサーバー120aは、前記受信したストリーム識別情報(stream ID)に基づいて、前記ストリーム識別情報(stream ID)に対応する放送識別情報(放送ID)を確認し、前記確認された放送識別情報(放送ID)を前記ストリーム識別情報(stream ID)と共に第2の電子装置110bに伝送することができる。
【0085】
一方、
図3に図示されたものとは異なり、一実施形態に係る映像ストリーム提供方法においては、段階350において機械学習サーバー120cからAPIサーバー120aにイベント関連情報を伝送し、段階360において再びAPIサーバー120aが第2の電子装置110bにイベント関連情報を伝送する代わりに、機械学習サーバー120cから直接的に第2の電子装置110b側にイベント関連情報を伝送してもよい。
【0086】
また、さらに他の実施形態に係る映像ストリーム提供方法においては、機械学習サーバー120cがメディアサーバー120bにイベント検出関連情報を伝送すると、前記メディアサーバー120bからAPIサーバー120a(または第2の電子装置110b)に前記イベント検出関連情報を提供してもよい。
【0087】
再び
図3を参照すると、段階370において、第2の電子装置110b(例:モニタリンツエージェント装置)は、受信されたイベント関連情報に基づいて、機械学習サーバー120cにおいて確認したイベントに対応する映像ストリームの少なくとも一部のコンテンツデータを出力し、前記映像ストリームにからイベントが検出されるか否かを再確認するためのユーザー(例:モニタリングエージェント(管理者))の入力を受信することができる。
【0088】
段階370において、前記ユーザー入力に基づいて、前記映像ストリームからイベントが検出されたことを再確認する場合、第2の電子装置110bは、段階380において前記映像ストリームのストリーミングの伝送を制限する命令を含むイベント関連情報をメディアサーバー120bに伝送することができ、段階385においてメディアサーバー120bは、前記映像ストリームの伝送を中断することができる。
【0089】
また、段階390において、一実施形態に係る第2の電子装置110bは、前記映像ストリームからイベント検出を再確認することに対応して、第1の電子装置110a側にもイベント検出および映像ストリームの伝送制限に関する通知情報を提供することができる。
【0090】
また、一実施形態に係る第2の電子装置110bは、前記第1の電子装置110aに対応するユーザー(例:映像供給者)を不良(abusive)ユーザーとして登録する方式として、ユーザーのイベント検出履歴を管理してもよい。
【0091】
さらに、
図3に図示されていないが、一実施形態に係る第2の電子装置110bは、前記映像ストリームからイベントが検出されたことを再確認した場合、前記確認結果に関連したデータを追加的な学習データとして機械学習サーバー120cに提供することができ、機械学習サーバー120cは、前記追加学習データに基づいて学習モデルを機械学習(train)させることができる。
【0092】
図4は、本開示の一実施形態に係る装置(例:
図2の機械学習サーバー120c)の機械学習基盤の映像ストリーム提供方法に関するフローチャートである。
【0093】
図4を参照すると、多様な実施形態に係る装置は、段階410において、第1の装置(例:
図2の第1の電子装置110a)から生成されて複数の他の装置(例:
図2の第3の電子装置110c)にストリーミング伝送される映像ストリームを受信することができる。
【0094】
例えば、前記第1の装置は、映像ストリームを生成してストリーミング伝送する映像供給者装置に対応することができ、前記複数の他の装置は、前記映像ストリームをストリーミング方式として受信する映像視聴者装置に対応する装置を少なくとも含み得る。
【0095】
一方、前記段階410において、一実施形態に係る装置は、第1の装置において生成された映像ストリームを前記第1の装置から直接受信するか、前記映像ストリームを受信した後に前記装置および前記複数の他の装置に伝送する媒介装置(例えば、
図2のメディアサーバー120b)を通じて間接的に受信してもよい。
【0096】
段階420において、前記装置は、機械学習を通じて学習された少なくとも1つの学習モデルを用いて、段階410においてリアルタイムで受信する映像ストリームから所定のイベントが検出されるか否かを確認することができる。
【0097】
多様な実施形態によると、前記イベントは、悪口ジェスチャー、侮辱ジェスチャー、人種差別ジェスチャー、性的コンテンツ、裸体露出(nudity)、性器、性行為、非衛生的コンテンツ、排泄物、排泄行為、反社会的コンテンツ、反人倫的コンテンツ、その他違法行為、犯罪行為、暴力行為、虐待行為、自害行為、武器、麻薬、反社会的シンボル、嫌悪性コンテンツ、脅威性コンテンツ、恐怖症誘発コンテンツ、または血液のうち少なくとも1つに対応する映像(例:イメージデータおよび/またはオーディオデータ)が含まれるか否かに関するものであり得る。一実施形態に係る装置は、前記イベントを複数のイベント類型に区分して獲得した学習データとして前記学習モデルを予め学習させることができ、特定の映像ストリームが前記区分された複数のイベント類型のうち少なくとも1つに該当するか否かを確認する方式として具現されてもよい。
【0098】
一方、多様な実施形態によると、前記学習モデルは、ディープラーニング(deep learning)アルゴリズムを用いて学習され得る。例えば、前記学習モデルは、深層ニューラルネットワーク(deep neural network,DNN)、畳み込みニューラルネットワーク(convolutional neural network,CNN)、回帰型ニューラルネットワーク(recurrent neural network,RNN)、R-CNN(region-based convolutional neiural networks)、深層信念ニューラルネットワーク(deep belief network,DBN)、またはディープキューネットワーク(deep Q-networks)のうち少なくとも1つを含むアルゴリズムを用いて学習され得る。
【0099】
一方、本明細書においては、機械学習を通じて学習された学習モデルを用いてイベントを検出することを記載したが、多様な実施形態に係る装置は、多様な方式のロジックモデルを用いて映像ストリームを提供するか、映像ストリームのストリーミングを制限することができる。例えば、多様な実施形態に係る装置は、本明細書において機械学習モデルを用いて遂行されるものとして説明した各種動作のうち少なくとも一部を所定の決定木として構成されたモデルを通じて具現することができる。
【0100】
一方、前記段階420において、多様な実施形態に係る装置は、前記イベント検出を効率的に処理するために、前記第1の装置から受信された映像ストリームから指定された条件によって少なくとも一部のフレームをサンプリングし、前記サンプリングされた少なくとも一部のデータ(例:少なくとも一部のフレーム)に基づいてイベント検出の有無を確認することができる。
【0101】
図5は、本開示の一実施形態に係る映像ストリームのサンプリング方法を説明するための図面である。
【0102】
図5を参照すると、装置は、受信された映像ストリームに含まれたフレーム422のうち、一部のフレーム424を指定された条件によってサンプリングすることができる。例えば、前記装置は、映像ストリームに含まれたフレーム422のうち、少なくとも一部を指定された時間単位ごとに抽出してサンプルフレーム424を獲得するか、または前記フレーム422のうち、少なくとも一部を指定されたフレームの個数単位ごとに抽出してサンプルフレーム424を獲得することができる。
【0103】
多様な実施形態によると、装置は、前記サンプリング条件を制御することによって、装置の演算負荷を調整するか、選択的にイベント検出の正確度を調整することができる。
【0104】
例えば、一実施形態に係る装置は、映像ストリームを提供する第1の装置(例:映像供給者装置)に対応するユーザー識別情報に基づいて、前記サンプリング条件を制御することができる。例えば、装置は、特定の映像供給者(例:ホスト、ゲスト)の既存のイベント発生履歴(または、累積処罰履歴、累積申告履歴など)に基づいて、前記映像供給者が提供する映像ストリームからイベント検出の可能性が高いと判断される所定の基準に符合する場合、前記映像供給者に対応する第1の装置から提供される映像ストリームに対しては、相対的に短い時間の周期または小さいフレーム個数の周期としてフレームをサンプリングするように設定することができる。これとは反対に、特定の映像供給者が多数の放送履歴にも拘わらず、該当映像供給者から提供された映像ストリームにおけるイベント発生履歴がないか、著しく少ない場合には、前記映像供給者に対応する第1の装置から提供される映像ストリームは、相対的に長い時間の周期または多いフレーム個数の周期としてフレームをサンプリングするように設定することができる。
【0105】
他の実施形態に係る装置は、前記装置のイベント検出に関連した演算量に基づいて、装置の負荷が過度に大きい場合、例えば、イベント検出の有無を確認しなければならない映像ストリームの数が一時的に増えた場合、前記サンプリング条件を短い時間の周期または少ない数のフレーム個数の周期ごとにフレームをサンプリングするように設定する方式として演算負荷を制御することができる。
【0106】
再び
図4を参照すると、段階430において、装置は、段階420におけるイベント検出に基づいて、前記イベントが検出された映像ストリームに対応する映像供給者装置である第1の装置からの映像ストリームの提供を制限することができる。
【0107】
例えば、一実施形態に係る装置は、前記イベントが検出されたものと判断される場合、直接前記第1の装置からの映像ストリームのストリーミングの伝送を制限することができる。一実施形態によると、装置は、前記イベントが検出された場合、前記イベントが検出されたソースストリームに対応するユーザーが設定された時間に放送を遂行できないように遮断するか、前記ユーザーによって既に生成された他のソースストリームのストリーミングを(各ストリーミングの放送識別情報に関係なく)すべて制限し、前記ユーザーによって生成されるソースストリームに対するイベント検出の動作を指定された時間、中断してもよい。
【0108】
一方、他の実施形態に係る装置は、前記装置(例:装置に保存された機械学習を通じて学習された学習モデル)によって獲得されたイベント検出関連の確率値に基づいて、該当確率値が指定された閾値未満であれば、前記装置が直ぐに前記第1の装置からのストリーミングの伝送を制限する代わりに、追加的にイベント検出の有無を再確認するために、前記イベントに対応する映像ストリーム関連情報を第2の装置(例:
図2の第2の電子装置110b)(例:モニタリングエージェント装置)に伝送することができる。例えば、前記装置は、前記イベントに対応する映像ストリーム関連情報を、モニタリングエージェント装置に直接伝達するか、またはAPIサーバー(例:
図2のAPIサーバー120a)を通じて間接的に前記モニタリングエージェント装置に前記情報(映像ストリーム関連情報)を伝達することができる。例えば、前記第2の装置は、1つ以上の外部装置を含むことができ、前記1つ以上の外部装置の個数は、イベント検出関連の確率値の大きさに基づいて決定され得る。例えば、前記確率値(例:イベント検出の信頼度関連確率値)が第1の閾値(例:0.8)以上であり第2の閾値(例:0.95)未満の場合、前記装置は、1つの外部装置(例:第1のモニタリングエージェント装置)に前記情報を伝送し、イベント検出関連の結果情報を受信することによって、イベント検出の有無を再確認することができる。例えば、前記確率値が第1の閾値(例:0.8)未満である場合(または、第3の閾値(例:0.3)以上、第1の閾値(例:0.8)未満である場合)、前記装置は、互いに異なる2つの外部装置(例:第1のモニタリングエージェント装置および第2のモニタリングエージェント装置)にそれぞれ前記情報を伝送し、それぞれからイベント検出関連の結果情報を受信してイベント検出の有無を再確認することができる。例えば、装置は、前記確率値が第3の閾値未満である場合、前記情報を3つ以上の外部装置に伝送してイベント検出の有無を3回以上再確認することができ、または前記確率値に対応するイベント検出関連のデータを無視してもよい。
【0109】
例えば、前記装置は、前記イベントに対応する映像ストリーム関連情報として、イベントに対応するタイムスタッフ情報、イベントに対応するフレーム情報、第1の装置に対応するユーザー識別情報、および映像ストリーム関連の放送識別情報(例:ストリーム識別情報(stream ID)および/または放送識別情報(放送ID))のうち、少なくとも1つを前記第2の装置に伝送することができる。一例において、装置は、前記イベントに対応するフレーム情報として、イベントが検出されたフレームだけでなく、前記フレームの直前のフレーム(ら)(および、前記フレームの直後のフレーム(ら))を共に伝達することができる。
【0110】
これによって、前記第2の装置は、前記映像ストリームからイベントが検出されるか否かに関するユーザー(管理者)入力情報を受信することができ、これを通じて前記確率値が指定された閾値未満であるイベント検出ケースに対する実際のイベント該当の有無を確認することができる。また、前記装置は、第2の装置から受信されるイベント検出に関連した再確認の結果情報に基づいて、学習モデル(learning model)を追加的に学習させてもよい。
【0111】
一方、本開示の多様な実施形態によると、装置は、前記確率値と比較される閾値を指定することにおいて、前記第1の装置に対応するユーザー識別情報に基づいて、前記第1の装置に対応するユーザー(映像供給者)の既存のイベント検出履歴が存在する場合には、前記閾値を比較的に大きい値として指定して、より厳格な基準として映像ストリームに対するイベント発生の有無を識別することができる。
【0112】
一方、本明細書と図面には、本発明の好ましい実施形態に関して開示しており、たとえ、特定用語が使用されても、これは単に本発明の技術内容を容易に説明し、発明の理解を助けるための一般的な意味として使用されたものであり、本発明の範囲を限定しようとするものではない。ここに開示された実施形態のほかにも、本発明の技術的思想に基づいた他の変形例が実施可能であるということは、本発明が属する技術分野において通常の知識を有する者には自明なものである。
【0113】
一方、本明細書と図面には、本発明の好ましい実施形態に関して開示しており、たとえ、特定用語が使用されても、これは単に本発明の技術内容を容易に説明し、発明の理解を助けるための一般的な意味として使用されたものであり、本発明の範囲を限定しようとするものではない。ここに開示された実施形態のほかにも、本発明の技術的思想に基づいた他の変形例が実施可能であることは、本発明が属する技術分野において通常の知識を有する者には自明なものである。
【0114】
前述した実施形態に係る電子装置またはサーバーは、プロセッサー、プログラムデータを保存し実行するメモリ、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポート、タッチパネル、キー(key)、ボタンなどのようなユーザーインターフェイス装置などを含み得る。ソフトウェアモジュールまたはアルゴリズムとして具現される方法は、前記プロセッサー上において実行可能なコンピュータ読み取り可能なコードまたはプログラム命令として、コンピュータ読み取り可能な記録媒体上に保存され得る。ここで、コンピュータ読み取り可能な記録媒体として、マグネチック保存媒体(例えば、ROM(read-only memory)、RAM(random-Access memory)、フロッピーディスク、ハードディスクなど)および光学的読み取り媒体(例えば、シーディーローム(CD-ROM)、ディーブイディー(DVD:Digital Versatile Disc)などがある。コンピュータ読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータ読み取り可能なコードが保存されて実行され得る。媒体は、コンピュータによって読み取り可能であり、メモリに保存され、プロセッサーで実行され得る。
【0115】
本実施形態は、機能的なブロック構成および多様な処理段階として示され得る。このような機能ブロックは、特定機能を実行する多様な個数のハードウェアまたは/およびソフトウェアの構成として具現され得る。例えば、実施形態は、1つ以上のマイクロプロセッサーの制御または他の制御装置によって多様に機能を実行し得る、メモリ、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)などのような直接回路構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素として実行され得るのと同様に、本実施形態は、データ構造、プロセス、ルーチン、または他のプログラミング構成の組み合わせとして具現される多様なアルゴリズムを含み、C、C++、ジャバ(Java)、アセンブラー(assembler)などのようなプログラミングまたはスクリプト言語として具現され得る。機能的側面は、1つ以上のプロセッサーにおいて実行されるアルゴリズムとして具現され得る。また、本実施形態は、電子的な環境設定、信号処理、および/またはデータ処理などのために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」などのような用語は、広く使用され得、機械的かつ物理的な構成として限定されるものではない。前記用語は、プロセッサーなどと連携してソフトウェアの一連の処理(routines)の意味を含み得る。
【0116】
前述した実施形態は、一例示に過ぎず、後述する請求項の範囲内において他の実施形態が具現され得る。