Video partitioning method, transmission method, server, adapter and storage medium

By generating video tracks, frame position information, and index files, the problem of server file fragmentation in FOV transmission was solved, achieving efficient video segmentation and transmission, and ensuring a high-quality VR content experience.

CN113824958BActive Publication Date: 2025-12-30ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010561781.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-18
Publication Date
2025-12-30
Estimated Expiration
2040-06-18

AI Technical Summary

Technical Problem

The video chunking scheme based on FOV transmission leads to severe file fragmentation on the server, affecting server performance.

Method used

By generating video tracks, video frame position information, virtual block information files, and video playback index files, the original video file is not divided into sub-image blocks, thus realizing a video block segmentation method and a transmission method.

Benefits of technology

It effectively avoids server file fragmentation, saves bandwidth resources, and supports high-quality VR content transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113824958B_ABST
    Figure CN113824958B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a video blocking method, a transmission method, a server, an adapter and a storage medium, and belongs to the technical field of data processing. The method comprises the following steps: generating a corresponding video track according to a bit stream of each sub-image block of an encoding file of an original video, and encapsulating the video track into a video file; analyzing the video file to obtain video frame position information of each video track; generating a virtual cutting block information file according to a serial number of the sub-image block of the encoding file and the video frame position information, and generating a video playing index file according to the serial number of the sub-image block. It can be seen that the embodiment of the application generates a corresponding virtual cutting block information file according to sub-image information in an original video, so that FOV transmission is realized, and fragmentation of a server caused by sub-image blocks is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of data processing, in particular to a video partitioning method, a transmission method, a server, an adapter and a storage medium. BACKGROUND

[0002] Transmission of VR video is mainly divided into panorama video transmission and field of view (FOV) dependent video transmission. With the advent of the 8K era, 8K VR will occupy more than 100 Mbps of bandwidth, so FOV transmission has become the main choice for VR services. In VR FOV transmission, the transmission based on sub-image partitioning introduces MCTS (Motion-Constrained Tile Set) in HEVC encoding. HEVC encoding can split the video image into sub-images, and the encoding and decoding of each sub-image in the video image do not depend on each other, resulting in multiple sub-image partitions. Although the FOV transmission scheme based on sub-image partitioning can guarantee users to watch high-quality VR content while reducing bandwidth, the more sub-image partitions result in serious file fragmentation of the server. SUMMARY

[0003] Embodiments of the present application provide a video partitioning method, a transmission method, a server, an adapter and a storage medium to solve the problem of serious file fragmentation of the server caused by the need to generate multiple sub-image partitions based on FOV transmission.

[0004] To achieve the above-mentioned purpose, the embodiments of the present application provide a video partitioning method, which comprises:

[0005] According to the bit stream of each sub-image block of the encoding file of the original video, a corresponding video track is generated, and the video track is encapsulated into a video file; the video file is parsed to obtain the video frame position information of each video track; a virtual tile information file is generated according to the sequence number of the sub-image block of the encoding file and the video frame position information, and a video playback index file is generated according to the sequence number of the sub-image block.

[0006] To achieve the above-mentioned purpose, the embodiments of the present application also provide a video transmission method, which comprises: sending a first download request to a server based on a play request service sent by a terminal, obtaining a virtual tile information file and a video playback index file corresponding to the first download request, and sending the video playback index file to the terminal; obtaining a sub-image video file corresponding to a second download request according to the second download request sent by the terminal based on the video playback index file and the virtual tile information file, and sending the sub-image video file to the terminal; wherein the video playback index file and the virtual image information file are obtained by the aforementioned video partitioning method.

[0007] To achieve the above object, the embodiment of the present application further provides a server, comprising a memory and a processor, the memory is used for storing a computer program; the processor is used for executing the computer program and realizing the steps of the video block method as described above when executing the computer program.

[0008] To achieve the above object, the embodiment of the present application further provides an adapter, comprising a memory and a processor, the memory is used for storing a computer program; the processor is used for executing the computer program and realizing the video transmission method as described above when executing the computer program.

[0009] To achieve the above object, the embodiment of the present application further provides a computer readable storage medium, used for computer readable storage, the storage medium stores one or more programs, the one or more programs can be executed by one or more processors to realize the steps of the video block method and realize the video transmission method as described above.

