JP7280535B2 - 符号化データ生成方法、符号化データ生成装置、及びプログラム - Google Patents

符号化データ生成方法、符号化データ生成装置、及びプログラム Download PDF

Info

Publication number
JP7280535B2
JP7280535B2 JP2021565159A JP2021565159A JP7280535B2 JP 7280535 B2 JP7280535 B2 JP 7280535B2 JP 2021565159 A JP2021565159 A JP 2021565159A JP 2021565159 A JP2021565159 A JP 2021565159A JP 7280535 B2 JP7280535 B2 JP 7280535B2
Authority
JP
Japan
Prior art keywords
evaluation value
bit rate
distribution
encoded data
overall evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021565159A
Other languages
English (en)
Other versions
JPWO2021124387A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021124387A1 publication Critical patent/JPWO2021124387A1/ja
Application granted granted Critical
Publication of JP7280535B2 publication Critical patent/JP7280535B2/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、符号化データ生成方法、符号化データ生成装置、及びプログラムに関する。
昨今、スマートフォン及びタブレット型端末等の携帯型情報端末が普及している。また、昨今、3G(3rd Generation:第3世代移動通信システム)、LTE(Long Term Evolution)、及び4G(4th Generation:第4世代移動通信システム)等の無線通信規格に則った通信方式が普及している。このような移動体通信の普及に伴い、不安定なネットワーク環境においても安定した映像配信が行われることが求められている。
また、近年、光回線を介して一般家庭等へ提供される映像配信サービス等においても、4K及び8K等の超高精細映像の配信が行われている。4Kは、1920画素×1080ラインの解像度をもつHD(High Definition:高精細度ビデオ)の4倍の解像度である、3840画素×2160ラインの解像度をもつ。また、8Kは、4Kの解像度の更に4倍の解像度である、7680画素×4320ラインの解像度をもつ。
このような超高精細映像の配信においては、H.264/AVC(Advanced Video Coding)、及びH.265/HEVC(High Efficiency Video Coding)といった国際映像符号化規格で定められた映像符号化によって、配信時における映像データ量の削減が可能となっている。しかしながら、一般家庭向けの光回線はベストエフォート型のサービスであることから、ユーザの体感品質(すなわち、主観品質)を維持しつつ安定した映像配信を行うことができるビットレートにまで映像データの圧縮を行うためには帯域が不足している。そのため、前述の移動体通信での映像配信と同様に、このような超高精細映像での映像配信においても、不安定なネットワーク環境においても安定した映像配信が行われることが求められている。
従来、例えばインターネット等の不安定なネットワーク環境においても安定した映像配信が行われることを可能にする映像符号化方式として、MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式(非特許文献1参照)、及びHLS(HTTP Live Streaming)方式(非特許文献2参照)等が国際標準規格として規格化されている。
MPEG-DASH方式及びHLS方式では、ABR(Adaptive Bitrate)配信方式による配信制御が行われている。ABR配信方式は、映像ストリームを数秒~数十秒間隔のセグメントファイルに分割し、映像視聴ユーザのネットワーク状況等に応じて、セグメントファイル単位でビットレートを動的に切り替えて映像配信を行う映像配信方式である。例えば、ABR配信方式は、遅い通信速度で配信映像を再生するユーザに対しては低いビットレートでの映像配信を行い、速い通信速度で配信映像を再生するユーザに対しては高いビットレートでの映像配信を行うように配信制御する。そのため、映像配信を行うエンコーダ側においては、1つの映像データに対して複数のビットレートでそれぞれ映像符号化を行うことが要求される。
従来、ABR配信方式では、予めサービス事業者によって決定された複数の固定ビットレートで符号化を行うCBR(Constant Bitrate:固定転送レート)方式が用いられる。これに対し、ベストエフォート型のネットワークのスループットは時間帯及び利用状況等によって様々に変化することから、安定した映像配信が行われるためには、より多くの種類のビットレートを用いて配信が行われることが望ましい。しかしながら、映像配信を行うエンコーダの同時処理性能には限界があり、また、サービス事業者側の映像配信設備の設備コストの増大が生じることから、あまり多くの種類のチャネルを設定することは困難である。したがって、チャネルの個数が限られた中で、映像視聴ユーザの体感品質(QoE:Quality of Experience)を高めるようなビットレートの設定を行う必要がある。
従来、映像視聴ユーザの体感品質を高める映像符号化方式がいくつか提案されている。例えば、ビットレートに基づいて最適な解像度及びフレームレートを決定する主観品質推定方式(非特許文献3参照)、及び、映像視聴端末にダウンロードされたバッファデータのデータ量に基づいて当該映像視聴端末に適したビットレートを選択するビットレート選択制御方式(非特許文献4参照)等の映像符号化方式が提案されている。
"Information technology-Dynamic adaptive streaming over HTTP (DASH)-Part 1: Media presentation description and segment formats," INTERNATIONAL STANDARD ISO/IEC23009-1, pp.8-13,137-138, Aug. 2019. "HTTP Live Streaming"、[online]、RFC 8216、IETF、2017年8月、[令和元年9月24日検索]、インターネット<URL:https://tools.ietf.org/html/rfc8216> M. Takagi, H. Fujii, and A. Shimizu, "Optimized Spatial and Temporal Resolution based on Subjective Quality Estimation without Encoding," Proc. VCIP(Visual Communications and Image Processing), pp.33-36, Dec. 2014. T.Y. Huang, R. Johari, N. McKeown, M. Trunnell, and M. Watson, "A Buffer-Based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service," ACM SIGCOMM, Volume 44 Issue 4, pp.187-198, Aug. 2014.
しかしながら、従来提案されている前述の映像符号化方式においては、以下のような二つの課題がある。
一つ目の課題は、従来の映像符号化方式では、たとえそれがQoEを考慮した映像符号化方式であったとしても、チャネル数が少ない場合には、僅かなスループットの差でも、得られるQoEの変化が大きくなってしまうという点である。各チャネルのビットレートは、一般には数百kbpsから十数Mbpsまでの間で段階的に設定される。例えば、超高精細映像を含む場合には、数百kbpsから数十Mbpsまでの間で段階的にビットレートが設定される。そのため、利用されるネットワークのスループットが、映像視聴端末側において受信可能な所望のビットレートに少しでも満たない場合には、映像視聴端末は、当該所望のビットレートよりも一段階低いビットレートを選択することになる。このようなビットレートの選択が行われる映像視聴端末が多く発生した場合、映像視聴ユーザ全体のQoEが低下する。そのため、利用されるネットワークのスループットに対して適切なビットレートが、映像配信を行うエンコーダ側において設定される必要がある。
二つ目の課題は、従来の方式では、映像配信を行うエンコーダ側において事前にビットレートが決定されるため、利用時間帯及びネットワーク環境によって大幅に変化するネットワークスループットに対して、エンコーダ側の設定が追従できないという点である。例えば、利用されるネットワークのスループットが一様に低い状態になった場合には、映像配信側のサーバによって用意された高いビットレートの映像データが選択されることなく、低いビットレートの映像データばかりが選択されることになる。逆に、利用されるネットワークのスループットが一様に高い状態になった場合には、映像配信側のサーバによって用意された低いビットレートの映像データは選択されることなく、高いビットレートの映像データばかりが選択されることになる。これにより、映像視聴ユーザ全体のQoEが低下するとともに、生成されたにもかかわらず利用されない映像データが発生することによって、映像配信側のサーバのサーバリソースが無駄に消費されることなる。
本発明は、上記の点を鑑みてなされたものであり、エンコーダにおける同時符号化処理の負荷の増大を抑えつつ、映像視聴ユーザの体感品質を向上させることができる技術を提供することを目的とする。
本発明の一態様は、画像が符号化された、複数のビットレートの符号化データを生成する符号化データ生成方法であって、生成された前記符号化データが再生された際の、前記符号化データの配信先における評価値を取得する評価値取得ステップと、取得された全てのチャネルにおける前記評価値の分布に基づいて、生成する前記符号化データの前記ビットレートを変更するビットレート変更ステップと、を有する符号化データ生成方法である。
また、本発明の一態様は、画像が符号化された、複数のビットレートの符号化データを生成する符号化データ生成装置であって、生成された前記符号化データが再生された際の、前記符号化データの配信先における評価値を取得する評価取得部と、取得された全てのチャネルにおける前記評価値の分布に基づいて、生成する前記符号化データの前記ビットレートを変更するビットレート変更部と、を備える符号化データ生成装置である。
また、本発明の一態様は、上記の符号化データ生成方法をコンピュータに実行させるためのプログラムである。
本発明により、エンコーダにおける同時符号化処理の負荷の増大を抑えつつ、映像視聴ユーザの体感品質を向上させることができる。
本発明の第1の実施形態における動画再生システム1のシステム構成図である。 本発明の第1の実施形態における評価取得部101の動作を示すフローチャートである。 本発明の第1の実施形態における評価値分布の一例を示す概要図である。 本発明の第1の実施形態におけるビットレート変更部103の動作を示すフローチャートである。 本発明の第1の実施形態における仮評価値分布を得るための処理を説明するための図である。 本発明の第2の実施形態における評価値分布の一例を示す概要図である。 本発明の第2の実施形態におけるビットレート変更部103aの動作を示すフローチャートである。 本発明の第3の実施形態におけるビットレート変更部103bの動作を示すフローチャートである。
以下、本発明の実施形態について説明する。
前提として、以下に説明する各実施形態は、限られたパラメータセット(映像の主観品質に大きく影響を与えるビットレート、フレームレート、及び解像度等を意図する。本段落のみにおいて、以下「ビットレート」という。)の中で、できるだけ多くのユーザに適したビットレートの映像を配信することを目的としている。これを実現する一つの方法として、符号化データの配信先である動画再生装置が置かれている環境の分布に応じて、密度が高い環境についてはできるだけ多くのビットレートの符号化データを、及び、密度が低い環境については密度が高い環境よりも少ないビットレートの符号化データを、環境の変化に応じて適応的に割り当てる方法が考えられる。これを実現するため、以下に説明する各実施形態は、高い主観画質で受信再生できる環境(例えば、通信品質、及びデコーダの性能等)を持つ動画再生装置が全体に占める割合が多い場合には高ビットレートの符号化データを多くし、低い主観画質で受信再生する環境をもつ動画再生装置が全体に占める割合が多い場合には低いビットレートの符号化データを多くするよう制御をするものである。
<第1の実施形態>
以下、本発明の第1の実施形態における符号化データ生成方法、符号化データ生成装置、及びプログラムついて、図面を参照しながら説明する。
[動画再生システムの構成]
以下、第1の実施形態における動画再生システム1の構成について説明する。
図1は、本発明の第1の実施形態における動画再生システム1のシステム構成図である。図1に示すように、本実施形態における動画再生システム1は、符号化データ生成装置100、配信サーバ200、動画像再生装置群300、及び評価値収集サーバ400を含んで構成される。符号化データ生成装置100、配信サーバ200、動画像再生装置群300、及び評価値収集サーバ400の間は、互いにネットワークで接続されている。
動画像再生装置群300は、M個(Mは2以上の整数)の動画像再生装置(動画像再生装置301-1~301-M)を含んでいる。動画像再生装置301-1~301-Mは、それぞれ配信サーバ200から映像データを取得して、それぞれ動画像データの再生を行う。以下、動画像再生装置301-1~301-Mを互いに区別して説明する必要がない場合、単に「動画像再生装置301」という。
符号化データ生成装置100は、ABR配信方式による映像配信を行う装置である。符号化データ生成装置100は、外部の装置等から符号化対象の映像コンテンツデータ(以下、「映像データ」という。)を取得する。符号化データ生成装置100は、取得された映像データを複数のビットレート(複数のチャネル)でそれぞれ符号化する。
具体的には、符号化データ生成装置100は、符号化・配信制御パラメータ、及び映像データの入力を受け付ける。符号化データ生成装置100は、入力された映像データの解像度を、符号化・配信制御パラメータに基づいて、複数の(2つ以上の)解像度にそれぞれ変換する。なお、符号化データ生成装置100は、入力された映像データの解像度をそのまま利用する場合には、解像度の変換処理を行わなくてもよい。
次に、符号化データ生成装置100は、解像度の変換がなされたそれぞれの映像データに対し、入力された符号化・配信制御パラメータに基づいてそれぞれの解像度に対応するビットレートで符号化を行う。そして、符号化データ生成装置100は、符号化された映像データを、符号化・配信制御パラメータに基づいて所定の期間ごとに分割(以下、「セグメント化」という。)し、配信サーバ200へ順に出力する。以下、セグメント化された映像データを「セグメントデータ」という。
各動画像再生装置301は、所望のビットレートで符号化されたセグメントデータを配信サーバ200からそれぞれ受信して、映像を再生する。また、これとともに、動画像再生装置群300は、各動画像再生装置301が受信して再生したセグメントデータにそれぞれ対応する評価値を、評価値収集サーバ400へ送信する。
図1に示すように、符号化データ生成装置100は、評価取得部101、全体評価値算出部102、ビットレート変更部103、動画像変換部104、N個(Nは2以上の整数)の符号化部(符号化部105-1~105-N)、及び制御部106を含んで構成される。なお、以下の説明において、符号化部105-1~105-Nを互いに区別して説明する必要がない場合には、単に「符号化部105」という。各符号化部105は、自己の符号化部105にそれぞれ対応付けられたチャネルの符号化(ビットレート調整)を行う。
評価値収集サーバ400は、動画像再生装置群300から送信された評価値を取得して格納(記憶)する。また、評価値収集サーバ400は、取得された評価値を集計し、集計結果を格納する。例えば、評価値収集サーバ400は、所定の期間内において各動画像再生装置301によってそれぞれ受信された全てのセグメントデータに関するそれぞれの評価値を、各動画像再生装置301ごとに集計し、集計結果を格納する。評価値収集サーバ400は、記憶媒体は、例えば、RAM(Random Access Memory;読み書き可能なメモリ)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、及びHDD(Hard Disk Drive)等の記憶媒体、又はこれらの記憶媒体の任意の組み合わせを含んで構成される。
評価取得部101は、評価値収集サーバ400に格納された、所定の期間内において各動画像再生装置301によってそれぞれ受信されたセグメントデータが動画像再生装置301ごとに集計された評価値を取得する。評価取得部101は、取得された評価値を全体評価値算出部102へ出力する。
なお、前述の評価値収集サーバ400による評価値の集計は、当該評価値収集サーバ400が行う代わりに、評価取得部101が行う構成であってもよい。すなわち、評価取得部101は、所定の期間内において各動画像再生装置301によってそれぞれ受信された全てのセグメントデータに関するそれぞれの評価値を、評価値収集サーバ400から取得するようにしてもよい。そして、評価取得部101は、取得された評価値を各動画像再生装置301ごとに集計するようにしてもよい。
本実施形態において、評価値とは、チャネルごとに定まる解像度、フレームレート、及びビットレート等に基づいて算出することができる映像視聴ユーザの体感品質(主観品質)を示す値(以下、「QoE値」ともいう。)である。なお、後述する第2に実施形態においては、評価値として、QoE値の代わりに、セグメントファイルの受信所要時間及びファイルサイズに基づいて算出される推定スループットが用いられる。
全体評価値算出部102は、評価取得部101から出力された評価値(QoE値)を取得する。全体評価値算出部102は、取得された評価値に基づき、所定の期間内において、全てのチャネルにおける評価値の分布、及び全ての動画像再生装置301における評価値の平均値を示す全体平均評価値の算出を行う。全体評価値算出部102は、後述するアルゴリズムに従って、前述の割合及び全体平均評価値を算出する。全体評価値算出部102は、算出結果をビットレート変更部103へ出力する。
ビットレート変更部103は、全体評価値算出部102から出力された前述の算出結果を取得する。ビットレート変更部103は、取得された算出結果に基づいて、各符号化部105に対して設定する新たなビットレートをそれぞれ決定する。このとき、ビットレート変更部103は、新たなビットレートが設定された場合における全体平均評価値が、現時点での全体平均評価値を上回るように、新たなビットレートをそれぞれ決定する。ビットレート変更部103は、後述するアルゴリズムに従って、新たなビットレートを決定する。ビットレート変更部103は、決定された新たなビットレートによって、各符号化部105に設定されているビットレートをそれぞれ更新する。
なお、ビットレートを変更したとしても現時点での全体平均評価値を上回ることがないことが見込まれる場合、ビットレート変更部103は、符号化部105のビットレートの変更を行わない。なお、常に全ての符号化部105(チャネル)に設定されたビットレートが同時に新たなビットレートへ更新される必要はなく、一部の符号化部105に設定されたビットレートのみが新たなビットレートへ更新されてもよい。すなわち、ビットレートが更新される符号化部105(チャネル)とビットレートが更新されない符号化部105(チャネル)とが混在していてもよい。
なお、ビットレート変更部103は、ビットレートだけでなく、ビットレート及びフレームレートの双方の変更を行うようにしてもよい。または、ビットレート変更部103は、上記ビットレートの変更に代えて、フレームレートの変更を行うようにしてもよい。
動画像変換部104は、外部の装置等から映像データの入力を受け付ける。動画像変換部104は、各符号化部105によってそれぞれ符号化が安定して行われるように、符号化・配信制御パラメータに従って、入力された映像データを互いに異なる解像度の複数の(N個の)映像データにそれぞれ変換する。
本実施形態においては、一例として、動画像変換部104は、各符号化部105によって5通り(すなわち、N=5)のビットレートで符号化が行わるように、映像データを5種類の解像度の映像データにそれぞれ変換するものとする。例えば、動画像変換部104は、2160p、1080p、720p、480p、及び180pの5種類の解像度の映像データにそれぞれ変換する。
動画像変換部104は、2160pの解像度の映像データを、符号化部105-1へ出力する。同様に、動画像変換部104は、1080p、720p、480p、及び180pの解像度の映像データを、符号化部105-2~105-5へそれぞれ出力する。なお、動画像変換部104は、映像データの解像度を変換しない場合があってもよい。すなわち、動画像変換部104は、入力された映像データの解像度をそのまま用いて符号化部105へ出力する場合があってもよい。また、動画像変換部104は、解像度だけでなく、フレームレートも変換するようにしてもよい。また、動画像変換部104は、同一の解像度の映像データを複数の符号化部105へそれぞれ出力する場合があってもよい。
符号化部105は、動画像変換部104から出力された映像データを取得する。符号化部105は、取得された映像データを、初期の時点においては、符号化・配信制御パラメータに基づいて予め設定された初期値のビットレートで符号化する。符号化部105は、符号化された映像データをセグメント化してセグメントファイルを生成する。符号化部105は、生成されたセグメントファイルを配信サーバ200へ出力する。なお、符号化・配信制御パラメータとして設定されるビットレートの初期値は、映像データの配信先である動画像再生装置群300における通信帯域を示す通信帯域情報、及び所定の配信条件のうち、少なくとも一方に基づいて予め設定される。
具体的には、符号化部105-1は、初期の時点においては、符号化・配信パラメータに基づいて設定された初期値のビットレート(例えば、30Mbps)と、動画像変換部104から出力された解像度が2160pの映像データとに基づいて、当該映像データを符号化する。同様に、符号化部105-2~105-Nは、初期の時点においては、符号化・配信パラメータに基づいてそれぞれ設定された初期値のビットレート(例えば、10Mbps、5Mbps、800kbps、及び200kbps)と、動画像変換部104から出力された解像度が1080p、720p、480p、及び180pのそれぞれの映像データとに基づいて、当該映像データをそれぞれ符号化する。
符号化部105は、ビットレート変更部103によって新たなビットレートに更新された場合には、更新後のビットレートで映像データを符号化する。符号化部105は、符号化された映像データをセグメント化してセグメントファイルを生成する。符号化部105は、生成されたセグメントファイルを配信サーバ200へ出力する。
具体的には、符号化部105-1は、更新後のビットレート(例えば、25Mbps)と、動画像変換部104から出力された解像度が2160pの映像データとに基づいて、当該映像データを符号化する。同様に、符号化部105-2~105-5は、それぞれの更新後のビットレート(例えば、15Mbps、2Mbps、1Mbps、及び500kbps)と、動画像変換部104から出力された1080p、720p、480p、及び180pのそれぞれの映像データとに基づいて、当該映像データをそれぞれ符号化する。
制御部106は、符号化データ生成装置100が備える各機能部の動作を制御する。制御部106は、例えばCPU(Central Processing Unit;中央演算処理装置)等のプロセッサを含んで構成される。
[評価取得部の動作]
以下、評価取得部101の動作の一例について説明する。
図2は、本発明の第1の実施形態における評価取得部101の動作を示すフローチャートである。
以下の説明において、Nは、ABR配信方式による映像配信のために用いられるチャネル(符号化部105)の総数を表す変数である。また、Cur_BR[n]は、各チャネルを識別するチャネル番号がn番のチャネルを示すチャネルn(n=1,2,・・・,N)において設定されている、現時点でのビットレートを表す変数である。
ここでは、チャネル番号の数値がより小さいチャネルであるほど、解像度及びビットレートがより低いチャネル(以下、「下位のチャネル」という。)であるものとする。逆に、チャネル番号の数値がより大きいチャネルであるほど、解像度及びビットレートがより高いチャネル(以下、「上位のチャネル」という。)であるものとする。また、図2において、左向きの矢印「←」は、右辺から左辺への値の代入を表すものとする。
評価取得部101は、符号化データ生成装置100において設定されているチャネル(符号化部105)の総数、及び現時点で各チャネルに設定されているビットレートを示す配信情報を、例えば制御部106から取得する。評価取得部101は、取得された配信情報に基づくチャネルの総数及びビットレートを、それぞれ前述の変数であるN及びCur_BR[n]にそれぞれ設定する(ステップS201)。
次に、評価取得部101は、評価値収集サーバ400に格納された、所定の期間内における評価値が集計された評価値を示す情報を含む、評価値ログファイル取得する。(ステップS202)。ここで、評価値ログファイルには、各動画像再生装置301が受信した各セグメントファイルの、ファイル名、受信時刻、受信所要時間、ファイルサイズ、及び評価値(QoE値)等を示す情報が含まれているものとする。
次に評価取得部101は、取得された評価値ログファイルに基づいて、以下に説明する評価値分布を生成する(ステップS203)。以上で、図2のフローチャートが示す評価取得部101の動作が終了する。
以下、評価取得部101によって生成される評価値分布について説明する。
図3は、本発明の第1の実施形態における評価値分布の一例を示す概要図である。
図3は、チャネルの総数が5つ(すなわち、N=5)である場合における評価値分布の一例を示したものである。図3に示すグラフの縦軸は評価値を表し、チャネル1~チャネル5の評価値は、それぞれq[1]~q[5]で表されるものとする。ここで、q[n]は、QoE値を示す正の値であり、1~5の範囲の値で表される。また、図3に示すグラフの横軸は各評価値を含む評価値ログファイルの件数を表し、評価値がq[n]であった評価値ログファイルの件数はd[n]と表されるものとする。
例えば、5つの動画像再生装置301(動画像再生装置301-1~301-5)が、それぞれ20個のセグメントファイルを受信及び再生し、これらのセグメントファイルに関する評価値ログファイルをそれぞれ生成した場合、d[n]の総数は100件になる。ここで、各動画像再生装置301は、チャネルnのセグメントファイルを受信するために十分なスループットが得られない場合には、1つ下位のチャネルであるチャネル[n-1]のセグメントファイルを受信する。そのため、評価値ログファイルには、最大でN通りの(チャネル数に等しい数の)QoE値が存在しうることになる。これにより、図3のグラフに示すような5段階の階段状の分布が得られることになる。
全体評価値算出部102は、評価取得部101によって生成された評価値分布に基づいて、全体評価値Cur_E_QoEを算出する。全体評価値Cur_E_QoEとは、現時点での映像配信における全ての動画像再生装置301(動画像再生装置301-1~301-5)での平均の評価値である。全体評価値Cur_E_QoEは、以下の式(1)に示すように、各チャネルの評価値(QoE値)と、当該評価値が含まれる評価値ログファイルの個数とに基づいて算出される。ここで、Dは全評価値ログファイル数を表す。
Cur_E_QoE=1/D×Σ_{n=1}^{N}(q[n]×d[n])
D=Σ_{n=1}^{N}(d[n])
・・・(1)
[ビットレート変更部の動作]
以下、ビットレート変更部103の動作の一例について説明する。
図4は、本発明の第1の実施形態におけるビットレート変更部103の動作を示すフローチャートである。なお、図4において、左向きの矢印「←」は、右辺から左辺への値の代入を表すものとする。
まず、ビットレート変更部103は、符号化データ生成装置100において設定されているチャネル(符号化部105)の総数、及び現時点で各チャネルに設定されているビットレートを示す配信情報を、例えば制御部106から取得する。ビットレート変更部103は、取得された配信情報に基づくチャネルの総数及びビットレートを示す情報を、それぞれ上記変数であるN及びCur_BR[n]に設定する。
また、ビットレート変更部103は、全体評価値算出部102によって算出された全体評価値及び評価値分布を、それぞれ上記変数であるCur_E_QoE及びd[n]に設定する。更に、ビットレート変更部103は、以降の処理によってビットレートが変更された場合において最大となる全体評価値を示す変数であるMax_E_QoEの値を、上記Cur_E_QoEの値とすることによって初期化する(ステップS401)。
次に、ビットレート変更部103は、ビットレートの調整を試行するためのビットレート調整率の組み合わせを示す配列(以下、「ビットレート調整率組み合わせ配列」という。)であるR[i][n]を生成する(ステップS402)。ここで、R[i][n]は、Cur_BR[n]にそれぞれ設定される各チャネルのビットレートをそれぞれX倍(0≦X、X=1のとき等倍)増減させるための係数配列である。
例えば、各チャネルのビットレート調整率がM通り存在するものとし、全ての(N個の)チャネルに対してそれぞれM通りのビットレート調整率によってビットレートの調整が行われる場合、これらのビットレート調整率の組み合わせはM^{N}通り存在することになる。例えば、N=3({c1,c2,c3})に対して、M=2({m1,m2})通りのビットレートの調整が行われる場合には、これらのビットレート調整率の組み合わせは以下の8通り存在する。ここで、c1,c2及びc3は各チャネルを表し、m1及びm2は各ビットレート調整率を表す。
{c1,c2,c3}={m1,m1,m1},
{m1,m1,m2},
{m1,m2,m1},
{m1,m2,m2},
{m2,m1,m1},
{m2,m1,m2},
{m2,m2,m1},
{m2,m2,m2},
ビットレート調整率組み合わせ配列R[i][n]には、これら全ての(上記の例では8通りの)ビットレート調整率の組み合わせが設定され、これらの組み合わせの一つひとつに、それぞれインデックスi(i=1,2,・・・,M^{N})が付与されているものとする。なお、ビットレートの調整量は、例えば上記のビットレート調整率と変更前のビットレートとに基づいて算出されてもよい。又は、ビットレートの調整量は、例えばビットレートの単位で表される所定の値等であってもよい。
ビットレート変更部103は、ビットレート調整率組み合わせ配列R[i][n]を生成するにあたって、ビットレートを調整する対象にするチャネルと、ビットレートを調整する対象にはしないチャネルとを、評価値分布d[n]の値に基づいてそれぞれ決定する。
なお、ビットレート変更部103は、最上位のチャネル及び最下位のチャネルについては、ビットレートの変更を行わないようにしてもよい。例えば、最下位のチャネルのビットレート、又は最上位のチャネルのビットレートを変更することは、それぞれ映像配信サービスにおける最低映像品質、又は最高映像品質を変更することに繋がる。一般に、このようなビットレートの変更は、映像配信サービスの設計等にも影響することが多いため、行われない方が望ましいと考えられる。
ビットレート変更部103は、評価値分布d[1]の割合が所定の割合であるT以上であった場合(ステップS403-Y)、最下位のチャネルのビットレートについてもビットレートを調整する対象にするチャネルとして決定し、当該最下位のチャネルのビットレートをより低い値となるように変更する(ステップS405)。これは、ネットワークの状態が非常に悪く、多くのユーザが、最低品質の映像ですら満足に受信及び再生することができていないものと推察されるためである。この最下位チャネルのビットレートの変更により、最低品質を担保した映像配信が可能になる。
一方、ビットレート変更部103は、評価値分布d[1]の割合がT未満であった場合(ステップS403-N)、最下位のチャネルのビットレートについてはビットレートを調整する対象にしないチャネルとして決定し、当該最下位のチャネルのビットレートを変更しない(ステップS404)。
例えば、N=5の場合において、ビットレート変更部103が、最下位のチャネルのビットレート及び最上位のチャネルのビットレートを変更せず、その他のチャネルのビットレートをそれぞれ2.0倍するように変更するものとする。この場合、ビットレート調整率組み合わせ配列R[i][n]は、以下の式(2)によって表される。
R[i][n]={1.0,2.0,2.0,2.0,1.0}
・・・(2)
次に、ビットレート変更部103は、生成されたR[i][n]に基づいて、各チャネルに設定される前述の全てのビットレート調整率の組み合わせに対して、それぞれ後述するステップS408~S413の処理を繰り返し行う(ステップS407)。
(i<M^{N}の場合(ステップS407-Y))
ビットレート変更部103は、i番目の試行における仮ビットレートを表す変数であるtmp_BR[n]を、以下の式(3)によって算出する(ステップS408)。
tmp_BR[n]=Cur_BR[n]・R[i][n]
・・・(3)
ここで、記号「・」は、配列の同インデックス同士の要素を乗算する演算記号を表す。例えば、Cur_BR[n]及びR[i][n]が以下の場合には、tmp_BR[n]は、以下のようになる。
Cur_BR[n]={30000,15000,1000,500,100}、
R[i][n]={1.0,0.9,0.8,0.8,1.0}
tmp_BR[n]={30000,13500,800,400,100}
次に、ビットレート変更部103は、tmp_BR[n]の場合における全体評価値を算出するにあたり、まずCur_BR[n]に対して現時点で得られている評価値分布d[n]に基づいて、tmp_BR[n]の場合における仮評価値分布tmp_d[n]を算出する(ステップS409)。
図5は、本発明の第1の実施形態における仮評価値分布を得るための処理を説明するための図である。図5は、d[n]に対するtmp_d[n]の概要図を示す。以下、d[n]で表される評価値ログファイル数をそれぞれ横軸の座標に展開した際の座標値をd~dと表すものとする。また、tmp_d[n]で表される評価値ログファイル数をそれぞれ横軸の座標に展開した際の座標値をd’~d’n+1と表すものとする。このとき、d=0、d=Σ_{i=1}^{n}(d[i])、及び、d’=0、d’=Σ_{i=1}^{n}(tmp_d[i])となる。
ビットレート変更部103は、仮評価値分布tmp_d[n]の算出にあたり、tmp_BR[n]の場合における各チャネルの仮評価値q’[n]を算出する。図5に示す例においては、tmp_BR[1]=Cur_BR[1]、tmp_BR[5]=Cur_BR[5]であるため、q[1]=q’[1]、q[5]=q’[5]である。ここで、q’[n]の算出には、前述のq[n]の算出の場合と同様の評価モデルが用いられる。
ここで、q’[n]の場合における評価値分布tmp_d[n]は、以下の式(4)によって算出される。ここで、Dは、全評価値ログファイル数(Σ_{n=1}^{N}(tmp_d[n]))を表す。
(n<Nのとき)
tmp_d[n]=d’n+1-d’
(n=Nのとき)
tmp_d[n]=D-d’
・・・(4)
d’は、以下の式(5)によって算出される。
(1<n≦Nのとき)
d’=(q’-qn-1)×(d-dn-1)/(q-qn-1)+dn-1
(n=1のとき)
d’=d
・・・(5)
なお、式(4)及び式(5)が意味することは、ビットレート変更部103が、q’[n]の場合における仮評価値分布tmp_d[n]を、q[n]、d[n]を用いて隣接する値からの線形補間によって算出していることである。但し、tmp_d[n]の算出方法は、上記のような隣接する値を用いた線形補間による方法に限られるものではなく、例えば、q[n]、d[n]の値の全てを用いて補間関数を導出して算出する方法であってもよい。
次に、ビットレート変更部103は、仮評価値q’[n]、及び仮評価値分布tmp_d[n]における仮全体評価値tmp_E_QoE[i]を算出する(ステップS410)。tmp_E_QoE[n]は、以下の式(6)によって算出される。
tmp_E_QoE[i]=1/D×Σ_{n=1}^{N}(q’[n]×tmp_d[n])
D=Σ_{n=1}^{N}(tmp_d[n])
・・・(6)
ここで、tmp_E_QoE[i]の値が現時点で最も高い全体評価値であるMax_E_QoEを上回る場合(ステップS411-Y)、ビットレート変更部103は、Max_E_Eの値をtmp_E_QoE[i]の値で更新するとともに、tmp_BR[n]を、Max_E_QoEとなるビットレートを示すMax_BR[n]として保存する(ステップS412)。そして、ビットレート変更部103は、ステップS407に戻り、次のビットレートの調整パターン(ビットレート調整率の組み合わせ)における全体評価値を算出するための処理へ進む(ステップS413)。
一方、tmp_E_QoE[i]の値が現時点で最も高い全体評価値であるMax_E_QoE以下である場合(ステップS411-N)、ビットレート変更部103は、Max_E_QoEの値及びMax_BR[n]の値の更新は行わない。そして、ビットレート変更部103は、ステップS407に戻り、次のビットレートの調整パターン(ビットレート調整率の組み合わせ)における全体評価値を算出するための処理へ進む(ステップS413)。
(i=M^{N}の場合(ステップS407-N))
ビットレート変更部103は、ステップS407~S413の繰り返し処理の中で最大値となったMax_E_QoEの値、及びこの場合におけるMax_BR[n]の値を出力する。以上で、図4のフローチャートが示すビットレート変更部103の動作が終了する。
符号化部105-1~105-Nは、ビットレート変更部103から出力されたMax_BR[n]を、新たなビットレートとしてそれぞれ設定する。符号化部105は、次のセグメントの先頭となるフレーム位置から、新たなビットレートであるMax_BR[n]を用いて符号化を行う。
以下、前述のビットレートの変更について、具体例を挙げて説明する。
ここでは、評価値q[n]、評価値分布d[n]、及び全評価値ログファイル数Dは、それぞれ以下のような値であるものとする。
q[n]={1.0,2.0,3.0,4.0,5.0}、
d[n]={10,40,49,1,0}
(すなわち、d={0,10,50,99,100})
D=100
この場合、全体評価値Cur_E_QoEは、以下のようになる。
Cur_E_QoE=2.41
ここで、例えば、q’[n]が以下となるようにビットレートに変更したときの仮評価値分布tmp_d[n]は、以下のd’~d’により、それぞれ以下のようになる。
q’[n]={1.0,1.9,2.9,3.5,5.0}
d’=(q’-q)×(d-d)/(q-q)+d
=(1.9-1.0)×(10-0)/(2-1)+0
=9
d’=(q’-q)×(d-d)/(q-q)+d
=(2.9-2.0)×(50-10)/(3-2)+10
=46
d’=(q’-q)×(d-d)/(q-q)+d
=(3.5-3.0)×(99-50)/(4-3)+50
=74.5
d’=(q’-q)×(d-d)/(q-q)+d
=(5.0-4.0)×(100-99)/(5-4)+99
=100
tmp_d[1]=d’-d’=9-0=9
tmp_d[2]=d’-d’=46-9=35
tmp_d[3]=d’-d’=74.5-46=38.5
tmp_d[4]=d’-d’=100-74.5=25.5
tmp_d[5]=D-d’=100-100=0
また、全体評価値tmp_E_QoEは、以下の式(7)により、以下のようになる。
1/D×Σ_{n=1}^{N}(q’[n]×tmp_d[n])=2.512
・・・(7)
このように、上記の例においては、現時点での全体評価値Cur_E_QoEの値(2.41)を上回る全体評価値tmp_E_QoE(2.512)が得られる。
なお、上記の算出結果が意味することは、高位のチャネル(すなわち、解像度及びビットレートの高いチャネル)の評価値を得た割合が少ない場合、当該高位のチャネルを含む各チャネルのビットレートをより低くするように変更することで、従来ならば一つ下位のチャネルを受信するはずの動画像再生装置301が、当該一つ下位のチャネルよりもビットレートがより高いチャネルを選択することができるようになるということである。これにより、QoE値の全体平均値が、結果的に従来よりも高くなる。
以上説明したように、第1の実施形態に係る符号化データ生成装置100は、同様のビットレート調整を最大でM^{N}通り繰り返し、その中で最大となる全体評価値Max_E_QoEの値を特定する。そして、符号化データ生成装置100は、全体評価値Max_E_QoEの値が最大になる場合におけるビットレート配列Max_BR[n]に基づいて、各符号化部105に対し新たなビットレートを設定する。以上のような構成を備えることにより、符号化データ生成装置100は、QoE値の全体平均を向上させることができる。これにより、符号化データ生成装置100は、エンコーダ側における同時符号化処理の負荷の増大を抑えつつ、映像視聴ユーザの体感品質(主観品質)を向上させることができる。
<第2の実施形態>
以下、本発明の第2の実施形態について、図面を参照しながら説明する。
以下に説明する第2の実施形態における動画再生システム1の構成と、前述の第1の実施形態における動画再生システム1の構成との相違点は、符号化データ生成装置100の構成のうち、第1の実施形態における評価取得部101、全体評価値算出部102、及びビットレート変更部103が、それぞれ以下に説明する評価取得部101a、全体評価値算出部102a、及びビットレート変更部103aになっている点である。以下、上記の相違点を中心に説明する。
評価取得部101aは、前述の第1の実施形態のようにチャネル毎に定まる評価値を用いるのではなく、各チャネルにおいてセグメントファイルが受信された際の推定スループットを評価値として用いる。評価取得部101aは、推定スループットを用いて評価値分布D_t[n]を作成する。
以下、推定スループットを用いた評価値分布の作成方法について説明する。
まず、評価取得部101aは、評価値ログファイルを取得するにあたり、各評価値ログファイルに含まれる、セグメントファイルの受信所要時間t_j、ファイルサイズs_j(1≦j<Nt;Ntはセグメントファイル数)に基づいて、以下の式(8)により推定スループットTh[j]を計算する。
Th[j]=α×(s_j/t_j)
・・・(8)
ここで、αはスケーリング係数であり、正の定数である。なお、上記の式(8)が意味することは、セグメントファイルが受信された際のスループットに一定の値(すなわち、αの値)を乗算したものを、推定スループットTh[j]として用いるということである。
次に、評価取得部101aは、この推定スループットTh[j]を、当該セグメントファイルが符号化された際のビットレートであるものと仮定して、QoE値q_t[j]を算出する。なお、QoE値の算出には、前述の第1の実施形態で用いた手法と同様の手法を用いることができる。このとき、QoE値q_t[j]の全要素数は、Dt個になる。
以下、評価取得部101aによって生成される評価値分布d_t[n]について説明する。
図6は、本発明の第2の実施形態における評価値分布の一例を示す概要図である。
第2の実施形態における評価値分布d_t[n]は、図3に示した第1の実施形態における評価値分布とは異なり、図6に示す棒グラフのそれぞれの棒が1つのセグメントファイルから算出された推定スループットに基づく評価値(QoE値)となっている。第2の実施形態によれば、前述の第1の実施形態で用いられる評価値の個数よりも多い、D_t個の評価値が用られる。これにより、第2の実施形態によれば、前述の第1の実施形態よりも細かな評価値分布を得ることができる。
全体評価値算出部102aは、評価取得部101aによって生成された評価値分布d_t[n]に基づいて、全体評価値Cur_E_QoEを算出する。全体評価値Cur_E_QoEとは、現時点での映像配信における全ての動画像再生装置301(動画像再生装置301-1~301-5)での平均の評価値である。全体評価値Cur_E_QoEは、以下の式(9)に示すように、各チャネルの評価値、及び当該評価値を含む評価値ログファイルの個数に基づいて算出される。ここで、D_tは全評価値ログファイル数を表す。
Cur_E_QoE=1/D_t×Σ_{n=1}^{N}(q[n]×d_t[n])
D_t=Σ_{n=1}^{N}(d_t[n])
・・・(9)
ここで、q[n]は、各チャネルnのビットレートにおける評価値であり、d_t[n]は、以下のようになる。
(n=1の場合)
q_t[j]≦q[n]となるq_t[j]の個数
(n=Nの場合)
q[n]≦q_t[j]となるq_t[j]の個数
(上記以外の場合)
q[n]≦q_t[j]<q[n+1]となるq_t[j]の個数
[ビットレート変更部の動作]
以下、ビットレート変更部103aの動作の一例について説明する。
図7は、本発明の第2の実施形態におけるビットレート変更部103aの動作を示すフローチャートである。なお、図7において、左向きの矢印「←」は、右辺から左辺への値の代入を表すものとする。
図7に示すように、ビットレート変更部103aの動作の全体的な流れについては、図4に示した前述の第1の実施形態におけるビットレート変更部103の動作と同様であるが、用いられる値が異なっている。以下、第1の実施形態との相違点を中心に説明する。
ビットレート変更部103aは、q’[n]の場合における仮評価値分布tmp_d_t[n]を、以下の式(10)によって算出する。
(n=1の場合)
tmp_d_t[n]: q_t[j]≦q’[n]となるq_t[j]の個数
(n=Nの場合)
tmp_d_t[n]: q’[n]≦q_t[j]となるq_t[j]の個数
(上記以外の場合)
tmp_d_t[n]: q’[n]≦q_t[j]<q’[n+1]となるq_t[j]の個数
・・・(10)
なお、式(10)が意味することは、ビットレート変更部103aが、q’[n]の場合における仮評価値分布tmp_d_t[n]を、元のD_t個の評価値からなる評価値分布に基づいて、それぞれq’[n+1]以下となる要素数の数え上げにより算出しているということである。第2の実施形態によれば、少ない個数のデータによる線形補間ではなく、実際のスループットを示す情報に基づく多数のデータが用いられるため、前述の第1の実施形態と比べてより細かな評価値分布が得られる。これにより、第2の実施形態によれば、前述の第1の実施形態と比べて仮評価値分布の精度が向上するとともに、M^{N}回の繰り返し処理における補間演算の演算量が削減される。
次に、ビットレート変更部103aは、仮評価値q’[n]、及び仮評価値分布tmp_d_t[n]における、仮全体評価値tmp_Et_QoE[i]を算出する(ステップS710)。tmp_Et_QoE[n]は、以下の式(11)によって算出される。
tmp_Et_QoE[i]=1/D×Σ_{n=1}^{N}(q’[n]×tmp_d_t[n])
D=Σ_{n=1}^{N}(tmp_d_t[n])
・・・(11)
ビットレート変更部103aのステップS711~ステップS713の動作は、図4に示した第1の実施形態におけるビットレート変更部103のステップS411~ステップS413の動作とそれぞれ同様である。
<第3の実施形態>
以下、本発明の第3の実施形態について、図面を参照しながら説明する。
以下に説明する第3の実施形態における動画再生システム1の構成と、前述の第1の実施形態における動画再生システム1の構成との相違点は、符号化データ生成装置100の構成のうち、第1の実施形態におけるビットレート変更部103が、以下に説明するビットレート変更部103bになっている点である。以下、上記の相違点を中心に説明する。
[ビットレート変更部の動作]
以下、ビットレート変更部103bの動作の一例について説明する。
図8は、本発明の第3の実施形態におけるビットレート変更部103bの動作を示すフローチャートである。なお、図8において、左向きの矢印「←」は、右辺から左辺への値の代入を表すものとする。
なお、前述の第1の実施形態におけるビットレート変更部103、又は前述の第2の実施形態におけるビットレート変更部103aは、常に新たなビットレートを各符号化部105に対して設定する構成であった。これに対し、第3の実施形態におけるビットレート変更部103bは、一定期間中における評価値の累積で、最も全体評価値が高くなるようなビットレートの組み合わせを、各符号化部105に対して設定する構成である。本構成について、以下に更に詳しく説明する。
ビットレート変更部103bは、現時点でのビットレート情報Cur_BR[n]、現時点での全体評価値Cur_E_QoE、現時点での評価値分布d[n]、配信経過時間t、及び所定の時間間隔であるビットレート更新間隔Tを示す情報を、例えば制御部106から取得する(ステップS801)。なお、ビットレート更新間隔Tは、セグメント化される所定の時間間隔よりも長い時間間隔である。また、図4に示した第1の実施形態におけるビットレート変更部103のステップS402の動作と同様に、ビットレート変更部103bは、ビットレート調整率組み合わせ配列R[i][n]を生成する(ステップS802)。
ビットレート変更部103bのステップS803~ステップS810の動作は、図4に示した第1の実施形態におけるビットレート変更部103のステップS403~S410の動作とそれぞれ同様である。
ビットレート変更部103bは、ビットレートを変更した場合における全体評価値である仮全体評価値tmp_E_QoE[i]と、現時点での全体評価値Cur_E_QoEとの差分を算出する。ビットレート変更部103bは、算出された差分の累積値を、評価値差分累積値ΔQoE[i]とする(ステップS811)。
ビットレート変更部103bは、ビットレート調整率組み合わせ配列R[i][n]に基づいて、i=1・・・M^{N}通りの全体評価値の算出を行った後、配信経過時間tがビットレート更新間隔Tとなっているか否かを判定する(ステップS813)。配信経過時間tがビットレート更新間隔Tとなっており(ステップS813-Y)、かつ、評価値差分累積値ΔQoE[i]が正の値である場合(ステップS814-Y)、ビットレート変更部103bは、評価値差分累積値ΔQoE[i]が最大となるようなインデックスBest_Idxを算出する。ビットレート変更部103bは、Best_Idxにおけるビットレート調整率組み合わせ配列R[Best_Idx][n]により、新しいビットレート配列New_BR[n]を、下の式(12)によって算出する(ステップS815)。
New_BR[n]=Cur_BR[n]・R[Best_Idx][n]
・・・(12)
配信経過時間tがビットレート更新間隔Tとなっていない場合(ステップS813-N)、又は、評価値差分累積値ΔQoE[i]が0以下の値になっている場合(ステップS814-N)、ビットレート変更部103bは、新しいビットレート配列を算出しない。すなわち、現時点でのビットレート配列のままで各符号化部105おいて符号化が行われる。以上で、図8のフローチャートが示すビットレート変更部103bの動作が終了する。
このように、ビットレート変更部103bは、ビットレート更新間隔Tの間における全体評価値が最大となるようなビットレート調整率に基づいて、新しいビットレート配列を各符号化部105に設定する。これにより、第3の実施形態によれば、ビットレートの更新回数を減らしつつ、全体評価値を高めるビットレート配列を得ることが可能となる。なお、このとき、新しいビットレート配列が得られるたびに評価値差分累積値ΔQoE[i]が0にリセットされる構成であってもよいし、現時点での評価値差分累積値ΔQoE[i]が保持されたまま処理が継続される構成であってもよい。
上述した実施形態における符号化データ生成装置100をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記録装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものを含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100・・・符号化データ生成装置、101、101a・・・評価取得部、102、102a・・・全体評価値算出部、103、103a、103b・・・ビットレート変更部、104・・・動画像変換部、105(105-1~105-N)・・・符号化部、106・・・制御部、200・・・配信サーバ、300・・・動画像再生装置群、301(301-1~301-M)・・・動画像再生装置、400・・・評価値収集サーバ

