JP2023509918A - 予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択 - Google Patents

予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択 Download PDF

Info

Publication number
JP2023509918A
JP2023509918A JP2022540529A JP2022540529A JP2023509918A JP 2023509918 A JP2023509918 A JP 2023509918A JP 2022540529 A JP2022540529 A JP 2022540529A JP 2022540529 A JP2022540529 A JP 2022540529A JP 2023509918 A JP2023509918 A JP 2023509918A
Authority
JP
Japan
Prior art keywords
video
training
machine learning
learning model
quality
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.)
Granted
Application number
JP2022540529A
Other languages
English (en)
Other versions
JP7451716B2 (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023509918A publication Critical patent/JP2023509918A/ja
Priority to JP2024032960A priority Critical patent/JP2024069300A/ja
Application granted granted Critical
Publication of JP7451716B2 publication Critical patent/JP7451716B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Receiver Circuits (AREA)
  • Image Analysis (AREA)

Abstract

Figure 2023509918000001
視覚的品質に基づくビデオプレーヤに対する最適なフォーマット選択のためのシステムおよび方法が開示される。この方法は、基準ビデオの複数の基準となるトランスコーディングされたバージョンを生成するステップと、基準ビデオの複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを取得するステップと、基準ビデオのフレームの色属性、空間属性、および時間属性のセットを含む第1のトレーニング入力を生成するステップと、第1のトレーニング入力に対する第1のターゲット出力を生成するステップであって、第1のターゲット出力が、基準ビデオの複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを含む、生成するステップとを含む。この方法は、(i)第1のトレーニング入力を含むトレーニング入力のセット、および(ii)第1のターゲット出力を含むターゲット出力のセットに対して機械学習モデルをトレーニングするためにトレーニングデータを提供するステップをさらに含む。

Description

本開示の態様および実装形態は、ビデオ処理、より詳細には、予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択に関する。
コンテンツ共有プラットフォームは、ユーザが、ビデオ、画像、オーディオクリップ、ニュース記事などのコンテンツをアップロードし、消費し、検索し、承認し(「いいね」)、よくないねとする(dislike)、かつ/またはそれにコメントすることを可能にする。コンテンツ共有プラットフォームにおいて、ユーザは、プラットフォーム内に含めるためのコンテンツ(たとえば、ビデオ、画像、オーディオクリップなど)をアップロードし、それにより、他のユーザがそのコンテンツを消費する(たとえば、閲覧するなど)ことを可能にし得る。大部分のコンテンツ共有プラットフォームは、元のソースビデオをそのネイティブ符号化フォーマットから一般に利用可能なフォーマットにトランスコーディングする。トランスコーディングは、ネイティブフォーマット用のコーデックを使用して、ソースビデオをネイティブフォーマットから符号化されていない表現に復号し、次いで、一般に利用可能なフォーマット用のコーデックを用いて、符号化されていない表現を符号化することを含む。トランスコーディングを使用して記憶要件を低減させ、ビデオをクライアントに提供する(serving)ための帯域幅要件を低減させることもできる。
以下は、本開示の様々な態様の基本的理解を与えるために、そのような態様の簡素化された要約を提示する。本要約は、すべての企図される態様の広範な概要ではなく、主なまたは重要な要素であること、またはそのような要素の範囲を定めることを意図しない。その目的は、後で提示されるより詳細な説明への前置きとして、簡略化された形態で本開示のいくつかの概念を提示することである。
本開示の一態様では、機械学習モデル(たとえば、ニューラルネットワーク、畳み込みニューラルネットワーク(CNN)、サポートベクトルマシン(SVM)など)をトレーニングし、トレーニングされたモデルを使用してビデオを処理するためのシステムおよび方法が開示される。一実装形態では、方法は、機械学習モデルが表示解像度のセットで新しいビデオのトランスコーディングされたバージョンのセットに対する品質スコアを識別するようにトレーニングされるためのトレーニングデータを生成するステップを含む。トレーニングデータを生成するステップは、基準ビデオの複数の基準となるトランスコーディングされたバージョン(rerefence transcorded versions)を生成するステップと、基準ビデオの複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを取得するステップと、基準ビデオのフレームの色属性、空間属性、および時間属性のセットを含む第1のトレーニング入力を生成するステップと、第1のトレーニング入力に対する第1のターゲット出力を生成するステップであって、第1のターゲット出力が、基準ビデオの複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを含む、生成するステップとを含み得る。この方法は、(i)第1のトレーニング入力を含むトレーニング入力のセット、および(ii)第1のターゲット出力を含むターゲット出力のセットに対して機械学習モデルをトレーニングするためにトレーニングデータを提供するステップをさらに含む。
一実装形態では、品質スコアは、フレームのピーク信号対雑音比(PSNR)を含む。一実装形態では、品質スコアは、フレームのビデオマルチメソッドアセスメントフュージョン(VMAF:video multimethod assessment fusion)を含む。さらに、色属性は、フレームのRGB値またはY値のうちの少なくとも1つを含み得る。空間属性は、ガボール特徴フィルタバンク(Gabor feature filter bank)を含み得る。時間属性は、オプティカルフローを含み得る。
いくつかの実装形態では、機械学習モデルは、新しいビデオを処理し、表示解像度のセットで新しいビデオのトランスコーディングされたバージョンのセットに対する品質スコアを示す1つまたは複数の出力を生成するように構成される。さらに、基準ビデオの複数のトランスコーディングされたバージョンは、複数の異なるビデオ解像度、トランスコーディング構成、および異なる表示解像度の各々での基準ビデオのトランスコーディングを含み得る。
さらに、上記で説明した方法および本明細書で説明する様々な実装形態の動作を実行するためのコンピューティングデバイスが開示される。上記で説明した方法および本明細書で説明する様々な実装形態に関連する動作を実行するための命令を記憶したコンピュータ可読媒体も開示される。
本開示の態様および実装形態は、以下に与えられる詳細な説明から、また本開示の様々な態様および実装形態の添付図面からより十分に理解されるであろうが、これらは、本開示を特定の態様または実装形態に限定するとしてではなく、単なる説明および理解のためであると理解すべきである。
本開示の1つまたは複数の態様による、例示的なコンピュータシステムアーキテクチャを示す図である。 本開示の1つまたは複数の態様による、履歴ビデオデータセットを使用して機械学習モデルに対するデータセットを作成するための例示的なトレーニングセット生成器のブロック図である。 本開示の1つまたは複数の態様による、ビデオ分類を決定するためのシステムを示すブロック図である。 本開示の1つまたは複数の態様による、機械学習モデルをトレーニングするための方法の一例の流れ図である。 本開示の1つまたは複数の態様による、トレーニングされた機械学習モデルを使用してビデオを処理するための方法の一例の流れ図である。 本開示の1つまたは複数の態様による、トレーニングされた機械学習モデルを使用してビデオを処理し、サーバデバイスにおいてトレーニングされた機械学習モデルの出力を使用してフォーマット選択を最適化するための方法の一例の流れ図である。 本開示の1つまたは複数の態様による、クライアントデバイスにおいてトレーニングされた機械学習モデルの出力を使用してフォーマット選択を最適化するための方法の一例の流れ図である。 本開示の実装形態による、フォーマット選択を最適化するためのトレーニングされた機械学習モデルの出力の例示的なグラフィカル表現である。 本開示の実装形態による、フォーマット選択を最適化するためのトレーニングされた機械学習モデルの出力の例示的なグラフィカル表現である。 本開示の1つまたは複数の態様に従って動作する例示的なコンピュータシステムのブロック図である。
コンテンツ共有プラットフォームにおいて、ユーザは、プラットフォーム内に含めるためのコンテンツ(たとえば、ビデオ、画像、オーディオクリップなど)をアップロードし、それにより、他のユーザがそのコンテンツを消費する(たとえば、閲覧するなど)ことを可能にし得る。閲覧デバイスおよびネットワーク帯域の制限により、コンテンツ共有プラットフォームにアップロードされたビデオは、閲覧経験を高めるために、視聴者に提供する前にトランスコーディングされる(圧縮解除および再圧縮される)。アップロードされたビデオは、様々な表示解像度で再生される複数のトランスコーディング変種を有し得る。解像度(入力、トランスコーディング、および表示)は、360p、480p、720p、1080p、2160p(4k)など、正規の業界基準解像度に大まかにグループ化され得る。
典型的なトランスコーディングパイプラインは、複数のトランスコーディングされたバージョン(ビデオフォーマットとも呼ばれる)を生成し得る。ビデオを再生するとき、メディア視聴者は、提供するためのそれらのビデオフォーマットのうちの1つを適応的に選択し得る。ユーザが十分な帯域幅を有すると仮定する、従来のサービング戦略は、利用可能な最高解像度に達するまで、ビデオのより高い解像度バージョンに切り替えることである。これは、アダプティブビットレート(ABR:Adaptive Bit Rate)戦略とも呼ばれる。そのようなABR戦略の仮定は、より高い解像度バージョンがより良い視覚的品質を提供することである。しかしながら、場合によっては、より高い解像度バージョンの視覚的品質は、より低い解像度バージョンの視覚的品質に非常に近いことがある(たとえば、480pの表示解像度を有するクライアントデバイス上で再生されるとき、480pバージョンのビデオが720pバージョンのビデオと同様の知覚品質を有するとき)。そのような場合、より高い解像度バージョンのビデオを提供することは、知覚品質の点で識別可能な利益をユーザに提供せずに、ユーザの帯域幅を無駄にする。
準最適なフォーマット選択によるそのような非効率性を回避する1つの手法は、ある表示解像度で特定のフォーマットを再生するとき、各客観的な品質スコアは知覚品質を反映するという基本的な仮定の下で、各トランスコーディングされたバージョンに対する客観的な品質スコアのリストをアタッチすることである。ビデオの特定のフォーマットに対する単一の品質スコアを計算することは、2つのビデオストリーム(すなわち、再スケーリングされた、トランスコーディングされたバージョンおよび元のバージョン)を復号し、全体的な品質スコアを計算するためにフレーム単位の特徴を抽出することを必要とする。「N_format」の有効なトランスコーディングビデオフォーマット、入力ビデオをあるビデオフォーマットにトランスコーディングするための「N_transconfig」候補トランスコーディング構成、および「N_display」種類の考えられる表示解像度が存在すると仮定する場合、計算すべき考えられる品質スコアの総数は次のようになる:「N_format」x「N_transconfig」x「N_display」個のスコア。様々な解像度にわたってすべての考えられる品質スコアを計算することは、大量の計算リソースを利用する。さらに、大きなスケールのシステム(たとえば、毎日、数百万の新しいアップロードを有するコンテンツ共有プラットフォーム)に対してそのようなかなりの計算を実行することは実現不可能であり得る。
本明細書で開示するのは、深層学習に基づいてビデオに対するすべての考えられるビデオ品質スコアを効率的に予測するためのシステムおよび方法の態様および実装形態である。より詳細には、実装形態は、任意の圧縮設定で圧縮され、任意の表示解像度で再生されるビデオに対する客観的な品質スコアを予測するために効率的な機械学習モデルをトレーニングおよび使用することに関連する。
一実装形態によれば、機械学習モデルをトレーニングするために、履歴ビデオのセットにアクセスし、それを使用する。詳細には、履歴ビデオの各々は、機械学習モデルをトレーニングするための入力特徴を生成するために使用される。入力特徴は、それぞれの履歴ビデオのフレームの属性のセットを含む。属性のセットは、それぞれの履歴ビデオのフレームの色属性(たとえば、赤/緑/青(RGB)強度値またはYUVフォーマットのY強度値)、空間属性(たとえば、ガボールフィルタ)、および時間属性(たとえば、オプティカルフロー)を含み得る。加えて、履歴ビデオの各々は、ビデオの複数のトランスコーディングされたバージョンを生成するために、複数の異なる解像度フォーマットおよびトランスコーディング構成にトランスコーディングされる。複数のトランスコーディングされたバージョンは、次いで、クライアントデバイスの複数の異なる潜在的な表示解像度に再スケーリングされる(本明細書で、再スケーリングされた、トランスコーディングされたバージョンと呼ばれる)。品質スコア(たとえば、ピーク信号対雑音比(PSNR)測定値またはビデオマルチメソッドアセスメントフュージョン(VMAF測定値))が再スケーリングされたトランスコーディングされたバージョンの各々に対して取得される。
次いで、これらの品質スコアは、上記で論じたトレーニング入力特徴にマッピングされるトレーニング出力(たとえば、グランドトゥルースラベル)として使用され、機械学習モデルをトレーニングするために使用され得る。このようにして、機械学習モデルは、ビデオ解像度フォーマット、トランスコーディング構成、および表示解像度の各考えられるタプルでビデオに対して予測される品質スコアを生成するようにトレーニングされる。本明細書で使用される「ビデオ解像度フォーマット」および「ビデオフォーマット」という用語は、再スケーリングに先立つビデオの解像度を指すことがある。「表示解像度」という用語は、再スケーリング後に(たとえば、クライアントデバイス上のメディアビューアによって)ビデオが実際に表示される解像度を指すことがある。
機械学習モデルがトレーニングされた後、トレーニングされた機械学習モデルによって処理するための新しいビデオが識別され得る。この場合、様々なビデオ解像度および様々な表示解像度でのトランスコーディング構成での構成ビデオ(たとえば、クライアントデバイスに再生するために提供されるビデオ)の知覚品質は知られていないが、これは、ビデオの知覚品質が特定のクライアントデバイスにおいてどの程度であり得るかの何の知識もなしに、新しいビデオの全体が機械学習モデルに提供されるためである。
一実装形態では、新しいビデオの属性(たとえば、色、空間、時間)のセットが決定される。新しいビデオの属性のセットは、トレーニングされた機械学習モデルに入力として提示され、トレーニングされた機械学習モデルは、その入力に基づいて1つまたは複数の出力を生成する。一実装形態では、出力は、ビデオ解像度、トランスコーディング構成、および表示解像度の各考えられるタプルでビデオの予測される知覚品質測定値を提供する、予測される品質スコアである。いくつかの実装形態では、予測される品質スコアは、クライアントデバイスにおけるフォーマット選択を最適化するために利用され得る。機械学習モデルのトレーニングおよび使用に関する特定の態様は、以下でより詳細に説明される。
本開示の態様は、したがって、それにより、ビデオ解像度、トランスコーディング構成、および表示解像度のすべての考えられる組合せでビデオに対する予測される品質スコアが識別され得る機構を提供する。この機構は、特定の表示解像度を有するクライアントデバイスにおけるビデオの再生のための自動化および最適化されたフォーマット選択を可能にする。本開示の実装形態の利点は、トレーニングされた機械学習モデルが入力ビデオのすべての(video_format、transcoding_config、display_resolution)タプルに対する複数の客観的なビデオ品質スコア(たとえば、PSNR値およびVMAF値)を一度に戻すことが可能であることである。実装形態は、入力ビデオの各考えられるトランスコーディングされたバージョンに対するトランスコーディングまたは品質基準計算の時間がかかるプロセスを回避する。トレーニングされた機械学習モデルの出力は、ビデオ品質のユーザ経験を最大化するためのフォーマット選択を最適化するために利用され得る。フォーマット選択を最適化することは、ユーザが知覚するビデオ品質を著しく低減せずに、帯域幅要件を低減する利点をやはり有し得る。
図1は、本開示の一実装形態による、例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100は、ネットワーク104に接続された、1つまたは複数のサーバマシン120から150、コンテンツレポジトリ110、およびクライアントマシン102A~102Nを含む。ネットワーク104は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN))、またはそれらの組合せであってよい。
クライアントマシン102A~102Nは、パーソナルコンピュータ(PC)、ラップトップ、モバイルフォン、タブレットコンピュータ、セットトップボックス、テレビ、ビデオゲーム機、デジタルアシスタント、または任意の他のコンピューティングデバイスであってよい。クライアントマシン102A~102Nは、クライアントマシン102A~102Nのハードウェアおよびソフトウェアを管理するオペレーティングシステム(OS)を実行し得る。一実装形態では、クライアントマシン102A~102Nは、記憶および/または処理のためにビデオをウェブサーバ(たとえば、アップロードサーバ125)にアップロードし得る。
サーバマシン120から150は、ラックマウントサーバ、ルータコンピュータ、パーソナルコンピュータ、ポータブルデジタルアシスタント、モバイルフォン、ラップトップコンピュータ、タブレットコンピュータ、カメラ、ビデオカメラ、ネットブック、デスクトップコンピュータ、メディアセンター、または上記の任意の組合せであってよい。サーバマシン120は、クライアントマシン102A~102Nによって(たとえば、ウェブページを介して、アプリケーションを介してなど)アップロードされたコンテンツ(たとえば、ビデオ、オーディオクリップ、画像など)を受信することが可能なアップロードサーバ125を含む。
コンテンツレポジトリ110は、コンテンツアイテム、ならびにメディアアイテムをタグ付け、編成、および索引付けするためのデータ構成を記憶することが可能な永続記憶装置である。コンテンツレポジトリ110は、メインメモリ、磁気記憶装置または光記憶装置ベースのディスク、テープまたはハードドライブ、NAS、SANなど、1つまたは複数の記憶デバイスによってホストされ得る。いくつかの実装形態では、コンテンツレポジトリ110は、ネットワークアタッチドファイルサーバであってよく、他の実装形態では、コンテンツレポジトリ110は、サーバマシン120、またはネットワーク104を介してサーバマシン120に結合された1つまたは複数の異なるマシンによってホストされ得る、オブジェクト指向データベース、リレーショナルデータベースなど、何らかの他のタイプの永続記憶装置であってよい。
コンテンツレポジトリ110内に記憶されたコンテンツアイテムは、クライアントマシンによってアップロードされるユーザ生成されたメディアアイテム、ならびにニュース組織、発行者、図書館など、サービスプロバイダからのメディアアイテムを含み得る。いくつかの実装形態では、コンテンツレポジトリ110は、第三者サービスによって提供され得、いくつかの他の実装形態では、コンテンツレポジトリ110は、サーバマシン120を維持する同じエンティティによって維持され得る。いくつかの例では、コンテンツレポジトリ110およびサーバマシン120~150は、ユーザがメディアアイテムをアップロードし、消費し、検索し、承認し(「いいね」)、よくないねとする、かつ/またはそれにコメントすることを可能にするコンテンツ共有プラットフォームの部分であり得る。
コンテンツ共有プラットフォームは、複数のチャネルを含み得る。チャネルとは、共通のソースから利用可能なデータコンテンツ、または共通の話題、テーマ、または内容を有するデータコンテンツであり得る。データコンテンツは、ユーザによって選ばれたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選ばれたデジタルコンテンツ、放送事業者によって選ばれたデジタルコンテンツなどであり得る。チャネルは、チャネル上でアクションを実行できるユーザである所有者に関連付けられ得る。異なる活動は、所有者がチャネル上でデジタルコンテンツを利用可能にする、所有者が別のチャネルに関連するデジタルコンテンツを選択する(たとえば、いいねとする(like))、所有者が別のチャネルに関連するデジタルコンテンツにコメントするなど、所有者のアクションに基づいてチャネルに関連付けられ得る。チャネルに関連する活動は、収集されてチャネルに対する活動フィードにされ得る。チャネルの所有者以外のユーザは、彼らが関心を持つ1つまたは複数のチャネルに加入し得る。「加入」の概念は、「いいねとする」、「フォローする」、「友だちになる」などと呼ばれることもある。
各チャネルは、1つまたは複数のメディアアイテムを含み得る。メディアアイテムの例は、限定はしないが、デジタルビデオ、デジタルムービー、デジタルフォト、デジタルミュージック、ウェブサイトコンテンツ、ソーシャルメディア更新、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS:real simple syndication)フィード、電子漫画雑誌、ソフトウェアアプリケーションなどを含み得る。いくつかの実装形態では、メディアアイテムは、ビデオコンテンツアイテムと呼ばれることもある。
メディアアイテムは、クライアントマシン102A~102N上で実行しているメディアビューア105を介して消費され得る。一実装形態では、メディアビューア105は、ユーザが画像、ビデオ(たとえば、ビデオコンテンツアイテム)、ウェブページ、文書などのコンテンツを閲覧することを可能にするアプリケーションであり得る。たとえば、メディアビューア105は、ウェブサーバが提供するコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページ、デジタルメディアアイテムまたはコンテンツアイテムなどの、ウェブページ)にアクセスすること、それらを取り出すこと、提示すること、および/またはナビゲートすることができる、ウェブブラウザであってよい。メディアビューア105は、コンテンツ(たとえば、ウェブページ、メディアビューア)をユーザにレンダリング、表示、および/または提示し得る。メディアビューア105はまた、ウェブページ(たとえば、オンラインマーチャントが販売する製品に関する情報を提供し得るウェブページ)内に埋め込まれた埋込み型メディアプレーヤ(たとえば、Flash(登録商標)プレーヤまたはHTML5プレーヤ)を表示し得る。別の例では、メディアビューア105は、ユーザがデジタルメディアコンテンツアイテム(たとえば、デジタルビデオ、デジタル画像、電子ブックなど)を閲覧することを可能にするスタンドアロンアプリケーション(たとえば、モバイルアプリケーション)であってよい。
メディアビューア105は、サーバ120および/またはコンテンツ共有プラットフォームによってクライアントデバイス102Aから102Nに提供され得る。たとえば、メディアビューア105は、コンテンツ共有プラットフォームが提供するウェブページ内に埋め込まれた埋込み型メディアプレーヤであってよい。別の例では、メディアビューアは、サーバ120および/またはコンテンツ共有プラットフォームと通信するアプリケーションであってよい。
本開示の実装形態は、任意の圧縮設定で圧縮され、任意の表示解像度で再生されるビデオに対する客観的な品質を予測するために効率的な機械学習モデルをトレーニングおよび使用することを実現する。サーバマシン130は、そのような機械学習モデルをトレーニングするためにトレーニングデータ(たとえば、トレーニング入力およびターゲット出力のセット)を生成することが可能なトレーニングセット生成器131を含む。トレーニングセット生成器131のいくつかの動作は、図2に関して以下で詳細に説明される。
サーバマシン140は、機械学習モデル160をトレーニングすることが可能なトレーニングエンジン141を含む。機械学習モデル160は、トレーニング入力および対応するターゲット出力(それぞれのトレーニング入力に対する正確な回答)を含むトレーニングデータを使用してトレーニングエンジン141によって作成されたモデルアーティファクトを指すことがある。トレーニングエンジン141は、トレーニング入力をターゲット出力(予測される回答)にマッピングするトレーニングデータ内のパターンを見出し、これらのパターンをキャプチャする機械学習モデル160を提供し得る。機械学習モデルは、たとえば、単一レベルの線形または非線形演算(たとえば、サポートベクトルマシン(SVM))から構成されてよく、またはディープネットワーク、すなわち、複数レベルの非線形演算から構成される機械学習モデルであってもよい。ディープネットワークの例は、1つまたは複数の隠れ層を備えたニューラルネットワークであり、そのような機械学習モデルは、たとえば、逆伝搬学習アルゴリズムなどに従って、ニューラルネットワークの加重を調整することによってトレーニングされ得る。いくつかの実装形態は、ニューラルネットワークの代わりに、またはそれに加えて、SVMまたは他のタイプの学習機械を採用することがあるが、便宜上、本開示の残りは、ニューラルネットワークとして実装形態を参照する。一実装形態では、ResNetまたはEfficientNetなど、畳み込みニューラルネットワーク(CNN)が機械学習モデルに対する主なトレーニングモデルとして使用される。他の機械学習モデルが本開示の実装形態において考慮され得る。一態様では、トレーニングセットは、サーバマシン130から取得される。
サーバマシン150は、品質スコアエンジン151とフォーマット解析エンジン152とを含む。品質スコアエンジン151は、ビデオのフレームの属性データを入力としてトレーニングされた機械学習モデル160に提供し、トレーニングされた機械学習モデル160を入力に対して実行して1つまたは複数の出力を取得することが可能である。図4に関して以下で詳細に説明するように、一実装形態では、フォーマット解析エンジン152はまた、トレーニングされた機械学習モデル160の出力から品質スコアデータを抽出し、品質スコアデータを使用して、ビデオに対して最適なフォーマット選択を実行することも可能である。いくつかの実装形態では、フォーマット解析エンジン152は、品質スコアエンジン151によって取得された品質スコアデータに基づいて、クライアントデバイス102A~102Nにおいてメディアビューア105によって提供され得る。
いくつかの他の実装形態では、サーバマシン120、130、140、および150の機能は、より少数の機械によって提供され得ることに留意されたい。たとえば、いくつかの実装形態では、サーバマシン130および140が単一のマシンに統合されてよく、他の実装形態では、サーバマシン130、140、および150が単一のマシンに統合されてよい。加えて、いくつかの実装形態では、サーバマシン120、130、140、および150のうちの1つまたは複数は、コンテンツ共有プラットフォームに統合されてよい。
概して、一実装形態では、コンテンツアイテム共有プラットフォーム、サーバマシン120、サーバマシン130、サーバマシン140、および/またはサーバマシン150によって実行されるとして説明される機能は、他の実装形態では、必要に応じて、クライアントデバイス102Aから102N上で実行されてもよい。加えて、特定の構成要素に起因する機能性は、一緒に動作する異なるまたは複数の構成要素によって実行され得る。コンテンツ共有プラットフォーム、サーバマシン120、サーバマシン130、サーバマシン140、および/またはサーバマシン150は、適切なアプリケーションプログラミングインターフェースを通して他のシステムまたはデバイスに提供されるサービスとしてアクセスされてもよく、したがって、ウェブサイト内での使用に限定されない。
図2は、いくつかの実施形態による、履歴ビデオデータセット240を使用して機械学習モデル(たとえば、図1のモデル160)に対するデータセットを作成するための例示的なトレーニングセット生成器231(たとえば、図1のトレーニングセット生成器131)である。図2のシステム200は、トレーニングセット生成器231、トレーニング入力特徴210、およびターゲット出力ラベル220を示す。
いくつかの実施形態では、トレーニングセット生成器231は、1つまたは複数のトレーニング入力特徴210(たとえば、トレーニング入力、検証入力、テスト入力)およびトレーニング入力特徴210に対応する、1つまたは複数のターゲット出力ラベル220を含むデータセット(たとえば、トレーニングセット、検証セット、テストセット)を生成する。データセットはまた、トレーニング入力特徴210をターゲット出力ラベル220にマッピングするマッピングデータも含み得る。トレーニング入力特徴210は、「データ入力」、「特徴」、「属性」、または「情報」と呼ばれることもある。いくつかの実施形態では、トレーニングセット生成器131は、データセットを図1のトレーニングエンジン141に提供することができ、ここで、データセットは機械学習モデル160をトレーニング、検証、またはテストするために使用される。トレーニングセットの生成のいくつかの実施形態は、図4に関してさらに説明され得る。
いくつかの実施形態では、トレーニング入力特徴210は、履歴ビデオ色属性242、履歴ビデオ空間属性244、履歴ビデオ時間属性246などのうちの1つまたは複数を含み得る。ターゲット出力ラベル220は、ビデオ分類248を含み得る。ビデオ分類248は、ビデオ品質スコア測定アルゴリズムを含み得るか、またはそれに関連付けられ得る。
いくつかの実施形態では、トレーニングセット生成器231は、ビデオの考えられる入力解像度のセットの各入力解像度に対して機械学習モデルをトレーニング、検証、またはテストするための特徴(たとえば、1つまたは複数の履歴ビデオ色属性242、履歴ビデオ空間属性244、履歴ビデオ時間属性246)のセットに対応するデータ入力を生成し得る。したがって、ビデオの各典型的な解像度(たとえば、360p、480p、720p、1080pなど)はその独自のモデルを有することができ、任意の規格外の任意の入力解像度(たとえば、1922x1084)は、何らかの欠落部分を0でパディングして、同じアスペクト比を有する最も近い標準解像度に再スケーリングされ得る。たとえば、第1の機械学習モデルは、360pの解像度を有する入力ビデオに対してトレーニング、検証、およびテストされ得る。第2の機械学習モデルは、480pの解像度を有する入力ビデオに対してトレーニング、検証、およびテストされ得る。第3の機械学習モデルは、720pの解像度を有する入力ビデオに対してトレーニング、検証、およびテストされ得る、などである。
トレーニングセット生成器231は、機械学習モデルをトレーニング、検証、およびテストするために履歴ビデオのセット240を利用し得る。いくつかの実装形態では、コンテンツ共有プラットフォームの既存のデータセットは、特に機械学習モデルをトレーニング、検証、およびテストするための履歴ビデオデータセット240としてキュレーションされ利用され得る。一実装形態では、履歴ビデオデータセット240は、様々な入力解像度(たとえば、360p、480p、720p、1080p、2160p(4K)など)の短い持続時間(たとえば、20秒など)の複数の(たとえば、数千程度の)ビデオを含み得る。いくつかの実装形態では、履歴ビデオデータセット240内のデータ(たとえば、ビデオ)は、トレーニングデータおよびテストデータに分割され得る。たとえば、履歴ビデオデータセット240のビデオは、それぞれ、トレーニングおよびテストのために80%および20%に随意に分けられてよい。
トレーニング入力特徴210およびトレーニング出力ラベル220のセットを生成するために、トレーニングセット生成器231は、履歴ビデオデータセット240内のビデオの各々に対して以下のプロセスを反復し得る。参照しやすいように、プロセスは、履歴ビデオデータセット240の第1の基準ビデオに関して説明される。履歴ビデオデータセット240内のすべてのビデオに対してトレーニングセット生成器231によって同様のプロセスが実行され得ることを理解されたい。
第1の基準ビデオに関して、トレーニングセット生成器231は、第1の基準ビデオのトレーニング入力特徴210を取得する。一実装形態では、第1の基準ビデオの各フレームに対して、ビデオ色属性242、ビデオ空間属性244、およびビデオ時間属性246のセットが第1の参照ビデオの各フレームに対して抽出される。ビデオ色属性242は、フレームの画素のRGB強度値または(Y'UVモデルの)Y強度値のうちの少なくとも1つを指すことがある。
ビデオ空間属性244は、ガボール特徴フィルタバンクを指すことがある。ガボールフィルタは、テクスチャ解析のために使用される線形フィルタであり、テクスチャ解析は、解析点または解析領域の周囲に局在化された領域内に特定方向でフレーム内に何らかの特定の周波数成分が存在するかどうかを解析する。空間領域内で、2Dガボールフィルタは、正弦平面波(sinusoidal plane wave)によって変調されたガウスカーネル関数である。本開示の実装形態は、ブロックベースの特徴(たとえば、SSM、VMSなど)など、フレームの他の空間特徴を利用することも可能である。
ビデオ時間属性246は、オプティカルフローと呼ばれることがある。オプティカルフローは、観察者とシーンとの間の相対的な動きによって引き起される視覚的シーン内の被写体、表面、および境界の明らかな動きのパターンを指す。オプティカルフローは、画像内の輝度パターンの移動の明らかな速度の分布と定義され得る。本開示の実装形態は、近隣フレームの画素同士の間の差を計算することなど、フレームの他の時間的特徴を利用することも可能である。
第1の基準ビデオ内の各フレームに対する履歴ビデオ色属性242、履歴ビデオ空間属性244、および履歴ビデオ時間属性246の抽出されたセットは、次いで、第1の基準ビデオに対するトレーニング入力特徴の第1のセットとして組み合わされる。入力ビデオのフレームからの特徴の他のセットも本開示の実装形態において考慮されてよい。
第1の基準ビデオに対するターゲット出力ラベル220を取得するために、トレーニングセット生成器231は、複数のトランスコーディング構成(たとえば、H.264エンコーダに対する0から51への掃引コンスタントレートファクタ(CRF:Constant Rate Factor))を用いて、第1の基準ビデオを複数の有効なビデオフォーマット(たとえば、360p、480p、720p、1080p、21260p(4K)など)にトランスコーディングし得る。VP9コーデックなど、他のコーデックおよびエンコーダも本開示の他の実装形態において使用されてよい。トレーニングセット生成器231は、次いで、トランスコーディングされたバージョンのすべてを複数の表示解像度(たとえば、360p、480p、720p、1080p、2160p(4K)など)、ならびに入力された元のバージョンに対して再スケーリングする。各再スケーリングされた、トランスコーディングされたバージョンおよび元のバージョンは、各再スケーリングされた、トランスコーディングされたバージョンおよび第1の基準ビデオの元のバージョンの各フレームに対する品質スコアを取得するためのソースおよび基準として品質解析器に提供される。
一実装形態では、品質スコアは、各再スケーリングされた、トランスコーディングされたバージョンおよび第1の基準ビデオの元のバージョンの各フレームに対するPSNR測定値であり得る。PSNRは、信号の最大可能電力およびその表現のフィデリティに影響を及ぼす破損ノイズの電力との間の比率を指す。PSNRは、対数的デシベルスケール(logarithmic decibel scale)に関して表現され得る。一実装形態では、品質スコアは、各再スケーリングされた、トランスコーディングされたバージョンおよび第1の基準ビデオの元のバージョンの各フレームに対するVMAF測定値であり得る。VMAFは、基準および歪みのあるビデオシーケンスに基づいて、被写ビデオ品質を予測するフルリファレンス(full-reference)ビデオ品質基準を指す。
計算された品質スコアは、第1の基準ビデオの各考えられるビデオフォーマット、トランスコーディング構成、および表示解像度に対するターゲット出力ラベル220に対するビデオ分類(たとえば、入力されたグランドトゥルースラベル)248として使用される。
図3は、いくつかの実施形態による、ビデオ分類346を決定するためのシステム300を示すブロック図である。ブロック310において、システム300は、トレーニングセット302、検証セット304、およびテストセット306を生成するために、履歴ビデオ342(たとえば、図2の履歴ビデオデータセット240)のデータ区分を(たとえば、図1のサーバマシン130のトレーニングセット生成器131および/または図2のトレーニングセット生成器231を介して)実行する。たとえば、トレーニングセットは履歴ビデオ342の60%であってよく、検証セットは履歴ビデオ342の20%であってよく、試験セットは履歴ビデオ342の20%であってよい。図2に関して上記で論じたように、システム300は、トレーニングセット、検証セット、およびテストセットの各々に対する特徴(たとえば、色属性、空間属性、時間属性)の複数のセットを生成し得る。
ブロック312において、システム300は、トレーニングセット302を使用して(たとえば、図1のトレーニングエンジン141を介して)モデルトレーニングを実行する。システム300は、トレーニングセット302の特徴の複数のセット(たとえば、トレーニングセット302の特徴の第1のセット、トレーニングセット302の特徴の第2のセットなど)を使用して、複数のモデルをトレーニングし得る。たとえば、システム300は、機械学習モデルをトレーニングして、(たとえば、360pなど、第1の入力解像度に対して)トレーニングセット内の特徴の第1のセットを使用して第1のトレーニングされた機械学習モデルを生成し、(たとえば、480pなど、第2の入力解像度に対して)トレーニングセット内の特徴の第2のセットを使用して、第2のトレーニングされた機械学習モデルを生成し得る。いくつかの実施形態では、モデルの特徴および組合せの様々な置換を用いたモデルを含めて、多数のモデルが生成され得る。
いくつかの実装形態では、モデルトレーニングを実行するために、畳み込みニューラルネットワーク(CNN)トレーニングモデルが利用される。CNNトレーニングモデルのいくつかの例は、ResNetおよびEfficientNetを含む。いくつかの実装形態では、他のトレーニングモデルが利用されてもよい。
ブロック314において、システム300は、検証セット304を使用してモデル検証を実行する。システム300は、検証セット304の特徴の対応するセットを使用して、トレーニングされたモデルの各々を検証し得る。たとえば、システム300は、(たとえば、360pの入力解像度に対して)検証セット内の特徴の第1のセットを使用して、第1のトレーニングされた機械学習モデルを、また(たとえば、480pの入力解像度に対して)検証セット内の特徴の第2のセットを使用して、第2のトレーニングされた機械学習モデルを検証し得る。いくつかの実施形態では、システム300は、ブロック312において生成された多数のモデル(たとえば、特徴の様々な置換を有するモデル、モデルの組合せなど)を検証し得る。
ブロック314において、システム300は、1つまたは複数のトレーニングされたモデルの各々の精度を(たとえば、モデル検証を介して)決定することができ、トレーニングされたモデルのうちの1つまたは複数がしきい値精度を満たす精度を有するかどうかを決定することができる。たとえば、予測される品質とグランドトゥルースとの間の絶対差に基づいて定義される損失関数が利用され得る。他の実装形態では、差のより高い高次の||L||ノルムも同様に考慮され得る。トレーニングされたモデルのいずれもしきい値精度を満たす精度を有さないとの決定に応答して、フローはブロック312に戻り、ここで、システム300は、トレーニングセットの特徴の異なるセットを使用して、モデルトレーニングを実行する。トレーニングされたモデルのうちの1つまたは複数がしきい値精度を満たす精度を有するとの決定に応答して、フローはブロック316に続く。システム300は、(たとえば、検証セットに基づいて)しきい値精度に満たない精度を有する、トレーニングされた機械学習モデルを廃棄し得る。
ブロック316において、システム300は、しきい値精度を満たす1つまたは複数のトレーニングされたモデルのうちどれが最高の精度を有するか(たとえば、ブロック314の検証に基づく、選択されたモデル308)を決定するために、モデル選択を実行し得る。しきい値精度を満たす、トレーニングされたモデルのうちの2つ以上が同じ精度を有するとの決定に応答して、フローはブロック312に戻ってよく、ここで、システム300は、最高の精度を有する、トレーニングされたモデルを決定するための特徴のさらに改良されたセットに対応する、さらに改良されたトレーニングセットを使用して、モデルトレーニングを実行する。
ブロック318において、システム300は、選択されたモデル308をテストするために、テストセット306を使用してモデルテストを実行する。システム300は、テストセット内の特徴の第1のセットを使用して、第1のトレーニングされた機械学習モデルをテストして、(たとえば、テストセット306の特徴の第1のセットに基づいて)第1のトレーニングされた機械学習モデルがしきい値精度を満たすと決定し得る。しきい値精度を満たさない、選択されたモデル308の精度に応答して(たとえば、選択されたモデル308が、トレーニングセット302および/または検証セット304に過度にフィットし、テストセット306など、他のデータセットに適用可能でない)、フローはブロック312に続き、ここで、システム300は、特徴の異なるセットに対応する異なるトレーニングセットを使用して、モデルトレーニング(たとえば、再トレーニング)を実行する。テストセット306に基づいて、選択されたモデル308がしきい値精度を満たす精度を有するとの決定に応答して、フローはブロック320に続く。少なくともブロック312において、モデルは、履歴画像342内のパターンを学習して予測を行うことができ、ブロック318において、システム300は、残りのデータ(たとえば、テストセット306)に対するモデルを適用して、予測を試験することができる。
ブロック320において、システム300は、トレーニングされたモデル(たとえば、選択されたモデル308)を使用して、入力ビデオ348および対応するビデオ属性344を受信し、トレーニングされたモデルの出力から、ビデオフォーマット、トランスコーディング構成、および表示解像度タプルの各考えられる組合せで入力ビデオの予測される品質スコアを表す、対応するビデオ分類346を抽出する。単一の入力ビデオに対して、トレーニングされたモデルを使用して、各サンプリングフレームに対するフレーム単位の品質スコアを予測することができ、次いで、それらのフレームスコアは、特定のビデオフォーマット、トランスコーディング構成、および表示解像度タプルで入力ビデオに対する全体的なスコアを得るためにアグリゲートされ得る。他の具現では、アグリゲーション方法は、異なってもよく、すなわち、加重平均などであってもよい。
最終的な出力は、すべての考えられるインデックスタプル(video_format_index、transcoding_config_index、display_resolution_index)に対して3D品質行列である。本開示の実装形態のトレーニングされたモデルの出力の1つの例示的なグラフィカル表現が図8Aおよび図8Bに示される。以下でさらに論じる、図8Aおよび図8Bは、360p、480p、および720pバージョンにトランスコードされ、480pおよび720pで表示されたビデオに対して予測されるVMAFスコアを示し、ここで、トレーニングされたモデルによって予測された様々なスコアは、対応するグランドトゥルーススコアに非常に近い。
いくつかの実施形態では、データセットを生成し、データセットを使用して、機械学習モデル160をトレーニング、検証、またはテストした後、機械学習モデル160は、(たとえば、手動で決定された画像分類などを使用して)さらにトレーニング、検証、テストされてよいか、または調整されてよい(たとえば、ニューラルネットワーク内の結合加重など、機械学習モデル160の入力データに関連する加重の調整)。
いくつかの実施形態では、行為310~320のうちの1つまたは複数は、様々な順序で、かつ/または本明細書で提示および説明されない他の行為とともに、生じることがある。いくつかの実施形態では、行為310~320のうちの1つまたは複数は実行されなくてよい。たとえば、いくつかの実施形態では、ブロック310のデータ区分、ブロック314のモデル検証、ブロック316のモデル選択、またはブロック318のモデルテストのうちの1つまたは複数は実行されなくてよい。
本開示の実装中の性能およびレイテンシの改善のために、トレーニングされたモデルは、入力ビデオの時間サンプリングと組み合わされてよい。たとえば、システムは、入力ビデオの(すべてのフレームではなく)いくつかのサンプリングフレームを、全体的な品質を予測するためのトレーニングモデルに対する入力として利用することができる。入力ビデオのそのような時間サンプリングを使用して、精度の損失がわずかであるかまたはまったく伴わずに、かなりの速度改善が実現され得る。これらの速度利得は、モデルの何の再トレーニングも伴わずに取得され得る。
本開示の実装形態では、トレーニングされたモデル320を使用することから取得されるビデオ分類346を使用して、(たとえば、図1のメディアビューア105など、メディアビューアにおいて)クライアントサイド上でフォーマット選択を最適化することができる。図8Aに示す例の場合、表示解像度が480pであり、現在のバージョンが360pで再生されるとき、帯域幅は、すべてのトランスコーディングされたバージョンに対して十分であると仮定する。予測される品質スコア単位で、480pバージョンおよび720pバージョンの知覚品質は非常に近く、これらは両方とも360pバージョンよりもかなり高い。この場合、最適なフォーマットは、720pの代わりに、480pのトランスコーディングされたバージョンである。
予測されるスコアを提供する現在提案されるアルゴリズムが存在しない場合、メディアビューアは、より多くの帯域幅を利用するが、実際の視聴経験(たとえば、PSNRまたはVMAFによって測定されるような知覚品質)を改善しないことになる720pバージョンへとブラインドに上げることができる。表示解像度が720p(図8B)であるとき、480pと720pの間の差は(顕著な差異の点でおよそ1ステップ高く変換する)VMAFに対して6ポイントよりも高いため、720pに上げることは実際の知覚品質を改善する。
本開示の実装形態の別の利点は、(たとえば、CRFレベルにおける)正確な品質評価を可能にすることである。たとえば、メディアビューアは、480p CRF 40バージョンから720p CRF 30バージョンに切り替えるために480pの表示解像度に対する厳密な品質改善を計算し、フォーマット選択をさらに最適化し得る。
図4は、本開示の1つまたは複数の態様による、機械学習モデルをトレーニングするための方法400の一例の流れ図を示す。この方法は、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で動作させられるなど)またはそれらの組合せを含み得る処理論理によって実行される。一実装形態では、この方法は、図1のコンピュータシステム100によって実行されるが、いくつかの他の実装形態では、図4の1つまたは複数のブロックは、図に示されない1つまたは複数の他のマシンによって実行され得る。いくつかの態様では、図4の1つまたは複数のブロックは、図1のサーバマシン130のトレーニングセット生成器131および/または図2のトレーニングセット生成器231によって実行され得る。
説明を簡単にするために、方法は一連の行為として図示および説明される。しかしながら、本開示による行為は、様々な順序で、かつ/または並行して、また本明細書で提示および説明されない他の行為とともに、行うことができる。さらに、すべてが図示されるとは限らない行為が、開示する主題による方法を実装するために必要とされることがある。加えて、方法が、代替として、状態図またはイベントを介して相互に関係する一連の状態として表すことができることを、当業者は理解および諒解されよう。加えて、本明細書で開示する方法が、そのような方法をコンピューティングデバイスに輸送および伝達することを容易にするために、製造品上に記憶されることが可能であることを諒解されたい。本明細書で使用する製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含するものとする。
方法400は、機械学習モデルに対するトレーニングデータを生成して開始する。いくつかの実装形態では、ブロック401において、トレーニングセットTを空のセットに初期化する。ブロック402において、基準ビデオを複数のトランスコーディング構成で複数の解像度フォーマットにトランスコーディングする。一実装形態では、複数の解像度フォーマットは、360p、480p、720p、1080p、2160p(4K)などを含む。複数のトランスコーディング構成は、H.264エンコーダに対する0から51のCRFを含み得る。VP9コーデックなど、他のコーデックおよびエンコーダもトランスコーディング構成に対して、本開示の実装形態において使用されてよい。一例では、基準ビデオは、CRF 0から51のH.264エンコーダの各トランスコーディング構成で360p、480p、720p、1080p、および2160pの各解像度フォーマットにトランスコーディングされた480pの解像度を有するビデオであってよい。たとえば、480p基準ビデオは、すべての解像度フォーマットおよびトランスコーディング構成に対して、720p CRF 0バージョンから720p CRF 51バージョンなどにトランスコーディングされ、結果として、基準ビデオの複数の異なるトランスコーディングされたバージョンをもたらし得る。
ブロック403において、ブロック402において生成された基準ビデオの各トランスコーディングされたバージョンを複数の異なる表示解像度に再スケーリングする。一実装形態では、複数の異なる表示解像度は、基準ビデオのトランスコーディングされたバージョンを再生するクライアントデバイスの考えられる表示解像度を表す。複数の異なる表示解像度は、360p、480p、720p、1080p、2160pなどを含み得る。上記の例を参照すると、480pの基準ビデオの720p CRF 30バージョンをさらなる例と考えると、720p CRF 30バージョンは、480pの基準ビデオの再スケーリングされた、トランスコーディングされたバージョンを生成するために、360p、480p、720p、1080p、および2160pの各表示解像度に再スケーリングされ得る。この再スケーリングは、基準ビデオの複数の再スケーリングされた、トランスコーディングされたバージョンを生成するために、ブロック402において生成された基準ビデオの各トランスコーディングされたバージョンに対して実行される。
ブロック404において、基準ビデオの各再スケーリングされた、トランスコーディングされたバージョンの各フレームに対する品質スコアを取得する。一実装形態では、品質スコアは、基準ビデオの再スケーリングされた、トランスコーディングされたバージョンのフレームに対して決定された、PSNRスコアまたはVMAFスコアであってよい。PSNRは、信号の最大可能電力およびその表現のフィデリティに影響を及ぼす破損ノイズの電力との間の比率を指す。PSNRは、対数的デシベルスケールに関して表現され得る。VMAFは、基準および歪みのあるビデオシーケンスに基づいて、被写ビデオ品質を予測するフルリファレンスビデオ品質基準を指す。
ブロック405において、基準ビデオの各フレームに対して、入出力マッピングを生成する。入出力マッピングは、特定のターゲット出力にマッピングされるトレーニング入力を指す。トレーニング入力は、基準ビデオの属性のセットを含むか、またはそれに基づく。トレーニング入力に対するターゲット出力は、基準ビデオの再スケーリングされた、トランスコーディングされたバージョンのフレームに対する品質スコアを識別する。トレーニング入力は、ターゲット出力に関連付けられる(または、マッピングされる)。一実装形態では、基準ビデオの属性のセットは、色属性(たとえば、各フレームのRGB強度値またはY強度値)、空間属性(たとえば、各フレームのガボール特徴フィルタ)、および時間属性(たとえば、各フレームのオプティカルフロー)を含む。一実装形態では、基準ビデオの各フレームの属性のセットは、基準ビデオの各再スケーリングされた、トランスコーディングされたバージョンの各フレームの品質スコアに入力としてマッピングされる。ブロック406において、ブロック405において生成された入出力マッピングをトレーニングセットTに追加する。
ブロック407は、トレーニングセットTが機械学習モデル160をトレーニングするために十分であるかどうかに基づいて分岐する。十分である場合、実行はブロック408に進む、そうでない場合、実行はブロック402に戻る。いくつかの実装形態では、トレーニングセットTの十分性はトレーニングセット内の入出力マッピングの数に基づいて決定されてよく、いくつかの他の実装形態では、トレーニングセットTの十分性は、入出力マッピングの数に加えて、またはその代わりに、1つまたは複数の他の基準(たとえば、トレーニング例の多様性の測定など)に基づいて決定されてよいことに留意されたい。
ブロック408において、機械学習モデル160をトレーニングするためにトレーニングセットTを提供する。一実装形態では、トレーニングセットTは、トレーニングを実行するためにサーバマシン140のトレーニングエンジン141に提供される。ニューラルネットワーク(たとえば、CNN)の場合、たとえば、所与の入出力マッピングの入力値(たとえば、トレーニング画像の画素値など)がニューラルネットワークに入力され、入出力マッピングの出力値がニューラルネットワークの出力ノード内に記憶される。次いで、学習アルゴリズム(たとえば、逆伝搬など)に従って、ニューラルネットワーク内の結合加重が調整され、トレーニングセットT内の他の入出力マッピングに対して、この手順が繰り返される。ブロック408の後、機械学習モデル160は次いで、(たとえば、以下で説明する、図5の方法500に従って)ビデオを処理するために使用され得る。
図5は、本開示の1つまたは複数の態様による、トレーニングされた機械学習モデルを使用してビデオを処理するための方法500の一例の流れ図を示す。この方法は、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で動作させられるなど)またはそれらの組合せを含み得る処理論理によって実行される。一実装形態では、この方法は、図1のサーバマシン150およびトレーニングされた機械学習モデル160を使用して実行されるが、いくつかの他の実装形態では、図5の1つまたは複数のブロックは、図に示されない1つまたは複数の他のマシンによって実行され得る。
方法500は、入力ビデオを(たとえば、ユーザデバイス、またはアップロードサーバ125などのサーバから)受信するステップと、トレーニングされた機械学習モデル160など、トレーニングされたモデルを使用して、入力ビデオを処理するステップとを含み得る。トレーニングされたモデルは、入力ビデオのフレームの画素データに基づいて、入力ビデオの予測される品質スコアを示す1つまたは複数の出力を生成するように構成され得る。
いくつかの実装形態では、ブロック501において、処理するためのビデオ(入力ビデオ)を識別する。一例では、ビデオは、アップロードされたビデオ(たとえば、コンテンツ共有プラットフォームにアップロードされたビデオ)の1つまたは複数のフレームを含む。
ブロック502において、ビデオのフレームからフレームのサブセットを抽出する。一実装形態では、ビデオ内のすべての10個のフレームから1つが抽出され得る。ブロック503において、各抽出されたフレームに対して、フレームの属性のセットを識別する。属性のセットは、色属性(たとえば、各フレームのRGB強度値またはY強度値)、空間属性(たとえば、各フレームのガボール特徴フィルタ)、および時間属性(たとえば、各フレームのオプティカルフロー)を含み得る。
ブロック504において、属性のセットをトレーニングされた機械学習モデルに入力として提供する。一実装形態では、トレーニングされた機械学習モデルは、図4に関して説明した方法400を使用してトレーニングされる。ブロック505において、トレーニングされた機械学習モデルから1つまたは複数の出力を取得する。一実装形態では、トレーニングされた機械学習モデルからの出力は、ビデオの各抽出されたフレームに対応する品質スコアである。トレーニングされた機械学習モデルは、各々が、入力ビデオのビデオ解像度フォーマット、トランスコーディング構成、および表示解像度に対するすべての考えられるインデックスタプルに対応する複数の品質スコアを生成する。
ブロック506において、ビデオの抽出されたフレームに対するフレーム単位の品質スコアを組み合わせて、そのビデオに対する全体的な品質スコアを生成する。全体的な品質スコアは、ビデオ解像度フォーマット、トランスコーディング構成、および表示解像度の考えられるインデックスタプルの各々に対して生成される。一実装形態では、フレーム単位の品質スコアを組み合わせることは、スコアをアグリゲートすることを含む。いくつかの実装形態では、アグリゲーションプロセスは、異なってよく、加重平均などを含み得る。
ブロック507において、トレーニングされた機械学習モデルの最終的な出力を生成し、ここで、最終的な出力は、ビデオ解像度フォーマット、トランスコーディング構成、および表示解像度のすべての考えられるインデックスタプルに対する3D品質行列である。
図6は、本開示の1つまたは複数の態様による、トレーニングされた機械学習モデルを使用してビデオを処理し、サーバデバイスにおいてトレーニングされた機械学習モデルの出力を使用してフォーマット選択を最適化するための方法600の一例の流れ図を示す。この方法は、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で動作させられるなど)またはそれらの組合せを含み得る処理論理によって実行される。一実装形態では、この方法は、図1のサーバマシン150およびトレーニングされた機械学習モデル160を使用して実行されるが、いくつかの他の実装形態では、図6の1つまたは複数のブロックは、図に示されない1つまたは複数の他のマシンによって実行され得る。
方法600は、入力ビデオを(たとえば、ユーザデバイス、またはアップロードサーバ125などのサーバから)受信するステップと、トレーニングされた機械学習モデル160など、トレーニングされたモデルを使用して、入力ビデオを処理するステップとを含み得る。トレーニングされたモデルは、入力ビデオのフレームの画素データに基づいて、入力ビデオの予測される品質スコアを示す1つまたは複数の出力を生成するように構成され得る。
いくつかの実装形態では、ブロック601において、処理するためのビデオ(入力ビデオ)を識別する。一例では、ビデオは、アップロードされたビデオ(たとえば、コンテンツ共有プラットフォームにアップロードされたビデオ)の1つまたは複数のフレームを含む。
ブロック602において、ビデオの属性のセットを識別する。一実装形態では、属性のセットは、ビデオのフレームのサブセットの各々に対して決定される。属性のセットは、色属性(たとえば、ビデオの各フレームのRGB強度値またはY強度値)、空間属性(たとえば、ビデオの各フレームのガボール特徴フィルタ)、および時間属性(たとえば、ビデオの各フレームのオプティカルフロー)を含み得る。
ブロック603において、属性のセットをトレーニングされた機械学習モデルに入力として提供する。一実装形態では、トレーニングされた機械学習モデルは、図4に関して説明した方法400を使用してトレーニングされる。ブロック604において、トレーニングされた機械学習モデルから1つまたは複数の出力を取得する。一実装形態では、トレーニングされた機械学習モデルからの出力は、ビデオの各抽出されたフレームに対応する品質スコアである。トレーニングされた機械学習モデルは、各々が、ビデオのビデオ解像度フォーマット、トランスコーディング構成、および表示解像度に対するすべての考えられるインデックスタプルに対応する複数の品質スコアを生成する。一実装形態では、ビデオの抽出されたフレームに対するフレーム単位の品質スコアを組み合わせて、そのビデオに対する全体的な品質スコアを生成する。全体的な品質スコアは、ビデオ解像度フォーマット、トランスコーディング構成、および表示解像度の考えられるインデックスタプルの各々に対して生成される。一実装形態では、フレーム単位の品質スコアを組み合わせることは、スコアをアグリゲートすることを含む。いくつかの実装形態では、アグリゲーションプロセスは、異なってよく、加重平均などを含み得る。
ブロック605において、ブロック604において取得された出力から品質スコアデータを抽出する。一実装形態では、品質スコアデータは、ビデオの各再スケーリングされた、トランスコーディングされたバージョンに対応する品質スコアを含む。品質スコアは各々、特定の表示解像度でのビデオのそれぞれの再スケーリングされた、トランスコーディングされた構成でのビデオの知覚品質を反映する。ブロック606において、抽出された品質スコアを使用して、クライアントデバイスのメディアビューアにおいて選択するための解像度フォーマットを決定する。一実装形態では、(図1のサーバマシン150における、かつ/またはクライアントデバイス102Aのメディアビューア105における)フォーマット解析エンジン152は、抽出された品質スコアを使用して、特定の表示解像度を有するクライアントデバイスにおける解像度フォーマットおよびトランスコーディング構成を選択することができる。フォーマット解析エンジン152は、品質スコアを比較して、クライアントデバイスに対する最適な解像度フォーマットおよびトランスコーディング構成選択を通知することができる。
図7は、本開示の1つまたは複数の態様による、クライアントデバイスにおいてトレーニングされた機械学習モデルの出力を使用してフォーマット選択を最適化するための方法700の一例の流れ図を示す。この方法は、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で動作させられるなど)またはそれらの組合せを含み得る処理論理によって実行される。一実装形態では、この方法は、図1のクライアント102A~102Nを使用して実行され、いくつかの他の実装形態では、図7の1つまたは複数のブロックは、図に示されない1つまたは複数の他のマシンによって実行され得る。
方法700は、ブロック701において、クライアントデバイスのメディアビューアにおいて再生するための入力ビデオを(たとえば、アップロードサーバ125など、サーバからクライアントデバイス102A~102Nにおいて)受信するステップを含んでよく、ここで、クライアントデバイスは、特定の表示解像度を有する。ブロック702において、クライアントデバイスは、現在のフォーマット選択においてビデオの再生を実行する。現在のフォーマット選択は、現在のビデオ解像度および現在のトランスコーディング構成を含み得る。
ブロック703において、ビデオに対応する品質スコアにアクセスし得る。品質スコアは、図1のトレーニングされた機械学習モデル160など、トレーニングされたモデルを使用して生成される。トレーニングされたモデルは、入力ビデオのフレームの画素データに基づいて、ビデオ解像度、トランスコーディング構成、および表示解像度の様々なタプルで入力ビデオの予測される品質スコアを示す1つまたは複数の出力を生成するように構成され得る。出力は、サーバデバイス(サーバマシン150など)において維持されてよく、またはビデオが再生のために受信されるとき、メタデータとしてビデオとともに提供されてよい。一実装形態では、トレーニングされた機械学習モデルは、上記で説明した図4の方法400に従ってトレーニングされ得る。
決定ブロック704において、品質スコアがクライアントデバイスの特定の表示解像度に対する(たとえば、異なるビデオ解像度および/またはトランスコーディング構成での)現在のフォーマット選択とは異なるフォーマット選択における知覚改善を示すかどうかを決定する。以下で論じる図8Aおよび図8Bは、クライアントデバイスにおけるフォーマット選択を最適化するために、本開示の実装形態のトレーニングされた機械学習モデルの品質スコアを使用する一例を提供する。品質スコアが異なるフォーマット選択における知覚改善を示す場合、方法700はブロック705に進み、ここで、ビデオの再生のための現在のフォーマット選択をクライアントデバイスの表示解像度でビデオの知覚品質改善をもたらす品質スコアに対応するフォーマット選択(たとえば、ビデオ解像度および/またはトランスコーディング構成)に変更する。方法700は、次いで、ブロック702に戻り、新しいフォーマット選択においてビデオの再生を続ける。品質スコアが決定ブロック704において異なるフォーマット選択における知覚品質改善を示さない場合、方法700は、ブロック702に戻り、現在のフォーマット選択においてビデオの再生を続ける。
図8Aおよび図8Bは、本開示の実装形態による、フォーマット選択を最適化するためのトレーニングされた機械学習モデルの出力の例示的なグラフィカル表現を提供する。図8Aおよび図8Bは、360p、480p、および720pバージョンにトランスコードされ、480pおよび720pで表示されるビデオに対して予測されるVMAFスコアを示し、ここで、トレーニングモデルによって予測される様々なスコアは、対応するグランドトゥルーススコアに非常に近い。
図8Aに示す例の場合、グラフは、帯域幅がすべてのトランスコーディングされたバージョンに対して十分であると仮定して、表示解像度が480pであり、現在のバージョンが360pで再生されるときの予測される品質スコア(たとえば、VMAF)を示す。予測される品質スコア単位で、480pバージョンおよび720pバージョンの知覚品質は非常に近く、これらは両方とも360pバージョンよりもかなり高い。この場合、最適なフォーマットは、720pの代わりに、480pのトランスコーディングされたバージョンである。
予測されたスコアを提供する、本開示の実装形態が存在しない場合、メディアビューアは、より多くの帯域幅を利用するが、ビデオの実際の視聴経験(たとえば、知覚品質)を改善しないことになる720pバージョンへとブラインドに上げる。表示解像度が720p(図8B)であるとき、480pと720pとの間の差は(正に顕著な差異の点でおよそ1ステップ高く変換する)VMAFに対して6ポイントよりも高いため、720pに上げることはビデオの実際の知覚品質を改善する。したがって、この場合、メディアビューアは、再生中、ビデオの知覚品質を改善するために、720pバージョンに上げなければならない。
本開示の実装形態の別の利点は、正確な品質評価(CRFレベル)を可能にすることである。たとえば、図8Aおよび図8Bに示すように、メディアビューアは、480p CRF 40バージョンから720p CRF 30バージョンに切り替えるために480pの表示解像度に対する厳密な品質改善を計算し、フォーマット選択をさらに最適化し得る。
図9は、本開示の1つまたは複数の態様に従って動作する例示的なコンピュータシステム900のブロック図を示す。様々な例示的な例では、コンピュータシステム900は、図1のシステムアーキテクチャ100内のコンピューティングデバイスに対応し得る。いくつかの実装形態では、コンピュータシステム900は、(たとえば、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワーク630を介して)他のコンピュータシステムに接続され得る。コンピュータシステム900は、クライアントサーバ環境におけるサーバまたはクライアントコンピュータの容量の中で、またはピアツーピアまたは分散ネットワーク環境におけるピアコンピュータとして、動作することができる。コンピュータシステム900は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのデバイスによってとられるべきアクションを指定する(連続的な、または別様の)命令のセットを実行することが可能な任意のデバイスによって提供され得る。さらに、「コンピュータ」という用語はまた、本明細書で説明する方法のうちのいずれか1つまたは複数を実行するための命令のセット(または複数のセット)を個々にまたは一緒に実行する、コンピュータの任意の集合を含むものとする。
さらなる態様では、コンピュータシステム900は、バス908を介して互いと通信し得る、処理デバイス902、揮発性メモリ904(たとえば、ランダムアクセスメモリ(RAM))、不揮発性メモリ906(たとえば、読取り専用メモリ(ROM)または電気消去可能プログラマブルROM(EEPROM))、およびデータ記憶デバイス916を含み得る。
処理デバイス902は、汎用プロセッサ(たとえば、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他のタイプの命令セットを実装するマイクロプロセッサ、または複数のタイプの命令セットの組合せを実装するマイクロプロセッサなど)または専用プロセッサ(たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、またはネットワークプロセッサなど)など、1つまたは複数のプロセッサによって提供され得る。
コンピュータシステム900は、ネットワークインターフェースデバイス922をさらに含むことができる。コンピュータシステム900は、ビデオ表示ユニット910(たとえば、LCD)、英数字入力デバイス912(たとえば、キーボード)、カーソル制御デバイス914(たとえば、マウス)、および信号生成デバイス920を含んでもよい。
データ記憶デバイス916は、図4から図7の方法400~700をそれぞれ実装するための命令を含めて、本明細書で説明する方法または機能のうちのいずれか1つまたは複数を符号化する命令926をその上に記憶し得る一時的または非一時的コンピュータ可読記憶媒体924を含み得る。
命令926はまた、コンピュータシステム900による命令の実行中、揮発性メモリ904内かつ/または処理デバイス902内に、完全にまたは部分的に常駐することもでき、したがって、揮発性メモリ904および処理デバイス902も機械可読記憶媒体を構成する。
コンピュータ可読記憶媒体924は、単一の媒体であるように例示的な例で示されるが、「コンピュータ可読記憶媒体」という用語は、実行可能命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中型もしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含むものとする。「コンピュータ可読記憶媒体」という用語はまた、本明細書で説明した方法のうちのいずれか1つまたは複数をコンピュータに実行させるコンピュータによる実行のための命令のセットを記憶または符号化することが可能な、任意の有形媒体を含むものとする。「コンピュータ可読記憶媒体」という用語は、限定はしないが、ソリッドステートメモリ、光媒体、および磁気媒体を含むものとする。
本明細書で説明した方法、構成要素、および特徴は、個別ハードウェア構成要素によって実装されてよく、またはASICS、FPGA、DSP、または同様のデバイスなど、他のハードウェア構成要素の機能性の中に統合されてよい。加えて、これらの方法、構成要素、および特徴は、ハードウェアデバイス内のコンポーネントモジュールまたは機能回路によって実装され得る。さらに、これらの方法、構成要素、および特徴は、ハードウェアデバイスとコンピュータプログラム構成要素の任意の組合せで、またはコンピュータプログラムで実装され得る。
別段に明記されていない限り、「生成する」、「提供する」、「トレーニングする」などの用語は、コンピュータシステムレジスタまたはメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶装置、情報送信装置、または情報表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステムによって実行または実装されるアクションおよび処理を指す。また、本明細書で使用する「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素を区別するためのラベルであることを意味し、その数字表示に従って順序的な意味を有さないことがある。
本明細書で説明した例はまた、本明細書で説明した方法を実行するための装置を指す。この装置は、本明細書で説明した方法を実行するように具体的に構築され得るか、またはこの装置は、コンピュータシステム内に記憶されたコンピュータプログラムによって選択的にプログラムされた汎用コンピュータシステムを含み得る。そのようなコンピュータプログラムは、コンピュータ可読有形記憶媒体内に記憶され得る。
本明細書で説明した方法および例示的な例は、本質的に任意の特定のコンピュータまたは他の装置に関係しない。様々な汎用システムは、本明細書で説明した教示に従って使用され得、あるいは方法400から700、および/またはそれらの個々の機能、ルーチン、サブルーチン、もしくは動作の各々を実行するためのより特殊化された装置を構築するために好都合であることを証明し得る。様々なこれらのシステムに関する構成の例は、上記の説明に記載されている。
上記の説明は、例示を意図し、限定を意図しない。本開示は特定の例示的な例および実装形態を参照しながら説明されているが、本開示は説明した例および実装形態に限定されないことを認識されよう。本開示の範囲は、請求項が資格を有する均等物の完全な範囲とともに、以下の請求項を参照しながら決定されるものとする。
100 システムアーキテクチャ、コンピュータシステム
102A~102N クライアントマシン
104 ネットワーク
105 メディアビューア
110 コンテンツレポジトリ
120~150 サーバマシン
125 アップロードサーバ
131 トレーニングセット生成器
141 トレーニングエンジン
151 品質スコアエンジン
152 フォーマット解析エンジン
160 機械学習モデル、モデル
200 システム
210 トレーニング入力特徴
220 ターゲット出力ラベル
231 トレーニングセット生成器
240 履歴ビデオデータセット、履歴ビデオのセット
242 履歴ビデオ色属性、ビデオ色属性
244 履歴ビデオ空間属性、ビデオ空間属性
246 履歴ビデオ時間属性、ビデオ時間属性
248 ビデオ分類
300 システム
302 トレーニングセット
304 検証セット
306 テストセット
308 モデル
342 履歴ビデオ、履歴画像
344 ビデオ属性
346 ビデオ分類
348 入力ビデオ
400 方法
500 方法
600 方法
700 方法
900 コンピュータシステム
902 処理デバイス
904 揮発性メモリ
906 不揮発性メモリ
908 バス
910 ビデオ表示ユニット
912 英数字入力デバイス
914 カーソル制御デバイス
916 データ記憶デバイス
920 信号生成デバイス
922 ネットワークインターフェースデバイス
924 一時的または非一時的コンピュータ可読記憶媒体、コンピュータ可読記憶媒体
926 命令

