US20140282760A1 - Methods of implementing trickplay - Google Patents

Methods of implementing trickplay Download PDF

Info

Publication number
US20140282760A1
US20140282760A1 US13/832,191 US201313832191A US2014282760A1 US 20140282760 A1 US20140282760 A1 US 20140282760A1 US 201313832191 A US201313832191 A US 201313832191A US 2014282760 A1 US2014282760 A1 US 2014282760A1
Authority
US
United States
Prior art keywords
frames
frame
fragment
manifest
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US13/832,191
Other versions
US8826346B1 (en
Inventor
Krishna Prasad Panje
William P. Franks
Murali Sahasranaman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Enterprises LLC
Original Assignee
General Instrument Corp
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 General Instrument Corp filed Critical General Instrument Corp
Priority to US13/832,191 priority Critical patent/US8826346B1/en
Assigned to GENERAL INSTRUMENT CORPORATION reassignment GENERAL INSTRUMENT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FRANKS, WILLIAM P., SAHASRANAMAN, MURALI, PANJE, KRISHNA PRASAD
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: 4HOME, INC., ACADIA AIC, INC., AEROCAST, INC., ARRIS ENTERPRISES, INC., ARRIS GROUP, INC., ARRIS HOLDINGS CORP. OF ILLINOIS, ARRIS KOREA, INC., ARRIS SOLUTIONS, INC., BIGBAND NETWORKS, INC., BROADBUS TECHNOLOGIES, INC., CCE SOFTWARE LLC, GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., GENERAL INSTRUMENT CORPORATION, GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., GIC INTERNATIONAL CAPITAL LLC, GIC INTERNATIONAL HOLDCO LLC, IMEDIA CORPORATION, JERROLD DC RADIO, INC., LEAPSTONE SYSTEMS, INC., MODULUS VIDEO, INC., MOTOROLA WIRELINE NETWORKS, INC., NETOPIA, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., POWER GUARD, INC., QUANTUM BRIDGE COMMUNICATIONS, INC., SETJAM, INC., SUNUP DESIGN SYSTEMS, INC., TEXSCAN CORPORATION, THE GI REALTY TRUST 1996, UCENTRIC SYSTEMS, INC.
Priority to US14/338,590 priority patent/US9681197B2/en
Application granted granted Critical
Publication of US8826346B1 publication Critical patent/US8826346B1/en
Publication of US20140282760A1 publication Critical patent/US20140282760A1/en
Assigned to ARRIS TECHNOLOGY, INC. reassignment ARRIS TECHNOLOGY, INC. MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GENERAL INSTRUMENT CORPORATION
Priority to MX2017000953A priority patent/MX364667B/en
Priority to CA2965667A priority patent/CA2965667C/en
Assigned to ARRIS ENTERPRISES, INC. reassignment ARRIS ENTERPRISES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS TECHNOLOGY, INC
Assigned to MODULUS VIDEO, INC., AEROCAST, INC., UCENTRIC SYSTEMS, INC., NETOPIA, INC., QUANTUM BRIDGE COMMUNICATIONS, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., MOTOROLA WIRELINE NETWORKS, INC., ARRIS KOREA, INC., GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., SUNUP DESIGN SYSTEMS, INC., IMEDIA CORPORATION, POWER GUARD, INC., GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., ARRIS ENTERPRISES, INC., ACADIA AIC, INC., TEXSCAN CORPORATION, ARRIS HOLDINGS CORP. OF ILLINOIS, INC., 4HOME, INC., ARRIS SOLUTIONS, INC., THE GI REALTY TRUST 1996, CCE SOFTWARE LLC, LEAPSTONE SYSTEMS, INC., GENERAL INSTRUMENT CORPORATION, BROADBUS TECHNOLOGIES, INC., BIG BAND NETWORKS, INC., GIC INTERNATIONAL CAPITAL LLC, GIC INTERNATIONAL HOLDCO LLC, JERROLD DC RADIO, INC., ARRIS GROUP, INC., SETJAM, INC. reassignment MODULUS VIDEO, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to ARRIS ENTERPRISES LLC reassignment ARRIS ENTERPRISES LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. ABL SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. TERM LOAN SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to WILMINGTON TRUST reassignment WILMINGTON TRUST SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to ARRIS ENTERPRISES, INC. reassignment ARRIS ENTERPRISES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS TECHNOLOGY, INC.
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • the subject matter of this application relates to methods of implementing trickplay.
  • trickplay function allows the AV content to be presented at a different rate and/or in a different direction of evolution from the normal rate and direction of evolution.
  • trickplay functions permit fast forward presentation at, for example, at a rate corresponding to two or four times (2 ⁇ or 4 ⁇ ) the normal video frame rate and reverse presentation, i.e. presentation in the opposite direction from normal evolution at, for example, the normal frame rate or a rate corresponding to 2 ⁇ or 4 ⁇ times the normal frame rate.
  • a method of operating an IP client device for presentation of video content to a viewer wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds
  • the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest defines a set of M1 frames of the first fragment, where M1 is an integer less than N1, and a set of M2 frames of the second fragment, where M2 is an integer less than N2, transmitting a
  • a method of operating an IP client device for presentation of video content to a viewer wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds, and wherein each fragment contains a plurality of frames
  • the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest repeatedly specifies, R times, a first frame of the first fragment and a subsequent frame of the first fragment, where R is an integer smaller than N1/2 and wherein the first
  • fragments when used in connection with fragments means that one fragment follows the other fragment without an intervening fragment but does not require a particular order.
  • FIG. 1 is a schematic block diagram illustrating how trickplay operation may be applied to delivery of AV content by IPTV
  • FIG. 2 is a schematic block diagram of a computing device that may be used to implement the methods described with reference to FIG. 1 .
  • HLS HTTP Live Streaming
  • MM content may be created and published to an IP server and thereby made available within the home or over the internet to IP client devices.
  • the MM content may be what is perceived by the viewer to be live, such as a contemporaneous sporting event, or prerecorded, such as the previous week's episode of a drama series.
  • a transcoder transcodes the compressed MM content as short chunks (also known as segments), typically having a duration of from 1-10 seconds. At a 30 fps rate, a chunk typically contains data for 30 to 300 video frames.
  • Each chunk (or sequence of chunks) is saved as a file, for example with a name in the form Myrecord_chunki.ts (where i is an index), and the file is saved at a network location defined by an HTTP Uniform Resource Locator (URL) that can be used in an HTTP command to access the chunk.
  • URL Uniform Resource Locator
  • the file is associated with a unique Uniform Resource Indicator (URI) in the form http://URL/Myrecord_chunk1.ts.
  • URI Uniform Resource Indicator
  • the IP client selects the MM content for presentation based on commands communicated to the client device, for example by a hand-held remote control device.
  • the IP server responds to a play command provided by the IP client by creating a manifest (or playlist) that specifies the URIs of the chunks that form the selected MM content and allows the IP client to access the content using an appropriate HTTP command, such as the Get command.
  • the client receives the manifest, recovers the URIs for chunk files from the manifest and sends HTTP commands identifying URI to the server.
  • the server responds by retrieving the files containing the requested chunks, encapsulating the files in IP packets, and transmitting the IP packets to the client. It is not necessary that the IP client should retrieve the files one at a time, in response to respective requests, but it may instead send an HTTP command identifying the URIs of several chunks, in which case the server transmits IP packets encapsulating several files containing respective chunks.
  • the IP client receives the IP packets conveying the AV content and decrypts and decodes the packets to produce an AV signal for presenting the AV content to the viewer.
  • Prerecorded content is transcoded as chunks and may be recorded as chunks, with each chunk associated with a unique URI, as in the case of live content, but it is also possible to concatenate the chunks and form a single file containing all the frames for an entire program (or a substantial part of the program, for example one or more scenes) and associate the file with one unique URI, e.g. in the form http://URL/Myrecord.ts. Playing of the AV content is similar to the case of live content except that the manifest identifies fewer URIs and the IP client requests fewer files from the server.
  • the IP client continues to receive the chunk files, and may continue to decode each frame, but drops some of the frames so that, for example, in the case of 2 ⁇ fast forward only half of the frames are presented to the viewer. Since the frames are presented at the same rate (30 fps) but half the frames are omitted, the content evolves at twice the normal rate.
  • this mode of operation requires the IP client to be trickplay-aware, i.e. to function differently in trickplay mode from normal mode.
  • Modern video compression standards encode video content using intracoded (I) frames, predictively coded (P) frames and bi-directionally predictively coded (B) frames.
  • I intracoded
  • P predictively coded
  • B bi-directionally predictively coded
  • An I frame can be decoded without information from any other frame whereas a P frame or a B frame cannot be decoded without information from at least one other frame.
  • the client device receives the I, B and P frames but presents only the I frames.
  • a request transmitted to the server causes the server to generate an I-frame only manifest in which the byte offset of each I-frame in the file containing the chunk, i.e. the number of bytes from the beginning of the first frame (byte 0) to the beginning of the I-frame, is specified.
  • the client receives the manifest and requests the bytes for the I-frames from the server.
  • I-frame only trickplay the presentation of the video content may be jerky, particularly at higher play out rates.
  • an IPTV streaming appliance 10 includes a TV program source 12 that delivers a signal conveying the AV content for a given service to a streamer 20 , the main functional blocks of which are an encoder/transcoder 14 , a packager 16 and an HTTP server 18 .
  • the transcoder produces at least one, and possibly several, versions of the AV content encoded in accordance with appropriate audio and video compression standards. For each version, the transcoder produces a video elementary stream and a first language audio elementary stream, and may also produce other elementary streams, such as a second language audio stream and a subtitle stream. The several elementary streams are multiplexed together to produce an MPEG-2 single program transport stream. For the purpose of this description, we will assume that the transcoder produces only one version of the AV content.
  • the transcoder 14 provides the AVC single program transport stream to the packager 16 , which slices the AV content into consecutive chunks and supplies the sequence of chunks to the HTTP server 18 as respective AV content files.
  • the HTTP server encapsulates the AV content files in IP packets and makes the IP packets available to the internet 40 .
  • the streamer For each chunk, the streamer prepares a lookup file containing the byte offsets of all frames within the chunk, i.e. the number of bytes between the first byte of the first frame (byte 0) of the chunk and the first byte of each other frame of the chunk.
  • a home gateway 42 (including a router that is not separately shown) is connected to the internet 40 .
  • the home gateway is connected wirelessly to a tablet or phone 44 .
  • a wired connection is provided between the home gateway 42 and an STB 46 , which is connected to a TV appliance 50 .
  • the playlist may include other tags required by the particular streaming standard.
  • the EXT-X-DISCONTINUITY tag could be included between consecutive chunks to indicate an encoding discontinuity between the preceding chunk and the following chunk.
  • the form of the playlist ensures that the client is required to process the AV data at only 30 fps. Moreover, the network delivers the data at only 30 fps, limiting the possibility of network congestion.
  • the trickplay functionality is provided by the server and the client need not be trickplay aware beyond simply passing on the trickplay request to the server. Accordingly, as long as the client is able to process the frames provided by the server, it is able to respond appropriately to a trickplay command from the viewer.
  • Reverse play is similar to forward play.
  • the streamer calculates the number of frames to be presented from each chunk in order to achieve the desired rate of presentation of the content and uses the byte offsets to select the frames to be displayed but traverses the chunks in the reverse direction:
  • the streamer 20 prepares a lookup file that contains the byte offsets for each chunk for each I-frame in each chunk, and for each P-frame or B-frame immediately following the I-frame.
  • the streamer calculates the necessary presentation duration of each pair of frames in a chunk beneath the desired trickplay speed. For example, at 2 ⁇ speed a chunk containing 60 frames should occupy one second, and if the chunk contained three I-frames the first I-frame and the immediate following P or B frame should be presented for 5/30 seconds.
  • the byte range tag denotes the byte offsets for each I-frame and the next following dependent frame (P or B).
  • the I-frame in order to be certain of being able to decode the P-frame the I-frame must be an IDR-frame. However, it will also be understood by those skilled in the art that relevant standards require that the first frame of each chunk be an IDR-frame.
  • the streamer will include that frame too while signaling and will suitably adjust the frame count to match the play out duration of the requested trickplay.
  • each fragment starts with an I-frame and has a duration of one second.
  • the first two frames of each fragment are repeated seven times, for a total of 14 times the frame duration.
  • the P frame of the same fragment at the end (total 15 frames).
  • 3 ⁇ speed we repeat the first two frames of each fragment five times (two frames five times equals ten frames).
  • the manifest specifies multiple chunks over which the trickplay evolves and the byte range offsets of the desired frames in each chunk; in the case of content recorded as a single file, covering multiple chunks, the manifest specifies the byte range offsets of the desired frames relative to the beginning of the file.
  • the manifest repeats the byte range the appropriate number of times to achieve the desired play out duration.
  • This mode of operation is advantageous because it is not necessary to save the locations of all the frames in the database but only the locations of the I-frames and the immediately following P/B frames, so memory usage is reduced and performance is optimized.
  • a slow forward mode of operation may be provided.
  • the IP client may run not only on an STB, as discussed, but also on a tablet or phone that is connected to the internet, either through a home gateway, as described in connection with FIG. 1 , or through other network infrastructure such as the cellular telephone network infrastructure.
  • the streamer 20 may be located in the home and connected to receive content delivered over the cable TV distribution network.
  • a streamer 20 ′ which is connected to the home gateway over a home network 62 , may receive content from a cable system headend (not shown) over a coaxial cable 60 .
  • the streamer 20 ′ performs the functions attributed to the streamer 20 in the foregoing discussion and interacts with the STB 46 in the same manner as the streamer 20 .
  • one or more of the functional blocks shown in FIG. 1 for receiving the IP packets from the home gateway 42 and producing the signal for driving the TV appliance 50 may be implemented by a computing device comprising at least one processor 161 , random access memory 162 , read only memory 163 , I/O devices 164 (including suitable adaptors for receiving and transmitting bitstreams), a user interface 165 , a hard disk drive 167 and one or more buses, configured in a generally conventional architecture.
  • the computing device operates in accordance with a program that is stored in a non-transitory computer readable memory, such as the hard disk drive 167 , and is loaded into the random access memory 162 for execution.
  • the program is composed of instructions such that when the computing device receives a signal representing the input of the STB 46 , by way of a suitable interface included in the I/O devices, the computing device allocates memory to appropriate buffers and utilizes other suitable resources and functions to perform the various operations that are described above as being performed by the functional blocks of the STB.
  • the manifest may reference the first I-frame and the necessary number of frames to be sure that the client is able to decode the frame that immediately follows the I-frame.
  • the client may present more than two frames and adjust R accordingly.
  • the client may be instructed to present only two frames, but in this case the client would have to have additional functionality.

Abstract

A method of operating an IP client device for presentation of video content to a viewer includes the step of transmitting a trickplay request to a server. The client device receives from the server a manifest that references at least first and second consecutive video content fragments. The first fragment contains a sequence of N1 frames and the second fragment contains a sequence of N2 frames, and defines a set of M1 frames of the first fragment, where M1 is less than N1, and a set of M2 frames of the second fragment, where M2 is less than N2. The client device transmits a request for the M1 frames and the M2 frames and receives the M1 frames and the M2 frames. The client device presents the M1 frames and the M2 frames consecutively at the uniform, predetermined frame rate. The sequence of the M1 frames and the M2 frames has a presentation duration of (M1+M2)/F.

Description

    BACKGROUND OF THE INVENTION
  • The subject matter of this application relates to methods of implementing trickplay.
  • For many years programming viewable on a TV appliance has been broadcast by employing an analog video signal to modulate a radio frequency carrier and propagating the modulated RF carrier over a cable network. The analog video signals for different broadcast TV channels (commonly associated with channel names, such an NBC, CBS and FOX) are impressed on carriers at different frequencies. A receiver in the subscriber premises is tuned to the carrier frequency of the channel that is desired for screening. The receiver may be integrated in the TV appliance or it may be included in a separate device, such as a set-top box (STB).
  • Television programming and other multimedia content (MM content), including audio, video, graphics, text and data, may also be distributed using digital cable technology. In this case, the content for a given service (corresponding to a channel of the analog broadcast television domain) may be received at the cable network headend in the form of one or more packetized elementary streams that have been encoded in accordance with appropriate compression standards, such as the video compression standard that is commonly referred to as H.264/AVC. The cable network operator may distribute several services by organizing the payloads of the corresponding packetized elementary streams in transport stream packets that are delivered over the cable network physical infrastructure using one or more MPEG-2 systems transport streams. A cable network operator may also distribute digital audio/video (AV) content over the cable network physical infrastructure using internet protocol TV (IPTV).
  • In an implementation of IPTV, AV content for live TV channels is encoded and encrypted and is made available through an IP server, a delivery network (such as the cable network physical infrastructure or the cellular telephone infrastructure) and a home gateway to an IP client running on a computing device in a TV appliance or an STB.
  • Digital cable technology facilitates use of trickplay functions in presentation of AV content. A trickplay function allows the AV content to be presented at a different rate and/or in a different direction of evolution from the normal rate and direction of evolution. Thus, whereas AV content is normally presented at a rate corresponding to 30 video frames per second (fps) evolving in a forward direction, trickplay functions permit fast forward presentation at, for example, at a rate corresponding to two or four times (2× or 4×) the normal video frame rate and reverse presentation, i.e. presentation in the opposite direction from normal evolution at, for example, the normal frame rate or a rate corresponding to 2× or 4× times the normal frame rate.
  • SUMMARY OF THE INVENTION
  • In accordance with a first aspect of the subject matter disclosed herein there is provided a method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds, the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest defines a set of M1 frames of the first fragment, where M1 is an integer less than N1, and a set of M2 frames of the second fragment, where M2 is an integer less than N2, transmitting a request for said M1 frames and said M2 frames, receiving said M1 frames and said M2 frames, and presenting said M1 frames and said M2 frames consecutively at F frames per second, whereby the sequence of said M1 frames and said M2 frames has a presentation duration of (M1+M2)/F.
  • In accordance with a second aspect of the subject matter disclosed herein there is provided method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds, and wherein each fragment contains a plurality of frames, the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest repeatedly specifies, R times, a first frame of the first fragment and a subsequent frame of the first fragment, where R is an integer smaller than N1/2 and wherein the first frame is independently decodable, transmitting a request for the specified frames of the first fragment and at least one frame of the second fragment, receiving the requested frames, decoding the received frames, and presenting the decoded frames consecutively in the order specified in the manifest at F frames per second, whereby the decoded first frame and the decoded subsequent frame of the first fragment are presented R times in alternating fashion followed immediately by the decoded said one frame of the second fragment in a duration (2*R+1)/F.
  • In accordance with a third aspect of the subject matter disclosed herein there is provided a method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in a file containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate, the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest specifies a block of video content containing a sequence of Q frames, where Q is an integer greater than five, and defines a first set of M1 frames and a second set of M2 frames, where M1 and M2 are integers, (M1+M2) is less than Q, and the set of M2 frames is spaced in the sequence of Q frames from the set of M1 frames by at least one frame, transmitting a request for said M1 frames and said M2 frames, receiving said M1 frames and said M2 frames decoding said M1 frames and said M2 frames, and presenting said M1 frames and said M2 frames consecutively at said uniform, predetermined frame rate.
  • In accordance with a fourth aspect of the subject matter disclosed herein there is provided a method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in a file containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate, the method comprising receiving a trickplay request, transmitting the trickplay request to a server, receiving a manifest from the server, wherein the manifest specifies a block of video content containing a sequence of Q frames, where Q is an integer greater than five, and the manifest repeatedly specifies, R times, a first frame and a subsequent frame, where R is an integer greater than one and wherein the first frame is independently decodable, transmitting a request for the specified frames of the first fragment and at least one frame of the second fragment, receiving the requested frames, decoding the received frames, and presenting the decoded frames consecutively in the order specified in the manifest at F frames per second, whereby the decoded first frame and the decoded subsequent frame are presented R times in alternating fashion in a duration 2*R/F.
  • The term “consecutive” when used in connection with fragments means that one fragment follows the other fragment without an intervening fragment but does not require a particular order.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a better understanding of the subject matter disclosed herein, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings, in which:
  • FIG. 1 is a schematic block diagram illustrating how trickplay operation may be applied to delivery of AV content by IPTV, and
  • FIG. 2 is a schematic block diagram of a computing device that may be used to implement the methods described with reference to FIG. 1.
  • DETAILED DESCRIPTION
  • Some aspects of this description relate to an implementation employing HTTP Live Streaming (HLS) but the subject matter described herein is not restricted to implementations employing HLS.
  • Using IPTV streaming technology, MM content may be created and published to an IP server and thereby made available within the home or over the internet to IP client devices. The MM content may be what is perceived by the viewer to be live, such as a contemporaneous sporting event, or prerecorded, such as the previous week's episode of a drama series. In the case of live content, a transcoder transcodes the compressed MM content as short chunks (also known as segments), typically having a duration of from 1-10 seconds. At a 30 fps rate, a chunk typically contains data for 30 to 300 video frames. Each chunk (or sequence of chunks) is saved as a file, for example with a name in the form Myrecord_chunki.ts (where i is an index), and the file is saved at a network location defined by an HTTP Uniform Resource Locator (URL) that can be used in an HTTP command to access the chunk. Thus, the file is associated with a unique Uniform Resource Indicator (URI) in the form http://URL/Myrecord_chunk1.ts.
  • The IP client selects the MM content for presentation based on commands communicated to the client device, for example by a hand-held remote control device. The IP server responds to a play command provided by the IP client by creating a manifest (or playlist) that specifies the URIs of the chunks that form the selected MM content and allows the IP client to access the content using an appropriate HTTP command, such as the Get command.
  • The client receives the manifest, recovers the URIs for chunk files from the manifest and sends HTTP commands identifying URI to the server. The server responds by retrieving the files containing the requested chunks, encapsulating the files in IP packets, and transmitting the IP packets to the client. It is not necessary that the IP client should retrieve the files one at a time, in response to respective requests, but it may instead send an HTTP command identifying the URIs of several chunks, in which case the server transmits IP packets encapsulating several files containing respective chunks.
  • The IP client receives the IP packets conveying the AV content and decrypts and decodes the packets to produce an AV signal for presenting the AV content to the viewer.
  • Prerecorded content is transcoded as chunks and may be recorded as chunks, with each chunk associated with a unique URI, as in the case of live content, but it is also possible to concatenate the chunks and form a single file containing all the frames for an entire program (or a substantial part of the program, for example one or more scenes) and associate the file with one unique URI, e.g. in the form http://URL/Myrecord.ts. Playing of the AV content is similar to the case of live content except that the manifest identifies fewer URIs and the IP client requests fewer files from the server.
  • It will be appreciated that in the case of typical “live” content the chunks need only be recorded transiently whereas the file or files containing the chunks of prerecorded content may be stored indefinitely for viewing when desired by the customer, whereas in the case of linear television (such as broadcast television), in which the program is made available at a particular time and as a particular service and the viewer decides whether to take it or leave it, the content is concurrently ingested by a transcoder and the content is made available only transiently to the viewer.
  • In the event that the user selects a trickplay mode of operation, e.g. fast forward, the IP client continues to receive the chunk files, and may continue to decode each frame, but drops some of the frames so that, for example, in the case of 2× fast forward only half of the frames are presented to the viewer. Since the frames are presented at the same rate (30 fps) but half the frames are omitted, the content evolves at twice the normal rate.
  • Since the client receives all the frames at twice the normal frame rate and processes all the frames, network congestion may impede delivery of the files and limitations on the processing power of the IP client device may limit the ability of the IP client to decryt and decode the IP packets. In either event, the quality of the trickplay presentation of the AV content may be impaired.
  • Moreover, this mode of operation requires the IP client to be trickplay-aware, i.e. to function differently in trickplay mode from normal mode.
  • Modern video compression standards encode video content using intracoded (I) frames, predictively coded (P) frames and bi-directionally predictively coded (B) frames. An I frame can be decoded without information from any other frame whereas a P frame or a B frame cannot be decoded without information from at least one other frame.
  • In accordance with another approach for implementing trickplay, the client device receives the I, B and P frames but presents only the I frames. In this case, when the client selects the fast forward operation, a request transmitted to the server causes the server to generate an I-frame only manifest in which the byte offset of each I-frame in the file containing the chunk, i.e. the number of bytes from the beginning of the first frame (byte 0) to the beginning of the I-frame, is specified. The client receives the manifest and requests the bytes for the I-frames from the server. In an implementation of I-frame only trickplay the presentation of the video content may be jerky, particularly at higher play out rates.
  • Referring to FIG. 1, an IPTV streaming appliance 10 includes a TV program source 12 that delivers a signal conveying the AV content for a given service to a streamer 20, the main functional blocks of which are an encoder/transcoder 14, a packager 16 and an HTTP server 18. The transcoder produces at least one, and possibly several, versions of the AV content encoded in accordance with appropriate audio and video compression standards. For each version, the transcoder produces a video elementary stream and a first language audio elementary stream, and may also produce other elementary streams, such as a second language audio stream and a subtitle stream. The several elementary streams are multiplexed together to produce an MPEG-2 single program transport stream. For the purpose of this description, we will assume that the transcoder produces only one version of the AV content.
  • The transcoder 14 provides the AVC single program transport stream to the packager 16, which slices the AV content into consecutive chunks and supplies the sequence of chunks to the HTTP server 18 as respective AV content files. The HTTP server encapsulates the AV content files in IP packets and makes the IP packets available to the internet 40.
  • For each chunk, the streamer prepares a lookup file containing the byte offsets of all frames within the chunk, i.e. the number of bytes between the first byte of the first frame (byte 0) of the chunk and the first byte of each other frame of the chunk.
  • At a customer premises, a home gateway 42 (including a router that is not separately shown) is connected to the internet 40. The home gateway is connected wirelessly to a tablet or phone 44. A wired connection is provided between the home gateway 42 and an STB 46, which is connected to a TV appliance 50.
  • In order to present the program content provided by the TV program source 12 to a viewer in normal operation, an IP client running on a computing device, such as the STB 46, sends an appropriate HTTP command, such as the HTTP Get command, to the server 18, signifying that the IP client wishes to acquire the AV data for a selected service from the server 18. The streamer creates a manifest that specifies the URIs of the files that contain the data for the selected service and transmits the manifest to the IP client. The IP client running on the STB 46 uses the information in the manifest to request the files and the server transmits IP packets containing the data for the selected service to the client. The IP client decrypts and decodes the IP packets and generates an AV signal which it supplies to the TV applicant to present the AV content to the viewer.
  • If the IP client receives a command signifying that the viewer has requested 2× fast forward operation, the IP client sends an HTTP command to the streamer signifying that fast forward (FF) operation has been requested. Let us assume that each chunk contains 30 frames. The streamer calculates the number of frames that must be presented during the normal presentation of each chunk in order to provide 2× operation (i.e. 15 frames in the case of a chunk containing 30 frames). The streamer uses the lookup files to determine the byte offset for frame 16 of each chunk and responds to the FF command by creating a new manifest, which it sends to the IP client.
  • The new manifest may include statements in the following form:
  •     #EXTINF:0.5,
        #EXT-X-BYTERANGE:181420@0
    # denotes client to play 181420 bytes from beginning (0) of chunk 1 to
    play only desired frames (15) from Myrecord_chunk1.ts, it being
    assumed that the first byte of frame 16 is byte 181421
        http://192.168.0.185/Myrecord_chunk1.ts
        . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE:180000@0
    # denotes client to play 180000 bytes from beginning (0) of chunk 2 to
    play only desired frames (15) from Myrecord_chunk2.ts, it being
    assumed that the first byte of frame 16 is byte 180001
        http://192.268.0.185/Myrecord_chunk2.ts
        #EXTINF:05,
        . . .
  • The playlist may include other tags required by the particular streaming standard.
  • The EXT-X-BYTERANGE tag preceding the URI of each chunk file designates the bytes to be played by the client. As noted in the comments, the designated bytes contain the data for 15 frames. Accordingly, the client presents only 15 frames from each chunk and omits the remaining frames.
  • The EXT-X-DISCONTINUITY tag could be included between consecutive chunks to indicate an encoding discontinuity between the preceding chunk and the following chunk.
  • By playing only 15 frames of each chunk, and omitting 15 frames of each chunk, a 2× fast forward trickplay function is provided. A 4× fast forward trickplay function may be provided by using a byte range that specifies only 7 or 8 frames for each chunk.
  • The form of the playlist ensures that the client is required to process the AV data at only 30 fps. Moreover, the network delivers the data at only 30 fps, limiting the possibility of network congestion. The trickplay functionality is provided by the server and the client need not be trickplay aware beyond simply passing on the trickplay request to the server. Accordingly, as long as the client is able to process the frames provided by the server, it is able to respond appropriately to a trickplay command from the viewer.
  • In the case of prerecorded content in which the chunk structure has been preserved, the operation is similar to the operation for live content, as discussed above. In the case of prerecorded content in which the chunks have been concatenated to produce a single AV content file, the streamer 20 prepares a lookup file containing byte offsets of all chunks and all frames within each chunk. In this case the manifest may include statements in the following form:
  •     . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE:181420@0
    #denotes client to play 181420 bytes from the beginning (0) of the
    concatenated file to play only desired frames (15)
        http://192.168.0.185/Myrecord1.ts
        . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE: 171234@361234
    #denotes a jump to desired frames of next chunk within the
    concatenated AV content file to play only desired frames (15)
        http://192.168.0.185/Myrecord1.ts
        . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE: 170234@684240
    #denotes a jump to desired frames of next chunk within the
    concatenated AV content file to play only desired frames (15)
        http://192.168.0.185/Myrecord1.ts
        . . .
  • Reverse play is similar to forward play. The streamer calculates the number of frames to be presented from each chunk in order to achieve the desired rate of presentation of the content and uses the byte offsets to select the frames to be displayed but traverses the chunks in the reverse direction:
  •     . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE:180000@0
    # denotes client to play 180000 bytes from beginning of chunk 2 (byte 0)
    to play only desired frames (15) from Myrecord_chunk2.ts
        http://192.268.0.185/Myrecord_chunk2.ts
        . . . ,
        #EXTINF:0.5,
        #EXT-X-BYTERANGE:181420@0
    # denotes client to play 181420 bytes from beginning of chunk 1 to play
    only desired frames (15) from Myrecord_chunk1.ts
        http://192.168.0.185/Myrecord_chunk1.ts
        . . .
  • In accordance with another approach, the streamer 20 prepares a lookup file that contains the byte offsets for each chunk for each I-frame in each chunk, and for each P-frame or B-frame immediately following the I-frame. The streamer calculates the necessary presentation duration of each pair of frames in a chunk beneath the desired trickplay speed. For example, at 2× speed a chunk containing 60 frames should occupy one second, and if the chunk contained three I-frames the first I-frame and the immediate following P or B frame should be presented for 5/30 seconds. The byte range tag denotes the byte offsets for each I-frame and the next following dependent frame (P or B).
  • It will be appreciated that in order to be certain of being able to decode the P-frame the I-frame must be an IDR-frame. However, it will also be understood by those skilled in the art that relevant standards require that the first frame of each chunk be an IDR-frame.
  • In the event that the immediate following frame is dependent on a future frame, the streamer will include that frame too while signaling and will suitably adjust the frame count to match the play out duration of the requested trickplay. Suppose, for example, that each fragment starts with an I-frame and has a duration of one second. In order to achieve 2× speed for a 30 fps video, the first two frames of each fragment are repeated seven times, for a total of 14 times the frame duration. However, for proper timing we have to display 15 frames (not 14). This may be accomplished by displaying the I/P pair of the fragment seven times (14 frames) followed by the P frame of the same fragment at the end (total 15 frames). For 3× speed, we repeat the first two frames of each fragment five times (two frames five times equals ten frames).
  • In the case of content recorded in separate chunks, the manifest specifies multiple chunks over which the trickplay evolves and the byte range offsets of the desired frames in each chunk; in the case of content recorded as a single file, covering multiple chunks, the manifest specifies the byte range offsets of the desired frames relative to the beginning of the file. The manifest repeats the byte range the appropriate number of times to achieve the desired play out duration. The following is an example of a portion of a manifest for an HLS implementation:
  •     . . . ,
        #EXTINF:0.066,
    # I followed by a P/B frame
        #EXT-X-BYTERANGE:3200@526
    # I followed by a P/B frame
        http://URL/t0.ts
        #EXTINF: 0.066,
    # repeat above I followed by a P/B frame till we reach needed time
    duration
        #EXT-X-BYTERANGE:3200@526
    # I followed by a P/B frame
        http://URL/t0.ts
        . . .
  • This mode of operation is advantageous because it is not necessary to save the locations of all the frames in the database but only the locations of the I-frames and the immediately following P/B frames, so memory usage is reduced and performance is optimized.
  • By repeating each pair of frames a sufficient number of times, a slow forward mode of operation may be provided.
  • The IP client may run not only on an STB, as discussed, but also on a tablet or phone that is connected to the internet, either through a home gateway, as described in connection with FIG. 1, or through other network infrastructure such as the cellular telephone network infrastructure.
  • The foregoing discussion is based on the possibility of the streamer 20 being remote from the home and the content being supplied from the streamer to the home gateway over the internet 40. In a another implementation, the streamer may be located in the home and connected to receive content delivered over the cable TV distribution network. Thus, a streamer 20′, which is connected to the home gateway over a home network 62, may receive content from a cable system headend (not shown) over a coaxial cable 60. The streamer 20′ performs the functions attributed to the streamer 20 in the foregoing discussion and interacts with the STB 46 in the same manner as the streamer 20.
  • Referring to FIG. 2, one or more of the functional blocks shown in FIG. 1 for receiving the IP packets from the home gateway 42 and producing the signal for driving the TV appliance 50 may be implemented by a computing device comprising at least one processor 161, random access memory 162, read only memory 163, I/O devices 164 (including suitable adaptors for receiving and transmitting bitstreams), a user interface 165, a hard disk drive 167 and one or more buses, configured in a generally conventional architecture. The computing device operates in accordance with a program that is stored in a non-transitory computer readable memory, such as the hard disk drive 167, and is loaded into the random access memory 162 for execution. The program is composed of instructions such that when the computing device receives a signal representing the input of the STB 46, by way of a suitable interface included in the I/O devices, the computing device allocates memory to appropriate buffers and utilizes other suitable resources and functions to perform the various operations that are described above as being performed by the functional blocks of the STB.
  • In a modification of the I-frame only operation, when there is no assurance that the frame immediately following the I-frame is independently decodable, the manifest may reference the first I-frame and the necessary number of frames to be sure that the client is able to decode the frame that immediately follows the I-frame. In this case the client may present more than two frames and adjust R accordingly. Alternatively, the client may be instructed to present only two frames, but in this case the client would have to have additional functionality.
  • It will be appreciated that the invention is not restricted to the particular embodiment that has been described, and that variations may be made therein without departing from the scope of the invention as defined in the appended claims, as interpreted in accordance with principles of prevailing law, including the doctrine of equivalents or any other principle that enlarges the enforceable scope of a claim beyond its literal scope. Unless the context indicates otherwise, a reference in a claim to the number of instances of an element, be it a reference to one instance or more than one instance, requires at least the stated number of instances of the element but is not intended to exclude from the scope of the claim a structure or method having more instances of that element than stated. The word “comprise” or a derivative thereof, when used in a claim, is used in a nonexclusive sense that is not intended to exclude the presence of other elements or steps in a claimed structure or method.

Claims (15)

1. A method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds, the method comprising:
receiving a trickplay request,
transmitting the trickplay request to a server,
receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest defines a set of M1 frames of the first fragment, where M1 is an integer less than N1, and a set of M2 frames of the second fragment, where M2 is an integer less than N2,
transmitting a request for said M1 frames and said M2 frames,
receiving said M1 frames and said M2 frames, and
presenting said M1 frames and said M2 frames consecutively at F frames per second,
whereby the sequence of said M1 frames and said M2 frames has a presentation duration of (M1+M2)/F.
2. A method according to claim 1, when the first and second video content fragments are respective files having unique universal resource indicators and the step of transmitting the request for said M1 frames and said M2 frames comprises transmitting a request that identifies the universal resource indicators for the first and second video content fragments and defines a range of bytes containing the set of M1 frames exclusively and a range of bytes containing the set of M2 frames exclusively.
3. A method according to claim 1, comprising presenting said M1 frames prior to presenting said M2 frames.
4. A method according to claim 1, comprising presenting said M2 frames prior to presenting said M1 frames.
5. A method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in fragments each containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate F frames per second, whereby a fragment containing N frames has a normal presentation duration of N/F seconds, and wherein each fragment contains a plurality of frames, the method comprising:
receiving a trickplay request,
transmitting the trickplay request to a server,
receiving a manifest from the server, wherein the manifest references at least first and second consecutive video content fragments, the first fragment contains a sequence of N1 frames, where N1 is an integer greater than one, and the second fragment contains a sequence of N2 frames, where N2 is an integer greater than one, and the manifest repeatedly specifies, R times, a first frame of the first fragment and a subsequent frame of the first fragment, where R is an integer smaller than N1/2 and wherein the first frame is independently decodable,
transmitting a request for the specified frames of the first fragment and at least one frame of the second fragment,
receiving the requested frames,
decoding the received frames, and
presenting the decoded frames consecutively in the order specified in the manifest at F frames per second,
whereby the decoded first frame and the decoded subsequent frame of the first fragment are presented R times in alternating fashion followed immediately by the decoded said one frame of the second fragment in a duration (2*R+1)/F.
6. A method according to claim 5, wherein said first frame is an I-frame and said specified subsequent frame is a P-frame or a B-frame.
7. A method according to claim 5, wherein said first frame is an I-frame and said specified subsequent frame is a P-slice frame or a B-slice frame.
8. A method according to claim 5, wherein the specified subsequent frame is decodable independently of any other subsequent frame,
9. A method according to claim 5, the specified subsequent frame is dependent on at least one other subsequent frame, the manifest repeatedly specifies said first frame of the first fragment, said specified subsequent frame, and each other subsequent frame on which said specified subsequent frame is dependent.
10. A method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in a file containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate, the method comprising:
receiving a trickplay request,
transmitting the trickplay request to a server,
receiving a manifest from the server, wherein the manifest specifies a block of video content containing a sequence of Q frames, where Q is an integer greater than five, and defines a first set of M1 frames and a second set of M2 frames, where M1 and M2 are integers, (M1+M2) is less than Q, and the set of M2 frames is spaced in the sequence of Q frames from the set of M1 frames by at least one frame,
transmitting a request for said M1 frames and said M2 frames,
receiving said M1 frames and said M2 frames
decoding said M1 frames and said M2 frames, and
presenting said M1 frames and said M2 frames consecutively at said uniform, predetermined frame rate.
11. A method of operating an IP client device for presentation of video content to a viewer, wherein in a normal play mode the video content is received from a server in a file containing a plurality of video frames and the IP client device presents the video frames at a predetermined, uniform frame rate, the method comprising:
receiving a trickplay request,
transmitting the trickplay request to a server,
receiving a manifest from the server, wherein the manifest specifies a block of video content containing a sequence of Q frames, where Q is an integer greater than five, and the manifest repeatedly specifies, R times, a first frame and a subsequent frame, where R is an integer greater than one and wherein the first frame is independently decodable,
transmitting a request for the specified frames of the first fragment and at least one frame of the second fragment,
receiving the requested frames,
decoding the received frames, and
presenting the decoded frames consecutively in the order specified in the manifest at F frames per second,
whereby the decoded first frame and the decoded subsequent frame are presented R times in alternating fashion in a duration 2*R/F.
12. A method according to claim 11, wherein said first frame is an I-frame and said specified subsequent frame is a P-frame or a B-frame.
13. A method according to claim 11, wherein said first frame is an I-frame and said specified subsequent frame is a P-slice frame or a B-slice frame.
14. A method according to claim 11, wherein the specified subsequent frame is decodable independently of any other subsequent frame,
15. A method according to claim 11, the specified subsequent frame is dependent on at least one other subsequent frame, the manifest repeatedly specifies said first frame of the first fragment, said specified subsequent frame, and each other subsequent frame on which said specified subsequent frame is dependent.
US13/832,191 2013-03-15 2013-03-15 Methods of implementing trickplay Active US8826346B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/832,191 US8826346B1 (en) 2013-03-15 2013-03-15 Methods of implementing trickplay
US14/338,590 US9681197B2 (en) 2013-03-15 2014-07-23 Methods of implementing multi mode trickplay
MX2017000953A MX364667B (en) 2013-03-15 2015-04-09 Methods of implementing multi mode trickplay.
CA2965667A CA2965667C (en) 2013-03-15 2015-04-09 Methods of implementing multi mode trickplay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/832,191 US8826346B1 (en) 2013-03-15 2013-03-15 Methods of implementing trickplay

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/338,590 Continuation-In-Part US9681197B2 (en) 2013-03-15 2014-07-23 Methods of implementing multi mode trickplay

Publications (2)

Publication Number Publication Date
US8826346B1 US8826346B1 (en) 2014-09-02
US20140282760A1 true US20140282760A1 (en) 2014-09-18

Family

ID=51400219

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/832,191 Active US8826346B1 (en) 2013-03-15 2013-03-15 Methods of implementing trickplay
US14/338,590 Active 2033-10-26 US9681197B2 (en) 2013-03-15 2014-07-23 Methods of implementing multi mode trickplay

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/338,590 Active 2033-10-26 US9681197B2 (en) 2013-03-15 2014-07-23 Methods of implementing multi mode trickplay

Country Status (3)

Country Link
US (2) US8826346B1 (en)
CA (1) CA2965667C (en)
MX (1) MX364667B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337903A1 (en) * 2013-05-09 2014-11-13 Broadcom Corporation Seamless trick-mode with decreased latency for live transcode streaming
US20150350622A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
US20220239960A1 (en) * 2021-01-28 2022-07-28 Openwave Mobility Inc. Method for determining a play duration estimate of an adaptive bit rate media presentation

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826346B1 (en) 2013-03-15 2014-09-02 General Instrument Corporation Methods of implementing trickplay
US20160014439A1 (en) * 2014-07-14 2016-01-14 Cisco Technology Inc. Indexing of Video Assets
US10187680B2 (en) * 2014-11-11 2019-01-22 Cisco Technology, Inc. Adaptive bit rate system architectures using named domain networking
MX2017006830A (en) 2014-11-25 2017-11-23 Arris Entpr Llc Filler detection during trickplay.
US20190132652A1 (en) * 2016-04-18 2019-05-02 Verance Corporation System and method for signaling security and database population
US11039181B1 (en) 2016-05-09 2021-06-15 Google Llc Method and apparatus for secure video manifest/playlist generation and playback
US10771824B1 (en) * 2016-05-10 2020-09-08 Google Llc System for managing video playback using a server generated manifest/playlist
US10785508B2 (en) * 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US11069378B1 (en) 2016-05-10 2021-07-20 Google Llc Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
US10595054B2 (en) 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US11032588B2 (en) 2016-05-16 2021-06-08 Google Llc Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US10873781B2 (en) * 2017-06-13 2020-12-22 Comcast Cable Communications, Llc Video fragment file processing
US11468149B2 (en) 2018-04-17 2022-10-11 Verance Corporation Device authentication in collaborative content screening
EP3687176A1 (en) * 2019-01-22 2020-07-29 InterDigital CE Patent Holdings A client and a method for managing, at the client, a streaming session of a multimedia content
US11616997B2 (en) * 2019-12-12 2023-03-28 Arris Enterprises Llc Methods and systems for trick play using partial video file chunks
US11647063B2 (en) * 2020-11-04 2023-05-09 Arris Enterprises Llc Method and apparatus for presentation of video content

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444575A (en) * 1994-01-21 1995-08-22 Hitachi America, Ltd. Method for recording digital data using a set of heads including a pair of co-located heads to record data at a rate lower than the full recording rate possible using the set of heads
US6965724B1 (en) * 1995-03-30 2005-11-15 Thomson Licensing S.A. Trick-play modes for pre-encoded video
AU2001257320A1 (en) 2000-04-28 2001-11-12 Live365, Inc. System and method for reducing the resources required to deliver streaming media
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
CN102113334B (en) * 2009-05-19 2013-09-11 松下电器产业株式会社 Recording medium, reproducing device, encoding device, integrated circuit, and reproduction output device
US8290338B2 (en) * 2009-05-27 2012-10-16 Panasonic Corporation Recording medium, playback device, encoding device, integrated circuit, and playback output device
US8930442B2 (en) 2010-03-08 2015-01-06 Samsung Electronics Co., Ltd. Apparatus and method for playing media content data
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8925021B2 (en) * 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
US9813740B2 (en) * 2012-08-24 2017-11-07 Google Inc. Method and apparatus for streaming multimedia data with access point positioning information
US8826346B1 (en) 2013-03-15 2014-09-02 General Instrument Corporation Methods of implementing trickplay

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337903A1 (en) * 2013-05-09 2014-11-13 Broadcom Corporation Seamless trick-mode with decreased latency for live transcode streaming
US9319753B2 (en) * 2013-05-09 2016-04-19 Broadcom Corporation Seamless trick-mode with decreased latency for live transcode streaming
US9712889B2 (en) 2013-05-09 2017-07-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Seamless trick-mode with decreased latency for live transcode streaming
US20150350622A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
US10715776B2 (en) 2014-05-30 2020-07-14 Apple Inc. Packed I-frames
US20220239960A1 (en) * 2021-01-28 2022-07-28 Openwave Mobility Inc. Method for determining a play duration estimate of an adaptive bit rate media presentation
US11595708B2 (en) * 2021-01-28 2023-02-28 Openwave Mobility Inc. Method for determining a play duration estimate of an adaptive bit rate media presentation

Also Published As

Publication number Publication date
MX364667B (en) 2019-05-03
US8826346B1 (en) 2014-09-02
US9681197B2 (en) 2017-06-13
MX2017000953A (en) 2017-08-07
CA2965667A1 (en) 2016-01-28
CA2965667C (en) 2019-03-26
US20140337904A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
US8826346B1 (en) Methods of implementing trickplay
US10820065B2 (en) Service signaling recovery for multimedia content using embedded watermarks
RU2652099C2 (en) Transmission device, transmission method, reception device and reception method
JP2020074599A (en) Transmission method, reception method, transmission device, and reception device
RU2547624C2 (en) Signalling method for broadcasting video content, recording method and device using signalling
US20120159530A1 (en) Micro-Filtering of Streaming Entertainment Content Based on Parental Control Setting
US20140223502A1 (en) Method of Operating an IP Client
KR20160099096A (en) Apparatus for processing a hybrid broadcast service, and method for processing a hybrid broadcast service
JP7200329B2 (en) Transmission method, reception method, transmission device and reception device
EP2814256B1 (en) Method and apparatus for modifying a stream of digital content
EP3240195B1 (en) Method and apparatus for decoding audio bitstream including system data
EP3172901A1 (en) Methods of implementing multi mode trickplay
US20150067749A1 (en) Method and apparatus for providing extended tv data
JP2005516492A (en) Incorporation of TVAnytimeCRIDS
KR101941781B1 (en) Method and Apparatus for Receiving 8K Broadcasting based on MMT
JP6446347B2 (en) Thumbnail providing device, display device, thumbnail video display system, thumbnail video display method, and program
KR102391586B1 (en) Method for encapsulating audiovisual content streams in mpeg2 private sections, device for encapsulating audiovisual content in mpeg2 private sections to be multiplexed in a mpeg2 transport stream; interactive application for digital tv; user device; method for transmission of audiovisual content and/or data and communication protocol for data networks
JP7457930B2 (en) Transmission method, reception method, transmission device and reception device
KR101943214B1 (en) Method for Generating 8K Broadcasting Stream based on MMT and Broadcasting System applying the same
US10567703B2 (en) High frame rate video compatible with existing receivers and amenable to video decoder implementation
KR20160033027A (en) The method for transmitting or receiving multimedia and apparatus thereof
EP3451673A1 (en) Video splicing for inserting regional content into a compressed digital video stream
KR20210085932A (en) Method for processing additional data in digital broadcasting system and apparatus for the same

Legal Events

Date Code Title Description
AS Assignment

Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PANJE, KRISHNA PRASAD;FRANKS, WILLIAM P.;SAHASRANAMAN, MURALI;SIGNING DATES FROM 20130325 TO 20130328;REEL/FRAME:030116/0717

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, IL

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: ARRIS TECHNOLOGY, INC., GEORGIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNOR:GENERAL INSTRUMENT CORPORATION;REEL/FRAME:035176/0620

Effective date: 20150101

Owner name: ARRIS TECHNOLOGY, INC., GEORGIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:GENERAL INSTRUMENT CORPORATION;GENERAL INSTRUMENT CORPORATION;REEL/FRAME:035176/0620

Effective date: 20150101

CC Certificate of correction
AS Assignment

Owner name: ARRIS ENTERPRISES, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARRIS TECHNOLOGY, INC;REEL/FRAME:037328/0341

Effective date: 20151214

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

AS Assignment

Owner name: POWER GUARD, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL HOLDCO LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: TEXSCAN CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS ENTERPRISES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: JERROLD DC RADIO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BIG BAND NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NETOPIA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: QUANTUM BRIDGE COMMUNICATIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL CAPITAL LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: CCE SOFTWARE LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: IMEDIA CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SUNUP DESIGN SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ACADIA AIC, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: LEAPSTONE SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVAN

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: AEROCAST, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: THE GI REALTY TRUST 1996, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: 4HOME, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS SOLUTIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BROADBUS TECHNOLOGIES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MOTOROLA WIRELINE NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: UCENTRIC SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANI

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MODULUS VIDEO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS KOREA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS GROUP, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SETJAM, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

AS Assignment

Owner name: ARRIS ENTERPRISES LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:ARRIS ENTERPRISES, INC.;REEL/FRAME:049649/0062

Effective date: 20151231

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATE

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: ABL SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049892/0396

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: TERM LOAN SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049905/0504

Effective date: 20190404

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CONNECTICUT

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

AS Assignment

Owner name: WILMINGTON TRUST, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNORS:ARRIS SOLUTIONS, INC.;ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;AND OTHERS;REEL/FRAME:060752/0001

Effective date: 20211115

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: ARRIS ENTERPRISES, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARRIS TECHNOLOGY, INC.;REEL/FRAME:060791/0583

Effective date: 20151214