CN111970552A - Method and system for playing DVB panoramic video stream in real time based on set top box - Google Patents

Method and system for playing DVB panoramic video stream in real time based on set top box Download PDF

Info

Publication number
CN111970552A
CN111970552A CN202010771690.6A CN202010771690A CN111970552A CN 111970552 A CN111970552 A CN 111970552A CN 202010771690 A CN202010771690 A CN 202010771690A CN 111970552 A CN111970552 A CN 111970552A
Authority
CN
China
Prior art keywords
display
memory
memory block
top box
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010771690.6A
Other languages
Chinese (zh)
Inventor
刘睿
严柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Jiachuang Video Technology Co ltd
Original Assignee
Shenzhen Jiachuang Video Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Jiachuang Video Technology Co ltd filed Critical Shenzhen Jiachuang Video Technology Co ltd
Priority to CN202010771690.6A priority Critical patent/CN111970552A/en
Publication of CN111970552A publication Critical patent/CN111970552A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

The invention provides a method and a system for playing DVB panoramic video stream in real time by a set top box, wherein the system comprises a main control unit, a shared memory management unit, a state scheduling unit, a cache adjusting unit and the set top box with the DVB function; the memory area is established through the shared memory management unit and shared by the set-top box decoding module and the display module, the decoding module provides decoded video key frames under the synergistic effect of other units, the display module performs 3D spherical modeling, and the video key frames are used as textures and are rendered on the spherical model for display. The invention solves the problem that the DVB panoramic video stream can not be directly played on the set-top box in real time, the time precision can reach millisecond level, and the method is suitable for various video services taking panoramic video live broadcast as a carrier; the memory configuration requirement of the set top box end is reduced. And a pure software implementation mode is adopted, the existing intelligent set top box can be modified in a software upgrading mode, and the real-time service of the DVB panoramic video stream is brought to thousands of households.

Description

