# Patent

## Title
Segmented video data processing

## Abstract

A system transmits video content from a single video source or multiple independent video sources by transmitting at least one data information segment (DIS) followed by a plurality of video data information segments (VDIS). Each DIS includes information that corresponds to a video source and to the plurality of VDIS transmitted subsequently. A receiver system receives at least one DIS followed by a plurality of VDIS, and processes the received VDIS in accordance with the information in the received DIS. The receiver system stores processed video content of the processed VDIS into a memory queue, and a separate memory queue is used for each video source. A display interface receives and processes video content of each memory queue to generate video pixels of a respective output image in accordance with preselected preferences, e.g., corresponding video source, video format, resolution, and/or starting location of the respective output image.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 13/134,814 filed Jun. 16, 2011, entitled “System for Segmented Video Data Processing”.


TECHNICAL FIELD
The subject of this application generally relates to the field of digital image processing and more particularly to the segmented processing, transmission and reception of video data information.
BACKGROUND
Regardless of a video data information transmission format, the transmission rate is subject to the bandwidth limitation of the transmission system being used. A video data information transmission system comprises a transmitter, a transmission link, and a receiver. Usually the maximum data information transmission rate is limited to the maximum transmission or processing rate of any one of the three components of the transmission system. In addition, various digital video standards have their own limitations in terms of maximum resolution of video data information that can be accommodated during transmission. For example, a transmission system used to transmit video data information using a video standard format with a maximum resolution of 1024×768 pixels may not be used to transmit high definition video data information of an image with a resolution of 1920×1080 pixels.
A video source that generates video data information for a high resolution image will not be able to transmit the full image's resolution using a transmission system having a maximum transmission rate that is not capable of handling the video data information of the high resolution image. Thus, one possible solution is to reduce the resolution (or size) of the image at the source to match the transmission system's maximum resolution so that the video data information can be properly transmitted, but would lead to a loss of details of the image. Another possible solution may include cropping of the image. However, this would lead to a loss of at least some portion of the image. Yet another possible solution is to scale down the image resolution to the desired transmission system resolution. This would also cause a certain level of some of the image's details or quality.
Consequently, a challenge exists to transmit video data information of a high resolution images using a transmission system having a lower resolution requirement as compared with the image's resolution. Similarly, various challenges exist when transmitting video data information of images from multiple video sources, where the total bandwidth required for transmitting the full images' exceeds the bandwidth of the transmission system. Therefore, there exists a need for a system capable of providing the means to efficiently and correctly transmit video data information of one or more high resolution images using a lower resolution video data information transmission system.
An example of an image having a High-Definition television (HD TV) resolution comprises 1,920 pixels wide and 1,080 pixels high, as compared with a Standard-Definition television (SD TV) resolution that comprises 720 pixels wide and 480 pixels high. Another example of next generation digital TVs utilizing Quad-HD resolution that is able to display four times the high definition resolution of HD TV sets, i.e. Quad-HD monitor is capable of displaying 3,840 pixels wide and 2,160 pixels high. A challenge exists when a Quad-HD video source is to transmit its video data information using a transmission system that is only capable of transmitting of HD TV resolution or lower. Currently, the video data information of the Quad-HD video image must be resized or scaled down so that it can be transmitted using the HD TV transmission system. Similarly, the video data information of an HD TV image would not be able to be transmitted directly using its full resolution of 1,920 pixels wide and 1,080 pixels high using a transmission system capable of handling only a maximum resolution of 1,024 pixels wide and 768 pixels high. Thus, cropping or other methods of scaling down the resolution of the image is necessary so that the resultant video data information can be transmitted using the lower resolution transmission system.
Marseille Networks' 4×HDTM video technology delivers the ability to process digital images to be displayed in 3840×2160 resolution and beyond, while selectively removing artifacts and preserving stunning image details. Furthermore, Marseille Networks is the first to introduce Quad-HD solution to home theater systems. Marseille Networks' 4×HDTM video technology provide an efficient system with ample flexibility and processing power for blending, scaling and displaying video data information using various format and/or standards.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an example of a segmented image with a resolution of 24 pixels wide and 14 pixels high, in accordance with one embodiment.
FIG. 2 shows an example of a queue buffer partitioning to store the received segmented video data information, in accordance with one embodiment.
FIG. 3 shows an example of a transmission system using single or multiple video sources, in accordance with one embodiment.
FIG. 4 shows an example of a processed output image to be displayed, in accordance with one embodiment.