Claims (20)

  1. 方法であって、
    機械学習モデルが表示解像度のセットで新しいビデオのトランスコーディングされたバージョンのセットに対する品質スコアを識別するようにトレーニングされるためのトレーニングデータを生成するステップ
    を含み、前記トレーニングデータを生成するステップが、
    基準ビデオの複数の基準となるトランスコーディングされたバージョンを生成するステップと、
    前記基準ビデオの前記複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを取得するステップと、
    前記基準ビデオの前記フレームの色属性、空間属性、および時間属性のセットを含む第1のトレーニング入力を生成するステップと、
    前記第1のトレーニング入力に対する第1のターゲット出力を生成するステップであって、前記第1のターゲット出力が、前記基準ビデオの前記複数の基準となるトランスコーディングされたバージョンの前記フレームに対する前記品質スコアを含む、生成するステップと、
    (i)前記第1のトレーニング入力を含むトレーニング入力のセット、および(ii)前記第1のターゲット出力を含むターゲット出力のセットに対して前記機械学習モデルをトレーニングするために前記トレーニングデータを提供するステップと
    を含む、方法。
  2. 前記品質スコアが、前記フレームのピーク信号対雑音比(PSNR)を含む、請求項1に記載の方法。
  3. 前記品質スコアが、前記フレームのビデオマルチメソッドアセスメントフュージョン(VMAF)を含む、請求項1に記載の方法。
  4. 前記色属性が、前記フレームのRGB値またはY値のうちの少なくとも1つを含む、請求項1に記載の方法。
  5. 前記空間属性が、ガボール特徴フィルタバンクを含む、請求項1に記載の方法。
  6. 前記時間属性が、オプティカルフローを含む、請求項1に記載の方法。
  7. 前記機械学習モデルが、前記新しいビデオを処理し、表示解像度の前記セットで前記新しいビデオのトランスコーディングされたバージョンの前記セットに対する品質スコアを示す1つまたは複数の出力を生成するように構成される、請求項1に記載の方法。
  8. 前記基準ビデオの前記複数のトランスコーディングされたバージョンが、複数の異なるビデオ解像度、トランスコーディング構成、および異なる表示解像度の各々での前記基準ビデオのトランスコーディングを含む、請求項1に記載の方法。
  9. 装置であって、
    ビデオを記憶するためのメモリと、
    処理デバイスと
    を備え、前記処理デバイスが、
    前記ビデオのサンプリングフレームをトレーニングされた機械学習モデルに入力として提供し、
    1つまたは複数の出力を前記トレーニングされた機械学習モデルから取得し、
    前記1つまたは複数の出力から、第1のビデオフォーマット、第1のトランスコーディング構成、および第1の表示解像度で前記ビデオの知覚品質を示す品質スコアを抽出する
    ように前記メモリに動作可能に結合される
    装置。
  10. 前記処理デバイスがさらに、前記品質スコアをクライアントデバイスに提供し、前記品質スコアが、前記クライアントデバイスのメディアビューアにおける前記ビデオのフォーマット選択を通知し、前記第1の表示解像度が、前記クライアントデバイスの表示解像度である、請求項9に記載の装置。
  11. 前記メディアビューアにおける前記ビデオの前記フォーマット選択が、前記品質スコアと前記1つまたは複数の出力の別の品質スコアとの間の差がしきい値を超えるかどうかに基づき、前記別の品質スコアが、第2のビデオフォーマット、第2のトランスコーディング構成、および前記第1の表示解像度で前記知覚品質を示す、請求項10に記載の装置。
  12. 前記品質スコアが、ピーク信号対雑音比(PSNR)測定値またはビデオマルチメソッドアセスメントフュージョン(VMAF)測定値のうちの少なくとも1つを含む、請求項9に記載の装置。
  13. 前記トレーニングされた機械学習モデルが、入力および出力を含む入出力マッピングでトレーニングされ、前記入力が、基準ビデオのフレームの色属性、空間属性、および時間属性のセットに基づき、前記出力が、前記基準ビデオの複数のトランスコーディングされたバージョンのフレームに対する品質スコアに基づく、請求項9に記載の装置。
  14. 前記色属性が、前記フレームのRGB値またはY値のうちの少なくとも1つを含み、前記空間属性が、前記フレームのガボール特徴フィルタバンクを含み、前記時間属性が、前記フレームのオプティカルフローを含む、請求項13に記載の装置。
  15. 前記トレーニングされた機械学習モデルからの前記1つまたは複数の出力が、ビデオフォーマット、トランスコーディング構成、および表示解像度の複数の考えられるインデックスタプルに対応する複数の品質スコアを含む、請求項9に記載の装置。
  16. 実行されたとき、処理デバイスに動作を実行させる命令を記憶した非一時的機械可読記憶媒体であって、前記動作が、
    機械学習モデルが表示解像度のセットで新しいビデオのトランスコーディングされたバージョンのセットに対する品質スコアを識別するようにトレーニングされるためのトレーニングデータを生成すること
    を含み、前記トレーニングデータを生成することが、
    基準ビデオの複数の基準となるトランスコーディングされたバージョンを生成することと、
    前記基準ビデオの前記複数の基準となるトランスコーディングされたバージョンのフレームに対する品質スコアを取得することと、
    前記基準ビデオの前記フレームの色属性、空間属性、および時間属性のセットを含む第1のトレーニング入力を生成することと、
    前記第1のトレーニング入力に対する第1のターゲット出力を生成することであって、前記第1のターゲット出力が、前記基準ビデオの前記複数の基準となるトランスコーディングされたバージョンの前記フレームに対する前記品質スコアを含む、生成することと、
    (i)前記第1のトレーニング入力を含むトレーニング入力のセット、および(ii)前記第1のターゲット出力を含むターゲット出力のセットに対して前記機械学習モデルをトレーニングするために前記トレーニングデータを提供することと
    を含む、非一時的機械可読記憶媒体。
  17. 前記品質スコアが、前記フレームのピーク信号対雑音比(PSNR)または前記フレームのビデオマルチメソッドアセスメントフュージョン(VMAF)のうちの少なくとも1つを含む、請求項16に記載の非一時的機械可読記憶媒体。
  18. 前記色属性が、前記フレームのRGB値またはY値のうちの少なくとも1つを含み、前記空間属性が、ガボール特徴フィルタバンクを含み、前記時間属性が、オプティカルフローを含む、請求項16に記載の非一時的機械可読記憶媒体。
  19. 前記機械学習モデルが、畳み込みニューラルネットワーク(CNN)トレーニングモデルである、請求項16に記載の非一時的機械可読記憶媒体。
  20. 前記機械学習モデルが、前記新しいビデオを処理し、表示解像度の前記セットで前記新しいビデオのトランスコーディングされたバージョンの前記セットに対する品質スコアを示す1つまたは複数の出力を生成するように構成される、請求項16に記載の非一時的機械可読記憶媒体。
