JP2015525515A - Transport stream multiplexer and method for providing packets on a transport stream - Google Patents

Transport stream multiplexer and method for providing packets on a transport stream Download PDF

Info

Publication number
JP2015525515A
JP2015525515A JP2015515048A JP2015515048A JP2015525515A JP 2015525515 A JP2015525515 A JP 2015525515A JP 2015515048 A JP2015515048 A JP 2015515048A JP 2015515048 A JP2015515048 A JP 2015515048A JP 2015525515 A JP2015525515 A JP 2015525515A
Authority
JP
Japan
Prior art keywords
transport stream
source
metadata
metadata array
location
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.)
Pending
Application number
JP2015515048A
Other languages
Japanese (ja)
Inventor
ハルク ウカル
ハルク ウカル
Original Assignee
マグナム セミコンダクター, インコーポレイテッド
マグナム セミコンダクター, インコーポレイテッド
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 マグナム セミコンダクター, インコーポレイテッド, マグナム セミコンダクター, インコーポレイテッド filed Critical マグナム セミコンダクター, インコーポレイテッド
Publication of JP2015525515A publication Critical patent/JP2015525515A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • 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/70Media network packetisation
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • 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/23605Creation or processing of packetized elementary streams [PES]
    • 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/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/2365Multiplexing of several 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/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

説明する例は、トランスポートストリームパケットを生成するために用いる適切なソースを検索することを必要とし得ないトランスポートストリームマルチプレクサを含む。その代わり、用いられるソースは、メモリテーブル、例えばメタデータアレイ、の中の位置(例えば、入力)によって示され得る。トランスポートストリームパケットをトランスポートストリーム上に置いて、メタデータアレイを初期化する方法もまた、説明されている。The described example includes a transport stream multiplexer that may not require searching for an appropriate source to use to generate a transport stream packet. Instead, the source used may be indicated by a location (eg, input) in a memory table, eg, a metadata array. A method for initializing a metadata array by placing transport stream packets on the transport stream is also described.

Description

関連出願
本出願は、2012年5月31日に提出された米国非暫定出願第13/485,398号に対する優先権を要求するものであり、その出願を、あらゆる目的のために、その全体が参照により本明細書に組み込まれる。
This application claims priority to US Non-Provisional Application No. 13 / 485,398 filed May 31, 2012, which is hereby incorporated in its entirety for all purposes. Which is incorporated herein by reference.

本発明の実施形態は、一般には、音声および/または映像の信号などの圧縮信号のトランスポートストリームに関する。   Embodiments of the present invention generally relate to a transport stream of compressed signals, such as audio and / or video signals.

図1は、媒体システムの略図である。媒体システム100は、図1に示すソース#1、ソース#2、およびソース#3などの様々なソースから媒体を受信し得る。ソースは、任意のタイプの情報(例えば、音声、映像、またはデータ)であり得るし、またデジタルもしくはアナログであり得る。ソースは、番組(例えば、これらに限られないが、映画、ニュース放送、スポーツ、または他のイベントの番組などのテレビまたは映像の番組)または番組の一部であり得る。一部の例では、ソースは、音声、映像、および/またはデータの情報の組み合わせを含み得る。データ情報の例は、例えば、サブタイトルまたは他のデジタル情報を含む。   FIG. 1 is a schematic diagram of a media system. Media system 100 may receive media from various sources such as source # 1, source # 2, and source # 3 shown in FIG. The source can be any type of information (eg, audio, video, or data) and can be digital or analog. The source can be a program (eg, a television or video program such as, but not limited to, a movie, news broadcast, sports, or other event program) or part of a program. In some examples, the source may include a combination of audio, video, and / or data information. Examples of data information include, for example, subtitles or other digital information.

ソースからの情報は、適切な符号器、例えば、図1に示す符号器105〜107によって符号化され得る。符号器105〜107は、ソース情報をいずれかの周知の方法で符号化して、例えば、その情報を圧縮し得る。符号器105〜107は、これらには限られないが、MPEG−2、MPEG−4、H.264、H.HEVC、もしくはこれらの組み合わせまたは他の符号化基準を含む情報のための任意の適切な符号化方法を実施し得る。符号化されたデータは次に、トランスポートマルチプレクサ110に提供され得る。   Information from the source may be encoded by a suitable encoder, for example, encoders 105-107 shown in FIG. Encoders 105-107 may encode the source information in any known manner, for example, to compress the information. The encoders 105 to 107 are not limited to these, but are MPEG-2, MPEG-4, H.264, and the like. H.264, H.C. Any suitable encoding method for information including HEVC, or combinations thereof, or other encoding criteria may be implemented. The encoded data can then be provided to the transport multiplexer 110.

トランスポートマルチプレクサ110は、符号化されたデータを複数のソースから受信し、それらを交互配置してトランスポートストリーム115にする。トランスポートマルチプレクサ110は、一般に、受信したデータをパケットとして、トランスポートストリーム115上に提供する。各々のトランスポートストリームパケットは、従来は、パケットを識別する4バイトのヘッダならびにそれに続く制御データ、オプションのタイミング情報、および、ソースのうちの1つからの圧縮データのセクションを持つ188バイトであり得る。トランスポートストリーム115のビットレートは、一般的には一定であり、例えば、1秒に送信されるトランスポートストリームの数は、固定され得る。スタッフィングパケットは、したがって、目標とするビットレートを充填するに不十分なデータが利用可能であるときに、トランスポートマルチプレクサ110によって挿入され得る。   The transport multiplexer 110 receives encoded data from a plurality of sources and interleaves them into a transport stream 115. The transport multiplexer 110 generally provides the received data as packets on the transport stream 115. Each transport stream packet is conventionally 188 bytes with a 4-byte header identifying the packet followed by control data, optional timing information, and a section of compressed data from one of the sources. obtain. The bit rate of the transport stream 115 is generally constant. For example, the number of transport streams transmitted per second can be fixed. Stuffing packets can therefore be inserted by the transport multiplexer 110 when insufficient data is available to fill the target bit rate.

したがって、トランスポートマルチプレクサ110は、符号化されたデータのパケットを選択されたソースからトランスポートストリーム115に連続的に提供し得る。トランスポートストリーム115は、トランスポートストリーム115を解凍して復号化するおよび/またはトランスポートストリーム115を再放送し得る任意の数の宛先に提供され得る。宛先の例は、衛星120、地上波アンテナ121、およびネットワーク122を含む。再生デバイス(例えば、セットトップボックス)はまた、一部の例では、再生する目的で、トランスポートストリーム115を受信して復号化し得る。   Thus, the transport multiplexer 110 may continuously provide encoded data packets from the selected source to the transport stream 115. The transport stream 115 may be provided to any number of destinations that can decompress and decode the transport stream 115 and / or rebroadcast the transport stream 115. Examples of destinations include satellite 120, terrestrial antenna 121, and network 122. A playback device (eg, a set top box) may also receive and decode the transport stream 115 for playback purposes in some examples.

トランスポートストリーム上にパケットを提供する方法を含む例としての方法が、本明細書に開示される。例としての方法は、インデックスポインタによって示される位置のメタデータアレイを読み出すことであって、ソースインジケータおよび開放時間スタンプが、メタデータアレイ中の位置に記憶される、読み出すことと、インデックスポインタによって示された位置に記憶されたソースインジケータによって示されるソースからトランスポートストリームパケットを生成することと、インデックスポインタによって示された位置に記憶された開放時間スタンプに基づいてトランスポートストリームに開放時間スタンプを割り当てることと、開放時間スタンプに対応する時間で、トランスポートストリーム上にトランスポートストリームパケットを、トランスポートストリームマルチプレクサを用いて提供することと、を含み得る。   An exemplary method is disclosed herein, including a method for providing packets on a transport stream. An example method is to read the metadata array at the location indicated by the index pointer, where the source indicator and release time stamp are stored at the location in the metadata array and indicated by the index pointer. Generating a transport stream packet from the source indicated by the source indicator stored at the indicated location and assigning a release time stamp to the transport stream based on the release time stamp stored at the location indicated by the index pointer And providing a transport stream packet on the transport stream using a transport stream multiplexer at a time corresponding to the open time stamp.

例としての方法は、インデックスポインタによって示された位置に記憶されたソースインジケータによって示されるソースに対する次のメタデータアレイ位置を計算することと、次のメタデータアレイ位置がメタデータアレイ内にあれば、対応するソースインジケータを次のメタデータアレイ位置に記憶することと、次のメタデータアレイ位置が現在メタデータアレイ内になければ、対応するソースインジケータを実行可能リストに記憶すること、をさらに含み得る。   An example method is to calculate the next metadata array location for the source indicated by the source indicator stored at the location indicated by the index pointer, and if the next metadata array location is in the metadata array. Storing the corresponding source indicator in the next metadata array location and storing the corresponding source indicator in the ready list if the next metadata array location is not currently in the metadata array. obtain.

一部の例では、次のメタデータアレイ位置を計算することは、ソースインジケータによって示されたソースの漏出速度に基づき得る。   In some examples, calculating the next metadata array location may be based on the leak rate of the source indicated by the source indicator.

一部の例では、次のメタデータアレイ位置を計算することは、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数に基づき得る。   In some examples, calculating the next metadata array position may be based on the system clock frequency used by the transport stream multiplexer.

例としての方法は、インデックスポインタによって示された位置のメタデータアレイを、更新された開放時間スタンプを記憶することによって更新することをさらに含み得る。   The example method may further include updating the metadata array at the location indicated by the index pointer by storing the updated release time stamp.

一部の例では、更新された開放時間スタンプは、メタデータアレイのサイズに基づき得る。   In some examples, the updated release time stamp may be based on the size of the metadata array.

例としての方法は、インデックスポインタによって示された位置のメタデータアレイを、更新されたソースインジケータを記憶することによって更新することをさらに含み得る。   The example method may further include updating the metadata array at the location indicated by the index pointer by storing the updated source indicator.

一部の例では、更新されたソースインジケータは、スタッフィングパケットのソースに対応し得る。   In some examples, the updated source indicator may correspond to the source of the stuffing packet.

例としての方法は、トランスポートストリームマルチプレクサのメタデータアレイを投入する方法を含み得る。例としての方法は、メタデータアレイを初期化することであって、メタデータアレイが、複数のメタデータアレイの位置の各々で開放時間スタンプおよびソースインジケータを含む、初期化することと、第1のソースを識別することと、複数のメタデータアレイ位置のうちの1つを、少なくとも部分的に、トランスポートストリーム上に置かれるパケットを第1のソースが必要とする時間に基づいて第1のソースに割り当てることと、複数のメタデータアレイ位置のうちの1つを、第1のソースに対応するソースインジケータを有するように更新することと、を含み得る。   An exemplary method may include a method of populating a metadata array of transport stream multiplexers. An exemplary method is to initialize a metadata array, wherein the metadata array includes an open time stamp and a source indicator at each of the plurality of metadata array locations; And identifying one of the plurality of metadata array locations, at least in part, based on a time that the first source requires a packet to be placed on the transport stream. Assigning to the source and updating one of the plurality of metadata array locations to have a source indicator corresponding to the first source.

