JP2022517587A - オーディオストリーム及びビデオストリーム同期切替方法及び装置 - Google Patents

オーディオストリーム及びビデオストリーム同期切替方法及び装置 Download PDF

Info

Publication number
JP2022517587A
JP2022517587A JP2021540224A JP2021540224A JP2022517587A JP 2022517587 A JP2022517587 A JP 2022517587A JP 2021540224 A JP2021540224 A JP 2021540224A JP 2021540224 A JP2021540224 A JP 2021540224A JP 2022517587 A JP2022517587 A JP 2022517587A
Authority
JP
Japan
Prior art keywords
video
stream
video stream
packet
time stamp
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
JP2021540224A
Other languages
English (en)
Other versions
JP7171929B2 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2022517587A publication Critical patent/JP2022517587A/ja
Application granted granted Critical
Publication of JP7171929B2 publication Critical patent/JP7171929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

この出願は、切替後のオーディオストリームとビデオストリームとの間の同期を保証することができないという既存の問題を解決するための、オーディオストリーム及びビデオストリーム同期切替方法及び装置を開示する。切替命令を受信した後、切替装置は、第1のビデオストリームの切替ポイントのビデオパラメータ値、及び第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する。ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。切替装置は、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定する。オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。切替装置は、決定した切替ポイントに基づいて切替を実行する。換言すれば、ビデオストリームの切替ポイントが決定された後に、該ビデオストリームの切替ポイントに基づいて、オーディオストリームの切替ポイントが決定される。オーディオストリームの切替ポイントが時間次元においてビデオストリームの切替ポイントと可能な限り近くなり、オーディオストリームとビデオストリームとの間の同期が確保される。

Description