[0010] The embodiment of the present application discloses a video block method, a transmission method, a server, an adapter and a storage medium, by generating a corresponding video track according to the bit stream of each sub-image block of the encoding file of the original video, encapsulating the video track into a video file; analyzing the video file to obtain the video frame position information of each video track; generating a virtual cutting block information file according to the serial number of the sub-image block of the encoding file and the video frame position information, and generating a video playing index file according to the serial number of the sub-image block. It can be seen that the embodiment of the present application realizes the FOV transmission by generating a corresponding virtual cutting block information file from the sub-image information in the original video, avoiding the fragmentation of the server caused by the sub-image block. BRIEF DESCRIPTION OF DRAWINGS

[0011] Figure 1 It is a schematic flow chart of a video block method provided by the embodiment of the present application.

[0012] Figure 2 It is a schematic flow chart of a video transmission method provided by the embodiment of the present application.

[0013] Figure 3 It is a structural schematic block diagram of a server provided by the embodiment of the present application.

[0014] Figure 4 It is a structural schematic block diagram of an adapter provided by the embodiment of the present application. DETAILED DESCRIPTION

[0015] With reference to the accompanying drawings, the technical solutions in the embodiments of the present application will be described clearly and completely. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments of the present application, all the other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the embodiments of the present application.

[0016] The flowcharts shown in the drawings are only illustrative, and do not necessarily include all the contents and operations / steps, nor are they necessarily executed in the described order. For example, some operations / steps can be further decomposed, combined or partially merged, so that the actual execution order can be changed according to actual conditions.

[0017] The embodiments of the present application provide a video blocking method, a transmission method, a server, an adapter and a storage medium.

[0018] Some embodiments of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. In the case of no conflict, the embodiments described below and the features in the embodiments can be combined with each other.

[0019] Please refer to Figure 1 , Figure 1 The present application provides a video blocking method.

[0020] As shown in Figure 1 , the present application provides a video blocking method, which comprises the following steps:

[0021] Step S110: generating a corresponding video track according to the bit stream of each sub-image block of the encoding file of the original video, and encapsulating the video track into a video file.

[0022] An encoding file of an original video file is obtained, and the encoding file comprises bit streams of a plurality of sub-image blocks. For example, a corresponding panoramic image is obtained by decoding the original video file, and the panoramic image is encoded to obtain a corresponding encoding file. The bit stream of each sub-image block is used to form a corresponding video track. The format of the original video file includes mp4, flv, f4v, ts and the like, and the server supports mp4, flv, f4v, ts and the like. When the generated video track is obtained, the video track is encapsulated into a new video file.

[0023] In an embodiment, the encoding file includes a first code rate encoding file and a second code rate encoding file; and generating a corresponding video track according to the bit stream of each sub-image block of the encoding file of the original video, and encapsulating the video track into a video file includes: obtaining a corresponding sub-video track of each sub-image block according to the bit stream of each sub-image block in the first code rate encoding file and the second code rate encoding file, and recording the correspondence between the serial number of each sub-image block in the first code rate encoding file and the second code rate encoding file and the corresponding sub-video track; based on the corresponding sub-video track of each sub-image block, a corresponding first code rate video track and a second code rate video track are respectively formed; and the first code rate video track and the second code rate video track are encapsulated to obtain a corresponding video file.

[0024] Exemplarily, the bit stream of each sub-image block in the first code rate encoding file and the second code rate encoding file is extracted, and a corresponding sub-video track is formed based on the bit stream of each sub-image block. For example, there are 16 bit streams of sub-image blocks in the first code rate encoding file and the second code rate encoding file, respectively, and the 16 bit streams of sub-image blocks in the first code rate encoding file and the 16 bit streams of sub-image blocks in the second code rate encoding file are extracted by the extractor track. After extracting the 16 bit streams of sub-image blocks in the first code rate encoding file and the 16 bit streams of sub-image blocks in the second code rate encoding file, the extractor track generates 32 video tracks, puts the bit stream of each sub-image block into the corresponding video track, generates 32 corresponding sub-video tracks, and records the correspondence between each sub-image block and the corresponding sub-video track. For example, the 16 bit streams of sub-image blocks in the first code rate encoding file are extracted, and the serial number of each sub-image block in the 16 sub-image blocks in the first code rate encoding file is recorded, such as 1, 2, 3, 16, etc. When generating the corresponding video track, the extractor numbers the video track, for example, track-1, track-2, track-16, etc., or track-A, track-B, track-P, etc. When the bit stream of sub-image block 1 is put into the track-1 video track, the correspondence between sub-image block 1 and track-1 is recorded.