DETAILED DESCRIPTION
In accordance with one embodiment, a video processing system comprising a receiver system coupled to a first number of memory queues, the receiver system receives a first data information segment followed by a first plurality of video data information segments from a first video source using a transmission link, the receiver system detects at least one of a data pattern, a value corresponding to a starting pixel, a value corresponding to the total number of pixels, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, and a value corresponding to the plurality of video data information segments from the first data information segment, the receiver system extracts video data information from at least one video data information segment of the first plurality of video data information segments in accordance with at least one of the detected values of the first data information segment and the receiver system stores the extracted video data information into a first memory queue of the first number of memory queues. The video processing system further comprising a display interface coupled to the first number of memory queues and configured to generate video data information for one output image using video data information stored in one or more memory queue of the first number of memory queues.
In accordance with one embodiment, the receiver system receives from a second video source a second data information segment followed by a second plurality of video data information segments using the transmission link. The receiver system detects the content of the second data information segment, and the receiver system extracts video data information from at least one video data information segment of the second plurality of video data information segments in accordance with the content of the second data information segment. The receiver system stores the extracted video data information into a second memory queue of the first number of memory queues.
In accordance with one embodiment, the display interface is configured to generate video data information for one output image using video data information stored in the first memory queue and the second memory queue.
In accordance with one embodiment, the display interface is configured to generate video data information for a first region of an output image using video data information stored in the first memory queue, and to generate video data information for a second region of the output image using video data information stored in the second memory queue
In accordance with one embodiment, a method for video data information processing is described. The method comprising receiving a first data information segment followed by a first plurality of video data information segments using a transmission link; using the received first data information segment to detect at least one of a data pattern, a value corresponding to a starting pixel, a value corresponding to the total number of pixels, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, and a value corresponding to the first plurality of video data information segments; and programming a receiver system to receive and process the first plurality of video data information segments using at least one of the detected values of the received first data information segment, wherein the receiver system is coupled to the transmission link.
In accordance with one embodiment, the receiver system comprises a first number of memory queues, and the method further comprising extracting video data information from at least one of the first plurality of video data information segments; and storing the extracted video data information into one of the first number of memory queues.
In accordance with one embodiment, each memory queue of the first number of memory queues is a programmable size memory queue, and the method further comprising programming each memory queue of the first number of memory queues to enable storing of video data information extracted from one or more video data information segments of the first plurality of video data information segments.
In accordance with one embodiment, the received first data information segment comprises data information corresponding to a first video source, and the method further comprising receiving a second data information segment followed by a second plurality of video data information segments using the transmission link, wherein the received second data information segment comprises data information corresponding to a second video source.
In accordance with one embodiment, the receiver system comprises a first number of memory queues, and the method further comprising extracting video data information from at least one of the first plurality of video data information segments and storing the extracted video data information into a first memory queue of the first number of memory queues; and extracting video data information from at least one of the second plurality of video data information segments and storing the extracted video data information into a second memory queue of the first number of memory queues.
In accordance with one embodiment, the method further comprising generating video data information for one output image using video data information stored in at least one of the first memory queue and the second memory queue, wherein the output image is generated in accordance with a predefined resolution and format.
In accordance with one embodiment, the receiver system comprises control logic to create memory queue buffers partitions that are allocated in accordance with at least one of the detected values of the first data information segment.
In accordance with one embodiment, the transmission link comprises any one of a wireless link and a wired link.
In accordance with one embodiment, a method for video data information processing, the method comprising partitioning an input image into a first number of parts, wherein each part of the first number of parts of the input image comprises a total number of pixels that is (i) less than a maximum number of pixels and (ii) greater than a minimum number of pixels; generating video data information segment for each part of the first number of parts of the input image; generating data information segment that comprises at least one of a data pattern, a value corresponding to a starting pixel, a value corresponding to the total number of pixels, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, and a value corresponding to the number of video data information segments to be transmitted after the data information segment is transmitted; and transmitting the data information segment followed by a plurality of video data information segments using a transmission link.
In accordance with one embodiment, The method further comprising generating a first number pixels for each part of the first number of parts of the input image that comprises a total number of pixels that is less than the minimum number of pixels such, wherein the sum of the total number of pixels and the first number pixels is at least equal to the minimum number of pixels, wherein the location of each pixel of the input image is determined using a row number and column number, and wherein a first part of the first number of parts of the input image comprises a first total number of pixels and a second part of the first number of parts of the input image comprises a second total number of pixels that is different than the first total number of pixels.
In accordance with one embodiment, the partitioning of an input image into a first number of parts comprises partitioning the input image into a first number of variable size parts, wherein each part of first number of variable size parts of the input image comprises a predefined number of pixels.
In accordance with one embodiment, a high resolution image is partitioned into multiple parts, each of which has a resolution that is at or less than the maximum resolution requirement of the intended transmission system to be used. The video data information of one part of the high resolution image is transmitted as one video data information segment using the transmission system. The video data information segments corresponding to the remaining parts of the image are transmitted until all of the video data information of the high resolution image has been transmitted. The receiver receives the video data information segments which are then temporarily stored in queue buffers and appropriately processed and recombined to reproduce the original high resolution image. The resultant video data information is moved to another storage location where further processing may be applied before outputting the video data information of the high resolution image to be displayed using an electronic display or a high resolution monitor.
The present description makes available in the following paragraphs a method and an apparatus to transmit video data information for a high resolution image using an already available lower resolution transmission system. The present disclosure and the various features and advantageous details are explained more fully with reference to the nonlimiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known processing techniques, components, and equipment are omitted so as not to unnecessarily obscure the invention in detail. It should be understood, however, that the detailed description and the specific examples, while indicating embodiments of the invention, are given by way of illustration only and not by way of limitation. Various substitutions, modifications, additions, and/or rearrangements within the spirit and/or scope of the underlying inventive concepts will become apparent to those of ordinary skill in the art from this disclosure. Other features and associated advantages will become apparent with reference to the following detailed description of specific embodiments in connection with the accompanying drawings.
The term “coupled” is defined as connected, although not necessarily directly, and not necessarily mechanically. The terms “a” and “an” are defined as one or more unless this disclosure explicitly requires otherwise. The terms “comprise” (and any form of comprise, such as “comprises” and “comprising”), “have” (and any form of have, such as “has” and “having”), “include” (and any form of include, such as “includes” and “including”) and “contain” (and any form of contain, such as “contains” and “containing”) are open-ended linking verbs. As a result, a method or device that “comprises,” “has,” “includes” or “contains” one or more steps or elements possesses those one or more steps or elements, but is not limited to possessing only those one or more elements. Likewise, a step of a method or an element of a device that “comprises,” “has,” “includes” or “contains” one or more features possesses those one or more features, but is not limited to possessing only those one or more features.
Furthermore, a device or structure that is configured in a certain way is configured in at least that way, but may also be configured in ways that are not listed. In particular, “video” (and any form of associated words with video, such as “digital video”, “video field”, “video frame”, “digital video field”, “digital video frame”, “analog video”, “image”, “video image”, “frame”, “video frame”, “digital frame”) may take on various resolution and format of different video standard and may take the form of electrical, magnetic, electromagnetic, or optical signals capable of being stored transmitted, transferred, combined and otherwise manipulated through software, hardware, firmware or any combination thereof. Furthermore, the word “image” may be used interchangeably to mean “a complete image”, “a complete set of video data information that correspond to an image”, “a complete set of video data information that correspond to a portion of an image”, “a portion of an image”, “a specific region of an image”, “one or multiple video data information segments that correspond to an image”, “one or multiple video data information segments that correspond to a portion of an image”, or “a video image”. Various operations may be described as a series of multiple steps so that it may be helpful to understand the present invention. However, it should not be concluded that these operations are necessarily processed in the order described. In fact, various operations may be performed or executed concurrently while achieving the same outcome. Thus, it should not be construed or implied that various operations are order dependent unless specifically stated otherwise.
An exemplary Segmented Video Image 100, as shown in FIG. 1, comprising three hundred thirty six pixels that are arranged in twenty four pixels wide and fourteen pixels high matrix. In accordance with one embodiment, the Segmented Video Image 100 is partitioned into variable size parts, and each part comprising a predefined number of pixels. Each part is determined by a starting pixel and a specific total number of pixels. For example, the video data information of the first part is graphically shown in FIG. 1 as First Segment 110 having a total number of pixels that is fifty five and a Starting Pixel—0 111. Similarly the video data information of the second part is graphically shown as Second Segment 120 having a total number of pixels that is seventy six and a Starting Pixel—55 121. The video data information of the other parts are identified in FIG. 1 as Third Segment 130 having a total number of pixels that is seventy seven and a Starting Pixel—131 131, Fourth Segment 140 having a total number of pixels that is seventy six and a Starting Pixel—208 141, and Fifth Segment 150 having a total number of pixels that is fifty two and a Starting Pixel—284 151. Another way to determine each part of the Segmented Video Image 100 is to specify a starting pixel and ending pixel. For example, the First Segment 110 is specified using the Starting Pixel—0 111 and an Ending Pixel—54 112. Furthermore, the Column Number 160 and Row Number 170 may be used to determine the location of every pixel within the Segmented Video Image 100. For example, the Starting Pixel—0 111 may also be determined using column and row numbers P00×L00, and the Ending Pixel—54 112 may be specified using column and row numbers P06×L02.
A video data information segment is generated for each part of the Segmented Video Image 100, as shown in FIG. 1, wherein the video data information segment size corresponds to the resolution of each part. In accordance with one embodiment, the Segmented Video Image 100 is partitioned into multiple parts, each of which comprises a predefined number of pixels. It may be necessary for a given video data information transmission system to have all data information segments, which are to be transmitted, to meet a certain size minimum and maximum size requirement before they are ready for transmission. If a part of the video image does not meet the minimum number of pixels requirement, then one possible solution is to generate additional pixels that are used to pad the video data information segment to the desired minimum size before being transmitted. These additional pixels are then removed when the video data information segment is received and processed. It is important that the total number of pixels (or the resolution) of each part of the Segmented Video Image 100 is less than or equal to the maximum resolution that the intended transmission system is capable of handling. If a part of the video image does not meet the maximum number of pixels requirement, then one possible solution, in accordance with one embodiment, is to generate multiple video data information segments for each part of the Segmented Video Image 100.
A practical example of transmitting a Quad-HD resolution (3840×2160) image using a video transmission system capable of transmitting images having a maximum resolution of 1024×768 would require the full Quad-HD resolution image to be partitioned into at least eleven parts. Each of the first ten parts comprises 786,432 pixels and the eleventh part comprises 430,080 pixels. The video data information segment size would depend on the number of bits used to represent each pixel. Taking 8-bit RGB format means that a three Bytes of data is used to represent each pixel. Hence, the size of each of the first ten video data information segments comprises 2,359,296 Bytes, while the size of the eleventh video data information segment comprises 1,290,240 Bytes.
In accordance with one embodiment, a first sync data information segment is generated and transmitted immediately prior to at least one of the video data information segments. The sync data information segment comprises data information that corresponds to at least one of a data pattern, a starting pixel number, total number of pixels, starting pixel location, ending pixel location, image or frame identification number, segment identification number, and the number of video data information segments that will be transmitted immediately after the sync data information segment is transmitted. Once, the transmission system transmits the first sync data information segment followed by one or group of video data information segments, as specified by the first sync data information segment, a second sync data information segment is generated and transmitted followed by the appropriate number of video data information segment. The process continues until all of the video data information segments of the Segmented Video Image 100 have been transmitted. The process will repeat for the next image.
An exemplary single sync data information segment is generated comprising data information that corresponds to the total number of video data information segments to be transmitted for the Segmented Video Image 100, as shown in FIG. 1. In this example, five video data information segments are to be transmitted consecutively right after transmitting the sync data information segment. In addition, the sync data information segments comprises data information that corresponds to the total number of pixels and a starting pixel location for each of the video data information segments, as described above. The sync data information segment is transmitted first followed by the five video data information segments.
Various types of transmission medium may be used to link the receiver to the transmitter, e.g. wireless, or wired. Various well known techniques for data transmission and error recovery may be used based on the types of transmission link being used and the overall system requirement. A fully operational transmission system would operate properly when one skilled in the art implements basic well known techniques for a transmission system and thus will not be further discussed here. The transmission system's receiver receives the data information segments, normally, in the same sequential order as the transmitted data information segments.
A sync detection procedure looks for a first sync data information segment, within the sequence of data information segments received, in order to obtain the necessary data information, e.g. number and size of data information segments, to be used for receiving and processing the video data information segments that are to be received immediately following the sync data information segment, as described above. If the first received data information segment is not determined to be a sync data information segment, then it is discarded and the second received data information segment is checked, and so on until the first sync data information segment is determined and accordingly processed. The data information obtained from the sync data information segment is used to program the appropriate functions of the receiver system in order to correctly receive and process the appropriate number of video data information segments.
The Queue Buffer 200, as shown in FIG. 2, is usually part of a memory subsystem that can be partitioned to a certain number of queues, wherein each of the queues can have a programmable size to store the designated processed video data information of the corresponding one or multiple video data information segments that are to be received. In this example and based on the data information obtained from the first sync data information segment, five queues are allocated, one for each of the five segments of Segmented Video Image 100. Subsequent to the first sync data information segment, each video data information segment received is processed and its video data information content is prepared to be transferred to the corresponding part of Queue Buffer 200 that is allocated for the corresponding video data information segment. Each allocated portion of Queue Buffer 200 e.g. First Segment Queue 210, as shown in FIG. 2, is activated when the video data information content is ready to transferred and stored. Upon completing the transfer and storage of the processed video data information the queue buffer is deactivated.
In this example, the First Segment Queue 210, as shown in FIG. 2, is activated and enabled to receive and store the video data information of the first fifty five pixels (established by the First Segment 110) when the first video data information segment is correctly received, processed and determined to comprise the video data information of the First Segment 110. Upon storing the processed video data information of the First Segment 110, the First Segment Queue 210 is activated and is disabled from any further write operation. Similarly, the following four data information segments are sequentially received and processed to produce the corresponding video data information of the Second Segment 120, Third Segment 130, Fourth Segment 140, and Fifth Segment 150, shown in FIG. 1. When the video data information content is ready to be transferred and stored, one of the corresponding Second Segment Queue 220, Third Segment Queue 230, Fourth Segment Queue 240, and Fifth Segment Queue 250 is activated and enabled accordingly. Consequently, only one of the queue buffers is active at a time while all others are disabled. The Nth Segment Queue 299 represents the available memory capacity of the Queue Buffer 200 system.
In accordance with one embodiment, one queue buffer is activated to store the video data information content of all of the video data information segments to be received after the first detected sync data information segment and prior to the subsequently received sync data information segment. Hence, The First Segment Queue 210 is sized accordingly to receive and store the video data information for all five parts for the exemplary Segmented Video Image 100, and is activated for the duration necessary to receive, process, transfer and store the video data information. Once this process is completed, the First Segment Queue 210 is deactivated and disabled to prevent any additional write operation. Once the second sync data information segment is detected, received and processed, the Second Segment Queue 220 would then be sized in accordance with the data information obtained from the second sync data information segment, and so on. The processed video data information is stored sequentially in an identical order as the received video data information segments order, which is normally the same as the partitioning and transmission order. Under certain conditions, e.g. error recovery procedure wherein a retransmission of a certain segment or multiple segment are to be retransmitted, then certain number of video data information segments may be received out of sequential order of the original partitioning of the image. In accordance with one embodiment, the processed video data information of each video data information segment is appropriately identified with the corresponding segment identification number that is assigned to the video data information segment at the time the video data information segment was generated. Thus, the corresponding queue buffer is correctly activated to receive and store the processed video data information.
An exemplary system for Segmented Video Data Processing 300 is shown in FIG. 3. In accordance with one embodiment, the system comprises a Video Source 310, a bandwidth limited Transmission Link 320, a segmented data processing module SDP 390, a host processing system CPU & Memory 380, and an electronic display system Display 370. The Video Source 310 comprises a transmitter system that is coupled to the bandwidth limited Transmission Link 320, wherein the transmitter system performs all the necessary operations required to transmit multiple video images using the Transmission Link 320. The transmitting operations comprise the following steps (i) partitioning a current image into a first number of parts based at least in part on one of a first resolution value of the current image and a first bandwidth value of the bandwidth limited Transmission Link 320, (ii) generating a video data information segment for each one of the first number of parts of the current image, (iii) generating a current sync data information segment comprising an identification value that identifies the current image, a first value that corresponds to the first number of parts of the current image, and a second value that corresponds to a second number of video data information segments to be transmitted immediately after the current sync data information segment, (iv) sequentially transmitting the current sync data information segment followed by at least one of the video data information segments, in accordance with the second value, using the bandwidth limited transmission link, and (v) repeating step (iv) until each one of the video data information segments of the current image is transmitted.
In accordance with one embodiment, the segmented data processing module SDP 390 comprises a receiver system Receiver 330 that is coupled to a programmable Queue Buffer 340, which comprises a programmable number of queue buffers Q0 341, Q1 342, and Qn 349. The Queue Buffer 340 is designed to allocate a programmable buffer size capacity to each of the queue buffers Q0 341, and Q1 342. Additional number of queue buffers can also be created via a programmable command so that the Queue Buffer 340 is flexible to generate any number of queue buffers needed with a programmable buffer size for each queue buffer to accommodate the video data information to be store therein. The Queue Buffer 340 is coupled to Memory Bus 354, which in turn is coupled to Memory System 350. A Display Interface 360 is coupled to the Memory Bus 354 and to an electronic display system Display 370. The Memory System 350 provides a temporary memory space to transfer video data information for a complete image, or a frame, from the corresponding dedicated queue buffer within the Queue Buffer 340, in accordance with commands from the Display Interface 360. The Memory System 350 is capable of storing video data information for multiple images based on the Display Interface 360 needs to process, blend or aggregate multiple images that were already received and stored in the Queue Buffer 340. The Display Interface 360 drives the Display 370 in accordance with a predefined resolution and location for the received video data information of the received images. The host system CPU & Memory 380 provides an additional computing and storage memory for user defined processing, editing, special effect and aggregation of one or multiple received images. The following paragraphs describe the steps necessary to receive the transmitted data information segments.
The receiver system Receiver 330 is coupled to the bandwidth limited Transmission Link 320. In accordance with one embodiment, the Receiver 330 performs all the necessary operations required to receive multiple video images that were transmitted using the Transmission Link 320, wherein all video data information segments that are received between two sync data information segments are processed to produce video data information that is stored in one queue buffer. The receiving operations comprise the following steps (i) sequentially receiving data information segments using the bandwidth limited Transmission Link 320, (ii) determining a first sync data information segment, within the sequentially received data information segments, and processing the first sync data information segment to extract a current identification value, a current first value, and a current second value, (iii) assigning a first queue buffer Q0 341 using the extracted current identification value, and activating the first queue buffer Q0 341 based on the extracted current first value, (iv) extracting video data information using a first data information segment received following the first sync data information segment, (v) storing the extracted video data information using the activated first queue buffer Q0 341, and (vi) repeating the steps of (iv) and (v) based on the extracted current second value, or until the next sync data information segment is received and determined to be a valid data information segment. Furthermore, a video data information transfer request is generated whenever step (vi) completes successfully, otherwise an error flag is generated that initiates an error data information segment to be generated and transmitted to the Video Source 310 using the Transmission Link 320 or using a side channel, so that a retransmission operation is initiated for the erroneously received video data information segment. Next paragraph will describe the processing of the next sync data information segment and the sequentially received video data information segments. If the next sets of video data information segments are a continuation of the current image then the same queue buffer Q0 341 is used to store the extracted video data information, otherwise a new queue buffer is assigned.
In accordance with one embodiment, the receiver system Receiver 330 is capable of receiving data information segments continuously, and the receiving operations further comprise the following steps (1) monitoring the sequentially received data information segments, (2) determining a second sync data information segment, within the sequentially received data information segments, and processing the second sync data information segment to extract a next identification value, a next first value, and a next second value, (3) comparing the next identification value with the current identification value (see description above), if the comparison indicates the next identification value is identical to the current identification value, assigning the first queue buffer Q0 341 using the current identification value, and activating the first queue buffer based on the extracted current first value, and if the comparison indicates the next identification value is different than the current identification value, assigning a second queue buffer Q1 342 using the next identification value, and activating the second queue buffer based on the extracted next first value, (4) extracting video data information using a first data information segment received following the second sync data information segment, (5) storing the extracted video data information, in accordance with the comparison result of step (3), using either one of the first and second queue buffers, Q0 341 and Q1 342, and (6) repeating the steps of (4) and (5) based on the extracted next second value. Furthermore, a video data information transfer request is generated whenever step (6) completes successfully, otherwise an error flag is generated that initiates an error data information segment to be generated and transmitted to the Video Source 310 using the Transmission Link 320 or using a side channel, so that a retransmission operation is initiated for the erroneously received video data information segment.
The segmented data processing SDP 390 comprises control logic and other modules to provide for power and performance management, these modules are not shown in FIG. 3 for clarity of the drawing. For example, controlling or responding to a video transfer request or an error flag require SDP 390 to comprise such logic function. Other type of control logic functions provide for having only one queue buffer that is active at a time to receive and store video data information from Receiver 330. Additionally, the appropriate read access of the Queue Buffer 340 by Memory System 350 through the Memory Bus 354 is maintained independently from the activation or deactivation of the Queue Buffer 340 by Receiver 330, while insuring that only valid video data information is read by Memory System 350, in response to the video data information transfer request. Other control logic functionality provides Queue Buffer 340 the ability to be programmed to create queue buffers partitions that are allocated in accordance with the content of the received sync data information segments. These types of control logic functions can be implemented by one skilled in the art using many various implementations. Hence, their implementations will not be further discussed here.
In accordance with one embodiment, the exemplary system for Segmented Video Data Processing 300 system previously described above and shown in FIG. 3 further comprises additional video source module VS 399 that is coupled to the bandwidth limited Transmission Link 320. The video source module VS 399 comprises Video Source 311 and Video Source 319 sub-systems that are similar to Video Source 310 described above, and each comprise its own transmitter system to transmit via the Transmission Link 320 its own video images. For example, Video Source 310 may be used for a live video feed, Video Source 311 may be used for relevant text and data information, and Video Source 319 may be used for background, graphics or static images. The number of additional video source modules is user defined and based on the desired performance for the Segmented Video Data Processing 300 system, and the output resolution capability of the electronic display system Display 370.
In accordance with one embodiment, the stored video data information in the first and second queue buffers Q0 341 and Q1 342 is transferred out of either one of the first and second queue buffer in response to the generated video data information transfer request due to a memory system request, or upon successful completion of storing a complete image or frame in either queue buffers Q0 341 and Q1 342. In accordance with one embodiment, one of the first and second queue buffers Q0 341 and Q1 342 is used to store video data information corresponding to and transmitted by a live video source, e.g. Video Source 310, while the other queue buffer is used to store video data information from at least one of graphics, text, and static video images corresponding to and transmitted by a second video source, e.g. Video Source 311. In accordance with one embodiment, one of the first and second queue buffers Q0 341 and Q1 342 is used to store video data information corresponding to a right channel video source of a 3D image, and the other queue buffer is used to store video data information corresponding to a left channel video source of the 3D image. The transferred video data information out of either or both of queue buffers Q0 341 and Q1 342 is then stored using Memory System 350 or the host processing system CPU & Memory 380 for further processing, editing, or manipulation. Once, the video data information of at least one complete image is stored in Memory System 350, then Display Interface 360 perform user or system defined processing of the video data information stored in the Memory System 350 to produce at least one output image in accordance with a predefined resolution and format. The Display Interface 360 then streams the processed video data information to be displayed using an electronic display system Display 370.
Furthermore, in accordance with one embodiment, multiple or a series of images may be stored in Memory System 350 such that Display Interface 360 perform user or system defined processing of the video data information of at least two images, stored in the Memory System 350, to produce at least one output image in accordance with a predefined resolution and format. Both of the stored images may be processed and combined to be displayed using a specific location for each within the output image. In accordance with one embodiment, the video data information of the stored images are aggregated to produce an output image with a resolution that is the sum of the resolution of both stored images. The Display Interface 360 then streams the processed video data information of the output image to be displayed using an electronic display system Display 370. In accordance with one embodiment, processing the video data information stored in the Memory System 350 comprises the processing of video data information of multiple images to produce video data information for a single output image using a predefined region, within the single output image, for each one of the multiple images. One skilled in the art would appreciate the many different possibilities to combine, blend, aggregate, and process two or more images as per Segmented Video Data Processing 300 specification, predefined, programmable, or user defined preferences.
In accordance with one embodiment, the receiver system Receiver 330 is capable of receiving data information segments continuously, and the receiving operations comprise the following steps (a) sequentially receiving data information segments using the bandwidth limited Transmission Link 320, (b) determining a current sync data information segment, within the sequentially received data information segments, and processing the current sync data information segment to extract a current identification value, a current first value, and a current second value, wherein (1) the current second value corresponds to a number of video data information segments to be transmitted immediately after the current sync data information segment, (2) the current first value corresponds to total number of parts that a current image is partitioned into, and (3) the current identification value associates the video data information segments with the current image being received, (c) comparing the current identification value with a previous identification value extracted from preceding sync data information segment, if the comparison indicates the current identification value is identical to the previous identification value, assigning a first queue buffer Q0 341 using the previous identification value, and activating the first queue buffer Q0 341 based on the previous first value, and if the comparison indicates the current identification value is different than the previous identification value, assigning a second queue buffer Q1 342 using the current identification value, and activating the second queue buffer Q1 342 based on the current first value, (d) extracting video data information using a data information segment received following the current sync data information segment, (e) storing the extracted video data information using one of the first and second queue buffer Q0 341 and Q1 342 that is activated in accordance with the comparison result of step (c), (f) repeating the steps of (d) through (e) based on at least one of the current second value and receiving a next sync data information segment, wherein (1) an error flag is asserted if a total number of data information segments, received between the current sync data information segment and the next sync data information segment, is different than the current second value, and (2) a frame flag is asserted upon storing entire video data information of the current image, (g) generating a first error data information segment based on the asserted error flag, (h) transmitting the first error data information segment using the bandwidth limited Transmission Link 320, (i) generating a current image video data information transfer request based on the asserted frame flag, (j) transferring and storing the video data information of the current image to a Memory System 350, wherein the Memory System 350 has a storage capacity that is at least four times the capacity needed to store the video data information of the current image, (k) processing the current image video data information, stored in the Memory System 350, to produce video data information of a first output image, and (l) streaming the processed video data information, of the first output image, to be displayed using an electronic display system Display 370, wherein processing the current image video data information stored in the Memory System 350 comprises the processing of video data information of the current image and the video data information of at least one additional image, to produce video data information for a second output image.
An exemplary Processed Output Image 400 having a resolution of three hundred thirty six pixels arranged in a twenty four pixel wide by fourteen pixels high (24×14) matrix is shown in FIG. 4. In accordance with one embodiment, the Processed Output Image 400 comprises four regions each having a predefined location and resolution within the Processed Output Image 400. These four regions are specified as First Region 430, Second Region 440, Third Region 450, and Fourth Region 460. The first region First Region 430 is defined within a quadrangle image having a resolution of ten pixels wide and ten pixels high (10×10), and having its four corner pixels located using Column Number 410 and Row Number 420 as P00×L00, P09×L00, P00×L09, and P09×L09. The Second Region 440 is defined within a quadrangle image having a resolution of ten pixels wide and ten pixels high (10×10), and having its four corner pixels located at P10×L00, P19×L00, P10×L09, and P19×L09. The Third Region 450 is defined within a quadrangle image having a resolution of four pixels wide and ten pixels high (4×10), and having its four corner pixels located at P20×L00, P23×L00, P20×L09, and P23×L09. Similarly, the Fourth Region 460 is defined within a quadrangle image having a resolution of twenty four pixels wide and four pixels high (24×4), and having its four corner pixels located at P00×L00, P23×L00, P00×L13, and P23×L13. The Display Interface 360 processes the video data information stored in the Memory System 350 corresponding to four images to produce video data information for a single output image Processed Output Image 400 to be displayed by Display 470. Each of the four images is processed and its video data information is used for one of the four regions First Region 430, Second Region 440, Third Region 450, and Fourth Region 460 within the Processed Output Image 400.
In accordance with one embodiment, all four images are aggregated together to produce the Processed Output Image 400. In this example, each of the four images corresponds to a portion or a segment of an original image having a resolution that matches the Processed Output Image 400 resolution. Each of the four images have been transmitted using either a single video data information segment, or multiple video data information segments. One skilled in the art would appreciate the many different possibilities to combine, blend, aggregate, and process the received images as per Segmented Video Data Processing 300 specification, predefined, programmable, or user defined preferences.
The exemplary embodiments as described in this disclosure are used to develop an efficient and cost effective method to process video fields and produce video frames that meet various specifications. The exemplary embodiments can also be practiced with certain modifications and alterations that those skilled in the art will recognize.