JP2022540529A 2019-12-31 2019-12-31 予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択 Active JP7451716B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024032960A JP2024069300A (ja) 2019-12-31 2024-03-05 機械学習を用いた予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/069055 WO2021137856A1 (en) 2019-12-31 2019-12-31 Optimal format selection for video players based on predicted visual quality using machine learning

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024032960A Division JP2024069300A (ja) 2019-12-31 2024-03-05 機械学習を用いた予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択

Publications (2)

Publication Number Publication Date
JP2023509918A true JP2023509918A (ja) 2023-03-10
JP7451716B2 JP7451716B2 (ja) 2024-03-18

Family

ID=69376004

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022540529A Active JP7451716B2 (ja) 2019-12-31 2019-12-31 予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択
JP2024032960A Pending JP2024069300A (ja) 2019-12-31 2024-03-05 機械学習を用いた予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024032960A Pending JP2024069300A (ja) 2019-12-31 2024-03-05 機械学習を用いた予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択

Country Status (7)

Country Link
US (1) US20230054130A1 (ja)
EP (1) EP3864839A1 (ja)
JP (2) JP7451716B2 (ja)
KR (2) KR102663852B1 (ja)
CN (1) CN114982227A (ja)
BR (1) BR112022012563A2 (ja)
WO (1) WO2021137856A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210233259A1 (en) * 2020-01-28 2021-07-29 Ssimwave Inc. No-reference visual media assessment combining deep neural networks and models of human visual system and video content/distortion analysis
US11574273B2 (en) * 2020-12-21 2023-02-07 Sling TV L.L.C. Systems and methods for automated evaluation of digital services
CN116264606A (zh) * 2021-12-14 2023-06-16 戴尔产品有限公司 用于处理视频的方法、设备和计算机程序产品
CN115002520B (zh) * 2022-04-14 2024-04-02 百果园技术(新加坡)有限公司 一种视频流数据处理方法、装置、设备及存储介质
US11606553B1 (en) * 2022-07-15 2023-03-14 RiversideFM, Inc. Hybrid media recording
CN115396664A (zh) * 2022-08-19 2022-11-25 上海哔哩哔哩科技有限公司 视频质量的评价方法、装置、存储介质及计算机系统
CN115174919B (zh) * 2022-09-05 2022-11-22 腾讯科技(深圳)有限公司 一种视频处理方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183011A1 (en) * 2015-05-11 2016-11-17 Netflix, Inc. Techniques for predicting perceptual video quality
US20170109584A1 (en) * 2015-10-20 2017-04-20 Microsoft Technology Licensing, Llc Video Highlight Detection with Pairwise Deep Ranking
WO2019117864A1 (en) * 2017-12-12 2019-06-20 Google Llc Transcoding media content using an aggregated quality score
US20190246112A1 (en) * 2018-02-07 2019-08-08 Netflix, Inc. Techniques for predicting perceptual video quality based on complementary perceptual quality models
US20190258902A1 (en) * 2018-02-16 2019-08-22 Spirent Communications, Inc. Training A Non-Reference Video Scoring System With Full Reference Video Scores
US20190295242A1 (en) * 2018-03-20 2019-09-26 Netflix, Inc. Quantifying encoding comparison metric uncertainty via bootstrapping

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611585B2 (en) * 2008-04-24 2013-12-17 GM Global Technology Operations LLC Clear path detection using patch approach
US10827185B2 (en) * 2016-04-07 2020-11-03 Netflix, Inc. Techniques for robustly predicting perceptual video quality
US20180121733A1 (en) * 2016-10-27 2018-05-03 Microsoft Technology Licensing, Llc Reducing computational overhead via predictions of subjective quality of automated image sequence processing
CN108235001B (zh) * 2018-01-29 2020-07-10 上海海洋大学 一种基于时空特征的深海视频质量客观评价方法
US11483472B2 (en) * 2021-03-22 2022-10-25 International Business Machines Corporation Enhancing quality of multimedia

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183011A1 (en) * 2015-05-11 2016-11-17 Netflix, Inc. Techniques for predicting perceptual video quality
US20170109584A1 (en) * 2015-10-20 2017-04-20 Microsoft Technology Licensing, Llc Video Highlight Detection with Pairwise Deep Ranking
WO2019117864A1 (en) * 2017-12-12 2019-06-20 Google Llc Transcoding media content using an aggregated quality score
US20190246112A1 (en) * 2018-02-07 2019-08-08 Netflix, Inc. Techniques for predicting perceptual video quality based on complementary perceptual quality models
US20190258902A1 (en) * 2018-02-16 2019-08-22 Spirent Communications, Inc. Training A Non-Reference Video Scoring System With Full Reference Video Scores
US20190295242A1 (en) * 2018-03-20 2019-09-26 Netflix, Inc. Quantifying encoding comparison metric uncertainty via bootstrapping

