The present inventions relate to devices and/or methods of video decoding circuitry and techniques to adaptively decode, down-sample and/or downscale video signals. More particularly, to a satellite, terrestrial and/or cable receiver (for example digital broadcasting TV receiver (for example, a mobile-type TV receiver)) implemented in an MPEG environment, in one aspect, an MPEG (or MPEG-like) decoder having circuitry and implementing techniques which adaptively decodes, down-samples and/or downscales video data. Indeed, in certain aspects, the video decoder (for example, digital) may include circuitry and/or implement techniques that facilitate or provide lower system memory constraints and/or requirements relative to conventional video decoders.
Briefly, a digital broadcast TV receiver may generally consist of a TV tuner for (i) tuning the receiver to, for example, a user selected channel of the frequency band and (ii) converting the received RF signal to a baseband signal. The digital broadcast TV receiver also includes baseband processor circuitry that responsively acquires one or more channels (associated with one or more of the user selected channels) by demodulating and decoding the baseband signal into a transport data stream. The digital broadcast TV receiver further includes circuitry to identify the selected program stream and extract and separate audio and video data streams from the transport data stream.
The digital broadcasting TV receiver also includes video and audio decoder circuitry which decompresses or decodes the corresponding audio and video data streams. Video and audio output circuitry provides video and audio rendering functions using the decompressed or decoded audio and video data streams. Finally, the digital broadcasting TV receiver generally includes a user interface (for example, a display and/or a speaker(s)) for corresponding video display and/or audio play-back.
In the context of portable devices (for example, a mobile TV), the display often supports low video resolutions, such as common interchange format (CIF) or quarter CIF (QCIF) format. When the video source has a higher resolution than that of the portable device, for example, a DVB-T TV receiver, a video downscaling operation is implemented to match or correlate the size of the decoded picture/video to the size or resolution of the display. For example, with reference to
There are many inventions described and illustrated herein. The present inventions are neither limited to any single aspect nor embodiment thereof, nor to any combinations and/or permutations of such aspects and/or embodiments. Moreover, each of the aspects of the present inventions, and/or embodiments thereof, may be employed alone or in combination with one or more of the other aspects of the present inventions and/or embodiments thereof. For the sake of brevity, many of those permutations and combinations will not be discussed separately herein.
Importantly, this Summary may not be reflective of or correlate to the inventions protected by the claims in this or continuation/divisional applications hereof. Even where this Summary is reflective of or correlates to the inventions protected by the claims hereof, this Summary may not be exhaustive of the scope of the present inventions.
In a first principle aspect, certain of the present inventions are directed to circuitry and techniques of decoding an encoded video data stream which corresponds to a selected channel which is one of a plurality of channels of a broadcast spectrum. In one embodiment, the method comprises decoding the encoded video data stream, using one of a plurality of decoding modes, to generate video data, wherein:
The method may also including formatting the video data (using any technique now known or later developed) and outputting the formatted video data. For example, formatting the video data may include formatting the video data into formatted video data blocks by arranging the video data into one or more lines or frames which correspond to or are associated with a predetermined format and/or one or more predetermined characteristics of a video display.
In one embodiment of this aspect of the inventions, the encoded video data stream (i) is an MPEG data stream, having a GOP, and (ii) includes the first characteristic when a variable is less than a predetermined value and the second characteristic when the variable is greater than the predetermined value. Where the encoded video data stream is an MPEG data stream, in one embodiment, the variable is increased or decreased based on the number of predictive-coded frames and bidirectionally-predictive-coded frames in the GOP. In one embodiment, in response to each predictive-coded frame and bidirectionally-predictive-coded frame of the GOP, the variable is increased or decreased and the variable is compared to the predetermined value wherein when the variable is: (i) less than the predetermined value, the encoded video data stream is decoded using the first decoding mode, and (ii) greater than the predetermined value, the encoded video data stream is decoded using the second decoding mode. In addition thereto, or in lieu thereof, in response to each: (i) predictive-coded frame of the GOP, the variable is increased or decreased a first amount, and (ii) bidirectionally-predictive-coded frames of the GOP, the variable is increased or decreased a second amount. The method may further include retrieving the first and second amounts from memory.
In another embodiment, the variable is based on the size or the structure of the GOP. In this embodiment, the first spatial resolution is less than the second spatial resolution and first temporal resolution is greater than the second temporal resolution.
The method may further include decoding the encoded video data stream using a third decoding mode wherein, in response to decoding the encoded video data stream using the third decoding mode, the video data includes a third spatial resolution and/or a third temporal resolution, wherein (i) the third spatial resolution is different from the first or second spatial resolutions and/or (ii) the third temporal resolution is different from the first or second temporal resolutions. In this embodiment, the encoded video data stream may be (i) an MPEG data stream, having a GOP, and (ii) include the first characteristic when a variable is less than a first predetermined value, and the second characteristic when the variable is greater than the first predetermined value and less than a second predetermined value, and the third characteristic when the variable is greater than the second predetermined value.
In another principle aspect, the present inventions are directed to video processing circuitry to decode an encoded video data stream which corresponds to a selected channel which is one of a plurality of channels of a broadcast spectrum. The video decoder circuitry of this aspect comprises control circuitry to: (i) determine one or more characteristics of the encoded video data stream and, (ii) in response, generate control signals, including one or more first control signals and/or one or more second control signals. The video processing circuitry of this aspect of the invention also includes video decoder circuitry, coupled to the control circuitry, to: (i) decode the encoded video data stream using one of a plurality of decoding modes, including a first decoding mode and a second decoding mode, and (ii) in response, generate video data, wherein:
The video processing circuitry may also include output format circuitry (of any kind or type), coupled to the video decoder circuitry, to generate formatted video data using the video data.
In one embodiment, when the encoded video data stream is an MPEG data stream, having a GOP, the control circuitry generates the one or more first control signals in response to determining a variable is less than a predetermined value, and the one or more second control signals in response to determining the variable is greater than the predetermined value. Here, the first spatial resolution is less than the second spatial resolution and first temporal resolution is greater than the second temporal resolution. Moreover, the variable may be based on the size and structure of the GOP.
In another embodiment, the control circuitry calculates the variable by increasing or decreasing an initial value based on the type of predictive-coded frames in the GOP. In yet another embodiment, the control circuitry, in response to each predictive-coded frame and bidirectionally-predictive-coded frame in the GOP, increases or decreases the variable and compares the variable to the predetermined value wherein when the variable is: less than the predetermined value, the encoded video data stream is decoded using the first decoding mode, and/or greater than the predetermined value, the encoded video data stream is decoded using the second decoding mode. In this embodiment, in response to each predictive-coded frame and bidirectionally-predictive-coded frame of the GOP, the variable is increased or decreased a first amount or a second amount, respectively.
Notably, in one embodiment, when the encoded video data stream is an MPEG data stream, the first decoding mode includes downscaling predictive-coded frames and/or intra-frames. In addition thereto, or in lieu thereof, when the encoded video data stream is an MPEG data stream, the second decoding mode includes discarding bidirectionally-predictive-coded frames.
The control circuitry may also generate one or more third control signals in response to determining one or more characteristics of the encoded video data stream. In this embodiment, the video decoder circuitry, in response to the one or more third control signals, decodes the encoded video data stream using a third decoding mode and, in response to decoding the encoded video data stream using the third decoding mode, generates video data including a third spatial resolution and/or a third temporal resolution, wherein (i) the third spatial resolution is different from the first or second spatial resolutions and/or (ii) the third temporal resolution is different from the first or second temporal resolutions. Here, when the encoded video data stream is an MPEG data stream, the control circuitry generates: the one or more first control signals in response to determining a variable is less than a first predetermined value, the one or more second control signals in response to determining the variable is greater than the first predetermined value and less than a second predetermined value, and the one or more third control signals in response to determining the variable is greater than the second predetermined value.
In another embodiment, the video decoder circuitry may further include memory to store decoded video data, downscale circuitry, coupled to the memory, to downscale the decoded video data and generate downscaled decoded video data which correlates to a resolution and/or size of a predetermined video display, and selection circuitry, coupled to the memory and the downscale circuitry, to responsively output either decoded video data or downscaled decoded video data.
In another aspect, the present inventions may also be directed to a receiving device including (i) any of the video processing circuitry described and/or illustrated herein, and (ii) a video display to display the formatted video data and wherein the output format circuitry formats the video data into formatted video data by arranging the video data into one or more lines or frames.
In yet another principle aspect, the present inventions are directed to a method of simulating or testing on a computing system video processing circuitry and/or a video processing circuitry device that decodes an encoded video data stream which corresponds to a selected channel which is one of a plurality of channels of a broadcast spectrum according to any of the embodiment described and/or illustrated herein. For example, the method of simulating may comprise:
Notably, an exemplary method of testing may include a substantially similar process as described immediately above wherein testing substitutes for simulating. For the sake of brevity, such a testing process will not be repeated.
As stated herein, there are many inventions, and aspects of the inventions, described and illustrated herein. This Summary is not exhaustive of the scope of the present inventions. Indeed, this Summary may not be reflective of or correlate to the inventions protected by the claims in this or continuation/divisional applications hereof.
Moreover, this Summary is not intended to be limiting of the inventions or the claims (whether the currently presented claims or claims of a divisional/continuation application) and should not be interpreted in that manner. While certain embodiments have been described and/or outlined in this Summary, it should be understood that the present inventions are not limited to such embodiments, description and/or outline, nor are the claims limited in such a manner (which should also not be interpreted as being limited by this Summary).
Indeed, many other aspects, inventions and embodiments, which may be different from and/or similar to, the aspects, inventions and embodiments presented in this Summary, will be apparent from the description, illustrations and claims, which follow. In addition, although various features, attributes and advantages have been described in this Summary and/or are apparent in light thereof, it should be understood that such features, attributes and advantages are not required whether in one, some or all of the embodiments of the present inventions and, indeed, need not be present in any of the embodiments of the present inventions.
In the course of the detailed description to follow, reference will be made to the attached drawings. These drawings show different aspects of the present inventions and, where appropriate, reference numerals illustrating like structures, components, materials and/or elements in different figures are labeled similarly. It is understood that various combinations of the structures, components, and/or elements, other than those specifically shown, are contemplated and are within the scope of the present inventions.
Moreover, there are many inventions described and illustrated herein. The present inventions are neither limited to any single aspect nor embodiment thereof, nor to any combinations and/or permutations of such aspects and/or embodiments. Moreover, each of the aspects of the present inventions, and/or embodiments thereof, may be employed alone or in combination with one or more of the other aspects of the present inventions and/or embodiments thereof. For the sake of brevity, certain permutations and combinations are not discussed and/or illustrated separately herein.
Again, there are many inventions described and illustrated herein. The present inventions are neither limited to any single aspect nor embodiment thereof, nor to any combinations and/or permutations of such aspects and/or embodiments. Each of the aspects of the present inventions, and/or embodiments thereof, may be employed alone or in combination with one or more of the other aspects of the present inventions and/or embodiments thereof. For the sake of brevity, many of those combinations and permutations are not discussed separately herein.
There are many inventions described and illustrated herein. In one aspect, the present inventions are directed to circuitry and techniques for use in video decoding devices and systems that adaptively decodes, down-samples and/or downscales video signals based on the size and/or structure of the input video data streams (for example, MPEG-2 type data streams). In the context of an MPEG-n data stream, for example, the circuitry and techniques of the present inventions adaptively decode, down-sample and/or downscale video data based, at least in part on, the size of a group of pictures (GOP) and/or the structure of a GOP. In this regard, such circuitry and techniques, according to certain aspects of the invention may adapt, change and/or modify the decoding, down-sampling and/or downscaling of the video data based on the size of the GOP and/or the frame structure of such GOP (for example, the number of predictive-coded frames (P-frames) and bidirectionally-predictive-coded frames (B-frames) in the GOP, and/or the order of such frames which comprise the GOP).
Such circuitry and techniques may facilitate or provide lower system memory requirements relative to conventional video decoders. In addition to reducing memory requirements, costs and power consumption, as well as the opportunity to more readily integrate the circuitry relative to conventional video decoders, the circuitry and techniques of the present inventions may adapt, change and/or modify the temporal and/or spatial resolution of the output video to reduce error introduction, accumulation and/or propagation in the decoding, down-sampling and/or downscaling processes of the video data. Indeed, the circuitry and techniques of the present inventions may detect, determine and/or anticipate error introduction, accumulation and/or propagation in the decoding, down-sampling and/or downscaling processes of the video data, and, in response thereto, adapt, change and/or modify such processes. In this way, the circuitry and techniques of the present inventions may adapt, change and/or modify the temporal and/or spatial resolution—for example, reduce the temporal resolution and increase the spatial resolution of the output video. By doing so, the output video may be more acceptable to the user/operator regardless of or notwithstanding the characteristics of the input video data streams (for example, the size of the GOP and/or the frame structure of such GOP) and loss of resolution of the reconstructed video when correlating or matching the video source resolution to the resolution of the display.
Notably, the present inventions may be employed in a satellite, terrestrial and/or cable digital television environment (including, for example, digital television receiver (for example, digital broadcasting TV receiver, for example, mobile-type TV receiver)) and/or digital data (video and/or audio) playback devices (for example, Compact Disc (CD) or Digital Versatile Disc (DVD) player). Moreover, although many of the exemplary embodiments and/or processes are described and/or illustrated in the context of MPEG-2, the inventions described and/or illustrated herein may also be implemented in conjunction with other coded communications, for example, VC-1, Windows Media Video (WMV), RealVideo as well as other video compression/decompression standards. As such, the discussions in the context of MPEG-2 are merely exemplary; and video decoding of other coded communications, implementing one or more of the features of the present inventions as described herein, are intended to fall within the scope of the present inventions.
With reference to
Notably, the receiver circuitry may be incorporated into receiving device 10a. (See, for example,
In one embodiment, the video decoder circuitry receives picture information (in the form of an input data stream, for example, a transport data stream) from processing circuitry (for example, transport demultiplexer circuitry) which demultiplexes a data stream which may include a header (comprising, for example, a plurality of bytes) and a payload or data load (comprising, for example, a plurality of bytes). The transport data stream may include a defined format or data hierarchy of a predefined header and a predefined payload or data load (for example, a MPEG-2 type data stream which is described in detail in/at ISO/IEC 13818). Using or based on the definition or characteristics of the transport data stream, the processing circuitry identifies the selected program stream, and extracts and separates audio and/or video data streams and provides the video data streams to video decoder circuitry. The video decoder circuitry, in response, decodes and decompresses the corresponding video data streams and video output circuitry provide video rendering functions (using the decoded and decompressed video data streams) to, for example, a user interface (for example, a display for corresponding video display play-back).
With reference to
Notably, the present inventions may be implemented in conjunction with any type of tuner circuitry 14, baseband processor circuitry 16 and/or stream processor circuitry 18 (including discrete devices or integrated devices), whether now known or later developed. All tuner circuitry 14, baseband processor circuitry 16 and/or stream processor circuitry 18, consistent with digital communications outlined herein, are intended to fall within the scope of the present inventions.
Moreover, as intimated above, receiver circuitry 10 and/or receiving device 10a may also include output format circuitry to (i) format (for example, by arranging the decoded video data into one or more lines or frames) and output video data of the data block, and (ii) output display synchronization or timing signals (for example, horizontal synchronization signals, vertical synchronization signals) and/or timing markers or tags (for example, start of active video data and end of active video data) to, for example, a video display. For the sake of brevity, the output format circuitry will not be discussed in detail. It should be noted, however that any output format circuitry whether now known or later developed may be implemented in conjunction with any of the embodiments of the present inventions.
With continued reference to
In one embodiment, the characteristics of the data stream upon which the adaption is based, are the size and/or structure of the input video data streams (for example, MPEG-2 type data streams). For example, where video decoder circuitry 12 is implemented in an MPEG-n environment (for example, MPEG-2), video decoder circuitry 12 may responsively adapt, change and/or modify the decoding, down-sampling and/or downscaling of the video data based on the size of the GOP and/or the frame structure of the GOP (for example, (i) the number of predictive-coded frames (P-frames), and/or (ii) the number of bidirectionally-predictive-coded frames (B-frames) in the GOP, and/or (iii) the order of such frames within the GOP).
The receiver circuitry 10 may also include control circuitry 20 to, among other things, detect and/or determine characteristics of the input video data stream, including, for example, the structure of the frames of the input video data stream. The control circuitry 20 may be implemented via a plurality of discrete or integrated logic, and/or one or more state machines, special or general purpose processors (suitably programmed) and/or field programmable gate arrays (or combinations thereof). Indeed, any circuitry (for example, discrete or integrated logic, state machine(s), special or general purpose processor(s) (suitably programmed) and/or field programmable gate array(s) (or combinations thereof)) to detect and/or determine characteristics of the data stream, including, for example, the size and/or structure of the input video data streams, consistent with inventions described and/or illustrated herein, is intended to fall within the scope of the present inventions.
As mentioned above, the present inventions may be employed in a satellite, terrestrial and/or cable communications environments (among others) which implements video decoder circuitry 12. (See, for example,
With reference to
In this exemplary embodiment, video decoder circuitry 12 also includes motion vector downscale circuitry 22, downscale circuitry 24, downscale circuitry 26 and selection circuitry 28a-28c (notably, the selection circuitry illustrated herein as a multiplexer). Briefly, motion vector downscale circuitry 22, downscale circuitry 24 and downscale circuitry 26 are employed to responsively implement the adaptive decoding, down-sampling and/or downscaling processes. Such processes reduce the resolution of the video output to, for example, match or correlate the output video data, which is representative of the decoded picture/video, to a predetermined size or resolution of, for example, a video display. In this way, after decoding and downscaling the encoded video data, the output video data corresponds to or matches a predetermined resolution or size of the picture/video—which may correlate to the resolution or size of the display. The resolution of the reconstructed video—at the output of video decoder circuitry 12—may correspond or match predetermined characteristics (which may correspond or match to the resolution of the associated video display).
The video decoder circuitry 12 includes a plurality of decoding or processing modes (for example, two or more) which adapt, change and/or modify the decoding, down-sampling and/or downscaling of the data based, in this embodiment, on the size of the GOP and/or the frame structure of such GOP. With continued reference to
With continued reference to
Notably, downscale circuitry 24 may implement a finite impulse response low pass filter techniques to downscale the intra-frames, predictive-coded frames and bidirectionally-predictive-coded frames. Similarly, downscale circuitry 26 may also implement a finite impulse response low pass filter techniques (which may be the same as or different from techniques of downscale circuitry 24) to downscale the intra-frames and predictive-coded frames. Indeed, any technique, now known or later developed, which is consistent with downscaling operations described herein, may be employed to downscale the various frames.
With continued reference to
Notably, in the context of the MPEG-2 environment, downscaling circuitry 24 down-samples the 8×8 IDCT output, and motion vector downscale circuitry 22 coordinates these operations in relation to the motion vectors of predictive-coded frames and bidirectionally-predictive-coded frames. In this regard, where the video signals are interlaced-type, in Decode Mode 1, each 8×8 output array of the IDCT operation is down-sampled 2:1 in the horizontal direction, which results in a 4×8 array. The reconstructed I-frames are therefore downscaled 2:1 horizontally. As a result, a 50% of system memory reduction may be obtained or achieved for storing the decoded I-frames. (See,
As for P-frames (which also includes/involves the VLD, IS IQ circuitry and the motion compensation path), motion vector downscale circuitry 22 provides 2:1 horizontal downscaling the decoded motion vector before being employed for motion compensation by motion compensation circuitry. The downscaled motion vector is subsequently used to locate the 4×8 reference blocks from the reference frame, which is already down-sampled 2:1 horizontally in the previous decoding. The reconstructed P-frame is therefore downscaled 2:1 horizontally. As such, a 50% of system memory reduction may be obtained or achieved for storing the decoded P-frames. (See,
In this embodiment, the decoding of B-frames is similar to decoding P-frames except that after picture reconstruction, the 4×8 blocks are down-sampled 2:1 vertically, resulting in 4×4 blocks. The reconstructed B-frame is therefore downscaled 2:1 both horizontally and vertically. As a result, a 75% of system memory reduction may be obtained or achieved for storing the decoded B-frames. (See,
Accordingly, in this exemplary embodiment, the system memory is significantly reduced relative to the conventional system memory requirements of MPEG video decoders. Moreover, the reduction of system memory provides for a reduction of the system cost and power consumption. The system memory, according to the present inventions may facilitate or provide for more full or complete integration of the system memory into receiver circuitry 10.
Notably, the system memory may be integrated or discrete memory of any kind or type, including, for example, SRAM, DRAM, VRAM and Flash. All memory types and forms, and permutations and/or combinations thereof, are intended to fall within the scope of the present inventions. Indeed, the reduction of the system memory relative to conventional video decoders more readily allows for the implementation of the system memory in an on-chip SRAM, as opposed to an external DRAM or SRAM, both of which result in relatively more power consumption.
As mentioned above, video decoder circuitry 12 of this exemplary embodiment includes two decoding modes (i.e., Decode Mode 1 and Decode Mode 2). In Decode Mode 2, video decoder circuitry 12 discards, “drops” and/or ignores bidirectionally-predictive-coded frames (for example, B-frames in the context of MPEG) and only decodes intra-frames (I-frames) and predictive-coded frames (P-frames). In this mode, however, video decoder circuitry 12 decodes, in full-resolution, the intra-frames (I-frames) and predictive-coded frames (P-frames). The full-resolution intra-frames (I-frames) and predictive-coded frames (P-frames) are stored in system memory. After decoding, video decoder circuitry 12 may employ downscale circuitry 26 to downscale the frames, prior to output, to correlate or match the output video data to the resolution or size of the display. In this regard, downscale circuitry 26 adjusts the resolution of the output video data to match a predetermined resolution or size of the picture/video, which may correlate or correspond to the resolution or size of an associated display. Again, the predetermined resolution or size of the picture/video may be user/operator defined (for example, via an input instruction from the user interface), system defined (for example, defined by the size or resolution of an associated display) and/or geographically defined (which corresponds to the geographic region and/or the video standard (for example, NTSC, PAL, SECAM or DVB-T) in which the receiver circuitry 12 is operated).
The control circuitry 20 generates signals that control and configure the decoding, down-sampling and/or downscaling operations of video decoder circuitry 12. In one exemplary embodiment, control circuitry 20 evaluates, analyzes and/or determines the size and/or structure of the input video data streams (for example, in an MPEG-n environment, the size of the GOP, the structure of the GOP and/or the characteristics of both over a plurality of GOP(s) (for example, a plurality of consecutive GOP(s)). In response to the control signals, video decoder circuitry 12 adaptively decodes, down-samples and/or downscales the incoming video signals.
In one exemplary embodiment, control circuitry 20 may evaluate and analyze the size and structure of the input video data streams using the exemplary process illustrated in
With reference to
When the WGOP is greater than a predetermined threshold, control signals configure video decoder circuitry 12 to decode, down-sample and/or downscale the incoming video signals according to Decode Mode 2. As discussed above, in Decode Mode 2, video decoder circuitry 12 discards, “drops” and/or ignores bidirectionally-predictive-coded frames (for example, B-frames in the context of MPEG) and decodes intra-frames (I-frames) and predictive-coded frames (P-frames) with greater resolution than Decode Mode 1. Here, control circuitry 20 detects, determines and/or anticipates error introduction, accumulation and/or propagation in the decoding, down-sampling and/or downscaling processes of the video data (resulting from, for example, downscaling or down-sampling processes of the bidirectionally-predictive-coded frames (for example, B-frames in the context of MPEG) and decodes intra-frames (I-frames)). In response thereto, the control circuitry adapts, changes and/or modifies the decoding, down-sampling and/or downscaling processes by reducing the temporal resolution (via discarding the B-frames of the GOP) and increasing the spatial resolution of the output video (via decoding intra-frames (I-frames) and predictive-coded frames (P-frames) with full resolution). In this way, the output video may be more acceptable to the user/operator notwithstanding the characteristics of the transmission (for example, the size of the GOP and/or the frame structure of such GOP) and loss of resolution of the reconstructed video when correlating or matching the video source resolution to the resolution of the display.
With continued reference to
One, some or all of the parameters employed by the decoding mode determination technique (for example, one or more of Wi, WB, WP, and/or Threshold) may be determined mathematically or empirically. In one exemplary embodiment and based on empirical data and subjective viewing considerations, it may be suitable to employ Wi=2, WB=1, WP=2 and Threshold=23.
Moreover, one, some or all of the parameters employed by control circuitry 20 in the decoding mode determination technique (for example, one or more of Wi, WB, WP, and/or Threshold) may be fixed (for example, hardwired) or programmable (for example, one time programmable (for example, programmed during test or at manufacture) or more than one time programmable (for example, during test, start-up/power-up, during an initialization sequence and/or during operation (in situ))). Such values may be stored in memory including, for example, fuses or anti-fuses, or DRAM, SRAM, ROM, PROM, EPROM, and/or EEPROM cells, wherein data which is representative of the associated parameter may be accessible to control circuitry 20 during operation. (See, for example,
In one embodiment, where the parameters (for example, one or more of Wi, WB, WP, and/or Threshold) are programmable, such value(s) may be updated, changed, altered and/or modified by the user and thereafter stored in memory (for example, one or more registers). In this embodiment, the information may be provided to memory and/or control circuitry, for example, at start-up/power-up, during an initialization sequence, and/or in response to a reset and/or one or more user instructions or inputs. In addition thereto, or in lieu thereof, parameters used in the decoding mode determination technique (for example, one or more of Wi, WB, WP, and/or Threshold) may be determined at start-up/power-up, during an initialization sequence, and/or in response to user or operator instructions based on information which is representative of the geographic region and/or the video standard (for example, NTSC, PAL, SECAM or DVB-T) in which the device is operated.
For example, it may be advantageous to change the parameters depending on the geographic region due to differences in permissible GOP sizes and/or frame format characteristics. In one exemplary embodiment, the Threshold may be modified (for example, increased) and/or one or more (or all) of Wi, WB, WP may be modified to accommodate the differences in the formatting and coding of the video transmission. Such information may be acquired by the user, via a broadcast (for example, by the program broadcaster) and/or determined by control circuitry 20. Indeed, different sets of parameters for the decoding mode determination technique may be stored in the memory and may be selectively accessed to closely tailor the adaptive decoding to the particular situation (for example, geographic region) in which receiver circuitry 10 and/or receiving device 10a are/is being employed. In this way, the circuitry and techniques of the present inventions, in addition to facilitating or providing lower system memory requirements relative to conventional video decoders, may adapt, change and/or modify the decoding down-sampling and/or downscaling processes of the video data (and, as such the temporal and/or spatial resolution of the output video) to the particular situation in which receiver circuitry 10 and/or receiving device 10a are/is being employed.
Notably, the memory (for example, register) which stores the parameters of the decoding mode determination technique (for example, one or more of Wi, WB, WP, and/or Threshold) may be a permanent, semi-permanent or temporary (i.e., until re-programmed) storage; for example, a DRAM, SRAM, ROM, PROM, EPROM, EEPROM cells that are resident on (i.e., integrated in) the control circuitry or the video decoder circuitry, or external thereto (i.e., not integrated in). All circuitry and techniques of (i) determining the value(s) Wi, WB, WP, and/or Threshold and (ii) programming and/or storing value(s) Wi, WB, WP, and/or Threshold are intended to fall within the scope of the present invention. Indeed, the memory which stores the parameters (for example, value(s) Wi, WB, WP, and/or Threshold) may be a portion of the system memory of video decoder circuitry 12, integrated in control circuitry 20 and/or other circuitry of receiver circuitry 10.
With the aforementioned in mind, the flowchart of
With reference to
For example, where video decoder circuitry 12 is implementing Decode Mode 2 and the number of consecutive such GOP(s) (i.e., a GOP having a WGOP which do not exceed the predetermined threshold) exceeds a predetermined number, control circuitry 20 may adapt, change and/or modify the decoding, down-sampling and/or downscaling of video decoder circuitry 12 to enable Decode Mode 1 via application of control signals that properly configure selection circuitry 28a-c of video decoder circuitry 12. In this embodiment, control circuitry 20 adapts, changes and/or modifies the decoding, down-sampling and/or downscaling of video decoder circuitry 12 based on the size of the GOP and/or the frame structure of such GOP (for example, the number of predictive-coded frames (for example, P-frames) and bidirectionally-predictive-coded frames (for example, B-frames) in the GOP). In this regard, control circuitry 20 enables Decode Mode 1 via application of control signals to selection circuitry 28a-c of video decoder circuitry 12.
The discussions above in connection with the parameters employed by the decoding mode determination technique (for example, one or more of Wi, WB, WP, Threshold) are entirely applicable to the parameters of the decoding mode determination technique of this embodiment (which additionally include X consecutive GOPs and/or Y consecutive GOPs). For the sake of brevity, such discussions will not be repeated. Notably, in one exemplary embodiment and based on empirical data and subjective viewing considerations, it may be suitable to employ Wi=2, WB=1, WP=2, Threshold=23, X=3 and Y=5.
The initial or default mode of decoding, down-sampling and/or downscaling implemented by video decoder circuitry 12 may be fixed, predetermined and/or programmable. For example, control circuitry 20 may configure video decoder circuitry 12 in Decode Mode 1 upon power-up, initialization or reset. Alternatively, the user may program control circuitry 20 to configure video decoder circuitry 12 in Decode Mode 2 upon power-up or initialization, or upon the occurrence of a predetermined event. In one embodiment, upon detecting or receiving information indicative of a geographic region and/or the video standard (for example, NTSC, PAL, SECAM or DVB-T) in which the device is operated, control circuitry 20 may configure video decoder circuitry 12 in Decode Mode 2 upon power-up, initialization or reset. Indeed, the initial or default decoding, down-sampling and/or downscaling mode of operation of video decoder circuitry 12 may stored in memory and acquired during a power-up, initialization or reset operation. (See,
As noted above, control circuitry 20 may be implemented using a plurality of discrete logic, a state machine, a processor or controller (for example, a microprocessor, data processor and/or video processor which is suitably programmed) and/or a field programmable gate array (or combinations thereof). Indeed, it may be advantageous to implement video decoder circuitry using a processor or controller to provide flexibility in the event that one or more modes operations are changed, updated, enhanced, modified and/or eliminated. All permutations and/or combinations of hardwired and programmable circuitry (which is programmed, for example, via software) for implementing control circuitry (and video decoder circuitry) are intended to fall within the scope of the present inventions.
Moreover, control circuitry 20 and/or video decoder circuitry 12 may include or share circuitry with other elements of a system (or components thereof) and/or perform one or more other operations, which may be separate and distinct from the mode selection determination and video decoding operations. For example, where decoder circuitry 12 is implemented via a processor (or controller), such processor or controller may implement or perform the decoding operations as described herein as well as other operations or functions which may be related to, or separate and distinct from those of decoder circuitry 12. For example, where video decoder circuitry 12 is implemented via a processor (or controller), such processor (or controller) may also be the control circuitry, stream processor circuitry and circuitry that performs other decoding operations, such as audio decoding operations.
Notably, although exemplary embodiments and/or processes have been described above, at times, in the context of MPEG-2, the inventions described and/or illustrated herein may also be implemented in conjunction with other coded communications. As such, the discussions in the context of MPEG-2 are merely exemplary.
Further, as mentioned above, receiver circuitry 10 and/or receiving device 10a may also include output format circuitry to format and output a predetermined or fixed amount of video data of the data block, output display synchronization or timing signals (for example, horizontal synchronization signals, vertical synchronization signals) and/or timing markers or tags (for example, start of active video data and end of active video data) to, for example, a video display. For the sake of brevity, the output format circuitry will not be discussed in detail. It should be noted, however that any output format circuitry whether now known or later developed may be implemented in conjunction with any of the embodiments of the present inventions. Indeed, the present inventions may be implemented in conjunction with the circuitry and techniques described and illustrated in U.S. Provisional Patent Application No. 61/361,982 (Inventors: Guo, Yuan and Ding), filed Jul. 7, 2010 and entitled “Adaptive Video Output Management and Scheduling Circuitry and Techniques”, and/or U.S. Provisional Patent Application No. 61/377,899 (Inventors: Yuan, Guo and Ding), filed Aug. 27, 2010 and entitled “Video Decoding Circuitry and Techniques for Decoding Video Frames of Different Resolutions”. The contents of these U.S. Provisional Patent Applications are incorporated herein by reference.
There are many inventions described and illustrated herein. While certain embodiments, features, attributes and advantages of the inventions have been described and illustrated, it should be understood that many others, as well as different and/or similar embodiments, features, attributes and advantages of the present inventions, are apparent from the description and illustrations. As such, the embodiments, features, attributes and advantages of the inventions described and illustrated herein are not exhaustive and it should be understood that such other, similar, as well as different, embodiments, features, attributes and advantages of the present inventions are within the scope of the present inventions.
For example, in one embodiment, the decoding, down-sampling and/or downscaling mode of operation of video decoder circuitry 12 may be defined and fixed (until re-defined or re-programmable) based on, for example, user/operator instruction (for example, via an input instruction from the user interface) and/or geographic location of operation. For example, control circuitry 20 may configure video decoder circuitry 12 in Decode Mode 1 or Decode Mode 2 regardless of in situ considerations (for example, GOP sizes and/or frame format or structure characteristics). In this embodiment, video decoder circuitry 12 employs the selected/defined decoding, down-sampling and/or downscaling mode of operation until re-defined by, for example, the user. In this way, the circuitry and techniques of the present inventions adaptively establishes a fixed operating condition of video decoder circuitry 12 (until re-programmed or re-defined) to, for example, provide a temporal and/or spatial resolution of the output video to be more acceptable to the user/operator notwithstanding the characteristics of the transmission (for example, the size of the GOP and/or the frame format or structure of such GOP) and loss of resolution of the reconstructed video when correlating or matching the video source resolution to the resolution of the display.
As noted above, the video decoder circuitry of the present inventions includes a plurality of processing/decoding modes (for example, two or more) which adapt, change and/or modify the decoding, down-sampling and/or downscaling of the data based on the characteristics of the decoded video (for example, size of the GOP and/or the frame structure of such GOP). For example, in one embodiment, the video decoder circuitry includes three decoding modes. In this embodiment, the video decoder circuitry includes, in addition to or in lieu of Decode Mode 1 and Decode Mode 2 (as discussed above), Decode Mode 3 wherein, in response to an incoming data stream having a frame or video resolution which is less than a first predetermined threshold and/or greater than a second predetermined threshold, the video decoder circuitry is configured to implement a predetermined downscaling characteristic. For example, the control circuitry may configure the video decoder circuitry to employ Decode Mode 3 when the horizontal resolution is below a predetermined horizontal resolution (for example, 360 pixels), wherein the video decoder circuitry does not perform horizontal downscaling. In addition thereto, or in lieu thereof, the video decoder circuitry may be configured to Decode Mode 3 (or Decode Mode 4) when the horizontal resolution is greater than a predetermined horizontal resolution, wherein the video decoder circuitry performs horizontal downscaling.
Thus, in these embodiments, the receiver circuitry (for example, control circuitry thereof), in response to determining the resolution or size of the incoming (decoded) picture/video is above or below a predetermined threshold, configures the video decoder circuitry to implement a predetermined downscaling operation. Notably, such resolution may be user defined (for example, via user selection of a given resolution for the broadcast), broadcast defined (for example, by the program broadcaster), and/or geographically defined (for example, a resolution which is indicative of or corresponds to a given geographic region and/or the video standard (for example, the transmission/encoding characteristics of a given region).
In another embodiment, the video decoder circuitry may include three or more decode modes based on two or more threshold values. For example, a first threshold value may be “measured” relative to the number of predictive-coded frames (P-frames) in a GOP and a second threshold may be “measured” relative to the number of predictive-coded frames (P-frames) and bidirectionally-predictive-coded frames (B-frames) in the GOP. In this regard, the control circuitry may calculate or determine a plurality of WGOPs—for example, a first WGOP based on the number of predictive-coded frames (P-frames) in a GOP and a second WGOP based on the number of predictive-coded frames (P-frames) and bidirectionally-predictive-coded frames (B-frames) in the GOP. Thus, the video decoder circuitry responsively adapts, changes and/or modifies the decoding, down-sampling and/or downscaling operations of the video data based on the plurality of WGOPs in relation to the respective thresholds. The different decode modes adapt, change and/or modify the temporal and/or spatial resolution of the output video by configuring various circuitry of the video decoder circuitry associated with and/or responsive to the decode, down-sample and/or downscale operation(s) thereof.
Importantly, the present inventions are neither limited to any single aspect nor embodiment thereof, nor to any combinations and/or permutations of such aspects and/or embodiments. Moreover, each of the aspects of the present inventions, and/or embodiments thereof, may be employed alone or in combination with one or more of the other aspects of the present inventions and/or embodiments thereof. For the sake of brevity, many of those permutations and combinations are not discussed separately herein.
As such, the above embodiments of the present inventions are merely exemplary embodiments. They are not intended to be exhaustive or to limit the inventions to the precise circuitry, techniques, and/or configurations disclosed. Many modifications and variations are possible in light of the above teaching. It is to be understood that other embodiments may be utilized and operational changes may be made without departing from the scope of the present inventions. As such, the foregoing description of the exemplary embodiments of the inventions has been presented for the purposes of illustration and description. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the inventions not be limited solely to the description above.
As noted above, although exemplary embodiments and/or processes have been described above, at times, in the context of MPEG-2, the inventions described and/or illustrated herein may also be implemented in conjunction with other coded communications, for example, VC-1, Windows Media Video (WMV), RealVideo, as well as other video compression/decompression standards. As such, the discussions in the context of MPEG-2 are merely exemplary and the present inventions are applicable thereto.
Moreover, although exemplary embodiments and/or processes have been described above, at times, in the context of transport data streams, the inventions described and/or illustrated herein may also be implemented in conjunction with other data streams including, for example, program data streams associated with digital data (video and/or audio) playback devices (for example, CD DVD player) implementing MPEG-2 or the like formats. For the sake of brevity, the discussions above will not be repeated in connection with other data streams including, for example, program data streams; however, the inventions and embodiments thereof are fully applicable to other data streams including, for example, program data streams, which are intended to fall within the scope of the present inventions.
Notably, the various circuitry described and/or illustrated herein (or portions and/or combinations thereof) may be integrated or may be implemented using a plurality of discrete logic, whether a state machine, a special or general purpose processor (suitably programmed) and/or a field programmable gate array (or combinations thereof). All permutations and/or combinations of integrated, discrete, hardwired and programmable circuitry (which is programmed, for example, via software) for implementing the video decoder circuitry and control circuitry are intended to fall within the scope of the present inventions. For example, the baseband processor circuitry, stream processor circuitry, video decoder circuitry, control circuitry and/or output format circuitry may be integrated on a monolithic integrated circuit device.
Moreover, the circuitry of the video receiver circuitry and/or video receiving device may share circuitry with other elements of the video receiving device (or components thereof) and/or perform one or more other operations, which may be separate and distinct from that described herein. For example, the control circuitry may share circuitry with the video decoder circuitry. Indeed, such circuitry may be implemented via one or more state machines, one or more processor (suitably programmed) and/or one or more field programmable gate arrays.
It should be further noted that the various circuits and circuitry disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and HLDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.).
Indeed, when received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of circuits in a fabrication process.
Moreover, the various circuits and circuitry, as well as techniques, disclosed herein may be represented via simulations using computer aided design and/or testing tools. The simulation of the video receiving device, video receiver circuitry and/or video processing circuitry (or portions of the foregoing), and/or techniques implemented thereby, may be implemented by a computer system wherein characteristics and operations of such circuitry, and techniques implemented thereby, are imitated, replicated and/or predicted via a computer system. The present inventions are also directed to such simulations of the inventive video receiving device, video receiver circuitry (or portions the foregoing) and/or video processing circuitry, and/or techniques implemented thereby, and, as such, are intended to fall within the scope of the present inventions. The computer-readable media corresponding to such simulations and/or testing tools are also intended to fall within the scope of the present inventions.
Notably, in the claims, the term “circuit” means, among other things, a single component (for example, electrical/electronic) or a multiplicity of components (whether in integrated circuit form, discrete form or otherwise), which are active and/or passive, and which are coupled together to provide or perform a desired operation. The term “circuitry”, in the claims, means, among other things, a circuit (whether integrated or otherwise), a group of such circuits, one or more processors, one or more state machines, one or more processors implementing software, one or more gate arrays, programmable and/or field programmable gate arrays, or a combination of one or more circuits (whether integrated or otherwise), one or more state machines, one or more processors, one or more processors implementing software, one or more gate arrays, programmable and/or field programmable gate arrays. The term “data” means, among other things, a current or voltage signal(s) (plural or singular) whether in an analog or a digital form, which may be a single bit (or the like) or multiple bits (or the like). The term “MPEG data stream”, means any MPEG data stream, including, but not limited to MPEG-2. In addition, the term “decoding” and other forms (i.e., decoded and to decode) in the claims, means, among other things, decoding, down-sampling and downscaling and other forms thereof (for example, down-sampled and downscaled).
This non-provisional application claims priority to U.S. Provisional Application No. 61/312,178, entitled “Adaptive Video Decoding Circuitry and Techniques”, filed Mar. 9, 2010; the contents of the U.S. Provisional Application are incorporated by reference herein, in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US11/24695 | 2/14/2011 | WO | 00 | 6/30/2011 |
Number | Date | Country | |
---|---|---|---|
61312178 | Mar 2010 | US |