## Claims

1. A method for video data information processing, the method comprising:
partitioning an input image into a plurality of parts, wherein each respective part of the plurality of parts of the input image comprises a respective number of pixels;
generating a video data information segment for each part of the plurality of parts of the input image;
generating a data information segment that comprises at least one of a data pattern, a value corresponding to a starting pixel, a value corresponding to the number of pixels of a particular part of the plurality of parts of the input image, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, and a value corresponding to a number of video data information segments to be transmitted subsequent to transmitting the data information segment; and
transmitting the data information segment followed by a plurality of video data information segments using a transmission link;
wherein a first part of the plurality of parts of the input image comprises a first total number of pixels and a second part of the plurality of parts of the input image comprises a second total number of pixels, the second total number being different from the first total number.

2. The method of claim 1, further comprising:
determining at least one of a first number of pixels and a second number of pixels in accordance with a transmission rate of the transmission link, wherein the first number of pixels corresponds to a maximum number of pixels that one video data information segment to be transmitted via the transmission link can include, and the second number of pixels corresponds to a minimum number of pixels that one video data information segment to be transmitted via the transmission link has to have; and
generating an additional number of pixels for a first part of the plurality of parts having less than the second number of pixels such that a new total number of pixels of the first part is greater than or equal to the second number.

3. The method of claim 1, further comprising determining a location of a respective pixel of the input image using a row number and column number, wherein the row number correspond to a line of pixels within the input image, and the column number correspond to a pixel located within the line of pixels of the input image.