一部の例では、初期化が、ビットスタッフィングパケットのソースを示すソースインジケータをメタデータアレイ中の全ての位置に書き込むことを含み得る。   In some examples, the initialization may include writing a source indicator that indicates the source of the bit stuffing packet to all locations in the metadata array.

一部の例では、初期化が、開放時間スタンプをメタデータアレイ中の全ての位置に書き込むことを含み得るが、連続する位置が、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数と、トランスポートストリームのビットレートとに少なくとも部分的に基づいた量だけ異なる開放時間スタンプを有する。   In some examples, the initialization may include writing open time stamps to all locations in the metadata array, where successive locations are the system clock frequency used by the transport stream multiplexer and the transport stream. Open time stamps that differ by an amount based at least in part on the bit rate of the.

一部の例では、複数のメタデータ位置のうちの1つを割り当てることが、トランスポートストリーム上に置かれるパケットを第1のソースが必要とする時間に最も近いメタデータ位置を計算することを含み得る。   In some examples, assigning one of the plurality of metadata locations may calculate a metadata location that is closest to the time that the first source needs a packet to be placed on the transport stream. May be included.

一部の例では、割り当てることが、計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソースを示す場合に、計算されたメタデータ位置を割り当てることを含み得る。   In some examples, assigning may include assigning the calculated metadata location if the source indicator stored at the calculated metadata location indicates the source of the current bit stuffing packet.

一部の例では、割り当てることが、計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソース以外を示す場合に、計算されたメタデータ位置の次のメタデータ位置を割り当てることを含み得る。   In some examples, assigning assigns the next metadata location after the computed metadata location if the source indicator stored in the computed metadata location indicates something other than the source of the current bit stuffing packet Can include.

例としてのトランスポートストリームマルチプレクサを本明細書に説明する。例としてのトランスポートストリームマルチプレクサは、プロセッサと、トランスポートストリームの多重化用の命令を記憶するメモリと、トランスポートストリームの連続するパケットに対応する連続する位置を有するメタデータアレイであって、連続する位置の各々が、記憶された開放時間スタンプおよびソースインジケータを含む、メタデータアレイと、を含み得るが、プロセッサが、トランスポートストリームの多重化用の命令に従って、メタデータアレイの位置を読み出し、メタデータアレイの読み出された位置でのソースインジケータによって指定されたソースからトランスポートストリームパケットを生成し、メタデータアレイの読み出された位置での開放時間スタンプと一致する時間でトランスポートストリーム上にトランスポートストリームパケットを提供するように構成される。   An exemplary transport stream multiplexer is described herein. An exemplary transport stream multiplexer is a metadata array having a processor, a memory for storing instructions for multiplexing the transport stream, and a continuous array corresponding to consecutive packets of the transport stream. Each of the locations to include a metadata array including a stored release time stamp and a source indicator, wherein the processor reads the location of the metadata array according to instructions for multiplexing the transport stream; Generate a transport stream packet from the source specified by the source indicator at the read location of the metadata array, and on the transport stream at a time that matches the release time stamp at the read location of the metadata array To Tran Configured to provide a transport stream packet.

一部の例では、トランスポートストリームマルチプレクサが複数のソースと通信状態にあり得るが、読み出された位置でのソースインジケータによって指定されたソースが、複数のソースのうちの選択された1つである。   In some examples, the transport stream multiplexer may be in communication with multiple sources, but the source specified by the source indicator at the read location is the selected one of the multiple sources. is there.

例としてのトランスポートストリームマルチプレクサが実行可能リストをさらに含み得るが、実行可能リストが、現在のメタデータアレイ中に対応する位置を有しないパケットに対する開放時間スタンプおよびソースインジケータを記憶するように構成される。   An example transport stream multiplexer may further include a ready list, but the ready list is configured to store open time stamps and source indicators for packets that do not have a corresponding position in the current metadata array. The

一部の例では、プロセッサが、トランスポートストリームの多重化用の命令に従って、メタデータ中の各々の連続する位置に対応するトランスポートストリーム上にパケットを提供し、実行可能リストに記憶されているデータを用いてメタデータを更新するようにさらに動作可能であり得る。 In some examples, the processor provides packets on the transport stream corresponding to each successive location in the metadata and stored in the ready list in accordance with instructions for multiplexing the transport stream. It may be further operable to update the metadata with the data.

一部の例では、メタデータアレイが、先入れ先出し(FIFO)メモリを備え得る。   In some examples, the metadata array may comprise a first in first out (FIFO) memory.

一部の例では、トランスポートストリームマルチプレクサがクロック信号を受信するようにさらに構成され得るが、メタデータアレイの読み出された位置での開放時間スタンプと一致する時間が、少なくとも部分的にクロック信号に基づく。   In some examples, the transport stream multiplexer may be further configured to receive the clock signal, but the time that matches the open time stamp at the read location of the metadata array is at least partially based on.

媒体システムの略図である。1 is a schematic diagram of a media system. 本発明の実施形態に関わるトランスポートマルチプレクサの略図である。1 is a schematic diagram of a transport multiplexer according to an embodiment of the present invention. 本発明の実施形態に関わるメタデータアレイの略図である。3 is a schematic diagram of a metadata array according to an embodiment of the present invention. 本発明の実施形態に関わるメタデータアレイを投入する方法の略図である。4 is a schematic diagram of a method for populating a metadata array according to an embodiment of the present invention. トランスポートストリームパケットを提供する方法の略図である。1 is a schematic diagram of a method for providing transport stream packets. 本発明の実施形態に関わる媒体送達システムの略図である。1 is a schematic diagram of a media delivery system according to an embodiment of the present invention. 本明細書に説明する符号器を利用し得るビデオ配布システムの略図である。1 is a schematic diagram of a video distribution system that may utilize the encoders described herein.

ある詳細を、本発明の実施形態の十分な理解を提供するために、以下に説明する。しかしながら、本発明の実施形態が、これらの特定的なさまざまな詳細なしで実現され得ることが当業者には明らかであろう。一部の例では、公知の回路、制御信号、タイミングプロトコル、およびソフトウエア動作は、本発明の説明された実施形態を不必要に曖昧化することを避けるために、詳細には図示されていない。   Certain details are set forth below to provide a thorough understanding of embodiments of the invention. However, it will be apparent to those skilled in the art that embodiments of the invention may be practiced without these specific details. In some instances, well-known circuits, control signals, timing protocols, and software operations have not been shown in detail in order to avoid unnecessarily obscuring the described embodiments of the invention. .

本発明の実施形態は、トランスポートストリーム中にパケットを提供するシステムおよび方法を含む。上記したように、トランスポートマルチプレクサはトランスポートストリーム中にパケットを提供し得るが、これらのパケットは複数のソースから受信される。しかしながら、各々のソースは、特定的なタイミング要件を有し得る。ソースからの符号化されたデータのパケットがあまりに遅く送出された場合、宛先は、この符号化されたデータを処理するには不十分な時間を有し得る。ソースからの符号化されたデータのパケットがあまりに早く送出された場合、宛先では、正しい時間に達するまで、データをバッファするには不十分なスペースが存在し得る。   Embodiments of the present invention include systems and methods for providing packets in a transport stream. As described above, the transport multiplexer may provide packets in the transport stream, but these packets are received from multiple sources. However, each source may have specific timing requirements. If a packet of encoded data from a source is sent out too late, the destination may have insufficient time to process this encoded data. If a packet of encoded data from the source is sent out too early, there may be insufficient space at the destination to buffer the data until the correct time is reached.

ソフトウエア、ハードウエア、ファームウエア、またはそれらの組み合わせで実現され得るトランスポートマルチプレクサは、一般的には、トランスポートマルチプレクサに対する入力の数が増すに連れて、より多くのCPU時間を必要とする。それは、従来のトランスポートマルチプレクサが、トランスポートストリーム上に提供され得るデータを提供した全てのソースを識別して評価し得るからである。従来のマルチプレクサは、全てのソースを評価した後で、最も早い締め切りを有するソースを選択して、そのソースからのパケットをトランスポートストリーム上に提供し得る。したがって、ソース(例えば、入力)が増えるに連れて、全てのソースの締め切りを評価するために必要とされるCPUサイクルの量も増える。したがって、従来のトランスポートマルチプレクサは、例えば、およびFPGAまたはかなりの数のCPUサイクルを用いる並列処理を必要とし得る。これらのソリューションは、高価であり得るし、システムの電力需要を不利に増加させ得る。   Transport multiplexers that can be implemented in software, hardware, firmware, or a combination thereof generally require more CPU time as the number of inputs to the transport multiplexer increases. This is because a conventional transport multiplexer can identify and evaluate all sources that provided data that can be provided on the transport stream. A conventional multiplexer, after evaluating all sources, may select the source with the earliest deadline and provide packets from that source on the transport stream. Thus, as the number of sources (eg, inputs) increases, the amount of CPU cycles required to evaluate all source deadlines also increases. Thus, conventional transport multiplexers may require parallel processing, for example, and using FPGAs or a significant number of CPU cycles. These solutions can be expensive and can disadvantageously increase the power demand of the system.

本発明の実施形態は、トランスポートストリーム上にパケットを提供するトランスポートマルチプレクサ、方法、およびシステムを含む。本発明の実施形態は、トランスポートストリームの各々のパケットに対してどのソースを用いるかを決定するために必要とされるCPUサイクルおよび/または複雑性を軽減し得る。本発明のある実施形態の一部の利点を本明細書に説明するが、利点は、説明目的で提供されるだけであり、全ての実施形態が説明される恩典の全てまたはたとえ一部でも享受し得ることを理解すべきである。   Embodiments of the present invention include transport multiplexers, methods, and systems that provide packets on a transport stream. Embodiments of the present invention may reduce the CPU cycles and / or complexity required to determine which source to use for each packet in the transport stream. Although some advantages of certain embodiments of the present invention are described herein, the advantages are provided for illustrative purposes only, and enjoy all or even some of the benefits for which all embodiments are described. It should be understood that this is possible.