Claims (10)

  1. 画像が符号化された、複数のビットレートの符号化データを生成する符号化データ生成方法であって、
    生成された前記符号化データが再生された際の、前記符号化データの配信先における評価値を取得する評価値取得ステップと、
    取得された全てのチャネルにおける前記評価値の分布である評価値分布に基づいて、前記配信先の全体で取得される前記評価値を示す全体評価値を算出する全体評価値算出ステップと、
    前記ビットレートを変更した場合における前記評価値の分布である仮評価値分布を前記評価値分布を線形補間することによって算出し、前記仮評価値分布に基づいて前記配信先の全体で取得される仮の前記評価値を示す仮全体評価値を算出する仮全体評価値算出ステップと、
    前記仮全体評価値が前記全体評価値より大きい場合に前記仮全体評価値によって前記全体評価値を更新する全体評価値更新ステップと、
    前記全体評価値に基づいて、生成する前記符号化データの前記ビットレートを変更するビットレート変更ステップと、
    を有する符号化データ生成方法。
  2. 前記ビットレート変更ステップは、
    前記評価値分布又は前記仮評価値分布において、
    相対的に高い前記評価値の件数の割合が大きいほど、より高い前記ビットレートの前記符号化データが多くなるように前記ビットレートを変更し、
    相対的に低い前記評価値の件数の割合が大きいほど、より低い前記ビットレートの前記符号化データが多くなるように前記ビットレートを変更する
    請求項1に記載の符号化データ生成方法。
  3. 前記評価値は、前記配信先における主観品質を表す値、又は前記配信先におけるネットワークのスループットである
    請求項1又は請求項2に記載の符号化データ生成方法。
  4. 前記ビットレート変更ステップは、
    前記ビットレートの変更に代えてフレームレートの変更、又は前記ビットレート及び前記フレームレートの双方の変更を行うことがある
    請求項2又は請求項3に記載の符号化データ生成方法。
  5. 記ビットレート変更ステップは、前記全体評価値が最大となるように所定のチャネルの前記ビットレートを変更する
    請求項1から請求項4のうちいずれか一項に記載の符号化データ生成方法。
  6. 前記ビットレート変更ステップは、
    前記ビットレートを変更した場合における前記全体評価値と、現時点における前記全体評価値との差分を所定の時間間隔で算出し、
    前記所定の時間間隔よりも長い時間間隔における前記差分の累積値が最大となるように所定の前記チャネルの前記ビットレートを変更する
    請求項5に記載の符号化データ生成方法。
  7. 前記全体評価値算出ステップは、
    各ビットレートにおける前記評価値と前記各ビットレートの前記符号化データの個数とから算出される前記評価値の平均値を前記全体評価値とする
    請求項5に記載の符号化データ生成方法。
  8. 前記ビットレート変更ステップは、
    最上位のビットレートである前記チャネル及び最下位のビットレートである前記チャネルについては、前記ビットレートの変更を行わない
    請求項5又は6に記載の符号化データ生成方法。
  9. 画像が符号化された、複数のビットレートの符号化データを生成する符号化データ生成装置であって、
    生成された前記符号化データが再生された際の、前記符号化データの配信先における評価値を取得する評価取得部と、
    取得された全てのチャネルにおける前記評価値の分布である評価値分布に基づいて、前記配信先の全体で取得される前記評価値を示す全体評価値を算出する全体評価値算出部と、
    前記ビットレートを変更した場合における前記評価値の分布である仮評価値分布を前記評価値分布を線形補間することによって算出し、前記仮評価値分布に基づいて前記配信先の全体で取得される仮の前記評価値を示す仮全体評価値を算出する仮全体評価値算出部と、
    前記仮全体評価値が前記全体評価値より大きい場合に前記仮全体評価値によって前記全体評価値を更新する全体評価値更新部と、
    前記全体評価値に基づいて、生成する前記符号化データの前記ビットレートを変更するビットレート変更部と、
    を備える符号化データ生成装置。
  10. 請求項1から8のいずれかに一項に記載の符号化データ生成方法をコンピュータに実行させるためのプログラム。
