Single flow fovea display transmission

Through the single-stream foveal display transmission system, the problem of transmission bandwidth limitation of high-resolution displays is solved, efficient transmission and simplified display scaling are achieved, and user experience is improved.

CN120455714APending Publication Date: 2025-08-08ATI TECHNOLOGIES ULC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510538219.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-08-26
Filing Date
2020-08-26
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

In the prior art, the transmission bandwidth required by the high resolution and high refresh rate of the display limits user mobility, especially in VR and AR headsets, where the physical thickness of the cable hinders user mobility and adding wires to transmit high-resolution images is not feasible.

Method used

Using a single-stream foveal display transmission system, the image is sent to the receiver as an equal-sized rectangle through the transmitter. The receiver uses a scaling factor to scale the rectangle to a variable size and drives multiple variable-sized rectangles on the display. The linear grid arrangement of the image simplifies the scaling operation.

Benefits of technology

It realizes efficient transmission of high-resolution images without increasing the number of cables, simplifies the zooming process of the display, and improves user mobility and display effects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120455714A_ABST
    Figure CN120455714A_ABST
Patent Text Reader

Abstract

Systems, devices, and methods are disclosed for implementing single flow foveal display transmissions. A system includes a transmitter that transmits an image as a series of equally sized rectangles to a receiver coupled to a display via a display transmission. The receiver then magnifies the rectangle with different scaling factors to cover display areas of different sizes. The pixel density within the rectangular region is uniform, and the scaling factor may employ an integer value or a non-integer value. The linear grid arrangement of the image results in a simplified scaling operation for a display. In another scene, the image is transmitted as a set of horizontal bands of equal size. Within each band, the same level of transmitted pixels are redistributed over a plurality of rectangular regions of different proportions. The display stream includes embedded information that can be adjusted for each transmitted image and a horizontal and / or vertical distribution and scaling of rectangular regions.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application entering the Chinese national phase (national application number 202080060573.7, invention name “Single-stream foveal display transmission”) whose international application date is August 26, 2020, PCT application number is PCT / IB2020 / 057981, and the applicant is “ATI Technologies Co., Ltd.” Background Art

[0002] As the resolution and refresh rate of displays increase, the transmission bandwidth required for the displayed image becomes a major limiting factor. For virtual reality (VR) and augmented reality (AR) headsets or head-mounted displays (HMDs), this becomes an even greater problem, as the physical thickness of the cables is problematic as it hinders user mobility, and adding more wires to transmit higher resolution images is not an acceptable solution. In order to create an immersive environment for the user, VR and AR solutions typically have high resolution and high frame rates, which equates to high data rates. In the case of VR and AR displays, especially with eye tracking, transmitting full resolution images, as is commonly done today, is a waste. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Advantages of the methods and mechanisms described herein may be better understood by referring to the following description in conjunction with the accompanying drawings, in which:

[0004] Figure 1 It is a block diagram of one implementation of the system.

[0005] Figure 2 is a block diagram of one implementation of a transmitter.

[0006] Figure 3 Examples of original pre-scaled images and scaled images are shown according to one implementation.

[0007] Figure 4 is a block diagram of one implementation of a receiver.

[0008] Figure 5 is a generalized flow chart illustrating one implementation of a method for a transmitter to generate a scaled image having equal-sized areas for transmission to a receiver.

[0009] Figure 6 is a generalized flow chart illustrating one implementation of a method for receiving, decoding, and scaling an image for display. DETAILED DESCRIPTION

[0010] In the following description, numerous specific details are set forth to provide a thorough understanding of the methods and mechanisms presented herein. However, one of ordinary skill in the art will recognize that various implementations may be practiced without these specific details. In some cases, well-known structures, components, signals, computer program instructions, and techniques are not shown in detail to avoid obscuring the methods described herein. It will be understood that for simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements.