図2は、本発明の実施形態に関わるトランスポートマルチプレクサの略図である。トランスポートマルチプレクサ200は、様々なソースからデータ(例えば、符号化されたデータ)を受信し得るが、ソース201〜203を図2に示す。上述したように、ソース201〜203は、符号化された映像、符号化された音声、データ、または類似物であり得るが、各々のソースは番組またはその一部からのものであり得る。一部の例では、複数のソースが、同じ番組またはその一部(例えば、1つの番組に関連する音声、映像、およびデータ)が起源であり得る。スタッフィングパケットのソースもまた、トランスポートストリームマルチプレクサに提供され得る。一般に、スタッフィングパケットは、トランスポートストリーム上に送信されることを意図する任意のコンテンツにも無関係であり得るデータを含み得る。その代わりに、スタッフィングパケットは、一定のビットレートを維持するためにトランスポートストリーム上に挿入され得る。トランスポートマルチプレクサ200にデータを提供し得るソースの性質およびタイプは、多様で柔軟性があり、一般的にトランスポートストリーム上で送信されるデータを提供することが可能な任意のソースを用い得ることを理解すべきである。さらに、任意の数のソースを用い得る。任意の数のソースを用い得るが、1つの例では最大で16の番組、別の例では最大で42の番組、別の例では1000を超えるソースとなる。1Gビットイーサネット(登録商標)などのイーサネットシステムに対してトランスポートストリームを実現する例は、より多くの数のソース、一部の例では1000を超えるソースを有し得る。   FIG. 2 is a schematic diagram of a transport multiplexer according to an embodiment of the present invention. Transport multiplexer 200 may receive data (eg, encoded data) from a variety of sources, with sources 201-203 shown in FIG. As described above, the sources 201-203 can be encoded video, encoded audio, data, or the like, but each source can be from a program or a portion thereof. In some examples, multiple sources may originate from the same program or a portion thereof (eg, audio, video, and data associated with one program). A source of stuffing packets may also be provided to the transport stream multiplexer. In general, a stuffing packet may include data that may be independent of any content intended to be transmitted on the transport stream. Instead, stuffing packets can be inserted on the transport stream to maintain a constant bit rate. The nature and type of sources that can provide data to the transport multiplexer 200 is diverse and flexible, and can generally use any source capable of providing data to be transmitted over the transport stream. Should be understood. In addition, any number of sources can be used. Any number of sources can be used, but in one example up to 16 programs, in another example up to 42 programs, in another example over 1000 sources. An example of implementing a transport stream for an Ethernet system such as 1 Gbit Ethernet may have a greater number of sources, in some examples over 1000 sources.

トランスポートマルチプレクサ200は、CPU205、メタデータアレイ210、実行可能リスト211、およびトランスポート多重化用の命令215を含む。CPU205を実現するためには、任意の適切なプロセッサまたは複数のプロセッサを用い得る。メタデータアレイ210は、CPU205によって読み取り可能な任意の適切な形態のメモリ、例えば、実行可能リスト211であり得る揮発性または、実行可能リスト211であり得る不揮発性メモリとして実現され得る。トランスポート多重化用の命令215は、CPU205で読み取り可能な任意の適切なメモリ、例えば揮発性または不揮発性メモリ上に記憶されたコンピュータ読み取り可能命令であり得る。トランスポート多重化用の命令215、メタデータアレイ210、および/または実行可能リスト211は、同じメモリに記憶され得る、または異なるメモリ上に記憶され得る。一部の例では、メタデータアレイ210、実行可能リスト211、およびトランスポート多重化用の命令215の任意の組み合わせまたは全てが、複数のメモリ全体にわたって配布され得る。本明細書に記述するトランスポートマルチプレクサの例を実現するために用いられる処理およびメモリ構成要素の配列は、まったく柔軟性があると理解すべきである。一般に、十分なハードウエア、ソフトウエア、またはそれらの組み合わせは、記述するトランスポートマルチプレクサ機能性を実施するために提供され得る。   The transport multiplexer 200 includes a CPU 205, a metadata array 210, an executable list 211, and an instruction 215 for transport multiplexing. Any suitable processor or processors may be used to implement the CPU 205. The metadata array 210 may be implemented as any suitable form of memory readable by the CPU 205, for example, volatile, which may be the executable list 211, or non-volatile memory, which may be the executable list 211. The instructions 215 for transport multiplexing can be computer readable instructions stored on any suitable memory readable by the CPU 205, such as volatile or non-volatile memory. The instructions 215 for transport multiplexing, the metadata array 210, and / or the executable list 211 can be stored in the same memory or can be stored on different memories. In some examples, any combination or all of the metadata array 210, the ready list 211, and the instructions 215 for transport multiplexing may be distributed across multiple memories. It should be understood that the processing and memory component arrangement used to implement the transport multiplexer example described herein is quite flexible. In general, sufficient hardware, software, or a combination thereof may be provided to implement the described transport multiplexer functionality.

トランスポートマルチプレクサ200は、CPU205に提供され得るクロック信号220に従って動作し得る。トランスポートマルチプレクサ200は、選択されたソースからのデータのパケットをトランスポートストリーム225上に置くように動作し得る。一般に、CPU205は、トランスポート多重化用の命令215にしたがって動作して、メタデータアレイ210を読み出し、メタデータアレイ210によって指定されたソースを選択し得る。選択されたソースからのデータは、トランスポートストリーム225上に置かれ得る。実行可能リスト211は、メタデータアレイ210中に置かれるように待機しているパケットデータを含み得る。このようにして、CPU205は、メタデータアレイ210を参照して、トランスポートストリーム225上に置かれるデータのパケットを組み立てるためにどのソースを用いるべきかを決定することを必要とするのみであり得る。CPU205は、したがって、パケットをトランスポートストリーム225上に置くためには、各々のソースと、各々のソースの相対的なタイミング要件とを評価する必要はないということがあり得る。   The transport multiplexer 200 can operate according to a clock signal 220 that can be provided to the CPU 205. Transport multiplexer 200 may operate to place packets of data from the selected source on transport stream 225. In general, the CPU 205 may operate according to the transport multiplexing instruction 215 to read the metadata array 210 and select the source specified by the metadata array 210. Data from the selected source may be placed on the transport stream 225. Ready list 211 may include packet data waiting to be placed in metadata array 210. In this way, the CPU 205 may only need to refer to the metadata array 210 to determine which source should be used to assemble packets of data that are placed on the transport stream 225. . The CPU 205 may therefore not need to evaluate each source and the relative timing requirements of each source in order to place a packet on the transport stream 225.

トランスポートマルチプレクサ200が、次のトランスポートストリームパケット用に用いるソースを、メタデータアレイ210に記憶された情報に基づいて特定した後で、CPU205は、トランスポート多重化用の命令215にしたがって、この選択されたソースに対する次のパケット位置を決定し得る。選択されたソースに対する次のパケット位置は、一部の例では、他の要因と組み合わせて、選択されたソースのタイミング要件に基づいて決定され得る。CPU205は、トランスポート多重化用の命令215に従って、選択されたソースを特定するメタデータを、選択されたソースに対する次のパケット位置と関連付けられたメタデータアレイ210の位置に記憶し得る。したがって、メタデータアレイ210は、将来のパケットに対する選択されたソースを反映するように更新され得る。このようにして、CPU205は、次のトランスポートストリームパケットを提供する際に用いられる選択されるソースを決定するために、全てのソースを検索する必要がないことがあり得る。CPU205は、その代わりに、メタデータアレイ210に記憶された情報に基づいてソースを選択し得るし、また、選択されたソースを特定するメタデータをその選択されたソースに対する次のトランスポートパケット位置に対応する位置に記憶することによって、メタデータアレイ210を更新し得る。   After the transport multiplexer 200 identifies the source to use for the next transport stream packet based on the information stored in the metadata array 210, the CPU 205 follows this instruction 215 for transport multiplexing. The next packet position for the selected source may be determined. The next packet location for the selected source may be determined based on the timing requirements of the selected source, in some examples, in combination with other factors. CPU 205 may store metadata identifying the selected source in the location of metadata array 210 associated with the next packet location for the selected source in accordance with instruction 215 for transport multiplexing. Accordingly, the metadata array 210 can be updated to reflect the selected source for future packets. In this way, the CPU 205 may not need to search all sources to determine the selected source to be used in providing the next transport stream packet. The CPU 205 may instead select a source based on information stored in the metadata array 210, and may identify metadata identifying the selected source for the next transport packet location for the selected source. The metadata array 210 may be updated by storing in a location corresponding to.

図3は、本発明の実施形態に関わるメタデータアレイの略図である。メタデータアレイ300は、例えば、図2のメタデータアレイ210を実現するために用いられ得る。メタデータアレイ300は、N個の入力を含む。各々の入力は、開放時間スタンプ(RTS)およびソースインジケータ(SRC)を含み得る。各々の入力は、トランスポートストリーム上のパケットと一致し得る。開放時間スタンプは、その入力と関連付けられたパケットがトランスポートストリーム上に置かれるべき時間と一致し得る。ソースインジケータは、そのパケットに対するデータを獲得するためにはどのソースが用いられるべきであるかを示し得る。メタデータアレイ300は、メタデータアレイ300中に置かれた第1の入力が読み出される第1の入力であり得る先入れ先出し(FIFO)メモリとして操作され得る。インデックスポインタ305は、現在のパケットに対応するメタデータアレイ300中に現在位置を指し示し得る。インデックスポインタ305は、各々の入力がメタデータアレイ300から読み出された後でインクレメントされ得る。メタデータアレイは、任意のメモリデバイスを用いて実現され得る。   FIG. 3 is a schematic diagram of a metadata array according to an embodiment of the present invention. The metadata array 300 can be used, for example, to implement the metadata array 210 of FIG. The metadata array 300 includes N inputs. Each input may include an open time stamp (RTS) and a source indicator (SRC). Each input may match a packet on the transport stream. The release time stamp may match the time at which the packet associated with the input is to be placed on the transport stream. The source indicator may indicate which source should be used to obtain data for the packet. The metadata array 300 can be operated as a first-in first-out (FIFO) memory, where the first input placed in the metadata array 300 can be the first input to be read. The index pointer 305 may point to the current position in the metadata array 300 corresponding to the current packet. Index pointer 305 may be incremented after each input is read from metadata array 300. The metadata array can be implemented using any memory device.

図4は、本発明の実施形態に関わるメタデータアレイを投入する方法の略図である。方法400は、例えば、図3のメタデータアレイ300を投入するために用いられ得る。図2のトランスポート多重化用の命令215は、図4を参照して説明する初期化の方法を実施するための命令を含み得る。図4を参照すると、ブロック405で、メタデータアレイが初期化され得る。図2のCPU205は、例えば、トランスポート多重化用の命令215に従ってメタデータアレイ210を初期化し得る。初期化は、トランスポートマルチプレクサが一部の例ではオンされるまたは開始されるときに発生し得るが、そうでなければ、アレイが既に初期化された状態で提供され得る。一部の例では、初期化は、十分なスペースをメタデータアレイ用にメモリ中に割り当てることを含み得る。スペースの量は、一般に、N個全てのパケットに対して開放時間スタンプおよびソースインジケータを維持するに十分大きいスペースであり得る。   FIG. 4 is a schematic diagram of a method for populating a metadata array according to an embodiment of the present invention. The method 400 can be used, for example, to populate the metadata array 300 of FIG. The transport multiplexing instructions 215 of FIG. 2 may include instructions for implementing the initialization method described with reference to FIG. Referring to FIG. 4, at block 405, the metadata array may be initialized. The CPU 205 in FIG. 2 can initialize the metadata array 210 in accordance with, for example, a transport multiplexing instruction 215. Initialization may occur when the transport multiplexer is turned on or started in some instances, otherwise it may be provided with the array already initialized. In some examples, the initialization may include allocating sufficient space in memory for the metadata array. The amount of space may generally be large enough to maintain an open time stamp and source indicator for all N packets.

