Carriage of closed data through digital interface using packets

Closed caption (CC) data is carried across a digital interface such as HDMI by a source such as a set top box arrange CC data into a HDMI packet that is then transmitted, along with video packets, across the interface to a sink such as a TV. The CC data is kept in the same format that it was received and the TV's decoder processor processes the packets and renders CC text as if the CC data had been received by the tuner of the TV.

I. FIELD OF THE INVENTION

The present application relates generally to carrying closed caption data through digital interfaces such as high definition multimedia interface (HDMI) using packets.

II. BACKGROUND OF THE INVENTION

In analog TVs, closed caption (CC) text was sent within the TV signals and processed and displayed on the TVs. This meant that viewers could use the TV remote control (RC) to establish CC settings, e.g., “on” or “off”, as well as other CC-related settings.

With the advent of digital TV (DTV), however, no methods currently exist to carry CC data across digital interfaces (such as, e.g., HDMI) that now link multimedia sources such as set-top boxes with multimedia sinks such DTVs in a way that would permit the TV RC to be used to establish the CC settings. Instead, the source must integrate CC data in the TV signals (video) before sending the signals to the sink, meaning that the establishment of CC settings must be done by communicating with the source typically using a source RC (equivalently, by flipping between TV control and STB control using a single RC). Having to switch RCs or switch device control designation on a single RC is inconvenient and can be confusing to many viewers who typically require CC.

SUMMARY OF THE INVENTION

Accordingly, a multimedia source such as but not limited to a set top box includes a TV signal receiver that receives TV signals with closed caption (CC) data therein. A digital multimedia (DM) interface such as an HDMI interface is provided, and a processor receives signals from the TV signal receiver and communicates with a sink of multimedia content through DM interface. The processor executing logic which includes encapsulating the CC data in CC data packets containing no TV video (non-text video) data. The CC data packets are combined with multimedia packets containing video data and sent to the sink through the DM interface.

The DM interface can be a high definition multimedia interface (HDMI). In some aspects the processor may combine the CC data packets with the multimedia packets by interleaving the CC data packets in a stream of multimedia packets. In example embodiments a CC data packet can be correlated with an associated multimedia packet to which the CC data packet pertains by arranging the CC data packet immediately before or after the multimedia packet to which the CC data packet pertains in a stream of CC data packets and multimedia packets sent to the sink. In other examples a CC data packet can be correlated with an associated multimedia packet to which the CC data packet pertains by providing a pointer in the CC data packet to the multimedia packet to which the CC data packet pertains.

In another aspect, a sink such as but not limited to a TV for presenting multimedia data including video data includes a video display and a digital media (DM) interface which receives a stream of multimedia packets and closed caption (CC) packets from a source. A sink processor receives the stream and extracts the CC packets therefrom. The sink processor decodes the multimedia packets and presents on the display video represented by decoded multimedia packets. Also, the sink processor, responsive to commands from a user input device, selectively displays CC text derived from the CC packets on the display along with the video.

In some examples the sink processor receives a CC off command from the user input device and responsive thereto does not present CC text on the display along with the video. The sink processor can receive a CC on command from the user input device and responsive thereto present CC text on the display along with the video.

In another aspect, an assembly includes a tangible non-transitory computer readable storage medium bearing multimedia data structures representing video for presentation of the video on a display of a sink device. The medium also bears closed caption (CC) data structures. The CC data structures do not contain multimedia data but do contain information representing CC text that is to be presented on the display along with the video responsive to a user command received at the sink. A processor accesses the medium. When the medium and processor are in a source of multimedia the processor sources a stream of information including the CC data structures and multimedia packets representing the video to a sink through a digital media (DM) interface to a sink for presentation of the stream on the sink. The sink determines whether to present the CC text with the video responsive to user commands input to the sink. On the other hand, when the medium and processor are in a source of multimedia the processor receives a stream of information including the CC data structures and multimedia packets representing the video from the source through a digital media (DM) interface. The sink processor determines whether to present on a display the CC text with the video responsive to user commands input to the sink.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring initially toFIG. 1, a system10includes a source12of multimedia such as a set top box and a sink14such as a digital TV (DTV) to display the multimedia, although the source12may be embodied by other sources such as a satellite receiver or Internet interface receiving video in IP and the sink14may be embodied by, e.g., a game player, a video disk player, digital clock radio, mobile telephone, personal digital assistant, etc.

As shown inFIG. 1, the source12, particularly when configured as a set top box, includes a portable lightweight plastic housing16bearing a digital source processor18. The source processor18receives TV signals including video signals with closed caption (CC) data representing CC text from a receiver20. In non-limiting examples a TV tuner22may be controlled by the source processor18to pass only TV signals on a tuned-to channel to the source processor18. In any case, the source processor decodes the signal it receives and as described in greater detail below separates the CC data from the video, packetizes them separately and combines the packets in a stream, and sends the resultant stream through a digital media (DM) interface24to the sink14. The DM interface24may be a HDMI interface. The source processor18may access a tangible non-transitory computer readable storage medium26such as solid state and/or disk-spaced storage for present purposes.

