A method for solving 8K FOV irregular viewing angle display based on tile splicing
By obtaining the user's current 8KFOV perspective, determining irregular high-definition tile shards, combining and decoding data, recording location information, decoding, restoring the high-definition area image, and stitching or overwriting it with the low-definition image, it solves the problem that the VR video transmission solution cannot fully cover the high-definition area when the user's perspective is higher or lower, and improves the user experience.
Patent Information
- Application Number
- CN202411952400.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-01
AI Technical Summary
When the user's viewing angle is higher or lower, the existing VR video transmission solution cannot flexibly adapt to the viewing angle changes, resulting in the high-definition area being unable to be fully covered, affecting the user experience.
By obtaining the user's current 8KFOV perspective, it determines irregular high-definition tile shards, merges and decodes data, records location information, restores the high-definition area image after decoding, and stitches or overwrites the low-definition image.
It realizes flexible and real-time selection of high-definition sharding areas from any angle of the user, and improves the user's high-definition display effect from any angle of the user.
Smart Images

Figure CN119743655A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of VR video technology, and in particular to a method, device and storage medium for displaying 8K FOV irregular viewing angles based on tile splicing. Background Art
[0002] In today's booming Internet environment, the consumption model of video content has undergone profound changes, and users' expectations for the clarity of online videos continue to rise. As an immersive multimedia experience, virtual reality (VR) technology is gaining increasing attention for its panoramic 360-degree video content.
[0003] At present, the mainstream resolution of VR videos is mostly 4K. Although it can provide a certain degree of immersive experience, there is still room for improvement for users who pursue the ultimate image quality. The emergence of 8K VR video should be an important breakthrough in improving image quality. It can present more delicate and realistic image details, greatly enhancing the user's sense of immersion. However, the bandwidth required for 8K VR video is extremely large, about 100-200Mbps, which is far beyond the range that most current network infrastructure can carry. Under the existing network conditions, whether it is a home broadband network or a mobile network, such high bandwidth requirements will cause video transmission to be stuck, delayed, or even unable to play, seriously affecting the user experience.
[0004] In order to strike a balance between limited network resources and users' demand for high-definition VR videos, the industry has actively explored and proposed a transmission solution based on FOV (field of view) adaptation. The core of this solution is to cleverly pre-process the original VR video and decompose it into two parts: high-definition segmented video and low-definition 360-degree video. However, they usually center on the point where the user's current FOV corresponds to the panoramic video, and determine a rectangular area of content segments for subsequent merging, decoding and display operations. This simple rectangular area determination method works relatively well when the user's perspective is horizontal or close to horizontal, but once the user's perspective is biased upward or downward, the problem becomes prominent. Due to the limitations of the rectangular area, it is impossible to flexibly adapt to the changes in the perspective in the vertical direction, resulting in the inability to fully cover some high-definition areas that should be in the field of view when the perspective is biased upward and downward, which greatly reduces the clarity of the picture seen by users at these special perspectives, and they cannot fully enjoy the visual experience that high-definition VR videos should have. This has also become a key technical challenge that needs to be solved to further optimize this transmission solution. Summary of the invention
[0005] The purpose of the present invention is to solve the shortcomings of the prior art and provide a method for displaying 8K FOV irregular viewing angles based on tile splicing, comprising the following steps: S1: obtaining the user's current 8KFOV viewing angle, determining irregular high-definition tile segments according to the current 8KFOV viewing angle, and downloading low-definition image encoding data according to the irregular high-definition tile segments; S2: Merging the irregular high-definition tile slices to obtain merged data, and recording row and column position information; the decoder decodes the merged data to obtain a decoded rectangular image; S3: restore the high-definition area image according to the decoded rectangular image and the arrangement rule, decode the low-definition image encoding data to obtain a decoded low-definition graphic, and arrange and display the high-definition area image and the low-definition image.
[0006] Preferably, in step S1, determining irregular high-definition tile fragmentation according to the current 8K FOV viewing angle is further as follows: Divide the panoramic 360-degree video into tiles and record tile information including angle range and coordinate information; Determine the position of the current 8KFOV viewing angle center in the panoramic 360-degree video according to the user's current 8KFOV viewing angle; The irregular high-definition tile slices and the number of tile slices are determined according to the center position of the tile slices and the center of the current 8KFOV viewing angle.
[0007] Preferably, the irregular high-definition tile slices and the number of tile slices are further determined according to the center position of the tile slices and the center of the current 8KFOV viewing angle: Calculate the tile slice azimuth and tile slice elevation of the tile slice center position according to the angle range including the azimuth range and the elevation range and the coordinate information; Calculate the azimuth angle difference and the elevation angle difference according to the center position of the tile segment and the center position of the user's 8K FOV viewing angle; The irregular high-definition tile fragmentation is determined according to the azimuth angle difference and the elevation angle difference.
[0008] Preferably, in step S2, merging the irregular high-definition tile fragments to obtain merged data, and recording row and column position information further includes: Set the image size to create a mosaic canvas and set placement rules; The processed irregular high-definition tile segments are placed at corresponding positions of the stitching canvas according to the image size and the placement rule to obtain merged data, and row and column position information is recorded.
[0009] Preferably, in step S2, placing the processed irregular high-definition tile fragments at corresponding positions of the stitching canvas according to the image size and the placement rule to obtain merged data is further: Obtaining the tile slice azimuth and tile slice elevation of each irregular high-definition tile slice in the panorama, and sorting the tile slices from small to large according to the tile slice elevation, the number of tile slices, and the tile slice information; if the tile slice elevations are the same, sorting the tile slices from small to large according to the tile slice azimuth to obtain sorted slices; Placing the sorted tiles from left to right and from top to bottom at positions corresponding to the stitching canvas according to the image size to obtain placement tiles, and recording the corresponding row and column position information of each irregular high-definition tile tile when it is placed; The placement slices are merged according to the row and column position information to obtain merged data.
[0010] Preferably, in step S3, arranging and displaying the high-definition area image and the low-definition image further comprises: Merging the high-definition area image and the low-definition image by splicing or overlaying to obtain a merged high-low image; Arranging and displaying the combined high and low images; The combined high and low images are obtained by the stitching method by using the low-definition image as the background and placing the high-definition area images in sequence according to the angle to obtain the combined high and low images.
[0011] Preferably, obtaining the merged high and low images by overlay merging further comprises: Calculate the position information of the high-definition area image in the low-definition image according to the coordinate information and the angle range or according to the center point of the user's current 8KFOV viewing angle; According to the position information, the pixel data of each high-definition area image is copied to the coordinate range corresponding to the low-definition image to achieve overlay arrangement display.
[0012] A computer device, characterized in that it includes a memory and a processor, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes the steps of a method for solving 8KFOV irregular viewing angle display based on tile splicing in an embodiment of the present invention.
[0013] A storage medium storing computer-readable instructions, characterized in that when the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of a method for solving 8KFOV irregular viewing angle display based on tile splicing in an embodiment of the present invention.
[0014] Compared with the prior art, the present invention has the following beneficial effects: The present invention determines an irregular slice area composed of slices with a short distance from the center of the FOV viewing angle to the periphery, merges and arranges the data for decoding, and replaces the high-definition display according to the original irregular slice area, so as to realize flexible and real-time selection of the high-definition slice area according to the specific needs of the user at any viewing angle. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the following detailed description of the preferred embodiment.The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting the invention.
[0016] Figure 1 This is a flow chart of the method for solving 8K FOV irregular viewing angle display based on tile splicing of the present invention; Figure 2 Another flow chart of the method for solving 8K FOV irregular viewing angle display based on tile splicing of the present invention; Figure 3 A schematic diagram of irregular high-definition tile slicing based on tile slicing splicing to solve the 8KFOV irregular viewing angle display method of the present invention; Figure 4 This is a schematic diagram of the combined data of the method for displaying 8K FOV irregular viewing angles based on tile splicing of the present invention; Figure 5 This is a schematic diagram of decoded data of a method for displaying 8K FOV irregular viewing angles based on tile splicing according to the present invention; Figure 6 This is a schematic diagram of restored data of the method for solving 8KFOV irregular viewing angle display based on tile splicing of the present invention. DETAILED DESCRIPTION
[0017] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0018] Those skilled in the art will appreciate that, unless otherwise stated, the singular forms "a", "an", and "the" used herein may also include plural forms. It should be further understood that the term "comprising" used in the specification of the present invention refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0019] Example 1 See also Figure 1 and Figure 2 As shown, the method for solving the 8K FOV irregular viewing angle display based on tile splicing provided in this embodiment includes the following steps: S1: Obtain the user's current 8KFOV viewing angle, determine irregular high-definition tile fragmentation based on the current 8KFOV viewing angle, and download low-definition image encoding data based on the irregular high-definition tile fragmentation. Specifically, in this embodiment, in a specific VR / AR device or panoramic shooting application scenario, the user's current 8KFOV viewing angle is obtained through the angle sensor of the camera, or the viewing angle setting parameters at the software level including the panoramic browsing software are set to accurately obtain the current 8KFOV viewing angle related data.
[0020] Preferably, in step S1, determining irregular high-definition tile fragmentation according to the current 8K FOV viewing angle is further as follows: The panoramic 360-degree video is divided into tile segments, and tile segment information including angle range and coordinate information is recorded. Specifically, in this embodiment, refer to Figure 3 As shown in the figure, 36 pieces of high-definition tile data are selected. The panoramic 360-degree video can also be divided into 12x12 tile tiles. It can be set as needed. The tile tile information includes image attribute information such as resolution, and records the resolution (width and height pixel values) of each tile itself and image encoding format and other attributes to facilitate subsequent processing (such as knowing the specific specifications of the image during decoding and splicing).
[0021] The position of the center of the current 8KFOV viewing angle in the panoramic 360-degree video is determined according to the user's current 8KFOV viewing angle. Specifically, in this embodiment, the position of the center of the current FOV viewing angle of the user in the panoramic 360-degree video is determined by setting related devices or software. This position is usually described by azimuth and elevation. The azimuth indicates the direction angle in the horizontal direction, and the value range is generally 0 to 36 degrees. For example, due north is 0 degrees, and the clockwise rotation angle gradually increases. The elevation angle indicates the angle in the vertical direction, and the value range is generally 0 to 180 degrees. The horizontal direction is 0 degrees, and the upward tilt angle gradually increases. For example, the azimuth of the center of the user's current viewing angle is 135 degrees, and the elevation is 60 degrees, which clarifies the approximate viewing direction in the panoramic space.
[0022] Determine the irregular high-definition tile fragments and the number of tile fragments based on the center position of the tile fragments and the current 8KFOV viewing angle center.
[0023] Preferably, the irregular high-definition tile slices and the number of tile slices are further determined according to the center position of the tile slices and the center of the current 8KFOV viewing angle: The tile slice azimuth and tile slice elevation of the center position of the tile slice are calculated according to the angle range including the azimuth range and the elevation range and the coordinate information. Specifically, in this embodiment, for each tile, the azimuth of the center position is obtained by taking an average value according to the angle range, and the elevation is obtained in the same manner); Calculate the azimuth and elevation differences based on the tile center and the user's 8K FOV center. The irregular high-definition tile segmentation is determined according to the azimuth difference and the elevation difference. Specifically, in this embodiment, the Pythagorean theorem is used to calculate the length of the hypotenuse of the right triangle formed by the angle difference (equivalent to treating the azimuth and elevation differences as right-angled sides and calculating the comprehensive distance on the angle represented by the hypotenuse). If this comprehensive angle distance is less than or equal to half of the user's current field of view angle (meaning that the center of the tile is within the boundary of the viewing angle range).
[0024] S2: Merge the irregular high-definition tile slices to obtain merged data, and record the row and column position information. The decoder decodes the merged data to obtain a decoded rectangular image.
[0025] Preferably, in step S2, merging the irregular high-definition tile fragments to obtain merged data, and recording row and column position information further includes: Set the image size to create a mosaic canvas and set placement rules; According to the image size and placement rules, the processed irregular high-definition tile fragments are placed at the corresponding positions of the spliced canvas to obtain merged data, and the row and column position information is recorded. Specifically, in this embodiment, please refer to Figure 4 As shown, the selected 36 pieces of original data are arranged into regular 36 pieces of data merged, and the original high-definition sorting correspondence is recorded.
[0026] The spliced m*n rectangular slice data is used as input and decoded according to the decoding rules and processes of the corresponding video encoding format. The decoding process involves parsing and restoring the video frames, audio and other information (if there is an audio part) in the encoded data, and extracting the image frame data (here we focus on the image part and do not expand the audio related processing in detail).
[0027] The decoder will convert the encoded video data into a pixel matrix form that can be directly displayed and processed frame by frame, that is, the decoded m*n rectangular images are obtained. These images will conform to the final picture structure to be displayed. Subsequently, further display, special effect processing or merging with other image elements can be performed based on these decoded images. Specifically, in this embodiment, please refer to Figure 5 As shown, the merged data is decoded to obtain a regular 36-slice decompressed data arrangement.
[0028] Preferably, in step S2, the processed irregular high-definition tile fragments are placed at corresponding positions of the stitching canvas according to the image size and placement rules to obtain the merged data further as follows: Get the tile slice azimuth and tile slice elevation of each irregular high-definition tile slice in the panorama, sort them from small to large according to the tile slice elevation, tile slice quantity and tile slice information. If the tile slice elevations are the same, sort them from small to large according to the tile slice azimuth to obtain sorted tiles. Place the sorted tiles from left to right and from top to bottom to the corresponding positions of the stitching canvas according to the image size to obtain the placement tiles. Each time an irregular high-definition tile tile is placed, its corresponding row and column position information is recorded; The slices are merged and placed according to the row and column position information to obtain the merged data.
[0029] The main implementation of merging the arrangement and recording the conversion relationship is as follows: Define hdPosInfo as a record of the corresponding position relationship before and after the arrangement for (int j = 0; j < MAX_TILE_INFO_SIZE; j++) { / / MAX_TILE_INFO_SIZE is m*n, let index = the number of the currently traversed tile in the entire 12*12 area, the number range is 1-144 hdPosInfo->tileInfos[j].is_valid = 1; hdPosInfo->tileInfos[j].src_video_index = index; hdPosInfo->tileInfos[j].hd_video_index = j+1; } S3: restore the high-definition area image according to the decoded rectangular image and the arrangement rule, decode the low-definition image encoding data to obtain a decoded low-definition graphic, and arrange and display the high-definition area image and the low-definition image.
[0030] Preferably, in step S3, arranging and displaying the high-definition area image and the low-definition image further comprises: The high-definition area image and the low-definition image are merged by splicing or overlaying to obtain a merged high-low image; Arrange and display the merged high and low images. For details, please refer to Figure 6 As shown, the recorded original high-definition sorting data restores the position of the high-definition slices and displays them; The high-low image is obtained by stitching, that is, the low-definition image is used as the background, and the high-definition area images are placed in sequence according to the angle order to obtain the high-low image. Specifically, in this embodiment, the low-definition image is used as the background, and the high-definition area images are placed in sequence on top according to the angle order, the spatial position order, etc., just like in the stitching. Figure 1 In this way, they are combined to form a complete picture. In the process of placement, attention should be paid to details such as the spacing and alignment between the images to ensure the beauty and readability of the overall display effect. This method emphasizes the relative position relationship between images and the integrity of the overall picture. It is suitable for scenes that need to fully display the relationship between high-definition areas and low-definition panoramas.
[0031] The pseudo code for restoring the decoded image data to the m*n irregular region in implementation 1 is as follows: for (int i = 0; i < MAX_TILE_INFO_SIZE; i++) { m_ubo_data.indexInfo[hdPosInfo ->tileInfos[i].src_video_index-1]= hdPosInfo->tileInfos[i].hd_video_index;# m_ubo_data.srcIndexInfo[i]=hdPosInfo ->tileInfos[i].src_video_index; } Preferably, obtaining the merged high and low images by overlay merging further comprises: Calculate the position information of the high-definition area image in the low-definition image based on the coordinate information and angle range or based on the center point of the user's current 8KFOV viewing angle; According to the position information, the pixel data of each high-definition area image is copied to the coordinate range corresponding to the low-definition image to realize the overlay arrangement display. Specifically, in this embodiment, if the coordinates of the upper left corner of the high-definition area image in the low-definition image are (x, y), its width is w and its height is h, the high-definition area image can be overlaid on the low-definition image by pixel-by-pixel copying (a simple double-layer loop traversing the pixels in the coordinate range corresponding to the high-definition area image and the low-definition image) or by using the image synthesis function provided by the image processing library (OpenGL rendering on the GPU, and in other embodiments, the image overlay function in the cv2 library can also be used). This method is relatively simple and direct, and is suitable for situations where the high-definition area image corresponds to the focus area or high-resolution area in the low-definition image, etc. It can highlight the clear details under the user's current FOV perspective, while retaining the overall overview effect of the panorama.
[0032] If the coordinates of the upper left corner of the high-definition area image in the low-definition image are (x, y), its width is w, and its height is h, then the high-definition area image can be overlaid on the low-definition image through OpenGL rendering on the GPU. The steps are as follows: (1) Create a display window and associate it with the OpenGL context (initialize the GLFW library, set the window's related properties including size as required, create the actual window object, pass in window-related parameters including width, height and window title, set the created window's corresponding OpenGL context as the currently used context), and configure the OpenGL basic rendering environment (set the viewport and initialize the color, depth and template buffer as required); (2) (2.1) Obtain a low-resolution image from the corresponding data source. A common data source is a disk file, which may use common image encoding formats such as JPEG and PNG. When obtaining the image, it is necessary to clarify some key information of the image, such as the image width (in pixels), height (in pixels), and pixel color mode (RGB, RGBA, etc.). This information plays an important role in the subsequent processing and rendering of the image in OpenGL; similarly, obtain the high-resolution area image and its related attribute information from the corresponding data source, such as the coordinates of the upper left corner of the image in the low-resolution image (x, y) (this determines its position relative to the low-resolution image during the overlay operation), as well as its own width (w, in pixels) and height (h, in pixels), as well as the pixel color mode, etc., to ensure that this information is known in order to accurately perform image overlay operations.
[0033] (3) In OpenGL, image data needs to be stored in the GPU memory in the form of textures to facilitate subsequent rendering operations using the GPU's parallel computing capabilities.
[0034] (3.1) Create a texture object, which is equivalent to opening up an area in the GPU memory specifically for storing texture resources corresponding to low-definition image data.
[0035] (3.2) (3.2.1) Bind the created texture object to the appropriate texture target. For a two-dimensional image, it is usually bound to the GL_TEXTURE_2D texture target, which means that subsequent operations such as setting parameters and uploading data for the texture will act on this bound target.
[0036] (3.2.2) Select texture filtering methods such as nearest neighbor filtering (such as GL_NEAREST). The nearest neighbor filtering focuses on maintaining the original state of the pixel, and directly selects the pixel value closest to the sampling point as the result; it is used to handle the situation when the texture coordinates exceed the normal range (usually the interval of 0 to 1), and selects texture wrapping methods such as repeat wrapping (GL_REPEAT, the texture will be repeated in the direction beyond the range), mirror repeat wrapping (GL_MIRROR_REPEAT, mirror flipping will be performed each time it is repeated), and edge clamping (GL_CLAMP_TO_EDGE, the pixels corresponding to the out-of-range texture coordinates will take the pixel values of the texture edge to avoid the image from repeating). According to the layout and display requirements of the low-definition image in subsequent rendering and overlay operations, determine the appropriate wrapping method and make corresponding settings. For example, in general, edge clamping can prevent abnormal repeated display of the image.
[0037] (3.3) Accurately upload the acquired low-definition image data to the bound and parameterized texture object according to its actual width, height, pixel format (such as GL_RGB for RGB format images, GL_RGBA for RGB images with transparency channels, etc.) and image data type (for example, GL_UNSIGNED_BYTE is used for common unsigned character type image data), so that the GPU can correctly store and identify the image data and prepare for subsequent rendering operations.
[0038] (4) Following the same process as for processing low-definition images, create a texture object for the high-definition area image, bind it to the GL_TEXTURE_2D texture target, and then set appropriate texture filtering and texture wrapping parameters. For example, select a texture filtering method based on the desired display effect of the high-definition area image. Usually, in order to maintain high-definition image quality details, a suitable filtering method that can better restore the original state of the image may be selected. Then, the data of the high-definition area image is accurately uploaded to the corresponding texture object according to its own width (w), height (h), pixel format, and data type, completing the conversion of the high-definition area image to texture, so that it can also be stored in the GPU memory in the form of a texture, which is convenient for subsequent image overlay rendering operations.
[0039] (5) The vertex shader is mainly responsible for processing the vertex data of the graphics. In the image overlay scenario, it is necessary to determine the vertex coordinates corresponding to the low-definition image and the high-definition area image. For the low-definition image, its vertex coordinates can generally be set to cover the entire viewport area (if you want the low-definition image to cover the entire display area as the background), for example, set the four vertex coordinates to correspond to the four corner positions of the viewport (upper left corner, upper right corner, lower right corner, lower left corner), so that the low-definition image can be fully displayed in the window as the background. For the high-definition area image, according to the known upper left corner coordinates (x, y) corresponding to the low-definition image and its own width (w) and height (h), determine its corresponding four vertex coordinates so that its position in the two-dimensional space matches the expected coverage position on the low-definition image, for example, the upper left vertex coordinates are (x, y), the upper right vertex coordinates are (x+ w, y), the lower right vertex coordinates are (x+w, y+h), and the lower left vertex coordinates are (x, y+h).
[0040] In the vertex shader program, the input vertex coordinates are transformed accordingly according to the determined vertex coordinates (for example, it may involve conventional coordinate transformation operations such as converting the coordinates from the local space to the OpenGL clipping space to ensure that the image can be correctly placed in the viewport area for rendering), so that the vertices of the low-definition image and the high-definition area image can be rendered according to the desired layout and position relationship, providing the correct vertex position basis for subsequent image overlay rendering.
[0041] The fragment shader focuses on processing the color and other information of each pixel (fragment) of the image. In the image coverage operation, its logic is relatively direct. For each pixel position, it is necessary to determine whether the pixel belongs to the coverage range of the low-definition image or the high-definition area image (which can be determined by texture coordinates and the vertex coordinate range determined previously). If the pixel position is within the range of the low-definition image and the high-definition area image has not yet covered the position (that is, it is not within the coordinate range of the high-definition area image), then the pixel color value corresponding to the low-definition image is directly used as the final rendered color value; and if the pixel position is within the coordinate range of the high-definition area image, the pixel color value corresponding to the high-definition area image is used to replace the original low-definition image at that position. The pixel color value, thereby achieving the effect of the high-definition area image covering the low-definition image.
[0042] According to the above-mentioned fragment processing logic, the fragment shader program is written in GLSL language. The color value judgment and selection operations of different pixel positions are implemented in the program. The pixel color value is obtained through texture sampling (obtaining the color data of the corresponding pixel position from the corresponding low-definition image texture and high-definition area image texture), and the corresponding assignment operation is performed according to the judgment result. Finally, the rendering color value of each pixel is determined to complete the fragment shader logic setting of the image coverage.
[0043] (6) Enable the relevant texture and shader programs to execute rendering instructions to trigger the rendering process.
[0044] Example 2 In some embodiments of the present application, a computer device is also provided, including a memory and a processor, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes the steps of a method for solving 8KFOV irregular viewing angle display based on tile splicing in an embodiment of the present invention.
[0045] The present invention also provides a storage medium storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of a method for solving 8KFOV irregular viewing angle display based on tile splicing in an embodiment of the present invention.
[0046] It can be understood that for the aforementioned method of displaying 8KFOV irregular viewing angles based on tile splicing, if they are all implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer server, or a network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
[0047] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0048] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.
Claims
1. A method for displaying 8K FOV irregular viewing angles based on tile splicing, characterized in that: The following steps are involved: S1: obtaining the user's current 8KFOV viewing angle, determining irregular high-definition tile segments according to the current 8KFOV viewing angle, and downloading low-definition image encoding data according to the irregular high-definition tile segments; S2: Merging the irregular high-definition tile slices to obtain merged data, and recording row and column position information; the decoder decodes the merged data to obtain a decoded rectangular image; S3: restore the high-definition area image according to the decoded rectangular image and the arrangement rule, decode the low-definition image encoding data to obtain a decoded low-definition graphic, and arrange and display the high-definition area image and the low-definition image.
2. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 1 is characterized in that: In step S1, the irregular high-definition tile fragmentation is further determined according to the current 8K FOV viewing angle: Divide the panoramic 360-degree video into tiles and record tile information including angle range and coordinate information; Determine the position of the current 8KFOV viewing angle center in the panoramic 360-degree video according to the user's current 8KFOV viewing angle; The irregular high-definition tile slices and the number of tile slices are determined according to the center position of the tile slices and the center of the current 8KFOV viewing angle.
3. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 2 is characterized in that: The irregular high-definition tile slices and the number of tile slices are further determined according to the center position of the tile slices and the center of the current 8KFOV viewing angle: Calculate the tile tile azimuth and tile tile elevation of the tile tile center position according to the angle range including the azimuth range and the elevation range and the coordinate information; Calculate the azimuth angle difference and the elevation angle difference according to the center position of the tile segment and the center position of the user's 8KFOV viewing angle; The irregular high-definition tile fragmentation is determined according to the azimuth angle difference and the elevation angle difference.
4. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 3 is characterized in that: In step S2, merging the irregular high-definition tile fragments to obtain merged data and recording row and column position information further includes: Set the image size to create a mosaic canvas and set placement rules; The processed irregular high-definition tile segments are placed at corresponding positions of the stitching canvas according to the image size and the placement rule to obtain merged data, and row and column position information is recorded.
5. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 4 is characterized in that: In step S2, the processed irregular high-definition tile fragments are placed at corresponding positions of the stitching canvas according to the image size and the placement rule to obtain the merged data further as follows: Obtaining the tile slice azimuth and tile slice elevation of each irregular high-definition tile slice in the panorama, and sorting the tile slices from small to large according to the tile slice elevation, the number of tile slices, and the tile slice information; if the tile slice elevations are the same, sorting the tile slices from small to large according to the tile slice azimuth to obtain sorted tiles; Placing the sorted tiles from left to right and from top to bottom at positions corresponding to the stitching canvas according to the image size to obtain placement tiles, and recording the corresponding row and column position information of each irregular high-definition tile tile when it is placed; The placement slices are merged according to the row and column position information to obtain merged data.
6. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 5 is characterized in that: In step S3, arranging and displaying the high-definition area image and the low-definition image is further performed as follows: Merging the high-definition area image and the low-definition image by splicing or overlaying to obtain a merged high-low image; Arranging and displaying the combined high and low images; The combined high and low images are obtained by the stitching method by using the low-definition image as the background and placing the high-definition area images in sequence according to the angle to obtain the combined high and low images.
7. The method for solving 8K FOV irregular viewing angle display based on tile splicing according to claim 6 is characterized in that: The merged high and low images obtained by overlay merging further include: Calculate the position information of the high-definition area image in the low-definition image according to the coordinate information and the angle range or according to the center point of the user's current 8KFOV viewing angle; According to the position information, the pixel data of each high-definition area image is copied to the coordinate range corresponding to the low-definition image to achieve overlay arrangement display.
8. A computer device, characterized in that: It includes a memory and a processor, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor executes the steps of the method for solving 8KFOV irregular viewing angle display based on tile splicing as described in any one of claims 1 to 7.
9. A storage medium storing computer-readable instructions, characterized in that: When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the method for solving 8KFOV irregular viewing angle display based on tile splicing as described in any one of claims 1 to 7.