初期化中、開放時間スタンプ値は、メタデータアレイ位置の各々に記憶され得る。開放時間スタンプ値は、図2のクロック信号220などのトランスポートマルチプレクサによって用いられるシステムクロックに基づいて計算され得る。一秒当たりのトランスポートストリーム上のトランスポートストリームパケットの数(NUM_TS_PKT)は、トランスポートストリームビットレートをトランスポートパケットのサイズで除算したものとして与えられ得る。1つの例では、NUM_TS_PKTはTS_BR/(188*8)として与えられ得るが、式中TS_BRはトランスポートストリームビットレートであり、各々のトランスポートストリームは188バイト*8ビット/バイトである。したがって、開放時間スタンプ間のインクレメント(例えば、ΔRTS)は、クロック信号の周波数を一秒当たりのトランスポートストリーム上のトランスポートストリームパケットの数で除算したもの(NUM_TS_PKT)として与えられ得る。1つの例では、クロック信号は27MHzの周波数を有し得るが、ΔRTSは、したがって、27000000/NUM_TS_PKTとして与えられ得る。したがって、初期化中、開始開放時間スタンプは、メタデータアレイの入力0中に書き込まれ得る。開始開放時間スタンプは、現在時間または、パケット0がトランスポートストリーム上に置かれる任意の他の時間であり得る。残りの開放時間スタンプは、開始開放時間スタンプをΔRTSだけインクレメントさせることによって、残りの入力に書き込まれ得る。   During initialization, an open time stamp value can be stored at each of the metadata array locations. The open time stamp value may be calculated based on a system clock used by a transport multiplexer, such as clock signal 220 of FIG. The number of transport stream packets on the transport stream per second (NUM_TS_PKT) may be given as the transport stream bit rate divided by the size of the transport packet. In one example, NUM_TS_PKT may be given as TS_BR / (188 * 8), where TS_BR is the transport stream bit rate and each transport stream is 188 bytes * 8 bits / byte. Thus, the increment between open time stamps (eg, ΔRTS) may be given as the frequency of the clock signal divided by the number of transport stream packets on the transport stream per second (NUM_TS_PKT). In one example, the clock signal may have a frequency of 27 MHz, but ΔRTS may therefore be given as 27000000 / NUM_TS_PKT. Thus, during initialization, a start release time stamp can be written into input 0 of the metadata array. The starting release time stamp may be the current time or any other time that packet 0 is placed on the transport stream. The remaining open time stamp can be written to the remaining input by incrementing the starting open time stamp by ΔRTS.

初期化中、ソースインジケータもまた、メタデータアレイ位置の各々の中に記憶され得る。ソースインジケータの所定の組み合わせは、各々の位置に最初に書き込まれ得る。1つの例では、各々の位置に対するソースインジケータは、スタッフィングパケットソースに初期化される。一部の例では、CPU205は、上記の計算を実施して、初期の開放時間スタンプおよびソースインジケータを、トランスポート多重化用の命令215に従って書き込み得る。初期化に続いて、図3のメタデータアレイ300は、N個のパケットの各々に対する開放時間スタンプを含み、スタッフィングパケットにすべて初期化され得るソースインジケータを関連付け得る。   During initialization, a source indicator may also be stored in each of the metadata array locations. A predetermined combination of source indicators may be initially written at each location. In one example, the source indicator for each location is initialized to the stuffing packet source. In some examples, CPU 205 may perform the above calculations to write an initial open time stamp and source indicator according to instructions 215 for transport multiplexing. Following initialization, the metadata array 300 of FIG. 3 may include a release time stamp for each of the N packets and associate a source indicator that can all be initialized to the stuffing packet.

図4を再度参照すると、ブロック410で、新しいソースが特定され得る。このソースが特定され得るのは、ソースからのデータがトランスポートマルチプレクサに到達し始めるまたは、一部の例では、ソースの所定のリストが、トランスポートマルチプレクサに周知であり得て、トランスポートマルチプレクサがソースの所定のリストを評価し得るからである。ブロック415で、メタデータアレイ中の位置が、新しいソースに割り当てられ得る。例えば、トランスポートマルチプレクサは、ソースがパケットをトランスポートストリーム上に提供する必要がある時間を評価し得る。現在時間を、この必要とされる送出時間から減算し得る。その差をΔRTSで除算して、メタデータアレイのどの入力がソースからの次のパケットと一致すべきかを特定し得る。例えば、新しいソースと関連付けられるべきメタデータアレイの入力=(パケット送出に必要な時間−現在時間)/ΔRTSとなる。この新しいソースに対応するソースインジケータは、次に、このようにして計算されたメタデータアレイ入力に置かれ得る。このメタデータアレイ入力がNを超える場合、それはいまだメタデータアレイ中には適合し得ず、開放時間スタンプおよびソースインジケータは、メタデータアレイ210の代わりに実行可能リスト211に記憶され得る。   Referring back to FIG. 4, at block 410, a new source may be identified. This source can be identified when data from the source begins to reach the transport multiplexer or, in some examples, a predetermined list of sources can be known to the transport multiplexer and the transport multiplexer This is because a predetermined list of sources can be evaluated. At block 415, a location in the metadata array may be assigned to a new source. For example, the transport multiplexer may evaluate the time that the source needs to provide a packet on the transport stream. The current time can be subtracted from this required delivery time. The difference can be divided by ΔRTS to identify which input in the metadata array should match the next packet from the source. For example, the input of the metadata array to be associated with the new source = (time required for sending packet−current time) / ΔRTS. The source indicator corresponding to this new source can then be placed in the metadata array input thus calculated. If this metadata array input exceeds N, it still cannot fit in the metadata array, and the open time stamp and source indicator can be stored in the ready list 211 instead of the metadata array 210.

図4のブロック410は、トランスポートマルチプレクサと通信している任意の数のソースに対して繰り返され得る。時々、上記の計算が、ソースインジケータが別の非スタッフィングパケットソースインジケータによって既に占有されているメタデータアレイ位置に置かれるべきであることを示唆し得る矛盾と遭遇し得る。このような矛盾においては、トランスポートマルチプレクサは、次のメタデータアレイ位置を読み出し得るが、次のメタデータアレイ位置がスタッフィングパケットのソースインジケータを含む場合、この矛盾するソースインジケータは、その次のメタデータアレイ位置に書き込まれ得る。ブロック410および415は、例えば、トランスポート多重化用の命令215にしたがって、CPU205によって実施され得る。   Block 410 of FIG. 4 may be repeated for any number of sources in communication with the transport multiplexer. From time to time, the above calculations may encounter inconsistencies that may suggest that the source indicator should be placed in a metadata array location that is already occupied by another non-stuffing packet source indicator. In such a conflict, the transport multiplexer may read the next metadata array location, but if the next metadata array location contains the source indicator of the stuffing packet, the conflicting source indicator will be Can be written to a data array location. Blocks 410 and 415 may be implemented by CPU 205, for example, according to instructions 215 for transport multiplexing.

図5は、トランスポートストリームパケットを提供する方法の略図である。方法図5のブロックは線形順序で示されているが、方法500の記述される要素の実施の順序は融通性があり、一部の要素はその実行の際に重なり得ることを理解すべきである。方法500は、一部の例では、方法500を実施する命令を含み得るトランスポートストリーム多重化用の命令215に従って動作する図2のCPU205によって実施され得る。ブロック505では、メタデータは、メタデータアレイのインデックスポインタによって示される位置で読み出され得る。例えば、図3のメタデータアレイ300を参照すると、例えば、トランスポートストリーム多重化用の命令215に従って動作する図2のCPU205によって、位置‘1’が読み出され得、‘1’でのRTSおよびソースインジケータが読み出され得る。   FIG. 5 is a schematic diagram of a method for providing transport stream packets. Method Although the blocks of FIG. 5 are shown in a linear order, it should be understood that the order of implementation of the described elements of method 500 is flexible and some elements may overlap in its execution. is there. The method 500 may be implemented by the CPU 205 of FIG. 2 operating in accordance with instructions 215 for transport stream multiplexing, which in some examples may include instructions for performing the method 500. In block 505, the metadata may be read at the location indicated by the metadata array index pointer. For example, referring to the metadata array 300 of FIG. 3, the position '1' may be read by the CPU 205 of FIG. 2 operating according to the transport stream multiplexing instruction 215, for example, A source indicator can be read.

ブロック510では、パケットは、メタデータアレイから読み出されたデータに基づいてトランスポートストリームマルチプレクサによって提供され得る。例えば、トランスポートストリームマルチプレクサは、読み出された位置で示されたソース(例えば、図3の例中の位置‘1’で指定されたソース)からトランスポートストリームパケットを生成し得るが、読み出された位置のRTSは、この生成されたトランスポートストリームパケットに割り当てられ得る。したがって、トランスポートストリームは、クロック信号がトランスポートストリームパケットのRTSと一致するときに、生成されたトランスポートストリームパケットをトランスポートストリーム上に提供し得る。   In block 510, the packet may be provided by a transport stream multiplexer based on the data read from the metadata array. For example, the transport stream multiplexer may generate a transport stream packet from the source indicated by the read position (eg, the source specified by position '1' in the example of FIG. 3), but the read The RTS at the designated location may be assigned to this generated transport stream packet. Thus, the transport stream may provide the generated transport stream packet on the transport stream when the clock signal matches the RTS of the transport stream packet.

ブロック515では、次のメタデータアレイ位置が、現在のソース(例えば、ブロック510でパケットを生成するために用いられるソース)に対して計算され得る。この次のメタデータアレイ位置は、例えば、現在のソースの漏出速度に基づいて計算され得る。各々のソースは、ソースからの連続するパケットがトランスポートストリーム上に置かれるべき速度と一致する指定された漏出速度を有し得る。トランスポートマルチプレクサは、したがって、次のメタデータアレイ位置を、システムクロック、ビットレート、トランスポートパケットサイズ、および漏出速度に基づいて計算し得る。現在のソースに対するソースインジケータが、次に、その計算された位置に記憶され得る。しかしながら、メタデータアレイは有限、例えば、長さがN入力であることに留意されたい。したがって、次のメタデータアレイ位置がNを超える位置であると計算された場合、トランスポートマルチプレクサは、現在のソースに対するソースインジケータを実行可能リスト、例えば図2の実行可能リスト211に記憶し得るが、現在のソースからの次のパケットに対する目標RTSもまた、実行可能リストに記憶され得る。   At block 515, the next metadata array location may be calculated for the current source (eg, the source used to generate the packet at block 510). This next metadata array location may be calculated, for example, based on the current source leak rate. Each source may have a specified leakage rate that matches the rate at which successive packets from the source are to be placed on the transport stream. The transport multiplexer may therefore calculate the next metadata array location based on the system clock, bit rate, transport packet size, and leak rate. The source indicator for the current source can then be stored in its calculated location. Note, however, that the metadata array is finite, eg, N inputs in length. Thus, if the next metadata array position is calculated to be greater than N, the transport multiplexer may store the source indicator for the current source in a ready list, eg, ready list 211 in FIG. The target RTS for the next packet from the current source may also be stored in the ready list.