[0011] Disclosed herein are various systems, devices, methods, and computer-readable media for implementing single-stream foveated display transmission. In one implementation, a system includes a transmitter that transmits an image as a series of equal-sized rectangles to a receiver via display transmission. The receiver then scales the rectangles back to their original size using an appropriate scaling factor. The result is a plurality of variable-sized rectangles that the receiver then drives onto the display. The pixel density within the rectangular area is uniform, and the scaling factor can take integer or non-integer values. The rectilinear grid arrangement of the image simplifies scaling operations for the receiver. In another scenario, rather than transmitting the image as a series of equal-sized rectangles, the image is transmitted as a set of equal-sized horizontal strips. Within each strip, the receiver scales the pixels up or down to match the size of the strip in the original image. Additionally, each horizontal strip can be individually subdivided into a single row of equal-sized rectangles in the transmitted image, which can be expanded into scaled rectangles to match the area of the original image. The display stream includes embedded information regarding the horizontal and / or vertical distribution and scaling of the rectangular areas, which can be adjusted for each transmitted image.

[0012] Now refer to Figure 1, shows a block diagram of one implementation of system 100. In one implementation, system 100 includes a transmitter 105, a channel 110, a receiver 115, and a head-mounted display (HMD) 120. It should be noted that transmitter 105 and receiver 115 may also be referred to as transceivers or communication devices. In one implementation, HMD 120 includes a right-eye display 125R and a left-eye display 125L. Within right display 125R is a foveal area 130R, which is the area of right display 125R where a user's right eye is focused. Similarly, within left display 125L is a foveal area 130L, which is the portion of left display 125L where a user's left eye is looking. As used herein, the term "foveal area" is defined as the portion of the per-eye display half-frame that each eye is focusing on. In some cases, the "foveal area" is determined based at least in part on an eye-tracking sensor that detects the position within the half-frame at which an eye is looking. Additionally, the term "foveal region" may also be referred to as a "focal region." It should be noted that in other implementations, the system 100 may include other components, and / or the system 100 may include Figure 1 More than one of the components shown. For example, in another implementation, the system 100 includes multiple receivers with multiple HMDs.

[0013] In one implementation, channel 110 is a wired connection between transmitter 105 and receiver 115. For example, in one implementation, channel 110 is a direct wired connection between transmitter 105 and receiver 115. In another implementation, channel 110 represents a network connection between transmitter 105 and receiver 115. Depending on the implementation, any type and number of networks may be used to provide the connection between transmitter 105 and receiver 115. For example, in one particular implementation, transmitter 105 is part of a cloud service provider. In another implementation, channel 110 represents a wireless connection between transmitter 105 and receiver 115.

[0014] In one implementation, transmitter 105 receives a video sequence to be encoded and transmitted to receiver 115. In another implementation, transmitter 105 includes a rendering unit that renders the video sequence to be encoded and transmitted to receiver 115. To simplify scaling of video frames at receiver 115, a single-stream foveated display sequence is transmitted between transmitter 105 and receiver 115 (e.g., via a transport layer). Each frame of the display sequence is scaled to create a transmitted, uniformly sized region. As receiver 115 receives each frame, it scales the uniformly sized region using a different scaling factor to create a scaled frame with a variable-sized region. The scaled frame is then driven to HMD 120. In one implementation, the transmitted display stream contains embedded information regarding the horizontal and vertical scaling of the rectangular region, and this information can be adjusted for each transmitted frame. In one implementation, receiver 115 is separate from HMD 120 and communicates with HMD 120 using a wired or wireless connection. In another implementation, the receiver 115 is integrated within the HMD 120 .

[0015] Transmitter 105 and receiver 115 represent any type of communication device and / or computing device. For example, in various implementations, transmitter 105 and / or receiver 115 may be a mobile phone, a tablet, a computer, a server, an HMD, a television, another type of display, a router, or another type of computing or communication device. In one implementation, system 100 executes a virtual reality (VR) application that wirelessly transmits frames of a rendered virtual environment from transmitter 105 to receiver 115. In other implementations, other types of applications (e.g., augmented reality (AR) applications) may be implemented using system 100 that utilizes the methods and mechanisms described herein.