Method and system for playing DVB panoramic video stream in real time based on set top box
Technical Field
The invention belongs to the technical field of video transmission, and particularly relates to a method and a system for playing a panoramic video stream transmitted on a set top box of a terminal in real time based on a DVB (digital video broadcasting) channel.
Background
Panoramic video covers an all-around view angle range, and is a main application in Virtual Reality (VR).
Compared with the shortage of bandwidth of an IP broadband network of telecommunication, the DVB-based broadcast and television broadcasting network has the advantages that a full frequency point has 1G in-house bandwidth (QAM64), a single frequency point can transmit 36-38Mbps video stream, and the bandwidth problem of real-time transmission of ultra-high definition panoramic video (4K) can be solved. The ultra-high-definition panoramic video is transmitted through the DVB broadcast channel, and the panoramic video service is provided for 2 hundred million users of radio and television operators by using a mode of a television live broadcast channel, so that the method is an excellent way for virtual reality floor popularization and commercialization.
In recent years, broadcasting and television operators provide set-top box terminals for service presentation and interaction at a user side, the set-top box terminals are gradually transited from high-definition set-top boxes to intelligent set-top boxes based on TVOS or Android, the intelligent set-top boxes are generally provided with 4K decoders and GPU modules, 4K panoramic video streams can be decoded, rendered and displayed, and meanwhile, 3DOF interaction of angle adjustment can be performed by using a set-top box remote controller; the intelligent set-top box for broadcasting and TV generally has a dual-mode structure of coaxial broadcast network access and IP broadband network access, can directly support panoramic video playing from an IP broadband channel, and the set-top box needs to go through a series of processes such as frequency locking, table searching, descrambling, decoding, displaying and the like when playing video stream signals transmitted from a DVB broadcast network.
DVB video playing does not consider a service scene of a panoramic video stream, and an improvement scheme in the prior art also has the problems of time loss on the second level and incapability of rendering and displaying in real time, so that the prior art still needs to be developed.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: a method and a system for playing DVB panoramic video stream in real time are provided, which are used for solving the problem that the DVB panoramic video stream cannot be played in real time on a set top box at present.
In order to solve the technical problems, the invention adopts the technical scheme that:
the invention provides a method for playing DVB panoramic video stream in real time based on a set top box, which comprises the following steps:
the shared memory management unit determines the size of the memory block unit according to the resolution information and the color space of the panoramic video stream, determines the number of the memory blocks according to the use condition of the memory resources of the set top box, and the display module sequentially applies for the memory blocks to form a memory area;
the main control unit initializes a set top box live broadcast related module and constructs a play production line; the live broadcast relevant module comprises a frequency locking module, a table searching module, a descrambling module and a decoding module, and an output buffer area of the decoding module is set as the memory area;
the main control unit enables the playing pipeline, starts a data stream, and the state scheduling unit coordinates two tasks of frame taking and display sending;
and the set top box display module receives the video frames in the memory blocks of the display tasks, and renders the video frames as textures on the spherical model for users to watch and interact.
Further, the shared memory management unit determines the size of the memory block unit according to the resolution information and the color space of the panoramic video stream, and includes the steps of:
Sb=W×H×B
wherein: w is the width of the panoramic video stream, H is the height of the panoramic video stream, B is the number of bytes of a single pixel, and Sb is the size of the memory block unit.
Further, the determining the number of the memory blocks according to the use condition of the memory resources of the set top box, and the sequentially applying for the memory blocks by the display module to form a memory area, includes:
obtaining the size Sm of the spare memory resources of the current set top box, comparing the size Sb of the memory block units, and calculating the number S of the memory blocks according to the following modes:
the upper limit of S is: [ (Sm-Sb x 2)/Sb ] + 2;
the lower limit of S is 3;
and according to the size Sb of the memory blocks and the number S of the memory blocks, sequentially initiating application of the memory blocks with the size of S Sb by a display module to form a memory area.
Further, the memory blocks in the memory area are organized by linear numbers, the numbers are marked as NUM, and the NUM ranges are: and 0 to S-1, the memory area sequentially records the address, decoding state and display state of each memory block.
Further, the main control unit enables the playing pipeline, starts the data stream, and the state scheduling unit further includes before coordinating the two tasks of frame fetching and display:
the state scheduling unit initializes the memory area, sets the decoding state of each memory block to R, sets the display state of each memory block to D, and starts two tasks of frame fetching and display sending.
Further, the coordinating the frame fetching task and the display sending task by the state scheduling unit includes:
setting a frame taking queue, recording the frame taking queue as DQ, wherein the frame taking queue stores the number NUM of each memory block, and the decoding state and the display state of each memory block;
setting a display sending container, which is marked as WL, and storing the serial number NUM of each memory block, the decoding state and the display state of each memory block by the display sending container;
the frame fetching task blocking type continuously obtains an output video frame of the decoding module, analyzes the address of the output video frame, namely the address of a memory block in a memory area, positions a corresponding memory block number NUM, adds the memory block number NUM into a frame fetching queue, and sets the decoding state of the memory block number NUM as A;
and (3) the display task blocking type continuously judges the number of elements of the frame taking queue, if the frame taking queue is not empty, the head element of the frame taking queue, namely the memory block number NUM, is obtained, the cache adjusting unit is used for judging the synchronization information of the decoding module, and the operation is carried out according to the synchronization result.
Further, the determining, by the cache adjusting unit, the synchronization information of the decoding module, and performing an operation according to a synchronization result includes:
if the synchronization information is PLAY, and corresponding to audio and video synchronization, the memory block corresponding to the memory block number NUM is delivered to a display module, the display state of the memory block is set to be Q, and the memory block is listed from the frame fetching queue and added into a display container;
if the synchronous information is REPEAT, if the corresponding video is faster than the audio, the synchronous information is repeatedly polled until the synchronous information is updated to PLAY;
if the synchronous information is DISCARD DISCARD and the corresponding video is slower than the audio, dequeuing the element from the frame taking queue and adding the dequeued element into a display sending container;
traversing the display sending container by the display sending task, if the display state of the element is D, releasing the memory block delivery decoding module corresponding to the memory block number NUM, setting the decoding state of the memory block to be R, and deleting the element from the display sending container;
and judging the element number of the display sending container by the display sending task, if not, initiating the memory block of the display module to repeat the application work through the shared memory management unit, and setting the display state of the memory block to be D.
The invention also provides a system for playing the DVB panoramic video stream in real time based on the set top box, which comprises a main control unit, a shared memory management unit, a state scheduling unit, a cache adjusting unit and the set top box with the DVB function;
the master control unit is used for scheduling the shared memory management unit, the state scheduling unit and the cache adjusting unit, coordinating DVB (digital video broadcasting) live broadcast related resources of the set top box and connecting spherical rendering display of the panoramic video;
the shared memory management unit is used for elastically applying and managing memory blocks to form a memory area which is shared by the set top box decoding module and the display module;
the state scheduling unit is used for starting two tasks of frame taking and display sending, and coordinating the acquisition of the video frames and the delivery of the display module by adopting state scheduling based on a container queue type;
the buffer adjustment unit and the auxiliary state scheduling unit correct rendering display based on the synchronous information and optimize uniform speed display at millisecond level.
The invention has the beneficial effects that: the method and the system for playing the DVB panoramic video stream in real time based on the set top box solve the problem that the DVB panoramic video stream cannot be directly played on the set top box in real time, have the time precision reaching millisecond level, and are suitable for various video services taking panoramic video live broadcast as a carrier. The invention adopts an elastic memory sharing mode, and can still normally operate under the condition that the memory resources of the set-top box are in shortage, thereby reducing the memory configuration requirement of the set-top box end. And a pure software implementation mode is adopted, and the existing large number of intelligent set top boxes can be modified in a software upgrading mode, so that the real-time service of the DVB panoramic video stream is brought to thousands of households.
Drawings
Fig. 1 is a functional block diagram illustrating the functions of each component and core.
Fig. 2 is a main step diagram illustrating the important steps of the present invention.
FIG. 3 is a diagram illustrating an organization of memory regions
Fig. 4 is a state scheduling diagram describing a scheduling method of a state scheduling unit.
Fig. 5 is a step diagram of a frame fetching task, which describes a step flow of the frame fetching task.
Fig. 6 is a schematic diagram of the transmission and display correction based on the synchronization judgment, describing a method for correcting the synchronization information by the transmission and display.
FIG. 7 is a display task step diagram illustrating the flow of the display task steps.
Detailed Description
In order to explain technical contents, structural features, and objects and effects of the present invention in detail, the following detailed description is given with reference to the accompanying drawings in conjunction with the embodiments.
As shown in fig. 1 and fig. 2, the present invention provides a method for playing DVB panoramic video stream in real time based on a set-top box, which includes:
the shared memory management unit determines the size of the memory block unit according to the resolution information and the color space of the panoramic video stream, determines the number of the memory blocks according to the use condition of the memory resources of the set top box, and the display module sequentially applies for the memory blocks to form a memory area;
the main control unit initializes a set top box live broadcast related module and constructs a play production line; the live broadcast relevant module comprises a frequency locking module, a table searching module, a descrambling module and a decoding module, wherein an output buffer area of the decoding module is set as the memory area;
the main control unit enables the playing pipeline, starts a data stream, and the state scheduling unit coordinates two tasks of frame taking and display sending;
and the set top box display module receives the video frames in the memory blocks of the display tasks, and renders the video frames as textures on the spherical model for users to watch and interact.
Referring to fig. 3, a schematic diagram of a memory area is shown, where the size Sb of a memory block unit is uniformly set to be W × H × B according to resolution information (width is denoted as W and height is denoted as H) and a color mode (number of bytes per pixel is denoted as B) agreed by a DVB channel front-end panoramic video service; preferably, if the decoding module of the set-top box can provide the resolution information and the color mode of the DVB channel video stream, the shared memory management unit may dynamically set the size Sb of the memory block during operation.
And according to the use condition of the memory resources of the set top box, the display module elastically applies for the memory blocks to form a memory area.
Obtaining the size (marked as Sm) of the spare memory resource of the current set top box, comparing the size Sb of the memory blocks, calculating the number (marked as S) of the memory blocks according to the following mode, wherein the upper limit of S is as follows: [ (Sm-Sb x 2)/Sb ] +2, where, adding 2 is to consider the multi-buffer mechanism of the display module, the lower limit of S is 3; preferably, the number S of memory blocks may be flexibly selected, and when the configuration of the set-top box memory is low, the lower limit may be selected, that is: only 3 memory blocks are needed, and the panoramic video can be played normally in real time.
According to the size Sb of the memory blocks and the number S of the memory blocks, the display module sequentially initiates applications of the memory blocks with the size of S Sb to form a memory area, the memory blocks in the memory area are organized by linear numbers, the numbers are recorded as NUM, and the NUM range is as follows: 0 to S-1; the memory area records the address, decoding state and display state of each memory block in sequence.
The decoding state of the memory block is a binary state, and is occupied (denoted as state a) and released (denoted as state R).
If the memory block is occupied, the memory block is used by a decoding module, and the decoding module can output a video frame to the memory block; when the memory block is released, the memory block is released by the decoding module, and the decoding module does not output the video frame to the memory block any more; the decoding module should first occupy the memory block, then output the video frame for the display module to consume, and then release the memory block.
The display state of the memory block is a binary state, which is the acquisition (recorded as state D) and the transmission (recorded as state Q), respectively.
The display module of the acquisition module applies for occupying the memory block for display consumption; the memory block is sent to display system for consumption and subsequent rendering output.
Before the main control unit enables the play pipeline and starts the data stream, the state scheduling unit coordinates two tasks of frame fetching and display sending, the method also comprises the following steps:
the state scheduling unit initializes the memory area, sets the decoding state of each memory block to R, sets the display state of each memory block to D, and starts two tasks of frame fetching and display sending; furthermore, the frame fetching task is used for the memory area to obtain the output video frame of the set top box decoding module; and the display sending task is used for sending the video frames stored in the memory block to the display module and performing post-rendering display.
Referring to fig. 4, a state scheduling diagram of the present invention, in which a state scheduling unit coordinates the frame fetching task and the display sending task, includes:
setting a frame taking queue, recording the frame taking queue as DQ, wherein the frame taking queue stores the number NUM of each memory block, and the decoding state and the display state of each memory block;
setting a display sending container, recording the display sending container as WL, and storing the serial number NUM of each memory block, the decoding state and the display state of each memory block by the display sending container;
the frame fetching task blocking type continuously obtains an output video frame of a decoding module, analyzes a video frame address, namely the address of a memory block in a memory area, positions a corresponding memory block number NUM, adds the memory block into a frame fetching queue, and sets the decoding state of the memory block as A; fig. 5 is a diagram illustrating the steps of the framing task.
As shown in fig. 7, a display task sending step diagram is shown, where a display task sending blocking type continuously determines the number of elements in a frame fetching queue, if not empty, a frame fetching queue head element, that is, a memory block number NUM is obtained, a cache adjusting unit is used to determine synchronization information of a decoding module, and an operation is performed according to a synchronization result;
if the synchronization information is PLAY and corresponds to audio and video synchronization, the memory block corresponding to the memory block number NUM is delivered to a display module, the display state of the memory block is set to be Q, and the memory block is listed from the frame fetching queue and added into a display sending container;
if the synchronous information is REPEAT, and the corresponding video is faster than the audio, then REPEAT polling the synchronous information until the synchronous information is updated to PLAY;
if the synchronous information is DISCARD DISCARD and the corresponding video is slower than the audio, dequeuing the element from the frame taking queue and adding the dequeued element into a display sending container; FIG. 6 is a schematic diagram of the display correction.
Then, traversing a display task through a display container, if the display state of an element is D, releasing the memory block delivery decoding module corresponding to the memory block number NUM, setting the decoding state of the memory block to be R, and deleting the element from the display container; and judging the element number of the display sending container by the display sending task, if not, initiating the memory block of the display module to repeat the application work through the shared memory management unit, and setting the display state of the memory block to be D.
Examples
Taking a set top box with a Haisi Hi3798CV200 as a main chip, 2GB as a memory and 4.4 android operating system as an example, a specific implementation is described below for a panoramic video stream of 4KP30(3840x2160, code rate 35Mbps, and ARGB8888 as a display mode).
The memory block size is determined, and according to the panoramic video stream information in the embodiment, W is 3840, H is 2160, and B is 4, and the memory block size is 3840 × 2160 × 4 bytes, that is, 33177600 bytes, about 31.64 MB.
Determining the number of the memory blocks, wherein the minimum number of the memory blocks is 3, calculating the upper limit of the number of the memory blocks according to the memory resource condition of the current set top box, and selecting the flexible number without loss of generality, wherein the memory space of about 506.25MB is occupied by taking the number of the memory blocks as an example.
The display module sequentially applies for memory blocks through an interface of native _ window _ queue _ buffer _ and _ wait to form a linear memory area, NUM (number) is 16 and is numbered from 0 to 15, and the memory area stores addresses, decoding states and display states of the corresponding memory blocks.
The main control unit initializes the set-top box live broadcast related module, comprising: frequency locking, table searching, descrambling, decoding modules and constructing a playing pipeline. When the set-top box decoding module is initialized, the External Buffer function of the Haisi chip decoding module is utilized to set the output Buffer area of the decoding module as the linear memory area, and the size of the output Buffer area is set as 16, so that the memory sharing of the display module and the decoding module is realized.
The state scheduling unit initializes the memory area, sets the decoding state of each memory block to R, sets the display state of each memory block to D, and starts two tasks of frame fetching and display sending.
The main control unit enables the playing pipeline and starts the data stream.
The status scheduling unit creates a frame fetch queue DQ and a presentation container WL.
And the frame fetching task uses an HI _ UNF _ VO _ Acquireframe interface to obtain a video frame in a blocking mode, analyzes the memory address of the video frame once the video frame is obtained, checks the linear number NUM of the video frame, puts the linear number NUM into a DQ queue, and sets the decoding state of the DQ queue to be A.
Sending a display task to block and continuously judge the element number of a DQ queue, if the DQ queue is not empty, obtaining a DQ queue head element (memory block number NUM), and obtaining Haisi decoding module synchronization information through a HIMPISYNCVidJudge interface by using a cache adjusting unit, wherein the following three synchronization information situations can occur along with the playing of a panoramic video live stream.
The synchronization information is SYNC _ PROC _ PLAY, and if the synchronization information is corresponding to PLAY, the memory block corresponding to the memory block number NUM is delivered to a display module (queue buffer), the display state of the memory block is set to be Q, and the memory block is listed from DQ and added into WL; when the display module is delivered, the time averaging can be carried out by taking 3 frames as a group of units, namely, the delivery speed is controlled to be 33.33ms for one frame, so that the rendering of the post-stage display is smoother, and the user experience is smoother;
if the synchronization information is SYNC _ PROC _ REPEAT, corresponding to REPEAT, the synchronization information is polled repeatedly until the synchronization information is updated to PLAY;
the synchronization information is SYNC _ PROC _ DISCARD, and if the element corresponds to DISCARD, the element is dequeued from DQ and added to WL.
And traversing the WL by the display task, if the display state of the element is D, releasing the memory block delivery decoding module corresponding to the memory block number NUM, setting the decoding state of the memory block to be R, and deleting the element from the WL.
And the display sending task judges the number of WL elements, if not, the shared memory management unit initiates the memory block of the display module to repeat the application work, and the display state of the memory block is set to be D.
A display module (combined with OpenGL) of the set top box adopts a timing display mode or a dirty data refreshing mode, and renders video frames of the shared memory blocks as textures to a spherical model for users to watch and interact.
In summary, the method and system for playing the DVB panoramic video stream in real time by the set top box provided by the invention: the method solves the problem that the DVB panoramic video stream cannot be directly played on the set top box in real time, the time precision can reach millisecond level, and the method is suitable for various video services taking panoramic video live broadcast as a carrier. The invention adopts an elastic memory sharing mode, and can still normally operate under the condition that the memory resources of the set-top box are in shortage, thereby reducing the memory configuration requirement of the set-top box end. And a pure software implementation mode is adopted, and the existing large number of intelligent set top boxes can be modified in a software upgrading mode, so that the real-time service of the DVB panoramic video stream is brought to thousands of households.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes performed by the present specification and drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (8)

