Not Applicable
Not Applicable
The present invention is related to the field of communications. In particular, the present invention is related to a method and apparatus for transcoding video and audio signals. More particularly, the invention provides a method and system for transcoding information (e.g., video, voice, data) from a first format to a destination format using a proxy transcoder server having a plurality of transcoding processes, where at least one is selected for transcoding the information. Merely by way of example, the invention is applied to a wide area telecommunication network, but it would be recognized that the invention can also be applied across many different types of multimedia protocols over transport networks such as the Internet, a mobile network, a local area network, PTSN, ISDN, SONET, DWDM, and others.
Telecommunication techniques have improved dramatically over the years. Many different types of networks such as fixed switched, packet based, wireless and mobile have been deployed. One of the most widely known worldwide networks called the “Internet” has popularized networking to many people around the world. An increase in use of wide area networks such as the Internet has resulted in many new on-line services such as electronic mail, video telephony, video streaming, electronic commerce, and others. Although computers originally connected to the Internet, other devices such as mobile phones, personal digital assistants, laptop computers, and the like have also been connected. Accordingly, many different types of devices now have access to many different types of services over a variety of networks.
A variety of network elements make up the networks, which connect the aforementioned devices together. Such devices are often connected by gateways and switches that handle transfer of data and conversion of messages from protocols of a sending network to protocols used by a receiving network. Gateways and switches convert analog voice messages to digital formats including G.711 and G.723.1, which are ITU standards. Gateways transmit the converted messages typically in a way similar to transmission of voice over IP. G.711 is an ITU standard for speech codecs that provides audio signals at 64 Kbps using either the A-Law PCM method or the mu-Law PCM method. G.723.1 is an ITU standard for speech codecs optimized for narrow-band networks, including Plain Old Telephone Systems and narrow band Internet connections. The standard uses the LD-CELP method and provides audio signals at 5.3 or 6.3 Kbps. Depending upon the application, there can be many others as well.
As merely an example in
One or more gateways may also convert videoconferencing signals from one digital format to another, such as from H.320 to H.323, and transmit converted signals over the Internet. H.320 is an ITU standard for videoconferencing over digital lines, and it uses the H.261 video compression method, which allows H.320-compliant videoconferencing and desktop systems to communicate with each other over ISDN, switched digital lines and leased lines. H.323 is an ITU standard for real-time, interactive voice and videoconferencing over LANs and the Internet. Widely used for IP telephony, H.323 allows any combination of voice, video and data to be transported. H.323 specifies several video codecs, including H.261 and H.263, and audio codecs, including G.711 and G.723.1. Unfortunately, the audio and video standards have grown well beyond H.320, H.323, G.711, and G.723.1. That is, the proliferation of different standards has caused difficulty in communicating messages between them. Additionally, any communication between such standards has caused a proliferation of complex conversion techniques, which are time consuming and lack efficiency. Accordingly, there is a need for an efficient way to convert information or transcode between various formats in real time. Because some systems such H.320 and H.324 are circuit switched systems (data is transmitted as a continuous stream of bits) and some other systems are packet based, the connection of circuit-based to packet based systems require the de-multiplexing of bits from circuit based bitstreams into packet (circuit-to-packet) and vice versa (packet-to-circuit). Note that different system protocols such as H.320, H.323, H.324, 3GPP-324M, SIP and SDP, make use of different signaling methods (to setup connections and exchange terminal capabilities). The inter-connectivity of these systems require the trans-signaling and the conversion of terminal capabilities so terminal can understand what terminals using different protocols are capable of.
From the above, it is seen that an improved way of transferring information from a source to a destination is highly desirable.
According to the present invention, improved techniques for transcoding in the telecommunication fields are provided. In particular, the present invention is related to a method and apparatus for transcoding video and speech signals. More particularly, the invention provides a method and system for transcoding information (e.g., video, voice, data) from a first format to a destination format using a proxy transcoder server having a plurality of transcoding processes, where at least one is selected for transcoding the information. Merely by way of example, the invention is applied to a wide area telecommunication network, but it would be recognized that the invention can also be applied across many different types of multimedia protocols over transport networks such as the Internet, a mobile network, a local area network, PTSN, ISDN, SONET, DWDM, and others.
In a specific embodiment, the invention provides a system for transferring multimedia information from a source location to a destination location through one or more networks, which may be different. The system has a source output which provides a first stream of information in a first format. The system also has a destination input which receives a second stream of information in a second format. A proxy transcoder server (“PTS”) is coupled between the source output and the destination input. The PTS has a transcoding module transcoding data. The PTS also has a capability module identifying a first capability of the source output and a second capability of the destination input, and selecting a transcoding process based upon the first capability and the second capability. Preferably, the selecting is provided using capability mode selection.
In an alternative specific embodiment, the invention provides a system for transferring multimedia information from source to destination locations through one or more networks, which may be different. The system has a source output in a first format, where the source output is coupled to a first network, the source output providing a first stream of information. The system also has a destination input to be received in a second format, where the destination input is coupled to a second network. The destination input receives a second stream of information. A proxy transcoder server (“PTS”) is coupled between the source output and the destination input. The proxy transcoder server has a capability process, which is adapted to identify a first capability of the source terminal (which may have different capabilities) and is adapted to identify a second capability of the destination terminal (which may also have different capabilities).The server also has a transcoding process comprising a plurality of transcoding modules numbered 1 through N, where N is an integer greater than 1. The transcoding process is adapted to select one of the transcoding process based upon the first capability and the second capability. The proxy transcoder server has a bit rate control process. The bit rate control process is adapted to receive a network status information (e.g., ping) from the first network. The bit rate control is adapted to adjust a status (e.g., stop, prioritize allow, adjust bit rate (by selecting lower bit rate coder)) of the stream of information based upon the network status information.
In an alternative specific embodiment, the invention provides a method for processing streams of information. The method includes identifying a source capability from a plurality of source capabilities for a stream of information. The method also identifies a destination capability from a plurality of destination capabilities. A step of selecting a transcoding process from a plurality of transcoding processes in a library based upon the identified source capability and the identified destination capability is included. The method also processes the stream of information using the selected transcoding process if the identified source capability and the identified destination capability are different. The method also transferring the stream of information from the source to the destination free from one of the transcoding processes if the identified source capability and the identified destination capability matches.
Numerous benefits are achieved using the present invention over conventional techniques. In a specific embodiment, the invention provides a way to transcode video data from H.263 to MPEG-4 data and vice versa (and between other video codecs), or to transcode audio data from G.723.1 to GSM-AMR (and between other audio codecs) and vice versa. Transcoding can proceed seamlessly so that end points receiving transcoded data do not notice the conversion in preferred embodiments. The invention can also be implemented using conventional software and hardware technologies, such as digital signal processors (DSPs). Depending upon the embodiment, one or more of these benefits or features can be achieved. These and other benefits are described throughout the present specification and more particularly below.
The accompanying drawings, which are incorporated in and form part of the specification, illustrate embodiments of the invention and, together with the description, serves to explain the principles of the invention.
According to the present invention, improved techniques for transcoding in the telecommunication fields are provided. In particular, the present invention is related to a method and apparatus for transcoding video and audio signals. More particularly, the invention provides a method and system for transcoding information (e.g., video, audio, data) from a first format to a destination format using a proxy transcoder server having a plurality of transcoding processes, where at least one is selected for transcoding the information. Merely by way of example, the invention is applied to a wide area telecommunication network, but it would be recognized that the invention can also be applied across many different types of multimedia protocols over transport networks such as the Internet, a mobile network, a local area network, PTSN, ISDN, SONET, DWDM, and others.
Parts of the description will be presented in terms of operations performed through the execution of programming instructions according to various embodiments. As will understood by those skilled in the art, these operations often take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through, for instance, electrical components. Parts of the description will be presented using a distributed computing environment. In a distributed computing environment, file servers, computer servers, and memory storage devices may be located in different places, but they are accessible to local processing units through the network. In addition, program modules may be physically located in different local and remote memory storage devices. Execution of the program modules may occur locally in a stand-alone manner or remotely in a client-server manner. Examples of such distributed computing environments include local area networks of an office, enterprise-wide computer networks, and the global Internet.
Additionally, the following terms are provided to assist the reader in explaining aspects of the invention. Such terms are not intended to be limiting but merely provided for descriptive purposes to one of ordinary skill in the art. Other meanings for the terms consistent with those understood by one of ordinary skill in the art may also be used.
In a specific embodiment, the term “Proxy Transcoder Server” (herein PTS) is a computer having various modules to carry out some or all of the functionality described herein as well as other functionality, which are known or not known at this present time. The PTS comprises a host processor, one or more network interfaces, and one or more transcoders. A transcoder may contain, among others, a printed circuit board, an application specific integrated circuit (ASIC), and a field programmable gate array (FPGA). The PTS may be connected to a network host such as a media gateway controller or a soft switch or to a content server such as a video server. The PTS can provide codecs and interfaces to various network architectures and protocols, including WAN, LAN, Mobile, PTSN, ISDN, SONET, and perform one or more of the following functions:
1. Capability matching and mode selection;
2. Media bitstream transcoding;
3. Media bitstream rate control;
4. Intellectual property rights management and processing;
5. Audio data mixing; and
6. Encryption and/or decryption
The overall function of the PTS is to translate between various protocols, as exemplified below.
1. Translating multimedia systems protocols, including the ITU H.32X series, e.g., H.242 and H.245, which are used for conveying the media capabilities of end-points, and managing media channels and conferences.
2. Translating media streams including audio and video streams, e.g., translating video streams to and from any pair of video codecs including MPEG2, MPEG4, H.261, H.263, or audio streams to and from any pair of audio codecs including G.723.1, G.729, GSM-AMR, EVRC, SMV, and QCELP.
3. Translating IP management protocols and IP rights markings. For example, the PTS may extract IP rights information from MPEG4 streams and process the information in accordance with IP rights-related operations in order to maintain the IP rights in the media.
4. Encrypting and/or decrypting signals if necessary.
Hence, the PTS has a variety of audio and video transcoding capabilities. Selection of capabilities affects overall qualities of service (QoS) in multimedia communication, and should therefore be determined based on the connection bandwidth and load of the gateway to which the PTS is coupled. The PTS can transcode for different media contents including MPEG series, H.26X video series, GSM-AMR, and G.72X audio codec series. Furthermore, the PTS' transcoding capabilities can be easily upgraded, at least in part due to its programmability.
In addition, the PTS can perform media bitstream rate control. The rate control is necessary because the connection between two end-points may involve bandwidth reduction, e.g., from wired to wireless network. The PTS may perform rate control using information from network channel allocation as supplied by the network access provider, or using in-band bandwidth management requests, which can be originated from end-points through command and control protocols, e.g., H.242 and H.245.
Moreover, the PTS can perform intellectual property (IP) rights management and processing. For example, the PTS may identify a data set regarding intellectual property rights, and use it to facilitate the management and processing. In one embodiment, MPEG4 supplements coded media objects with an optional intellectual property identification (IPI) data set, which carries information on contents, types of contents, and IP rights holders. The data set, if present, forms part of an elementary stream descriptor describing streaming data associated with a media object. The number of data sets associated with each media object may vary; and different media objects may share the same data set. The provision of the data sets allows the implementation of mechanisms for audit trail, monitoring, billing, and copy protection.
Multimedia communication applications have wide ranges of requirements for IP rights protection and security. Some applications require protecting information that users exchange in order to preserve privacy, even if the information has no intrinsic value. Other applications require high-grade management and protection for information of importance to its creator and/or distributors. In addition, the framework of IP rights management and processing must generally be flexible so as to access various forms of IP rights data, as required by a specific application, and as stored in a particular bitstream.
Although the description that follows shows a PTS connected to a gateway as a standalone device, alternate embodiments of the PTS may use a PTS connected to a switch, a server, a router or any device connected to a network. In addition, a PTS may be integrated into a gateway, a switch, a router or other device connected to a network to form an integral part of that network device. Further details of other embodiments are provided below.
Because of limitations of an air-link and mobility of the mobile end-point 210, the bandwidth between the mobile end-point 210 and the base station 230 may reach several tens or hundreds of Kbps, much smaller than the bandwidth between Internet routers and the LAN phone 220. The latter bandwidth reaches 10s to 100s of megabits per second (Mbps). In
In
In yet another embodiment, the capabilities of two end-points of communication may be specified using Wireless Access Protocol (WAP) User Agent Profile information (Capabilities and Preferences Information), the web consortium CC/PP (using the Resource Description Framework, or RDF), the IETF standards (RFC 2506, RFC 2533, and RFC 2703) or ITU's H.245 or H.242 standards, or a combination thereof. In yet another embodiment, a gateway may, under the assistance of PTS, detect the capabilities of end-points and the bandwidth available or allocated for transmission of media. The PTS may then select a data coding mode and transcode the media to best meet the requirements of the end-points. Hence, the PTS may serve as a proxy for each end-point side, converting bitstreams in one form appropriate for one side to another form appropriate for the other side.
Media network interfaces (MNI) 430 provide logical ports for reception and transmission of media bitstreams. Through these logical ports, the PTS 410 receives media bitstreams, e.g., audio signals, video signals, command and control data, and other data that could be text or binary. Port addresses for receiving bitstreams by the PTS 410 and the destination addresses to which the transcoded streams are transmitted are specified by a messaging protocol between the call signaling gateway and the PTS 410 through the NGCI 420. The underlying physical interface of the MNI 430 could be a Gigabit network interface card, time domain multiplexed (TDM) circuit-switched connections such as E1/T1/OC3. The MNI 430 physical network interfaces may or may not share the physical link of the NGCI 420.
A monitor and setup interface (MSI) 440 is used for initial configuration, monitoring, and reconfiguration of the PTS 410. The physical link over which the MSI data are carried may be shared with other network connections or may be carried through a dedicated serial connection port. Many connectivity scenarios exist for a PTS, including connecting to a gateway e.g., a media gateway controller, and connecting to a content server, e.g., a video server.
At step 606, the PTS receives a message from either a gateway or from a content server. At step 608, the PTS determines if the received message is a session message. If the message is a session message, at step 632, the PTS decides if the message is a start of session message. A session may be initiated by a network host through a messaging protocol operated over the NGCI, such the MGCP or the H.248/MEGACO protocols. One or more sessions can be active at any time. Once a session is started, basic operations of the PTS for that session are controlled by further messages.
If the message received is a start of session message, at step 650, the PTS starts a new session. If the received message is not a start of session message, at step 634, the PTS decides whether the received message is a session maintenance message. If it is a session maintenance message, the PTS commences a session maintenance process at step 652. The session maintenance process may involve maintaining or terminating a connection for a session. If the received message is not a session maintenance message, at step 636, the PTS decides whether the received message is a transcoding message. If the message is a transcoding message, at step 654, the PTS processes the transcoding message. If the message is not a transcoding message, at step 638, the PTS determines whether the received message is a rate control message. If the received message is a rate control message, at step 656, the rate control message is processed. The rate control process may direct the PTS to dynamically adjust the transmission rate in order to efficiently utilize the transmission bandwidth and to prevent transmitted packets from being dropped.
When the PTS transcodes a bitstream, the optimal data rate produced by the PTS depends on media protocol of the network between the PTS and the destination of the bitstream. The data rate received by the destination varies, depending on network congestion, type of link between a router and the destination, e.g., wired connection or wireless connection, protocol and data multiplexing associated to the link, and the quality of the link. The destination may receive a data rate higher than it can process, resulting in buffer-overflow. On the other hand, the destination may receive a date rate lower than the rate it expects to receive, resulting in buffer-underflow. Therefore, the PTS may have to regulate its data rate to avoid both buffer-overflow and buffer-underflow.
The PTS regulates its data rate with at least the following methods. The PTS may use network congestion information, bandwidth information, quality information from the network host or the network access provider, or from internal PTS mechanisms to calculate roundtrip time. The roundtrip time between the PTS and an end-point, e.g., source or destination of a bitstream, can be measured by sending a “ping” packet to the end-point. The total time for the “ping” packet to reach the end-point and for the response packet from the end-point to reach the PTS is the roundtrip time. The more congested the network is, the longer is the roundtrip time. Hence the roundtrip time can be used to assess the congestion level of the network at current PTS bit-rate.
Alternately, the PTS may assess the network congestion using in-band information. For example, the PTS may receive from an end-point, instructions to reduce or to increase its bit-rate throughput, under protocols such as H.245 used in H.324 and H.323.
Either the in-band method or the roundtrip-time method may be used to maintain adequate quality of service given instantaneous network conditions. The PTS uses the congestion and bit-rate information to determine an adequate coding mode that yields an appropriate bit-rate with the following methods.
In one embodiment, the PTS may change transcoding parameters to satisfy service goals in real-time operation. For example, in MPEG4-video, the quantization parameters can be changed to yield a low bit-rate throughput. But the change may lead to degradation in video quality. Therefore if video quality is important, advanced coding techniques such as that provided by H.263 and MPEG4 may be used to reduce the bit-rate throughput without degrading quality. But these methods may impose higher computation requirements. Hence, the PTS rate control strategy should provide a desired balance between signal quality, bit-rate and computation.
The rate control in audio is achieved similarly although most audio codecs cannot provide fine-grained variable rates, but instead provide a number of bit rates that the PTS can select from. For example, the G.723.1 audio codec provides two bit-rates, a low rate and a high rate. Similarly, the GSM-AMR codec supports eight bit-rates, ranging from 4.75 Kbps to 12.2 Kbps. The PTS may use a lower rate if the network path to the end-point has congestions, or if the bandwidth allocated to the link with the end-point has a low bandwidth.
In yet another embodiment a PTS may instruct the network equipment such as a router to give a higher priority to the data being handled by the PTS, if the network equipment supports prioritization of data delivery. For instance, version 6 of the Internet protocol provides support for prioritization of packets. Also, the IETF has developed standards for resource reservation that allows end-points to reserve bandwidth. The PTS may exploit this packet prioritization and resource reservation if they are supported by network in which the PTS is being deployed. For example, the Internet protocol provides facility for assigning priority to packets, and the PTS can use this facility to prioritize packets when needed. In addition, the PTS may support internal prioritization of its own connections so connections of higher priority are processed as soon as they become practical.
Turning back to
A capability message may be sent by the network host to the PTS to find the best transcoding mode for a specific media to be transmitted from one end-point, e.g., a video server, to the other end-point. In the capability-mode-selection process, the PTS may choose one bitstream protocol mode for receiving data from the source, and another bitstream protocol mode to which the PTS convert the received media.
In yet another embodiment, the selected modes for each end-point may be signaled to the respective end-point in order to open bitstream transport channels. In H.323 or H.324, the network uses H.245 logical channel operations or Fast Connect procedures to open such channels. Using H.245 logical channel operations, an end-point may send an “open logical channel” request to the other end-point in order to transmit signals. In H.323, an end-point can encapsulate information about media channels through which the end-point is ready to transmit signals by using a “fast start” message encapsulated in the call signaling information, exchanged in the initial setup of the call under, for example, the ITU Q.931 standard as recommended by H.225.0. Therefore, given the selected protocols for the end-points, the network host or the PTS can establish transport channels for a media bitstream. The opening process depends on the system level protocol of the overall connection between the end-points mediated by the network.
Before the PTS can transcode, the selected media transmission modes have to be associated with a source address and a destination address, and the information of such association has to be communicated to the PTS via messages. The association may result from opening a logical media channel by one of the end-points as done in the H.245 standard. This implicit opening of a logical media channel when the PTS selects the types of media transmission modes can be explicitly requested by the gateway or the content server, or could be pre-programmed under some standard requirements. Regardless of the means for specifying the source address or the destination address, the association between selected media transmission modes and the source or destination addresses informs the PTS where to get the input bitstream and where to send the transcoded bitstream.
In a specific embodiment, the PTS reads the bitstream from the source address, translates the bitstream from its original format to the target format, and sends the converted bitstream to the destination address. The reception and transmission of bitstream data is performed with network read/write functions, using the network hardware-specific software.
Turning back to
At step 610 in
In the above, the capabilities of the PTS are illustrated as discrete steps, but one skilled in the art will appreciate that one or more of the discreet steps may be combined or further subdivided to perform functions of the discreet steps. Depending upon the embodiment, the functionality described can be separated or even combined. The functionality can be implemented in software and/or hardware including any combination of them. Depending upon the embodiment, there can be many other modifications, variations, and alternatives.
1. A session management module 1710;
2. A PTS management module 1720;
3. A network host interface module 1730;
4. A media channel processing module 1740;
5. A call signaling interface module 1750;
6. A network interface module 1760;
7. A transcoding module 1770;
8. A rate control module 1780;
9. An intellectual property rights management module 1790; and
10. A capabilities processing module 1792.
The session management module 1710 performs the main services of a gateway, and is thus the main PTS software program. For example, the session management module 1710 starts and ends transcoding sessions, handles and dispatches session messages, and manages session resources. The PTS management module 1720 performs basic overall management functions necessary if an operator needs to inspect the status of the PTS or to manage its resources. For example, the management module 1720 tests main hardware components with component specific testing procedures, resets the PTS, and tracks and allocates transcoding resources dynamically. The network host interface module 1730 handles communication-messaging interface between the PTS and the network host, e.g., a media gateway controller or a content server. For example, the interface module 1730, depending on type of network host, implements messaging between the network host and the PTS, implements commands defining methods by which transcoding capabilities are captured by the PTS or defined for the PTS. In addition, the interface module 1730 may implement methods by which the PTS retrieves media content types from bitstreams when capability exchanges are not explicitly performed. The media channel processing module 1740 performs media channel function, such as opening, closing, adding and removing channel network sources and destinations. The call signaling interface module 1750 performs functions for establishing initial call setup between end-points through the PTS, where the procedure for call setup depends on standard, such as SIP and Q.931. The network interface module 1760 provides basic input and/or output communication interfaces. The basic input and/or output is the lowest level of communication over which more complex messaging is performed.
The transcoding module 1770 performs the actual transcoding function including transcoding between MPEG series, H.26X video series, GSM-AMR and G.72X audio codec series. Other examples of PTS transcoding may include at least MPEG2-audio to MPEG4-audio, G.723.1 to GSM-AMR, MPEG2-video to MPEG4-video, and H.263 to MPEG4-video. The rate control module 1780 performs a throttling function and prevents network segments over which the end-points communicate from being overloaded. The intellectual property rights management module 1790 protects the IP rights. For example, the management module 1790 uses data on IP rights in a bitstream, and assists on implementing mechanisms for auditing, monitoring, billing, and protection of the IP rights associated with the received and transcoded bitstream. The capabilities processing module 1792 utilizes data in received messages to find the best matching mode for the specific media that is transmitted from one end-point to another.
The architecture of a PTS determines performance, cost, and time-to-market of the server. Performance may be considered as the number of simultaneous gateway channels or calls that the PTS may simultaneously process. Furthermore, for a fixed number of channels, the cost and performance of the architecture will depend on the following factors:
1. Bus architecture;
2. Transcoding architecture and hardware for various video and audio transcoding;
3. Network off loading for connecting to MGC and other gateway components; and
4. Operating System.
In addition to the embodiment in
1. Standalone chassis with bus-cards;
2. PC-like implementation as described below;
3. Firmware to existing processing hardware, including ASICs;
4. Software running on existing hardware;
5. Software running on existing hardware with hardware acceleration by the means of ASICs, DSPs, or other types of processors; and
6. ASIC chipset.
In
Processor 2102 may be any of a wide variety of general purpose processors or microprocessors, e.g., the Pentium™ processor manufactured by Intel Corporation, and a MIPS processor manufactured by MIPS Technologies, Inc., of 2011 N. Shoreline Blvd., Mountain View, Calif. 94039-7311. Other varieties of processors such as digital signal processors (DSP's) may also be used in the computer system 2100. The display device 2105 may be a liquid crystal device, cathode ray tube (CRT), or other suitable display device. The mass storage device 2107 may be a conventional hard disk drive, a floppy disk drive, a CD-ROM drive, or other magnetic or optical data storage device for reading and writing information stored on a hard disk, a floppy disk, a CD-ROM, a magnetic tape, or other magnetic or optical data storage medium. The data storage medium 2108 may be a hard disk, a floppy disk, a CD-ROM, a magnetic tape, or other magnetic or optical data storage medium.
In general, the processor 2102 can retrieve processing instructions and data from the read-only memory 2104. The processor 2102 can also retrieve processing instructions and data from the data storage medium 2108 using the mass storage device 2107 and downloads the information into the random access memory 2103, which may be a SDRAM. The processor 2102 then executes an instruction stream from the random access memory 2103 or read-only memory 2104. Command selections and information input at the input device 2106 may direct the flow of instructions executed by the processor 2102. Input device 2106 may be, among others, a pointing device such as a conventional mouse or a trackball device. The execution results may be displayed on the display device 2105. The computer system 2100 also comprises a network device 2110 for connecting the computer system 2100 to a network. The network device 2110 may be an Ethernet device, a phone jack, a satellite link, or other device.
Embodiments of the present invention may be represented as a software product stored on a machine-accessible medium, also referred to as a computer-accessible medium or a processor-accessible medium. The machine-accessible medium may be any type of magnetic, optical, or electrical storage medium including a diskette, a CD-ROM, a memory device, either volatile or non-volatile, an ASIC, a firmware to an ASIC, a system-on-chip, or other storage mechanism. The machine-accessible medium may contain various sets of instructions, code sequences, or configuration information. Other data necessary to implement the present invention may also be stored on the machine-accessible medium. As merely an example, transcoding techniques are described in U.S. Provisional Ser. No. 60/347,270 (Attorney Docket No. 021318-000200US), commonly assigned, and hereby incorporated by reference for all purposes.
In addition to media transcoding that the PTS can perform, it can also perform system protocol transcoding. A multimedia system protocol is typically an umbrella of protocols that define how multimedia end-points can connect to each other, can issue and interpret commands (such streaming or opening a video channel), can tear down connections, and can join conferences. A system protocol typically covers the following important aspects: call signalling, command and control, media transports aspects, and media coding aspects. For example the H.323 system protocol standard covers H.225.0/Q.931 for call signalling and media transports, H.245 for command and control, and a number of audio and video codecs. The H.324 system protocol standard covers H.223 (media and data bitstreams multiplexing), H.245 for command and control, and a number of audio and video codecs. Although some aspects of H.323 and H.324 are similar, H.323 is packet based whereas H.324 is circuit based. Hence for H.323 and H.324 end-points to communicate, system protocol transcoding needs to be performed, at the call-signaling level, command and control levels and media coding levels. The PTS performs both system protocol transcoding and media (audio and video) transcoding. From the PTS point of view, the Call signaling transcoding is the process of proxying the end-points (H.324, H.323, SIP, RTSP, and others) so they can connect to each other. From the command and control point of view, the PTS performs the transcoding so messages such as terminal capabilities, open/close logical channels, etc., are translated so they can be understood by the terminal receiving the command and control message. The PTS has to perform translation of the issued messages it receives from the sending end-point so they could be understood by the receiving terminal. In terms of media transport, the PTS needs to access data by demultiplexing from circuit bearer channels, extracting the media service data units, transcoding the media bits and then packaging the transcoded bits so they can be sent in a format the receiving end point can understand. If the receiving end point is H.323 the packaging would involved RTP packetization. So the media transport transcoding (translation) consists of circuit-to-packet, packet-to-circuit and packet-to-packet translation of the media bits. When the transport is circuit based, the typically the media bits are multiplexed in a Time Domain Multiplexing (TDM) fashion.
While there has been illustrated and described what are presently considered to be example embodiments of the present invention, it will be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the invention. Additionally, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein.
The present application is a continuation of U.S. patent application Ser. No. 10/099,901, filed on 12, March 2002, which claims priority to U.S. Provisional Patent Application No. 60/275,584 filed Mar. 13, 2001, which are commonly assigned, and the disclosures of which are hereby incorporated by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
60275584 | Mar 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10099901 | Mar 2002 | US |
Child | 12455491 | US |