The sink14receives the stream from the source12at a sink DM interface28disposed in a sink housing30. The stream is received over a wired or wireless link32. The signal from the sink DM interface28may be sent through a TV tuner34to a sink processor36accessing a tangible non-transitory computer readable sink storage medium38such as solid state and/or disk-spaced storage for present purposes. The sink processor34controls the tuner34to tune to a demanded channel responsive to user command signals from a user input device40such as an infrared or rf remote control (RC), signals from which are received by a wireless command receiver42and sent to the sink processor36. The sink processor36executes appropriate decoding and presents the video on a display44, with audio in the stream being presented on one or more speakers46. As set forth further below, the sink processor36also determines whether to decode and present CC data on the display44responsive to command signals sent from the TV RC40and received by the sink wireless command receiver42. While the source12and sink14are shown in separate housings, in some implementations the source may be consolidated with the sink.

FIG. 2shows an example CC data structure48that may establish an information data packet for carrying CC data, but not carrying video or audio data. Essentially, the CC data structure48contains information representing CC text that is to be presented on the display44along with the video responsive to a user command from the RC40received at the sink14.

The CC data structure48is created at the source12based on CC information received by the source with the multimedia data. The data structures48and may be stored on the source storage medium26so that the source processor18may access the source medium26to source a stream of information including CC data structures and multimedia packets representing the video to the sink14. Also, the CC data structure48may be received and stored on the sink storage medium38to be access by the sink processor36, which determines whether to present on the display44the CC text with the video responsive to user commands from the RC40input to the sink14.

In example data structure48shown inFIG. 2, the data structure48may include a frame type code field50that indicates what type of packet the packet48is. In this case, the frame type code indicates that packet is a CC data packet. If desired, a version number field52may also be included to indicate the version of the packet type.

Additionally, the example data structure48shown inFIG. 2may include a field54indicating a number of bytes representing CC text in the CC data structure in the subsequent data field56. The actual bytes representing the CC text may be contained in the data field56. To indicate the end of the structure48, an end byte field58may be provided as shown.

FIG. 3indicates example non-limiting numbers of CC data bytes that may be contained in a data field54of the data structure48depending on the frame rate and frame type. For example, for a 24 or 23.97 frame per second (fps) rate and a progressive frame type, the data field56may contain fifty CC data bytes. On the other hand, for a 30 or 29.97 fps rate and an interlaced frame type, the data field56may contain only twenty CC data bytes. Yet again, for a 30 or 29.97 fps rate and a progressive frame type, the data field56may contain forty or sixty CC data bytes, while for a 60 or 59.94 fps rate and a progressive frame type, the data field56may contain twenty, forty, or sixty CC data bytes. For higher frame rates the frequency and number of CC data bytes may be adjusted to correspond with the table above. For example, if the frame rate is 120 Hz, then every other frame can be a CC packet, i.e., between every video packet in a stream a CC packet may be interleaved.

Now referring toFIG. 4, example logic executed by the source processor18may be appreciated. Commencing at block60, a TV signal with CC data embedded therein is received by the source from, e.g., a cable head end. The signal undergoes appropriate decoding and at block62the CC data is separated from the video (and audio) and arranged in the data structures48. The video with the CC data removed is uncompressed, and once uncompressed, the CC packets are interleaved with uncompressed video packets at block64to establish a stream, which is sent through the source DM interface24for appropriate encoding in accordance with the digital media protocol being used and transmission to the sink14.

In one implementation, each CC data packet is correlated to one or more video packets to which it pertains as indicated by the signal received from, e.g., the cable head end. This correlation indicates the video frame or frames with which a particular CC text is to be presented. The source processor18thus knows the correlation from the signal it receives. In one example, the source processor propagates the CC-to-video correlation by arranging a CC data packet immediately before or after the multimedia packet to which the CC data packet pertains in the stream sent to the sink. In this way, the sink knows which video frame or frames on which to present the associated CC text, i.e., by simply presenting the CC text in the video frame immediately before or after the CC packet carrying the text.

In another example, the source processor propagates the CC-to-video correlation by providing a pointer in the CC data packet to the multimedia packet to which the CC data packet pertains. Thus, the data structure48shown inFIG. 2may include a pointer filed that points to the associated video packet over which the CC text is to be superimposed.

Turning now toFIG. 5for an understanding of example logic that the sink processor36can execute, at block68the stream of CC and video packets is received, decoded as appropriate in, e.g., the DM receiver28, and then prior to uncompressing the video, the CC packets are extracted from the video packets at block70. The CC packets may be at least temporarily stored on the sink storage medium38. Any further decoding and processing of TV packets is undertaken at block70, including uncompressing the video packets with the CC information having been removed.

In accordance with present principles, a viewer manipulating the RC40to signal the sink processor36(as opposed to signaling the source processor18) can cause the sink processor36to establish desired CC settings. As but one example, the viewer can manipulate the RC40to navigate a CC user interface which presents the viewer with the option of turning CC on and off, i.e., with the option of causing the CC text to be presented on the display44along with the video or to present only video without the accompanying CC text. Other non-limiting example settings include CC language.

Decision diamond74thus simply indicates that responsive to the viewer manipulating the RC40to input a “CC on” command, the logic flows to block76to overlay the CC text represented in the CC packets onto the video presented on the display44or otherwise simultaneously present both the CC text and the video. It will readily be appreciated that the sink processor36uses whichever CC-to-video correlation has been established, e.g., the positional correlation of packets in the stream or the pointer-based correlation discussed above, to determine which video frames should be presented with which CC text. On the other hand, if the viewer selects “CC off” the logic moves to block78to present only video on the display44without any closed captioning. Thus,FIGS. 4 and 5are cast in flow chart format for convenience and not by way of limitation, state diagrams being equally expressive for certain of the logic.

While the particular CARRIAGE OF CLOSED CAPTION DATA THROUGH DIGITAL INTERFACE USING PACKETS is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.