Also Published As

Publication number Publication date
KR102663852B1 (ko) 2024-05-10
KR20220123541A (ko) 2022-09-07
CN114982227A (zh) 2022-08-30
EP3864839A1 (en) 2021-08-18
WO2021137856A1 (en) 2021-07-08
BR112022012563A2 (pt) 2022-09-06
JP7451716B2 (ja) 2024-03-18
KR20240065323A (ko) 2024-05-14
JP2024069300A (ja) 2024-05-21
US20230054130A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
JP7451716B2 (ja) 予測される視覚的品質に基づくビデオプレーヤのための最適なフォーマット選択
Varga et al. No-reference video quality assessment via pretrained CNN and LSTM networks
CN114359563B (zh) 模型训练方法、装置、计算机设备和存储介质
Hu et al. Learning peer recommendation using attention-driven CNN with interaction tripartite graph
JP2024511103A (ja) 近似値に基づいて画像又はビデオの品質を評価する方法及び装置、第1のモデルの訓練方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム
CN111125428B (zh) 基于评分预测函数拟合结构的时间相关电影推荐方法
JP6616008B2 (ja) ビデオのための相互雑音推定
Xu et al. Artistic color virtual reality implementation based on similarity image restoration
CN117956232A (zh) 一种视频推荐方法及装置
KR102572415B1 (ko) 레퍼런스 이미지의 검증을 통해 자연스러운 3차원 디지털 트윈을 생성하기 위한 방법 및 장치
Liborio et al. Internet Video Delivery Improved by Super-Resolution with GAN
Topiwala et al. Video Quality Analysis: Steps towards Unifying Full and No Reference Cases
Wu et al. DA-ResNet: dual-stream ResNet with attention mechanism for classroom video summary
CN113221951B (zh) 一种基于时域注意力池化网络的动图分类方法及装置
Li et al. Saliency-enabled coding unit partitioning and quantization control for versatile video coding
CN115080856A (zh) 推荐方法及装置、推荐模型的训练方法及装置
Yang et al. TV program innovation and teaching under big data background in all media era
CN114611565A (zh) 数据处理方法、装置、设备和存储介质
Zhou et al. Dynamic foreground detection based on improved Codebook model
Kumar et al. STAR: Efficient SpatioTemporal Modeling for Action Recognition
Nie et al. Multi-receptive field spatiotemporal network for action recognition
US11870833B2 (en) Methods and systems for encoder parameter setting optimization
Xiong et al. SFPANet: Separation and fusion pyramid attention network for crowd counting
Zhang et al. Frame importance and temporal memory effect-based fast video quality assessment for user-generated content
US20240338831A1 (en) Method and apparatus for processing video

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240306

R150 Certificate of patent or registration of utility model

Ref document number: 7451716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150