throbber
I|ll||||||||||||||||||||||||||||||||||||||I
`
`US00?9?4339B2
`
`(12) United States Patent
`
`Krichevsky et al.
`
`(10) Patent No.:
`
`US 7,974,339 B2
`
`(45) Date of Patent:
`
`Jul. 5, 2011
`
`.\=IacI.eod ct al.
`T-"I998
`Ir’.-"1998 Lee
`ll.-‘I998 Nlnisilo
`'
`
`5.-"2000 Duly
`3-""2001 Chiang.
`l2:'200l Nlori ct al.
`
`
`
`53006 Barncsmal‘
`(#2009 Hunter
`
`H 383,239
`345-698
`
`345.5604
`an
`
`345.-1500
`345-‘G98
`345-""695
`
`(54) OPTIMIZED DATA TRANSMISSION SYSTEM
`AND METHOD
`
`(76)
`
`Iiivemorsz Alex Krichevsky. l.aguna Beach. (TA
`(U5); Constance Nash. Laglma 13I-‘aCh-
`CA (US)
`
`( as ) Notice:
`
`Subject to any disclaimer. the term oftlijs
`patent is extended or £l(.l|l]Eslt.!(.l under 35
`U-S-(7 15401) by 1401 d'cI)'==-
`
`5."r‘78.D92 A
`S.?84.l'I'5 A
`5,838,333 A ’l‘
`-9
`..
`6.078.307 A *
`6.198.467 Bl "‘
`6.326.981 Bl "‘
`
`:
`7‘05U‘639 Bl .,
`7.551.139 132*
`
`(21) Appt Nu; 101392590
`
`(22)
`
`Filed:
`
`Jul. 16, 2004
`
`El’
`
`EP
`El’
`
`FORIJIUN PA'l'l_il\l’l‘ DOCUMIJNTS
`0 712 033 A2
`551996
`
`l 006 T15 A2
`l 006 TI’? A2
`
`6-"2000
`6-"3000
`
`(65)
`
`Prior Publication Data
`
`OTHER PUBLICATIONS
`
`Us 2034'IIl02S8l50 A1
`
`Dec‘ 23' 2004
`
`SlIPpl€l‘!‘l€I1THJ'}‘ Etlmpean Search Report. dated %p. 23. 2005.
`
`(63) Continuation of application No. PCTI’US02I’00503_.
`filed on Jan. 15. 2002.
`
`3
`
`_ d b
`we
`
`,
`5’ ‘°”“"“““"’
`
`(51)
`
`Int CL
`IIt'MN 7/12
`375240.01
`(52) U.S. (:1.
`3'I'5I’240.0l,
`(58) Field ofClassificatiun Search
`375,040.15, 240.23; 38054; 382,939, 236;
`348K699
`See application file for complete search history,
`
`(2006.01)
`
`
`
`(56)
`
`References Cited
`
`US. PATENT DOCUMENTS
`4.?'i'(1.013 A ‘‘
`10.51938 Kafrictal.
`4385.349 A *
`ll.-"1988 Keith ctal.
`
`380.-"54
`3T5-‘£40.23
`
`,
`
`Pr.='iImr_i-' E.\'aniiner
`
`TLu1gVo
`1,
`,
`_
`A535 ”’”‘F'
`(57)
`l3m"’1d‘3d- “"3 5Y5l‘3m
`A 5?-‘Wm ml’ l1"dn511“l“11E dam 15
`includes a frame analysis system receiving frznne data. such
`as 21 frame ofvideu data. and generating region data. such as
`at uniform matrix size that is used to divide the frame into a
`redetermined set of matrices. A ixel selection 5 'stem
`P
`_
`_
`P
`_
`3
`receives the region data and generates one set of pixel data for
`each region. such as by selecting one of the pixels contained
`within each of the original matrices that comprise the frame.
`
`13 Claims,4 Drawing Sheets
`
`
`
`DATA TRANSMISSION SYSTEM fl
` PIXEL
`SELECTION
`
`SYSTEM
`1%
`
`
`
`
`
`FRAME
`ANALYSIS
`SYSTEM
`1%
`
`
`
`
`
`DISPLAY
`GENERATION
`svsnan
`M
`
`
`
`
`PIXEL DATA
`SYSTEM
`11_°
`
`
`
`DATA RECEIVING SYSTEM L5
`
`100?
`
`1
`
`Google Inc.
`
`GOOG 1001
`IPR of US Pat. No. 7,974,339
`
`

`
`U.S. Patent
`
`Jul. 5, 2011
`
`Sheetl of4
`
`US 7,974,339 B2
`
`DATA TRANSMISSION SYSTEM 1_O_2_
`
`
`
`FRAME
`
`PIXEL
`
`ANALYSIS
`
`SYSTEM
`
`E‘?
`
`SELECTION
`
`SYSTEM
`
`1%
`
`
`
`
`
`
`
`DISPLAY
`GENERATION
`SYSTEM
`1 1 2
`
`
`
`P';‘$'§f[’Efl‘°‘
`1'19‘
`
`
`
`DATA RECEIVING SYSTEM 133
`
`FIGURE 1
`
`100%
`
`PIXEL
`
`VARIATION
`SYSTEM
`$32
`
`”"‘S1;,':3r‘ESlJ‘ZE
`204
`
`MATRl)(
`
`IDENTIFICATION
`SYSTEM
`
`FRAME ANALYSIS SYSTEM M
`
`

`
`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 2 of4
`
`US 7,974,339 B2
`
`PIXEL
`RANDOMFZER
`SYSTEM
`302
`
`PIXEL
`SEQUENCER
`SYSTEM
`
`PIXEL
`IDENTIFICATION
`SYSTEM
`
`PIXEL SELECTION SYSTEM 1_c§
`
`DEFINITION
`
`SYSTEM
`
`E
`
`PIXEL LOCATION
`
`SYSTEM
`
`Q
`
`PIXEL DATA SYSTEM 1_1_q
`
`FIGURE 4
`
`wofi
`
`DETERMINE MATRIX SIZE
`
`| 502
`
`I
`
`
`
`504
`
`506
`
`SELECT P%XEL IN MATRIX
`
`
`
`TRANSMIT MATRIX AND PIXEL DATA
`
`
`
`
`FRAME COMPLETE?
`
`GO TO NEXT FRAME
`
`514
`
`
`
`ASSEMBLE MATRIX AND PIXEL DATA INTO FRAME
`
`503
`
`GENERATE DISPLAY USING MATRIX AND PIXEL DATA 510
`
`

`
`U.S. Patent
`
`Jul. 5, 2011
`
`Sheet 3 of4
`
`US 7,974,339 B2
`
`DETERMINE PIXEL VARIATION
`
`VARIATION > TOL?
`
`
`
`
`
`GO TO NEXT PIXEL
`
`MODIFY TOL
`
`608
`
`610
`
`
`
`FIGURE 6
`
`fioofi
`
`
`
`RECEIVE MATRIX DATA
`
`
`
`
`RAN DOM
`RANDOM OR SEQUENCE?
`
`
`SEQUENCE
`
`ASSIGN MATRIX SIZE
`
`
`
`606
`
`702
`
`OBTAIN SEQUENCE DATA
`
`SELECT PIXEL BASED on
`SEQUENCE DATA
`
`ms
`
`703
`
`7oofi
`
` GENERATE RANDOM NUMBER
`710
`
`
`
`
`
`SELECT PIXEL BASED on
`RANDOM NUMBER
`
`712
`neuae 7
`
`802
`

`
`
`
`
`
`RECEIVE MATRIX AND PIXEL DATA
`
`COMBINE MATRIX. PIXEL DATA INTO FRAME DATA
`
`
`
`FRAME COMPLETE?
`
`
`
`FIGURE 3
`800?
`
`GO TO NEXT FRAME
`
`
`
`303
`
`806
`
`

`
`

`
`US 7,974,339 B2
`
`1
`OPTIMIZED DATA TRANSMISSION SYSTEM
`AND METHOD
`
`FIELD OF THE INVENTION
`
`The present invention pertains to the field of data tra11s1nis—
`sion. and 111ore particularly to a system and method for opti-
`mizing data transmission that decreases bandwidth require-
`ments for data transmission.
`
`BACKGROUND OF THE INVENTION
`
`Data transmission systems are known in the art. Such data
`transmission systems often use compression to decrease
`bandwidth requirements. For example, compression tech-
`niques have been characterized as “lossless" when no redttc-
`tion in data occurs. or “lossy" when a loss ofdata occurs that
`does not adversely affect the intended use.
`One drawback with such data transmission systems is that
`the compressed data must be “decompressed” on the receiv-
`ing end. Thus. for lossless data compression systems, the
`exact configuration of the data must be achieved when the
`data is decompressed. Likewise. even for lossy data compres-
`sion systems, the data is decompressed and the lost data is
`then approximated. The need for such decompression con-
`tributes to the overall difficulty in implementing data trans-
`mission in conjunction with compression.
`
`SUMMARY OF THE INVENTION
`
`In accordance with the present invention, a system and
`method for transmitting data are provided that overcome
`known problems with data transmission systems and meth-
`ods.
`
`In particular. a system and method fordata transmission are
`provided that use data optimization instead of compression,
`so as to provide a mixed lossless a11d lossy data transmission
`technique.
`I11 accordance with an exemplary embodiment of the
`present invention. a system for transmitting data is provided.
`The system includes a frame analysis system receiving frame
`data. such as a frame ofvideo data. audio data, graphical data,
`text data. or other suitable data. and generating region data_.
`such as a uniform matrix size that is used to divide the frame
`
`into a predetermined set ofmatrices. A pixel selection system
`receives the region data and generates one set ofpixel data for
`each region. such as by selecting one of the pixels contained
`within each of the original matrices that comprise the frame.
`For data that is used for purposes other than the generation of
`a display. the pixel data can instead be audio data. text data. or
`other suitable data.
`
`The present invention provides many important technical
`advantages. One important teclmical advantage of the present
`invention is a system and method for transmitting data that do
`not require the data to be compressed at the sending end and
`dccomprcsscd at the receiving end. The present invention
`uses data optimization to transmit only the data that is neces-
`sary for the application. such that decompression of the data
`on the receiving end is not required. In this manner. the
`present invention incorporates features of both lossless and
`lossy compression without requiring the data to be decom-
`pressed on the receiving end.
`Those skilled iii the art will further appreciate the advan-
`tages and superior features of the invention together with
`other important aspects thereof on reading the detailed
`description that follows in conjunction with the drawings.
`
`10
`
`15
`
`30
`
`35
`
`4U
`
`55
`
`60
`
`2
`BRIEF DESCRIPTION OF TIIF, DRAWINGS
`
`I-‘IG. l is a diagram of a system for transmitting data in
`accordance with an exemplary embodiment of the present
`invention:
`
`FIG. 2 is a diagram of a system for perzlomting frame
`analysis in accordance with an exemplary embodiment of the
`present invention;
`FIG. 3 is a diagram of a system for selecting optimized
`pixel data for transmission in accordance with an exemplary
`embodiment of the present invention;
`FIG. 4 is a diagram of a system for generating a frame in
`accordance with an exentplary embodiment of the present
`invention;
`FIG. 5 is a flow chart of a method for optimizing data
`transmission in accordance with an exemplary embodiment
`of the present invention:
`FIG. 6 is a flowchart ofa method for detemtining or assign-
`ing matrix or region size based on alt exemplary embodiment
`of the present invention:
`FIG. 7 is a flowchart ofa method for selecting a pixel within
`a region in accordance with an exemplary embodiment of the
`present invention:
`FIG. 8 is a flowchart for method for generating optimized
`frame data in accordance with an exemplary embodiment of
`the present invention:
`FIG. 9 is a diagram 900 showing an exemplary ttnifomt
`matrix segmentation of an array of pixel data; and
`FIG. 10 is a diag.ram 1000 showing an exemplary non-
`uniform matrix segmentation of an array of pixel data.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`like pans are marked
`]n the description that follows,
`throughout the specification and drawings with the saute ref-
`erence ntunerals, respectively. The drawing figures might not
`be to scale, and certain components can be shown i11 gener-
`alized or schematic form and identified by commercial des-
`ignations in the interest of clarity and conciseness.
`FIG. 1 is a diagram ofa system 100 fortransmitting data in
`accordance with an exemplary embodiment of the present
`invention. System 100 allows data such as video data to be
`transmitted in a manner that does not require the data to be
`compressed. and which results in significant decreases in
`bandwidth requirements for data transmission.
`System 100 includes data transmission system 102. which
`is coupled to data receiving system 104 over a suitable com-
`munications medium 114. As used herein, the term “couple"
`and its cognate terms, such as “couples" and “couple ," can
`include a physical connection (such as a copper conductor), a
`virtual connection (such as through randomly assigned
`memory locations ofa data memory device). a logical con-
`nection (such as through logical gates of a semiconducting
`device). other suitable comtections, or a suitable combination
`ofsuch connections. In one exemplary emhodintent, systems
`and components are coupled to other systems and compo-
`nents through intervening systems and components, such as
`through an operating system of a general purpose computing
`platform. Communications medium 114 can be the Internet,
`the public switched telephone network, a wireless network. a
`local area network, an optical network, other suitable com-
`munications media. or a suitable combination of such com-
`munications media.
`
`Data transmission system 102 includes frame analysis sys-
`tem l(]6 and pixel selection system 108. each of which can be
`implemented in hardware, software, or a suitable combina-
`
`

`
`US 7,974,339 B2
`
`3
`tion ofhardware and software, and which can be one or more
`software systems operating on a general purpose processing
`platforr11..f\s used herein. a software system can include one
`or more objects, agents, threads, lines of code, subroutines.
`separate software applications. user-readable (source) code,
`nrachine—readable (object) code, two or rrrore lines of code in
`two or more corresponding software applications, databases,
`or other suitable soiiware architectures. In one exemplary
`embodiment. a software system can include one or tnore lines
`ofcode in a general purpose software application. such as an
`operating system, and one or more lines of software in a
`specific purpose software application.
`Data transmission system 102 reduces data transmission
`requirements by eliminating data that is not required for the
`application of the data on the receiving end. In one exemplary
`embodiment. data transmission system 102 can receive
`frames of video data. and can select pixels of data for trans-
`mission that are needed in order to allow the frames of video
`
`111 this exetrrplary
`data to be viewed by the human eye.
`embodiment, a video display having a quiescent state ofpix—
`els in either the “on" or “ofi"" states can be used to generate
`video data by selecting a subset of pixels within the frame to
`display image data. In this exemplary embodiment, ifa frame
`of video data has low detail,
`it may only be necessary to
`provide a data value for one of every twenty—five pixels or less
`in order to create the image to be viewed by the human eye.
`l.ike'w‘ise_. if the frame of video data has a large amount of
`detail, it may be necessary to transmit each pixel in order to
`generate a suitable image. When a frame of video data
`includes regions ofhigit detail and low detail. it may likewise
`be desirable to transmit only the necessary number of pixels
`in each region that are required to generate the image. In this
`exemplary embodiment. the number ofpixels to transmit can
`be decided on a region-by-region basis within the frame.
`Data receiving system 104 includes pixel data system 110
`and display generation system 112, each of which can be
`implemented in hardware. software, or a suitable combina-
`tion ofhardware and software, and which can be one or more
`software systems operating on a general purpose processor
`platform. Data receiving system 104 receives the data from
`data transmission system 102. and generates a display for a
`user that utilizes the optimized data set transmitted by data
`transmission system 102. In one exemplary embodiment,
`data receiving system 104 can generate a video display, such
`as by illuminating predetermined pixels within a frame based
`on the determination of the level of detail required for the
`frame, and by leaving the remaining pixels in a quiescent state
`of either “off” or “on." Likewise. data receiving system 104
`can generate frames of video data that have variable levels of
`detail, to accommodate the image data being transmitted.
`Frame analysis system 106 receives frame data including
`pixel data and generates matrix size data based upon the pixel
`data. In one exemplary embodiment. frame analysis system
`106 can analyze adjacent pixel data valttes in the frame. and
`can apply one or more predetermined variation tolerances to
`select a matrix size for a data optimization region.
`I11 this
`exemplary embodiment, the matrix size for each data optimi-
`zation region ofa frame can be ttn.iform. such that each data
`optimization matrix has the same dimensions. Thtts. if a 640x
`480 pixel frame is being transmitted, then the 640x480 pixel
`frame can be split up into a 64x48 frame of matrices. where
`each matrix is a 10x10 matrix. likewise, frame analysis sys-
`tem 106 can assign a different matrix size on a frame by frame
`basis, such as where a first frame is transmitted using 10x10
`matrices for a 64x48 matrix frame. and a subseqttent frame
`could then be transmitted using SXS data matrices. for a
`128x96 matrix frame. In another exemplary embodiment, the
`
`10
`
`15
`
`30
`
`35
`
`4U
`
`55
`
`60
`
`4
`size of matrices within the frame can be varied. such that a
`given frame is made up of matrices varying in size, such as
`from a 1x1 matrix to a 5x5 matrix or greater. In yet another
`exemplary embodiment. the size of the matrices can be tron-
`symmctrical, such that an NXM matrix can be used where N
`and M are integer values that are not equivalent. Likewise,
`other suitable data optimization regions can be selected, such
`as ones that are not based on a matrix structure. bttt which may
`be circular, elliptical, amorphous, or based on other suitable
`structures.
`
`Pixel selection system 108 selects one or tttore pixel within
`a predefmed matrix or other region for transmission in an
`optimized data transmission system.
`In one exemplary
`embodiment. pixel selection system 108 can randomly select
`a pixel from a location within a matrix or other region. can use
`a sequence selection scheme such that the pixel is selected in
`accordance with a predetermined sequence, or other suitable
`selection criteria can be used. Pixel selection system 108 can
`further generate pixel location data within the matrix, such
`that the pixel can be regenerated at a predetermined location.
`at a random location. or in other suitable manners. For
`example, if a predetermined location is used, the predeter-
`mined loeatiort can be the same for each matrix or other
`
`region, such as by assigning a quadrant or other location (eg,
`the first row and colunm position in the matrix). Likewise, if
`randomi‘/ation is ttsed, control data can be generated that will
`cause data receiving system 104 to randomize the location of
`each pixel in each matrix or other region withottt requiring
`individual control data for each matrix or other region. like-
`wise, other suitable pixel selection data can be generated.
`Pixel data system 110 receives matrix data and pixel data
`and assembles frame data based on the matrix data and pixel
`data. In one exemplary embodiment. pixel data system 110
`receives a matrix size identifier for an entire frame. such that
`it catt be determined that a uniform matrix size is used for
`each frame. Likewise, pixel data system I 10 can receive
`matrix map data, sttch that a sequence of matrices and the size
`of each matrix can be detemrined. Likewise. pixel data sys-
`tem 110 can receive pixel data for each matrix, such as pixel
`data with each matrix identifier. pixel data in a predetermined
`order based on the order of matrix data transmitted. or other
`suitable data.
`
`Display generation system 112 receives frames of data
`from pixel data system 110 and generates video data. audio
`data, graphical data, textual data, or other suitable data for use
`by a user. I11 one exemplary embodiment, display generation
`system 112 receives an entire frame of data afier it has been
`reconstructed by pixel data system 110. In another exemplary
`embodiment, display generation system 112 can receive
`frame data as it is generated by pixel data systetrr 110 prior to
`the generation of the entire frame. Other suitable configura-
`tions can be used.
`
`In operation, system 100 allows data transmission to be
`optimized so as to decrease bandwidth requirements. System
`100 determines the optimal data for transmission based on the
`end use of the data. For example. system 100 call reduce the
`data transmitted for video display generation, such as by
`determining the level ofdetail required. and then transmitting
`data based on the level of detail required. Likewise, similar
`optimization processes can be used for audio data. graphical
`data. textual data, or other suitable data. Thus, system 100 is
`a lossy data transmission system, but can also be a lossless
`data transmission system depending on the data fields within
`a set of data for which lossy or lossless data transmission is
`desired. 111 this exemplary embodiment. system 100 allows
`data sets to be processed iii a manner that allows data trans-
`
`

`
`US 7,974,339 B2
`
`5
`mission to be both lossless and lossy based on application
`criteria for the data on the receiving end.
`System 100 can also be used in conjunction witl1 a com-
`pression system. a frame elimination system, or with other
`suitable systems or processes to achieve further savings in
`bandwidth requirements. For example, after data optimiza-
`tion has been achieved, the optimized data can then be com-
`pressed using a lossy or lossless compression tecluiique.
`Likewise, frame elimination can be ttsed where such tech-
`niques do 11ot result in an unacceptable decrease in the quality
`of the data at the receiving end.
`FIG. 2 is a diagram ofa system 200 for performing frame
`analysis in accordance with an exemplary embodiment ofthe
`present invention. System 200 includes frame analysis sys-
`tem 106 and pixel variation system 202. matrix size system
`204, and matrix identification system 206, each of which can
`be implemented in hardware. software, or a suitable combi-
`nation of hardware and software. and which can be one or
`more software syste111s operating on a general purpose pro-
`cessing platform.
`Pixel variation system 202 determines the level of detail
`required based on variations in pixel data. In one exemplary
`embodiment. pixel variation system 202 can receive pixel
`data values, such as (xlyfz} in a suitable pixel color pixel
`system (e.g., 16-bit values for RJGIB, Yi'(".bi’Cr. Yi'Ui'\-", or
`other suitable color data formats). Pixel variation system 202
`can then compare two adjacent pixels to determine whether
`the amount of variation between those two adjacent pixels
`exceeds a predetermined tolerance. such that the amount of
`pixel data required to transmit image data or other suitable
`data for perception by a human eye or other suitable applica-
`tions can be determined. In this exemplary embodiment, pixel
`variation system 202 can have a number oftolerance settings,
`so that a matrix size, region, or otherdata optimiration set can
`be determined. For example, consider the following pixel set:
`Pl(l2lt34fl87] P2(l l9i’39i’l98) P3(l 171421202)
`In this example, the variation between P] and P2 may be
`lower than a first tolerance for the purposes ofselecting a first
`data set, such as a 2x2 matrix. but the variation between P1
`and P3 may be greater than a second tolerance for the purpose
`of selecting a second data set. such as a 3x3 matrix. In this
`mamier. increasing groups of pixels can be analyzed so as to
`insure that desired levels ofdelail are not inadvertently omit-
`ted. For example, ifvideo data includes an image ofan essen-
`tially uniform object, such as the ocean or a grassy field, and
`where that essentially uniform object has details that are
`nonetheless of interest to the viewer. such as wave whitecaps
`or wildflowers, pixel variation system 202 can include toler-
`ance settings such that variations between pixels that identify
`such details would be identified, but where such variations
`between two adjacent pixels within the field would be
`ignored. Likewisc_. other suitable pixel variation detection
`functionality can be provided.
`Matrix size system 204 generates matrix size data based on
`pixel variation data. In one exemplary embodiment. matrix
`size system 204 can receive pixel variation data based on an
`analysis of an entire frame of data, such that a uniform matrix
`size can be assigned. Likewise, matrix size system 204 can
`receive pixel variation data from pixel variation system 202.
`and can generate nonsymmetrical matrix dimensional data,
`such as l\l><M dimensions where “N" and “M" are integers
`that are not equivalent. circular region data, elliptical region
`data. amorphous region data, or other suitable region identi-
`fication data. Matrix si‘/ie system 204 can also generate matrix
`size control data. such as where a non-unifomi matrix or
`region size is used within a frame. 111 this exemplary e111bodi-
`ment, matrix size system 204 can identify a sequence for
`
`10
`
`15
`
`30
`
`35
`
`4-0
`
`55
`
`60
`
`6
`matrices, coordinate data for matrices, size data for matrices,
`or other suitable data that can be used to assemble or sequence
`pixel data within matrices.
`Matrix identification system 206 receives matrix size data
`and generates matrix identification data. In one exemplary
`embodiment, matrix identification system 206 can receive
`matrix sequence data, and can assemble the matrix sequence
`data for use with pixel data generated by pixel selection
`system 108. In this exemplary embodiment. matrix identifi-
`cation system 206 can identify whether a uniform matrix size
`is being generated, the number of matrices within a frame,
`sequence data for the matrices when a non-tiniform matrix or
`region is being used. or other suitable data. Matrix identifi-
`cation system 206 generates matrix identification data for use
`by data receiving system 104. so as to allow data receiving
`system 104 to generate the optimized data display.
`In operation. system 200 allows frames to be analyzed so as
`to determine the optimal data to be transmitted. based on the
`intended use of the frame. In one exemplary enibodiment,
`pixel variation system 202 or other suitable systems can be
`used to identify lossy and lossless regions within the frame.
`Likewise, unifonn lossy regions can be identified, such as
`matrices having predetermined dimensions of greater than
`1x1 or other suitable data.
`
`FIG. 3 is a diagram ofa system 300 for selecting optimized
`pixel data for transmission in accordance with an exemplary
`embodiment of the present invention. System 300 includes
`pixel selection system 108 and pixel randomizer system 302.
`pixel sequencer system 304. and pixel identification system
`306. each of which can be implemented in hardware. soft-
`ware, or a suitable combination of hardware and software,
`and which can be one or more software systems operating on
`a general purpose processor platform.
`Pixel randomize-r system 3 02 selects a random pixel within
`a matrix or other region. In one exemplary embodiment, pixel
`randomizer system 302 can generate a random number and
`can select a pixel based upon a pixel sequence and the rela-
`tionship of the generated random number to that pixel
`sequence. I11 this exemplary embodiment. pixel randomizer
`system 302 can generate a random number between 0 and I.
`and can multiply that random number times the number of
`pixels within a region. and can then select the pixel based
`ttpon a pixel sequence from a predetermined location. Like-
`wise. other suitable random pixel selection processes can be
`used. Pixel randomizer system 302 generates random pixel
`location data and random pixel value data.
`Pixel sequencer system 304 generates pixel selection data
`based on pixel sequence data. In one exemplary embodiment,
`such as when a uniform frame matrix size is being used, pixel
`sequencer system 304 can select pixels in a predetermined
`order. such that if a 3x3 matrix is used uniformly across the
`frame. the pixel at location (l,l) is transmitted in the first
`frame. the pixel at location (1.2) is transmitted in the second
`frame. the pixel at location (1.3) is transmitted in the third
`frame. and so forth, until the pixel at location (3,3) has been
`transmitted, after which the pixel at location (1.1) will be
`transmitted. Pixel sequencer system 304 can likewise send
`other suitable sequences, such as skipping every other pixel.
`skipping pixels based on predetennined display generation
`characteristics, or other suitable sequences.
`Pixel identification system 306 generates pixel identifica-
`tion data. such as may be required by a data receiving system
`to illuminate the pixel in a display. In one exemplary en1bodi—
`ment, pixel identification system 306 can identify the coordi-
`nates of a pixel where generation of the pixel by the data
`receiving system at the exact location is desired. Likewise,
`pixel identification system 306 can identify a uniform pixel
`
`

