(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】ビデオデータの処理方法、装置、電子機器およびコンピュータ可読媒体
(51)【国際特許分類】
H04N 21/4402 20110101AFI20240722BHJP
H04N 21/4385 20110101ALI20240722BHJP
【FI】
H04N21/4402
H04N21/4385
(21)【出願番号】P 2021574194
(86)(22)【出願日】2020-08-07
(86)【国際出願番号】 CN2020107728
(87)【国際公開番号】W WO2021042936
(87)【国際公開日】2021-03-11
【審査請求日】2021-12-14
(31)【優先権主張番号】201910833369.3
(32)【優先日】2019-09-04
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】▲銀▼ 国徽
【審査官】富樫 明
(56)【参考文献】
【文献】国際公開第2009/128246(WO,A1)
【文献】特開2017-130925(JP,A)
【文献】特開2015-220745(JP,A)
【文献】国際公開第2010/023828(WO,A1)
【文献】中国特許出願公開第105898380(CN,A)
【文献】特開2006-128907(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
処理待ちトランスポートストリームTSファイルを取得することと、
作成されたストリームStreamにより、所定のバイト長に従って前記処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた前記処理待ちTSファイルのデータを1つのメモリストリームに変換することであり、前記メモリストリームは、毎回読み取られた前記処理待ちTSファイルのデータをメモリに格納することによって得られるデータである、前記変換することと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各前記メモリストリームを順次解析し、各前記メモリストリームに対応するビデオパラメータを取得することと、を含み、
1つの前記メモリストリームの読み取りを完了する度に、対応する前記メモリストリームを削除することを更に含
み、
前記TSファイルに位置識別子が担持され、前記TSファイル内の各所定のバイト長のデータが1つの位置識別子に対応し、前記位置識別子は1つの識別ビットで表され、1つの所定のバイト長のデータを読み取る度に、前記位置識別子は対応して変化し、且つ
前記処理待ちTSファイル内のデータを読み取ることは、
前記作成されたストリームStreamおよび前記位置識別子に基づき、前記処理待ちTSファイル内の前記所定のバイト長のデータを順次読み取ることを含む、
ビデオデータの処理方法。
【請求項2】
処理待ちトランスポートストリームTSファイルを取得することは、
処理待ちm3u8ファイルを取得することと、
前記処理待ちm3u8ファイルを解析し、解析結果に応じて前記処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
前記再生アドレス情報に基づき、前記処理待ちm3u8ファイルに対応する各TSファイル中のファイルである前記処理待ちTSファイルを取得することと、を含む、
請求項
1に記載の方法。
【請求項3】
前記m3u8ファイルにファイルタイプの識別子が担持され、前記ファイルタイプがオンデマンドファイルまたはライブファイルであり、
前記ファイルタイプがライブファイルである場合、前記取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである、
請求項
2に記載の方法。
【請求項4】
前記処理待ちTSファイルに対応するビデオパラメータを取得した後に、前記処理待ちTSファイルに対応するビデオパラメータに基づいて前記処理待ちTSファイルをフォーマット変換することを更に含み、
前記処理待ちTSファイルに対応するビデオパラメータは、前記処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである、
請求項
1に記載の方法。
【請求項5】
処理待ちトランスポートストリームTSファイルを取得するためのTSファイル取得モジュールと、
作成されたストリームStreamにより、所定のバイト長に従って前記処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた前記処理待ちTSファイルのデータを1つのメモリストリームに変換するためのメモリストリーム読取モジュールであり、前記メモリストリームは、毎回読み取られた前記処理待ちTSファイルのデータをメモリに格納することによって得られるデータである、前記メモリストリーム読取モジュールと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各前記メモリストリームを順次解析し、各前記メモリストリームに対応するビデオパラメータを取得するためのメモリストリーム処理モジュールと、
1つの前記メモリストリームの読み取りを完了する度に、対応する前記メモリストリームを削除するよう構成される削除モジュールと、を備え
、
前記TSファイルに位置識別子が担持され、前記TSファイル内の各所定のバイト長のデータが1つの位置識別子に対応し、前記位置識別子は1つの識別ビットで表され、1つの所定のバイト長のデータを読み取る度に、前記位置識別子は対応して変化し、
メモリストリーム読取モジュールは、作成されたストリームStreamにより、所定のバイト長に従って前記処理待ちTSファイル内のデータを順次読み取るときに、
前記作成されたストリームStreamおよび前記位置識別子に基づき、前記処理待ちTSファイル内の前記所定のバイト長のデータを順次読み取ることに用いられる、
ビデオデータの処理装置。
【請求項6】
コンピュータの操作命令を記憶するように構成されるメモリと、
前記コンピュータの操作命令を呼び出すことにより、請求項1乃至
4のいずれか1項に記載の方法を実行するように構成されるプロセッサと、を備える、
電子機器。
【請求項7】
少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットが記憶されているコンピュータ可読媒体であって、
前記少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットは、プロセッサによりロードされて実行されると、請求項1乃至
4のいずれか1項に記載の方法を実現する、
コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本開示は、2019年9月4日付けで中国国家知的財産権局に出願された中国特許出願第201910833369.3号に対して優先権を主張するものであり、その全ての内容を引用により本願に援用する。
【0002】
[技術分野]
本開示は、マルチメディア処理の技術分野に関し、具体的には、ビデオデータの処理方法、装置、電子機器およびコンピュータ可読媒体に関する。
【背景技術】
【0003】
従来技術において、Transport Stream(TS)ファイル内のTSデータパケットを解析する過程で、通常、TSファイル内の全てのTSデータパケットを解析してメモリにキャッシュし、全てのTSデータパケットをキャッシュしてからTSデータパケットに対して後続の処理を行う必要があるが、TSファイル内の全てのTSデータパケットをメモリにキャッシュすることは、メモリを占有するだけでなく、全てのTSデータパケットをキャッシュしてからTSデータパケットに対して後続の処理を行うため、データの処理効率が低い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の目的は、少なくとも上記技術的な欠陥の1つを解決可能とし、データの処理効率を向上させることである。本開示は、以下のような技術案を採用する。
【課題を解決するための手段】
【0005】
態様1において、本開示は、
処理待ちトランスポートストリームTSファイルを取得することと、
作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得することとを含む、
ビデオデータの処理方法を提供する。
【0006】
本開示の態様1の実施例において、TSファイルに位置識別子が担持され、各位置識別子がTSファイル内の所定のバイト長のデータに対応し、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取ることは、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることを含む。
【0007】
本開示の態様1の実施例において、該方法は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除することを更に含む。
【0008】
本開示の態様1の実施例において、処理待ちトランスポートストリームTSファイルを取得することは、
処理待ちm3u8(MP3URL+UTF-8)ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、を含む。
【0009】
本開示の態様1の実施例において、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプがオンデマンドファイルまたはライブファイルであり、
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0010】
本開示の態様1の実施例において、該方法は、
処理待ちTSファイルに対応するビデオパラメータを取得した後に、処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換することを更に含み、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0011】
態様2において、本開示は、
処理待ちトランスポートストリームTSファイルを取得するためのTSファイル取得モジュールと、
作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換するためのメモリストリーム読取モジュールと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得するためのメモリストリーム処理モジュールとを備える、
ビデオデータの処理装置を提供する。
【0012】
本開示の態様2の実施例において、TSファイルに位置識別子が担持され、TSファイル内の各所定のバイト長のデータが1つの位置識別子に対応し、メモリストリーム読取モジュールは、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取るときに、具体的に、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることに用いられる。
【0013】
本開示の態様2の実施例において、該装置は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除するための削除モジュールを更に備える。
【0014】
本開示の態様2の実施例において、TSファイル取得モジュールは、処理待ちトランスポートストリームTSファイルを取得するときに、具体的に、
処理待ちm3u8ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、に用いられる。
【0015】
本開示の態様2の実施例において、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプがオンデマンドファイルまたはライブファイルであり、
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0016】
本開示の態様2の実施例において、該装置は、
処理待ちTSファイルに対応するビデオパラメータを取得した後に、処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換するためのフォーマット変換モジュールを更に備え、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0017】
態様3において、本開示は、
プロセッサおよびメモリを備え、
メモリは、コンピュータの操作命令を記憶することに用いられ、
プロセッサは、コンピュータの操作命令を呼び出すことにより、本開示の態様1のいずれかの実施例に記載の方法を実行することに用いられる、電子機器を提供する。
【0018】
態様4において、本開示は、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットが記憶されているコンピュータ可読媒体であって、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットは、プロセッサによりロードされて実行されると、本開示の態様1のいずれかの実施例に記載の方法を実現する、コンピュータ可読媒体を提供する。
【発明の効果】
【0019】
本開示の実施例に係る技術案の有益な効果は以下のとおりである。
【0020】
本開示の実施例のビデオデータの処理方法、装置、電子機器およびコンピュータ可読媒体は、作成されたStreamが一方向で不可逆であるため、Streamに基づいて所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取る過程において、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することができ、各メモリストリームが1つのTSデータパケットに対応し、且つ、最初のメモリストリームを取得すると、読み取り順序に従って各メモリストリームを順次解析処理することができ、即ち、Streamに基づき、TSファイルを読み取りながら読み取ったTSデータパケットを処理することができ、データの処理効率を向上させる。
【図面の簡単な説明】
【0021】
本開示の実施例における技術案をより明確に説明するために、以下、本開示の実施例の記述における使用する必要のある図面について簡単に説明する。
【0022】
【
図1】本開示の実施例に係るビデオデータの処理方法のフローチャートである。
【
図2】本開示の実施例に係るビデオデータの処理装置の構造模式図である。
【
図3】本開示の実施例に係る電子機器の構造模式図である。
【発明を実施するための形態】
【0023】
以下、図面を参照しながら本開示の実施例についてより詳細に説明する。図面に本開示のいくつかの実施例が示されるが、本開示は、様々な形式で実現でき、ここで記述される実施例に限定されるものと解釈されるべきではなく、逆に、本開示をより明瞭かつ完全に理解するために、これらの実施例を提供することが理解されるべきである。本開示の図面および実施例は、例示的なものに過ぎず、本開示の保護範囲を限定するためのものではないことが理解されるべきである。
【0024】
本開示の方法の実施形態に記載される各ステップは、異なる順序で実行されてもよいし、および/または並行に実行されてもよいことが理解されるべきである。また、方法の実施形態は、追加のステップおよび/または実行が省略されて示されたステップを含んでもよい。本開示の範囲は、この点で限られない。
【0025】
本発明で使用される「含む」という用語およびその変形は、開放的な包含であり、即ち、「含むが、これらに限定されない」。「基づく」という用語は、「少なくとも部分的に基づく」という意味である。「1つの実施例」という用語は、「少なくとも1つの実施例」を表す。「別の実施例」という用語は、「少なくとも1つの別の実施例」を表す。「いくつかの実施例」という用語は、「少なくともいくつかの実施例」を表す。他の用語の関連定義は、以下の記述で与える。
【0026】
なお、本開示に言及される「第1」、「第2」等の概念は、装置、モジュールまたはユニットを区分するためのものに過ぎず、これらの装置、モジュールまたはユニットが必ず異なる装置、モジュールまたはユニットであるように限定するためのものではなく、これらの装置、モジュールまたはユニットが実行する機能の順序または相互依存関係を限定するためのものでもない。
【0027】
なお、本開示に言及される「1つ」、「複数」という修飾は、例示的なものであり、限定的なものではなく、本明細書で特に明記されていない限り、「1つまたは複数」と理解すべきであることを、当業者は理解すべきである。
【0028】
本開示の実施形態における複数の装置間でインタラクションされるメッセージまたは情報の名称は、説明するためのものに過ぎず、これらのメッセージまたは情報の範囲を限定するためのものではない。
【0029】
以下、具体的な実施例により、本開示の技術案、および本開示の技術案が上記技術的問題をどのように解決するかについて詳細に説明する。以下、このいくつかの具体的な実施例は互いに組み合わせることができ、同じまたは類似する概念または過程は、いくつかの実施例で説明を省略する可能性がある。以下、図面を参照しながら本開示の実施例について説明する。
【0030】
上記技術的問題に対し、本開示の実施例に係るビデオデータの処理方法は、
図1に示すように、以下のステップを含む。
【0031】
ステップS110において、処理待ちトランスポートストリームTSファイルを取得する。
【0032】
具体的には、TS(Transport Stream)ファイルは、時間長が固定であるビデオセグメントであり、1つのTSファイルは複数のtsデータパケットを含んでもよく、TSファイルは、ビデオおよびオーディオのうちの少なくとも1つを含んでもよい。
【0033】
ステップS120において、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換する。
【0034】
具体的には、Streamは不可逆性を有し、所定のバイト長に従って処理待ちTSファイル(記述を簡単にするために、以下、トランスポートストリームTSファイルをTSファイルと略称する)内のデータを順次読み取るときに、処理待ちTSファイル内の1つの所定のバイト長のデータを読み取る度に、該データをメモリに記憶し、即ち、メモリストリームに変換することができる。ここで、所定のバイト長は、通常、188バイトであり、即ち、通常、1つのTSデータパケットは188バイトである。
【0035】
ステップS130において、変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得する。
【0036】
具体的には、最初のメモリストリームを取得すると、該第1メモリストリームを解析処理することができ、即ち、メモリストリームを読み取りながら読み取ったメモリストリームを解析し、解析したビデオパラメータは、TSファイルに対して後続の処理を行うことに使用でき、例えば、解析したビデオパラメータは、TSファイルをプレーヤーで再生できるようにTSファイルをフォーマット変換することに使用される。HTTP Live Streaming(HLS)プロトコルに基づいてTSファイルをフォーマット変換するならば、ビデオパラメータは、DTS(Decoding Time Stamp)、PTS(Presentation Time Stamp)、SPS(Sequence Parameter Set)、およびPPS(Picture Parameter Set)を含んでもよい。
【0037】
本開示の実施例における形態において、作成されたStreamが一方向で不可逆であるため、Streamに基づいて所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取る過程において、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することができ、各メモリストリームが1つのTSデータパケットに対応し、且つ、最初のメモリストリームを取得すると、読み取り順序に従って各メモリストリームを順次解析処理することができ、即ち、Streamに基づき、TSファイルを読み取りながら読み取ったTSデータパケットを処理することができ、データの処理効率を向上させる。
【0038】
本開示の実施例において、TSファイルに位置識別子が担持され、TSファイル内の各所定のバイト長のデータは1つの位置識別子に対応し、ステップS120において、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取ることは、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることを含む。
【0039】
具体的には、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取る過程において、TSファイルに担持された位置識別子により読み取ったデータの進捗を識別することで、処理待ちTSファイル内のデータをより正確に読み取ることができ、位置識別子は、positionのような1つの識別ビットで表すことができ、処理待ちTSファイルの開始位置が0であり、1つの所定のバイト長のデータを読み取る度に、該位置識別子は対応して変化し、例えば、position+所定のバイト長である。1つの例として、例えば、所定のバイト長が188バイトであれば、最初の所定のバイト長のデータを読み取った後に、対応する位置識別子はposition+188であり、また、2つ目の所定のバイト長のデータを読み取った後に、対応する位置識別子はposition+188+188であり、該位置識別子は加算できるが減算できない。これにより、位置識別子に基づき、処理待ちTSファイル内のデータを正確に読み取ることができる。
【0040】
本開示の実施例において、該方法は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除することを更に含んでもよい。
【0041】
具体的には、処理待ちTSファイルを読み取って対応する最初のメモリストリームを取得すると、該最初のメモリストリームを解析することができ、全てのメモリストリームを読み取ってからメモリストリームを解析する必要がなく、データの処理効率を向上させることができる。1つのメモリストリームの読み取りを完了すると、対応するメモリストリームを削除することができ、即ち、メモリストリームを読み取りながら読み取った後の対応するメモリストリームを削除することができ、これにより、メモリに読み取ったメモリストリームを記憶するためのスペースが十分あることを確保することができ、処理待ちTSファイルに大量のデータが含まれる場合にも、依然としてメモリストリームの正常な読み取りを確保することができ、即ち、メモリ容量は、処理待ちTSファイル内のデータが占めるメモリのサイズよりも小さくなってもよい。
【0042】
本開示の実施例では、ステップS110において、処理待ちトランスポートストリームTSファイルを取得することは、
処理待ちm3u8ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、
を含んでもよい。
【0043】
具体的には、m3u8ファイルはプレーンテキストファイルであり、m3u8ファイルはネットワークに由来してもよく、m3u8ファイルは、ライブファイルおよび/またはオンデマンドファイルに対応してもよい。処理待ちm3u8ファイルを取得した後に、該処理待ちm3u8ファイルを解析して対応するTSファイル(例えば、1つまたはより多くのTSファイルであってもよい)を取得することができ、ここで、正規表現を解析する方式により該m3u8ファイルを解析してもよい。
【0044】
m3u8ファイルにインデックスが担持されてもよく、該インデックスに各TSファイルおよび対応する再生アドレス情報が識別され、各TSファイルは1つの再生アドレス情報に対応し、これにより、該処理待ちm3u8ファイルを解析して対応するTSファイルを取得するときに、該インデックスに基づいて処理待ちTSファイルを取得することができる。ここで、再生アドレス情報はTSファイルに対応するオンライン再生アドレスであり、該再生アドレス情報に基づき、該アドレス情報に対応するTSファイルを対応して再生することができる。該TSファイルを再生する前に、該TSファイルをフォーマット変換処理して該TSファイルのフォーマットをプレーヤーの再生フォーマットのニーズに合わせる必要がある。
【0045】
ここで、処理待ちTSファイルは、処理待ちm3u8ファイルに対応する各TSファイル内のいずれかまたは複数のファイルであってもよいし、ユーザの再生要求に基づいて確定される各TSファイル内の1つのファイルであってもよい。ここで、再生要求は、ユーザが端末を介してサーバに送信するリンク要求であってもよく、ユーザの再生したいm3u8ファイルに対応する1つまたはより多くのTSファイルを表し、該再生要求にm3u8ファイルの識別子が含まれてもよく、該識別子に基づき、サーバは、ユーザがどのm3u8ファイルを再生したいかを知ることができる。
【0046】
m3u8ファイルが複数のTSファイルに対応すれば、各TSファイルに対応する再生アドレス情報には再生順序が含まれてもよく、該再生順序に従い、各TSファイルに対応するアドレス情報に基づいて該複数のTSファイルを再生することができる。
【0047】
本開示の実施例において、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプはオンデマンドファイルまたはライブファイルである。
【0048】
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0049】
具体的には、m3u8ファイルを解析するときに、m3u8ファイルに該m3u8ファイルのファイルタイプを識別する識別子が担持され、該識別子はファイル内のあるフィールドであってもよく、該フィールドにより、該m3u8ファイルのファイルタイプを確定することができ、即ち、該m3u8ファイルがオンデマンドファイルに対応するかライブファイルに対応するかを確定することができ、具体的に、m3u8ファイルは解析されるTSファイルのファイルタイプと一致し、m3u8ファイルがオンデマンドファイルであれば、解析されるTSファイルもオンデマンドファイルであり、m3u8ファイルがライブファイルであれば、解析されるTSファイルもライブファイルである。
【0050】
m3u8ファイル中のファイルタイプがオンデマンドファイルであれば、m3u8ファイル内の内容は変わらないが、m3u8ファイル中のファイルタイプがライブファイルであれば、m3u8ファイル内の内容は絶えずに変化し、即ち、m3u8ファイルに絶えずに新たな内容が追加され、対応するTSファイルを取得するために、該m3u8ファイルをリアルタイムに取得し、該m3u8ファイルをリアルタイムに解析する必要がある。これにより、m3u8ファイルのファイルタイプがオンデマンドファイルであれば、該m3u8ファイルを解析して取得したTSファイルの数は固定であり、一方、m3u8ファイル中のファイルタイプがライブファイルであれば、該m3u8ファイルを解析して取得したTSファイルの数はリアルタイムに変化する。
【0051】
なお、m3u8ファイルを解析するときに、該m3u8ファイル中のファイルタイプを取得することができるだけでなく、解析される各TSファイルの時間長を取得することもできる。
【0052】
本開示の実施例において、処理待ちTSファイルに対応するビデオパラメータを取得した後に、該方法は、
処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換することを更に含んでもよく、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0053】
具体的には、TSファイルは、一部のモバイルデバイスのブラウザがビデオをキャッシュする専用のビデオフォーマットであり、一般的なプレーヤーで正常に再生できず、再生できるためにトランスコードする必要がある。従って、処理待ちTSファイルに対応するビデオパラメータに基づき、処理待ちTSファイルを設定フォーマットのファイルに変換することができ、ここで、設定フォーマットは、プレーヤーが対応して再生可能なファイルのフォーマットである。例えば、fmp4フォーマットがモバイルデバイスで一般的なプレーヤーにて直接再生可能なビデオフォーマットであるため、TSファイルを、一般的なプレーヤーに適合するフォーマット、即ち、fmp4フォーマットにトランスコードすることができ、すると、TSファイルのトランスコード後のフォーマットはプレーヤーの再生フォーマットに適合し、該プレーヤーで該設定フォーマットのファイルを直接再生することができる。
【0054】
本開示の実施例において、処理待ちTSファイルをフォーマット変換した後に、該方法は、
処理待ちm3u8ファイルに対する再生要求およびフォーマット変換後のTSファイルを取得することと、
処理待ちm3u8ファイルの各TSファイルに対応する再生アドレス情報を確定することと、
各再生アドレス情報に対応する再生順序に従い、各再生アドレス情報に対応するフォーマット変換後のTSファイルを順次再生することと、
を更に含んでもよい。
【0055】
具体的には、TSファイルをフォーマット変換した後に、変換後のTSファイルのファイルフォーマットはプレーヤーの再生フォーマットに対応することができ、これにより、各再生アドレス情報に対応する再生順序に従い、対応するフォーマット変換後のTSファイルを再生し、TSファイルの再生を実現することができ、ここで、再生するTSファイルは、m3u8ファイルに対応する各TSファイル内のいずれかまたはいくつかのTSファイルであってもよい。
【0056】
図1に示すビデオデータの処理方法と同じ原理に基づき、本開示の実施例において、ビデオデータの処理装置20を更に提供し、
図2に示すように、該装置20は、TSファイル取得モジュール210と、メモリストリーム読取モジュール220と、メモリストリーム処理モジュール230とを備えてもよい。
【0057】
TSファイル取得モジュール210は、処理待ちトランスポートストリームTSファイルを取得することに用いられる。
【0058】
メモリストリーム読取モジュール220は、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することに用いられる。
【0059】
メモリストリーム処理モジュール230は、変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得することに用いられる。
【0060】
本開示の実施例における形態において、作成されたStreamが一方向で不可逆であるため、Streamに基づいて所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取る過程において、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することができ、各メモリストリームが1つのTSデータパケットに対応し、且つ、最初のメモリストリームを取得すると、読み取り順序に従って各メモリストリームを順次解析処理することができ、即ち、Streamに基づき、TSファイルを読み取りながら読み取ったTSデータパケットを処理することができ、データの処理効率を向上させる。
【0061】
本開示の実施例において、TSファイルに位置識別子が担持され、TSファイル内の各所定のバイト長のデータは1つの位置識別子に対応し、メモリストリーム読取モジュール220は、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取るときに、具体的に、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることに用いられる。
【0062】
本開示の実施例において、該装置は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除するための削除モジュールを更に備えてもよい。
【0063】
本開示の実施例において、TSファイル取得モジュール210は、処理待ちトランスポートストリームTSファイルを取得するときに、具体的に、
処理待ちm3u8ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、
に用いられる。
【0064】
本開示の実施例において、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプはオンデマンドファイルまたはライブファイルである。
【0065】
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0066】
本開示の実施例において、該装置は、
処理待ちTSファイルに対応するビデオパラメータを取得した後に、処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換するためのフォーマット変換モジュールを更に備えてもよく、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0067】
本開示の実施例の装置は、
図1に示すビデオデータの処理方法を実行することができ、その実現原理が類似し、本開示の各実施例におけるビデオデータの処理装置中の各モジュールが実行する動作は、本開示の各実施例におけるビデオデータの処理方法中のステップに対応し、ビデオデータの処理装置の各モジュールの詳細な機能の記述については、具体的に、上述内容に示された対応するビデオデータの処理方法における記述を参照することができ、ここでは説明を省略する。
【0068】
本開示の実施例における方法と同じ原理に基づき、以下、
図3を参照し、本開示の実施例の実現に適した電子機器(例えば、
図1における端末機器またはサーバ)600の構造模式図を示す。本開示の実施例における端末機器は、携帯電話機、ノートパソコン、デジタル放送受信機、PDA(パーソナルデジタルアシスタント)、PAD(タブレットコンピュータ)、PMP(ポータブルマルチメディアプレイヤー)、車載端末(例えば、車載ナビゲーション端末)等のようなモバイル端末、およびデジタルTV、デスクトップ型コンピュータ等のような固定端末を含んでもよいが、これらに限定されない。
図3に示す電子機器は一例に過ぎず、本開示の実施例の機能および使用範囲に何かの制限を与えるものではない。
【0069】
電子機器は、メモリおよびプロセッサを備え、そのうち、ここでのプロセッサは、以下の処理装置601と呼ばれてもよく、メモリは、以下の読み出し専用メモリ(ROM)602、ランダムアクセスメモリ(RAM)603および記憶装置608のうちの少なくとも1つを含んでもよく、具体的に、以下のとおりである。
【0070】
図3に示すように、電子機器600は、処理装置(例えば、中央プロセッサ、グラフィックプロセッサ等)601を備えてもよく、読み出し専用メモリ(ROM)602に記憶されたプログラム、または記憶装置608からランダムアクセスメモリ(RAM)603にロードされたプログラムに基づき、様々な適当な動作および処理を実行することができる。RAM 603には、電子機器600の操作に必要な様々なプログラムおよびデータが更に記憶されている。処理装置601、ROM 602およびRAM 603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
【0071】
通常、例えば、タッチパネル、タッチパッド、キーボード、マウス、カメラ、マイク、加速度計、ジャイロスコープ等を含む入力装置606、例えば、液晶ディスプレイ(LCD)、スピーカ、バイブレータ等を含む出力装置607、例えば、磁気テープ、ハードディスク等を含む記憶装置608、および通信装置609は、I/Oインターフェース605に接続することができる。通信装置609は、電子機器600が他の機器と無線または有線通信してデータを交換することを可能にする。
図3は、様々な装置を備える電子機器600を示したが、全ての示された装置を実施または具備することが必要ではないことが理解されるべきである。代わりに、より多いまたはより少ない装置を実施または具備してもよい。
【0072】
特に、本開示の実施例によれば、上記フローチャートを参照して記述した過程は、コンピュータソフトウェアプログラムとして実現され得る。例えば、本開示の実施例は、非一時的コンピュータ可読媒体に担持されたコンピュータプログラムを含むコンピュータプログラム製品を含み、該コンピュータプログラムは、フローチャートに示す方法を実行するためのプログラムコードを含む。このような実施例において、該コンピュータプログラムは、通信装置609によりネットワークからダウンロードされてインストールされてもよいし、記憶装置608からインストールされてもよいし、ROM 602からインストールされてもよい。該コンピュータプログラムが処理装置601により実行されると、本開示の実施例の方法で限定される上記機能を実行する。
【0073】
なお、本開示に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体であってもよいし、コンピュータ可読記憶媒体であってもよいし、上記両者の任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気の、磁気の、光の、電磁気の、赤外線の、または半導体のシステム、装置またはデバイス、あるいは以上の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体の更なる具体的な例は、1つまたは複数のリード線を有する電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。本開示において、コンピュータ可読記憶媒体は、命令実行システム、装置またはデバイスに使用され得る、または命令実行システム、装置またはデバイスと合わせて使用され得るプログラムを含有または記憶する任意の有形的な媒体であってもよい。本開示において、コンピュータ可読信号媒体は、ベースバンドでまたは搬送波の一部として伝搬されるデータ信号を含んでもよく、その中にコンピュータ可読プログラムコードが担持されている。このような伝搬されるデータ信号は、様々な形式を採用することができ、電磁信号、光信号または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、該コンピュータ可読信号媒体は、命令実行システム、装置またはデバイスに使用される、または命令実行システム、装置またはデバイスと合わせて使用されるプログラムを送信、伝搬または伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは、任意の適当な媒体で伝送でき、電線、光ケーブル、RF(無線周波数)等、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。
【0074】
いくつかの実施形態において、クライアント、サーバは、HTTP(Hyper Text Transfer Protocol、ハイパーテキストトランスファープロトコル)のような、任意の現在知られているまたは将来研究開発されるネットワークプロトコルを利用して通信することができ、且つ、任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)と相互接続できる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、ネットワークオフネットワーク(例えば、インターネット)およびピアツーピアネットワーク(例えば、ad hocピアツーピアネットワーク)、および任意の現在知られているまたは将来研究開発されるネットワークを含む。
【0075】
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよいし、単独で存在して該電子機器に取り付けられていないものであってもよい。
【0076】
上記コンピュータ可読媒体に1つまたは複数のプログラムが担持され、上記1つまたは複数のプログラムが該電子機器により実行されると、該電子機器は、処理待ちトランスポートストリームTSファイルを取得し、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換し、変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得する。
【0077】
1種または複数種のプログラミング言語またはその組み合わせで本開示の操作を実行するためのコンピュータプログラムコードを作成することができ、上記プログラミング言語は、Java、Smalltalk、C++のようなオブジェクト指向プログラミング言語を含んでもよいが、これらに限定されず、「C」言語のような通常の手続型プログラミング言語または類似するプログラミング言語を更に含む。プログラムコードは、完全にユーザのコンピュータで実行されてもよいし、部分的にユーザのコンピュータで実行されてもよいし、1つの独立したソフトウェアパッケージとして実行されてもよいし、部分的にユーザのコンピュータで部分的にリモートコンピュータで実行されてもよいし、完全にリモートコンピュータまたは業務サーバで実行されてもよい。リモートコンピュータに関する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または、外部コンピュータ(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続する)に接続することができる。
【0078】
図面におけるフローチャートおよびブロック図は、本開示の様々な実施例によるシステム、方法およびコンピュータプログラム製品の実現可能なアーキテクチャ、機能および操作を示す。この点で、フローチャートまたはブロック図における各ブロックは、1つのモジュール、プログラム、またはコードの一部を表すことができ、該モジュール、プログラム、またはコードの一部は、所定のロジック機能を実現するための1つまたは複数の実行可能命令を含む。なお、代替としてのいくつかの実現において、ブロックに記載された機能は、図面に記載された順序と異なる順序で発生してもよい。例えば、接続されているように示された2つのブロックは、関連する機能によって、実際にほぼ並行に実行してもよいし、逆の順序で実行してもよい。なお、ブロック図および/またはフローチャートにおける各ブロック、およびブロック図および/またはフローチャートにおけるブロックの組み合わせは、所定の機能または操作を実行する専用のハードウェアに基づくシステムで実現してもよいし、専用のハードウェアとコンピュータ命令との組み合わせで実現してもよい。
【0079】
本開示の実施例に係るモジュールまたはユニットは、ソフトウェアの方式で実現されてもよいし、ハードウェアの方式で実現されてもよい。ここで、モジュールまたはユニットの名称は、ある場合、該モジュールまたはユニット自体を限定するものではなく、例えば、メモリストリーム読取モジュールは、「TSデータパケット読取モジュール」と記述されてもよい。
【0080】
本発明に係る機能は、少なくとも部分的に1つまたは複数のハードウェアロジックコンポーネントにより実行されてもよい。例えば、非限定的に、使用可能な例示的なタイプのハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準パーツ(ASSP)、システムオンチップのシステム(SOC)、複合プログラマブルロジックデバイス(CPLD)等を含む。
【0081】
本発明の明細書において、機器可読媒体は、命令実行システム、装置またはデバイスに使用される、または命令実行システム、装置またはデバイスと合わせて使用されるプログラムを含有または記憶できる有形的な媒体であってもよい。機器可読媒体は、機器可読信号媒体または機器可読記憶媒体であってもよい。機器可読媒体は、電子の、磁気の、光の、電磁気の、赤外線の、または半導体のシステム、装置またはデバイス、または上記内容の任意の適当な組み合わせを含んでもよいが、これらに限定されない。機器可読記憶媒体の更なる具体的な例は、1つまたは複数の線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用ディスク(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記内容の任意の適当な組み合わせを含む。
【0082】
本開示の1つまたは複数の実施例によれば、
処理待ちトランスポートストリームTSファイルを取得することと、
作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換することと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得することと、
を含むビデオデータの処理方法を提供する。
【0083】
本開示の1つまたは複数の実施例によれば、TSファイルに位置識別子が担持され、各位置識別子はTSファイル内の所定のバイト長のデータに対応し、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取ることは、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることを含む。
【0084】
本開示の1つまたは複数の実施例によれば、該方法は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除することを更に含む。
【0085】
本開示の1つまたは複数の実施例によれば、処理待ちトランスポートストリームTSファイルを取得することは、
処理待ちm3u8ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、
を含む。
【0086】
本開示の1つまたは複数の実施例によれば、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプはオンデマンドファイルまたはライブファイルであり、
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0087】
本開示の1つまたは複数の実施例によれば、処理待ちTSファイルに対応するビデオパラメータを取得した後に、該方法は、
処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換することを更に含み、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0088】
本開示の1つまたは複数の実施例によれば、
処理待ちトランスポートストリームTSファイルを取得するためのTSファイル取得モジュールと、
作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取り、毎回読み取られた処理待ちTSファイルのデータを1つのメモリストリームに変換するためのメモリストリーム読取モジュールと、
変換により最初のメモリストリームを取得した場合、読み取り順序に従って各メモリストリームを順次解析し、各メモリストリームに対応するビデオパラメータを取得するためのメモリストリーム処理モジュールと、
を備えるビデオデータの処理装置を提供する。
【0089】
本開示の1つまたは複数の実施例によれば、TSファイルに位置識別子が担持され、TSファイル内の各所定のバイト長のデータは1つの位置識別子に対応し、メモリストリーム読取モジュールは、作成されたストリームStreamにより、所定のバイト長に従って処理待ちTSファイル内のデータを順次読み取るときに、具体的に、
作成されたストリームStreamおよび位置識別子に基づき、処理待ちTSファイル内の所定のバイト長のデータを順次読み取ることに用いられる。
【0090】
本開示の1つまたは複数の実施例によれば、該装置は、
1つのメモリストリームの読み取りを完了する度に、対応するメモリストリームを削除するための削除モジュールを更に備える。
【0091】
本開示の1つまたは複数の実施例によれば、TSファイル取得モジュールは、処理待ちトランスポートストリームTSファイルを取得するときに、具体的に、
処理待ちm3u8ファイルを取得することと、
処理待ちm3u8ファイルを解析し、解析結果に応じて処理待ちm3u8ファイルに対応する各TSファイルの再生アドレス情報を確定することと、
再生アドレス情報に基づき、処理待ちm3u8ファイルに対応する各TSファイル中のファイルである処理待ちTSファイルを取得することと、
に用いられる。
【0092】
本開示の1つまたは複数の実施例によれば、m3u8ファイルにファイルタイプの識別子が担持され、ファイルタイプはオンデマンドファイルまたはライブファイルであり、
ファイルタイプがライブファイルである場合、取得される処理待ちm3u8ファイルは、リアルタイムに取得されるm3u8ファイルである。
【0093】
本開示の1つまたは複数の実施例によれば、該装置は、
処理待ちTSファイルに対応するビデオパラメータに基づいて処理待ちTSファイルをフォーマット変換するためのフォーマット変換モジュールを更に備え、処理待ちTSファイルに対応するビデオパラメータは、処理待ちTSファイルに対応する全てのメモリストリームに対応するビデオパラメータである。
【0094】
以上の記述は、本開示の好ましい実施例および使用される技術原理についての説明に過ぎない。当業者であれば、本開示に係る開示範囲は、上記技術的特徴の特定の組み合わせで構成される技術案に限定されるものではなく、それとともに、上記開示の思想から逸脱しない場合、上記技術的特徴またはその均等な特徴を任意に組み合わせることで形成される他の技術案も含むべきであることが理解されるべきである。例えば、上記特徴と本開示に開示された(これらに限定されない)類似する機能を持つ技術的特徴とを互いに置き換えて形成される技術案である。
【0095】
また、特定の順番で各操作を記述したが、これらの操作を示された特定の順番または正方向順番で実行する必要があると理解されるべきではない。一定の環境において、マルチタスクおよび並行処理が有利である可能性がある。同様に、以上の検討に複数の具体的な実現詳細が含まれているが、これらは本開示の範囲を限定するものと理解されるべきではない。単独な実施例の説明に記述された一部の特徴は、組み合わせて単一の実施例で実現されてもよい。逆に、単一の実施例の説明に記述された様々な特徴は、単独で、または任意の適当なサブ組み合わせの方式で複数の実施例で実現されてもよい。
【0096】
構造的特徴および/または方法論理動作に特定された言語を用いて本主題を記述したが、添付の特許請求の範囲に限定される主題は、必ずしも上述した特定の特徴または動作に限定されないことが理解されるべきである。逆に、上述した特定の特徴および動作は、特許請求の範囲を実現する例示的な形式に過ぎない。