ブロック520で、トランスポートマルチプレクサは、更新されたRTSおよびソースインジケータによって、現在のメタデータアレイ位置を更新し得る。更新されたRTSは現在のRTSプラスN*ΔRTSに等しくあり得るが、それは、インデックスポインタが、N*ΔRTSごとにメタデータアレイの同じ位置に復帰するはずであり得るからである。ソースインジケータはスタッフィングパケットソースを示すように更新され得るが、それは、更新されたRTS値に対する位置には、なにもソースが割り当てられ得ないからである。   At block 520, the transport multiplexer may update the current metadata array location with the updated RTS and source indicator. The updated RTS may be equal to the current RTS plus N * ΔRTS, because the index pointer may return to the same position in the metadata array every N * ΔRTS. The source indicator can be updated to indicate the stuffing packet source because no source can be assigned to the position for the updated RTS value.

ブロック525では、トランスポートマルチプレクサは、例えば、図3のインデックスポインタ305などのインデックスポインタをインクレメントし得る。図3の例では、インデックスポインタは、位置‘2’にまでインクレメントされ得る。インデックスポインタが位置‘N’にあるとき、インデックスポインタをインクレメントすると、その結果、インデックスポインタが位置‘0’を指すことになり得る。したがって、インデックスポインタは、メタデータアレイを「包み込み」得る。また、インデックスポインタが位置‘N’にあるとき、一般に、メタデータアレイの各々の入力は読み出されており、対応するトランスポートストリームパケットはトランスポートストリームマルチプレクサによって生成されている可能性がある。ブロック520を参照して上述したプロセスに従って、メタデータアレイ位置の各々を読み出した後では、それらのソースインジケータは、スタッフィングパケットソースインジケータに更新されている可能性がある。したがって、メタデータアレイは再初期化されている可能性がある。   At block 525, the transport multiplexer may increment an index pointer, such as index pointer 305 of FIG. In the example of FIG. 3, the index pointer may be incremented to position “2”. When the index pointer is at position 'N', incrementing the index pointer can result in the index pointer pointing to position '0'. Thus, the index pointer may “wrap” the metadata array. Also, when the index pointer is at position 'N', in general, each input of the metadata array has been read, and the corresponding transport stream packet may have been generated by the transport stream multiplexer. After reading each of the metadata array locations according to the process described above with reference to block 520, their source indicators may have been updated to stuffing packet source indicators. Therefore, the metadata array may have been reinitialized.

インデックスポインタが位置‘N’から位置‘0’にインクレメントされたとき、トランスポートストリームマルチプレクサは、図2の実行可能リスト211などの動作可能リストを評価し得る。動作可能リストは、ソースインジケータと、Nを超えていたメタデータアレイ位置に対する目標RTS値とを含み得ることを想起されたい。一部の例では、動作可能リストは、ソースによって編成され得る。動作可能リスト中の各々の入力に対して、トランスポートマルチプレクサは、この入力に対するメタデータアレイ位置を上述の方法を用いて計算し得る。例えば、メタデータアレイ位置は、動作可能リストに記憶されたRTSから現在時間を減算して、その余りをΔRTSで除算することによって計算され得る。メタデータアレイ位置がNを超える場合、トランスポートストリームマルチプレクサは、ソースおよびRTSを動作可能リストに残し得る。メタデータアレイ位置がN以下であれば、計算されたメタデータアレイ位置でのソースインジケータは、そのメタデータアレイ位置が非スタッフィングパケットソースインジケータを既に記憶していない限り、動作可能リストによって示されている適切なソースを反映するように更新され得る。メタデータアレイ位置が非スタッフィングパケットソースインジケータを記憶している場合、トランスポートストリームマルチプレクサは、ソースインジケータおよびRTSを、次のメタデータアレイ位置または、一部の例では、非スタッフィングパケットソースインジケータを現在記憶していないいずれかの次のメタデータアレイ位置に記憶し得る。一旦ソースインジケータおよびRTSがメタデータアレイ中の適切な位置に記憶されたら、トランスポートストリームマルチプレクサは、動作可能リストからそれらを除去し得る。   When the index pointer is incremented from position 'N' to position '0', the transport stream multiplexer may evaluate a ready list such as ready list 211 of FIG. Recall that the ready list may include source indicators and target RTS values for metadata array locations that were greater than N. In some examples, the ready list may be organized by source. For each input in the ready list, the transport multiplexer may calculate the metadata array position for this input using the method described above. For example, the metadata array position may be calculated by subtracting the current time from the RTS stored in the ready list and dividing the remainder by ΔRTS. If the metadata array location exceeds N, the transport stream multiplexer may leave the source and RTS in the ready list. If the metadata array position is less than or equal to N, the source indicator at the calculated metadata array position is indicated by the ready list unless the metadata array position already stores a non-stuffing packet source indicator. May be updated to reflect the appropriate source. If the metadata array location stores a non-stuffing packet source indicator, the transport stream multiplexer will display the source indicator and RTS as the next metadata array location or, in some examples, as the non-stuffing packet source indicator. It may be stored in any subsequent metadata array location that is not stored. Once the source indicator and RTS are stored in the appropriate location in the metadata array, the transport stream multiplexer may remove them from the ready list.

トランスポートストリームマルチプレクサが、動作可能リストを評価する前に、メタデータアレイのN個の全ての入力を通じてインデックスポインタをインクレメントし得る上記の例を説明したが、一部の例では、動作可能リストは、ソースインジケータによってメタデータアレイをより頻繁に更新するために、より頻繁に評価され得る。   While the above example has been described in which the transport stream multiplexer can increment the index pointer through all N inputs of the metadata array before evaluating the ready list, in some examples the ready list Can be evaluated more frequently to update the metadata array more frequently with the source indicator.

本発明の例は、したがって、トランスポートストリームパケットを生成するために用いるべき適切なソースを検索することが不必要であり得るトランスポートストリームマルチプレクサを提供し得る。その代わりに、用いるべきソースは、メモリテーブル、例えばメタデータアレイの中の入力によって示される。全てのソースビットレートの和はトランスポートストリームビットレート未満であり、ソースインジケータは、ソースの漏出速度に従って前進し得るから、本発明の例でメタデータアレイを更新するときに、矛盾がそれ程頻繁に発生することは期待されない。その上、本発明の例は、トランスポートストリームマルチプレクサを操作するために必要とされるCPUサイクルの数を、トランスポートストリームマルチプレクサに提供されたソースの数とは比較的独立に、最小化または減少させ得る。それは、各々のソースが、一部の例では次のパケットが生成されるたびに評価する必要がないからである。   The example of the present invention may thus provide a transport stream multiplexer that may not need to search for a suitable source to use to generate a transport stream packet. Instead, the source to be used is indicated by an entry in a memory table, eg a metadata array. Since the sum of all source bit rates is less than the transport stream bit rate and the source indicator can advance according to the leak rate of the source, inconsistencies are so frequent when updating the metadata array in our example. It is not expected to occur. Moreover, the present example minimizes or reduces the number of CPU cycles required to operate the transport stream multiplexer, relatively independent of the number of sources provided to the transport stream multiplexer. Can be. That is because each source does not need to be evaluated each time the next packet is generated in some examples.

本発明の一部の例に関わるトランスポートストリームマルチプレクサの性能は、メタデータアレイのサイズNが増すにつれて向上し得るが、それは、ソースが動作可能リストを対象にする確率が下がり得るからである。しかしながら、この利点は、あるサイズを超えると減退し得るが、それは、一部の例では、一般に、任意の時間でメタデータアレイ中には、1つのソース当たりたった1つの入力しか保たれ得ないからである。アレイのサイズNは、したがって、一部の例では、N*ΔRTSが、クロック周波数をソースの最低フレームまたは繰り返し速度で除算したものを超えるように選択され得る。   The performance of the transport stream multiplexer in accordance with some examples of the present invention may improve as the size N of the metadata array increases, because the probability that the source will target the ready list may decrease. However, this advantage may diminish beyond a certain size, which, in some cases, can generally only keep one input per source in the metadata array at any time. Because. The size N of the array can thus be selected such that in some examples N * ΔRTS exceeds the clock frequency divided by the lowest frame or repetition rate of the source.

一部の例では、スタッフィングパケットの利用可能性は、性能による恩典を容易化し得るが、それは、トランスポートストリームのビットレートが、寄与している全てのソースの合計ビットレートを超え得るからである。一般に、合計ビットレートがトランスポートストリームビットレートを超えると、一部の例の性能は劣化し得る。   In some examples, the availability of stuffing packets can facilitate performance benefits, because the bit rate of the transport stream can exceed the total bit rate of all contributing sources. . In general, some example performance may degrade when the total bit rate exceeds the transport stream bit rate.

本明細書に記述するトランスポートストリームマルチプレクサおよび方法の例もまた、カスケード式マルチプレクサを用いて実現され得る。トランスポートストリームの一部は、本発明の実施形態に従って、トランスポートストリームマルチプレクサに提供される前に、最初に多重化され得る。任意の事前混合されたストリームは、本発明の実施形態に従って実現された下流のマルチプレクサに対する入力として提供され得る。非スタッフィングパケットは、上流のマルチプレクサによって提供されたRTSを用いて、または下流のマルチプレクサの捕獲時間に基づいて再多重化され得る。   The example transport stream multiplexers and methods described herein can also be implemented using cascaded multiplexers. A portion of the transport stream may be first multiplexed before being provided to the transport stream multiplexer according to an embodiment of the present invention. Any premixed stream may be provided as input to a downstream multiplexer implemented in accordance with an embodiment of the present invention. Non-stuffing packets may be remultiplexed using the RTS provided by the upstream multiplexer or based on the capture time of the downstream multiplexer.