[0025] After obtaining the sub-video tracks corresponding to each sub-image block in the first code rate encoded file and the sub-video tracks corresponding to each sub-image block in the second code rate encoded file, the sub-video tracks corresponding to each sub-image block in the first code rate encoded file are grouped to obtain a corresponding first code rate video track, and the sub-video tracks corresponding to each sub-image block in the second code rate encoded file are grouped to obtain a corresponding second code rate video track. For example, when the sub-video tracks corresponding to each sub-image block in the first code rate encoded file are track-1, track-2 to track-16, track-1, track-2 to track-16 are spliced in the order of numbering to obtain a corresponding first code rate video track. When the sub-video tracks corresponding to each sub-image block in the second code rate encoded file are track-1, track-2 to track-16, track-1, track-2 to track-16 are spliced in the order of numbering to obtain a corresponding second code rate video track. The first code rate video track and the second code rate video track are packaged to generate a corresponding new video file.

[0026] In an embodiment, before generating a corresponding video track according to the bit stream of each sub-image block of the encoded file of the original video, the method comprises: obtaining a panoramic image by decoding the original video; and obtaining an encoded file by encoding the panoramic image in an MCTS manner according to a preset HEVC encoder.

[0027] For example, when the original video file is origin_video.mp4, origin_video.mp4 is decoded to generate an uncompressed original image origin_video.yuv. The decoding manner comprises decoding the original video file by a decoder, and the format of the decoder comprises an MPEG-2 video decoder, an H264 / X264 / AVC video decoder, a VC-1 video decoder, etc. When the panoramic image corresponding to the original video file is obtained, the panoramic image is encoded in an MCTS manner based on a preset HEVC encoder to obtain an encoded file corresponding to the original video file. The MCTS manner encoding is motion-constrained tile sets encoding.

[0028] In an embodiment, the panoramic image is encoded in the MCTS manner according to the preset HEVC encoder to obtain an encoded file, including: splitting the panoramic image based on a splitting strategy in the preset HEVC encoder to obtain a plurality of sub-image blocks; and encoding each sub-image block based on a code rate parameter in the preset HEVC encoder to obtain an encoded file containing a bit stream of each sub-image block; wherein the encoded file includes a first code rate encoded file and a second code rate encoded file, and the first code rate is greater than the second code rate.

[0029] For example, the splitting strategy in the preset encoder includes a 4x4 tile division manner, an 8x8 tile division manner, etc. If the splitting strategy in the preset encoder is 4x4, the panoramic image is split by the splitting strategy 4x4 to obtain 8 sub-image blocks, and the serial number of each sub-image block is recorded. Or, if the splitting strategy in the preset encoder is 8x8, the panoramic image is split by the splitting strategy 8x8 to obtain 2 sub-image blocks, and the serial number of each sub-image block is recorded. Then, each image block is encoded based on the code rate parameter in the preset encoded file to obtain a corresponding encoded file. The encoded file includes a first code rate encoded file and a second code rate encoded file. For example, when the code rate parameter is 100 Mbps, each sub-image block is encoded by the preset HEVC encoder based on the 100 Mbps to obtain a corresponding first code rate encoded file, such as new_video_100M.h265. Or, when the code rate parameter is 25 Mbps, each sub-image block is encoded by the preset HEVC encoder based on the 25 Mbps to obtain a corresponding second code rate encoded file, such as new_video_25M.h265. Wherein, new_video_100M.h265 is larger than new_video_25M.h265.

[0030] Step S120: parsing the video file to obtain the video frame position information of each video track.

[0031] When the video track is encapsulated into a corresponding video file, the video file is parsed to obtain the video frame position information of the video track corresponding to each sub-image block in the video file, wherein the video frame position information includes the video frame start byte and the byte length. For example, the video frame start byte and the byte length of each video track are recorded in the video file, and by parsing the video file, the video frame start byte 0 and the byte length 4000 of the video track 1 are obtained.

[0032] In an embodiment, the video file is parsed to obtain the video frame position information of each video track, including: parsing the video file to obtain the correspondence between the serial number of each sub-image block and the sub-video track in the first code rate video track and the second code rate video track; and based on the correspondence between the serial number of each sub-image block and the corresponding sub-video track, obtaining the video frame position information of the sub-video track corresponding to the serial number of each sub-image block in the first code rate video track or the second code rate video track.