1. A method for playing DVB panoramic video stream in real time based on a set top box is characterized in that the method comprises the following steps:
the shared memory management unit determines the size of the memory block unit according to the resolution information and the color space of the panoramic video stream, determines the number of the memory blocks according to the use condition of the memory resources of the set top box, and the display module sequentially applies for the memory blocks to form a memory area;
the main control unit initializes a set top box live broadcast related module and constructs a play production line; the live broadcast relevant module comprises a frequency locking module, a table searching module, a descrambling module and a decoding module, and an output buffer area of the decoding module is set as the memory area;
the main control unit enables the playing pipeline, starts a data stream, and the state scheduling unit coordinates two tasks of frame taking and display sending;
and the set top box display module receives the video frames in the memory blocks of the display tasks, and renders the video frames as textures on the spherical model for users to watch and interact.
2. The method according to claim 1, wherein the shared memory management unit determines the size of the memory block unit according to the resolution information and the color space of the panoramic video stream, and the method comprises the steps of calculating the size of the memory block unit:
Sb=W×H×B
wherein: w is the width of the panoramic video stream, H is the height of the panoramic video stream, B is the number of bytes of a single pixel, and Sb is the size of the memory block unit.
3. The method according to claim 2, wherein the determining the number of the memory blocks according to the use status of the memory resources of the set-top box, and the sequentially applying for the memory blocks by the display module to form a memory area comprises:
obtaining the size Sm of the spare memory resources of the current set top box, comparing the size Sb of the memory block units, and calculating the number S of the memory blocks according to the following modes:
the upper limit of S is: [ (Sm-Sb x 2)/Sb ] + 2;
the lower limit of S is 3;
and according to the size Sb of the memory blocks and the number S of the memory blocks, sequentially initiating application of the memory blocks with the size of S Sb by a display module to form the memory area.
4. The method according to claim 3, wherein the memory blocks in the memory area are organized by linear numbers, the numbers are denoted as NUM, and the NUM ranges are: and 0 to S-1, the memory area sequentially records the address, decoding state and display state of each memory block.
5. The method for playing DVB panoramic video stream in real time according to claim 1, wherein the enabling of the playing pipeline by the main control unit, the starting of the data stream, and the coordination of the two tasks of frame fetching and display sending by the state scheduling unit further comprise:
the state scheduling unit initializes the memory area, sets the decoding state of the memory block to R, sets the display state of the memory block to D, and starts two tasks of frame fetching and display sending.
6. The method for playing DVB panoramic video stream in real time according to claim 1, wherein the status scheduling unit coordinates the frame fetching task and the display delivering task, and comprises:
setting a frame fetching queue, recording the frame fetching queue as DQ, wherein the frame fetching queue stores the serial number NUM of the memory block and the decoding state and the display state of the memory block;
setting a display sending container, which is marked as WL, and storing the serial number NUM of the memory block and the decoding state and the display state of the memory block by the display sending container;
obtaining an output video frame of a decoding module continuously in a frame fetching task blocking mode, analyzing the video frame address, namely the address of a memory block in a memory area, positioning a corresponding memory block number NUM, adding the memory block into a frame fetching queue, and setting the decoding state of the memory block to be A;
and (3) sending a display task to perform blocking type continuous judgment on the number of elements of the frame taking queue, if the number of the elements is not empty, obtaining a DQ queue head element, namely a memory block number NUM, judging the synchronization information of a decoding module by using a cache adjusting unit, and performing operation according to a synchronization result.
7. The method for playing DVB panoramic video stream in real time according to claim 6, wherein the using the buffer adjustment unit to determine the synchronization information of the decoding module and perform the operation according to the synchronization result comprises:
if the synchronization information is PLAY, and corresponding to audio and video synchronization, the memory block corresponding to the memory block number NUM is delivered to a display module, the display state of the memory block is set to be Q, and the memory block is listed from the frame fetching queue and added into the display sending container;
if the synchronous information is REPEAT, if the corresponding video is faster than the audio, the synchronous information is repeatedly polled until the synchronous information is updated to PLAY;
if the synchronous information is DISCARD DISCARD and the corresponding video is slower than the audio, dequeuing the element from the frame taking queue and adding the dequeued element into the display sending container;
traversing the display sending container by the display sending task, if the display state of the element is D, releasing the memory block delivery decoding module corresponding to the memory block number NUM, setting the decoding state of the memory block to be R, and deleting the element from the display sending container;
and judging the element number of the display sending container by the display sending task, if not, initiating the memory block of the display module to repeat the application work through the shared memory management unit, and setting the display state of the memory block to be D.
8. A system for playing DVB panoramic video stream in real time based on a set top box is characterized by comprising a main control unit, a shared memory management unit, a state scheduling unit, a cache adjusting unit and a set top box with a DVB function;
the master control unit is used for scheduling the shared memory management unit, the state scheduling unit and the cache adjusting unit, coordinating DVB (digital video broadcasting) live broadcast related resources of the set top box and connecting spherical rendering display of the panoramic video;
the shared memory management unit is used for elastically applying and managing memory blocks to form a memory area which is shared by the set top box decoding module and the display module;
the state scheduling unit is used for starting two tasks of frame taking and display sending, and coordinating the acquisition of the video frames and the delivery of the display module by adopting state scheduling based on a container queue type;
the buffer adjustment unit and the auxiliary state scheduling unit correct rendering display based on the synchronous information and optimize uniform speed display at millisecond level.
CN202010771690.6A 2020-08-04 2020-08-04 Method and system for playing DVB panoramic video stream in real time based on set top box Pending CN111970552A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010771690.6A CN111970552A (en) 2020-08-04 2020-08-04 Method and system for playing DVB panoramic video stream in real time based on set top box

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010771690.6A CN111970552A (en) 2020-08-04 2020-08-04 Method and system for playing DVB panoramic video stream in real time based on set top box