アナログ様式では、本発明の例は、1つ以上の高ビットレートソース(例えば、番組)がビットレートをコード変換して保つために除去され得るトランスポートストリームマルチプレクサを調整することを含み得る。例えば、コード変換されていないパケットを含むトランスポートストリームは、カスケード式マルチプレクサの例での事前混合ストリームの提供に類似した様式で本発明の実施形態に従って多重化されたトランスポートストリームに対する入力として提供され得る。   In an analog fashion, examples of the present invention may include adjusting a transport stream multiplexer that may be removed to keep one or more high bit rate sources (eg, programs) transcoded. For example, a transport stream containing non-transcoded packets is provided as input to a transport stream multiplexed according to an embodiment of the invention in a manner similar to providing a premixed stream in the cascaded multiplexer example. obtain.

図6は、本発明の実施形態に関わる媒体送達システムの略図である。媒体送達システム600は、媒体ソース602を様々な媒体出力604のうちの1つ以上に対して送達する機構を提供し得る。たった1つの媒体ソース602および媒体出力604しか図6には示されていないが、任意の数を用い得るし、本発明の例を用いて、媒体コンテンツを任意の数の媒体出力部に対して放送および/または別様に送達し得ることを理解すべきである。   FIG. 6 is a schematic diagram of a vehicle delivery system according to an embodiment of the present invention. Media delivery system 600 may provide a mechanism for delivering media source 602 to one or more of various media outputs 604. Although only one media source 602 and media output 604 is shown in FIG. 6, any number can be used, and with the example of the present invention, media content can be directed to any number of media outputs. It should be understood that it can be broadcast and / or otherwise delivered.

媒体ソースデータ602は、これらに限られないが、映像、音声、データ、またはそれらの組み合わせを含む媒体コンテンツの任意のソースであり得る。媒体ソースデータ602は、例えば、カメラ、マイクロホン、および/または他の捕獲デバイスを用いて捕獲され得るまたは、処理デバイスによって生成もしくは提供され得る音声および/または映像のデータであり得る。媒体ソースデータ602は、アナログまたはデジタルであり得る。媒体ソースデータ602がアナログデータであれば、媒体ソースデータ602は、例えば、アナログ・デジタルコンバータ(ADC)を用いてデジタルデータに変換され得る。一般的には、媒体ソースデータ602を送信するためには、あるタイプの圧縮および/または暗号化が望ましくあり得る。したがって、これらに限られないが、MPEG−2、MPEG−4、H.264、H.HEVC、もしくはそれらの組み合わせまたは他の符号化基準などの映像基準に関わる符号化方法を含む、技術上現在周知のまたは将来のいずれかの符号化方法を用いて媒体ソースデータ602を符号化し得る符号器610が提供され得る。   The media source data 602 can be any source of media content including, but not limited to, video, audio, data, or a combination thereof. The media source data 602 can be audio and / or video data that can be captured using, for example, a camera, microphone, and / or other capture device, or that can be generated or provided by a processing device. Media source data 602 may be analog or digital. If the media source data 602 is analog data, the media source data 602 may be converted to digital data using, for example, an analog to digital converter (ADC). In general, some type of compression and / or encryption may be desirable for transmitting media source data 602. Therefore, although not limited to these, MPEG-2, MPEG-4, H.264, and so on. H.264, H.C. Code that can encode media source data 602 using any encoding method currently known in the art or in the future, including encoding methods involving video standards such as HEVC, or combinations thereof, or other encoding standards A device 610 may be provided.

符号化されたデータ612は、衛星614、アンテナ616、および/またはネットワーク618などの通信リンクに提供され得る。符号化されたデータ612は、本発明の実施形態に従って準備されたトランスポートストリームを用いて通信リンクに提供され得る。例えば、図2のトランスポートストリームマルチプレクサ200および/または図4および5の方法を用いて、通信リンクに対して符号化されたデータ612を提供し得る。ネットワーク618は、有線式または無線式であり得るが、電気的および/または光学的な通信を用いてさらに通信し得る。アンテナ616は、地上波アンテナであり得るが、また、例えば、従来のAMおよびFM信号、衛星信号、または他の技術上周知の信号を受信および送信し得る。通信リンクは、符号化されたデータ612を放送し得るが、一部の例では、(例えば、符号化データ612を再符号化、加算、または減算することによって)符号化されたデータ612を変更して、変更された符号化データ612を放送し得る。通信リンクから提供された符号化データ620は、復号器を含むまたはこれに連結され得る受信機622によって受信され得る。復号器は、符号化されたデータ620を復号して、1つ以上の媒体出力部に、図6に示す媒体出力604を提供し得る。   Encoded data 612 may be provided to a communication link such as satellite 614, antenna 616, and / or network 618. Encoded data 612 may be provided to the communication link using a transport stream prepared in accordance with an embodiment of the present invention. For example, the transport stream multiplexer 200 of FIG. 2 and / or the methods of FIGS. 4 and 5 may be used to provide encoded data 612 for a communication link. The network 618 may be wired or wireless, but may further communicate using electrical and / or optical communications. The antenna 616 may be a terrestrial antenna, but may also receive and transmit conventional AM and FM signals, satellite signals, or other signals known in the art, for example. The communication link may broadcast the encoded data 612, but in some examples, changes the encoded data 612 (eg, by re-encoding, adding, or subtracting the encoded data 612). Thus, the changed encoded data 612 can be broadcast. The encoded data 620 provided from the communication link may be received by a receiver 622 that may include or be coupled to a decoder. The decoder may decode the encoded data 620 and provide the media output 604 shown in FIG. 6 to one or more media output units.

受信機622は、これらに限られないが、モデム、ルータ、サーバ、セットトップボックス、ラップトップ、デスクトップ、コンピュータ、タブレット、携帯電話などを含む任意の数のデバイスに含まれるまたはそれらと通信状態にあり得る。   Receiver 622 can be included in or in communication with any number of devices including, but not limited to, modems, routers, servers, set-top boxes, laptops, desktops, computers, tablets, mobile phones, and the like. possible.

図6の媒体送達システム600および/または符号器610は、コンテンツ配布産業の様々なセグメントで利用され得る。図7は、本明細書に説明する符号器を利用し得るビデオ配布システム700の略図である。ビデオ配布システム700は、映像コントリビュータ705を含む。映像コントリビュータ705は、これらには限られないが、デジタル衛星ニュース収集システム706、イベント放送707、および遠隔スタジオ708を含み得る。これらの映像コントリビュータ705の各々またはいずれかは、図6の符号器610などの本明細書に記述する符号器を利用して、媒体ソースデータを符号化して、符号化データを通信リンクに提供し得る。そのうえ、これらの映像コントリビュータ705の各々またはいずれかは、図2のトランスポートストリームマルチプレクサ200および図4および5の方法などの本明細書に記述するトランスポートストリームマルチプレクサおよび/または方法の実施形態を用いて、トランスポートストリームを提供し得る。例えば、デジタル衛星ニュース収集システム706は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データを衛星702に提供し得る。イベント放送707は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データをアンテナ701に提供し得る。遠隔スタジオ708は、本明細書に記述するように、例としてのトランスポートストリームマルチプレクサを用いて、符号化データをネットワーク703上に提供し得る。他の通信リンクが、他の例ではこれらのシステムの他のもので用いられ得る。   The media delivery system 600 and / or encoder 610 of FIG. 6 may be utilized in various segments of the content distribution industry. FIG. 7 is a schematic diagram of a video distribution system 700 that may utilize the encoders described herein. Video distribution system 700 includes a video contributor 705. Video contributor 705 may include, but is not limited to, digital satellite news collection system 706, event broadcast 707, and remote studio 708. Each or any of these video contributors 705 utilizes an encoder described herein, such as encoder 610 in FIG. 6, to encode the media source data and provide the encoded data to the communication link. obtain. In addition, each or any of these video contributors 705 use the transport stream multiplexer and / or method embodiments described herein, such as the transport stream multiplexer 200 of FIG. 2 and the methods of FIGS. 4 and 5. A transport stream may be provided. For example, the digital satellite news collection system 706 may provide encoded data to the satellite 702 using an exemplary transport stream multiplexer as described herein. Event broadcast 707 may provide encoded data to antenna 701 using an exemplary transport stream multiplexer, as described herein. Remote studio 708 may provide the encoded data on network 703 using an exemplary transport stream multiplexer, as described herein. Other communication links may be used in other examples of these systems in other examples.

生成セグメント710は、コンテンツ発信装置712を含み得る。コンテンツ発信装置712は、いずれかの映像コントリビュータ705またはそれらの組み合わせから符号化データを受信し得る。コンテンツ発信装置712は、受信したコンテンツを利用可能なものとし受信コンテンツのいずれかを編集、合成、および/または操作して、コンテンツを利用可能なものとし得る。コンテンツ発信装置712は、図6の符号器610などの本明細書に記述する符号器を利用して、符号化データを衛星714(または別の通信リンク)に提供し得る。コンテンツ発信装置712は、符号化データを衛星714(または他の通信リンク)に提供するために、本明細書に記載するトランスポートストリームマルチプレクサを含み得る。コンテンツ発信装置712は、加えてまたはその代わりに、ネットワークまたは他の通信リンク上で符号化データをデジタル地上波テレビシステム716に提供し得、また、本明細書に記載する例としてのトランスポートストリームマルチプレクサを利用し得る。一部の例では、コンテンツ発信装置712は、図6を参照して説明した復号器などの復号器を利用して、コントリビュータ705から受信したコンテンツを復号化し得る。コンテンツ発信装置712は、次に、データを再符号化して、符号化データを衛星714に提供し得るが、この衛星もまた、本明細書に記載するトランスポートストリームマルチプレクサの例を利用し得る。他の例では、コンテンツ発信装置712は、受信したデータを復号化せず、コード変換装置を用いて、受信データの符号化形式を変更し得る。   The generated segment 710 may include a content transmission device 712. The content transmission device 712 may receive encoded data from any video contributor 705 or a combination thereof. The content transmission device 712 can use the received content, and can edit, synthesize, and / or manipulate any of the received content to use the content. Content origination device 712 may utilize the encoder described herein, such as encoder 610 of FIG. 6, to provide the encoded data to satellite 714 (or another communication link). Content originator 712 may include a transport stream multiplexer as described herein to provide encoded data to satellite 714 (or other communication link). The content originator 712 may additionally or alternatively provide encoded data to the digital terrestrial television system 716 over a network or other communication link, and may be an exemplary transport stream as described herein. Multiplexers can be used. In some examples, the content transmission device 712 may decrypt the content received from the contributor 705 using a decoder such as the decoder described with reference to FIG. Content originator 712 may then re-encode the data and provide the encoded data to satellite 714, which may also utilize the example transport stream multiplexer described herein. In another example, the content transmission device 712 may change the encoding format of the received data using a code conversion device without decoding the received data.