[0033] For example, the correspondence between sub-image block 1 and the corresponding sub-video track track-1 in the first code rate video track is obtained, and the correspondence between sub-image block 1 and the corresponding sub-video track track-1 in the second code rate video track is obtained. Through the correspondence between the serial number of each sub-image block in the video file and the corresponding sub-video track in the first code rate video track and the second code rate video track, the video frame position information of each sub-video track corresponding to the serial number of each sub-image block in the first code rate video track and the video frame position information of each sub-video track corresponding to the serial number of each sub-image block in the second code rate video track are obtained. For example, sub-image block 1 and track-1 in the first code rate video track are in a corresponding relationship, and the video frame position information of track-1 is obtained, and sub-image block 1 and track-1 in the second code rate video track are in a corresponding relationship, and the video frame position information of track-1 is obtained, wherein the video frame position information includes the starting byte and the byte length of the video frame.

[0034] Step S130: generating a virtual cutting information file according to the serial number of the sub-image block of the encoded file and the video frame position information, and generating a video playback index file according to the serial number of the sub-image block.

[0035] After obtaining the serial number of the sub-image block and the video frame position information of the corresponding video track in the video file, a virtual cutting information file is generated. The virtual cutting information file includes the serial number of each sub-image block and the video frame position information of the video track corresponding to the serial number of each sub-image block, wherein the storage mode of the serial number of each sub-image block and the video frame position information of the video track corresponding to the serial number of each sub-image block can be a table, a document, etc. The video playback index file is generated according to the serial number of the sub-image block, for example, when the serial number of the sub-image block is sub-image block 1 to sub-image block 16, the corresponding video playback index file is generated, the video playback index file can be a video playlist, and includes sub-image block 1 to sub-image block 16. After generating the virtual cutting information file and the video playback index file, the original video file is deleted to save server storage space.

[0036] In one embodiment, generating a corresponding video playback index file based on each sub-image sequence number in the encoded file includes: obtaining a first bitrate information table and a second bitrate information table based on the sequence number of the sub-image block and the video frame position information; and generating a virtual segmentation information file based on the first bitrate information table and the second bitrate information table.

[0037] After obtaining the sequence number and corresponding video frame position information of each sub-image block, which includes the sequence number of each sub-image block and the video frame position information of each sub-video track in the first bitrate video track, and the sequence number of each sub-image block and the video frame position information of each sub-video track in the second bitrate video track, a first bitrate information table and a second bitrate information table are obtained respectively. The first bitrate information table is shown below:

[0038]

[0039] The second bitrate information table is shown below:

[0040]

[0041] The first bitrate information table includes the sequence number of each sub-image block, as well as the start byte and length of the corresponding video frame. For example, the first bitrate information table records that the start byte of the video frame for sub-image block 1 is byte 13781 and the length is 4000 bytes. Upon obtaining the first bitrate information table and the second bitrate information, a virtual segmentation information file is generated, which includes both the first and second bitrate information tables.

[0042] In this embodiment of the invention, a corresponding video track is generated from the bitstream of each sub-image block in the encoded file of the original video file. This video track is then encapsulated into a video file. The video frame position information of each video track in the video file is obtained. A virtual segmentation information file is generated based on the sequence number of each sub-image block in the encoded file and the video frame position information of each video track. This avoids the original video file being segmented into sub-image blocks during FOV transmission, which would lead to severe file fragmentation on the server and affect server performance. A video playback index file is generated using the sequence number of the sub-image blocks, allowing users to select and browse the corresponding video using a video terminal based on this video playback index file.

[0043] Please see Figure 2 , Figure 2 This is a schematic flowchart of a video transmission method provided in an embodiment of the present invention.

[0044] like Figure 2 As shown, this embodiment provides a video transmission method, which includes the following steps:

[0045] Step S210: Based on the playback request service sent by the terminal, send a first download request to the server, obtain the virtual segment information file and video playback index file corresponding to the first download request, and send the video playback index file to the terminal.