4. The method of claim 1, wherein each part of the plurality of parts of the input image comprises a predefined number of pixels.

5. A method for video data information processing, the method comprising:
receiving a first data information segment followed by a first plurality of video data information segments using a transmission link, wherein each video data information segment of the first plurality of video data information segments corresponds to a respective portion of an input image;
determining one or more values using the received first data information segment, wherein the one or more values include one or more of: a value corresponding to a starting pixel, a value corresponding to a respective number of pixels of a respective portion of the input image, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification, a data pattern, and a value corresponding to the first plurality of video data information segments; and
programming a receiver system to process the first plurality of video data information segments in accordance with at least one value of the one or more values, wherein the receiver system is coupled to the transmission link;
wherein the first plurality of video data information segments include a first video data information segment corresponding to a first portion of the input image and a second video data information segment corresponding to a second portion of the input image, wherein the first portion of the input image comprises a first total number of pixels and the second portion of the input image comprises a second total number of pixels, the second total number being different from the first total number.

6. The method of claim 5, wherein the receiver system comprises a first number of memory queues, the method further comprising:
extracting video data information from at least one of the first plurality of video data information segments in accordance with at least one value of the one or more values; and
storing the extracted video data information using one memory queue of the first number of memory queues.

7. The method of claim 6, wherein a first memory queue of the first number of memory queues is a memory queue having a programmable buffer size, the method further comprising:
allocating a buffer size for the first memory queue in response to a programmable command, wherein the buffer size is allocated to accommodate storing of video data information extracted from one or more video data information segments of the first plurality of video data information segments.