JP2021565159A 2019-12-16 2019-12-16 符号化データ生成方法、符号化データ生成装置、及びプログラム Active JP7280535B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/049136 WO2021124387A1 (ja) 2019-12-16 2019-12-16 符号化データ生成方法、符号化データ生成装置、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021124387A1 JPWO2021124387A1 (ja) 2021-06-24
JP7280535B2 true JP7280535B2 (ja) 2023-05-24

Family

ID=76478565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021565159A Active JP7280535B2 (ja) 2019-12-16 2019-12-16 符号化データ生成方法、符号化データ生成装置、及びプログラム

Country Status (3)

Country Link
US (1) US20230353808A1 (ja)
JP (1) JP7280535B2 (ja)
WO (1) WO2021124387A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520966A (ja) 2012-05-04 2015-07-23 トムソン ライセンシングThomson Licensing コード変換された複数のコンテンツストリームを提供するための方法および装置
WO2016125415A1 (ja) 2015-02-04 2016-08-11 日本電信電話株式会社 体感品質最適化システム、体感品質最適化装置、レコメンド要求装置、体感品質最適化方法、レコメンド要求方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015520966A (ja) 2012-05-04 2015-07-23 トムソン ライセンシングThomson Licensing コード変換された複数のコンテンツストリームを提供するための方法および装置
WO2016125415A1 (ja) 2015-02-04 2016-08-11 日本電信電話株式会社 体感品質最適化システム、体感品質最適化装置、レコメンド要求装置、体感品質最適化方法、レコメンド要求方法及びプログラム