[0046] The system receives a playback service request from a terminal and sends a first download request to the server based on the playback server. For example, a user performs an operation on the terminal and sends a playback service request corresponding to the operation. The terminal includes video playback terminals such as mobile phones and computers. Upon receiving the playback service request, the system obtains the corresponding first download request, which includes a virtual segmentation information file download request and a video playback index file download request. The system sends the first download request to the server and receives the virtual segmentation information file and video playback index file sent by the server in response to the first download request. Upon receiving the virtual segmentation information file and video playback index file, the system sends the video playback index file to the terminal so that the user can select the corresponding video file based on the video playback index file.

[0047] Step S220: Based on the second download request sent by the terminal based on the video playback index file and the virtual segmentation information file, obtain the sub-image video file corresponding to the second download request, and send the sub-image video file to the terminal.

[0048] The receiving terminal sends a second download request based on the video playback index file. According to the second download request and the virtual segmentation information file, it obtains the video file corresponding to the second download request. For example, the virtual segmentation information file includes a video file, and there is at least one video file. The terminal obtains the sequence number of the sub-image block corresponding to the second download request, where there can be multiple sub-image block numbers. Based on the sub-image block number, it obtains the bitrate information table corresponding to that sub-image block number in the virtual segmentation information file. This bitrate information table includes a first bitrate information table and a second bitrate information table. The terminal obtains the corresponding video file according to the bitrate information table and sends the obtained video file to the terminal.

[0049] In one embodiment, based on a second download request sent by the terminal based on a video playback index file and a virtual segmentation information file, a sub-image video file corresponding to the second download request is obtained; based on the sequence number of the first sub-image block in the second download request, the first video frame position information corresponding to the sequence number of the first sub-image block in the virtual segmentation information file is obtained; and based on the first video frame position information, a first sub-image video file corresponding to the sequence number of the first sub-image block is obtained; and / or, based on the sequence number of the second sub-image block in the second download request, the second video frame position information corresponding to the sequence number of the second sub-image block in the virtual segmentation information file is obtained; and based on the second video frame position information, a second sub-image video file corresponding to the sequence number of the second sub-image block is obtained.

[0050] The receiving terminal sends a second download request, which includes the sequence number of the first sub-image block or the sequence number of the second sub-image block associated with the sequence number of the first sub-image block, or both the sequence number of the first sub-image block and the sequence number of the second sub-image block. For example, the terminal sends a second download request based on the video of the tile sub-blocks in the main view area of ​​the video playback index file. The current sequence numbers of the tile sub-blocks in the main view area are tile-1, tile-2, tile-5, and tile-6, requiring the download of high-bitrate video; the sequence numbers of the tile sub-blocks in the non-main view area are tile-3, tile-4, tile-7, and tile-8, requiring the download of low-bitrate video. When the terminal sends a download request for tile-1 based on the video of the tile sub-blocks in the main view area, tile-1 is associated with tile-2, or tile-1 is associated with tile-4. Tile-1 can be associated with multiple tile sub-block sequence numbers in the main view area or multiple tile sub-block sequence numbers in the non-main view area.

[0051] The sequence number of the first sub-image block and / or the sequence number of the second sub-image block are obtained from the second download request. The sequence number of the second sub-image block can be either a tile sub-block in the main view area or a tile sub-block in a non-main view area. Based on the sequence number of the first sub-image block and / or the sequence number of the second sub-image block, the first video frame position information corresponding to the sequence number of the first sub-image block and / or the second video frame position information corresponding to the sequence number of the second sub-image block are obtained from the virtual segmentation information file.

[0052] In one embodiment, the virtual segmentation information file includes a first bitrate information table and a second bitrate information table. Obtaining the first video frame position information corresponding to the sequence number of the first sub-image block in the virtual segmentation information file includes: querying the first bitrate information table using the sequence number of the first sub-image block to obtain the first video frame position information corresponding to the sequence number of the first sub-image block in the first bitrate information table. Obtaining the second video frame position information corresponding to the sequence number of the second sub-image block in the virtual segmentation information file includes: querying the first bitrate information table using the sequence number of the second sub-image block to obtain the second video frame position information corresponding to the sequence number of the second sub-image block in the first bitrate information table; or, querying the second bitrate information table using the sequence number of the second sub-image block to obtain the second video frame position information corresponding to the sequence number of the second sub-image block in the second bitrate information table.