Publications (1)

Publication Number Publication Date
CN111970552A true CN111970552A (en) 2020-11-20

Family

ID=73363403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010771690.6A Pending CN111970552A (en) 2020-08-04 2020-08-04 Method and system for playing DVB panoramic video stream in real time based on set top box

Country Status (1)

Country Link
CN (1) CN111970552A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114222166A (en) * 2021-09-29 2022-03-22 重庆创通联达智能技术有限公司 Multi-path video code stream real-time processing and on-screen playing method and related system
CN115037974A (en) * 2022-06-14 2022-09-09 中山亿联智能科技有限公司 Set top box supporting multi-mode switching

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160007086A1 (en) * 2013-02-25 2016-01-07 Saronikos Trading And Services, Unipessoal Lda Method for Selecting and Displaying Television Programs Transmitted Through an Internet Network, and Related Apparatus and System
CN106375844A (en) * 2016-09-20 2017-02-01 威睿科技(武汉)有限责任公司 VR panoramic live video transmission gateway and method
WO2017198143A1 (en) * 2016-05-18 2017-11-23 中兴通讯股份有限公司 Video processing method, video playback method, set-top box, and vr apparatus
CN108289231A (en) * 2017-06-20 2018-07-17 深圳市佳创视讯技术股份有限公司 A kind of panorama player of fusion
CN110475122A (en) * 2018-05-10 2019-11-19 腾讯科技(深圳)有限公司 Method and device for live video stream broadcasting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160007086A1 (en) * 2013-02-25 2016-01-07 Saronikos Trading And Services, Unipessoal Lda Method for Selecting and Displaying Television Programs Transmitted Through an Internet Network, and Related Apparatus and System
WO2017198143A1 (en) * 2016-05-18 2017-11-23 中兴通讯股份有限公司 Video processing method, video playback method, set-top box, and vr apparatus
CN106375844A (en) * 2016-09-20 2017-02-01 威睿科技(武汉)有限责任公司 VR panoramic live video transmission gateway and method
CN108289231A (en) * 2017-06-20 2018-07-17 深圳市佳创视讯技术股份有限公司 A kind of panorama player of fusion
CN110475122A (en) * 2018-05-10 2019-11-19 腾讯科技(深圳)有限公司 Method and device for live video stream broadcasting

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114222166A (en) * 2021-09-29 2022-03-22 重庆创通联达智能技术有限公司 Multi-path video code stream real-time processing and on-screen playing method and related system
CN114222166B (en) * 2021-09-29 2024-02-13 重庆创通联达智能技术有限公司 Multi-channel video code stream real-time processing and on-screen playing method and related system
CN115037974A (en) * 2022-06-14 2022-09-09 中山亿联智能科技有限公司 Set top box supporting multi-mode switching
CN115037974B (en) * 2022-06-14 2023-08-25 中山亿联智能科技有限公司 Set top box supporting multi-mode switching