Also Published As

Publication number Publication date
US20230353808A1 (en) 2023-11-02
JPWO2021124387A1 (ja) 2021-06-24
WO2021124387A1 (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
US10298985B2 (en) Systems and methods for performing quality based streaming
US10547659B2 (en) Signaling and processing content with variable bitrates for adaptive streaming
KR100987232B1 (ko) 인코딩 장치 내에서의 레이트 제어 방법 및 시스템
US20130304934A1 (en) Methods and systems for controlling quality of a media session
US20140181266A1 (en) System, streaming media optimizer and methods for use therewith
CN102450014B (zh) 用于质量感知视频优化的方法和视频优化器
CN105393516A (zh) 在自适应流送中用缓冲器和范围约束来进行质量优化
WO2013001426A1 (en) Distributing audio video content
CN112868229A (zh) 用于流传输数据的方法和设备
KR20170135069A (ko) QoE 분석 기반 비디오 프레임 관리 방법 및 그 장치
US20160277468A1 (en) Adapting Encoded Bandwidth
KR20220058454A (ko) 비디오들에 대한 프로파일 래더의 적응적 트랜스코딩
JP4584992B2 (ja) 送信フレームを生成するための装置および方法
EP3451672A1 (en) Method and device for video content encoding optimisation in adaptive streaming systems
WO2014066975A1 (en) Methods and systems for controlling quality of a media session
JP7280535B2 (ja) 符号化データ生成方法、符号化データ生成装置、及びプログラム
JP3852267B2 (ja) 動画像変換を制御するシステム、そのサーバ、そのゲートウェイ及びその制御プログラムを記録した記録媒体
KR101827427B1 (ko) 영상 신호 송신 장치 및 그 영상 신호 송신 방법
JP5837943B2 (ja) 異種ネットワークを介したコンテンツ配信のクリフ効果を軽減するシステムおよび方法
CN106134202B (zh) Mmt资产和具有包含多个qoe操作点的改进的mmt qos描述符的isobmff的增强的失真信令
CN114302145A (zh) 自适应网络环境的视频编码优化方法、装置、设备及存储介质
JP5743350B2 (ja) データ送信装置、前方誤り訂正方法、及びプログラム
JP2013030852A (ja) スケーラブル映像符号化装置及び方法及びプログラム
JP6825703B2 (ja) 送信装置、通信システム、通信方法、及びプログラム
Jimenez-Rodriguez et al. FAST rate allocation for JPEG2000 video transmission over time-varying channels

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230424

R150 Certificate of patent or registration of utility model

Ref document number: 7280535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150