一次配布システム720は、デジタル放送システム721、デジタル地上波テレビシステム716、および/またはケーブルシステム723を含み得る。デジタル放送システム721は、衛星714からの符号化データを受信するため、図6を参照して説明した受信機622などの受信機を含み得る。デジタル地上波テレビシステム716は、コンテンツ発信装置712からの符号化データを受信するため、図6を参照して説明した受信機622などの受信機を含み得る。ケーブルシステム723は、生成セグメント710および/またはコントリビュータセグメント705から受信され得たまたはされ得なかったそれ自身のコンテンツをホスティングし得る。例えば、ケーブルシステム723は、それ自身の媒体ソースデータ602を、図6を参照して説明したそれとして提供し得る。   Primary distribution system 720 may include a digital broadcast system 721, a digital terrestrial television system 716, and / or a cable system 723. Digital broadcast system 721 may include a receiver, such as receiver 622 described with reference to FIG. 6, for receiving encoded data from satellite 714. The digital terrestrial television system 716 may include a receiver such as the receiver 622 described with reference to FIG. 6 in order to receive encoded data from the content transmission device 712. Cable system 723 may host its own content that may or may not have been received from generation segment 710 and / or contributor segment 705. For example, the cable system 723 may provide its own media source data 602 as that described with reference to FIG.

デジタル放送システム721は、衛星725に符号化データを提供するために、図6を参照して説明した符号器610などの符号器を含み得る。デジタル放送システム721は、図2のトランスポートストリームマルチプレクサ200などの本明細書に記載するトランスポートストリームマルチプレクサの例を含み得る。ケーブルシステム723は、ネットワークまたは他の通信リンク上でローカル電波中継局732に対して符号化データを提供するために、図6を参照して記載した符号器610などの符号器を含み得る。ケーブルシステム723は、本明細書に記載するトランスポートストリームマルチプレクサのうちの1つ以上の例を含み得る。二次配布セグメント730は、例えば、衛星725および/またはケーブルローカル電波中継局732を含み得る。   Digital broadcast system 721 may include an encoder, such as encoder 610 described with reference to FIG. 6, to provide encoded data to satellite 725. Digital broadcast system 721 may include examples of transport stream multiplexers described herein, such as transport stream multiplexer 200 of FIG. Cable system 723 may include an encoder, such as encoder 610 described with reference to FIG. 6, to provide encoded data to local radio relay station 732 over a network or other communication link. Cable system 723 may include one or more examples of the transport stream multiplexers described herein. Secondary distribution segment 730 may include, for example, satellite 725 and / or cable local radio relay station 732.

ケーブルローカル電波中継局732は、ネットワークまたは他の通信リンク上で顧客セグメント640中の顧客に対して符号化データを提供するために、図6を参照して記載した符号器610などの符号器を含み得る。ケーブルローカル電波中継局732は、本明細書に記載するトランスポートストリームマルチプレクサの例を含み得る。衛星725は、顧客セグメント740中の顧客に対して信号を放送し得る。顧客セグメント740は、コンテンツを復号化して、究極的にはコンテンツをユーザに対して利用可能なものとするために、受信機622などの受信機および図6を参照して記載した関連付けられた復号器を含み得る任意の数のデバイスを含み得る。顧客セグメント740は、セットトップボックス、タブレット、コンピュータ、サーバ、ラップトップ、デスクトップ、携帯電話などのデバイスを含み得る。   Cable local radio relay station 732 provides an encoder, such as encoder 610 described with reference to FIG. 6, to provide encoded data to customers in customer segment 640 over a network or other communication link. May be included. Cable local radio relay station 732 may include examples of transport stream multiplexers described herein. Satellite 725 may broadcast a signal to customers in customer segment 740. Customer segment 740 decrypts the content and ultimately makes the content available to the user, such as a receiver such as receiver 622 and the associated decryption described with reference to FIG. Any number of devices may be included that may include a vessel. Customer segment 740 may include devices such as set-top boxes, tablets, computers, servers, laptops, desktops, mobile phones and the like.

したがって、符号化、コード変換、トランスポートストリーム多重化、および/または復号化は、映像配布システム中の多くのポイントのいずれにおいても利用され得る。本発明の実施形態は、これらのセグメントの全てのいずれかの内部または内部の例中で利用され得る。   Thus, encoding, transcoding, transport stream multiplexing, and / or decoding can be utilized at any of a number of points in the video distribution system. Embodiments of the present invention may be utilized in any or all of these segments.

前記より本発明の特定の実施形態を解説目的で本明細書中に記述したが、本発明の精神および範囲から逸脱することなく、様々な修正がなされ得ることを理解されるであろう。   While specific embodiments of the invention have been described herein for purposes of illustration, it will be appreciated that various modifications can be made without departing from the spirit and scope of the invention.

Claims (20)

トランスポートストリーム上にパケットを提供する方法であって、
インデックスポインタによって示された位置であって、ソースインジケータおよび開放時間スタンプが記憶された位置においてメタデータアレイを読み出すステップと、
前記インデックスポインタによって示された前記位置に記憶された前記ソースインジケータによって示されるソースから、トランスポートストリームパケットを生成するステップと、
前記インデックスポインタによって示された前記位置に記憶された前記開放時間スタンプに基づいて、前記トランスポートストリームパケットに開放時間スタンプを割り当てるステップと、
トランスポートストリームマルチプレクサを用いて、前記開放時間スタンプに対応する時に、前記トランスポートストリーム上に前記トランスポートストリームパケットを提供するステップと、
を含む、方法。
A method for providing packets on a transport stream, comprising:
Reading the metadata array at the location indicated by the index pointer where the source indicator and release time stamp are stored;
Generating a transport stream packet from the source indicated by the source indicator stored at the location indicated by the index pointer;
Assigning a release time stamp to the transport stream packet based on the release time stamp stored at the position indicated by the index pointer;
Providing the transport stream packet on the transport stream when corresponding to the release time stamp using a transport stream multiplexer;
Including a method.
前記インデックスポインタによって示された前記位置に記憶された前記ソースインジケータによって示される前記ソースに対する次のメタデータアレイ位置を計算するステップと、
前記次のメタデータアレイ位置が前記メタデータアレイ内にあれば、対応するソースインジケータを前記次のメタデータアレイ位置に記憶するステップと、
前記次のメタデータアレイ位置が現在前記メタデータアレイ内になければ、前記対応するソースインジケータを実行可能リストに記憶するステップと、
をさらに含む、請求項1に記載の方法。
Calculating a next metadata array location for the source indicated by the source indicator stored at the location indicated by the index pointer;
Storing the corresponding source indicator in the next metadata array location if the next metadata array location is in the metadata array;
Storing the corresponding source indicator in a ready list if the next metadata array location is not currently in the metadata array;
The method of claim 1, further comprising:
次のメタデータアレイ位置の前記計算が、前記ソースインジケータによって示された前記ソースの漏出速度に基づく、請求項2に記載の方法。   The method of claim 2, wherein the calculation of a next metadata array location is based on a leak rate of the source indicated by the source indicator. 次のメタデータアレイ位置の前記計算が、トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数に基づく、請求項2に記載の方法。   The method of claim 2, wherein the calculation of a next metadata array location is based on a system clock frequency used by a transport stream multiplexer. 前記インデックスポインタによって示された前記位置の前記メタデータアレイを、更新された開放時間スタンプを記憶することによって更新することをさらに含む、請求項1に記載の方法。   The method of claim 1, further comprising updating the metadata array at the location indicated by the index pointer by storing an updated release time stamp. 前記更新された開放時間スタンプが、前記メタデータアレイのサイズに基づく、請求項5に記載の方法。   The method of claim 5, wherein the updated release time stamp is based on a size of the metadata array. 前記インデックスポインタによって示された前記位置の前記メタデータアレイを、更新されたソースインジケータを記憶することによって更新することをさらに含む、請求項5に記載の方法。   The method of claim 5, further comprising updating the metadata array at the location indicated by the index pointer by storing an updated source indicator. 前記更新されたソースインジケータが、スタッフィングパケットのソースに対応する、請求項7に記載の方法。   The method of claim 7, wherein the updated source indicator corresponds to a source of stuffing packets. トランスポートストリームマルチプレクサのメタデータアレイを投入する方法であって、
複数のメタデータアレイ位置の各々で開放時間スタンプおよびソースインジケータを含む前記メタデータアレイを初期化するステップと、
第1のソースを識別するステップと、
前記複数のメタデータアレイ位置のうちの1つを、少なくとも部分的に、トランスポートストリーム上に置かれるパケットを前記第1のソースが必要とする時間に基づいて前記第1のソースに割り当てるステップと、
前記複数のメタデータアレイ位置のうちの1つを、前記第1のソースに対応するソースインジケータを有するように更新するステップと、
を含む、方法。
A method of populating a metadata array of a transport stream multiplexer,
Initializing the metadata array including an open time stamp and a source indicator at each of a plurality of metadata array locations;
Identifying a first source;
Assigning one of the plurality of metadata array locations to the first source based at least in part on a time required by the first source for a packet to be placed on a transport stream; ,
Updating one of the plurality of metadata array locations to have a source indicator corresponding to the first source;
Including a method.
前記初期化するステップが、ビットスタッフィングパケットのソースを示すソースインジケータを前記メタデータアレイ中の全ての位置に書き込むステップを含む、請求項9に記載の方法。   The method of claim 9, wherein the initializing includes writing a source indicator that indicates a source of bit stuffing packets to all locations in the metadata array. 前記初期化するステップが、開放時間スタンプを前記メタデータアレイ中の全ての位置に書き込むステップを含み、連続する位置が、前記トランスポートストリームマルチプレクサによって用いられるシステムクロック周波数と、前記トランスポートストリームのビットレートとに少なくとも部分的に基づいた量だけ異なる開放時間スタンプを有する、請求項9に記載の方法。   The step of initializing includes writing an open time stamp to all locations in the metadata array, where successive locations are a system clock frequency used by the transport stream multiplexer and bits of the transport stream. 10. The method of claim 9, comprising open time stamps that differ by an amount based at least in part on the rate. 前記割り当てるステップが、トランスポートストリーム上に置かれるパケットを前記第1のソースが必要とする前記時間に最も近いメタデータ位置を計算するステップを含む、請求項9に記載の方法。   The method of claim 9, wherein the assigning comprises calculating a metadata location closest to the time that the first source requires a packet to be placed on a transport stream. 前記割り当てるステップが、前記計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソースを示す場合に、前記計算されたメタデータ位置を割り当てるステップを含む、請求項12に記載の方法。   13. The assigning of claim 12, wherein the assigning includes assigning the computed metadata location if a source indicator stored at the computed metadata location indicates a source of a current bit stuffing packet. Method. 前記割り当てるステップが、前記計算されたメタデータ位置に記憶されているソースインジケータが現在ビットスタッフィングパケットのソース以外を示す場合に、前記計算されたメタデータ位置の次のメタデータ位置を割り当てるステップを含む、請求項12に記載の方法。   Allocating includes allocating a next metadata position after the calculated metadata position if a source indicator stored at the calculated metadata position indicates a source other than the current bit stuffing packet source. The method according to claim 12. トランスポートストリームマルチプレクサであって、
プロセッサと、
トランスポートストリームの多重化用の命令を記憶するメモリと、
トランスポートストリームの連続するパケットに対応する連続する位置を有するメタデータアレイであって、前記連続する位置の各々が、記憶された開放時間スタンプおよびソースインジケータを含む、メタデータアレイと、
を備え、
前記プロセッサが、トランスポートストリームの多重化用の前記命令に従って、前記メタデータアレイの位置を読み出し、前記メタデータアレイの前記読み出された位置での前記ソースインジケータによって指定されたソースからトランスポートストリームパケットを生成し、前記メタデータの前記読み出された位置での前記開放時間スタンプと一致する時間で前記トランスポートストリーム上に前記トランスポートストリームパケットを提供するように構成される、トランスポートストリームマルチプレクサ。
A transport stream multiplexer,
A processor;
A memory for storing instructions for multiplexing the transport stream;
A metadata array having successive locations corresponding to successive packets of the transport stream, each successive location comprising a stored release time stamp and a source indicator;
With
The processor reads the location of the metadata array according to the instructions for multiplexing the transport stream and transports the transport stream from the source specified by the source indicator at the read location of the metadata array A transport stream multiplexer configured to generate a packet and provide the transport stream packet on the transport stream at a time that matches the release time stamp at the read location of the metadata .
前記トランスポートストリームマルチプレクサが複数のソースと通信状態にあり、前記読み出された位置での前記ソースインジケータによって指定された前記ソースが、前記複数のソースのうちの選択された1つである、請求項15に記載のトランスポートストリームマルチプレクサ。   The transport stream multiplexer is in communication with a plurality of sources, and the source specified by the source indicator at the read location is a selected one of the plurality of sources. Item 16. The transport stream multiplexer according to Item 15. 実行可能リストをさらに備え、前記実行可能リストが、現在のメタデータアレイ中に対応する位置を有しないパケットに対する開放時間スタンプおよびソースインジケータを記憶するように構成される、請求項15に記載のトランスポートストリームマルチプレクサ。   The transformer of claim 15, further comprising a ready list, wherein the ready list is configured to store an open time stamp and a source indicator for packets that do not have a corresponding position in the current metadata array. Port stream multiplexer. 前記プロセッサが、トランスポートストリームの多重化用の前記命令に従って、前記メタデータ中の各々の連続する位置に対応する前記トランスポートストリーム上にパケットを提供し、前記実行可能リストに記憶されているデータを用いて前記メタデータアレイを更新するように更に動作可能である、請求項17に記載のトランスポートストリームマルチプレクサ。   Data stored in the ready list by the processor providing packets on the transport stream corresponding to each successive position in the metadata according to the instructions for multiplexing the transport stream The transport stream multiplexer of claim 17, wherein the transport stream multiplexer is further operable to update the metadata array using. 前記メタデータアレイが、先入れ先出し(FIFO)メモリを備える、請求項15に記載のトランスポートストリームマルチプレクサ。   The transport stream multiplexer of claim 15, wherein the metadata array comprises a first in first out (FIFO) memory. 前記トランスポートストリームマルチプレクサがクロック信号を受信するようにさらに構成され、前記メタデータアレイの前記読み出された位置での前記開放時間スタンプと一致する時間が、少なくとも部分的に前記クロック信号に基づく、請求項15に記載のトランスポートストリームマルチプレクサ。
The transport stream multiplexer is further configured to receive a clock signal, and a time coinciding with the open time stamp at the read location of the metadata array is based at least in part on the clock signal; The transport stream multiplexer according to claim 15.
JP2015515048A 2012-05-31 2013-05-22 Transport stream multiplexer and method for providing packets on a transport stream Pending JP2015525515A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/485,398 2012-05-31
US13/485,398 US9118425B2 (en) 2012-05-31 2012-05-31 Transport stream multiplexers and methods for providing packets on a transport stream
PCT/US2013/042183 WO2013181036A1 (en) 2012-05-31 2013-05-22 Transport stream multiplexers and methods for providing packets on a transport stream