[0053] As an example, the virtual segmentation information file includes a first bitrate information table and a second bitrate information table. The first bitrate information table is queried based on the sequence number of the first sub-image block to obtain the first video frame position information corresponding to that sequence number. The first bitrate information table is then queried based on the sequence number of the second sub-image block to obtain the second video frame position information corresponding to that sequence number, or vice versa. For example, if the sequence number of the second sub-image block belongs to a main view area tile, the first bitrate information table is queried. If the sequence number of the second sub-image block belongs to a non-main view area tile, the second bitrate information table is queried. The video frame position information for the same sub-image block sequence number differs between the first and second bitrate information tables.

[0054] Upon obtaining the first video frame position information corresponding to the sequence number of the first sub-image block and / or the second video frame position information corresponding to the sequence number of the second sub-image block, a third download request is sent to the server. This download request includes the first and second video frame position information, and receives the first sub-image video file corresponding to the first video frame position information and the second sub-image video file corresponding to the second video frame position information sent by the server in response to the third download request.

[0055] In one embodiment, the first video frame position information and the second video frame position information include the video frame start byte and byte length; obtaining the first sub-image video file corresponding to the sequence number of the first sub-image block based on the first video frame position information includes: obtaining the first video data corresponding to the sequence number of the first sub-image block based on the first video frame start byte and byte length corresponding to the sequence number of the first sub-image block; encapsulating the first video data to obtain the first sub-image video file corresponding to the sequence number of the first sub-image block; obtaining the second sub-image video file corresponding to the sequence number of the second sub-image block based on the second video frame position information includes: obtaining the second video data corresponding to the sequence number of the second sub-image block based on the second video frame start byte and byte length corresponding to the sequence number of the second sub-image block; encapsulating the second video data to obtain the second sub-image video file corresponding to the sequence number of the second sub-image block.

[0056] Exemplary, the first and second video frame position information includes the start byte and byte length of the video frame. Based on the start byte and byte length of the first video frame corresponding to the sequence number of the first sub-image block, the first video data to be downloaded corresponding to that sub-image block is determined. And / or, based on the start byte and byte length of the second video frame corresponding to the sequence number of the second sub-image block, the second video data to be downloaded corresponding to that sub-image block is determined. For example, if the start byte of the video frame with the sequence number of the first sub-image block is 13781 bytes and the length is 4000 bytes, the first video data to be downloaded corresponding to that sub-image block is determined to be between 13781 bytes and 17781 bytes.

[0057] Based on the determined first video data and / or second video data to be downloaded, a third download request is sent to the server. This third download request includes downloading the first video data and / or the second video data. The server then receives the first video data and / or the second video data sent in response to the third download request. For example, the server sends a third download request to the server to retrieve the first video data and / or the second video data. Upon receiving the third download request, the server reads video data between 13781 and 17781 bytes from the disk as the first video data corresponding to the sequence number of the first sub-image block. Alternatively, it reads video data between 4781 and 6781 bytes as the second video data corresponding to the sequence number of the second sub-image block. Where the first video data is video data at a first bitrate, and the second video data is the second video data corresponding to the sequence number of a sub-image block in a non-prime viewpoint, then the second video data is video data at a second bitrate, and the bitrate of the first video data is greater than that of the second video data.

[0058] Upon acquiring the first video data and / or the second video data, the first video data is encapsulated into a first sub-image video file corresponding to the sequence number of the first sub-image block; and / or, the second video data is encapsulated into a second sub-image video file corresponding to the sequence number of the second sub-image block. Upon acquiring the first sub-image video file and / or the second sub-image video file, the first sub-image video file and / or the second sub-image video file are sent to the terminal. Wherein, if the first sub-image video file is a first bitrate sub-image video file, and the second sub-image video file is a second bitrate sub-image video file corresponding to the sequence number of a sub-image block in a non-prime viewpoint, the second sub-image video file is a second bitrate sub-image video file, and the bitrate of the first bitrate sub-image video file is greater than that of the second bitrate sub-image video file.

[0059] In this embodiment of the invention, a virtual segmentation information file and a video playback index file are obtained through a playback request service sent by the terminal, and a second download request sent by the terminal based on the video playback index file is received. According to the second download request and the virtual segmentation information file, corresponding sub-image video files are sent to the terminal. These sub-image video files include a first bitrate sub-image video file and / or a second bitrate sub-image video file. This avoids splitting the original video file into multiple sub-image video files during FOV transmission, preventing severe server fragmentation. Furthermore, generating the corresponding first bitrate sub-image video file and / or second bitrate sub-image video file by generating the second download request and the virtual segmentation information file saves bandwidth resources.

