CN101563886B - Redundant media packet streams - Google Patents
Redundant media packet streams Download PDFInfo
- Publication number
- CN101563886B CN101563886B CN200780026677.0A CN200780026677A CN101563886B CN 101563886 B CN101563886 B CN 101563886B CN 200780026677 A CN200780026677 A CN 200780026677A CN 101563886 B CN101563886 B CN 101563886B
- Authority
- CN
- China
- Prior art keywords
- sampling
- media
- packet streams
- media packet
- extraction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000005070 sampling Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 36
- 239000000284 extract Substances 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims 22
- 230000001052 transient effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 5
- 241001272567 Hominoidea Species 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及对诸如音频和视频通道及发光指令之类的数字媒体分组的发送和接收。具体地,本发明涉及对冗余媒体分组流的发送和接收。从第一媒体分组流(904)和第二媒体分组流(906)提取采样(556)。基于每一个采样(556)的输出时间将所提取的采样写入缓冲器(910)中。将具有相同输出时间的所提取的采样写入缓冲器中的相同位置。在没有特别知晓分组流之一实际为冗余的情况下,始终简单地处理两个媒体分组流直至将其写入缓冲器。这就简化了对冗余分组流的管理,例如消除了对于“故障恢复”开关的需求和“主动流”的概念。所述位置是分配用于存储一个采样的存储空间。写入该位置的提取采样可以改写先前写入该位置的来自不同的分组流的另一提取采样。这些被写入相同位置的提取采样可以是相同的。
The present invention relates to the transmission and reception of digital media packets such as audio and video channels and lighting instructions. In particular, the invention relates to the transmission and reception of redundant streams of media packets. Samples are extracted (556) from the first stream of media packets (904) and the second stream of media packets (906). The extracted samples are written into a buffer (910) based on the output time of each sample (556). The extracted samples with the same output time are written to the same location in the buffer. Both streams of media packets are always simply processed until written to the buffer, without specific knowledge that one of the packet streams is actually redundant. This simplifies the management of redundant packet flows, eg eliminating the need for "failback" switches and the concept of "active flows". The location is the memory space allocated for storing one sample. An extracted sample written to this location may overwrite another extracted sample from a different packet stream previously written to this location. These extracted samples written to the same location may be the same.
Description
技术领域 technical field
本发明涉及对诸如音频和视频通道以及发光指令之类的数字媒体分组的发送和接收。将这些媒体通道作为媒体分组从发送机设备发送至接收机设备,以用于播出。具体地,本发明涉及对冗余媒体分组流的发送和接收。本发明涉及发送机设备、接收机设备、数据网络、接收媒体分组流的方法、以及执行该方法的计算机软件。The present invention relates to the transmission and reception of digital media packets such as audio and video channels and lighting instructions. These media channels are sent as media packets from the sender device to the receiver device for playout. In particular, the invention relates to the transmission and reception of redundant streams of media packets. The invention relates to a sender device, a receiver device, a data network, a method of receiving a stream of media packets, and computer software for performing the method.
背景技术 Background technique
很久以来,使用应用专用的电缆对诸如音频和视频通道之类的媒体通道进行传送。例如,使用双核扬声器电缆来将左和右音频通道从放大器传送至扬声器。Media channels such as audio and video channels have long been carried using application-specific cables. For example, use a dual-core speaker cable to route the left and right audio channels from the amplifier to the speakers.
最近,使用诸如单播或多播之类的协议通过基于计算机的网络来传送媒体信号。单播是通过计算机网络向单一目的地发送分组的方法。针对每一个希望接收分组的媒体设备,必须重传单播分组。More recently, media signals are transmitted over computer-based networks using protocols such as unicast or multicast. Unicast is a method of sending packets over a computer network to a single destination. The unicast packet must be retransmitted for each media device wishing to receive the packet.
典型地,多播指的是IP多播,IP多播是利用多播地址在TCP/IP网络上同时向多个接收机设备有效地进行发送的协议。计算机网络接着操作以将分组路由到在网络上的每一个希望接收多播分组的设备上。Typically, multicast refers to IP multicast, which is a protocol for efficiently transmitting simultaneously to multiple receiver devices over a TCP/IP network using a multicast address. The computer network then operates to route the packet to each device on the network that wishes to receive the multicast packet.
媒体网络能够允许发送和接收冗余媒体分组流。已知,发送机连续处理主媒体分组流,而简单地忽略媒体分组流的冗余拷贝。在主分组流中检测到问题的事件中(即,网络中的传输路径断开),出现“故障恢复”开关。一旦激活该开关,接收机设备忽略主媒体分组流,并处理冗余拷贝。A media network can allow redundant media packet streams to be sent and received. It is known that the sender processes the main media packet stream continuously and simply ignores the redundant copies of the media packet stream. In the event that a problem is detected in the main packet flow (ie, a transmission path in the network is broken), a "failback" switch occurs. Once the switch is activated, the receiver device ignores the primary media packet stream and processes redundant copies.
发明内容 Contents of the invention
在一方面,本发明提供了用于接收来自数据网络的媒体分组流的接收机设备,该接收机设备包括:In one aspect, the invention provides a receiver device for receiving a stream of media packets from a data network, the receiver device comprising:
第一数据接口,用于接收第一媒体分组流,所述第一媒体分组流包含媒体通道的采样;The first data interface is used to receive a first media packet flow, and the first media packet flow includes samples of media channels;
第二数据接口,用于接收第二媒体分组流,所述第二媒体分组流包含媒体通道的采样;The second data interface is used to receive a second media packet stream, and the second media packet stream includes samples of media channels;
处理器,用于从第一媒体分组流和第二媒体分组流中提取采样,并确定所提取的采样的输出时间;a processor configured to extract samples from the first media packet stream and the second media packet stream, and determine an output time of the extracted samples;
缓冲器,用于暂时存储所提取的采样,以用于输出;以及a buffer for temporarily storing the extracted samples for output; and
其中,所述处理器操作从而基于对应的输出时间来将所提取的采样写入缓冲器中,以使得将所提取的具有相同输出时间的采样被写入缓冲器中的相同位置。Wherein the processor is operative to write the extracted samples into the buffer based on the corresponding output time such that extracted samples having the same output time are written to the same location in the buffer.
这样,接收机设备能够在没有特别地知晓分组流之一实际上为冗余的情况下始终简单地处理两个媒体分组流直至将其写入缓冲器中。这就简化了对冗余分组流的管理,例如消除了对于“故障恢复”开关的需求。此外,不再需要“主动流”的概念。In this way, the receiver device can simply process both streams of media packets all the way up to writing them in the buffer without specifically knowing that one of the packet streams is actually redundant. This simplifies the management of redundant packet flows, eg eliminating the need for a "failback" switch. Furthermore, the concept of "active flow" is no longer required.
缓冲器可以被设计为根据所提取的各采样的输出时间按顺序存储预定最大数目的所提取的采样。位置是分配用于存储一个采样的存储空间。写入位置的第一提取采样可以将先前写入该位置的来自不同分组流的第二提取采样改写。写入相同位置的第一和第二提取采样可以相同。The buffer may be designed to store a predetermined maximum number of extracted samples in order according to the output time of each extracted sample. A location is the memory space allocated to store a sample. A first extracted sample written to a location may overwrite a second extracted sample from a different packet stream previously written to that location. The first and second extracted samples written to the same location may be the same.
缓冲器可以与一个输出通道相关联,并且每个媒体分组流可以被导向相同的输出通道。每个媒体分组流可以包含两个或更多个媒体通道。A buffer can be associated with one output channel, and each stream of media packets can be directed to the same output channel. Each media packet stream can contain two or more media channels.
接收机设备还可包括第三数据接口,用于接收包含媒体通道的采样的第三媒体分组流,其中,所述处理器进一步操作从而从第三媒体分组流中提取采样并确定所提取的采样的输出时间。由于不需要用于处理冗余分组流的特定管理控制,因此可以很容易地增加冗余分组流的数目,并利用相同方式对所有分组流进行处理。The receiver device may further comprise a third data interface for receiving a third stream of media packets comprising samples of the media channel, wherein the processor is further operative to extract samples from the third stream of media packets and determine the extracted samples output time. Since no specific administrative controls are required for handling redundant packet flows, the number of redundant packet flows can easily be increased and all packet flows processed in the same manner.
第一和第二媒体分组流可以从与数据网络相连接的相同发送机设备的不同数据接口接收。The first and second media packet streams may be received from different data interfaces of the same sender device connected to the data network.
处理器还可操作以检测被破坏的采样并防止这些被破坏的采样被写入缓冲器中。The processor is also operable to detect corrupted samples and prevent these corrupted samples from being written to the buffer.
第一媒体分组流的一个媒体分组中所包含的所有采样可以不全部被包含在第二媒体分组流的任何单个媒体分组中。即使没有以相同方式对两个媒体流的采样进行分组化,处理器也可以操作以使用相同方式提取和写入采样。All samples contained in one media packet of the first stream of media packets may not all be contained in any single media packet of the second stream of media packets. Even if the samples of the two media streams are not packetized in the same way, the processor is operable to extract and write the samples in the same way.
媒体通道的采样可具有关联的时间戳,且处理器可以操作以基于相应时间戳来确定所提取的采样的输出时间。该时间戳可以是绝对时间戳,并且可以表示采样时间。The samples of the media channel may have associated timestamps, and the processor may be operable to determine an output time of the extracted samples based on the respective timestamps. The timestamp may be an absolute timestamp and may represent a sampling time.
本发明还可以包括用于接收来自数据网络的媒体分组流的方法,该方法包括步骤:The present invention may also include a method for receiving a stream of media packets from a data network, the method comprising the steps of:
接收第一媒体分组流,所述第一媒体分组流包含媒体通道的采样;receiving a first stream of media packets, the first stream of media packets comprising samples of media channels;
接收第二媒体分组流,所述第二媒体分组流包含媒体通道的采样;receiving a second stream of media packets, the second stream of media packets comprising samples of media channels;
从所述第一媒体分组流和第二媒体分组流中提取采样;extracting samples from the first stream of media packets and the second stream of media packets;
确定所提取的采样的输出时间;determining an output time of the extracted samples;
基于相应的输出时间,将所提取的采样写入缓冲器中以用于输出,由此将具有相同输出时间的所提取的采样写入缓冲器中的相同位置。Based on the corresponding output time, the extracted samples are written to the buffer for output, whereby the extracted samples with the same output time are written to the same location in the buffer.
在另一方面,本发明提供了计算机软件以操作接收机设备来执行上述方法。In another aspect, the invention provides computer software to operate a receiver device to perform the method described above.
在又一方面,本发明提供了用于通过数据网络向接收机设备发送媒体分组流的发送机设备,该发送机设备包括:In yet another aspect, the present invention provides a sender device for sending a stream of media packets over a data network to a receiver device, the sender device comprising:
一个或多个数据接口,用于向接收机设备发送第一媒体分组流和第二媒体分组流,所述媒体流包含一个或多个媒体通道;one or more data interfaces for sending a first media packet stream and a second media packet stream to a receiver device, the media stream comprising one or more media channels;
处理器,基于来自接收机设备的请求对媒体通道进行分组化,以创建用于通过数据接口进行发送的媒体分组流;以及a processor that packetizes the media channel based on the request from the receiver device to create a stream of media packets for transmission over the data interface; and
控制器,使得所述处理器创建两个独立的媒体分组流,所述两个独立的媒体分组流包含要被发送至接收机设备的相同媒体通道。A controller such that the processor creates two independent streams of media packets containing the same media channel to be sent to the receiver device.
该请求可以将包含媒体通道的第一媒体分组流寻址到接收机设备的第一接口,以及将包含相同媒体通道的第二媒体分组流寻址到接收机设备的第二接口。该请求可以是从接收机设备接收到的单个消息。The request may address a first stream of media packets comprising a media channel to a first interface of the receiver device and a second stream of media packets comprising the same media channel to a second interface of the receiver device. The request may be a single message received from the receiver device.
发送机设备可以包括用于发送第一媒体分组流的第一数据接口以及用于发送第二媒体分组流的第二数据接口。The sender device may comprise a first data interface for sending the first stream of media packets and a second data interface for sending the second stream of media packets.
数据网络可以包括第一和第二数据子网络。控制器可以使得第一媒体分组流通过第一数据子网络进行发送,以及使得第二媒体分组流通过第二子网络进行。这样,如果一个数据网络无法成功地传送一个或多个分组,则经由另一子网络来传送相同的媒体通道,并且不会发生数据丢失。此外,第一数据子网络可以具有和第二数据子网络不同的配置,例如不同的传输协议。The data network may include first and second data sub-networks. The controller may cause the first stream of media packets to be sent over the first data subnetwork and the second stream of media packets over the second subnetwork. In this way, if one data network fails to transmit one or more packets successfully, the same media channel is transmitted via another sub-network and no data loss occurs. Furthermore, the first data subnetwork may have a different configuration than the second data subnetwork, for example a different transmission protocol.
本发明还涉及用于将包含相同媒体通道的两个媒体分组流发送至接收机设备的方法和软件。The invention also relates to a method and software for sending two streams of media packets comprising the same media channel to a receiver device.
在又一方面,本发明提供了包括上述接收机设备和发送机设备的计算机网络。In yet another aspect, the present invention provides a computer network comprising a receiver device and a transmitter device as described above.
附图说明 Description of drawings
现在将参考附图对本发明的示例进行描述,在附图中:Examples of the invention will now be described with reference to the accompanying drawings, in which:
图1是可以与本发明一同使用的网络的示意图;Figure 1 is a schematic diagram of a network that may be used with the present invention;
图2是使用本发明的通过网络发送的媒体分组流的单个分组的示意图;Figure 2 is a schematic diagram of a single packet of a media packet stream sent over a network using the present invention;
图3(a)至3(d)是在数据网络中如何实现冗余的示意图;3(a) to 3(d) are schematic diagrams of how to implement redundancy in a data network;
图4是根据本发明的实施方案使用冗余接口的网络的示意图;Figure 4 is a schematic diagram of a network using redundant interfaces according to an embodiment of the present invention;
图5是根据本发明的另一实施方案使用冗余接口的网络的另一示意图;以及Figure 5 is another schematic diagram of a network using redundant interfaces according to another embodiment of the present invention; and
图6是接收机设备的输出通道的缓冲器的示意图。Fig. 6 is a schematic diagram of a buffer of an output channel of a receiver device.
具体实施方案specific implementation plan
网络组件综述Overview of Network Components
参照图1,其中描述了数据网络。数据网络100包括发送机设备110和接收机设备112。在网络100中可能存在多个发送机设备110和多个接收机设备112,但是这里为了清楚起见,仅讨论其中之一。此外,设备110和112可能可以执行发送和接收两项功能,但是这里为了更加清楚起见,将设备110和112描述为各自仅执行一项功能。Referring to Figure 1, a data network is depicted. The
发送机设备110和接收机设备112通过网络114彼此连接,因此它们能够发送和接收作为媒体分组流的一部分的数字媒体分组。发送机设备110包括音频处理引擎(APE)120和音频处理引擎控制器(APEC)122。接收机设备112也包括APE 124和APEC 126。媒体分组在可包含一个或多个媒体通道的媒体分组流中发送。为了简单起见,实施方案将媒体分组流中的所有媒体通道描述为相同的格式,然而本发明能够适用于一个媒体分组流内的多个媒体通道格式。The
诸如吉他之类的媒体设备140与APE 120连接,APE 120接收媒体设备140所产生的媒体信号。可以添加预处理器(未示出),以将媒体通道从模拟转换为数字或从一种数字格式转换到另一数字格式(例如,采样速率或比特深度转换)。然后,APE 120对数字媒体通道进行分组化。利用网络114将产生的分组流发送到接收机设备112的APE 124。然后,APE 124对数字媒体信号进行解分组化,(如果适当的话)将其转换为模拟信号,并将模拟媒体信号发送至媒体设备142,例如用于播出的扬声器。当媒体信号为诸如MIDI源之类的非模拟源时,不必进行转换。在时间上严格控制分组化和发送的速率和偏移,以确保通过媒体设备142对媒体信号的播出与连接到网络114同样从APE 120接收媒体信号的另一媒体设备(未示出)对媒体信号的播出之间同步。在共同未决的PCT申请PCT/AU2006/000538(WO2006/110960)中详细描述了APE 120和124的分组化操作。此外,还参考同一天提交的要求AU2006906015和AU2006902741的优先权的共同未决PCT申请。A
APEC 122/126是以软件或硬件实现的组件。在该网络100中,APEC122/126与APE 120/124处于相同的物理设备上,但是可选地可以远离APE120/124,例如可以处于与网络114连接的另一设备或中央计算机上。APEC122/126向用户提供APE 120/124以及与其连接的任意音频设备140和142的概述。发送机设备110具有能够被命名、并可以提供给网络114上的接收机设备112的多个可发送通道;这被称为广告。接收设备112具有多个接收通道。可以将已命名的发送通道分配给接收通道;这被称为预订。APEC 122和126将对APE 120/124进行配置,以将媒体信号从发送通道路由到接收通道。
接收和发送APEC 126和122通过网络114交换配置信息和控制消息。经由诸如DNS-SD之类的服务发现数据库118交换配置信息。该数据库可以利用分布式方式实现,使得每个设备110和112存储和提供与其APEC 122/126相关联的配置信息。有时需要附加控制消息来完成预订过程,并使得媒体信号被路由。这些附加控制消息在接收APEC 126与发送APEC 122之间发送。Receive and transmit
每个APEC 122/126配置其自身的APE 120/124,并与其它APEC 122/126进行交互,以确保配置在通信的APE 120/124之间匹配。Each
在每个设备110和112内部,诸如来自音频设备140的通道之类的输入通道被称为“TX通道”,因为它们将通过网络进行发送,而诸如被发送至音频设备142的通道之类的输出通道被称为“RX通道”,因为它们将从网络上接收数据。Inside each
首先,设备必须进行连接以创建网络104。参照图4,四个媒体设备(键盘144、吉他140、用于CD的左通道146和用于CD的右通道148)与发送机设备110的四个输入通道连接。在本示例中,键盘和吉他使用相同的采样速率和采样格式(比如48kHz,24比特,PCM编码)。CD通道具有不同的采样速率和采样格式(比如44.1kHz,16比特,PCM编码)。First, devices must connect to create the network 104 . Referring to FIG. 4 , four media devices (
媒体分组流media packet flow
现在参照图2,其示意性地示出了单个媒体分组550。顺序发送的多个媒体分组构成了媒体分组流。相同媒体流中的每个媒体分组550包括相同的媒体通道。每个媒体分组550包括帧554。在媒体分组550的每帧554中,必须给每个媒体通道分配采样空间556。该采样空间也被称为时隙。每个分组550具有每通道一个时隙,由此具有每桢554一个采样空间556。Referring now to FIG. 2, a single media packet 550 is schematically shown. A plurality of media packets sent sequentially constitutes a stream of media packets. Each media packet 550 in the same media stream includes the same media channel. Each media packet 550 includes frames 554 . In each frame 554 of a media packet 550, each media channel must be allocated a sample space 556. This sample space is also called a time slot. Each packet 550 has one time slot per channel and thus one sample space 556 per frame 554 .
每一帧554与绝对时间戳相关联,该绝对时间戳也被记录在分组内。时间的概念在网络100上的所有设备110和112之间同步,因此它们共享公共时钟。控制帧554内所包含的媒体通道的播出的所有设备112必须同步地播出每一帧中的通道。这是基于每一帧554中的时间戳完成的。例如,参照公共时钟,每一个播出设备可以以超过绝对时间戳的预定延迟播出每一帧554中的采样556。Each frame 554 is associated with an absolute timestamp, which is also recorded within the packet. The notion of time is synchronized between all
冗余媒体分组流Redundant Media Packet Stream
现在将参考图4描述冗余。冗余是通过在网络设备的不同接口上对分组流进行复制来实现的。主要在APEC层对冗余进行控制。APEC可以将在APE上的给定分组流程序设计为要通过特定数据接口发送或接收。如果要冗余地发送特定媒体分组流,那么APEC会程序设计分组流的两个或更多个拷贝。一个拷贝从APE 120的第一接口130发送,分组流的第二拷贝从APE 120的第二接口136发送。Redundancy will now be described with reference to FIG. 4 . Redundancy is achieved by duplicating packet streams on different interfaces of the network device. Redundancy is mainly controlled at the APEC layer. APEC can program a given packet flow on an APE to be sent or received over a specific data interface. If a particular media packet stream is to be sent redundantly, APEC will program two or more copies of the packet stream. One copy is sent from the
类似地,进行接收的APEC 126将其APE 124程序设计为通过各数据接口132和134接收拷贝。每个复制的分组流被程序设计为将采样提供给相同的输出通道。这意味着分组流被写入相同的缓冲器中。由于两个分组流中的采样和所确定的输出时间相同,因此对相同的采样进行处理,并用其覆写缓冲器,以用于输出通道。通常,这将会导致错误和竞争的状态。然而,由于所有的冗余媒体分组流都包含具有同步的输出时间的相同采样,因此哪一个媒体分组流的哪一个采样数据首先被写入缓冲器并不要紧,因为所有的重复拷贝被简单地覆写,因而实际上只将每个采样的一份拷贝发送到输出通道。Similarly, the receiving
输出时间指示采样要被写到缓冲器中的哪个位置。采样的输出时间是基于与媒体分组流中的采样相关联的时间戳而确定的。这可以包括对每个媒体分组流的延迟和偏移进行补偿。注意,给媒体通道的每个采样添加时间戳并不需要给每个采样添加物理时间戳。如果在一个分组中发送来自单个媒体信号的周期音频数据的20个采样,则简单地给第一采样添加时间戳也隐含了对其余的添加时间戳。因此,其余的采样通过关联也具有时间戳。The output time indicates where in the buffer the samples are to be written. The output time of the samples is determined based on timestamps associated with the samples in the stream of media packets. This may include compensating for delay and skew of each media packet stream. Note that timestamping each sample of a media channel does not require physically timestamping each sample. If 20 samples of periodic audio data from a single media signal are sent in one packet, simply timestamping the first sample implies timestamping the rest as well. Therefore, the rest of the samples are also time-stamped by association.
图3示出了在数据网络上实现冗余的一些方式。接口可以经由多个路径连接到独立的网络114(a)和114(b)或者连接到单个网络114。图8(c)中的接口138和139分别为发送机110和接收机112的第二冗余接口。图8(d)示出了发送机110上的一个接口可以向接收机112上的多个分离接口进行发送。Figure 3 shows some ways in which redundancy can be implemented on a data network. The interfaces may be connected to separate networks 114(a) and 114(b) or to a
具有多个通道数据接口的APE 120和124各自指定一个接口作为主接口。该主接口为接口#0。任何其它(冗余的)通道数据接口从1开始编号。例如,图4中具有一个主接口132和一个冗余接口134的APE 124具有接口#0和#1。
为了简单起见,当进行发送或接收时,将APE 120和124配置为只与等同接口进行发送或接收。一个APE 120上的主接口130与另一APE 124上的主接口132进行通信。一个APE 120上的接口136#1只与另一APE 124上的接口134#1进行通信。以此类推。这就使得能够从外部对各APE接口做标记。例如,在硬件本身上,主接口可以着黑色,第一冗余接口为红色,第二冗余接口为蓝色,等等。这就使得用户能够容易地区分不同的接口,并确保在组装期间它们被正确地接线。For simplicity,
单播协议中的冗余Redundancy in Unicast Protocols
在网络114上对媒体通道进行广告,以指示接收机能够利用单播协议来预订该媒体通道。接收机能够请求接收媒体通道的TXT记录,该TXT记录包括媒体通道的信息,包括采样速率(rate)、比特深度(bits)和编码(enc)(1=PCM)。“txtvers”字段是TXT记录的版本号。“nchan”字段是每个动态束的最大通道数。接口箱(stage-box)110的每个动态束具有最多四个通道,这足以通过单个分组来发送所有输入144、140、146和148。id字段是由APEC 120用来简要地标识其通道的任意物理通道标识符。名为“键盘(keyboard)”的通道正好具有ID 16。除了发送APEC 120之外,这个ID只对接收机APEC 124配置APEC 122上的动态束有帮助。The media channel is advertised on the
广告的TXT记录包括被标记为“nred”的字段。“nred”的值指示了冗余接口的数目。如果省略该字段,则该值被视为零。零值指示没有冗余接口,这意味着发送机110的APE 120仅支持主数据流。值1指示有单个冗余接口。大于1的值指示多个冗余接口(编号为1..n)。The advertisement's TXT record includes a field labeled "nred". The value of "nred" indicates the number of redundant interfaces. If this field is omitted, the value is treated as zero. A value of zero indicates no redundant interface, which means that the
除了发送单个动态束请求,进行接收的APEC 126还可以对每一发送机上可用的冗余接口发送一个请求,每一个具有不同的接口字段。可选地,可以将发向冗余接口的对冗余流的请求合并到发向非冗余接口的对分组流的初始请求消息中。In addition to sending a single Dynamic Bundle Request, a receiving
如图4所示,除了主接口130(#0)之外,接口箱110还具有冗余接口136(#1)。现在对通道广告的TXT记录进行格式化如下:As shown in FIG. 4 , in addition to the main interface 130 (#0), the
记录:keyboardstage-box._netaudio_chan._udp.local TXTRecord: keyboardstage-box._netaudio_chan._udp.local TXT
txtvers=2txtvers=2
rate=48000rate=48000
bits=24bits=24
enc=1enc=1
nchan=4nchan=4
id=16id=16
nred=1nred=1
混合器112也支持冗余通道。其主数据接口132的地址为169.254.28.12。其第二数据接口134的地址为169.254.132.15。
在本地,混合器112从其APEC 126向其APE 124发送如下‘创建RX束’消息:Locally, the
每个消息将一个接收的分组流配置给接口132或134。第二接口134(#1)可以使用与主接口132相同或不同的端口号,这取决于APE 124的设计。本示例假设选择不同的端口。Each message configures a received packet flow to interface 132 or 134 . The second interface 134 (#1) may use the same or a different port number as the
正如混合器112必须在其APE 124上创建两个分离束,其需要在接口箱110上创建两个分离的动态束。将下列消息从APEC 126发送到APEC 122:Just as the
最终,接口箱110在本地APE 120上创建两个束,以满足这些请求。下列信息从APEC 122发送至APE 120:Ultimately,
多播冗余multicast redundancy
为了支持冗余多播,发送机110创建一些不同的分组流,并将其作为与单个束名称相关联的分离静态束进行广告。To support redundant multicasting, the
例如,为了广告束b1和b2的两个拷贝,即主束130和第二束136,接口箱110将首先声明每个束的多播地址。主束使用239.254.46.46。第二束使用239.254.98.147。对于本示例,假设两个束均使用相同的接口(29061)。For example, to advertise two copies of bundles bl and b2,
创建两个服务记录(SRV),每个分组流一个记录。由于对各分组流进行相同的格式化,因此只需要单个TXT记录。Create two service records (SRVs), one for each packet flow. Since each packet stream is formatted identically, only a single TXT record is required.
记录:b1stage-box._netaudio_bund._udp.local SRVRecord: b1stage-box._netaudio_bund._udp.local SRV
0 1 2906146.46.254.239.mcast.local0 1 2906146.46.254.239.mcast.local
记录:b1stage-box._netaudio_bund._udp.local SRVRecord: b1stage-box._netaudio_bund._udp.local SRV
1 1 29061 147.98.254.239.mcast.local1 1 29061 147.98.254.239.mcast.local
记录:b1stage-box._netaudio_bund._udp.local TXTRecord: b1stage-box._netaudio_bund._udp.local TXT
txtvers=1txtvers=1
rate=48000rate=48000
bits=24bits=24
enc=1enc=1
nchan=4nchan=4
如果只使用单个(主)接口,则将SRV中的“优先级”字段(表示为第一个号码)设置为0。非零优先级指示将束应用到冗余接口,在本示例中为接口1。If only a single (primary) interface is used, set the "Priority" field (represented as the first number) in the SRV to 0. A non-zero priority indicates that the bundle is to be applied to the redundant interface,
对这些束广告进行解码使得接收机能够在每个接口上配置适当的束。APEC 126将APE 124配置为在第一主接口132上接收主束,以及在第二接口134上接收第二束。Decoding these bundle advertisements enables the receiver to configure the appropriate bundle on each interface.
缓冲器管理buffer management
无论使用单播或是多播协议,接收机设备112管理所复制的分组流的方式是相同的。Whether a unicast or multicast protocol is used, the manner in which the
参照图5中的数据网络902,其示出了发送机设备110发送两个相同的分组流。一个分组流904发送自主数据接口130,第二分组流906发送自第一冗余接口136。两个分组流都包含与键盘144连接的媒体通道所产生的采样。Referring to data network 902 in Figure 5, it is shown that
第一主分组流904由接收机设备(即放大器908)在主数据接口132处接收。第二冗余分组流906由放大器908在第一冗余数据接口134处接收。APE 124根据从APEC 126接收到的指令对分组流904和906中的每一个进行处理。The first primary packet stream 904 is received at the
这里,APE 124将对接收到的分组流904和906进行处理,以通过扬声器142播出,扬声器142连接到放大器908的输出通道2。可选地,连接到输出通道2的设备可以不是播出设备,可以是例如混合器或放大器。Here,
APE 124从接收到的数据流904和906中提取采样,并基于对应的时间戳来确定每一个采样的输出时间。然后,在将采样发送至输出通道2以通过扬声器142播出之前,APE 124基于所确定的输出时间将采样写入缓冲器910。
现在将参考图6描述将采样写入缓冲器的方法。独立地处理分组流904和906,并且APE 124不需要特别认识到它们实质上完全相同。The method of writing samples to the buffer will now be described with reference to FIG. 6 . Packet streams 904 and 906 are processed independently, and
APE 124从分组流中提取键盘媒体通道的采样,并将其写入912缓冲器910中,以使得采样在缓冲器中处于输出顺序。在概念上将缓冲器划分为间隔t0、t2、t3...tn,其作为每一个采样的长度,并且其中每一个都对应于一个输出时间。基于各自的输出时间将一个采样写入每个间隔中。一旦某一个采样被写入缓冲器910中的最后一个间隔tn,继续将采样写入第一间隔t0,以覆盖写入其中、但已被传送至输出通道2并被扬声器142播出的之前的采样。
由于接收到的每一个采样都具有关联的时间戳,该时间戳具有绝对时间基准,因此能够容易地确定与绝对时间基准相对应的输出时间。在本示例中,必须将相同的采样同步地传送至输出通道,因此每个采样的输出时间也必须是相同的。因此,如果某一个采样没有按顺序接收到,则也可以将其写到正确的间隔,因为可以基于该采样的输出时间来选择正确的间隔。如果某一个采样属于已经被播出的时间间隔,则将简单地丢掉该采样。Since each sample received has an associated time stamp with an absolute time reference, the output time corresponding to the absolute time reference can be easily determined. In this example, the same samples must be delivered synchronously to the output channels, so the output time of each sample must also be the same. Therefore, if a sample is received out of sequence, it can also be written to the correct interval, since the correct interval can be selected based on the output time of that sample. If a sample belongs to a time interval that has already been played out, the sample will simply be dropped.
第一分组流904和第二分组流906都是利用这种方式进行处理的。由于采样及其确定的输出时间是相同的,因此相同的采样被两次写入同一个间隔。先将来自第一分组流904的采样或先将来自第二分组流906的采样写入缓冲器910无关紧要,暂时存储在缓冲器中的采样的最终结果都将相同。Both the first packet flow 904 and the second packet flow 906 are processed in this manner. Since the sample and its determined output time are the same, the same sample is written twice to the same interval. It does not matter whether the samples from the first packet stream 904 or the second packet stream 906 are written to the
这样,如果来自第一分组流904的分组在发送机设备110的发送期间丢失了,那么将来自第二分组流906中的相同分组的采样写入缓冲器910中。在这种情况下,仅将这些采样写入缓冲器中一次。当然,在来自第二分组流906的分组丢失时,也可能发生相反的情况,且仅将来自第一分组流906中的相同分组的采样写入缓冲器910中。In this way, if a packet from the first packet stream 904 is lost during transmission by the
由于APEC 126知道分组流904和906(更具体地为每个分组流904和906中的特定时隙)包含相同数据,并且在上述从APEC 126发送至APE 124的消息中,APEC 126将APE 124程序设计为无条件地将两者拷贝进相同缓冲器,APE 124不需要判定哪一个分组流是“当前的”或“有效的”。APE 124在缓冲器中的相同间隔(位置)上处理并拷贝二者,而不用考虑先对分组流904和906中的哪一个进行处理并将其写入缓冲器中,两个流都以普通方式简单处理。这降低了对能够发送和接收冗余分组流的系统进行管理的复杂度。例如,不再需要判定是否激活故障恢复开关。一旦建立了路径,除非两个路径都失败,否则APE 124或APEC 126不需要另外的判定逻辑。Since
如果在网络传输期间采样被破坏,则一旦识别,那些采样应被丢掉。复制的媒体分组流将确保输出缓冲器接收到采样的至少一个拷贝,而无需在媒体分组流之间切换。在将采样数据写入共享缓冲器之前,执行任意传送级误差检验或差错恢复。If samples are corrupted during network transmission, those samples should be discarded once identified. Duplicated media packet streams will ensure that the output buffer receives at least one copy of the samples without switching between media packet streams. Any transmit-level error checking or error recovery is performed before the sampled data is written to the shared buffer.
媒体分组流904和906中的每一个分组的实际采样内容不需要相同。例如,可以以不同方式将媒体通道分组化为分组流904和906,以使得来自每一个流的分组不包含相同的采样。将采样写入缓冲器中的方法始终相同,因为无论分组中的关联帧的位置如何,每一个相同采样都将共享输出时间。在将采样写入缓冲器中时,APE 124将参考每一个采样的输出时间,以确定该采样应被写入哪一个间隔(位置)。The actual sample content of each packet in media packet streams 904 and 906 need not be the same. For example, the media channel may be packetized differently into packet streams 904 and 906 such that packets from each stream do not contain the same samples. The method of writing samples into the buffer is always the same, since each identical sample will share output time regardless of the position of the associated frame in the packet. When writing samples into the buffer, the
本发明还允许各自包含相同的媒体通道的其它冗余流。可以将每一个媒体分组流发送至不同的数据接口。同样的,APE 124将独立地处理所有分组流,并将所提取的采样写入相同的缓冲器中,以用于输出通道。The invention also allows for other redundant streams each containing the same media channel. Each stream of media packets may be sent to a different data interface. Likewise, the
当然,采样556可以是一个或多个媒体源的混合,例如键盘144和吉他140。可选地,可以提供混合器,以用于在将采样写入缓冲器之前对其进行混合。Of course, sample 556 may be a mix of one or more media sources, such as
本领域技术人员应理解,在不背离广泛描述的本发明的精神或范围的前提下,可以对具体实施方案所示的本发明进行多种变体和/或修改。It will be appreciated by those skilled in the art that various variations and/or modifications may be made to the invention shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described.
■当使用静态束时,可以以任意方便的方式将通道分配给束。也可以通过在特定接口上创建特定束来实现冗余。■ When using static bundles, channels can be assigned to bundles in any convenient way. Redundancy can also be achieved by creating specific bundles on specific interfaces.
■动态束通常为单播。静态束通常为多播。如果需要的话,也可以将动态束配置为多播,或者将静态束配置为单播。■ Dynamic bundles are usually unicast. Static bundles are usually multicast. Dynamic bundles can also be configured as multicast, or static bundles as unicast, if desired.
■物理通道输入/输出也可以以软件形式实现,例如以混合器的软件形式,而不必是实际的物理插塞。■Physical channel input/output can also be implemented in software, for example of a mixer, instead of actual physical plugs.
■尽管上述示例假设了采样的通道数据,然而完全相同的协议机制将对任意固定大小的周期数据流起作用。利用传输(分组和束)机制的变体,也可以支持非周期或可变大小的数据。■ Although the above examples assume sampled channel data, the exact same protocol mechanism will work on arbitrary fixed-size periodic data streams. Aperiodic or variable-sized data can also be supported using variants of the transport (packet and bundle) mechanism.
■给时隙分配同构通道是为了实现便利。可以利用起始字节和长度在帧中标识具有公共采样速率的非同构通道媒体数据。■ Assigning homogeneous channels to time slots is for convenience. Non-homogeneous channel media data with a common sampling rate can be identified in a frame using a start byte and a length.
■MIDI是非周期数据的示例。使得用户能够抽象地路由音频至音频和视频至视频的相同接口能够路由MIDI至MIDI。与周期分组一样,MIDI分组将具有时间戳,但是接收机不应预期MIDI数据单元将周期性到达。非周期性数据可能需要周期性的“keepalive”消息来区分静默与非功能流。只要存在说明“该分组中没有该数据”的标记,则非周期性数据能够和周期性数据一样容易地自动聚合。■ MIDI is an example of aperiodic data. The same interface that enables users to abstractly route audio to audio and video to video can route MIDI to MIDI. Like periodic packets, MIDI packets will have time stamps, but receivers should not expect that MIDI data units will arrive periodically. Aperiodic data may require periodic "keepalive" messages to distinguish silent from non-functional streams. Aperiodic data can be automatically aggregated just as easily as periodic data, as long as there is a flag stating "this data is not in this packet".
因此,现有的实施方案在所有方面都应被认为是示例性的而并非限制性的。Accordingly, the present embodiments should be considered in all respects as illustrative and not restrictive.
Claims (27)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2006902741A AU2006902741A0 (en) | 2006-05-17 | Transmitting and Receiving Media Packet Streams | |
AU2006902741 | 2006-05-17 | ||
AU2006906015A AU2006906015A0 (en) | 2006-10-19 | Transmitting and Receiving Media Packet Streams | |
AU2006906015 | 2006-10-19 | ||
PCT/AU2007/000667 WO2007131296A1 (en) | 2006-05-17 | 2007-05-17 | Redundant media packet streams |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101563886A CN101563886A (en) | 2009-10-21 |
CN101563886B true CN101563886B (en) | 2012-12-05 |
Family
ID=40892173
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780026677.0A Active CN101563886B (en) | 2006-05-17 | 2007-05-17 | Redundant media packet streams |
CN200780026686.XA Active CN101491002B (en) | 2006-05-17 | 2007-05-17 | Transmitting and receiving media packet streams |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780026686.XA Active CN101491002B (en) | 2006-05-17 | 2007-05-17 | Transmitting and receiving media packet streams |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101563886B (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013122385A1 (en) | 2012-02-15 | 2013-08-22 | Samsung Electronics Co., Ltd. | Data transmitting apparatus, data receiving apparatus, data transreceiving system, data transmitting method, data receiving method and data transreceiving method |
KR102012231B1 (en) * | 2012-02-15 | 2019-08-20 | 삼성전자주식회사 | Data transmitting apparatus, data receiving apparatus, data transreceiving system, data transmitting method, data receiving method and data transreceiving method |
WO2013122386A1 (en) | 2012-02-15 | 2013-08-22 | Samsung Electronics Co., Ltd. | Data transmitting apparatus, data receiving apparatus, data transreceiving system, data transmitting method, data receiving method and data transreceiving method |
WO2013122387A1 (en) | 2012-02-15 | 2013-08-22 | Samsung Electronics Co., Ltd. | Data transmitting apparatus, data receiving apparatus, data transceiving system, data transmitting method, and data receiving method |
CN103108136B (en) * | 2013-03-05 | 2016-09-28 | 广东威创视讯科技股份有限公司 | A kind of video cross method and master control set |
US9438193B2 (en) * | 2013-06-05 | 2016-09-06 | Sonos, Inc. | Satellite volume control |
TWI524756B (en) | 2013-11-05 | 2016-03-01 | 財團法人工業技術研究院 | Method and device operable to store video and audio data |
KR102249147B1 (en) * | 2014-03-29 | 2021-05-07 | 삼성전자주식회사 | Apparatus and method for delivering and receiving related information of multimedia data in hybrid network and structure thereof |
US10560514B2 (en) | 2014-03-29 | 2020-02-11 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving information related to multimedia data in a hybrid network and structure thereof |
US10560312B2 (en) * | 2016-11-13 | 2020-02-11 | Harman International Industries, Incorporated | Multi-mode configurable network audio |
GB201912169D0 (en) * | 2019-08-23 | 2019-10-09 | Nordic Semiconductor Asa | Radio apparatus for communicating digital audio streams |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189726A (en) * | 1997-01-17 | 1998-08-05 | 德尔科电子公司 | High speed multimedia data network |
EP1148687A1 (en) * | 2000-04-20 | 2001-10-24 | Telefonaktiebolaget L M Ericsson (Publ) | Communication device |
CN1393785A (en) * | 2001-07-04 | 2003-01-29 | 天地数码网络有限公司 | Data transmission system and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434141B1 (en) * | 1999-05-26 | 2002-08-13 | Bigband Networks, Inc. | Communication management system and method |
FR2842320A1 (en) * | 2002-07-12 | 2004-01-16 | Thomson Licensing Sa | MULTIMEDIA DATA PROCESSING DEVICE |
US7676720B2 (en) * | 2004-06-01 | 2010-03-09 | BigBand Networks, Inc | Method and system for program based redundancy |
-
2007
- 2007-05-17 CN CN200780026677.0A patent/CN101563886B/en active Active
- 2007-05-17 CN CN200780026686.XA patent/CN101491002B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189726A (en) * | 1997-01-17 | 1998-08-05 | 德尔科电子公司 | High speed multimedia data network |
EP1148687A1 (en) * | 2000-04-20 | 2001-10-24 | Telefonaktiebolaget L M Ericsson (Publ) | Communication device |
CN1393785A (en) * | 2001-07-04 | 2003-01-29 | 天地数码网络有限公司 | Data transmission system and method |
Also Published As
Publication number | Publication date |
---|---|
CN101491002B (en) | 2013-10-30 |
CN101563886A (en) | 2009-10-21 |
CN101491002A (en) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811837B2 (en) | Redundant media packet streams | |
CN101563886B (en) | Redundant media packet streams | |
EP1358553B1 (en) | System and method for multicast stream failover | |
CN100486143C (en) | Multimedia jitter removal device and method in an asynchronous digital home network | |
US20080089361A1 (en) | System and method for transferring data | |
JP4591789B2 (en) | Packet transfer method and packet transfer apparatus | |
US20070217400A1 (en) | Audio distribution over internet protocol | |
US20040240446A1 (en) | Routing data | |
US20100290486A1 (en) | A Digital Multimedia Network With Latency Control | |
US20060268913A1 (en) | Streaming buffer system for variable sized data packets | |
US20060083259A1 (en) | Packet-based systems and methods for distributing data | |
US9942291B2 (en) | Seamless switching between multicast video streams | |
JP2007174666A (en) | Multi-priority messaging | |
CN103828309B (en) | Method for routing sync messages | |
JP7521975B2 (en) | Transfer control device, transfer control system, transfer control method, and transfer control program | |
JP2024042198A (en) | Packet synchronization control device, packet synchronous reproduction device, packet synchronization control method, packet synchronous reproduction method, and program | |
WO2006086020A2 (en) | Packet-based systems and methods for distributing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210526 Address after: New South Wales, Australia Patentee after: Aolian Holdings Pte. Ltd. Address before: New South Wales, Australia Patentee before: Audinate Pty Ltd. |
|
TR01 | Transfer of patent right |