Publications (1)

Publication Number Publication Date
JP2015525515A true JP2015525515A (en) 2015-09-03

Family

ID=49670199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015515048A Pending JP2015525515A (en) 2012-05-31 2013-05-22 Transport stream multiplexer and method for providing packets on a transport stream

Country Status (5)

Country Link
US (3) US9118425B2 (en)
EP (1) EP2856717A4 (en)
JP (1) JP2015525515A (en)
CA (1) CA2870329A1 (en)
WO (1) WO2013181036A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9118425B2 (en) 2012-05-31 2015-08-25 Magnum Semiconductor, Inc. Transport stream multiplexers and methods for providing packets on a transport stream
CN107463577B (en) * 2016-06-06 2021-01-29 华为技术有限公司 Data storage system and data searching method
US10250852B2 (en) * 2016-12-20 2019-04-02 Steiner Enterprises Automatic sensing RF combiner
US10469883B2 (en) 2017-09-13 2019-11-05 Amazon Technologies, Inc. Distributed multi-datacenter video packaging system
CN111416990B (en) * 2020-03-21 2021-08-17 杭州视在数科信息技术有限公司 TS stream access method of stream data platform
CN115474073B (en) * 2021-06-11 2023-12-12 上海赛连信息科技有限公司 Method and device for intelligently switching picture layout

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10242928A (en) * 1997-03-03 1998-09-11 Matsushita Electric Ind Co Ltd Multiplexed transmission system
JPH11275147A (en) * 1998-03-25 1999-10-08 Hitachi Denshi Ltd Data multiplex transmission method
WO2006126852A1 (en) * 2005-05-26 2006-11-30 Electronics And Telecommunications Research Institute Method and apparatus for synchronizing data service with video service in digital multimedia broadcasting

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064716A1 (en) * 2000-07-24 2006-03-23 Vivcom, Inc. Techniques for navigating multiple video streams
KR100398610B1 (en) * 2001-01-30 2003-09-19 한국전자통신연구원 Method and apparatus for delivery of metadata synchronized to multimedia contents
GB2399899B (en) * 2003-03-27 2005-06-22 Micron Technology Inc Active memory command engine and method
JP4207639B2 (en) * 2003-04-11 2009-01-14 パナソニック株式会社 Data multiplexing method, data multiplexing device, transmission device, and reception device
KR100526189B1 (en) 2004-02-14 2005-11-03 삼성전자주식회사 Transcoding system and method for keeping timing parameters constant after transcoding
US7764717B1 (en) * 2005-05-06 2010-07-27 Oracle America, Inc. Rapid datarate estimation for a data stream multiplexer
JP4598804B2 (en) 2007-06-15 2010-12-15 日本放送協会 Digital broadcast receiver
KR101401964B1 (en) 2007-08-13 2014-05-30 삼성전자주식회사 A method for encoding/decoding metadata and an apparatus thereof
JP5594673B2 (en) * 2008-06-06 2014-09-24 デラックス・メディア・インコーポレイテッド Method and system for use in playing variable length content with a fixed length framework
KR101328173B1 (en) 2009-12-11 2013-11-13 한국전자통신연구원 Terminal and communication method for providing sense data using the same
US8514853B2 (en) * 2010-01-11 2013-08-20 Cisco Technology, Inc. Remote re-multiplexing of transport streams
US9456234B2 (en) * 2010-02-23 2016-09-27 Lg Electronics Inc. Broadcasting signal transmission device, broadcasting signal reception device, and method for transmitting/receiving broadcasting signal using same
CA2818110C (en) * 2010-05-10 2016-07-26 Lg Electronics Inc. Apparatus for transmitting a broadcast signal, apparatus for receiving a broadcast signal, and method for transmitting/receiving a broadcast signal using an apparatus for transmitting/receiving a broadcast signal
CN106027578B (en) * 2010-11-23 2019-09-17 Lg电子株式会社 Broadcast singal sending device and the method for sending broadcast singal
US9118425B2 (en) 2012-05-31 2015-08-25 Magnum Semiconductor, Inc. Transport stream multiplexers and methods for providing packets on a transport stream

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10242928A (en) * 1997-03-03 1998-09-11 Matsushita Electric Ind Co Ltd Multiplexed transmission system
JPH11275147A (en) * 1998-03-25 1999-10-08 Hitachi Denshi Ltd Data multiplex transmission method
WO2006126852A1 (en) * 2005-05-26 2006-11-30 Electronics And Telecommunications Research Institute Method and apparatus for synchronizing data service with video service in digital multimedia broadcasting

Also Published As

Publication number Publication date
WO2013181036A1 (en) 2013-12-05
US9118425B2 (en) 2015-08-25
US20150326894A1 (en) 2015-11-12
US20160156947A1 (en) 2016-06-02
EP2856717A1 (en) 2015-04-08
CA2870329A1 (en) 2013-12-05
US9277254B2 (en) 2016-03-01
EP2856717A4 (en) 2016-01-06
US20130322466A1 (en) 2013-12-05
US10075749B2 (en) 2018-09-11

Similar Documents

Publication Publication Date Title
US10075749B2 (en) Transport stream multiplexers and methods for providing packets on a transport stream
TWI642283B (en) Method and apparatus for packet header compression
CN102598617A (en) System and method of transmitting content from a mobile device to a wireless display
KR102471088B1 (en) Method and apparatus for converting mmtp stream to mpeg-2 ts
KR20100050516A (en) Streaming data content in a network
KR100819622B1 (en) Information terminal device and information terminal receiving method, digital broadcast receiving device and method, and output time calculating device and method
US10194196B2 (en) Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein
CN105611395A (en) MP4 format video online play method and system thereof
CN105208440A (en) Online playing method and system for MP4-format video
KR20160140873A (en) Signaling and operation of an mmtp de-capsulation buffer
US9800897B2 (en) Method and device for forming a common datastream according to the ATSC standard
KR20170028372A (en) Method and apparatus for transmission and reception of media data
JP6957186B2 (en) Information processing equipment, information processing methods, programs, and recording medium manufacturing methods
JP2005064556A (en) Broadcast source material transmission system for terrestrial digital broadcasting
EP3240195B1 (en) Method and apparatus for decoding audio bitstream including system data
JP4783987B2 (en) Information terminal device and information terminal receiving method, digital broadcast receiving device and method, and output time calculation device and method
CN113747209B (en) Method and device for reorganizing multi-channel TS (transport stream) programs
JP6462423B2 (en) Transmission apparatus, transmission program, and transmission method
US10313708B1 (en) Distributed upload of television content
JP2010239433A (en) Video coding apparatus, method and program
JP4762340B2 (en) Signal processing apparatus and signal processing method
JP2022140332A (en) Broadcast transmitter and broadcast receiver
JP2005217556A (en) Program transmitting method, program transmitter, program transmitting system, and program transmitting program
JP2011223603A (en) Signal processing apparatus and signal processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160920