この出願は、マルチメディア通信技術の分野に関し、特に、オーディオストリーム及びビデオストリーム同期切替方法及び装置に関する。
例えばテレビジョン(television、TV)制作・放送分野といったマルチメディア通信技術の分野では、オーディオストリームとビデオストリームとが別々に伝送される。オーディオストリーム切替とビデオストリーム切替とが独立に完了される。従って、切替後のオーディオストリームとビデオストリームとの間の同期を保証することができない。
この出願の実施形態は、切替後のオーディオストリームとビデオストリームとの間の同期を保証することができないという既存の問題を解決するための、オーディオストリーム及びビデオストリーム同期切替方法及び装置を提供する。
第1の態様によれば、この出願の一実施形態は、オーディオストリーム及びビデオストリーム同期切替方法を提供し、当該方法は、以下を含む。
切替装置が切替命令を受信する。切替命令は、送信されている第1のオーディオストリームから第2のオーディオストリームに切り替えるように、及び送信されている第1のビデオストリームから第2のビデオストリームに切り替えるように指示するために使用される。切替装置が、第1のビデオストリームの切替ポイントのビデオパラメータ値、及び第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する。ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定する。オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。切替装置が、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットに切り替え、且つ第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替える。
この出願のこの実施形態で使用されるソリューションは、ビデオストリーム切替とオーディオストリーム切替とが独立に実行される既存のソリューションとは異なる。このソリューションでは、ビデオストリームの切替ポイントが決定された後に、該ビデオストリームの切替ポイントに基づいて、オーディオストリームの切替ポイントが決定される。オーディオストリームの切替ポイントが時間次元においてビデオストリームの切替ポイントと可能な限り近くなり、オーディオストリームとビデオストリームとの間の同期が確保される。
例えば、オーディオストリームに含まれるパケットは、リアルタイムトランスポートプロトコル(real-time transport protocol、RTP)パケットとし得る。ビデオストリームに含まれるパケットはRTPパケットとし得る。
可能な一設計において、切替装置が、第1のビデオストリームの切替ポイントのビデオパラメータ値、及び第2のビデオストリームの切替ポイントのビデオパラメータ値を決定することは、以下を含む。
切替装置が、第1のビデオストリーム内の第1のパケットのタイムスタンプ及び第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、第1のビデオストリームと第2のビデオストリームとの間の同期関係を決定し、第1のパケットが属する第1のビデオフレームを受信する期間が、第2のパケットが属する第2のビデオフレームを受信する期間と重なり合い、
切替装置が、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する。
既存のソリューションでは、ビデオストリームの切替ポイントは、パケット毎にビデオストリームをスキャンすることによって決定される必要がある。一方、この出願の設計では、2つの切り替え対象のビデオストリームの切り替えポイントが、2つのビデオフレーム内のパケットであって、それらの受信期間が重なり合うパケットのビデオパラメータ値に基づいて決定される。これは簡単で効果的である。
可能な一設計において、ビデオパラメータ値がタイムスタンプを含む場合、切替装置が、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定することは、以下を含む。
切替装置が、同期関係、第1のパケットのタイムスタンプ、及び第1のビデオストリームのビデオフレーム継続時間に基づいて、第1のビデオストリームの切替ポイントのタイムスタンプを決定し、且つ同期関係、第2のパケットのタイムスタンプ、及び第2のビデオストリームのビデオフレーム継続時間に基づいて、第2のビデオストリームの切替ポイントのタイムスタンプを決定する。
タイムスタンプがビデオストリーム切替に使用される場合、この設計は、ビデオストリームの切替ポイントのタイムスタンプを決定するための簡単で効果的な手法を提供する。これは、比較的低い複雑さを持つ。
可能な一設計において、第1のビデオストリームの切替ポイントのタイムスタンプ、及び第2のビデオストリームの切替ポイントのタイムスタンプは、以下の条件:
第1のビデオストリームと第2のビデオストリームとが同期している場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+N*T2;
第1のビデオストリームが第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+1)*T1、且つTS_sw_v2=FT_TS2+N*T2;又は
第1のビデオストリームが第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+1)*T2
を満たし、
ただし、T1は、第1のビデオストリームのビデオフレーム継続時間を表し、T2は、第2のビデオストリームのビデオフレーム継続時間を表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、Nは、0より大きい整数である。
この設計は、ビデオストリームの切替ポイントのタイムスタンプを決定するための方法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、オーディオパラメータ値がタイムスタンプを含む場合、切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定することは、以下を含む。
切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプ、第1のビデオストリームのビデオフレーム継続時間、第1のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、且つ切替装置が、第2のビデオストリームの切替ポイントのタイムスタンプ、第2のビデオストリームのビデオフレーム継続時間、第2のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定する。
この設計は、ビデオストリームの切替ポイントのタイムスタンプに基づいてオーディオストリームの切替ポイントのタイムスタンプを決定するための具体的な一手法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のオーディオストリームの切替ポイントのタイムスタンプ、及び第2のオーディオストリームの切替ポイントのタイムスタンプは、以下の条件:
TS_sw_a1=(TS_sw_v1+T1-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a;及び
TS_sw_a2=(TS_sw_v2+T2-TS_ref_v)*frequency_a2/frequency_v2+TS_ref_a
を満たし、
ただし、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、第2のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、T1は、第1のビデオストリームのビデオフレーム継続時間を表し、T2は、第2のビデオストリームのビデオフレーム継続時間を表し、TS_ref_vは、第1の時点を基準として用いることによって決定されるビデオストリームの基準タイムスタンプを表し、TS_ref_aは、第1の時点を基準として用いることによって決定されるオーディオストリームの基準タイムスタンプを表し、第1の時点は、切替装置上の任意の過去の時点であり、frequency_a1は、第1のオーディオストリームのサンプリングレートであり、frequency_a2は、第2のオーディオストリームのサンプリングレートであり、frequency_v1は、第1のビデオストリームのクロック周波数であり、frequency_v2は、第2のビデオストリームのクロック周波数である。
可能な一設計において、第1のオーディオストリームのサンプリングレートは、第1のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、第1のオーディオストリーム内の2つの受信パケットのシーケンス番号とに基づいて決定され、又は第2のオーディオストリームのサンプリングレートは、第2のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、第2のオーディオストリーム内の任意の2つの受信パケットのシーケンス番号とに基づいて決定される。
可能な一設計において、オーディオパラメータ値はシーケンス番号を含み、切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定することは、以下を含む。
切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、第1のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのシーケンス番号を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのタイムスタンプを決定し、第2のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのシーケンス番号を決定する。
この設計は、ビデオストリームの切替ポイントのタイムスタンプに基づいてオーディオストリームの切替ポイントのシーケンス番号を決定するための具体的な一手法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のオーディオストリームの切替ポイントのシーケンス番号、及び第2のオーディオストリームの切替ポイントのシーケンス番号は、以下の条件:
SN_sw_a1=SN1+(TS_sw_a1-TS1)/AvgTS1;及び
SN_sw_a2=SN2+(TS_sw_a2-TS2)/AvgTS2
を満たし、
ただし、AvgTS1=packetTime1*frequency_a1、AvgTS2=packetTime2*frequency_a2であり、packetTime1は、第1のオーディオストリームのパケット継続時間であり、packetTime2は、第2のオーディオストリームのパケット継続時間であり、frequency_a1は、第1のオーディオストリームのサンプリングレートを表し、frequency_a2は、第2のオーディオストリームのサンプリングレートを表し、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、SN_sw_a1は、第1のオーディオストリームの切替ポイントのシーケンス番号を表し、SN_sw_a2は、第2のオーディオストリームの切替ポイントのシーケンス番号を表し、SN1は、第1のオーディオストリームの第3のパケットのシーケンス番号を表し、TS1は、第3のパケットのタイムスタンプを表し、SN2は、第2のオーディオストリーム内の第4のパケットのシーケンス番号を表し、TS2は、第4のパケットのタイムスタンプを表し、第3のパケットは、第1のオーディオストリーム内の任意の受信パケットであり、第4のパケットは、第2のオーディオストリーム内の任意の受信パケットである。
この設計は、オーディオストリームの切替ポイントのシーケンス番号を決定するための具体的な一手法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、ビデオパラメータ値がシーケンス番号を含む場合、切替装置が、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定することは、以下を含む。
切替装置が、同期関係、第1のパケットのシーケンス番号、及び第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第1のビデオストリームの切替ポイントのシーケンス番号を決定し、且つ同期関係、第2のパケットのシーケンス番号、及び第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第2のビデオストリームの切替ポイントのシーケンス番号を決定する。
この設計は、ビデオストリームの切替ポイントのシーケンス番号を決定するための具体的な一手法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のビデオストリームの切替ポイントのシーケンス番号、及び第2のビデオストリームの切替ポイントのシーケンス番号は、以下の条件:
第1のビデオストリームと第2のビデオストリームとが同期している場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+N*M2;
第1のビデオストリームが第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+1)*M1、且つSN_sw_v2=FT_SN2+N*M2;又は
第1のビデオストリームが第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+1)*M2
を満たし、
ただし、M1は、第1のビデオフレームに含まれるパケットの数を表し、M2は、第2のビデオフレームに含まれるパケットの数を表し、SN_sw_v1は、第1のビデオストリームの切替ポイントのシーケンス番号を表し、SN_sw_v2は、第2のビデオストリームの切替ポイントのシーケンス番号を表し、FT_SN1は、第1のパケットのシーケンス番号を表し、FT_SN2は、第2のパケットのシーケンス番号を表し、Nは、0より大きい整数である。
この設計は、ビデオストリームの切替ポイントのシーケンス番号を決定するための具体的な一手法を提供する。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、又は、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される。
この設計では、ビデオフレーム内のパケットの数が、2つの隣接し合うフレームトレーラパケット間のシーケンス番号差又は2つの隣接し合うフレームヘッダパケット間のシーケンス番号差を用いて決定される。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、又は、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定され、第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される。
この設計では、ビデオフレーム継続時間が、2つの隣接し合うフレームトレーラパケット間のタイムスタンプ差又は2つの隣接し合うフレームヘッダパケット間のタイムスタンプ差を用いて決定される。これは、簡単で実装が容易であり、低い複雑さを持つ。
可能な一設計において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第1のビデオストリーム内の2つのビデオフレームであり、第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第2のビデオストリーム内の2つのビデオフレームであり、且つ
第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、又は、第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである。
この設計では、ビデオフレーム継続時間及びビデオフレームに含まれるパケットの数が、切替命令が受信される前に決定される。切替命令が受信された時に受信されていたビデオフレーム内のパケットに基づいて、切替ポイントが決定される。これは、切替遅延をある程度減らすことができる。
可能な一設計において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームである。
第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである。
この設計では、ビデオフレーム継続時間及びビデオフレームに含まれるパケットの数が、切替命令が受信された後に決定され、それ故に、幾つかのビデオストリームのビデオフレーム継続時間及び幾つかのビデオストリーム内のパケットの数を適切に決定することができる。これは、リソース利用をある程度改善することができる。
可能な一設計において、第1のパケットは、第1のビデオフレーム内のフレームトレーラパケットであり、第2のパケットは、第2のビデオフレーム内のフレームトレーラパケットであり、又は、第1のパケットは、第1のビデオフレーム内のフレームヘッダパケットであり、第2のパケットは、第2のビデオフレーム内のフレームヘッダパケットである。
この設計では、切替ポイントが、ビデオストリーム内のフレームトレーラパケットに基づいて決定される。これは、簡単で実装が容易であり、低い複雑さを持つ。
第1の態様で提供される方法と同じ発明概念に基づいて、この出願の一実施形態は、オーディオストリーム及びビデオストリーム同期切替装置を提供し、当該装置は、
切替命令を受信するように構成された受信ユニットであり、切替命令は、送信されている第1のオーディオストリームから第2のオーディオストリームに切り替えるように、及び送信されている第1のビデオストリームから第2のビデオストリームに切り替えるように指示するために使用される、受信ユニットと、
処理ユニットであり、当該処理ユニットは、第1のビデオストリームの切替ポイントのビデオパラメータ値、及び第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するように構成され、ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含み、当該処理ユニットは、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのビデオパラメータ値に基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するように構成され、オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を有する、処理ユニットと、
第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットに切り替え、且つ第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替えるように構成された送信ユニット、
とを含む。
可能な一設計において、第1のビデオストリームの切替ポイントのビデオパラメータ値、及び第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するとき、処理ユニットは具体的に、
第1のビデオストリーム内の第1のパケットのタイムスタンプ及び第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、第1のビデオストリームと第2のビデオストリームとの間の同期関係を決定し、第1のパケットが属する第1のビデオフレームを受信する期間が、第2のパケットが属する第2のビデオフレームを受信する期間と重なり合い、
同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する、
ように構成される。
可能な一設計において、ビデオパラメータ値がタイムスタンプを含む場合、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するとき、処理ユニットは具体的に、
同期関係、第1のパケットのタイムスタンプ、及び第1のビデオストリームのビデオフレーム継続時間に基づいて、第1のビデオストリームの切替ポイントのタイムスタンプを決定し、且つ同期関係、第2のパケットのタイムスタンプ、及び第2のビデオストリームのビデオフレーム継続時間に基づいて、第2のビデオストリームの切替ポイントのタイムスタンプを決定する、
ように構成される。
可能な一設計において、第1のビデオストリームの切替ポイントのタイムスタンプ、及び第2のビデオストリームの切替ポイントのタイムスタンプは、以下の条件:
第1のビデオストリームと第2のビデオストリームとが同期している場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+N*T3;
第1のビデオストリームが第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+1)*T1、且つTS_sw_v2=FT_TS2+N*T2;又は
第1のビデオストリームが第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+2)*T2
を満たし、
ただし、T1は、第1のビデオストリームのビデオフレーム継続時間を表し、T2は、第2のビデオストリームのビデオフレーム継続時間を表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、Nは、0より大きい整数である。
可能な一設計において、オーディオパラメータ値はタイムスタンプを含み、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するとき、処理ユニットは具体的に、
第1のビデオストリームの切替ポイントのタイムスタンプ、第1のビデオストリームのビデオフレーム継続時間、第1のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプ、第2のビデオストリームのビデオフレーム継続時間、第2のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定する、
ように構成される。
可能な一設計において、第1のオーディオストリームの切替ポイントのタイムスタンプ、及び第2のオーディオストリームの切替ポイントのタイムスタンプは、以下の条件:
TS_sw_a1=(TS_sw_v1+T1-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a;及び
TS_sw_a2=(TS_sw_v2+T2-TS_ref_v)*frequency_a2/frequency_v2+TS_ref_a
を満たし、
ただし、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、第2のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、T1は、第1のビデオストリームのビデオフレーム継続時間を表し、T2は、第2のビデオストリームのビデオフレーム継続時間を表し、TS_ref_vは、第1の時点を基準として用いることによって決定されるビデオストリームの基準タイムスタンプを表し、TS_ref_aは、第1の時点を基準として用いることによって決定されるオーディオストリームの基準タイムスタンプを表し、第1の時点は、当該切替装置上の任意の過去の時点であり、frequency_a1は、第1のオーディオストリームのサンプリングレートであり、frequency_a2は、第2のオーディオストリームのサンプリングレートであり、frequency_v1は、第1のビデオストリームのクロック周波数であり、frequency_v2は、第2のビデオストリームのクロック周波数である。
可能な一設計において、第1のオーディオストリームのサンプリングレートは、第1のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、第1のオーディオストリーム内の2つの受信パケットのシーケンス番号とに基づいて決定され、又は第2のオーディオストリームのサンプリングレートは、第2のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、第2のオーディオストリーム内の任意の2つの受信パケットのシーケンス番号とに基づいて決定される。
可能な一設計において、オーディオパラメータ値はシーケンス番号を含み、
第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するとき、処理ユニットは具体的に、
第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、第1のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのシーケンス番号を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのタイムスタンプを決定し、第2のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのシーケンス番号を決定する、
ように構成される。
可能な一設計において、第1のオーディオストリームの切替ポイントのシーケンス番号、及び第2のオーディオストリームの切替ポイントのシーケンス番号は、以下の条件:
SN_sw_a1=SN1+(TS_sw_a1-TS1)/AvgTS1;及び
SN_sw_a2=SN2+(TS_sw_a2-TS2)/AvgTS2
を満たし、
ただし、AvgTS1=packetTime1*frequency_a1、AvgTS2=packetTime2*frequency_a2であり、packetTime1は、第1のオーディオストリームのパケット継続時間であり、packetTime2は、第2のオーディオストリームのパケット継続時間であり、frequency_a1は、第1のオーディオストリームのサンプリングレートを表し、frequency_a2は、第2のオーディオストリームのサンプリングレートを表し、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、SN_sw_a1は、第1のオーディオストリームの切替ポイントのシーケンス番号を表し、SN_sw_a2は、第2のオーディオストリームの切替ポイントのシーケンス番号を表し、SN1は、第1のオーディオストリームの第3のパケットのシーケンス番号を表し、TS1は、第3のパケットのタイムスタンプを表し、SN2は、第2のオーディオストリーム内の第4のパケットのシーケンス番号を表し、TS2は、第4のパケットのタイムスタンプを表し、第3のパケットは、第1のオーディオストリーム内の任意の受信パケットであり、第4のパケットは、第2のオーディオストリーム内の任意の受信パケットである。
可能な一設計において、オーディオパラメータ値はシーケンス番号を含み、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するとき、処理ユニットは具体的に、
同期関係、第1のパケットのシーケンス番号、及び第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第1のビデオストリームの切替ポイントのシーケンス番号を決定し、且つ同期関係、第2のパケットのシーケンス番号、及び第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第2のビデオストリームの切替ポイントのシーケンス番号を決定する、
ように構成される。
可能な一設計において、第1のビデオストリームの切替ポイントのシーケンス番号、及び第2のビデオストリームの切替ポイントのシーケンス番号は、以下の条件:
第1のビデオストリームと第2のビデオストリームとが同期している場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+N*M2;
第1のビデオストリームが第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+1)*M1、且つSN_sw_v2=FT_SN2+N*M2;又は
第1のビデオストリームが第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+1)*M2
を満たし、
ただし、M1は、第1のビデオフレームに含まれるパケットの数を表し、M2は、第2のビデオフレームに含まれるパケットの数を表し、SN_sw_v1は、第1のビデオストリームの切替ポイントのシーケンス番号を表し、SN_sw_v2は、第2のビデオストリームの切替ポイントのシーケンス番号を表し、FT_SN1は、第1のパケットのシーケンス番号を表し、FT_SN2は、第2のパケットのシーケンス番号を表し、Nは、0より大きい整数である。
可能な一設計において、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、又は、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される。
可能な一設計において、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、又は、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定され、第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される。
可能な一設計において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第1のビデオストリーム内の2つのビデオフレームであり、第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第2のビデオストリーム内の2つのビデオフレームであり、且つ
第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、又は、第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである。
可能な一設計において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームである。
第1のビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、第2のビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである。
可能な一設計において、第1のパケットは、第1のビデオフレーム内のフレームトレーラパケットであり、第2のパケットは、第2のビデオフレーム内のフレームトレーラパケットであり、又は、第1のパケットは、第1のビデオフレーム内のフレームヘッダパケットであり、第2のパケットは、第2のビデオフレーム内のフレームヘッダパケットである。
第3の態様によれば、この出願の一実施形態は更に装置を提供する。当該装置は切替装置内で使用される。有益な効果については、第1の態様における記述を参照されたい。詳細をここで再び説明することはしない。通信装置の構成が、プロセッサ及びトランシーバを含むとともに、メモリを更に含み得る。プロセッサは、第1の態様の方法における対応する機能を実行する際に端末装置を支援するように構成される。メモリは、プロセッサに結合されるとともに、通信装置に必要なプログラム命令及びデータを格納する。トランシーバは、他の装置と通信するように構成される。
第4の態様によれば、この出願は更に、コンピュータ読み取り可能記憶媒体を提供する。コンピュータ読み取り可能記憶媒体は命令を格納する。命令がコンピュータ上で実行されるとき、第1の態様に従った方法を該コンピュータが実行することが可能にされる。
第5の態様によれば、この出願は更に、命令を含んだコンピュータプログラムプロダクトを提供する。コンピュータプログラムプロダクトがコンピュータ上で走るとき、第1の態様に従った方法を該コンピュータが実行することが可能にされる。
第6の態様によれば、この出願は更にコンピュータチップを提供する。当該チップはメモリに接続される。当該チップは、メモリに記憶されたソフトウェアプログラムを読み出して実行することで、第1の態様における方法を実行するように構成される。
この出願の一実施形態に従った切替システムの構造の概略図である。 この出願の一実施形態に従ったビデオストリームの概略図である。 この出願の一実施形態に従ったオーディオストリームとビデオストリームとの間の同期の概略図である。 この出願の一実施形態に従ったオーディオストリーム及びビデオストリーム同期切替方法のフローチャートである。 この出願の一実施形態に従ったRTPパケットヘッダの構造の概略図である。 この出願の一実施形態に従った2つのビデオストリームに含まれるビデオフレームの概略図である; この出願の一実施形態に従った、切り替え対象のビデオストリーム1、切り替え対象のビデオストリーム2、切り替え対象のオーディオストリーム1、及び切り替え対象のオーディオストリーム2の概略図である。 この出願の一実施形態に従ったオーディオストリーム及びビデオストリーム同期切替手順の概略図である。 この出願の一実施形態に従った切替前にマルチキャストアドレス及びシーケンス番号を変更する一手法の概略図である。 この出願の一実施形態に従った切替後にマルチキャストアドレス及びシーケンス番号を変更する一手法の概略図である。 この出願の一実施形態に従った、複数のビデオストリーム及び複数のオーディオストリームを同時に切り替えることの概略図である。 この出願の一実施形態に従った装置1000の構造の概略図である。 この出願の一実施形態に従った装置1100の構造の概略図である。
この出願の実施形態は、例えば放送番組制作及び放送ネットワークの全般制御システム、テレビ番組制作及び放送ネットワークの全般制御システム、テレビスタジオ、及び放送ドメインなど、IPネットワーク上で搬送されるオーディオストリームを切り替える必要があるシナリオにおいて使用され得る。
図1は、切替システムの構造の一例の概略図である。このシステムは、P個のオーディオ送信装置、Q個のビデオ送信装置、切替装置、オーディオ受信装置、及びビデオ受信装置を含んでおり、P及びQはどちらも1より大きい整数である。オーディオ送信装置は、オーディオストリームを切替装置に送信するように構成される。ビデオ送信装置は、ビデオストリームを切替装置に送信するように構成される。切替装置は、P個のオーディオ送信装置によって出力されるP個のオーディオストリームのうちの1つと、Q個のビデオ送信装置によって出力されるQ個のビデオストリームのうちの1つとを、下流の装置に送信することを担う。下流の装置は、オーディオストリームをオーディオ受信装置に伝送し、ビデオストリームをビデオ受信装置に伝送する。
この出願のこの実施形態における切替装置は、制作及び放送IPネットワークにて使用されるIPネットワーク切替装置とし得る。例えば、切替装置は、ルータ、スイッチ、又は仮想スイッチであり、また、1つ以上のサーバ、仮想化プラットフォーム、クラウドコンピューティングサービスセンター、又はこれらに類するものであってもよい。
例えば、切替システムは更に、切替装置に切替命令を送信するように構成された管理装置を含み得る。管理装置は、有線ネットワーク又は無線ネットワークを介して切替装置に接続され得る。
オプションで、無線ネットワーク又は有線ネットワークは、標準的な通信技術及び/又は標準的な通信プロトコルを使用する。ネットワークは、通常、インターネットであるが、以下に限られないがローカルエリアネットワーク(local area network、LAN)、メトロポリタンエリアネットワーク(metropolitan area network、MAN)、ワイドエリアネットワーク(wide area network、WAN)、モバイルネットワーク、有線ネットワーク、無線ネットワーク、プライベートネットワーク、又は仮想プライベートネットワークの任意の組み合わせを含む任意のネットワークであってもよい。
映画テレビ技術者協会(the society of motion picture and television engineers、SMPTE)2110標準は、オーディオ、ビデオ、及び補助データを分離するために使用される。追加の字幕、クレジット、テレテキスト、多言語オーディオ、及びこれらに類するものの制作及び放送の利便性を向上させるために、各エンティティストリームを別々に送信、切替、集約、及び再構築することができる。補助データは、字幕、クレジット、テレテキスト、多言語オーディオ、及びこれらに類するものとし得る。SMPTE2110標準は、オーディオストリーム、ビデオストリーム、及び補助データストリームの別々の伝送における新たな要求を導入する。換言すれば、切替においてオーディオ及びビデオ同期切替を確保することを必要とする。現在、オーディオストリームとビデオストリームとが別々に伝送されている。オーディオストリーム切替とビデオストリーム切替とが独立して完了される。結果として、同期切替を正確に達成することができない。
この出願のこの実施形態では、オーディオデータを含むストリームをオーディオストリームと呼び、ビデオデータを含むストリームをビデオストリームと呼ぶ。オーディオデータは、例えば、発話、歌唱、及び楽器によって生成される音を含むデータといった、人間が聴くことができる音を含むデータであってもよいし、あるいは、制作にて生成される多言語オーディオデータであってもよい。ビデオデータは、人間の目では識別することができずに滑らかで連続的な視覚効果であるように見える静止ピクチャとし得る。連続したピクチャに対応するデータをビデオデータと称し得る。例えば、ビデオデータは、画像データ、制作された字幕若しくはクレジットを含むデータ、テレテキストデータ、又はこれらに類するものを含み得る。
また、この出願のこの実施形態では、切替前に送信されていたビデオストリームをスイッチアウトビデオストリームと呼ぶことがあり、切替後に送信されるビデオストリームをスイッチインビデオストリームと呼ぶことがある。切替前に送信されていたオーディオストリームをスイッチアウトオーディオストリームと呼ぶことがあり、切替後に送信されるオーディオストリームをスイッチインオーディオストリームと呼ぶことがある。この出願のこの実施形態の後続の説明では、第1のオーディオストリームがスイッチアウトオーディオストリームであり、第2のオーディオストリームがスイッチインオーディオストリームであり、第1のビデオストリームがスイッチアウトビデオストリームであり、そして、第2のビデオストリームがスイッチインビデオストリームである一例を使用する。
IPネットワークにおいて、オーディオストリーム及びビデオストリーム同期切替は、以下の要求を満たす必要がある。
1. ビデオストリームのクリーンな切替を実装する必要があり、ビデオストリームはビデオフレーム境界で切り替えられる必要がある。切替の間、スイッチアウトビデオストリームとスイッチインビデオストリームとが時間次元で連続であることができる。より多くのフレーム又はより少ないフレームは許されない。換言すれば、ビデオ障害(例えばブラックスクリーン、不安定な表示、画面スクロール、静止フレームなど)が発生しない。
図2に示すように、スイッチインビデオストリームAはフレーム4で転送され始め、スイッチアウトビデオストリームBはフレーム4で廃棄され始める。
2. オーディオストリームはビデオストリームと同期して切り替えられ、オーディオストリームの切替ポイントは、時間次元でビデオストリームの切替ポイントに対して可能な限り近くであり、また、オーディオストリームは、ビデオストリームよりも早く又は遅く切り替えられることはできない。
図3に示すように、ビデオストリームはフレームV4で切り替えられ始める。この場合、フレームV4におけるタイムスタンプがTS_vである。切替ポイントA51にあるオーディオストリーム内のパケットのタイムスタンプTS_aが、可能な限り同じ時間次元でTS_vに近い必要がある。
しかしながら、IPネットワーク装置の設計において、制作及び放送ネットワークの特性及びビデオストリーム上の処理は考慮されていない。IPネットワーク装置は、ビデオストリームをパケットで転送する。IPネットワーク装置は、転送(切替)に関してパケットに含まれるビデオストリーム内のフレーム境界を特定しておらず、時間次元でビデオストリームとオーディオストリームとを同期させていない。従って、切替装置を用いてビデオストリーム及びオーディオストリームを切り替えるとき、切替装置はオーディオストリームとビデオストリームとの間の関係を考慮していないことが分かる。マルチキャスト転送が開始/停止する時、場所はランダムである。結果として、例えばピクセル欠損、ピクセル重複、フレーム非同期、及びオーディオとビデオとの非同期などの種々の障害が、ピクチャを切り替える際に発生する。
これに基づき、この出願の実施形態は、同期切替を達成することができないという従来技術の問題を解決するための、オーディオストリーム及びビデオストリーム同期切替方法及び装置を提供する。当該方法及び装置は同じ発明概念に基づく。方法の問題解決原理は装置の問題解決原理と同様であるので、装置及び方法のどちらの実装も、相互に参照し合うことができる。繰り返しての説明はしない。
図4Aは、この出願の一実施形態に従ったオーディオストリーム及びビデオストリーム同期切替方法のフローチャートである。当該方法は、ステップS401からS405を含む。
S401: 切替装置が切替命令を受信し、該切替命令は、送信されている第1のオーディオストリームから第2のオーディオストリームに切り替えるように、及び送信されている第1のビデオストリームから第2のビデオストリームに切り替えるように指示するために使用される。
S402:切替装置が、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのビデオパラメータ値を決定し、ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。
S403:切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。
理解されるべきことには、ビデオパラメータ値がシーケンス番号のみを含む場合、ステップS403を実行する前に、切替装置は先ず、第1のビデオストリームの切替ポイントのタイムスタンプ、及び第2のビデオストリームの切替ポイントのタイムスタンプを決定する。
S404:切替装置が、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットに切り替え、且つ第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替える。
切替装置が第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し且つ第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するステップS402は、以下のように実装される。
切替装置が、第1のビデオストリーム内の第1のパケットのタイムスタンプ及び第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、第1のビデオストリームと第2のビデオストリームとの間の同期関係を決定する。第1のパケットが属するビデオストリーム内の第1のビデオフレームを受信する時間が、第2のパケットが属する第2のビデオストリーム内の第2のビデオフレームを受信する期間と重なり合う。切替装置は、同期関係及び第1のパケットのタイムスタンプに基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのタイムスタンプに基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する。ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。
なお、第1のビデオフレームを受信する期間が、第2のビデオフレームを受信する期間と重なり合うことは、第1のビデオフレームを封入したパケットを受信する期間が、第2のビデオフレームを封入したパケットを受信する期間と重なり合うことを指し示す。
例えば、第1のパケットは、第1のビデオフレーム内のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオフレーム内のフレームトレーラパケットである。第1のパケットは、第1のビデオフレーム内のi番目のパケットであり、第2のパケットは、第2のビデオフレーム内のi番目のパケットである。あるいは、第1のパケットは、第1のビデオフレーム内のフレームヘッダパケットであってもよく、第2のパケットは、第2のビデオフレーム内のフレームヘッダパケットであってもよい。この出願のこの実施形態におけるパケットは、リアルタイムトランスポートプロトコル(real-time transport protocol、RTP)パケットとし得る。
なお、ビデオ内のビデオフレームは、伝送のために複数のパケットに封入され、ビデオフレームを封入した複数のパケット内の最後のパケットが、フレームトレーラパケットと呼ばれる。この出願のこの実施形態で説明されるビデオフレームは、未圧縮のビデオフレームである。ビデオフレームは、YUV(“Y”は輝度(Luminance、Luma)を表し、“U”及び“V”は色度・濃度(Chrominance、Chroma)を表す)ビデオフレーム、又はRGB(Rは赤(red)を表し、Gは緑(green)を表し、Bは青(blue)を表す)ビデオフレームとし得る。同じビデオストリームにおける単一のビデオフレーム内のパケットの数(すなわち、ビデオストリーム内のビデオフレームを封入するためのパケットの数)は一般に同じであり、通常は数千に至る。
RTPパケットを例として用いる。コメント募集(request for comments、RFC)3550にて策定されたRTPパケットヘッダフォーマットによれば、図4Bを参照するに、RTPパケットヘッダ内のマーカ(marker、M)フィールドの値が、RTPパケットがフレームトレーラパケットであるかを指し示すために使用される。Mの値が1である場合、それは、RTPパケットがフレームトレーラパケットであることを指し示す。Mの値が0である場合には、RTPパケットがフレームトレーラパケットではないことを指し示す。通常、オーディオ内の各オーディオフレームが、伝送のためにパケットに封入される。図4Bにおいて、他のフィールドの意味は以下のように説明される。
Vはバージョンを示し、V=2はRTPバージョンを指し示す。Pはパディング識別子であり、1ビットを占める。パディングビットがセットされる場合、パケットトレーラに追加のパディングワードが含められ、該パディングワードは有効なペイロードではない。Xは拡張ビットである。PTはペイロードタイプを指し示す。Sequence numberはRTPパケットのシーケンス番号を示す。シーケンス番号は、RTPパケットが追加されるたびに1ずつ増加される。Timestampはタイムスタンプを示す。SSRC(synchronization source)は同期ソースを示す。この識別子はランダムに選択される。同じテレビ会議に参加する2つの同期ソースが同一のSSRCを持つことはできない。
ステップS405にて、切替装置は、第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替える。換言すれば、切替装置は、第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを廃棄し、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを転送する。なお、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定した後に、切替装置は、第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値以下であるパケットを受信することがあり、その部分、すなわち、第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値以下であるパケットを転送し得る。さらに、切替装置は、第2のオーディオストリームの切替ポイントのオーディオパラメータ値が決定された後に受信され且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値以下であるパケットを廃棄し得る。
同様に、切替装置は、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットに切り替える。換言すれば、切替装置は、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを廃棄し、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを転送する。なお、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定した後に、切替装置は、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値以下であるパケットを受信することがあり、その部分、すなわち、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値以下であるパケットを転送し得る。さらに、切替装置は、第2のビデオストリームの切替ポイントのビデオパラメータ値が決定された後に受信され且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値以下であるパケットを廃棄し得る。
可能な一例において、切替装置は、オーディオストリーム及びビデオストリームを、同一のポートを介して出力してもよいし、あるいは相異なるポートを介して出力してもよい。一例において、同一のポートがオーディオストリーム及びビデオストリームを出力するために使用され、且つ切替装置が、例えばポート1及びポート2といった、少なくとも2つの出力ポートを含む場合、ポート1はモニタリング装置に接続するために使用され、ポート2は下流の装置に接続するために使用される。切替が実行される前、切替装置は、ポート1を介して第1のオーディオストリーム、第2のオーディオストリーム、第1のビデオストリーム、及び第2のビデオストリームをモニタリング装置に送信するとともに、ポート2を介して第1のオーディオストリーム及び第1のビデオストリームを下流の装置に送信する。第2のオーディオストリーム及び第2のビデオストリームは、ポート2を介して転送されず、廃棄されたと見なされ得る。切替が実行された後、切替装置は、なおもポート1を介して第1のオーディオストリーム、第2のオーディオストリーム、第1のビデオストリーム、及び第2のビデオストリームをモニタリング装置に送信するとともに、ポート2を介して第2のオーディオストリーム及び第2のビデオストリームを下流の装置に転送する。第1のオーディオストリーム及び第1のビデオストリームは、もはや下流の装置には転送されず、第1のオーディオストリーム及び第1のビデオストリームは、ポート2で廃棄されると見なされ得る。他の一例において、相異なるポートがオーディオストリーム及びビデオストリームを出力するために使用され、且つ切替装置が、例えばポート1、ポート2、ポート3、及びポート4といった、少なくとも4つの出力ポートを含む場合、ポート1は、オーディオストリームを送信するために使用され、モニタリング装置に接続される。ポート2は、オーディオストリームを送信するために使用され、下流の装置に接続される。ポート3は、ビデオストリームを送信するために使用され、モニタリング装置に接続される。ポート4は、ビデオストリームを送信するために使用され、下流の装置に接続される。切替が実行される前、切替装置は、ポート1を介して第1のオーディオストリーム及び第2のオーディオストリームをモニタリング装置に送信するとともに、ポート2を介して第1のオーディオストリームを下流の装置に送信する。第2のオーディオストリームは、ポート2を介して転送されず、廃棄されると見なされ得る。切替装置は、ポート3を介して第1のビデオストリーム及び第2のビデオストリームをモニタリング装置に送信するとともに、ポート4を介して第1のビデオストリームを下流の装置に送信する。第2のビデオストリームは、ポート4を介して転送されず、廃棄されると見なされ得る。切替が実行された後、切替装置は、なおもポート1を介して第1のオーディオストリーム及び第2のオーディオストリームをモニタリング装置に送信するとともに、ポート2を介して第2のオーディオストリームを下流の装置に転送する。第1のオーディオストリームは、もはや下流の装置には転送されず、第1のオーディオストリームは、ポート2で廃棄されると見なされ得る。切替装置は、ポート3を介して第1のビデオストリーム及び第2のビデオストリームをモニタリング装置に送信するとともに、ポート4を介して第2のビデオストリームを下流の装置に転送するが、第1のビデオストリームはもはや下流の装置には転送されない。第1のビデオストリームは、ポート4で廃棄されると見なされ得る。
オプションで、切替命令は更にポート番号を搬送してもよい。ポート番号は、オーディオストリーム及びビデオストリームを切り替えて出力するポートを指し示すために使用される。
この出願のこの実施形態では、切替装置がビデオストリームとオーディオストリームとを別々に切り替えるとき、切替ポイントの決定されるオーディオパラメータ値は、切替ポイントのビデオパラメータ値と同じであることもあるし、異なることもある。例えば、切替装置がビデオストリームを切り替えるとき、ビデオパラメータ値としてタイムスタンプ及び/又はシーケンス番号が使用され得るとともに、切替装置がオーディオストリームを切替するとき、オーディオパラメータ値としてタイムスタンプ及び/又はシーケンス番号が使用され得る。8通りの組み合わせが存在する。
(1)ビデオパラメータ値はタイムスタンプであり、オーディオパラメータ値はシーケンス番号である。
(2)ビデオパラメータ値はシーケンス番号であり、オーディオパラメータ値はタイムスタンプである。
(3)ビデオパラメータ値はタイムスタンプであり、オーディオパラメータ値はタイムスタンプである。
(4)ビデオパラメータ値はシーケンス番号であり、オーディオパラメータ値はシーケンス番号である。
(5)ビデオパラメータ値はタイムスタンプ及びシーケンス番号であり、オーディオパラメータ値はタイムスタンプである。
(6)ビデオパラメータ値はタイムスタンプ及びシーケンス番号であり、オーディオパラメータ値はシーケンス番号である。
(7)ビデオパラメータ値はタイムスタンプであり、オーディオパラメータ値はタイムスタンプ及びシーケンス番号である。
(8)ビデオパラメータ値はシーケンス番号であり、オーディオパラメータ値はシーケンス番号及びタイムスタンプである。
以下、ビデオのタイムスタンプ、ビデオのシーケンス番号、オーディオのタイムスタンプ、及びオーディオのシーケンス番号を決定する手法を詳細に説明する。
例えば、ビデオパラメータ値はタイムスタンプを含む。切替装置が、同期関係及び第1のパケットのタイムスタンプに基づいて第1のビデオストリームの切替ポイントのタイムスタンプを決定し、且つ同期関係及び第2のパケットのタイムスタンプに基づいて第2のビデオストリームの切替ポイントのタイムスタンプを決定することは、以下のように実装され得る。
切替装置が、同期関係、第1のパケットのタイムスタンプ、及び第1のビデオストリームのビデオフレーム継続時間に基づいて、第1のビデオストリームの切替ポイントのタイムスタンプを決定し、且つ同期関係、第2のパケットのタイムスタンプ、及び第2のビデオストリームのビデオフレーム継続時間に基づいて、第2のビデオストリームの切替ポイントのタイムスタンプを決定する。
この出願のこの実施形態において、同期関係を決定するために使用される第1のビデオフレーム及び第2のビデオフレームのそれぞれを受信する時間は、この出願のこの実施形態において重なり合う。換言すれば、第1のビデオフレームを受信する時間と第2のビデオフレームを受信する時間とが可能な限り近くされる。
例えば、第1のパケット及び第2のパケットはどちらもフレームトレーラパケットである。切替装置は、第1のパケット及び第2のパケットとしてそれぞれ、第1のビデオストリーム及び第2のビデオストリーム内にあり、且つ切替ポイントが決定される前(例えば、切替命令が受信される前)に受信された最後からのx番目の(例えば、最後の)フレームトレーラパケットを使用することができ、ただし、xは自然数である。なお、切替命令が受信されてすぐ後に切替ポイントが決定される場合には、切替命令が受信された時が、切替ポイントが決定された時であると見なし得る。切替命令が受信され且つ第1のビデオストリーム内の少なくとも1つのフレームトレーラパケットが受信された後に、第2のビデオストリーム内の少なくとも1つのフレームトレーラパケットが受信されたときに切替ポイントが決定される場合には、第1のビデオストリーム内の該少なくとも1つのフレームトレーラパケットが受信された後に第2のビデオストリーム内の該少なくとも1つのフレームトレーラパケットが受信された時が、切替ポイントが決定された時である。例えば、切替命令が受信された後に、第1のビデオストリーム内のフレームトレーラパケットaが受信され、続いて第2のビデオストリーム内のフレームトレーラパケットbが受信され、このフレームトレーラパケットbが受信されてすぐ後に切替ポイントが決定される。フレームトレーラパケットbが受信された時が、切替ポイントが決定された時である。フレームトレーラパケットa及びフレームトレーラパケットbが、それぞれ、第1のパケット及び第2のパケットとして使用される。他の一例では、切替命令が受信された後に、第1のビデオストリーム内にあるフレームトレーラパケットc及びフレームトレーラパケットdが受信され、続いて第2のビデオストリーム内のフレームトレーラパケットeが受信され、このフレームトレーラパケットeが受信されてすぐ後に切替ポイントが決定される。フレームトレーラパケットeが受信された時が、切替ポイントが決定された時である。フレームトレーラパケットd及びフレームトレーラパケットeが、それぞれ、第1のパケット及び第2のパケットとして使用される。切替装置はまた、第1のパケット及び第2のパケットとしてそれぞれ、第1のビデオストリーム及び第2のビデオストリーム内にあり、且つ切替ポイントが受信された後に受信されたy番目の(例えば、最初の)フレームトレーラパケットを使用してもよく、ただし、yは自然数である。対応して、第1のパケット及び第2のパケットがそれぞれ属するビデオフレームが、第1のビデオフレーム及び第2のビデオフレームである。第1のビデオストリームと第2のビデオストリームとの同期ずれの度合いは、通常、1フレームを超えない。換言すれば、第1のパケットを受信する時と、第2のパケットを受信する時との間の差は、通常、1フレームの継続時間を超えない。従って、第1のビデオフレームを受信する期間は、概して、第2のビデオフレームを受信する期間と重なり合う。
具体的な実装では、以下の3つの例に示すように、第1のパケット及び第2のパケットを決定するための複数の具体的な手法が存在する。
第1の実現可能な一手法において、第1のビデオフレームは、第1のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレームである。第2のビデオフレームは、第2のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレームである。
例えば、図5に示す第1のビデオストリーム及び第2のビデオストリームを参照するに、第1のビデオフレームはA3であり、第2のビデオフレームはB3である。
換言すれば、第1のパケットは、第1のビデオストリーム内にあり且つ切替命令が受信された後に受信される最初のフレームトレーラパケットである。第1のビデオストリーム内のこの最初のフレームトレーラパケットは、第1のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレーム内のフレームトレーラパケットである。第2のパケットは、第2のビデオストリーム内にあり且つ切替命令が受信された後に受信される最初のフレームトレーラパケットである。第2のビデオストリーム内のこの最初のフレームトレーラパケットは、第2のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレーム内のフレームトレーラパケットである。
第2の実現可能な一手法において、第1のビデオフレームは、第1のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレームの、先行ビデオフレームである。第2のビデオフレームは、第2のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレームの、先行ビデオフレームである。
例えば、図5に示す第1のビデオストリーム及び第2のビデオストリームを参照するに、第1のビデオフレームはA2であり、第2のビデオフレームはB2である。
換言すれば、第1のパケットは、第1のビデオストリーム内にあり且つ切替命令が受信される前に受信された最後のフレームトレーラパケットである。第1のビデオストリーム内にあり且つ切替命令前に受信されたこの最後のフレームトレーラパケットは、第1のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレーム、の先行ビデオフレーム内の、フレームトレーラパケットである。第2のパケットは、第2のビデオストリーム内にあり且つ切替命令が受信される前に受信された最後のフレームトレーラパケットである。第2のビデオストリーム内にあり且つ切替命令前に受信されたこの最後のフレームトレーラパケットは、第2のビデオストリーム内にあり且つ切替命令が受信された時に受信されているビデオフレーム、の先行ビデオフレーム内の、フレームトレーラパケットである。
第3の実現可能な一手法において、2つのビデオストリームのビデオフレーム継続時間は、予め決定されておらず、切替命令が受信された後に決定される。第1のビデオフレームは、第1のビデオストリーム内にあり且つビデオフレーム継続時間が決定された時に受信されているビデオフレームとし得る。第2のビデオフレームは、第2のビデオストリーム内にあり且つビデオフレーム継続時間が決定された時に受信されているビデオフレームとし得る。確かなことには、他のオーディオ及びビデオ情報を更に計算する必要がある場合、例えば、他のオーディオ及びビデオ情報が、オーディオストリームのサンプリングレート、オーディオストリームのパケット継続時間、及びビデオフレームに含まれるパケットの数である場合、第1のビデオフレームは、第1のビデオストリーム内にあり且つ決定すべき全てのオーディオ及びビデオ情報が決定された時に受信されているビデオフレームとし得る。第2のビデオフレームは、第2のビデオストリーム内にあり且つ決定すべき全てのパラメータが決定された時に受信されているビデオフレームとし得る。
換言すれば、第1のパケットは、第1のビデオストリーム内にあり且つオーディオ及びビデオ情報が決定された後に受信される最初のフレームトレーラパケットである。第1のビデオストリーム内のこの最初のフレームトレーラパケットは、第1のビデオストリーム内にあり且つオーディオ及びビデオ情報が決定された時に受信されているビデオフレーム内のフレームトレーラパケットである。第2のパケットは、第2のビデオストリーム内にあり且つオーディオ及びビデオ情報が決定された後に受信される最初のフレームトレーラパケットである。第2のビデオストリーム内のこの最初のフレームトレーラパケットは、第2のビデオストリーム内にあり且つオーディオ及びビデオ情報が決定された時に受信されているビデオフレーム内のフレームトレーラパケットである。
一例において、以下、第1のビデオフレーム内の第1のパケットと第2のビデオフレーム内の第2のパケットとに基づいてこれら2つのビデオストリーム間の同期関係が決定されることを一例として説明する。例えば、第1のパケット及び第2のパケットはどちらもフレームトレーラパケットである。第1のビデオストリームと第2のビデオストリームとの間の同期関係を決定するために、第1のビデオストリーム内で選択されたフレームトレーラパケット(第1のパケット)が、第2のビデオストリーム内で選択されたフレームトレーラパケット(第2のパケット)のタイムスタンプと比較される。スイッチインビデオストリームとスイッチアウトビデオストリームとが完全に同期している可能性は低いことを考慮し、この出願のこの実施形態では、同期関係が、すなわち、基本的同期、スイッチアウトビデオストリームがスイッチインビデオストリームより後である、及びスイッチアウトビデオストリームがスイッチインビデオストリームより前である、という3つの場合に分類され得る。異なる装置同士が精度偏差を持つことを考慮すると、同じ瞬間に異なる送信装置から送信されたビデオストリームのタイムスタンプTSは偏差を持ち得る。加えて、ビデオストリームはパケットで伝送され、パケット転送におけるジッタも、幾らかの同期偏差を導入し得る。従って、2つのビデオストリーム内のフレームトレーラパケット間のタイムスタンプ偏差が第1の閾値より小さい場合には、それら2つのビデオストリームは同期していると見なす。説明を容易にするため、後続の説明では、第1の閾値を同期偏差と呼ぶ。例えば、第1の閾値は、2つのビデオストリームのビデオフレーム継続時間に基づいて決定され得る。この出願のこの実施形態において、2つのビデオストリームのビデオフレーム継続時間は同じである。例えば、両方ともTである。第1の閾値は、T/4として設定されてもよい。第1の閾値はまた、ビデオソース端のクロック同期精度に基づいて決定されてもよい。例えば、第1の閾値はまた、実際の状況に基づいて、例えばT/5又はT/10などの値として設定されてもよい。
一例において、第1のビデオストリームの切替ポイントのタイムスタンプ及び第2のビデオストリームの切替ポイントのタイムスタンプは、複数の手法で決定される。以下、実現可能な3つの手法を提供する。
第1の実現可能な一手法において、第1のビデオストリームと第2のビデオストリームとが同期している場合、第1のビデオストリーム内の第1のパケットのタイムスタンプが第1のビデオストリームの切替ポイントのタイムスタンプとして使用され得るとともに、第2のビデオストリーム内の第2のパケットのタイムスタンプが第2のビデオストリームの切替ポイントのタイムスタンプとして使用され得る。この手法は、第1のビデオフレーム及び第2のビデオフレームを選択する際に使用される第2の実現可能な手法又は第3の実現可能な方法にも適用可能である。
第2の実現可能な一手法において、第1のビデオストリームと第2のビデオストリームとが同期している場合、切替ポイントのタイムスタンプとして第1の実現可能な手法にて決定された第1のビデオストリームの切替ポイントのタイムスタンプ及び第1の実現可能な手法にて決定された第2のビデオストリームの切替ポイントのタイムスタンプの各々に、特定の遅延が付加される。この手法は、第1のパケット及び第2のパケットを決定する際に使用される第1の実現可能な手法、第2の実現可能な手法、又は第3の実現可能な方法にも適用可能である。
例えば、第1のビデオストリームと第2のビデオストリームとが同期している場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+N*T3であり、
ただし、T1は、第1のビデオストリームのビデオフレーム継続時間を表し、T2は、第2のビデオストリームのビデオフレーム継続時間を表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、FT_TS1は、第1のパケットのタイムスタンプを表し、FT_TS2は、第2のパケットのタイムスタンプを表し、Nは、0より大きい整数である。一例において、第1のビデオストリームのビデオフレーム継続時間は、第2のビデオストリームのビデオフレーム継続時間と同じとし得る。
第3の実現可能な一手法において、第1のビデオストリームと第2のビデオストリームとが同期ずれ(すなわち、非同期)である場合、切替ポイントのタイムスタンプとして第1のビデオストリーム及び/又は第2のビデオストリームに特定の遅延(例えば、同期ずれ継続時間)が付加され得る。第2のビデオストリームが第1のビデオストリームより前である場合、該特定の遅延(例えば、同期ずれ継続時間)は、切替ポイントとして第1のビデオストリームに付加される。斯くして、第1のビデオストリームが第2のビデオストリームに対して同期される。順序ずれの場合を考えると、第2のビデオストリーム及び切替ポイントとして特定の遅延が付加された第1のビデオストリームに別々に特定の遅延が付加され得る。第2のビデオストリームが第1のビデオストリームより後である場合、特定の遅延(例えば、同期ずれ継続時間)は、切替ポイントとして第2のビデオストリームに付加される。斯くして、第2のビデオストリームが第1のビデオストリームに対して同期される。順序ずれの場合を考えると、切替ポイントとして同期された第1のビデオストリーム及び同期された第2のビデオストリームに別々に特定の遅延が付加され得る。この手法は、第1のパケット及び第2のパケットを選択する際に使用される第1の実現可能な手法、第2の実現可能な手法、又は第3の実現可能な方法にも適用可能である。
例1において、第1のビデオストリームが第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+1)*T1、且つTS_sw_v2=FT_TS2+N*T2であり;又は
第1のビデオストリームが第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+1)*T2である。
例2において、第1のビデオストリームが第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+K1)*T1、且つTS_sw_v2=FT_TS2+N*T2であり、ただし、T1=T2=T、且つ
Figure 2022517587000002
であり、
Figure 2022517587000003
は、切り上げを表し、0≦L<1であり、Nは、0より大きい整数である。
一例において、スイッチインビデオストリームとスイッチアウトビデオストリームとが完全に同期している可能性は低いことを考慮すると、2つの非同期ビデオストリームの切替ポイントのタイムスタンプが決定されるときに、同期偏差が考慮され得る。例えば、Lは同期偏差係数を表す。例えば、L=T/4であり、且つ第1のビデオストリームが第2のビデオストリームより後であり、且つ第2のパケットのタイムスタンプと第1のパケットのタイムスタンプとの間の差がT/4より大きく5T/4未満である場合、K1=1である。
第1のビデオストリームが第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+K2)*T2であり、ただし、T1=T2=T、且つ
Figure 2022517587000004
である。
例えば、L=0であるとき、第1のパケットのタイムスタンプと第2のパケットのタイムスタンプとの間の差がビデオフレーム継続時間Tより小さい場合、K2=1である。
例えば、ビデオパラメータ値はシーケンス番号を含む。切替装置が、同期関係及び第1のパケットのビデオパラメータ値に基づいて第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて第2のビデオストリームの切替ポイントのビデオパラメータ値を決定することは、以下のように実装され得る。
一手法において、切替装置は、同期関係、第1のパケットのタイムスタンプ、及び第1のビデオストリームのビデオフレーム継続時間に基づいて、第1のビデオストリームの切替ポイントのタイムスタンプを決定し、そして、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のビデオストリームの切替ポイントのシーケンス番号を決定する。切替装置は、同期関係、第2のパケットのタイムスタンプ、及び第2のビデオストリームのビデオフレーム継続時間に基づいて、第2のビデオストリームの切替ポイントのタイムスタンプを決定し、そして、第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のビデオストリームの切替ポイントのシーケンス番号を決定する。例えば、これら切替ポイントのタイムスタンプが決定された後に、これら切替ポイントのシーケンス番号が、切替ポイントのタイムスタンプ、第1のパケットのシーケンス番号、及びビデオフレームに含まれるパケットの数に基づいて決定される。具体的には、これら切替ポイントと第1のパケットとの間の関係が、第1のパケットのタイムスタンプ及びこれら切替ポイントのタイムスタンプに基づいて決定され得る。例えば、第1のパケットとこれら切替ポイントの各々との間の差が1ビデオフレームである場合、ビデオフレームに含まれるパケットの数を第1のパケットのシーケンス番号に加算することで、切替ポイントのシーケンス番号が得られる。
他の一手法において、切替装置は、同期関係、第1のパケットのシーケンス番号、及び第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第1のビデオストリームの切替ポイントのシーケンス番号を決定し、且つ同期関係、第2のパケットのシーケンス番号、及び第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第2のビデオストリームの切替ポイントのシーケンス番号を決定する。
例えば、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、又は、第1のビデオストリームにおけるビデオフレーム内のパケットの数は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され、第2のビデオストリームにおけるビデオフレーム内のパケットの数は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される。第1のビデオストリームにおけるビデオフレーム内のパケットの数が第2のビデオストリームにおけるビデオフレーム内のパケットの数と等しい場合、第1のビデオストリームにおけるビデオフレーム内のパケットの数のみ、又は第2のビデオストリームにおけるビデオフレーム内のパケットの数のみを決定してもよい。
一例において、切替装置が、同期関係、第1のパケットのシーケンス番号、及び第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第1のビデオストリームの切替ポイントのシーケンス番号を決定し、且つ同期関係、第2のパケットのシーケンス番号、及び第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、第2のビデオストリームの切替ポイントのシーケンス番号を決定することは、複数の手法にて実装され得る。以下、3つの実現可能な手法を提供する。
第1の実現可能な手法において、第1のビデオストリームと第2のビデオストリームとが同期している場合、第1のビデオストリーム内の第1のパケットのシーケンス番号が第1のビデオストリームの切替ポイントのシーケンス番号として使用され得るとともに、第2のビデオストリーム内の第2のパケットのシーケンス番号が第2のビデオストリームの切替ポイントのシーケンス番号として使用され得る。この手法は、第1のビデオフレーム及び第2のビデオフレームを選択する際に使用される第2の実現可能な手法又は第3の実現可能な方法にも適用可能である。
第2の実現可能な一手法において、第1のビデオストリームと第2のビデオストリームとが同期している場合、切替ポイントのシーケンス番号として第1の実現可能な手法にて決定された第1のビデオストリームの切替ポイントのシーケンス番号及び第1の実現可能な手法にて決定された第2のビデオストリームの切替ポイントのシーケンス番号の各々に、特定のパケット数が付加される。この手法は、第1のパケット及び第2のパケットを選択する際に使用される第1の実現可能な手法、第2の実現可能な手法、又は第3の実現可能な方法にも適用可能である。
例えば、第1のビデオストリームと第2のビデオストリームとが同期している場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+N*M2であり、
ただし、M1は、第1のビデオフレームに含まれるパケットの数を表し、M2は、第2のビデオフレームに含まれるパケットの数を表し、SN_sw_v1は、第1のビデオストリームの切替ポイントのシーケンス番号を表し、SN_sw_v2は、第2のビデオストリームの切替ポイントのシーケンス番号を表し、FT_SN1は、第1のパケットのシーケンス番号を表し、FT_SN2は、第2のパケットのシーケンス番号を表し、Nは、0より大きい整数である。例えば、第1のビデオストリームのビデオフレームに含まれるパケットの数は、第2のビデオストリームのビデオフレームに含まれるパケットの数と同じである。換言すれば、M1=M2である。
第3の実現可能な一手法において、第1のビデオストリームと第2のビデオストリームとが同期ずれ(すなわち、非同期)である場合、切替ポイントとして第1のビデオストリーム及び/又は第2のビデオストリームに特定のパケット数が付加され得る。第2のビデオストリームが第1のビデオストリームより前である場合、該特定のパケット数は、切替ポイントとして第1のビデオストリームに付加される。斯くして、第1のビデオストリームが第2のビデオストリームに対して同期される。順序ずれの場合を考えると、第2のビデオストリーム及び切替ポイントとして特定のパケット数が付加された第1のビデオストリームに別々に特定のパケット数が付加され得る。第2のビデオストリームが第1のビデオストリームより後である場合、特定のパケット数は、切替ポイントとして第2のビデオストリームに付加される。斯くして、第2のビデオストリームが第1のビデオストリームに対して同期される。順序ずれの場合を考えると、切替ポイントとして同期された第1のビデオストリーム及び同期された第2のビデオストリームに別々に特定のパケット数が付加され得る。この手法は、第1のビデオフレーム及び第2のビデオフレームを選択する際に使用される第1の実現可能な手法、第2の実現可能な手法、又は第3の実現可能な方法にも適用可能である。
例えば、第1のビデオストリームの切替ポイントのシーケンス番号及び第2のビデオストリームの切替ポイントのシーケンス番号は、以下の条件を満たす。
例1において、第1のビデオストリームが第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+1)*M1、且つSN_sw_v2=FT_SN2+N*M2であり;又は
第1のビデオストリームが第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+1)*M2である。
例2において、第1のビデオストリームが第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+K1)*M1、且つSN_sw_v2=FT_SN2+N*M2であり;又は
第1のビデオストリームが第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+K2)*M2であり、ただし、
Figure 2022517587000005
であり、且つ
Figure 2022517587000006
であり、
Figure 2022517587000007
は、切り上げを表し、Tは、第1のビデオストリームのビデオフレーム継続時間又は第2のビデオストリームのビデオフレーム継続時間を表し、0≦L<1であり、FT_TS1は、第1のパケットのタイムスタンプを表し、FT_TS2は、第2のパケットのタイムスタンプを表す。
一例において、切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するとき、オーディオパラメータ値はタイムスタンプとし得る。換言すれば、オーディオストリームの切替ポイントが決定されるとき、オーディオストリームの切替ポイントのタイムスタンプが、ビデオストリームの切替ポイントのタイムスタンプに基づいて決定される。具体的には、切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて第2のオーディオストリームの切替ポイントのタイムスタンプを決定することは、以下のように実装され得る。
切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプ、第1のビデオストリームのビデオフレーム継続時間、第1のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定する。切替装置が、第2のビデオストリームの切替ポイントのタイムスタンプ、第2のビデオストリームのビデオフレーム継続時間、第2のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定する。
例えば、第1のオーディオストリームの切替ポイントのタイムスタンプ、及び第2のオーディオストリームの切替ポイントのタイムスタンプは、以下の条件:
TS_sw_a1=(TS_sw_v1+T-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a;及び
TS_sw_a2=(TS_sw_v2+T-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a
を満たし、
ただし、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v1は、第1のビデオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、第2のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_v2は、第2のビデオストリームの切替ポイントのタイムスタンプを表し、Tは、第1のビデオストリームのビデオフレーム継続時間、又は第2のビデオストリームのビデオフレーム継続時間を表し、第1のビデオストリームのビデオフレーム継続時間と第2のビデオストリームのビデオフレーム継続時間とが同じであり、TS_ref_vは、第1の時点を基準として用いることによって決定されるビデオストリームの基準タイムスタンプを表し、TS_ref_aは、第1の時点を基準として用いることによって決定されるオーディオストリームの基準タイムスタンプを表し、第1の時点は、切替装置上の任意の過去の時点であり、frequency_a1は、第1のオーディオストリームのサンプリングレートであり、frequency_a2は、第2のオーディオストリームのサンプリングレートであり、frequency_v1は、第1のビデオストリームのクロック周波数であり、frequency_v2は、第2のビデオストリームのクロック周波数である。一例において、この出願のこの実施形態において、第1のビデオストリームのクロック周波数は、第2のビデオストリームのクロック周波数と同じ又は略等しいとすることができ、また、第1のオーディオストリームのサンプリングレートは、第2のオーディオストリームのサンプリングレートと同じ又は略等しいとすることができる。
切替装置上の任意の過去の時点が、過去の時点からSMPTEによって指定される注目すべき時点までの秒数を示す。例えば、切替装置上の任意の過去の時点は、切替ポイントのタイムスタンプが決定された時の装置の現在時刻、又は切替ポイントのタイムスタンプが決定される前に装置によって経られた任意の時刻とし得る。
例えば、オーディオストリームの基準タイムスタンプ及びビデオストリームの基準タイムスタンプが決定されるとき、切替ポイントのタイムスタンプが決定された時の装置の現在時刻が最初の時点として使用される。換言すれば、切替ポイントのタイムスタンプが決定された時の装置の現在時刻が、オーディオストリームの基準タイムスタンプ及びビデオストリームの基準タイムスタンプを決定するための最初の時点として使用され得る。
例えば、装置の現在時刻curtimeが取得され、ビデオストリームの基準タイムスタンプTS_ref_vと及びオーディオストリームの基準タイムスタンプTS_ref_aが、curtimeに基づいて:
TS_ref_v=(curtime*frequency_v)mod(2^32)、及び
TS_ref_a=(curtime*frequency_a)mod(2^32)
と計算され、ただし、
装置の現在時刻は、現在時刻からSMPTEによって指定される注目すべき時点までの秒数とすることができ、32は、タイムスタンプによって占有されるビット数を表し、確かなことには、このビット数は別の値であってもよく、32は単なる一例である。
また、オーディオストリームのサンプリングレートが未知である場合、オーディオストリーム内の2つの隣接し合うパケット間のタイムスタンプ差を知ることで、サンプリングレートを推定し得る。第1のオーディオストリームのサンプリングレートが、第1のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプ及びシーケンス番号に基づいて決定され、あるいは、第2のオーディオストリームのサンプリングレートが、第2のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプ及びシーケンス番号に基づいて決定される。確かなことには、第1のオーディオストリームのサンプリングレートが第2のオーディオストリームのサンプリングレートと同じである場合、第1のオーディオストリームのサンプリングレート及び第2のオーディオストリームのサンプリングレートのうちの一方のみが決定されてもよい。
さらに、2つのパケット間のタイムスタンプ差を決定することの正確さを向上させるために、隣接し合うパケットの複数のグループの間でのタイムスタンプ差の平均値を見積もることで、サンプリングレートを推定してもよい。
表1は、例えば、SMPTE2110に規定される3つのサンプリングレート44.1kHz、48kHz、及び96kを示すとともに、パケット継続時間が125μs及び1msであってシーケンス番号が隣り合う2つのパケット間のタイムスタンプ差の理論値を示している。
Figure 2022517587000008
2つの隣接し合うパケット間のタイムスタンプ差avgTSは、任意の2つのパケット間のタイムスタンプ差Tと、それら2つのパケット間のシーケンス番号差Mとを用いることによって:
avgTS=T/M
と計算され得る。
任意の2つのパケット間のタイムスタンプ差avgTSを用いてサンプリングレートを推定する場合、以下の手法が実装に使用され得る。
avgTS<Aである場合、frequency_a=44.1kHz。例えば、Aの値は、6以下で5.5より大きい数とし得る。例えば、Aの値は6である。
avgTS≧A且つavgTS<Bである場合、frequency_a=48kHz。例えば、Bの値は、12より小さくて6より大きい数とし得る。例えば、Bの値は9である。
avgTS≧B且つavgTS<Cである場合、frequency_a=96kHz。例えば、Cの値は、44より小さくて12より大きい数とし得る。例えば、Cの値は15である。
avgTS≧D且つavgTS<Eである場合、frequency_a=44.1kHz。例えば、Dの値は、C以上で44.1より小さい数とし得る。例えば、Dの値は40である。Eの値は、48以下で44.1より大きい数とし得る。例えば、Eの値は46である。
avgTS≧E且つavgTS<Fである場合、frequency_a=48kHz。例えば、Fの値は、96以下で48より大きい数とし得る。例えば、Fの値は50である。
avgTS≧F且つavgTS<Gである場合、frequency_a=96kHz。例えば、Gの値は、96より大きい数とし得る。例えば、Gの値は120である。
また、avgTSが上述の条件のいずれをも満たさない場合には、サンプリングレートは、デフォルトでプリセットされたサンプリングレートとし得る。プリセットされるサンプリングレートは、上述の44.1kHz、48kHz、及び96kHzのうちの1つであり、例えば、48kHzである。
可能な一例において、オーディオストリームが切り替えられ、使用されるオーディオパラメータ値がシーケンス番号を含む場合、オーディオストリームの切替ポイントのシーケンス番号が、オーディオストリームの切替ポイントのタイムスタンプに基づいて決定され得る。具体的には、切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定し、第1のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのシーケンス番号を決定し、且つ第2のビデオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのタイムスタンプを決定し、第2のオーディオストリームの切替ポイントのタイムスタンプに基づいて、第2のオーディオストリームの切替ポイントのシーケンス番号を決定する。
例えば、第1のオーディオストリームの切替ポイントのシーケンス番号、及び第2のオーディオストリームの切替ポイントのシーケンス番号は、以下の条件:
SN_sw_a1=SN1+(TS_sw_a1-TS1)/AvgTS1;及び
SN_sw_a2=SN2+(TS_sw_a2-TS2)/AvgTS2
を満たし、
ただし、AvgTS1=packetTime1*frequency_a1、AvgTS2=packetTime2*frequency_a2であり、packetTime1は、第1のオーディオストリームのパケット継続時間であり、packetTime2は、第2のオーディオストリームのパケット継続時間であり、frequency_a1は、第1のオーディオストリームのサンプリングレートを表し、frequency_a2は、第2のオーディオストリームのサンプリングレートを表し、TS_sw_a1は、第1のオーディオストリームの切替ポイントのタイムスタンプを表し、TS_sw_a2は、第2のオーディオストリームの切替ポイントのタイムスタンプを表し、SN_sw_a1は、第1のオーディオストリームの切替ポイントのシーケンス番号を表し、SN_sw_a2は、第2のオーディオストリームの切替ポイントのシーケンス番号を表し、SN1は、第1のオーディオストリームの第3のパケットのシーケンス番号を表し、TS1は、第3のパケットのタイムスタンプを表し、SN2は、第2のオーディオストリーム内の第4のパケットのシーケンス番号を表し、TS2は、第4のパケットのタイムスタンプを表し、第3のパケットは、第1のオーディオストリーム内の任意の受信パケットであり、第4のパケットは、第2のオーディオストリーム内の任意の受信パケットである。
例えば、オーディオストリームのパケット継続時間が、隣接し合うパケット間のタイムスタンプ差に基づいて決定され得る。例1において、表1から分かることには、125μs及び1msの各々に対応する2つのパケットのタイムスタンプ差の間の理論値差は比較的自明である。従って、閾値dTSthresを設定し得る。実際に計算された受信パケットタイムスタンプ差avgTSをdTSthresと比較することによって得られる結果に基づいて、パケット時間が125μs又は1msとして決定され得る。例えば、avgTS<dTSthresである場合、オーディオストリームのパケット継続時間は第1の値であり、例えば、tpacket=125usである。avgTS≧dTSthresである場合には、オーディオストリームのパケット継続時間は第2の値であり、例えばtpacket=1msである。例えば、12より大きくて44.1より小さい数が、dTSthresの値であるように選択され得る。パケット継続時間を比較的良好に決定するため、例えば25といった、12と44.1との間の値が選択され得る。例2では、オーディオストリームのサンプリングレートが決定されるとき、決定されたサンプリングレートに基づいてパケット継続時間が決定される。例えば、決定されたサンプリングレートが5.5、6、又は12である場合、パケット継続時間は125μsである。決定されたサンプリングレートが44.1、48、又は96である場合、パケット継続時間は1msである。
さらに、この出願のこの実施形態において、オーディオストリームのパケット継続時間及び/又はオーディオストリームのサンプリングレートは、切替装置のために予め設定されてもよく、あるいは、受信パケットに基づいて切替装置によって予め決定されてもよい。オーディオストリーム内にあって、パケット継続時間及び/又はサンプリングレートを決定するために使用されるパケットは、切替命令が受信される前に受信されたものであってもよいし、切替命令が受信された後に受信されるものであってもよい。説明を容易にするため、以下では、オーディオストリームのパケット継続時間及び/又はオーディオストリームのサンプリングレートを併せて、オーディオストリーム情報と総称する。以下では、説明のために2つの可能な例を用いる。例えば、パケット継続時間及び/又はサンプリングレートを決定するために使用されるパケットは、2つのパケットである。第1のオーディオストリームのパケット継続時間及びサンプリングレートは、第2のオーディオストリームのものと等しい。従って、オーディオストリームのパケット継続時間及び/又はサンプリングレートを決定するために、第1のオーディオストリーム又は第2のオーディオストリームのいずれのパケットを選択してもよい。後続の説明では、第1のオーディオストリームの2つのパケットを用いてパケットの継続時間及びサンプリングレートを決定するものを、例として使用する。
例1において、2つのパケットは、第1のオーディオストリームにあり且つ切替命令が受信された後に受信される最初の2つのパケットとし得る。
例2において、2つのパケットは、第1のオーディオストリームにあり且つ切替命令が受信される前に受信された2つのパケットとし得る。
さらに、この出願のこの実施形態において、ビデオストリームのビデオフレーム継続時間及びビデオフレームに含まれるパケットの数は、切替装置のために予め設定されてもよく、あるいは、ビデオストリーム内の2つの受信した隣接し合うフレームトレーラパケット又はビデオストリーム内の2つの受信した隣接し合うフレームヘッダパケットに基づいて切替装置によって決定されてもよい。説明を容易にするため、以下では、ビデオストリームのビデオフレーム継続時間及びビデオフレームに含まれるパケットの数を併せて、ビデオストリーム情報と総称する。一手法において、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され得る。第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定される。換言すれば、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のタイムスタンプ差に基づいて決定され得る。第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの受信隣接フレームトレーラパケットのタイムスタンプに基づいて決定され得る。第1のビデオストリーム内のビデオフレームに含まれるパケットの数は、第1のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され得る。第2のビデオストリーム内のビデオフレームに含まれるパケットの数は、第2のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定される。換言すれば、第1のビデオストリーム内のビデオフレームに含まれるパケットの数は、第1のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のシーケンス番号差に基づいて決定され得る。第2のビデオストリーム内のビデオフレームに含まれるパケットの数は、第2のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のシーケンス番号差に基づいて決定される。
他の一手法において、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される。第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される。第1のビデオストリーム内のビデオフレームに含まれるパケットの数は、第1のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され得る。第2のビデオストリーム内のビデオフレームに含まれるパケットの数は、第2のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される。
一例において、第1のビデオストリームのビデオフレーム継続時間及び第1のビデオストリームのビデオフレームに含まれるパケットの数が、第2のビデオストリームのビデオフレーム継続時間及び第2のビデオストリームのビデオフレームに含まれるパケットの数と同じであり、且つビデオフレーム継続時間及びビデオフレームに含まれるパケットの数が決定される場合、ビデオストリームのビデオフレーム継続時間を決定するために、第1のビデオストリーム及び第2のビデオストリームの一方を選択してもよい。
例3において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第1のビデオストリーム内の2つのビデオフレームである。第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信される前に受信された第2のビデオストリーム内の2つのビデオフレームである。換言すれば、ビデオストリームのビデオフレーム継続時間及びビデオストリーム内のビデオフレームに含まれるパケットの数は、切替命令が受信される前に計算される。
例4において、第1のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第1のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームである。第2のビデオストリーム内の2つの隣接し合うビデオフレームは、切替命令が受信された時に受信されていた第2のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームである。換言すれば、ビデオストリームのビデオフレーム継続時間及びビデオストリーム内のビデオフレームに含まれるパケットの数は、切替命令が受信された時に計算され始める。
この出願のこの実施形態において、第1のシナリオでは、オーディオストリーム情報が切替装置のために予め設定され、ビデオストリーム情報も切替装置のために予め設定される。第1のパケット及び第2のパケットは、第1の実現可能な手法又は第2の実現可能な手法を用いて決定され得る。具体的には、例えば、第1のパケット及び第2のパケットはどちらもフレームトレーラパケットである。第1のパケットは、第1のビデオストリーム内にあり且つ切替命令が受信された後に受信される最初のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つ切替命令が受信された後に受信される最初のフレームトレーラパケットとすることができる。あるいは、第1のパケットは、第1のビデオストリーム内にあり且つ切替命令が受信される前に受信された最後のフレームトレーラパケットであり、第2のパケットは、第2のビデオストリーム内にあり且つ切替命令が受信される前に受信された最後のフレームトレーラパケットである。
第2のシナリオでは、オーディオストリーム情報は切替装置のために予め設定されるが、ビデオストリーム情報は切替装置のために予め設定されたりしない。例3にて説明した2つの隣接し合うビデオフレームを用いてビデオストリーム情報を決定する場合、第1の実現可能な手法又は第2の実現可能な手法を用いて、第1のパケット及び第2のパケットを決定し得る。例4にて説明した2つの隣接し合うビデオフレームを用いてビデオストリーム情報を決定する場合、第3の実現可能な手法を用いて、第1のパケット及び第2のパケットを選択し得る。具体的には、第1のパケットは、第1のビデオストリーム内にあり且つビデオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つビデオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができる。あるいは、第1のパケットは、第1のビデオストリーム内にあり且つビデオストリーム情報が決定される前に受信された最後のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つビデオストリーム情報が決定される前に受信された最後のフレームトレーラパケットとすることができる。
第3のシナリオでは、ビデオストリーム情報は切替装置のために予め設定されるが、オーディオストリーム情報は切替装置のために予め設定されたりしない。例2にて説明した2つのパケットを用いてオーディオストリーム情報を決定する場合、第1の実現可能な手法又は第2の実現可能な手法を用いて、第1のパケット及び第2のパケットを選択し得る。例1にて説明した2つのパケットを用いてオーディオストリーム情報を決定する場合、第3の実現可能な手法を用いて、第1のパケット及び第2のパケットを決定し得る。具体的には、第1のパケットは、第1のビデオストリーム内にあり且つオーディオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つオーディオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができる。あるいは、第1のパケットは、第1のビデオストリーム内にあり且つオーディオストリーム情報が決定される前に受信された最後のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つオーディオストリーム情報が決定される前に受信された最後のフレームトレーラパケットとすることができる。
第4のシナリオでは、ビデオストリーム情報は切替装置のために予め設定されたりせず、オーディオストリーム情報も切替装置のために予め設定されたりしない。例2にて説明した2つのパケットを用いてオーディオストリーム情報を決定し、且つ例3にて説明した2つの隣接し合うビデオフレームを用いてビデオストリーム情報を決定する場合、第1の実現可能な手法又は第2の実現可能な手法を用いて、第1のパケット及び第2のパケットを選択し得る。第4のシナリオにおいて、例えば、例2と例4、例1と例3、又は例1と例4といった、他の例が用いられる場合には、第3の実現可能な手法を用いて、第1のパケット及び第2のパケットを決定し得る。例えば、例1と例4が用いられる。第1のパケットは、第1のビデオストリーム内にあり且つオーディオストリーム情報及びビデオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができ、第2のパケットは、第2のビデオストリーム内にあり且つオーディオストリーム情報及びビデオストリーム情報が決定された後に受信される最初のフレームトレーラパケットとすることができる。
以下では、ビデオストリームが、ビデオストリームのタイムスタンプ及びビデオストリームのシーケンス番号に基づいて切り替えられる例を使用する。切替装置が、第1のビデオストリーム内にあり且つそのビデオパラメータ値が第1のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットを、第2のビデオストリーム内にあり且つそのビデオパラメータ値が第2のビデオストリームの切替ポイントのビデオパラメータ値よりも大きいパケットに切り替えることは、具体的に以下のように実装される。
スイッチアウトビデオストリーム(第1のビデオストリーム)に対して:
1. 第1のビデオストリーム内のパケットが到着したとき、現在パケットのRTPタイムスタンプRTP.TS1及び現在パケットのRTPシーケンス番号RTP.SN1を取得する。
2. 現在パケットのRTP.TS1を第1のビデオストリームの切替ポイントのタイムスタンプSW_TS1と比較し、RTP.TS1とSW_TS1との間の差diff_TS1=|RTP.TS1-SW_TS1|を計算する。
3. diff_TS1が閾値threshold_TS1よりも大きい場合、それは、現在パケットが切替ポイントから遠く離れていることを指し示す。RTP.TS1がSW_TS1以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に転送されることを指し示す。RTP.TS1がSW_TS1よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に廃棄されることを指し示す。閾値threshold_TS1は0以上であり、ビデオフレーム継続時間より小さい。
4. diff_TS1が閾値threshold_TS1以下である場合、それは、現在パケットが切替ポイントに近いことを指し示し、現在パケットのRTP.S1が、切替ポイントのSW_SN1と連続して比較される。RTP.SN1がSW_SN1よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に廃棄されることを指し示す。RTP.SN1がSW_SN1以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に転送されることを指し示す。
なお、閾値threshold_TS1は、切替装置によって許容され得るタイムスタンプ誤差に基づいて決定され得る。例えば、2つの隣接し合うビデオフレーム間のタイムスタンプ差がT(すなわち、ビデオフレーム継続時間)で固定である場合、閾値threshold_TS1は0に設定されてもよい。他の一例では、2つの隣接し合うビデオフレーム間のタイムスタンプ差の全てがTであるわけではなく、偏差が存在し得る。例えば、切替装置によって許容され得る偏差がT/4である場合、閾値threshold_TS1はT/4に設定され得る。
スイッチインビデオストリーム(第2のビデオストリーム)に対して:
1. 第2のビデオストリーム内のパケットが到着したとき、現在パケットのRTPタイムスタンプRTP.TS2及び現在パケットのRTPシーケンス番号RTP.SN2を取得する。
2. 現在パケットのRTP.TS2を第2のビデオストリームの切替ポイントのタイムスタンプSW_TS2と比較し、RTP.TS2とSW_TS2との間の差diff_TS2=|RTP.TS2-SW_TS2|を計算する。
3. diff_TS2が閾値threshold_TS1よりも大きい場合、それは、現在パケットが切替ポイントから遠く離れていることを指し示す。RTP.TS2がSW_TS2以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に廃棄されることを指し示す。RTP.TS2がSW_TS2よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に転送されることを指し示す。
4. diff_TS2が閾値threshold_TS1以下である場合、それは、現在パケットが切替ポイントに近いことを指し示し、現在パケットのRTP.S2が、切替ポイントのSW_SN2と連続して比較される。RTP.SN2がSW_SN2よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に転送されることを指し示す。RTP.SN2がSW_SN2以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に廃棄されることを指し示す。
可能な一実装において、ビデオストリームが切り替えられるとき、タイムスタンプ、シーケンス番号、又はタイムスタンプ若しくはシーケンス番号に基づいてビデオストリームを切り替えることを決定するために、切替装置によって許容され得るタイムスタンプ誤差を使用することができる。例えば、同じビデオストリーム内の2つの隣接し合うビデオフレーム間のタイムスタンプ差は、T(すなわち、ビデオフレーム継続時間)で固定である。この場合、ビデオストリームは、タイムスタンプに基づいて切り替えられ得る。具体的には、パケットのタイムスタンプが、切替ポイントのタイムスタンプと比較される。スイッチインビデオストリームについて、パケットのタイムスタンプが切替ポイントのタイムスタンプよりも大きい場合、そのパケットは転送される。パケットのタイムスタンプが切替ポイントのタイムスタンプ以下である場合には、そのパケットは廃棄される。この場合、ビデオストリームは、シーケンス番号に基づいて切り替えられ得る。具体的には、パケットのシーケンス番号が、切替ポイントのシーケンス番号と比較される。スイッチインビデオストリームについて、パケットのシーケンス番号が切替ポイントのシーケンス番号よりも大きい場合、そのパケットは転送され、パケットのシーケンス番号が切替ポイントのシーケンス番号以下である場合には、そのパケットは廃棄される。他の一例では、2つの隣接し合うビデオフレーム間のタイムスタンプ差の全てがTであるわけではなく、偏差が存在し得る。ビデオストリームは、シーケンス番号に基づいて切り替えられてもよいし、あるいは、ビデオストリームは、タイムスタンプ及びシーケンス番号に基づいて切り替えられてもよい。タイムスタンプ及びシーケンス番号に基づいてビデオストリームを切り替える具体的な手法は上述されており、詳細をここで再び説明することはしない。
以下では、オーディオストリームが、オーディオストリームのタイムスタンプに基づいて切り替えられる例を使用する。切替装置が、第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が第1のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットを、第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が第2のオーディオストリームの切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替えることは、具体的に以下のように実装される。
1. 第1のオーディオストリーム内のパケットが到着したとき、現在パケットのRTPタイムスタンプRTP.TS3及び現在パケットのRTPシーケンス番号RTP.SN3を取得する。
2. 現在パケットのRTP.TS3を第1のオーディオストリームの切替ポイントのタイムスタンプSW_TS3と比較し、RTP.TS3とSW_TS3との間の差diff_TS3=|RTP.TS3-SW_TS3|を計算する。
3. diff_TS3が閾値threshold_TS2よりも大きい場合、それは、現在パケットが切替ポイントから遠く離れていることを指し示す。RTP.TS3がSW_TS3以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に転送されることを指し示す。RTP.TS3がSW_TS3よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に廃棄されることを指し示す。閾値threshold_TS2は0以上であり、パケット継続時間より小さい。
4. diff_TS3が閾値threshold_TS2以下であり、且つRTP.TS3がSW_TS3以下である場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に廃棄されることを指し示す。RTP.TS3がSW_TS3よりも大きい場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に転送されることを指し示す。
スイッチインオーディオストリーム(第2のオーディオストリーム)に対して:
1. 第2のオーディオストリーム内のパケットが到着したとき、現在パケットのRTPタイムスタンプRTP.TS4及び現在パケットのRTPシーケンス番号RTP.SN4を取得する。
2. 現在パケットのRTP.TS4を第2のオーディオストリームの切替ポイントのタイムスタンプSW_TS4と比較し、RTP.TS4とSW_TS4との間の差diff_TS4=|RTP.TS4-SW_TS4|を計算する。
3. diff_TS4が閾値threshold_TS2よりも大きい場合、それは、現在パケットが切替ポイントから遠く離れていることを指し示す。RTP.TS4がSW_TS4以下である場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に転送されることを指し示す。RTP.TS4がSW_TS4よりも大きい場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に廃棄されることを指し示す。
4. diff_TS4が閾値threshold_TS2以下であり、且つRTP.TS4がSW_TS4以下である場合、それは、現在パケットが切替ポイントより後のパケットであり、それ故に転送されることを指し示す。RTP.TS4がSW_TS4よりも大きい場合、それは、現在パケットが切替ポイントより前のパケットであり、それ故に廃棄されることを指し示す。
以下、特定の適用シナリオを参照して、この出願の実施形態を詳細に説明する。
ここでは、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームがどちらもSMPTE2110標準に準拠しており、且つオーディオストリーム及びビデオストリームに含まれるパケットがRTPパケットである例を使用する。
最初に、2つのオーディオストリームが切り替えられ、且つ2つのビデオストリームが切り替えられる例を使用する。図6は、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームを示している。図6において、オーディオストリーム1は、スイッチアウトオーディオストリームである。オーディオストリーム2は、スイッチインオーディオストリームである。ビデオストリーム1は、スイッチアウトビデオストリームである。ビデオストリーム2は、スイッチインビデオストリームである。
この出願のこの実施形態において、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームに対して別々に切替サブテーブルが確立されて、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームの切替状態、最新のパケット情報、及びこれらに類するものを記録する。従って、2つのビデオストリームに対応する切替サブテーブルが、第1のビデオストリームの切替ポイントのパラメータ値を決定するために使用される第1のパケットと、第1のビデオストリームの切替ポイントのパラメータ値を決定するために使用される第2のパケットとを決定するために使用される。説明を簡単にするため、オーディオストリーム及びビデオストリームを併せて、以下ではメディアストリームと総称する。
表2を参照し、切替サブテーブルを一例として使用する。
Figure 2022517587000009
この切替サブテーブルに含まれるフィールドは、以下のように説明される。
出力ポート:出力ポートは、メディアストリームが切替装置から出力されるポートを示す。理解されるべきことには、同一のポートから出力されるメディアストリームのクリーンな切替が実装され得る。
ストリーム状態:ストリーム状態は、メディアストリームの現在状態を示す。メディアストリームの現在状態は、通常転送ストリーム、通常廃棄ストリーム、スイッチインストリーム、又はスイッチアウトストリームとし得る。
ストリームタイプ:ストリームタイプはメディアタイプを示し、ビデオストリーム及びオーディオストリームを含む。
パケットのタイムスタンプ差:ストリームタイプがビデオストリームである場合、パケットのタイムスタンプ差は、ビデオストリームにおける2つの隣接し合うビデオフレーム内のフレームトレーラパケット間のRTPタイムスタンプ差を記録するために使用される。ストリームタイプがオーディオストリームである場合、パケットのタイムスタンプ差は、オーディオストリーム内の2つの隣接し合うパケット間のRTPタイムスタンプ差を記録するために使用される。
パケットのシーケンス番号差:ストリームタイプがビデオストリームである場合、パケットのシーケンス番号差は、ビデオストリームにおける2つの隣接し合うビデオフレーム内のフレームトレーラパケット間のRTPシーケンス番号差を記録するために使用される。ストリームタイプがオーディオストリームである場合、パケットのシーケンス番号差は、オーディオストリーム内の2つの隣接し合うパケット間のRTPシーケンス番号差を記録するために使用される。
パケットのタイムスタンプ:ストリームタイプがビデオストリームである場合、パケットのタイムスタンプは、ビデオストリーム内のフレームトレーラパケットのRTPタイムスタンプを記録するために使用される。ストリームタイプがオーディオストリームである場合、パケットのタイムスタンプは、オーディオストリーム内のパケットのRTPタイムスタンプを記録するために使用される。
パケットのシーケンス番号:ストリームタイプがビデオストリームである場合、パケットのシーケンス番号は、ビデオストリーム内のフレームトレーラパケットのRTPシーケンス番号を記録するために使用される。ストリームタイプがオーディオストリームである場合、パケットのシーケンス番号は、オーディオストリーム内のパケットのRTPシーケンス番号を記録するために使用される。
切替ポイントのタイムスタンプ:切替ポイントのタイムスタンプは、決定された切替ポイントにあるRTPパケットのタイムスタンプを示す。
切替ポイントのシーケンス番号:切替ポイントのシーケンス番号は、決定された切替ポイントにあるRTPパケットのシーケンス番号を示す。
また、この出願のこの実施形態では、オーディオ及びビデオ同期切替を実装するために、さらに、オーディオ切替概要テーブル及びビデオ切替概要テーブルを確立し得る。切替概要テーブルは、メディアストリームの切替準備に関する情報であって切替に使用される情報を記録するために使用される。
表3を参照し、切替概要テーブルを一例として使用する。
Figure 2022517587000010
この切替概要テーブルに含まれるフィールドは、以下のように説明される。
スイッチインストリーム内の最新パケットのタイムスタンプ:スイッチインストリーム内の最新パケットのタイムスタンプは、全てのスイッチインビデオストリームの切替サブテーブルに記録された最新パケットのタイムスタンプに等しい。
スイッチアウトビデオストリーム内の最新パケットのタイムスタンプ:スイッチアウトビデオストリーム内の最新パケットのタイムスタンプは、全てのスイッチアウトビデオストリームの切替サブテーブルに記録された最新パケットのタイムスタンプに等しい。
スイッチインストリームのビットマップ:スイッチインストリームのビットマップは、切替準備に関するスイッチインメディアストリームについてのビットマップ情報である。4つのスイッチインメディアストリーム(2つのビデオストリームと2つのオーディオストリーム)が存在する場合、ビットマップは4ビットとなり得る。各ビットが、1ピースのメディアストリーム情報を表す。“1”は、対応するメディアストリームが切替準備できていることを指し示し、“0”は、対応するメディアストリームが切替準備できていないことを指し示す。
スイッチアウトビデオストリームのビットマップ:スイッチアウトビデオストリームのビットマップは、切替準備に関するスイッチアウトメディアストリームについてのビットマップ情報である。4つのスイッチアウトメディアストリームが存在する場合、ビットマップは4ビットとなり得る。各ビットが、1ピースのメディアストリーム情報を表す。“1”は、対応するメディアストリームが切替準備できていることを指し示し、“0”は、対応するメディアストリームが切替準備できていないことを指し示す。
スイッチインストリームの切替ポイントのタイムスタンプ:スイッチインストリームの切替ポイントのタイムスタンプは、スイッチインビデオストリームの切替ポイントのタイムスタンプを示す。
スイッチアウトビデオストリームの切替ポイントのタイムスタンプ:スイッチアウトビデオストリームの切替ポイントのタイムスタンプは、スイッチアウトビデオストリームの切替ポイントのタイムスタンプを示す。
切替ポイント計算完了フラグ:切替ポイント計算完了フラグは、続くメディアストリームに対して切替ポイント計算が完了したかを指し示す。
図7は、オーディオストリーム及びビデオストリーム同期切替手順の一例の概略図である。図7では、2つのオーディオストリームのオーディオストリーム情報及び2つのビデオストリームのビデオストリーム情報が、切替命令が受信される前に予め分かっている例を使用する。
切り替え命令が受信される前、全てのメディアストリームが、通常通りに転送されるか、通常通りに廃棄される。現行、4つのメディアストリーム:
ストリーム番号が1であり、ストリームタイプがビデオストリームであり、ストリーム状態が通常転送ストリームである、ビデオストリーム1、
ストリーム番号が2であり、ストリームタイプがオーディオストリームであり、ストリーム状態が通常転送ストリームである、オーディオストリーム1、
ストリーム番号が1であり、ストリームタイプがビデオストリームであり、ストリーム状態が通常廃棄ストリームである、ビデオストリーム2、及び
ストリーム番号が2であり、ストリームタイプがオーディオストリームであり、ストリーム状態が通常廃棄ストリームである、オーディオストリーム2
が存在する。
S801a:ビデオストリーム1内のパケットを転送し、ビデオストリーム2内のパケットを転送するのはスキップする。
S801b:オーディオストリーム1内のパケットを転送し、オーディオストリーム2内のパケットを転送するのはスキップする。
S802a:ビデオストリーム1の切替サブテーブル及びビデオストリーム2の切替サブテーブルを更新する。
S802b:オーディオストリーム1の切替サブテーブル及びオーディオストリーム2の切替サブテーブルを更新する。
具体的には、受信したメディアストリーム内のパケットに基づいて、切替サブテーブル内の“パケットのタイムスタンプ”及び“パケットのシーケンス番号”が更新される。ビデオストリーム1及びビデオストリーム2内の各受信フレームトレーラパケットのRTPタイムスタンプ及びRTPシーケンス番号に基づいて、ビデオストリーム1及びビデオストリーム2の各々の切替サブテーブル内のフィールド“パケットのタイムスタンプ”及び“パケットのシーケンス番号”が更新される。オーディオストリーム1及びオーディオストリーム2内の各受信パケットのRTPタイムスタンプ及びRTPシーケンス番号に基づいて、オーディオストリーム1及びオーディオストリーム2の各々の切替サブテーブル内のフィールド“パケットのタイムスタンプ”及び“パケットのシーケンス番号”が更新される。
S803:切替命令を受信し、切替命令は、オーディオストリーム1をオーディオストリーム2に切り替えるように、及びビデオストリーム1をビデオストリーム2に切り替えるように指示するために使用されるものである。
具体的には、各切替サブテーブル内の“ストリーム状態”がスイッチアウトビデオストリーム又はスイッチインストリームに変更され、切替において同期して切り替えられるメディアストリームのペアの総数が記録される。例えば、切替命令が受信された後、ビデオストリーム1及びオーディオストリーム1の各々に対応する切替サブテーブル内のストリーム状態が、スイッチアウトビデオストリームとなるように変更され、ビデオストリーム2及びオーディオストリーム2の各々に対応する切替サブテーブル内のストリーム状態が、スイッチインストリームとなるように変更され、そして、切替において同期して切り替えられるメディアストリームのペアの総数が2として記録される。
S804:切替概要テーブルを更新する。
具体的には、切替概要テーブル内にあるスイッチアウトビデオストリームのビットマップ、スイッチインストリームのビットマップ、スイッチインストリーム内の最新パケットのタイムスタンプ、及びスイッチアウトビデオストリーム内の最新パケットのタイムスタンプが更新される。具体的な更新ルールは以下のとおりである。
(1)各メディアストリームの切替サブテーブル内のストリーム状態がスイッチアウトビデオストリーム又はスイッチインストリームであり、且つメディアストリームの切替ポイントが完全には計算されていない場合にのみ、切替概要テーブルを更新する。
(2)切替概要テーブル内にあるスイッチインストリームのビットマップ及びスイッチアウトビデオストリームのビットマップを更新する。例えば、ビデオストリーム1の切替サブテーブル内のストリーム状態はスイッチアウトビデオストリームである。ストリーム番号1に基づいて、スイッチアウトビデオストリームのビットマップの第1ビットが見つけられる。スイッチアウトビデオストリームのビットマップの第1ビットの値が0である場合、スイッチアウトビデオストリームのビットマップの第1ビットが、1として設定される。この場合、スイッチアウトビデオストリームのビットマップは0001である。オーディオストリーム1のストリーム状態はスイッチアウトビデオストリームである。ストリーム番号2に基づいて、スイッチアウトビデオストリームのビットマップの第2ビットが見つけられる。スイッチアウトビデオストリームのビットマップの第2ビットの値が0である場合、スイッチアウトビデオストリームのビットマップの第2ビットが、1として設定される。この場合、スイッチアウトビデオストリームのビットマップは0011である。例えば、ビデオストリーム2の切替サブテーブル内のストリーム状態はスイッチインストリームである。ストリーム番号1に基づいて、スイッチインストリームのビットマップの第1ビットが見つけられる。スイッチインストリームのビットマップの第1ビットの値が0である場合、スイッチインストリームのビットマップの第1ビットが、1として設定される。この場合、スイッチインストリームのビットマップは0001である。オーディオストリーム2のストリーム状態はスイッチインストリームである。ストリーム番号2に基づいて、スイッチインストリームのビットマップの第2ビットが見つけられる。スイッチインストリームのビットマップの第2ビットの値が0である場合、スイッチインストリームのビットマップの第2ビットが、1として設定される。この場合、スイッチインストリームのビットマップは0011である。
(3)ストリームタイプがビデオストリームである場合、さらに、切替概要テーブル内にあるスイッチインストリーム内の最新パケットのタイムスタンプ及びスイッチアウトビデオストリーム内の最新パケットのタイムスタンプを更新する。更新ルールは、次の通りである。切替サブテーブル内のパケットのタイムスタンプを、切替概要テーブルに対応する最新パケットのタイムスタンプと比較し、そして、切替サブテーブル内のパケットのタイムスタンプの方が切替概要テーブル内のパケットのタイムスタンプよりも大きい場合にのみ、切替概要テーブル内のパケットのタイムスタンプを更新する。例えば、ビデオストリームA及びビデオストリームBという2つのスイッチインビデオストリームが存在する。ビデオストリームAでは、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプが、切替サブテーブル内のパケットのタイムスタンプに基づいて更新される。ビデオストリームBでは、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプが、切替サブテーブル内のパケットのタイムスタンプに基づいて更新される。ビデオストリームAの切替サブテーブル内のパケットのタイムスタンプが、ビデオストリームBの切替サブテーブル内のパケットのタイムスタンプよりも大きい場合、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプは、ビデオストリームAの切替サブテーブル内のパケットのタイムスタンプである。
(4)メディアストリームの切替ポイントを計算し、スイッチアウトビデオストリームのビットマップ及びスイッチインビデオストリームのビットマップの双方内で、値が1であるビットの数を計算する。スイッチアウトビデオストリームのビットマップ及びスイッチインビデオストリームのビットマップの双方における値が1であるビットの数が、今回の切替におけるストリームの総数に等しい場合、それは、切替対象の全てのメディアストリームの切替テーブルが更新され、切替ポイントを計算することができることを指し示す。例えば、今回の切替におけるストリームのペアの総数は2であり、ビデオストリーム1及びオーディオストリーム1の双方の切替概要テーブルが更新され、スイッチアウトビデオストリームのビットマップの値は0011である。値が1であるビットは2に等しく、これは、スイッチアウトビデオストリームが、切替ポイントを計算する準備ができていることを指し示す。ビデオストリーム2及びオーディオストリーム2である切替概要テーブルが更新された後、スイッチインストリームのビットマップの値は0011である。値が1であるビットは2に等しく、これは、スイッチアウトビデオストリームが、切替ポイントを計算する準備ができていることを指し示す。
S805:ストリームタイプがビデオストリームである場合、切替概要テーブル内にあるスイッチアウトビデオストリーム内の最新パケットのタイムスタンプ及びスイッチインストリーム内の最新パケットのタイムスタンプに基づいて、ビデオストリームの切替ポイントのタイムスタンプを計算する。
具体的な計算手法は上述されており、詳細をここで再び説明することはしない。スイッチインストリームについて切替ポイントのタイムスタンプが計算された後、切替ポイントのタイムスタンプが、スイッチインストリームの切替ポイントのものであって切替概要テーブル内にあるタイムスタンプTS_sw_v1に更新される。スイッチアウトビデオストリームについて切替ポイントのタイムスタンプが計算された後、スイッチアウトビデオストリームの切替ポイントのタイムスタンプが、スイッチアウトビデオストリームの切替ポイントのものであって切替概要テーブル内にあるタイムスタンプTS_sw_v1に更新される。そして、切替概要テーブル内の切替ポイント計算完了フラグが1に設定される。
S806:ストリームタイプがオーディオストリームである場合、ビデオストリームの切替ポイントのものであって切替概要テーブル内にあるタイムスタンプに基づいて、オーディオストリームの切替ポイントのタイムスタンプを決定する。
具体的には、オーディオストリームにおけるスイッチインストリームの切替ポイントのタイムスタンプが、ビデオストリームにおけるスイッチインストリームの切替ポイントのものであって切替概要テーブル内にあるタイムスタンプTS_sw_v2に基づいて計算される。オーディオストリームにおけるスイッチアウトストリームの切替ポイントのタイムスタンプが、ビデオストリームにおけるスイッチアウトストリームの切替ポイントのものであって切替概要テーブル内にあるタイムスタンプTS_sw_v1に基づいて計算される。
さらに、オーディオストリーム1の切替ポイントのタイムスタンプに基づいて、オーディオストリーム1の切替ポイントのシーケンス番号SN_sw_a1が決定され得る。オーディオストリーム2の切替ポイントのタイムスタンプに基づいて、オーディオストリーム2の切替ポイントのシーケンス番号SN_sw_a1が決定される。
なお、オーディオストリームの切替ポイントのタイムスタンプは、切替概要テーブル内の切替ポイント計算完了フラグが1である場合にのみ計算され得る。
メディアストリームの切替ポイントを計算した後、メディアストリームの各パケットを転送するか廃棄するかが、ストリームパケット転送・廃棄ルールに従ってパケットにて決定される。
S807a:ビデオストリーム1内にあり且つそのタイムスタンプがビデオストリーム1の切替ポイントのタイムスタンプよりも大きいパケットを廃棄し、ビデオストリーム2内にあり且つそのタイムスタンプがビデオストリーム2の切替ポイントのタイムスタンプよりも大きいパケットを転送する。
S807b:オーディオストリーム1内にあり且つそのタイムスタンプがオーディオストリーム1の切替ポイントのタイムスタンプよりも大きいパケットを廃棄し、オーディオストリーム2内にあり且つそのタイムスタンプがオーディオストリーム2の切替ポイントのタイムスタンプよりも大きいパケットを転送する。
さらに、オーディオストリーム2(スイッチインストリーム)内のパケットが転送されるとき、例えばマルチキャストアドレスやシーケンス番号などの情報が変更される。メディアストリームが切り替えられた後、パケットが下流の装置に送信される前に、パケットの、SMPTEによって規定されるマルチキャストアドレス、シーケンス番号、RTP.SSRC、及びHBRMTレイヤを変更して、変更済みパケットと現在出力されるパケットとが同じであり得るようにする必要がある。斯くして、下流の装置は切替に気付かない。
RTP.SSRCは同期ソース識別子を示す。一般に、RTP.SSRCは32ビットを占有し、同期ソースを特定するために使用される。その識別子はランダムに選択される。同じテレビ会議に参加する2つの同期ソースが同一のSSRCを持つことはできない。ここでの同期ソースは、例えばマイクロフォン、カメラ、又はRTPミキサといった、メディアストリームを生成するソースを示す。受信器は、SSRC識別子及びグループRTPパケットに基づいて異なるソースを区別する。
下流の装置がマルチキャストアドレス、RTP.SN、RTP.SSRC、HBRMT.FRCount(FRCountは、SMPTEによって規定される高ビットレートメディアペイロードヘッダ内のフレームカウントフィールドであり、ストリーム内の累積ビデオフレームの数を示し、合計8ビットであり、そして、ストリーム内の累積ビデオフレーム数が256フレームを超えるとFRContは0にリセットされる)の変更を許容することができる場合には、対応する変更ステップはスキップされてもよい。
1つのビデオストリーム出力ポート(又はオーディオストリーム出力ポート)上で複数の入力ビデオストリーム(又はオーディオストリーム)を、繰り返し、切り替える必要があることがある。従って、現在のスイッチアウトビデオストリームが、前のスイッチインストリームであり得る。システムは、スイッチインストリーム及びスイッチアウトビデオストリームのマルチキャストアドレス、RTP.SN、RTP.SSRC、及びこれらに類するものを同じに保つことができる。マルチキャストアドレス及びRTP.SSRCは変更されないままであり、RTP.SNは連続したままである。
以下、マルチキャストアドレス及びシーケンス番号を変更する手法を簡単に説明する。
切替の前、スイッチアウトビデオストリーム(オーディオストリーム1又はビデオストリーム1)内のパケットが、切替装置に到着した後に転送され、スイッチアウトビデオストリームのマルチキャストアドレス及びSN番号が変更される。マルチキャストアドレスは239.0.1.1から239.0.2.1に変更される。RTP.SSRCが0x12345678に変更される。RTP.SN番号は、RTP.SN(出力ストリーム)=RTP.SN(スイッチアウトビデオストリーム)+C1であり、ただし、C1は、定数であるとともに、それらのタイムスタンプが同じである出力ストリーム内のパケットとスイッチアウトビデオストリーム内のパケットとの間のSN差を用いて得られる。図8Aに示すように、C1は1000に等しい。この場合、スイッチアウトビデオストリームが切替前のストリーム出力である場合、現在の出力ストリームのマルチキャストアドレス、RTP.SSRC、及びRTP.SNは、スイッチアウトストリームのものと同じであることができる。この場合、マルチキャストアドレス、RTP.SSRC、及びRTP.SNは変更されない。スイッチインストリーム内のパケットは、切替装置に到着した後に廃棄される。
切替の後、スイッチアウトビデオストリーム内のパケットは、切替装置に到着した後に廃棄される。スイッチインストリーム内のパケットは、切替装置に到着した後に転送され、マルチキャストアドレス及びSN番号が変更される。マルチキャストアドレスは、239.0.1.2から239.0.2.1に変更される。RTP.SSRCは、0x12345678に変更される。RTP.SN番号は、RTP.SN(出力ストリーム)=RTP.SN(スイッチインストリーム)+C2であり、ただし、C2は、定数であるとともに、それらのタイムスタンプが同じである出力ストリーム内のパケットとスイッチインストリーム内のパケットとの間のSN差を用いて得られる。図8Bに示すように、C2は900に等しい。
オプションで、切替が開始され、特定量のパケット又はプリセットされた期間が処理された後、オーディオストリーム1及びオーディオストリーム2とビデオストリーム1及びビデオストリーム2とが安定状態に入り、切替が完了される。オーディオストリーム1及びビデオストリーム1に対応する切替サブテーブル内のストリームタイプが、通常転送ストリームとして更新され、ビデオストリーム2及びオーディオストリーム2に対応する切替サブテーブル内のストリームタイプが、通常廃棄ストリームとして更新される。斯くして、パケットを転送するか廃棄するかを決定するために、タイムスタンプ及びシーケンス番号がパケット毎にチェックされたりしない。その代わりに、パケットを転送するか廃棄するかはストリームタイプに基づいて決定される。切替プロセス全体が完了される。さらに、ストリームタイプ及びシーケンス番号オフセットを除く切替サブテーブル内の別のフィールドがリセットされてもよい。
この出願のこの実施形態の以上の説明では、オーディオストリーム及びビデオストリームが同期して切り替えられるときに、オーディオストリームがビデオストリームを用いて切り替えられる。換言すれば、オーディオストリームの切替ポイントのオーディオパラメータ値が、ビデオストリームの切替ポイントのビデオパラメータ値に基づいて決定される。一例において、この出願のこの実施形態では、例えば切替フォローフラグとするフラグが、オーディオストリームに付加されてもよい。切替フォローフラグが1である場合、それは、ビデオストリームを用いてオーディオストリームを切り替える必要があることを指し示す。この場合、切替ポイントが計算されるときに、オーディオストリームの切替ポイントのタイムスタンプが、上述の切替概要テーブルに記録されたビデオストリームの切替ポイントのタイムスタンプに基づいて計算される。
切替フォローフラグが0である場合、それは、ビデオストリームを用いてオーディオストリームを切り替える必要がないことを指し示す。換言すれば、オーディオストリームの切替ポイントのオーディオパラメータ値がオーディオストリームに対して別途に決定されるときに、オーディオストリームの切替ポイントのタイムスタンプは、ビデオストリームの切替ポイントのタイムスタンプに基づいて計算される必要はない。
以下、オーディオストリームの切替ポイントのオーディオパラメータ値を別途に決定することの実装を説明する。
切替装置は、切替命令を受信し、オーディオストリーム1内のパケット1のタイムスタンプ及びオーディオストリーム2内のパケット2のタイムスタンプに基づいて、切替ポイントのタイムスタンプを決定する。切替装置は、オーディオストリーム1内にあり且つそのオーディオパラメータ値が切替ポイントのオーディオパラメータ値よりも大きいパケットを、オーディオストリーム2内にあり且つそのオーディオパラメータ値が切替ポイントのオーディオパラメータ値よりも大きいパケットに切り替える。換言すれば、オーディオストリーム1及びオーディオストリーム2が、切替ポイントの1つのタイムスタンプを共有する。パケット1は、切替命令を受信した後に受信されるオーディオストリーム1内のパケットである。パケット2は、切替命令を受信した後に受信されるオーディオストリーム2内のパケットである。パケット1とパケット2とが同時に受信される。
切替ポイントのタイムスタンプが、オーディオストリーム1内のパケット1のタイムスタンプ及びオーディオストリーム2内のパケット2のタイムスタンプに基づいて決定されることは、以下のように実装される。
パケット1のタイムスタンプ及びパケット2のタイムスタンプの両方における最大タイムスタンプが取得され、該最大タイムスタンプに基づいて切替ポイントのタイムスタンプが決定される。
切替ポイントのタイムスタンプは、以下の条件を満たす:
TS_sw_in=TS_sw_out=TS+N*frequency、ただし
TS=max(TS_out,TS_in)であり、TS_outは、パケット1のタイムスタンプであり、TS_inは、パケット2のタイムスタンプであり、TSは、TS_out及びTS_inのうちの最大値であり、Nは、その値の範囲が(5-100)である固定値であり、frequencyは、オーディオストリームのサンプリングレートである。
可能な一実装において、オーディオストリームのサンプリングレートが切替装置のために予め設定される、又は切替命令が受信される前に決定されている場合、パケット1は、切替命令が受信された時に受信されているオーディオストリーム1内のパケットとすることができ、パケット2は、切替命令が受信された時に受信されているオーディオストリーム2内のパケットとすることができる。切替命令が受信された時にオーディオストリームのサンプリングレートが計算され始める場合、パケット1は、サンプリングレートが決定された時に受信されているオーディオストリーム1内のパケットとすることができ、パケット2は、サンプリングレートが決定された時に受信されているオーディオストリーム1内のパケットとすることができる。
例えば、切替ポイントのタイムスタンプを決定するとき、切替装置は、オーディオストリーム1及びオーディオストリーム2の各々に対応する切替サブテーブルに記録されたパケットのタイムスタンプに基づいて、切替ポイントのタイムスタンプを決定し得る。換言すれば、切替命令が受信されたとき、オーディオストリーム1の切替サブテーブルに記録されたパケットのタイムスタンプがパケット1のタイムスタンプであり、オーディオストリーム2の切替サブテーブルに記録されたパケットのタイムスタンプがパケット2のタイムスタンプである。
さらに、この出願のこの実施形態は、複数ペアのオーディオストリーム及び複数ペアのビデオストリームが同期して切り替えられる場合にも適用可能である。例えば、Y個のオーディオストリームが他のY個のオーディオストリームに切り替えられ、X個のビデオストリームが他のX個のビデオストリームに切り替えられ、ただし、Yは、2以上の正の整数であり、Xは、2以上の正の整数であり、XはYに等しくてもよいし等しくなくてもよい。例えば、図9を参照し、2つのオーディオストリームが他の2つのオーディオストリームに切り替えられるとともに、2つのビデオストリームが他の2つのビデオストリームに切り替えられる例を使用する。複数のメディアストリーム間での切替とメディアオーディオストリーム間での切替との間の違いは、切替プロセスにおいてビデオストリームの切替ポイントのタイムスタンプ及び/又はビデオストリームの切替ポイントのシーケンス番号が計算される前に、先ず、スイッチインビデオストリームに含まれる2つのビデオストリームのうち早い方のタイムスタンプを有するビデオストリームと、スイッチアウトビデオストリームに含まれる2つのビデオストリームのうち早い方のタイムスタンプを有するビデオストリームとを決定する必要があることにある。スイッチインビデオストリーム内の早い方のタイムスタンプを有するビデオストリームと、スイッチアウトビデオストリーム内の早い方のタイムスタンプを有するビデオストリームとに基づいて、同期関係が決定される。同期関係と、スイッチインビデオストリーム内の早い方のタイムスタンプを有するビデオストリームとに基づいて、スイッチインビデオストリームの切替ポイントのタイムスタンプが決定される。同期関係と、スイッチアウトビデオストリーム内の早い方のタイムスタンプを有するビデオストリームとに基づいて、スイッチアウトビデオストリームの切替ポイントのタイムスタンプが決定される。そして、スイッチインビデオストリームの切替ポイントのタイムスタンプに基づいて、スイッチインオーディオストリームの切替ポイントのタイムスタンプが決定され、スイッチアウトストリームの切替ポイントのタイムスタンプに基づいて、スイッチアウトオーディオストリームの切替ポイントのタイムスタンプが決定される。例えば、図9を参照するに、スイッチインビデオストリームは、ビデオストリームa及びビデオストリームbを含んでいる。スイッチアウトビデオストリームは、ビデオストリームc及びビデオストリームdを含んでいる。スイッチインオーディオストリームは、オーディオストリームa及びオーディオストリームbを含んでいる。スイッチアウトオーディオストリームは、オーディオストリームc及びオーディオストリームdを含んでいる。図9から見て取れるように、スイッチインビデオストリームにおいて、ビデオストリームbはビデオストリームaに先んじており、スイッチアウトビデオストリームにおいて、ビデオストリームcはビデオストリームdに先んじている。スイッチインビデオストリーム及びスイッチアウトビデオストリームの両方の切替ポイントのタイムスタンプ、及び/又はスイッチインビデオストリーム及びスイッチアウトビデオストリームの両方の切替ポイントのシーケンス番号が、それぞれ、ビデオストリームb及びビデオストリームcの両方のタイムスタンプに基づいて決定される。具体的な決定手法は上述されており、詳細をここで再び説明することはしない。
上述の方法実施形態と同じ発明概念に基づき、この出願の一実施形態は更に、図10に示すように、装置を提供する。当該装置は、受信ユニット1001、処理ユニット1002、及び送信ユニット1003を含み得る。
可能な一実装において、当該装置は、上述の方法における切替装置の機能を実装する。当該装置は、切替装置、切替装置内の1つ以上のプロセッサ、又は切替装置内の1つ以上のチップとし得る。具体的には、受信ユニット1001、処理ユニット1002、及び送信ユニット1003は、上述の方法実施形態のうちの任意の1つにおいて切替装置によって実行される対応する機能を果たし得る。詳細をここで再び説明することはしない。
この出願のこの実施形態において、これらユニットへの分割は一例であり、単に論理的な機能分割に過ぎず、実際の実装においては他の分割であってもよい。また、この出願のこの実施形態における機能ユニットは、1つのプロセッサに統合されてもよいし、物理的に単独で存在してもよいし、あるいは、2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形態で実装されてもよいし、あるいはソフトウェア機能ユニットの形態で実装されてもよい。
同じ概念に基づき、図11は、この出願で提供される装置1100を示している。装置1100は、例えば、上述の実施形態で実行されるプロセッサといった、少なくとも1つのプロセッサ1110を含んでいる。当該装置は更に、プログラム命令及び/又はデータを格納するように構成された少なくとも1つのメモリ1120を含み得る。メモリ1120は、プロセッサ1110に結合される。この出願のこの実施形態において、結合は、装置、ユニット、又はモジュールの間の間接的な結合若しくは通信接続であってもよく、電気的形態、機械的形態、若しくは他の形態をとることができ、また、装置、ユニット、若しくはモジュールの間での情報交換に使用される。プロセッサ1110は、メモリ1120と共に動作し得る。プロセッサ1110は、メモリ1120に格納されたプログラム命令を実行し、それにより、プロセッサ1110がプログラム命令を呼び出してプロセッサ1110の機能を実現するようにし得る。オプションで、少なくとも1つのメモリ1120のうちの少なくとも1つは、プロセッサ1110に含まれてもよい。装置1100は更に、通信インタフェース1130を含むことができ、装置1100は、通信インタフェース1130を介して、他の装置と情報を交換し得る。通信インタフェース1130は、回路、バス、トランシーバ、又は情報を交換するように構成され得る任意の他の装置とし得る。
装置1100は、切替装置で使用される。具体的には、装置1100は、切替装置であってもよいし、あるいは、切替装置が、上述の実施形態のうちの任意の1つにおける方法において切替装置の機能を実装する際に切替装置を支援することができる装置であってもよい。例えば、装置1100の少なくとも1つのプロセッサ1110は、上述の実施形態のうちの任意の1つにおける方法において切替装置の機能を実装するように構成される。
例えば、装置1100は、チップ又はチップシステムであってもよい。オプションで、この出願のこの実施形態において、チップシステムは、チップを含むことができ、あるいは、チップと別のディスクリートコンポーネントとを含んでもよい。
この出願のこの実施形態において、通信インタフェース1130、プロセッサ1110、及びメモリ1120の間の具体的な接続媒体は限定されるものではない。この出願のこの実施形態において、図11では、メモリ1120、プロセッサ1110、及び通信インタフェース1130が、バスを介して接続されている。図11では、バスを太線で表している。他のコンポーネント間の接続の仕方は、例示目的でのものであり、これに限定されるものではない。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表現を容易にするために図11では1本の太線のみを用いてバスを表しているが、これは、1つのバスのみ又は1つのタイプのバスのみが存在することを意味するものではない。
この出願の実施形態において、プロセッサは、一般のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ若しくは他のプログラマブルロジックデバイス、ディスクリートのゲート若しくはトランジスタロジックデバイス、又はディスクリートのハードウェアコンポーネントとすることができ、また、この出願の実施形態にて開示された方法、ステップ、及び論理ブロック図を実装又は実行することができる。汎用プロセッサは、マイクロプロセッサ、任意の従来からのプロセッサ、又はこれらに類するものとし得る。この出願の実施形態を参照して開示された方法のステップは、ハードウェアプロセッサによって直接的に実行されてもよいし、あるいは、プロセッサ内のハードウェアとソフトウェアモジュールとの組み合わせを用いることによって実行されてもよい。
この出願の実施形態において、メモリは、例えばハードディスクドライブ(hard disk drive、HDD)又はソリッドステートドライブ(solid-state drive、SSD)などの不揮発性メモリであってもよいし、あるいは、例えばランダムアクセスメモリ(random-access memory、RAM)などの揮発性メモリ(volatile memory)であってもよい。メモリは更に、以下に限定されないが、期待されるプログラムコードを命令又はデータ構造の形態で搬送又は記憶するように構成されることが可能で、コンピュータによってアクセスされることが可能な任意の他の媒体であってもよい。この出願の実施形態におけるメモリは、代わりに、記憶機能を実装することが可能で、プログラム命令及び/又はデータを格納するように構成された回路又は任意の他の装置であってもよい。
上述の実施形態に基づき、この出願の一実施形態は更に、コンピュータ記憶媒体を提供する。当該記憶媒体はソフトウェアプログラムを格納している。ソフトウェアプログラムが1つ以上のプロセッサによって読み取られて実行されるとき、上述の実施形態のうちのいずれか1つ以上にて提供される方法が実行され得る。コンピュータ記憶媒体は、例えばUSBフラッシュドライブ、リムーバブルハードディスク、リ読み出し専用メモリ、ランダムアクセスメモリ、磁気ディスク、又は光ディスクなどの、プログラムコードを格納することが可能な任意の媒体を含み得る。
上述の実施形態に基づき、この出願の一実施形態は更にチップを提供する。当該チップは、例えば、上述の方法における情報又はメッセージを取得又は処理するなど、上述の実施形態のうちのいずれか1つ以上における機能を実装するように構成されたプロセッサを含む。オプションで、チップは更にメモリを含み、該メモリが、プロセッサによって実行される必要なプログラム命令及びデータを格納するように構成される。当該チップは、チップを含むことができ、あるいは、チップと他のディスクリートデバイスとを含むことができる。
当業者が理解するはずのことには、この出願の実施形態は、方法、システム、又はコンピュータプログラムプロダクトとして提供され得る。従って、この出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、又はソフトウェアとハードウェアとの組み合わせを有する実施形態の形態を使用し得る。また、この出願は、コンピュータ使用可能プログラムコードを含んだ1つ以上のコンピュータ使用可能記憶媒体(以下に限られないが、ディスクメモリ、CD-ROM、光メモリ、及びこれらに類するものを含む)上に実装されるコンピュータプログラムプロダクトの形態を使用し得る。
この出願は、この出願の実施形態に従った方法、装置(システム)、及びコンピュータプログラムプロダクトのフローチャート及び/又はブロック図を参照して説明されている。理解されるべきことには、フローチャート及び/又はブロック図の各プロセス及び/又は各ブロック、並びにフローチャート及び/又はブロック図のプロセス及び/又はブロックの組み合わせを実施するために、コンピュータプログラム命令が使用され得る。これらのコンピュータプログラム命令が、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、又は任意の他のプログラマブルデータ処理装置のプロセッサに提供されてマシンを生成し、それにより、コンピュータ又は任意の他のプログラマブルデータ処理装置のプロセッサによって実行されるこれらの命令が、フローチャート内の1つ以上のプロセス及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実現する装置を生成するようにし得る。
これらのコンピュータプログラム命令は、コンピュータ又は他の任意のプログラマブルデータ処理装置に特定の方法で動作するように命令することができるコンピュータ読み取り可能メモリに格納され、それにより、コンピュータ読み取り可能メモリに格納された命令が、命令装置を含む所産を生成するようにし得る。該命令装置は、フローチャート内の1つ以上のプロセス及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実行する。
これらのコンピュータプログラム命令は、一連の動作及びステップがコンピュータ又は他のプログラマブル装置上で実行されるように、コンピュータ又は他のプログラマブルデータ処理装置にロードされ、それにより、それによって、コンピュータ実装された処理を生成する。従って、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャート内の1つ以上のプロセス及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実行するステップを提供する。
明らかなことには、当業者は、この出願の範囲から逸脱することなく、この出願に様々な変更及び変形を為すことができる。この出願は、以下の請求項及びそれらの均等技術によって定められる保護の範囲内にある限り、この出願のそれらの変更及び変形に及ぶことが意図される。
第3の態様によれば、この出願の一実施形態は更に装置を提供する。当該装置は切替装置内で使用される。有益な効果については、第1の態様における記述を参照されたい。詳細をここで再び説明することはしない。通信装置の構成が、プロセッサ及びトランシーバを含むとともに、メモリを更に含み得る。プロセッサは、第1の態様の方法における対応する機能を実行する際に切替装置を支援するように構成される。メモリは、プロセッサに結合されるとともに、通信装置に必要なプログラム命令及びデータを格納する。トランシーバは、他の装置と通信するように構成される。
切替装置が、第1のビデオストリーム内の第1のパケットのタイムスタンプ及び第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、第1のビデオストリームと第2のビデオストリームとの間の同期関係を決定する。第1のパケットが属するビデオストリーム内の第1のビデオフレームを受信する期間が、第2のパケットが属する第2のビデオストリーム内の第2のビデオフレームを受信する期間と重なり合う。切替装置は、同期関係及び第1のパケットのビデオパラメータ値に基づいて、第1のビデオストリームの切替ポイントのビデオパラメータ値を決定し、且つ同期関係及び第2のパケットのビデオパラメータ値に基づいて、第2のビデオストリームの切替ポイントのビデオパラメータ値を決定する。ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を含む。
Vはバージョンを示し、V=2はRTPバージョンを指し示す。Pはパディング識別子であり、1ビットを占める。パディングビットがセットされる場合、パケットトレーラに追加のパディングワードが含められ、該パディングワードは有効なペイロードではない。Xは拡張ビットである。PTはペイロードタイプを指し示す。Sequence numberはRTPパケットのシーケンス番号を示す。シーケンス番号は、RTPパケットが追加されるたびに1ずつ増加される。Timestampはタイムスタンプを示す。SSRC(synchronization source)識別子は同期ソースを示す。この識別子はランダムに選択される。同じテレビ会議に参加する2つの同期ソースが同一のSSRCを持つことはできない。
この出願のこの実施形態において、同期関係を決定するために使用される第1のビデオフレーム及び第2のビデオフレームのそれぞれを受信する期間は、この出願のこの実施形態において重なり合う。換言すれば、第1のビデオフレームを受信する期間と第2のビデオフレームを受信する期間とが可能な限り近くされる。
例えば、第1のパケット及び第2のパケットはどちらもフレームトレーラパケットである。切替装置は、第1のパケット及び第2のパケットとしてそれぞれ、第1のビデオストリーム及び第2のビデオストリーム内にあり、且つ切替ポイントが決定される前(例えば、切替命令が受信される前)に受信された最後からのx番目の(例えば、最後の)フレームトレーラパケットを使用することができ、ただし、xは自然数である。なお、切替命令が受信されてすぐ後に切替ポイントが決定される場合には、切替命令が受信された時が、切替ポイントが決定された時であると見なし得る。切替命令が受信され且つ第1のビデオストリーム内の少なくとも1つのフレームトレーラパケットが受信された後に、第2のビデオストリーム内の少なくとも1つのフレームトレーラパケットが受信されたときに切替ポイントが決定される場合には、第1のビデオストリーム内の該少なくとも1つのフレームトレーラパケットが受信された後に第2のビデオストリーム内の該少なくとも1つのフレームトレーラパケットが受信された時が、切替ポイントが決定された時である。例えば、切替命令が受信された後に、第1のビデオストリーム内のフレームトレーラパケットaが受信され、続いて第2のビデオストリーム内のフレームトレーラパケットbが受信され、このフレームトレーラパケットbが受信されてすぐ後に切替ポイントが決定される。フレームトレーラパケットbが受信された時が、切替ポイントが決定された時である。フレームトレーラパケットa及びフレームトレーラパケットbが、それぞれ、第1のパケット及び第2のパケットとして使用される。他の一例では、切替命令が受信された後に、第1のビデオストリーム内にあるフレームトレーラパケットc及びフレームトレーラパケットdが受信され、続いて第2のビデオストリーム内のフレームトレーラパケットeが受信され、このフレームトレーラパケットeが受信されてすぐ後に切替ポイントが決定される。フレームトレーラパケットeが受信された時が、切替ポイントが決定された時である。フレームトレーラパケットd及びフレームトレーラパケットeが、それぞれ、第1のパケット及び第2のパケットとして使用される。切替装置はまた、第1のパケット及び第2のパケットとしてそれぞれ、第1のビデオストリーム及び第2のビデオストリーム内にあり、且つ切替ポイントが受信された後に受信されたy番目の(例えば、最初の)フレームトレーラパケットを使用してもよく、ただし、yは自然数である。対応して、第1のパケット及び第2のパケットがそれぞれ属するビデオフレームが、第1のビデオフレーム及び第2のビデオフレームである。第1のビデオストリームと第2のビデオストリームとの同期ずれの度合いは、通常、1フレームを超えない。換言すれば、第1のパケットを受信する期間と、第2のパケットを受信する期間との間の差は、通常、1フレームの継続時間を超えない。従って、第1のビデオフレームを受信する期間は、概して、第2のビデオフレームを受信する期間と重なり合う。
切替装置が、第1のビデオストリームの切替ポイントのタイムスタンプ、第1のビデオストリームのビデオフレーム継続時間、第1のビデオストリームのクロック周波数、及び第1のオーディオストリームのサンプリングレートに基づいて、第1のオーディオストリームの切替ポイントのタイムスタンプを決定する。切替装置が、第2のビデオストリームの切替ポイントのタイムスタンプ、第2のビデオストリームのビデオフレーム継続時間、第2のビデオストリームのクロック周波数、及び第のオーディオストリームのサンプリングレートに基づいて、第のオーディオストリームの切替ポイントのタイムスタンプを決定する。
表1は、例えば、SMPTE2110に規定される3つのサンプリングレート44.1kHz、48kHz、及び96kHzを示すとともに、パケット継続時間が125μs及び1msであってシーケンス番号が隣り合う2つのパケット間のタイムスタンプ差の理論値を示している。
Figure 2022517587000024
2つの隣接し合うパケット間のタイムスタンプ差avgTSを用いてサンプリングレートを推定する場合、以下の手法が実装に使用され得る。
さらに、この出願のこの実施形態において、ビデオストリームのビデオフレーム継続時間及びビデオフレームに含まれるパケットの数は、切替装置のために予め設定されてもよく、あるいは、ビデオストリーム内の2つの受信した隣接し合うフレームトレーラパケット又はビデオストリーム内の2つの受信した隣接し合うフレームヘッダパケットに基づいて切替装置によって決定されてもよい。説明を容易にするため、以下では、ビデオストリームのビデオフレーム継続時間及びビデオフレームに含まれるパケットの数を併せて、ビデオストリーム情報と総称する。一手法において、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され得る。第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定される。換言すれば、第1のビデオストリームのビデオフレーム継続時間は、第1のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のタイムスタンプ差に基づいて決定され得る。第2のビデオストリームのビデオフレーム継続時間は、第2のビデオストリーム内の2つの受信隣接フレームトレーラパケットの間のタイムスタンプに基づいて決定され得る。第1のビデオストリーム内のビデオフレームに含まれるパケットの数は、第1のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され得る。第2のビデオストリーム内のビデオフレームに含まれるパケットの数は、第2のビデオストリームにおける2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定される。換言すれば、第1のビデオストリーム内のビデオフレームに含まれるパケットの数は、第1のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のシーケンス番号差に基づいて決定され得る。第2のビデオストリーム内のビデオフレームに含まれるパケットの数は、第2のビデオストリーム内の2つの受信隣接フレームトレーラパケット間のシーケンス番号差に基づいて決定される。
可能な一実装において、ビデオストリームが切り替えられるとき、タイムスタンプ、シーケンス番号、又はタイムスタンプシーケンス番号に基づいてビデオストリームを切り替えることを決定するために、切替装置によって許容され得るタイムスタンプ誤差を使用することができる。例えば、同じビデオストリーム内の2つの隣接し合うビデオフレーム間のタイムスタンプ差は、T(すなわち、ビデオフレーム継続時間)で固定である。この場合、ビデオストリームは、タイムスタンプに基づいて切り替えられ得る。具体的には、パケットのタイムスタンプが、切替ポイントのタイムスタンプと比較される。スイッチインビデオストリームについて、パケットのタイムスタンプが切替ポイントのタイムスタンプよりも大きい場合、そのパケットは転送される。パケットのタイムスタンプが切替ポイントのタイムスタンプ以下である場合には、そのパケットは廃棄される。この場合、ビデオストリームは、シーケンス番号に基づいて切り替えられ得る。具体的には、パケットのシーケンス番号が、切替ポイントのシーケンス番号と比較される。スイッチインビデオストリームについて、パケットのシーケンス番号が切替ポイントのシーケンス番号よりも大きい場合、そのパケットは転送され、パケットのシーケンス番号が切替ポイントのシーケンス番号以下である場合には、そのパケットは廃棄される。他の一例では、2つの隣接し合うビデオフレーム間のタイムスタンプ差の全てがTであるわけではなく、偏差が存在し得る。ビデオストリームは、シーケンス番号に基づいて切り替えられてもよいし、あるいは、ビデオストリームは、タイムスタンプ及びシーケンス番号に基づいて切り替えられてもよい。タイムスタンプ及びシーケンス番号に基づいてビデオストリームを切り替える具体的な手法は上述されており、詳細をここで再び説明することはしない。
この出願のこの実施形態において、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームに対して別々に切替サブテーブルが確立されて、2つの切り替え対象のオーディオストリーム及び2つの切り替え対象のビデオストリームの切替状態、最新のパケット情報、及びこれらに類するものを記録する。従って、2つのビデオストリームに対応する切替サブテーブルが、第1のビデオストリームの切替ポイントのパラメータ値を決定するために使用される第1のパケットと、第のビデオストリームの切替ポイントのパラメータ値を決定するために使用される第2のパケットとを決定するために使用される。説明を簡単にするため、オーディオストリーム及びビデオストリームを併せて、以下ではメディアストリームと総称する。
ストリームタイプ:ストリームタイプはメディアストリームタイプを示し、ビデオストリーム及びオーディオストリームを含む。
(3)ストリームタイプがビデオストリームである場合、さらに、切替概要テーブル内にあるスイッチインストリーム内の最新パケットのタイムスタンプ及びスイッチアウトビデオストリーム内の最新パケットのタイムスタンプを更新する。更新ルールは、次の通りである。切替サブテーブル内のパケットのタイムスタンプを、切替概要テーブルに対応する最新パケットのタイムスタンプと比較し、そして、切替サブテーブル内のパケットのタイムスタンプの方が切替概要テーブル内のパケットのタイムスタンプよりも大きい場合にのみ、切替概要テーブル内の最新パケットのタイムスタンプを更新する。例えば、ビデオストリームA及びビデオストリームBという2つのスイッチインビデオストリームが存在する。ビデオストリームAでは、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプが、切替サブテーブル内のパケットのタイムスタンプに基づいて更新される。ビデオストリームBでは、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプが、切替サブテーブル内のパケットのタイムスタンプに基づいて更新される。ビデオストリームAの切替サブテーブル内のパケットのタイムスタンプが、ビデオストリームBの切替サブテーブル内のパケットのタイムスタンプよりも大きい場合、切替概要テーブル内のスイッチインストリーム内のパケットのタイムスタンプは、ビデオストリームAの切替サブテーブル内のパケットのタイムスタンプである。
(4)メディアストリームの切替ポイントを計算し、スイッチアウトビデオストリームのビットマップ及びスイッチインビデオストリームのビットマップの双方内で、値が1であるビットの数を計算する。スイッチアウトビデオストリームのビットマップ及びスイッチインビデオストリームのビットマップの双方における値が1であるビットの数が、今回の切替におけるストリームの総数に等しい場合、それは、切替対象の全てのメディアストリームの切替テーブルが更新され、切替ポイントを計算することができることを指し示す。例えば、今回の切替におけるストリームのペアの総数は2であり、ビデオストリーム1及びオーディオストリーム1の双方の切替概要テーブルが更新され、スイッチアウトビデオストリームのビットマップの値は0011である。値が1であるビットは2に等しく、これは、スイッチアウトビデオストリームが、切替ポイントを計算する準備ができていることを指し示す。ビデオストリーム2及びオーディオストリーム2である切替概要テーブルが更新された後、スイッチインストリームのビットマップの値は0011である。値が1であるビットは2に等しく、これは、スイッチインビデオストリームが、切替ポイントを計算する準備ができていることを指し示す。

Claims (34)

  1. オーディオストリーム及びビデオストリーム同期切替方法であって、
    切替装置により、切替命令を受信し、該切替命令は、送信されている第1のオーディオストリームから第2のオーディオストリームに切り替えるように、及び送信されている第1のビデオストリームから第2のビデオストリームに切り替えるように指示するために使用され、
    前記切替装置により、前記第1のビデオストリームの切替ポイントのビデオパラメータ値、及び前記第2のビデオストリームの切替ポイントのビデオパラメータ値を決定し、前記ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を有し、
    前記切替装置により、前記第1のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値に基づいて、前記第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、前記オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を有し、
    前記切替装置により、前記第1のビデオストリーム内にあり且つそのビデオパラメータ値が前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値よりも大きいパケットを、前記第2のビデオストリーム内にあり且つそのビデオパラメータ値が前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値よりも大きいパケットに切り替え、且つ前記第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が前記第1のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値よりも大きいパケットを、前記第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が前記第2のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値よりも大きいパケットに切り替える、
    ことを有する方法。
  2. 前記切替装置により、前記第1のビデオストリームの切替ポイントのビデオパラメータ値、及び前記第2のビデオストリームの切替ポイントのビデオパラメータ値を決定することは、
    前記切替装置により、前記第1のビデオストリーム内の第1のパケットのタイムスタンプ及び前記第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、前記第1のビデオストリームと前記第2のビデオストリームとの間の同期関係を決定し、前記第1のパケットが属する第1のビデオフレームを受信する期間が、前記第2のパケットが属する第2のビデオフレームを受信する期間と重なり合い、
    前記切替装置により、前記同期関係及び前記第1のパケットのビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットのビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定する、
    ことを有する、請求項1に記載の方法。
  3. 前記ビデオパラメータ値が前記タイムスタンプを有する場合、前記切替装置により、前記同期関係及び前記第1のパケットのビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットのビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定することは、
    前記切替装置により、前記同期関係、前記第1のパケットの前記タイムスタンプ、及び前記第1のビデオストリームのビデオフレーム継続時間に基づいて、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを決定し、且つ前記同期関係、前記第2のパケットの前記タイムスタンプ、及び前記第2のビデオストリームのビデオフレーム継続時間に基づいて、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを決定する、
    ことを有する、請求項2に記載の方法。
  4. 前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプ、及び前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプは、以下の条件:
    前記第1のビデオストリームと前記第2のビデオストリームとが同期している場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+N*T2;
    前記第1のビデオストリームが前記第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+1)*T1、且つTS_sw_v2=FT_TS2+N*T2;又は
    前記第1のビデオストリームが前記第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+1)*T2
    を満たし、
    ただし、T1は、前記第1のビデオストリームの前記ビデオフレーム継続時間を表し、T2は、前記第2のビデオストリームの前記ビデオフレーム継続時間を表し、TS_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、FT_TS1は、前記第1のパケットの前記タイムスタンプを表し、FT_TS2は、前記第2のパケットの前記タイムスタンプを表し、Nは、0より大きい整数である、
    請求項3に記載の方法。
  5. 前記オーディオパラメータ値が前記タイムスタンプを有する場合、前記切替装置により、前記第1のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定することは、
    前記切替装置により、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプ、前記第1のビデオストリームのビデオフレーム継続時間、前記第1のビデオストリームのクロック周波数、及び前記第1のオーディオストリームのサンプリングレートに基づいて、前記第1のオーディオストリームの前記切替ポイントのタイムスタンプを決定し、且つ前記切替装置により、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプ、前記第2のビデオストリームのビデオフレーム継続時間、前記第2のビデオストリームのクロック周波数、及び前記第1のオーディオストリームのサンプリングレートに基づいて、前記第1のオーディオストリームの前記切替ポイントのタイムスタンプを決定する、
    ことを有する、請求項1乃至4のいずれか一項に記載の方法。
  6. 前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプ、及び前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプは、以下の条件:
    TS_sw_a1=(TS_sw_v1+T1-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a;及び
    TS_sw_a2=(TS_sw_v2+T2-TS_ref_v)*frequency_a2/frequency_v2+TS_ref_a
    を満たし、
    ただし、TS_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、T1は、前記第1のビデオストリームの前記ビデオフレーム継続時間を表し、T2は、前記第2のビデオストリームの前記ビデオフレーム継続時間を表し、TS_ref_vは、第1の時点を基準として用いることによって決定されるビデオストリームの基準タイムスタンプを表し、TS_ref_aは、前記第1の時点を基準として用いることによって決定されるオーディオストリームの基準タイムスタンプを表し、前記第1の時点は、前記切替装置上の任意の過去の時点であり、frequency_a1は、前記第1のオーディオストリームの前記サンプリングレートであり、frequency_a2は、前記第2のオーディオストリームの前記サンプリングレートであり、frequency_v1は、前記第1のビデオストリームの前記クロック周波数であり、frequency_v2は、前記第2のビデオストリームの前記クロック周波数である、
    請求項5に記載の方法。
  7. 前記第1のオーディオストリームの前記サンプリングレートは、前記第1のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、前記第1のオーディオストリーム内の前記2つの受信パケットのシーケンス番号とに基づいて決定され、又は前記第2のオーディオストリームの前記サンプリングレートは、前記第2のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、前記第2のオーディオストリーム内の任意の2つの受信パケットのシーケンス番号とに基づいて決定される、請求項6に記載の方法。
  8. 前記オーディオパラメータ値は前記シーケンス番号を有し、
    前記切替装置により、前記第1のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定することは、
    前記切替装置により、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを決定し、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第1のオーディオストリームの前記切替ポイントのシーケンス番号を決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを決定し、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第2のオーディオストリームの前記切替ポイントのシーケンス番号を決定する、
    ことを有する、
    請求項1乃至7のいずれか一項に記載の方法。
  9. 前記第1のオーディオストリームの前記切替ポイントの前記シーケンス番号、及び前記第2のオーディオストリームの前記切替ポイントの前記シーケンス番号は、以下の条件:
    SN_sw_a1=SN1+(TS_sw_a1-TS1)/AvgTS1;及び
    SN_sw_a2=SN2+(TS_sw_a2-TS2)/AvgTS2
    を満たし、
    ただし、AvgTS1=packetTime1*frequency_a1、AvgTS2=packetTime2*frequency_a2であり、packetTime1は、前記第1のオーディオストリームのパケット継続時間であり、packetTime2は、前記第2のオーディオストリームのパケット継続時間であり、frequency_a1は、前記第1のオーディオストリームのサンプリングレートを表し、frequency_a2は、前記第2のオーディオストリームのサンプリングレートを表し、TS_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、SN_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記シーケンス番号を表し、SN_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記シーケンス番号を表し、SN1は、前記第1のオーディオストリームの第3のパケットのシーケンス番号を表し、TS1は、前記第3のパケットのタイムスタンプを表し、SN2は、前記第2のオーディオストリーム内の第4のパケットのシーケンス番号を表し、TS2は、前記第4のパケットのタイムスタンプを表し、前記第3のパケットは、前記第1のオーディオストリーム内の任意の受信パケットであり、前記第4のパケットは、前記第2のオーディオストリーム内の任意の受信パケットである、
    請求項8に記載の方法。
  10. 前記ビデオパラメータ値が前記シーケンス番号を有する場合、前記切替装置により、前記同期関係及び前記第1のパケットのビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットのビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定することは、
    前記切替装置により、前記同期関係、前記第1のパケットのシーケンス番号、及び前記第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、前記第1のビデオストリームの前記切替ポイントのシーケンス番号を決定し、且つ前記同期関係、前記第2のパケットのシーケンス番号、及び前記第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、前記第2のビデオストリームの前記切替ポイントのシーケンス番号を決定する、
    ことを有する、請求項2乃至9のいずれか一項に記載の方法。
  11. 前記第1のビデオストリームの前記切替ポイントの前記シーケンス番号、及び前記第2のビデオストリームの前記切替ポイントの前記シーケンス番号は、以下の条件:
    前記第1のビデオストリームと前記第2のビデオストリームとが同期している場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+N*M2;
    前記第1のビデオストリームが前記第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+1)*M1、且つSN_sw_v2=FT_SN2+N*M2;又は
    前記第1のビデオストリームが前記第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+1)*M2
    を満たし、
    ただし、M1は、前記第1のビデオフレームに含まれるパケットの数を表し、M2は、前記第2のビデオフレームに含まれるパケットの数を表し、SN_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記シーケンス番号を表し、SN_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記シーケンス番号を表し、FT_SN1は、前記第1のパケットの前記シーケンス番号を表し、FT_SN2は、前記第2のパケットの前記シーケンス番号を表し、Nは、0より大きい整数である、
    請求項10に記載の方法。
  12. 前記第1のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、前記第2のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、又は
    前記第1のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され、前記第2のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される、
    請求項10又は11に記載の方法。
  13. 前記第1のビデオストリームの前記ビデオフレーム継続時間は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、前記第2のビデオストリームの前記ビデオフレーム継続時間は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、又は
    前記第1のビデオストリームの前記ビデオフレーム継続時間は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定され、前記第2のビデオストリームの前記ビデオフレーム継続時間は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される、
    請求項3乃至7のいずれか一項に記載の方法。
  14. 前記第1のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信される前に受信された前記第1のビデオストリーム内の2つのビデオフレームであり、前記第2のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信される前に受信された前記第2のビデオストリーム内の2つのビデオフレームであり、且つ
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、又は
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである、
    請求項12又は13に記載の方法。
  15. 前記第1のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、前記第2のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、且つ
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである、
    請求項12又は13に記載の方法。
  16. 前記第1のパケットは、前記第1のビデオフレーム内のフレームトレーラパケットであり、前記第2のパケットは、前記第2のビデオフレーム内のフレームトレーラパケットであり、又は
    前記第1のパケットは、前記第1のビデオフレーム内のフレームヘッダパケットであり、前記第2のパケットは、前記第2のビデオフレーム内のフレームヘッダパケットである、
    請求項2乃至15のいずれか一項に記載の方法。
  17. オーディオストリーム及びビデオストリーム同期切替装置であって、
    切替命令を受信するように構成された受信ユニットであり、前記切替命令は、送信されている第1のオーディオストリームから第2のオーディオストリームに切り替えるように、及び送信されている第1のビデオストリームから第2のビデオストリームに切り替えるように指示するために使用される、受信ユニットと、
    処理ユニットであり、当該処理ユニットは、前記第1のビデオストリームの切替ポイントのビデオパラメータ値、及び前記第2のビデオストリームの切替ポイントのビデオパラメータ値を決定するように構成され、前記ビデオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を有し、当該処理ユニットは、前記第1のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値に基づいて、前記第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するように構成され、前記オーディオパラメータ値は、タイムスタンプ及び/又はシーケンス番号を有する、処理ユニットと、
    前記第1のビデオストリーム内にあり且つそのビデオパラメータ値が前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値よりも大きいパケットを、前記第2のビデオストリーム内にあり且つそのビデオパラメータ値が前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値よりも大きいパケットに切り替え、且つ前記第1のオーディオストリーム内にあり且つそのオーディオパラメータ値が前記第1のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値よりも大きいパケットを、前記第2のオーディオストリーム内にあり且つそのオーディオパラメータ値が前記第2のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値よりも大きいパケットに切り替えるように構成された送信ユニット、
    とを有する装置。
  18. 前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値、及び前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定するとき、前記処理ユニットは具体的に、
    前記第1のビデオストリーム内の第1のパケットのタイムスタンプ及び前記第2のビデオストリーム内の第2のパケットのタイムスタンプに基づいて、前記第1のビデオストリームと前記第2のビデオストリームとの間の同期関係を決定し、前記第1のパケットが属する第1のビデオフレームを受信する期間が、前記第2のパケットが属する第2のビデオフレームを受信する期間と重なり合い、
    前記同期関係及び前記第1のパケットのビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットのビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定する、
    ように構成される、請求項17に記載の装置。
  19. 前記ビデオパラメータ値が前記タイムスタンプを有する場合、前記同期関係及び前記第1のパケットのビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットのビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定するとき、前記処理ユニットは具体的に、
    前記同期関係、前記第1のパケットの前記タイムスタンプ、及び前記第1のビデオストリームのビデオフレーム継続時間に基づいて、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを決定し、且つ前記同期関係、前記第2のパケットの前記タイムスタンプ、及び前記第2のビデオストリームのビデオフレーム継続時間に基づいて、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを決定する、
    ように構成される、請求項18に記載の装置。
  20. 前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプ、及び前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプは、以下の条件:
    前記第1のビデオストリームと前記第2のビデオストリームとが同期している場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+N*T2;
    前記第1のビデオストリームが前記第2のビデオストリームより後である場合、TS_sw_v1=FT_TS1+(N+1)*T1、且つTS_sw_v2=FT_TS2+N*T2;又は
    前記第1のビデオストリームが前記第2のビデオストリームより前である場合、TS_sw_v1=FT_TS1+N*T1、且つTS_sw_v2=FT_TS2+(N+1)*T2
    を満たし、
    ただし、T1は、前記第1のビデオストリームの前記ビデオフレーム継続時間を表し、T2は、前記第2のビデオストリームの前記ビデオフレーム継続時間を表し、TS_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、FT_TS1は、前記第1のパケットの前記タイムスタンプを表し、FT_TS2は、前記第2のパケットの前記タイムスタンプを表し、Nは、0より大きい整数である、
    請求項19に記載の装置。
  21. 前記オーディオパラメータ値は前記タイムスタンプを有し、前記第1のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、第1のオーディオストリームの切替ポイントのオーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントのタイムスタンプに基づいて、前記第2のオーディオストリームの切替ポイントのオーディオパラメータ値を決定するとき、前記処理ユニットは具体的に、
    前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプ、前記第1のビデオストリームのビデオフレーム継続時間、前記第1のビデオストリームのクロック周波数、及び前記第1のオーディオストリームのサンプリングレートに基づいて、前記第1のオーディオストリームの前記切替ポイントのタイムスタンプを決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプ、前記第2のビデオストリームのビデオフレーム継続時間、前記第2のビデオストリームのクロック周波数、及び前記第1のオーディオストリームのサンプリングレートに基づいて、前記第1のオーディオストリームの前記切替ポイントのタイムスタンプを決定する、
    ように構成される、請求項17乃至20のいずれか一項に記載の装置。
  22. 前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプ、及び前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプは、以下の条件:
    TS_sw_a1=(TS_sw_v1+T1-TS_ref_v)*frequency_a1/frequency_v1+TS_ref_a;及び
    TS_sw_a2=(TS_sw_v2+T2-TS_ref_v)*frequency_a2/frequency_v2+TS_ref_a
    を満たし、
    ただし、TS_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプを表し、T1は、前記第1のビデオストリームの前記ビデオフレーム継続時間を表し、T2は、前記第2のビデオストリームの前記ビデオフレーム継続時間を表し、TS_ref_vは、第1の時点を基準として用いることによって決定されるビデオストリームの基準タイムスタンプを表し、TS_ref_aは、前記第1の時点を基準として用いることによって決定されるオーディオストリームの基準タイムスタンプを表し、前記第1の時点は、当該切替装置上の任意の過去の時点であり、frequency_a1は、前記第1のオーディオストリームの前記サンプリングレートであり、frequency_a2は、前記第2のオーディオストリームの前記サンプリングレートであり、frequency_v1は、前記第1のビデオストリームの前記クロック周波数であり、frequency_v2は、前記第2のビデオストリームの前記クロック周波数である、
    請求項21に記載の装置。
  23. 前記第1のオーディオストリームの前記サンプリングレートは、前記第1のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、前記第1のオーディオストリーム内の前記2つの受信パケットのシーケンス番号とに基づいて決定され、又は前記第2のオーディオストリームの前記サンプリングレートは、前記第2のオーディオストリーム内の任意の2つの受信パケットのタイムスタンプと、前記第2のオーディオストリーム内の任意の2つの受信パケットのシーケンス番号とに基づいて決定される、請求項22に記載の装置。
  24. 前記オーディオパラメータ値は前記シーケンス番号を有し、
    前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第1のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値を決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第2のオーディオストリームの前記切替ポイントの前記オーディオパラメータ値を決定するとき、前記処理ユニットは具体的に、
    前記第1のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを決定し、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第1のオーディオストリームの前記切替ポイントのシーケンス番号を決定し、且つ前記第2のビデオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを決定し、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプに基づいて、前記第2のオーディオストリームの前記切替ポイントのシーケンス番号を決定する、
    ように構成される、
    請求項17乃至23のいずれか一項に記載の装置。
  25. 前記第1のオーディオストリームの前記切替ポイントの前記シーケンス番号、及び前記第2のオーディオストリームの前記切替ポイントの前記シーケンス番号は、以下の条件:
    SN_sw_a1=SN1+(TS_sw_a1-TS1)/AvgTS1;及び
    SN_sw_a2=SN2+(TS_sw_a2-TS2)/AvgTS2
    を満たし、
    ただし、AvgTS1=packetTime1*frequency_a1、AvgTS2=packetTime2*frequency_a2であり、packetTime1は、前記第1のオーディオストリームのパケット継続時間であり、packetTime2は、前記第2のオーディオストリームのパケット継続時間であり、frequency_a1は、前記第1のオーディオストリームのサンプリングレートを表し、frequency_a2は、前記第2のオーディオストリームのサンプリングレートを表し、TS_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、TS_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記タイムスタンプを表し、SN_sw_a1は、前記第1のオーディオストリームの前記切替ポイントの前記シーケンス番号を表し、SN_sw_a2は、前記第2のオーディオストリームの前記切替ポイントの前記シーケンス番号を表し、SN1は、前記第1のオーディオストリームの第3のパケットのシーケンス番号を表し、TS1は、前記第3のパケットのタイムスタンプを表し、SN2は、前記第2のオーディオストリーム内の第4のパケットのシーケンス番号を表し、TS2は、前記第4のパケットのタイムスタンプを表し、前記第3のパケットは、前記第1のオーディオストリーム内の任意の受信パケットであり、前記第4のパケットは、前記第2のオーディオストリーム内の任意の受信パケットである、
    請求項24に記載の装置。
  26. 前記ビデオパラメータ値が前記シーケンス番号を有する場合、前記同期関係及び前記第1のパケットの前記ビデオパラメータ値に基づいて、前記第1のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定し、且つ前記同期関係及び前記第2のパケットの前記ビデオパラメータ値に基づいて、前記第2のビデオストリームの前記切替ポイントの前記ビデオパラメータ値を決定するとき、前記処理ユニットは具体的に、
    前記同期関係、前記第1のパケットのシーケンス番号、及び前記第1のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、前記第1のビデオストリームの前記切替ポイントのシーケンス番号を決定し、且つ前記同期関係、前記第2のパケットのシーケンス番号、及び前記第2のビデオストリームにおけるビデオフレーム内のパケットの数に基づいて、前記第2のビデオストリームの前記切替ポイントのシーケンス番号を決定する、
    ように構成される、請求項18乃至25のいずれか一項に記載の装置。
  27. 前記第1のビデオストリームの前記切替ポイントの前記シーケンス番号、及び前記第2のビデオストリームの前記切替ポイントの前記シーケンス番号は、以下の条件:
    前記第1のビデオストリームと前記第2のビデオストリームとが同期している場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+N*M2;
    前記第1のビデオストリームが前記第2のビデオストリームより後である場合、SN_sw_v1=FT_SN1+(N+1)*M1、且つSN_sw_v2=FT_SN2+N*M2;又は
    前記第1のビデオストリームが前記第2のビデオストリームより前である場合、SN_sw_v1=FT_SN1+N*M1、且つSN_sw_v2=FT_SN2+(N+1)*M2
    を満たし、
    ただし、M1は、前記第1のビデオフレームに含まれるパケットの数を表し、M2は、前記第2のビデオフレームに含まれるパケットの数を表し、SN_sw_v1は、前記第1のビデオストリームの前記切替ポイントの前記シーケンス番号を表し、SN_sw_v2は、前記第2のビデオストリームの前記切替ポイントの前記シーケンス番号を表し、FT_SN1は、前記第1のパケットの前記シーケンス番号を表し、FT_SN2は、前記第2のパケットの前記シーケンス番号を表し、Nは、0より大きい整数である、
    請求項26に記載の装置。
  28. 前記第1のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、前記第2のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のシーケンス番号差に基づいて決定され、又は
    前記第1のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定され、前記第2のビデオストリームにおける前記ビデオフレーム内の前記パケットの数は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のシーケンス番号差に基づいて決定される、
    請求項26又は27に記載の装置。
  29. 前記第1のビデオストリームの前記ビデオフレーム継続時間は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、前記第2のビデオストリームの前記ビデオフレーム継続時間は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームトレーラパケット間のタイムスタンプ差に基づいて決定され、又は
    前記第1のビデオストリームの前記ビデオフレーム継続時間は、前記第1のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定され、前記第2のビデオストリームの前記ビデオフレーム継続時間は、前記第2のビデオストリーム内の2つの隣接し合うビデオフレーム内の受信フレームヘッダパケット間のタイムスタンプ差に基づいて決定される、
    請求項19乃至23のいずれか一項に記載の装置。
  30. 前記第1のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信される前に受信された前記第1のビデオストリーム内の2つのビデオフレームであり、前記第2のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信される前に受信された前記第2のビデオストリーム内の2つのビデオフレームであり、且つ
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の先行ビデオフレームであり、又は
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである、
    請求項28又は29に記載の装置。
  31. 前記第1のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、前記第2のビデオストリーム内の前記2つの隣接し合うビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、及び該ビデオフレームの次のビデオフレームであり、且つ
    前記第1のビデオフレームは、前記切替命令が受信された時に受信されていた前記第1のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームであり、前記第2のビデオフレームは、前記切替命令が受信された時に受信されていた前記第2のビデオストリーム内のパケットが中にあるビデオフレーム、の次のビデオフレームである、
    請求項28又は29に記載の装置。
  32. 前記第1のパケットは、前記第1のビデオフレーム内のフレームトレーラパケットであり、前記第2のパケットは、前記第2のビデオフレーム内のフレームトレーラパケットであり、又は
    前記第1のパケットは、前記第1のビデオフレーム内のフレームヘッダパケットであり、前記第2のパケットは、前記第2のビデオフレーム内のフレームヘッダパケットである、
    請求項28乃至31のいずれか一項に記載の装置。
  33. プロセッサと、該プロセッサに結合されたメモリとを有するオーディオストリーム及びビデオストリーム同期切替装置であって、前記メモリはコンピュータプログラムを格納し、前記プロセッサが前記コンピュータプログラムを実行するとき、請求項1乃至16のいずれか一項に記載の方法を当該装置が実行することが可能にされる、装置。
  34. コンピュータプログラムを格納したコンピュータ読み取り可能記憶媒体であって、前記コンピュータプログラムが実行されるとき、請求項1乃至16のいずれか一項に記載の方法をコンピュータが実行することが可能にされる、コンピュータ読み取り可能記憶媒体。