8. The method of claim 5, wherein the first data information segment comprises data information corresponding to a first video source, the method further comprising:
receiving a second data information segment followed by a second plurality of video data information segments using the transmission link, wherein the received second data information segment comprises data information corresponding to a second video source.

9. The method of claim 8, wherein the receiver system comprises a first number of memory queues, the method further comprising:
extracting video data information from at least one of the first plurality of video data information segments and storing the extracted video data information into a first memory queue of the first number of memory queues; and
extracting video data information from at least one of the second plurality of video data information segments and storing the extracted video data information into a second memory queue of the first number of memory queues.

10. The method of claim 9, wherein the receiver system comprises a temporary memory space, the method further comprising:
transferring video data information from a memory queue of the first number of memory queues to the temporary memory space in accordance with a command that is received by the memory queue of the first number of memory queues.

11. The method of claim 9, further comprising:
generating video data information for one output image using video data information stored in at least one of the first memory queue and the second memory queue, wherein the output image is generated in accordance with a predefined resolution.

12. The method of claim 5, wherein the determining of a first value using the received first data information segment includes detecting at least one of a value corresponding to a starting pixel, a value corresponding to a respective number of pixels of a respective part of the plurality of parts of the input image, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, a data pattern, and a value corresponding to the first plurality of video data information segments.