[0060] Please see Figure 3 , Figure 3 This is a schematic block diagram of the structure of a server provided in an embodiment of the present invention.

[0061] For example, the server also includes a processor and memory for storing computer programs.

[0062] A processor is used to execute a computer program and, when executing the computer program, implement the aforementioned video segmentation method provided in the embodiments of the present invention.

[0063] It should be understood that the processor can be a Central Processing Unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among these, a general-purpose processor can be a microprocessor or any conventional processor.

[0064] Please see Figure 4 , Figure 4 This is a schematic block diagram of an adapter provided in an embodiment of the present invention. The adapter can be configured on either a terminal or a server.

[0065] For example, the adapter also includes a processor and memory for storing computer programs.

[0066] A processor is used to execute a computer program and, when executing the computer program, implement the aforementioned video transmission method provided in the embodiments of the present invention.

[0067] It should be understood that the processor can be a Central Processing Unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among these, a general-purpose processor can be a microprocessor or any conventional processor.

[0068] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it enables the processor to implement any of the video segmentation methods and any of the video transmission methods provided in this invention.

[0069] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer-readable storage media (or non-transitory media) and communication media (or transient media).

[0070] As is known to those skilled in the art, the term computer-readable storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0071] For example, the computer-readable storage medium may be an internal storage unit of the electronic device described in the foregoing embodiments, such as a hard disk or memory of the electronic device. The computer-readable storage medium may also be an external storage device of the electronic device, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc., provided on the electronic device.

[0072] The electronic devices and computer-readable storage media provided in the foregoing embodiments generate corresponding video tracks based on the bitstream of each sub-image block of the encoded file of the original video, and encapsulate the video tracks into a video file; parse the video file to obtain the video frame position information of each video track; generate a virtual segmentation information file based on the sequence number of the sub-image block and the video frame position information of the encoded file; and generate a video playback index file based on the sequence number of the sub-image block. Therefore, this technical solution achieves FOV transmission by generating corresponding virtual segmentation information files from the sub-image information in the original video, avoiding severe fragmentation analysis on the server caused by generating sub-image blocks.

[0073] The above are merely specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the scope of the claims.

Claims

1. A video partitioning method, comprising: generating a corresponding video track according to a bitstream of each sub-picture block of an encoded file of an original video, and encapsulating the video track into a video file, wherein each sub-picture block of the encoded file is encapsulated in the same video file; parsing the video file to obtain video frame position information of each video track; generating a virtual tile information file according to a sequence number of a sub-picture block of the encoded file and the video frame position information, and generating a video playback index file according to the sequence number of the sub-picture block; the encoded file comprises a first code rate encoded file and a second code rate encoded file; the generating a corresponding video track according to a bitstream of each sub-picture block of an encoded file of an original video, and encapsulating the video track into a video file, comprises: obtaining a corresponding sub-video track of each sub-picture block according to a bitstream of each sub-picture block in the first code rate encoded file and the second code rate encoded file, and recording a corresponding relationship between a sequence number of each sub-picture block in the first code rate encoded file and the second code rate encoded file and the corresponding sub-video track; based on each corresponding sub-video track, a corresponding first code rate video track and a corresponding second code rate video track are formed respectively; the first code rate video track and the second code rate video track are encapsulated to obtain a corresponding video file.

2. The video partitioning method of claim 1, wherein, before the generating a corresponding video track according to a bitstream of each sub-picture block of an encoded file of an original video, comprising: obtaining a panoramic image by decoding the original video; obtaining an encoded file by encoding the panoramic image in an MCTS manner according to a preset HEVC encoder.

3. The method of claim 2, wherein, the obtaining an encoded file by encoding the panoramic image in an MCTS manner according to a preset HEVC encoder, comprises: splitting the panoramic image based on a splitting strategy in the preset HEVC encoder to obtain a plurality of sub-picture blocks; encoding each sub-picture block based on a code rate parameter in the preset HEVC encoder to obtain an encoded file containing a bitstream of each sub-picture block; wherein the encoded file comprises a first code rate encoded file and a second code rate encoded file, and the first code rate encoded file is greater than the second code rate encoded file.

4. The method of claim 1, wherein, the parsing the video file to obtain video frame position information of each video track, comprises: parsing the video file to obtain a corresponding relationship between a sequence number of each sub-picture block and a sub-video track in the first code rate video track and the second code rate video track; based on the corresponding relationship between the sequence number of each sub-picture block and the corresponding sub-video track, obtaining video frame position information of the sequence number corresponding sub-video track of each sub-picture block in the first code rate video track and the second code rate video track.