JP2021540224A 2019-02-28 2019-12-07 オーディオストリーム及びビデオストリーム同期切替方法及び装置 Active JP7171929B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910151206.7A CN111629158B (zh) 2019-02-28 2019-02-28 一种音频流和视频流同步切换方法及装置
CN201910151206.7 2019-02-28
PCT/CN2019/123843 WO2020173165A1 (zh) 2019-02-28 2019-12-07 一种音频流和视频流同步切换方法及装置

Publications (2)

Publication Number Publication Date
JP2022517587A true JP2022517587A (ja) 2022-03-09
JP7171929B2 JP7171929B2 (ja) 2022-11-15

Family

ID=72238739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540224A Active JP7171929B2 (ja) 2019-02-28 2019-12-07 オーディオストリーム及びビデオストリーム同期切替方法及び装置

Country Status (6)

Country Link
US (1) US11368634B2 (ja)
EP (1) EP3883238B1 (ja)
JP (1) JP7171929B2 (ja)
KR (1) KR102519381B1 (ja)
CN (1) CN111629158B (ja)
WO (1) WO2020173165A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143606A (zh) * 2018-08-22 2022-03-04 华为技术有限公司 一种实现视频流切换的方法、装置和系统
US11838357B1 (en) * 2021-07-29 2023-12-05 Amazon Technologies, Inc. Incremental stream switching in distributed systems
IT202200003209A1 (it) 2022-02-21 2023-08-21 Univ Bologna Alma Mater Studiorum Procedimento per la produzione di una miscela utilizzabile come jet fuel a partire da alcoli c2-c4 e relativo impianto
CN115174979B (zh) * 2022-06-20 2023-12-29 阿里巴巴(中国)有限公司 流媒体传输网络及传输控制方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040218093A1 (en) * 1997-03-03 2004-11-04 Hayder Radha Seamless splicing of MPEG-2 multimedia data streams
JP2018042019A (ja) * 2016-09-05 2018-03-15 株式会社メディアリンクス 映像切替システム
US20180241969A1 (en) * 2008-04-11 2018-08-23 Mobitv, Inc. Dynamic advertisement stream replacement

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002007440A2 (en) * 2000-07-15 2002-01-24 Filippo Costanzo Audio-video data switching and viewing system
EP2082571B1 (en) * 2006-11-07 2016-05-04 Thomson Licensing Method for reducing channel change times and synchronizing audio/video content during channel change
CN101282482B (zh) * 2008-05-04 2011-05-11 中兴通讯股份有限公司 视频数据与音频数据同步播放的装置、系统和方法
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
CN101662689B (zh) * 2008-08-25 2011-07-06 华为技术有限公司 交互电视频道切换方法及系统、音视频流发送方法及装置
EP2448265A1 (en) * 2010-10-26 2012-05-02 Google, Inc. Lip synchronization in a video conference
US10158927B1 (en) * 2012-09-05 2018-12-18 Google Llc Systems and methods for detecting audio-video synchronization using timestamps
US9154834B2 (en) * 2012-11-06 2015-10-06 Broadcom Corporation Fast switching of synchronized media using time-stamp management
US9860458B2 (en) * 2013-06-19 2018-01-02 Electronics And Telecommunications Research Institute Method, apparatus, and system for switching transport stream
GB2516316A (en) * 2013-07-19 2015-01-21 Sony Corp Video network
TWI561070B (en) * 2014-01-03 2016-12-01 Mstar Semiconductor Inc Decoder and decoding method for audio video stream synchronization
CN105657579A (zh) * 2015-10-29 2016-06-08 乐视致新电子科技(天津)有限公司 直播音频切换方法、流媒体服务器及客户端
CN105376613B (zh) * 2015-12-10 2019-05-10 华为技术有限公司 一种快速频道切换方法、服务器及iptv系统
CN105657524A (zh) * 2016-01-13 2016-06-08 上海视云网络科技有限公司 一种视频间无缝切换的方法
CN106488255B (zh) * 2016-10-24 2019-05-14 广州酷狗计算机科技有限公司 一种切换媒体流的方法及装置
US20180367839A1 (en) * 2017-06-16 2018-12-20 Oohms Ny Llc Method and system for synchronization of audio content for a remotely displayed video
CN107277594B (zh) * 2017-07-06 2020-04-28 广州华多网络科技有限公司 一种视音频与弹幕同步方法及装置
US11122310B2 (en) * 2017-09-14 2021-09-14 Media Links Co., Ltd. Video switching system
CN109348247B (zh) * 2018-11-23 2021-03-30 广州酷狗计算机科技有限公司 确定音视频播放时间戳的方法、装置及存储介质
US10778361B1 (en) * 2019-03-04 2020-09-15 Mellanox Technologies Tlv Ltd. Stream synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040218093A1 (en) * 1997-03-03 2004-11-04 Hayder Radha Seamless splicing of MPEG-2 multimedia data streams
US20180241969A1 (en) * 2008-04-11 2018-08-23 Mobitv, Inc. Dynamic advertisement stream replacement
JP2018042019A (ja) * 2016-09-05 2018-03-15 株式会社メディアリンクス 映像切替システム