[0016] Within each image displayed on HMD 120, the scene displayed on the right side 125R of HMD 120 includes a focus region 130R, while the scene displayed on the left side 125L of HMD 120 includes a focus region 130L. These focus regions 130R and 130L are indicated by circles within the extended right side 125R and left side 125L of HMD 120, respectively. In one implementation, the positions of focus regions 130R and 130L within the right and left half-frames, respectively, are determined based on eye-tracking sensors within HMD 120. In this implementation, eye-tracking data is provided as feedback to transmitter 105 and, optionally, to the rendering source of the VR video. In some cases, the eye-tracking data feedback is generated at a higher frequency than the VR video frame rate, and transmitter 105 has access to this feedback and can update the encoded video stream on a frame-by-frame basis. In some cases, eye tracking is not performed on HMD 120, but rather video and other sensor data is sent back to transmitter 105 for further processing to determine eye position and movement. In another implementation, the positions of focus regions 130R and 130L are specified by the VR application based on where the user is expected to look. In another implementation, the positions of focus regions 130R and 130L are determined based on the characteristics of the optical system alone or in combination with eye tracking. It should be noted that the size of focus regions 130R and 130L may vary depending on the implementation. Furthermore, the shape of focus regions 130R and 130L may vary depending on the implementation, with another implementation defining focus regions 130R and 130L as ellipses. In other implementations, other types of shapes may also be used for focus regions 130R and 130L.

[0017] Now go to Figure 2 , shows a block diagram of one implementation of a transmitter 200. In one implementation, the transmitter 200 includes at least a foveated rendering unit 210, a scaling unit 220, and an encoder 230. Alternatively, in another implementation, the foveated rendering unit 210 is coupled to the transmitter 200 rather than being integrated within the transmitter 200. It should be noted that the transmitter 200 may also include other components that are not shown in order to avoid obscuring the drawing. Although the foveated rendering unit 210, the scaling unit 220, and the encoder 230 are shown in FIG. Figure 220 and encoder 230. The rendering unit 210, scaling unit 220, and encoder 230 are shown as separate units in FIG. 20, but it should be noted that in other implementations, any two of these units may be combined into a single unit, or all three units may be combined into a single unit. It should also be noted that in other implementations, any of the foveated rendering unit 210, scaling unit 220, and encoder 230 may be split into multiple separate units to perform different functions associated with the corresponding unit. Each of the rendering unit 210, scaling unit 220, and encoder 230 is implemented using any suitable combination of hardware (e.g., control logic, processing unit) and / or software (e.g., program instructions executable by a processor).