Similar Documents

Publication Publication Date Title
JP3002471B2 (en) Program distribution device
CN105721921B (en) A kind of adaptive selection method of multiwindow Video Decoder
US7046677B2 (en) Method and apparatus for time-multiplexed processing of multiple digital video programs
EP1708506B1 (en) Rapid media channel changing mechanism and access network node comprising same
US5646693A (en) Memory utilization for video decoding and display with 3:2 pull-down
RU2378765C1 (en) Device and method for receiving multiple streams in mobile transmission system
KR20030071481A (en) System and methods for providing video-on-demand services for broadcasting systems
JPH10294757A (en) Optimization method for band width to transmit compressed video data stream
CN101248666A (en) Demanding system and method using dynamic broadcast scheduling
CN101132521A (en) Method and device for switching IPTV channels
CN111970552A (en) Method and system for playing DVB panoramic video stream in real time based on set top box
CN109218748A (en) Video transmission method, device and computer readable storage medium
Salters Memory-fast DRAMs for sharper TV
CN102547228A (en) High-definition network video monitoring system based on local storage and resolution hierarchical transmission
KR20080004561A (en) Rapid media channel changing mechanism and access network node comprising same
US20020026501A1 (en) Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices
CN104735410B (en) A kind of narrow bandwidth video transmission method and system lower than 4K/S
CN103686077A (en) Double buffering method applied to realtime audio-video data transmission of 3G wireless network
CN116419018A (en) Vehicle-mounted multi-screen simultaneous display method based on USB wired screen projection
CN104010204B (en) Image information processing method and device
CN112887742B (en) Live stream processing method, device, equipment and storage medium
Yun et al. Architectures for multi-source multi-user video compositing
US7890651B2 (en) Sending content from multiple content servers to clients at time reference points
US8151308B1 (en) Modifying the behavior of a multimedia transport system in response to detected capabilities of a client system
CN204681528U (en) A kind of obtain the short-sighted frequency of TV programme and by network share system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201120

RJ01 Rejection of invention patent application after publication