Also Published As

Publication number Publication date
CN111629158B (zh) 2021-08-03
KR102519381B1 (ko) 2023-04-06
US20210377458A1 (en) 2021-12-02
EP3883238A4 (en) 2022-03-23
CN111629158A (zh) 2020-09-04
KR20210094078A (ko) 2021-07-28
US11368634B2 (en) 2022-06-21
JP7171929B2 (ja) 2022-11-15
EP3883238A1 (en) 2021-09-22
WO2020173165A1 (zh) 2020-09-03
EP3883238B1 (en) 2024-04-03

Similar Documents

Publication Publication Date Title
JP7171929B2 (ja) オーディオストリーム及びビデオストリーム同期切替方法及び装置
JP7273144B2 (ja) ビデオストリーム切換え方法、装置及びシステム
US11483495B2 (en) Method, apparatus, and system for implementing video stream switching
EP3195533B1 (en) Video network
CN110677394B (zh) 一种多媒体数据的传输方法及系统
JP2011114490A (ja) 放送素材送出装置及びデータ送出方法
CN112272306B (zh) 一种多路实时交互视频融合传输方法
CN112272305B (zh) 一种多路实时交互视频缓存存储方法
JP5159973B1 (ja) 伝送パケットの配信方法
JP5367771B2 (ja) 映像伝送システム
WO2024046071A1 (zh) 一种数据传输方法及装置
JP7284266B2 (ja) オーディオストリーム切り替え方法および装置
WO2023168133A2 (en) Packet wash of rtp aggregation packets in a video stream
Laabs SDI over IP

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221102

R150 Certificate of patent or registration of utility model

Ref document number: 7171929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150