[0018] In one implementation, the foveated rendering unit 210 generates a rendered image 215 from graphics information (e.g., raw image data). In one implementation, the rendered image 215 is a single video frame of a video sequence. Note that the terms "image," "frame," and "video frame" are used interchangeably herein. The foveated rendering unit 210 receives a foveated region (e.g., Figure 1 In one implementation, the foveal region information is obtained from an HMD (e.g., Figure 1 One or more eye tracking sensors in the HMD 120 of the embodiment of the present invention are provided to the transmitter 200. The foveated rendering unit 210 uses the foveal area information to generate a foveal area with a relatively higher pixel density than other areas of the rendered image 215.

[0019] In one implementation, the rendered image 215 is divided into multiple variable-size regions (i.e., non-equal-sized regions). In one implementation, each of the multiple regions is a rectangle. In another implementation, the multiple regions are horizontal bands that can be further subdivided into rectangles. In other implementations, the regions may have other types of shapes. The multiple regions include a single foveal region and multiple non-foveal regions. In one implementation, the foveal region is a relatively smaller region than the non-foveal region. In one implementation, regional scaling is matched to the acuity of the human visual system (HVS), and scaling within each region is driven by acuity. In other words, scaling increases as the distance from the foveal region increases.

[0020] Scaling unit 220 receives rendered image 215 and foveal region information. In one implementation, scaling unit 220 converts the variable-sized regions in rendered image 215 into equal-sized regions in scaled image 225 by scaling different variable-sized regions in rendered image 215 using different scaling factors. For example, in one implementation, scaling unit 210 maintains the original pixel density of the foveal region of rendered image 215 while reducing the non-foveal region of rendered image 215. Scaling unit 210 applies different scaling factors to the non-foveal regions, where the scaling factors are selected based on the specific size of the non-foveal regions. As a result of applying different scaling factors to different regions, scaling unit 220 converts the variable-sized regions of rendered image 215 into equal-sized regions of scaled image 225. Note that each of the equal-sized regions in scaled image 225 includes the same number of pixels. In one implementation, scaling unit 220 divides the image size by the number of regions to calculate a target size for each equal-sized region. Then, in this implementation, scaling unit 220 scales each region by an amount that will bring the scaled region to the target size. For example, if the image size is 1000×1000 pixels and there are five horizontal partitions and five vertical partitions in the image, the target size of each equal-sized region is 200×200 pixels. In other implementations, for images of other sizes and / or other numbers of regions, the target size of each equal-sized region can be calculated in a similar manner.

[0021] If the original size of the given region is larger than the target size, the given region will be scaled down (i.e., downsampled), which will cause each pixel value to be combined with one or more adjacent pixel values to generate a pixel value in the scaled version of the given region. If the original size of the given region is smaller than the target size, the given region will be scaled up (i.e., expanded), which will cause each pixel value to be used to calculate the values of two or more pixels in the scaled version of the given region.

[0022] After the scaling unit 220 generates the scaled image 225, the equal-sized region of the scaled image 225 is provided to the encoder 230, which encodes the scaled image 225 into an encoded image 235 for transmission to a receiver (not shown). In one implementation, the encoded image 235 includes metadata identifying the size and location of the foveal region within the encoded image 235. The encoded image 235 also includes metadata specifying a scaling factor that should be used to convert the equal-sized region of the encoded image 235 back to the original variable-sized region to recreate an undistorted version of the original image.

[0023] Note that in one implementation, Figure 2Each image shown actually represents a pair of images, one for each eye view of the HMD. For example, in this implementation, rendered image 215 represents a pair of images comprising a first rendered image for the right eye and a second rendered image for the left eye. Similarly, scaled image 225 represents a pair of images for the right and left eye portions of the HMD, and encoded image 235 represents a pair of images for the right and left eye portions. Alternatively, Figure 2 Each image generated by the circuit in includes a left-eye portion and a right-eye portion, which are combined into a single image.

[0024] Now refer to Figure 3 , shows an example of an original pre-scaled image and a scaled image according to one implementation. Figure 3 The original image 300 shown on the left is a two-dimensional array of pixel values representing a frame of a video. The original image 300 represents Figure 2 Rendered image 215. For the purposes of this discussion, assume that the central rectangular region 300E corresponds to the foveal region (i.e., the high acuity region) when it is mapped to the original image 300. In one implementation, the pixel density within each rectangular region of the original image 300 is uniform. Therefore, in this implementation, the division of the original image 300 into regions 300A to 300J is based on each region having a uniform pixel density within the region.

[0025] Zoom image 310 in Figure 3 , which is a scaled version of the original image 300 after the scaling factor has been applied to the variable-sized regions 300A to 300J to create equal-sized regions 310A to 310J. Although the scaled image 310 distorts the content of the original image 300, this distortion will be removed by the receiver before the resulting undistorted image is driven to the display. Note that the scaled image 310 represents the scaled image 225 ( Figure 2 ). It is also noted that the scaling factor can take integer or non-integer values. In one implementation, the scaling region 310 is composed of scaling units (e.g., Figure 2 The scaling unit 220) generates the image 300 by applying different scaling factors based on the size of the area within the original image 300. Figure 3 As shown, region 300E of the original image 300 is maintained in proportion, thereby leaving region 310E of the scaled image 300 unchanged compared to region 300E. The other regions 300A to 300D and 300F to 300J are either maintained in proportion or reduced by different amounts proportional to their sizes to create regions 310A to 310D and 310F to 310J, respectively.

[0026] When the transmitter encodes the scaled image 310 and then sends the encoded result to the receiver, the receiver decodes the encoded image and then reverses the scaling process to restore the image back to a version that is linearly scaled relative to the original image 300. With this approach, scaling on the receiver side is relatively simple and can be achieved by caching a small number of previously displayed lines, even across regions of different scales.

[0027] It should be understood that the division of the original image 300 and the scaled image 310 into nine separate rectangular regions is for illustrative purposes. In actual implementations, the original image 300 and the scaled image 310 can be divided into nine or another number of regions of uniform pixel density. Additionally, the shape of the regions can vary depending on the implementation. For example, in another implementation, the original image 300 and the scaled image 310 can be divided into horizontal bands, or the horizontal bands can be further subdivided into rectangles.

[0028] Now go to Figure 4 , shows a block diagram of one implementation of a computing system 400. In one implementation, the receiver 400 is integrated into an HMD (e.g., Figure 1 120). In another implementation, the receiver 400 is a separate component from the HMD, and the receiver 400 communicates with the HMD via a wired or wireless interface. In one implementation, the receiver 400 includes at least a decoding unit 410, a scaling unit 420, and a display controller 430. Note that the receiver 400 may include other units, which are not shown to avoid obscuring the drawings. In other implementations, the receiver 400 may include other units and / or the receiver 400 may be configured in other suitable arrangements. Note also that in other implementations, Figure 4 Two or more of the shown units may be combined together into a single unit.

[0029] In one implementation, the decoding unit 410 receives the data transmitted by the transmitter (e.g., Figure 1 The decoded image 415 is transmitted to the receiver 400 by the transmitter 105 of the decoder 410. The decoding unit 410 decodes the encoded image to generate a decoded image 415 which is transmitted to the scaling unit 420. It should be noted that the decoded image 415 includes a plurality of equal-sized regions. The decoding unit 410 also extracts the foveal region information and the scaling factor from the metadata of the encoded image. The scaling unit 420 receives the decoded image 415 as well as the foveal region information and the scaling factor from the decoding unit 410. Depending on the implementation, the scaling factor can be specified in different ways. In one implementation, the scaling factor is specified by region or by horizontal row and vertical column of the region. In another implementation, the scaling factor is specified using a formula based on adjusting the scaling amount by horizontal displacement and vertical displacement from the foveal region.

[0030] The scaling unit 420 generates a scaled image 425 by performing a specified scaling on equal-sized regions of the decoded image 415. In one implementation, the scaled image 425 includes multiple regions of varying sizes, with the foveal region being a relatively smaller region and the non-foveal region being a relatively larger region. The display controller 430 processes the scaled image 425 in a manner suitable for a particular target display to generate a final image 435. The final image 435 is then driven to a target display (e.g., an HMD) (not shown). Note that the final image 435 may be stored in a frame buffer or other location before being driven to the target display.

[0031] Now refer to Figure 5 , shows one implementation of a method 500 for a transmitter to generate a scaled image having equal-sized areas for transmission to a receiver. For discussion purposes, the steps and Figure 6 However, it should be noted that in various implementations of the described method, one or more of the described elements may be performed simultaneously, in a different order than shown, or omitted entirely. Other additional elements may also be performed as needed. Any of the various systems or devices described herein may be configured to implement method 500.

[0032] The transmitter receives a foveated rendered VR or AR image that is divided into variable-sized areas, each of which has a uniform pixel density (box 505). Note that the pixel density can vary between areas. In one implementation, the variable-sized areas include a relatively small foveated area and a relatively large non-foveated area. In another implementation, the transmitter includes a rendering unit that generates a foveated rendered VR or AR image. As used herein, the term "foveated rendering" is defined as a technique for rendering an image having a high-resolution area corresponding to the portion of the image to which the user's line of sight is directed, while rendering other areas at a lower resolution or lower fidelity. In some cases, the foveated rendered image has a variable amount of pixel resolution that varies depending on the distance from the foveated area of the image, where the pixel resolution or fidelity decreases as the distance from the foveated area increases.

[0033] The transmitter scales the variable-sized regions of the foveated rendered image to create a scaled image with equal-sized regions (block 510). The transmitter then encodes the scaled image to create an encoded image (block 515). The transmitter may encode the scaled image using any suitable encoding scheme, where the type of encoding scheme varies depending on the implementation. Furthermore, the transmitter embeds metadata in the encoded image that specifies the foveated region, the partitions, and the scaling factor used to scale the image (block 520). In various implementations, the metadata specifies the size and location of the foveated region, the number of partitions, the shape of the partitions, the scaling factor used to scale the partitions, and so on. Alternatively, rather than embedding the metadata in the encoded image, the metadata may be sent separately to the receiver. Next, the transmitter transmits the encoded image to the receiver for display (block 525). After block 525, method 500 ends.

[0034] Now go to Figure 6 , shows one implementation of a method 600 for receiving, decoding, and scaling an image for display. A receiver receives an encoded image divided into equal-sized regions of uniform pixel density (block 605). Next, the receiver extracts metadata from the encoded image, where the metadata specifies a foveal region and a scaling factor to apply to the region of the decoded image (block 610). Additionally, the receiver decodes the encoded image to generate a decoded image (block 615). The receiver can be any type of computing device or apparatus. In one implementation, the receiver includes or is coupled to a head-mounted display (HMD).

[0035] The receiver then applies the scaling factors to the equal-sized regions of the decoded image to create scaled images of the variable-sized regions (block 620). For example, in one implementation, the scaling factors include a magnification factor applied to the region of the received image, where the regional scaling factor is inversely proportional to the ratio used by the transmitter when reducing the original image region. In one implementation, the foveal region information is used to control the scaling method, image sharpening, and other image processing. The result of block 620 is a version of the image that is linearly scaled relative to the original image. Next, the scaled image is provided to a display controller (block 625). The display controller then processes the scaled image and drives the resulting image to a display (block 630). After block 630, method 600 ends.

[0036] In various implementations, program instructions of software applications are used to implement the methods and / or mechanisms described herein. For example, it is envisioned that program instructions can be executed by a general-purpose processor or a special-purpose processor. In various implementations, such program instructions can be represented by a high-level programming language. In other implementations, the program instructions can be compiled from the high-level programming language into a binary form, an intermediate form, or other form. Alternatively, program instructions describing the behavior or design of the hardware can be written. Such program instructions can be represented by a high-level programming language such as C. Alternatively, a hardware design language (HDL) such as Verilog can be used. In various implementations, the program instructions are stored on any one of a variety of non-transitory computer-readable storage media. The storage medium can be accessed by a computing system during use to provide the program instructions to the computing system for program execution. Generally speaking, such a computing system includes at least one or more memories and one or more processors configured to execute the program instructions.

[0037] It should be emphasized that the above implementation is merely a non-limiting example of an implementation. Once the above disclosure is fully understood, numerous variations and modifications will become apparent to those skilled in the art. The appended claims are intended to be interpreted as covering all such variations and modifications.

Claims

1. A transmitter, comprising: A scaling unit, wherein the scaling unit is configured to: receiving a foveated rendered image divided into a plurality of variable-sized regions, wherein each region has a uniform pixel density; as well as scaling the plurality of variable-sized regions of the foveated rendered image to create a scaled image having regions of equal size; as well as An encoder is configured to encode the scaled image to create an encoded image.

2. The emitter of claim 1 , wherein scaling the foveated rendered image comprises applying a scaling factor to each of the plurality of variable-sized regions, wherein the scaling factor is calculated based on a size of a given region relative to a target size for equal-sized regions.

3. The emitter of claim 1, wherein the plurality of variable-sized regions are rectangles within the foveated rendered image.

4. The emitter of claim 1, wherein the plurality of variable-sized regions are horizontal bands within the foveated rendered image.

5. The emitter of claim 4, wherein the plurality of variable-sized regions are sub-regions of horizontal bands within the foveated image.

6. The transmitter of claim 1 , wherein the transmitter is configured to embed metadata in the encoded image transmitted to the receiver, wherein the metadata specifies a foveal region of the image and a scaling factor to be applied to the region of a decoded version of the image.

7. The transmitter of claim 1 , wherein the scaling unit is further configured to: applying a first scaling factor to a first region of the plurality of variable-sized regions; and A second scaling factor is applied to a second region of the plurality of variable-sized regions, wherein the second scaling factor is different from the first scaling factor.

8. A method comprising: receiving, by a transmitter, a foveated rendered image divided into a plurality of regions of variable size, wherein each region has a uniform pixel density; scaling the plurality of variable-sized regions of the foveated rendered image to create a scaled image having regions of equal size; as well as The scaled image is encoded to create an encoded image.

9. The method of claim 8, wherein scaling the foveated rendered image comprises applying a scaling factor to each of the plurality of variable-sized regions, wherein the scaling factor is calculated based on a size of the region relative to a target size for equal-sized regions.

10. The method of claim 8, wherein the plurality of variable-sized regions are rectangles within the foveated rendered image.

11. The method of claim 8, wherein the plurality of variable-sized regions are horizontal bands within the foveated image.

12. The method of claim 8, wherein the plurality of variable-sized regions are rectangles within a horizontal strip of the foveated image.

13. The method of claim 8, further comprising embedding metadata in the encoded image transmitted to the receiver, wherein the metadata specifies a foveal region of the image and a scaling factor to be applied to the region of a decoded version of the image.

14. The method of claim 8, further comprising: applying a first scaling factor to a first region of the plurality of variable-sized regions; as well as A second scaling factor is applied to a second region of the plurality of variable-sized regions, wherein the second scaling factor is different from the first scaling factor.

15. A system comprising: A transmitter, the transmitter being configured to: receiving a foveated rendered image divided into a plurality of variable-sized regions, wherein each region has a uniform pixel density; scaling the plurality of variable-sized regions of the foveated rendered image to create a first scaled image having regions of equal size; encoding the first scaled image to create an encoded image; transmitting the encoded image; as well as A receiver, the receiver being configured to: receiving the encoded image; decoding the encoded image to generate a decoded image; scaling a plurality of regions of the encoded image at different scaling factors to create a second scaled image; as well as The second scaled image is driven to a display.

16. The system of claim 15, wherein the different zoom factors cause one or more of the plurality of regions to be zoomed to display regions of different sizes.

17. The system of claim 15, wherein the plurality of variable-sized regions are rectangles within the reconstructed foveated rendered image.

18. The system of claim 15, wherein the plurality of variable-sized regions are horizontal bands within the reconstructed foveated rendered image.

19. The system of claim 15, wherein the plurality of variable-sized regions are rectangles within a horizontal strip of the reconstructed foveated rendered image.

20. The system of claim 15, wherein the transmitter is configured to embed metadata in the encoded image, wherein the metadata specifies a foveal region of the image and a scaling factor to be applied to the region of a decoded version of the image.