5. The method of claim 4, wherein, the generating a virtual tile information file according to a sequence number of a sub-picture block of the encoded file and the video frame position information, comprises: obtaining a first code rate information table and a second code rate information table respectively according to the sequence number of the sub-picture block and the video frame position information; generating a virtual tile information file based on the first code rate information table and the second code rate information table. 6.A video transmission method, comprising: sending a first download request to a server based on a play request service sent by a terminal, obtaining a virtual chunk information file and a video play index file corresponding to the first download request, and sending the video play index file to the terminal; obtaining a sub-image video file corresponding to a second download request sent by the terminal based on the video play index file and the virtual chunk information file, and sending the sub-image video file to the terminal; wherein the video play index file and the virtual image information file are obtained by the video chunking method of any one of claims 1 to 5.

7. The video transmission method of claim 6, wherein, The second download request includes a serial number of a first sub-image block and / or a serial number of a second sub-image block associated with the serial number of the first sub-image block; and the obtaining of the sub-image video file corresponding to the second download request sent by the terminal based on the video play index file and the virtual chunk information file comprises: obtaining first video frame position information corresponding to the serial number of the first sub-image block in the virtual chunk information file according to the serial number of the first sub-image block in the second download request, and obtaining a first sub-image video file corresponding to the serial number of the first sub-image block according to the first video frame position information; and / or obtaining second video frame position information corresponding to the serial number of the second sub-image block in the virtual chunk information file according to the serial number of the second sub-image block in the second download request, and obtaining a second sub-image video file corresponding to the serial number of the second sub-image block according to the second video frame position information.

8. The video transmission method of claim 7, wherein, The virtual chunk information file includes a first code rate information table and a second code rate information table; and the obtaining of the first video frame position information corresponding to the serial number of the first sub-image block in the virtual chunk information file comprises: querying the first code rate information table by the serial number of the first sub-image block to obtain first video frame position information corresponding to the serial number of the first sub-image block in the first code rate information table; The obtaining of the second video frame position information corresponding to the serial number of the second sub-image block in the virtual chunk information file comprises: querying the first code rate information table by the serial number of the second sub-image block to obtain second video frame position information corresponding to the serial number of the second sub-image block in the first code rate information table; or querying the second code rate information table by the serial number of the second sub-image block to obtain second video frame position information corresponding to the serial number of the second sub-image block in the second code rate information table.

9. The video transmission method of claim 7, wherein, The first video frame position information and the second video frame position information include a video frame start byte and a byte length; and the obtaining of the first sub-image video file corresponding to the serial number of the first sub-image block according to the first video frame position information comprises: obtaining first video data corresponding to the serial number of the first sub-image block based on the first video frame start byte and the byte length corresponding to the serial number of the first sub-image block; and / or obtaining second video data corresponding to the serial number of the second sub-image block based on the second video frame start byte and the byte length corresponding to the serial number of the second sub-image block. encapsulating the first video data to obtain a first sub-image video file corresponding to the sequence number of the first sub-image block; the second sub-image block corresponding to the sequence number is obtained according to the second video frame position information, and the second sub-image video file corresponding to the sequence number of the second sub-image block is obtained, including: based on the second video frame start byte and byte length corresponding to the sequence number of the second sub-image block, the second video data corresponding to the sequence number of the second sub-image block is obtained; encapsulating the second video data to obtain a second sub-image video file corresponding to the sequence number of the second sub-image block.

10. A server comprising a memory and a processor, the memory being configured to store a computer program; the processor is configured to execute the computer program and implement the steps of the video partitioning method according to any one of claims 1 to 5 when executing the computer program.

11. An adapter comprising a memory and a processor, the memory being configured to store a computer program; the processor is configured to execute the computer program and implement the steps of the video transmission method according to any one of claims 6 to 9 when executing the computer program.

12. A computer readable storage medium for computer readable storage, the storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the steps of the video partitioning method according to any one of claims 1 to 5 and implement the video transmission method according to any one of claims 6 to 9.

Citation Information

Patent Citations

  • Video image encoding and decoding method and apparatus

    CN109996069A

  • Methods, devices, and computer programs for streaming partitioned timed media data

    WO2014170176A1