13. A video processing system comprising:
a first number of memory queues; and
a receiver system coupled to the first number of memory queues, wherein the receiver system receives a first data information segment followed by a first plurality of video data information segments from a first video source, the receiver system detects certain information in the first data information segment, the receiver system extracts video data information from at least one video data information segment of the first plurality of video data information segments in accordance with the certain information in the first data information segment, and the receiver system stores the extracted video data information into a first memory queue of the first number of memory queues, wherein the certain information in the first data information segment includes at least one of a value corresponding to a starting pixel, a value corresponding to a respective number of pixels of a respective part of the plurality of parts of the input image, a value corresponding to a starting pixel location, a value corresponding to an ending pixel location, a value corresponding to an image identification number, a value corresponding to a frame identification value, a data pattern, and a value corresponding to the plurality of video data information segments.

14. The video processing system of claim 13, further comprising:
a display interface that is coupled to the first number of memory queues, and is configured to generate video data information of an output image using video data information stored in one or more memory queues of the first number of memory queues.

15. The video processing system of claim 13, wherein the receiver system receives a second data information segment followed by a second plurality of video data information segments from a second video source, the receiver system detects certain information in the second data information segment, the receiver system extracts video data information from at least one video data information segment of the second plurality of video data information segments in accordance with at least one of the detected certain information in the second data information segment, and the receiver system stores the extracted video data information into a second memory queue of the first number of memory queues.

16. The video processing system of claim 15, further comprising:
a display interface coupled to the first number of memory queues and configured to generate video data information of an output image using video data information stored in the first memory queue and video data information stored in the second memory queue.

17. The video processing system of claim 15, further comprising:
a display interface coupled to the first number of memory queues and configured to generate video data information for a first region of an output image using video data information stored in the first memory queue, and to generate video data information for a second region of the output image using video data information stored in the second memory queue.