`
`US 7,974,339 B2
`
`7
`location within each matrix or other region, strch as location
`(1, 1) tor all matrices. such as randomizer control data that will
`randomly place a pixel within a matrix or region. or other
`suitable pixel identification data.
`In operation. system 300 allows a pixel within a 111atrix or
`other suitable region to be selected based on data optimiza-
`tion. System 300 allows random, sequenced, or other suitable
`processes to be used to select and locate pixels within opti-
`miaed regions.
`FIG. 4 is a diagram ofa system 400 for generating a frame
`in accordance with an exemplary embodiment of the present
`invention. System 400 includes pixel data system 1 10, matrix
`definition system 402 and pixel location system 404. each of
`which cart be implemented in hardware, software, or a s1tit—
`able combination ofhardware and software, and which can be
`one or more software systems operating on a general purpose
`processor platform.
`Matrix definition system 402 receives matrix definition
`data for use i11 generating frame data. In one exemplary
`embodiment, matrix definition data can include data that
`identifies a uniform matrix size throughout the frame. In
`another exemplary embodiment. matrix definition data can
`include data that identifies matrix dimensions and sequences,
`so that a sequence of non-similar matrices can be assembled
`into a frame. Likewise, matrix definition system 402 can
`include region definition data, such as for ellipses, circles.
`amorphous shapes. or other suitable definition data.
`Pixel location system 404 receives pixel location data for
`locating a pixel within a matrix or other region. In one exem-
`plary embodiment. pixel location system 404 cart receive data
`that locates pixels for each matrix within a frame on a uniform
`basis. such that each pixel received will be generated in a
`predetermined location (e.g. (1,1) ina 3x3 matrix). Likewise,
`pixel location system 404 can receive randoniization data.
`such that the location ofa pixel within a matrix or other region
`is randomly assigned. In yet another exemplary embodiment.
`pixel location system 404 can receive exact coordinates for
`placement of pixels. Other suitable processes can be imple-
`mented by pixel location system 404.
`I11 operation, system 400 is used to locate pixels of data
`within a matrix or other region in an optimized data transrnis-
`sion system. System 400 thus allows optimized data. such as
`video data, audio data, or other suitable data, to be used to
`generate a display, an audio stream, gaphic images. textual
`data, and other suitable data on a frame by frame basis.
`FIG. 5 is a flow chart ofa method 500 for optimizing data
`transmission in accordance with an exemplary embodiment
`of the present invention. Method 500 begins at 502 where a
`matrix size is determined. In one exemplary embodiment, the
`matrix size can be unilorrnly assigned across the frame, a
`matrix size can assigned based upon regions within the frame,
`a region other than a matrix can be used, or other suitable
`matrix sizes or region sizes can be determined. The method
`then proceeds to 504.
`At 504 a pixel within the matrix is selected. In one exem-
`plary embodiment, the pixel can be selected based on a pre-
`determined location within tl1e matrix, such as wl1e11 uniform
`matrix sizes are used within a frame, or in other suitable
`mamiers. I11 another exemplary embodiment. pixel selection
`can be performed based on random selection, based upon
`predetermined rules regarding selection of pixels. or in other
`suitable mamiers. The method then proceeds to 506.
`At 506 the matrix and pixel data is transmitted. In one
`exemplary embodiment. the matrix and pixel data can be
`transmitted in pairs, such that each set of matrix definition
`data or location data is paired with corresponding pixel
`brightness data. Likewise, matrix data and pixel data can be
`
`10
`
`15
`
`30
`
`35
`
`4U
`
`55
`
`60
`
`8
`transmitted in sequence. such that the sequence ofmatrix data
`is received first. and the sequence of pixel data for each
`corresponding matrix is then received. Other suitable trans-
`mission sequences can likewise be trsed. The method then
`proceeds to 508.
`At 508 the matrix and pixel data is assembled into a frame.
`In one exemplary embodiment, the frame assembly cart be
`performed on a line—by—line basis. such that each line of data
`can be generated as it
`is created. In another exemplary
`embodiment. an entire liame ofdata can be generated prior to
`utilization of the frame of data. The method then proceeds to
`510.
`
`At 510 a display is generated using the matrix and pixel
`data. As previously described, the display can be generated
`from an entire frame data set after it has been completed.
`Likewise, the display can be generated on a line-by-line basis.
`audio streams or graphical displays can be generated. or other
`suitable displays can be generated. The method then proceeds
`to 512.
`
`At 512 it is determined whether a frame is completed. Ifthe
`frame is not completed the method returns to 508. Otherwise
`the frame is complete, the method proceeds to 514 and the
`method proceeds to the next trame.
`FIG. 6 is a flowchart of a method 600 for determining or
`assigning matrix or region size based on an exemplary
`embodiment of the present invention. Method 600 begins at
`602 where a pixel variation is determined. In one exemplary
`embodiment. the pixel data values for two adjacent pixels can
`be compared. and it can be determined whether the variations
`between the two adjacent pixel data values exceed predeter-
`mined allowable variations. The suitable variation techniques
`can be implemented. The method then proceeds to 604.
`At 604 it is determined whether the variation is greater than
`a predetermined tolerance. If it is determined at 604 that the
`variation is greater than the tolerance the method proceeds to
`606 where the matrix size is assigned based on the number of
`pixels under consideration. In one exemplary embodiment, if
`a first and second pixel have been compared and it is deter-
`mined that the variation between pixels exceeds the tolerance,
`then a matrix size of lxl (i.e.. an individual pixel ). can be
`transmitted such that data transmission is lossless. If it is
`
`determined that the variation is not greater than the tolerance,
`the method proceeds to 608.
`is selected. In one exemplary
`At 608,
`the next pixel
`embodiment, the next pixel can be selected based upon an
`N><N matrix size. an N><M matrix size. a circular region size

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket