CN111726680B - Method and equipment for realizing EIT table multiplexing - Google Patents
Method and equipment for realizing EIT table multiplexing Download PDFInfo
- Publication number
- CN111726680B CN111726680B CN202010554804.1A CN202010554804A CN111726680B CN 111726680 B CN111726680 B CN 111726680B CN 202010554804 A CN202010554804 A CN 202010554804A CN 111726680 B CN111726680 B CN 111726680B
- Authority
- CN
- China
- Prior art keywords
- eit
- packet
- multiplexing
- pid
- module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 58
- 238000012986 modification Methods 0.000 claims description 19
- 230000004048 modification Effects 0.000 claims description 19
- 238000006467 substitution reaction Methods 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims 1
- 230000010354 integration Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000002593 electrical impedance tomography Methods 0.000 description 372
- 238000001824 photoionisation detection Methods 0.000 description 81
- 238000010586 diagram Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 102100027867 FH2 domain-containing protein 1 Human genes 0.000 description 2
- 101001060553 Homo sapiens FH2 domain-containing protein 1 Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/458—Scheduling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application relates to a method and a device for realizing EIT table multiplexing, comprising the following steps: receiving a TS stream, and identifying an EIT packet of the TS stream; modifying the EIT packet according to the information of the EIT packet; and multiplexing and outputting the TS flow of at least one channel through polling scheduling. The beneficial effects are that: compared with the conventional front-end equipment which needs a special processing module to process the multiplexing of the EIT table, the method can be realized by fully utilizing the video multiplexing module of the existing system and the internal resources of the programmable logic device, and has the advantages of simple design and low cost.
Description
Technical Field
The present application relates to the field of network communication technologies, and in particular, to a method and an apparatus for implementing EIT table multiplexing.
Background
With the development of video technology, the multiplexing capability of the front-end equipment is more and more powerful and more flexible. The programs that the user sees at the terminal are generated from a plurality of different sources by re-multiplexing. Correspondingly, the EIT tables representing the EIT section information must be adapted and multiplexed therewith, so that the programs received by the user terminals can be ensured to be in one-to-one correspondence with the received EIT tables. The user can schedule and selectively watch programs according to the EIT section information carried by the received EIT table. At present, in order to implement multiplexing of the EIT table, a single EIT table multiplexing module or even a dedicated server is usually required by the front-end device to implement multiplexing processing of the EIT table, which is complex to implement and expensive.
Disclosure of Invention
In order to solve the above technical problem, the present application provides a method for implementing EIT table multiplexing, which is applied to an electronic device, and the method includes:
receiving a TS stream, and identifying an EIT packet of the TS stream;
modifying the EIT packet according to the information of the EIT packet;
and multiplexing and outputting the TS flow of at least one channel through polling scheduling.
Optionally, the receiving the TS stream and identifying the EIT packet of the TS stream includes:
extracting PID information of the TS packet, and identifying the PID information;
when the PID information is 0x12, an EIT flag and EIT source information are added to a TS packet, thereby generating an EIT packet.
Optionally, the modifying, according to the information of the EIT packet, the EIT packet includes:
extracting the information of the EIT packet, and judging whether the EIT packet is the first packet of the EIT section;
if yes, judging whether the EIT packet is matched with a PID replacement table;
if the EIT packet is matched with the program video PID, replacing the PID information of the EIT packet with the representation program video PID, otherwise, not modifying the EIT packet.
Optionally, the determining whether the EIT packet is a first packet of the EIT segment includes:
extracting payload _ unit _ start in the current EIT packet, identifying whether the EIT packet is the program event start of an EIT section, and when the payload _ unit _ start is 1, the EIT packet is the first packet of the EIT section.
Optionally, the determining whether the EIT packet matches with the PID substitution table includes:
extracting SRC _ INF and Service _ ID information in the EIT packet;
and traversing and reading the PID replacement table, comparing the EIT packet with the SRC _ INF and the SERVICE _ ID of the PID replacement table, and judging whether the EIT packet is matched with the SRC _ INF and the SERVICE _ ID of the PID replacement table.
Optionally, the PID substitution table is stored in at least one memory.
Optionally, the multiplexing the TS stream of the at least one channel and outputting includes:
according to the EIT mark of the EIT packet, separating the EIT packet and the non-EIT packet in the TS stream;
caching the EIT packet into an EIT packet memory according to the source information of the EIT packet;
when each channel stores a complete EIT section in an EIT packet memory, the EIT packet memory provides a first multiplexing request;
and processing the first multiplexing request.
Optionally, the processing the first multiplexing request includes:
receiving the first multiplexing request, and scheduling and monopolizing the current channel;
and continuously receiving an input request of the TS output module, outputting the TS packet of the current channel until the whole EIT section of the current channel is completely output, and scheduling the next channel.
Optionally, after the EIT packets and the non-EIT packets in the TS stream are separated according to the EIT flag of the current EIT packet, the method further includes:
caching the non-EIT packet in a non-EIT packet memory;
when one TS packet exists in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module.
Optionally, after the multiplexing the TS stream of the at least one channel, the method further includes:
and modifying the representation program video PID of the EIT packet into the original PID information, and resetting continuous counting in the EIT packet.
In addition, the present application also provides a device for implementing EIT table multiplexing, including the above method for implementing EIT table multiplexing, where the device includes a multiplexing processing module, and at least one input module and an EIT modification input module;
the input module is used for receiving the TS stream and identifying the TS packet of the TS stream with the EIT mark;
the EIT modification input module is connected with the input module and used for modifying the EIT packet to generate an EIT packet;
and the multiplexing processing module is connected with the EIT modification input module and is used for performing polling scheduling multiplexing output on the EIT packets of at least one channel.
Optionally, the multiplexing processing module includes an EIT separation module, an EIT storage module, an EIT multiplexing module, and a TS output module;
the EIT separation module separates an EIT packet and a non-EIT packet in the TS stream according to the EIT mark of the current EIT packet;
the EIT storage module caches the EIT packet into an EIT packet storage according to the source information of the current EIT packet;
when each channel stores a complete EIT section in an EIT packet memory, the EIT packet memory provides a first multiplexing request to the EIT multiplexing module;
the EIT multiplexing module receives the first multiplexing request, schedules and monopolizes the current channel;
and the EIT multiplexing module continuously receives the second multiplexing request of the TS output module, outputs the TS packet of the current channel until the whole EIT section of the current channel is completely output, and schedules the next channel.
Optionally, the multiplexing processing module further comprises a non-EIT storage module,
the non-EIT storage module caches the non-EIT packets in a non-EIT packet storage;
when one TS packet exists in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module.
Optionally, the TS output module implements multiplexing of the entire TS by scheduling the EIT multiplexing module and the non-EIT storage module.
Optionally, the input module comprises an input recognition module and an input modification module,
the input identification module extracts PID information of the TS packet and identifies the PID information;
and when the PID information is 0x12, the input modification module adds an EIT mark and EIT source information to the TS packet to generate an EIT packet.
Optionally, the apparatus further includes an EIT modification output module, configured to modify the representation program video PID of the EIT packet into the original PID information, and reset the continuous count in the EIT packet.
The application discloses a method and a device for realizing EIT table multiplexing, which have the advantages that: compared with the conventional front-end equipment which needs a special processing module to process the multiplexing of the EIT table, the method can be realized by fully utilizing the video multiplexing module of the existing system and the internal resources of the programmable logic device, and has the advantages of simple design and low cost; the method and the device have the advantages that the EIT packet is embedded into multiplexing of the video packet by utilizing the consistency of the EIT packet and the program video PID represented by the EIT packet, so that the design is very simple and flexible.
Drawings
Fig. 1 is a schematic diagram of a multiplexing method according to an embodiment of the present application.
Fig. 2 is a schematic diagram of a multiplexing apparatus according to an embodiment of the present application.
Fig. 3 is a schematic diagram of an input module according to an embodiment of the present application.
Fig. 4 is a schematic diagram of an EIT packet header according to an embodiment of the present application.
Fig. 5 is a schematic diagram of a PID substitution table according to an embodiment of the present application.
Fig. 6 is a schematic diagram of a multiplexing processing module according to an embodiment of the present application.
FIG. 7 is a schematic diagram of a memory according to an embodiment of the present application.
Fig. 8 is a schematic diagram illustrating an implementation procedure of an embodiment of the present application.
Detailed Description
The following detailed description of the preferred embodiments of the present application, taken in conjunction with the accompanying drawings, will make the advantages and features of the present application more readily appreciated by those skilled in the art, and thus will more clearly define the scope of the invention.
In the embodiment shown in fig. 1, the present application provides a method for implementing EIT table multiplexing, which is applied in an electronic device, and the method includes:
s1, receiving the TS stream, and identifying the EIT packet of the TS stream;
in step S1, the present application scans the input source through the CPU or other processor to receive the TS stream; extracting PID information of the TS packet and identifying the PID information; when the PID information is 0x12, adding an EIT mark and EIT source information to a TS packet to generate an EIT packet; and completing the identification of the EIT packet.
S2, modifying the EIT packet according to the information of the EIT packet;
in step S2, according to the EIT packet in step S1, extracting EIT packet information, and determining whether the EIT packet is the first packet of the EIT segment; if yes, judging whether the EIT packet is matched with the PID replacement table; if the EIT packet is matched with the video PID, replacing the PID information of the EIT packet with the PID of the representation program video, otherwise, not modifying the EIT packet.
And S3, multiplexing and outputting the TS flow of at least one channel through polling scheduling.
In step S3, when there is a multi-channel TS stream flowing in, T of the TS stream of the multi-channel is multiplexed and output by polling scheduling. According to the EIT mark of the EIT packet, separating the EIT packet and the non-EIT packet in the TS stream; caching the EIT packet into an EIT packet memory according to the source information of the EIT packet; when each channel stores a complete EIT Section in an EIT packet memory, the EIT packet memory puts forward a first multiplexing request; receiving a first multiplexing request, and scheduling and monopolizing a current channel; and continuously receiving an input request of the TS output module, outputting the TS packet of the current channel until the whole EIT Section of the current channel is completely output, and scheduling the next channel.
Compared with the conventional front-end equipment which needs a special processing module to process the multiplexing of the EIT table, the method can be realized by fully utilizing the video multiplexing module of the existing system and the internal resources of the programmable logic device, and has the advantages of simple design and low cost; the method and the device have the advantages that the EIT packet is embedded into multiplexing of the video packet by utilizing the consistency of the EIT packet and the program video PID represented by the EIT packet, so that the design is very simple and flexible.
In some embodiments, receiving a TS stream and identifying EIT packets for the TS stream includes: extracting PID information of the TS packet, and identifying the PID information; when the PID information is 0x12, an EIT flag and EIT source information are added to a TS packet to generate an EIT packet. In this embodiment, after receiving a TS stream, PID information of the TS is extracted. When the PID of the TS packet is 0x12, an EIT FLAG EIT _ FLAG is generated and the source information where the EIT is located is recorded. Referring to fig. 4, a custom header of 4 bytes is added to a TS packet; the custom header definition is shown in fig. 4. EIT _ FLA is an EIT flag, and SRC _ INF0 and SRC _ INF1 are EIT source information.
In some embodiments, modifying the EIT packet based on the information of the EIT packet includes: extracting the information of the EIT packet, and judging whether the EIT packet is the first packet of the EIT section; the judging method specifically comprises the following steps: extracting payload _ unit _ start in the current EIT packet, identifying whether the EIT packet is the beginning of the EIT section of one EIT section, and when the payload _ unit _ start is 1, the EIT packet is the first packet of the EIT section.
And if the EIT packet is not the first packet, not processing the EIT packet.
If the EIT packet is the first packet, judging whether the EIT packet is matched with the PID replacement table; the specific judgment method comprises the following steps: extracting SRC _ INF and Service _ ID information in the EIT packet; and traversing and reading the PID replacement table, comparing the EIT packet with the SRC _ INF and the SERVICE _ ID of the PID replacement table, and judging whether the EIT packet is matched with the SRC _ INF and the SERVICE _ ID of the PID replacement table.
If the EIT packet is matched with the video PID, replacing the PID information of the EIT packet with the PID of the representation program video, otherwise, not modifying the EIT packet.
In this embodiment, the CPU scans the source to obtain source information. The source information comprises PID information of the TS packet, program information contained in the EIT and the like, and the CPU can obtain the corresponding relation between each Service ID in the EIT and the video PID. The CPU of the application configures a PID replacement table comprising source information SRC _ INF, Sevrvice ID and corresponding video PID in an internal memory of a programmable device. The definition of each data field end of the memory is shown in FIG. 5. The width of the memory is the sum of the bit widths of the Video PID, the SRC _ INF and the SERVICE _ ID; the depth of the memory is the total number of programs. The width and depth of the memory can be configured according to the system requirements in the actual product design. When the EIT packet is identified, payload _ unit _ start in the header of the EIT packet is extracted to identify whether the EIT packet is an EIT section start of an EIT section. When payload _ unit _ start is 1, extracting the information of SRC _ INF and Service _ ID in the EIT packet for the first packet of the EIT segment, then, starting to read the PID substitution table in fig. 5 in a traversal manner, and comparing whether the information obtained by the extraction matches the information of SRC _ INF and Service _ ID read from the memory. If the program information matches, the program represented by the EIT section is consistent with the program information in the memory. At this time, all PIDs of the EIT packets included in the EIT section are replaced with in-memory program video PIDs. If not, the program represented by the EIT does not participate in multiplexing, and the EIT packet contained in the EIT section is not replaced by the PID. According to the implementation of the EIT _ PID _ RPLC module, the first packet of the EIT section starts to traverse and read the PID substitution table in the process of caching the first packet in the memory. Only after the traversal is completed, the EIT packet can obtain the replaced video PID and fill the packet header. In this embodiment, the EIT section is an EIT section; one EIT segment contains a plurality of EIT packets, and the plurality of EITs form complete program information. In the DVB system, EIT information of all programs is transmitted by the same PID 0x12, EIT packets of different programs are distinguished by Service IDs in the packets, and EIT is transmitted in Section (in common terms, transmission in sections). For example, for EIT information for two channels, channel 0 and channel 1, the source would transmit as follows:
ch 0: first Section information of program a (PA _ Section1), first Section information of program B (PB _ Section1), second Section information of program B (PB _ Section2), second Section information of program a (PA _ Section2) ….
ch 1: first Section information (PX _ Section1) of the program X, first Section information (PY _ Section1) of the program Y, second Section information (PX _ Section2) of the program X, second Section information (PY _ Section2) … of the program Y.
Assuming that the user only needs the a program of channel 0 and the Y program of channel 1 after multiplexing, it is necessary to recombine the a program EIT information of ch0 and the Y program EIT information of ch 1.
After recombination: first Section information of program A (PA _ Section1), first Section information of program Y (PY _ Section1), second Section information of program A (PA _ Section2), second Section information of program A (PA _ Section2)
Wherein: the Section of one EIT cannot insert EIT packets of other programs.
In some embodiments, the PID substitution table is stored in at least one memory. When the total number of programs is large, as shown in fig. 5, the depth of the PID substitution table will be large, and it takes a long time to traverse. If the TS packet cannot be output in time because the DEST information is not available, the throughput of the TS packet in the system is reduced, and the efficiency of the system is finally affected. To this end, the PID substitution table may be replaced with a plurality of memories of smaller depths. When the memory reading is started, all the memories with small depths are read simultaneously in parallel, so that the time for acquiring the replacement video PID can be reduced.
In some embodiments, multiplexing the TS streams of at least one channel, including:
according to the EIT mark of the EIT packet, separating the EIT packet and the non-EIT packet in the TS stream; in this embodiment, the EIT packet and the non-EIT packet are separated according to the EIT _ FLAG by extracting the EIT FLAG EIT _ FLAG of the TS custom header.
Caching the EIT packet into an EIT packet memory according to the source information of the EIT packet; in the present embodiment. And respectively caching the EIT packets into an EIT packet memory according to the EIT source information SRC _ INF. Theoretically, a total of 2 × SRC _ INF EIT cache channels are needed. In practical designs, some channels may have no EIT or require EIT multiplexing. To balance functions and resources, a fixed number of buffer channels may be set, which are allocated to streams requiring EIT multiplexing for use by the configuration of the CPU. The EIT packet memory is an internal memory of a programmable device.
When each channel stores a complete EIT Section in an EIT packet memory, the EIT packet memory puts forward a first multiplexing request; in this embodiment, to ensure the integrity of the multiplexed EIT, when each channel has one complete EIT Section in the memory, a first multiplexing request is provided, where the first multiplexing request is provided to the EIT multiplexing module.
The first multiplexing request is processed. In this embodiment, the processing the first multiplexing request is performed in an EIT multiplexing module, and includes: receiving a first multiplexing request, and scheduling and monopolizing a current channel; and continuously receiving the input request of the TS output module, outputting the TS packet of the current channel until the whole EIT Section of the current channel is completely output, and scheduling the next channel. The EIT multiplexing module receives the multiplexing requests of all EIT _ BUF modules. And scheduling one EIT channel and monopolizing the channel by adopting a polling scheduling mode, outputting one TS packet when the TS output module inputs an input request EIT _ out _ en, and scheduling the next channel until the whole EIT Section of the channel is completely output.
In some implementations, after separating the EIT packet and the non-EIT packet in the TS stream according to the EIT flag of the current EIT packet, the method further includes: caching the non-EIT packet in a non-EIT packet memory; when one TS packet exists in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module. In this embodiment, other TS packets except the EIT are buffered in a non-EIT packet memory, each non-EIT packet memory is a channel, and a scheduling request is generated to the TS output module when one TS packet exists in each channel buffer.
In some embodiments, after multiplexing and outputting the TS stream of the at least one channel, the method further includes: and modifying the representation program video PID of the EIT packet into the original PID information, and resetting continuous counting in the EIT packet. And receiving the TS stream which is multiplexed and output, modifying the PID of the representation program video carrying the EIT _ FLAG with the EIT mark into the PID information of the original EIT packet, and resetting continuous counting in the EIT packet. Meanwhile, information such as Service ID is modified according to needs, and newly generated multiplexing streams are adapted.
In the embodiment shown in fig. 2, the present application further provides an apparatus for implementing EIT table multiplexing, including the above method for implementing EIT table multiplexing, where the apparatus includes a multiplexing processing module 2, and at least one input module 1 and an EIT modification input module 3;
an input module 1, configured to receive a TS stream and identify a TS packet of the TS stream with an EIT flag; an EIT packet is identified from the TS stream and a header is added to the EIT packet. The packet header includes: EIT source information, EIT FLAG EIT _ FLAG.
An EIT modification input module 3 connected with the input module 1 and used for modifying the EIT packet to generate an EIT packet; and replacing the PID of the EIT packet with the representation program video PID according to the identified EIT packet information, thereby embedding the multiplexing of the EIT packet into the multiplexing of the representation program video PID.
And the multiplexing processing module 22 is connected with the EIT modification input module 3, and is configured to perform round-robin scheduling multiplexing output on the EIT packets of at least one channel. Receiving TS flows from a plurality of sources, and caching the EIT packets into corresponding caches in a section mode according to the EIT packet special marks and source information carried in EIT packet headers. When the EIT packet of each source caches a complete EIT section, a multiplexing request is initiated. And the EIT multiplexing module sequentially multiplexes and outputs EITs of all channels by taking section as a unit according to a polling scheduling mode. The multiplexing processing module 2 multiplexes the EIT packet and the non-EIT packet and outputs the multiplexed packet.
Compared with the conventional front-end equipment which needs a special processing module to process the multiplexing of the EIT table, the method disclosed by the application can be realized by fully utilizing the video multiplexing module of the existing system and the internal resources of the programmable logic device, and is simple in design and low in cost; the method and the device have the advantages that the EIT packet is embedded into multiplexing of the video packet by utilizing the consistency of the EIT packet and the program video PID represented by the EIT packet, so that the design is very simple and flexible.
In some embodiments, referring to fig. 6, the multiplexing processing module 2 includes an EIT separation module 20, an EIT storage module 21, an EIT multiplexing module 22, and a TS output module 24;
the EIT separation module 20 separates an EIT packet and a non-EIT packet in the TS stream according to the EIT flag of the current EIT packet;
the EIT storage module 21 caches the EIT packet in the EIT packet storage according to the source information of the current EIT packet;
in this embodiment, the EIT separation module 20 receives TS streams input from different sources, extracts an EIT _ FLAG of a TS custom header, and separates an EIT packet from a non-EIT packet according to the EIT FLAG EIT _ FLAG.
The EIT storage module 21 receives the EIT packet output by the EIT separation module 20. And respectively caching the EIT packets into an EIT packet memory, namely the internal memory of the programmable device according to the EIT source information SRC _ INF. Theoretically, a total of 2 × SRC _ INF EIT cache channels are needed. In practical designs, some channels may have no EIT or require EIT multiplexing. To balance functions and resources, a fixed number of buffer channels may be set, which are allocated to streams requiring EIT multiplexing for use by the configuration of the CPU.
To ensure the integrity of the EIT after multiplexing, each channel makes a multiplexing request when there is a complete EIT Section in the memory, as shown in fig. 7.
The EIT multiplexing module 22 implements multiplexing of EIT packets. A multiplex request is received for all EIT storage modules 21. And scheduling one EIT channel and monopolizing the channel by adopting a polling scheduling mode, outputting one TS packet each time the TS output module 24 inputs EIT _ out _ en, and scheduling the next channel until the whole EIT Section of the channel is completely output. When each channel stores a complete EIT Section in the EIT packet memory, the EIT packet memory sends a first multiplexing request to the EIT multiplexing module 22; the EIT multiplexing module 22 receives the first multiplexing request, schedules and monopolizes the current channel; the EIT multiplexing module 22 continuously receives the second multiplexing request from the TS output module 24, outputs the TS packet of the current channel until the whole EIT Section of the current channel is completely output, and schedules the next channel.
In some embodiments, the multiplexing processing module 2 further includes a non-EIT storage module 23, and the non-EIT storage module 23 buffers the non-EIT packets in the non-EIT packet storage; when there is one TS packet in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module 24. In this embodiment, the non-EIT storage module 23 buffers other TSs except the EIT, each SRC _ INF is a channel, and a second scheduling request is generated when one TS packet exists in each channel buffer. The TS output module 24 realizes multiplexing of the whole TS through the scheduling EIT multiplexing module 22 and the non-EIT storage module 23.
In some embodiments, referring to fig. 3, the input module 1 comprises an input recognition module 10 and an input modification module 11,
an input identification module 10 for extracting the PID information of the TS packet and identifying the PID information; and realizing the identification of the EIT packet. And after receiving the TS stream, extracting PID information of the TS. When the PID of the TS is 0x12, an EIT FLAG EIT _ FLAG is generated and source information where the EIT is located is recorded.
An input modification module 11, when the PID information is 0x12, adding an EIT tag and EIT source information to a TS packet to generate an EIT packet; a custom header of 4 bytes is added to the EIT packet identified by the input identification module 10. The custom header definition is shown in fig. 4. EIT _ FLAG is an EIT FLAG obtained by the input identity module 10, and SRC _ INF0 and SRC _ INF1 are EIT source information obtained by the input identity module.
In some embodiments, the apparatus further comprises an EIT modification output module, configured to modify the PID of the representative program video of the EIT packet into the original PID information, and reset the continuous count in the EIT packet. In this embodiment, the representation program video PID of the EIT packet is modified to the original PID information, that is, the representation program video PID of the EIT packet is modified to 0x 12. After the multiplexing process is completed, the PID of the EIT packet has been modified to the video PID of the corresponding program. At this time, there is no need to pay attention to the subsequent processing because the subsequent processing of the EIT packet is already embedded in the video packet of the original system. At a receiving terminal, modifying the PID of the EIT packet into a video PID according to the EIT _ FLAG mark in the packet header; the EIT of each channel is generated by multiplexing EIT, and the continuous counting of EIT packets is not correct any more. On each channel, the count of consecutive EIT packets (PID 0x12) is reset. At the receiving terminal, the Service ID, Transport _ Stream _ ID, and original _ network _ ID of the new multiplexed Stream are no longer matched with those in the EIT packet, and at this time, adaptation modification is required, and a new CRC is generated.
In some embodiments, based on an apparatus for implementing EIT table multiplexing, the multiplexing process of EIT of the present application involves interaction of the above multiple implementation modules, including multiple implementation steps, as shown in fig. 8:
step 220: EIT multiplexing preparation.
The system unsets, polls to the next lane or the input request EIT _ out _ en is not valid, EIT multiplexing ready.
Step 221: it is determined whether the input request eit _ out _ en generated by the TS output module 24 is valid, and if so, the process goes to step 222, otherwise, the process goes back to step 220.
The TS output module 24 performs multiplexing of the EIT packet and the non-EIT TS packet, and when arbitrating to the EIT output, generates a pulse EIT _ out _ en input request to the EIT multiplexing module 22.
Step 222: it is determined whether the polled channel first multiplex request eit _ out _ req is valid. If valid, go to step 224, otherwise go to step 223.
As can be seen from FIG. 6, when the incoming request EIT _ out _ req is valid, it indicates that there is at least one complete EIT section in the channel, so the channel can be scheduled. Otherwise, poll to the next channel.
Step 223: the next channel is polled. Jump to step 220.
Step 224: after reading out a TS packet from the scheduled channel, the data of 6 units is read out continuously.
Step 225: from step 224, the read-out of the 6 unit data is resumed, so as to determine whether the read-out of the section is completed. If so, go to step 223; otherwise, go to step 226.
As can be seen from fig. 7, if bit7 of the 6 th data to be read out is 1, the payload _ unit _ start of the EIT packet is valid. Indicating the start of the next section. Then the TS packet read out in step 225 is the last TS packet of the EIT section of the channel.
Step 226: after waiting for the TS output module 24 to generate the input request eit _ out _ en to be valid, the process goes to step 224.
This step indicates that the EIT section of the channel has not been completely output, and the channel is still exclusively occupied, and continues to output a TS packet after the input request EIT _ out _ en of the TS output module 24 is valid.
In addition, in the description of the embodiments of the present application, unless otherwise explicitly specified or limited, the terms "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood in specific cases to those skilled in the art.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application may be substantially implemented or contributed to by the present invention or parts thereof in the form of a software product stored in a storage medium and including instructions for causing a computer device, which may be a personal computer, a server, or a network device, to execute all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: u disk, removable hard disk, read only memory, random access memory, magnetic disk or optical disk, etc. for storing program codes.
The embodiments of the present application have been described in detail with reference to the drawings, but the present application is not limited to the above embodiments, and various changes can be made without departing from the spirit of the present application within the knowledge of those skilled in the art.
Claims (14)
1. A method for realizing EIT table multiplexing is applied to electronic equipment, and the method comprises the following steps:
receiving a TS stream, and identifying an EIT packet of the TS stream;
judging whether the EIT packet is the first packet of the EIT section and is matched with a PID (proportion integration differentiation) replacement table or not according to the information of the EIT packet, and replacing PID information of the EIT packet with a representation program video PID if the EIT packet is the first packet of the EIT section and is matched with the PID replacement table;
multiplexing and outputting TS (transport stream) of the multi-channel by polling scheduling;
wherein, the receiving the TS stream and identifying the EIT packet of the TS stream comprises: extracting PID information of the TS packet, and identifying the PID information; when the PID information is 0x12, adding an EIT mark and EIT source information to a TS packet to generate an EIT packet;
wherein, the EIT source information is the source information SRC _ INF of the TS packet; the PID substitution table includes source information SRC _ INF, sevvice ID, and a corresponding video PID.
2. The method according to claim 1, wherein the determining, according to the information of the EIT packet, whether the EIT packet is a first packet of an EIT segment and is matched with a PID replacement table, and if so, replacing PID information of the EIT packet with a representation program video PID, includes:
extracting the information of the EIT packet, and judging whether the EIT packet is the first packet of the EIT section;
if yes, judging whether the EIT packet is matched with a PID replacement table or not;
and if the EIT packet is matched with the video PID, replacing the PID information of the EIT packet with the PID of the representation program video, otherwise, not modifying the EIT packet.
3. The method of claim 2, wherein the determining whether the EIT packet is a first packet of the EIT section comprises:
extracting payload _ unit _ start in a current EIT packet, identifying whether the EIT packet is an EIT segment start of an EIT segment, and when the payload _ unit _ start =1, the EIT packet is a first packet of the EIT segment.
4. The method of claim 2, wherein the determining whether the EIT packet matches the PID replacement table comprises:
extracting SRC _ INF and Service _ ID information in the EIT packet;
and traversing and reading the PID replacement table, comparing the EIT packet with the SRC _ INF and the SERVICE _ ID of the PID replacement table, and judging whether the EIT packet is matched with the SRC _ INF and the SERVICE _ ID of the PID replacement table.
5. The method of claim 4, wherein the PID replacement table is stored in at least one memory.
6. The method for implementing EIT table multiplexing according to claim 1, wherein said multiplexing the TS streams of the multiple channels comprises:
according to the EIT mark of the EIT packet, separating the EIT packet and the non-EIT packet in the TS stream;
caching the EIT packet into an EIT packet memory according to the source information of the EIT packet;
when each channel stores a complete EIT section in an EIT packet memory, the EIT packet memory provides a first multiplexing request;
and processing the first multiplexing request.
7. The method of claim 6, wherein the processing the first multiplexing request comprises:
receiving the first multiplexing request, and scheduling and monopolizing the current channel;
and continuously receiving an input request of the TS output module, outputting the TS packet of the current channel until the whole EIT section of the current channel is completely output, and scheduling the next channel.
8. The method of claim 6, wherein after the EIT packets and the non-EIT packets in the TS stream are separated according to the EIT flag of the current EIT packet, the method further comprises:
caching the non-EIT packet in a non-EIT packet memory;
when one TS packet exists in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module.
9. The method according to claim 7 or 8, further comprising, after multiplexing the TS streams of the channels, the steps of:
and modifying the representation program video PID of the EIT packet into the original PID information, and resetting continuous counting in the EIT packet.
10. An apparatus for implementing the EIT table multiplexing method according to any one of claims 1 to 9, wherein the apparatus comprises a multiplexing processing module, and at least one input module, an EIT modification input module;
the input module is used for receiving the TS stream and identifying the TS packet of the TS stream with the EIT mark;
the EIT modification input module is connected with the input module and used for modifying the EIT packet to generate an EIT packet;
and the multiplexing processing module is connected with the EIT modification input module and is used for performing polling scheduling multiplexing output on the EIT packets of at least one channel.
11. The apparatus of claim 10, wherein the multiplexing processing module comprises an EIT separation module, an EIT storage module, an EIT multiplexing module, a TS output module;
the EIT separation module separates an EIT packet and a non-EIT packet in the TS stream according to the EIT mark of the current EIT packet;
the EIT storage module caches the EIT packet into an EIT packet storage according to the source information of the current EIT packet;
when each channel stores a complete EIT section in an EIT packet memory, the EIT packet memory provides a first multiplexing request to the EIT multiplexing module;
the EIT multiplexing module receives the first multiplexing request, schedules and monopolizes the current channel;
and the EIT multiplexing module continuously receives the second multiplexing request of the TS output module, outputs the TS packet of the current channel until the whole EIT section of the current channel is completely output, and schedules the next channel.
12. The apparatus of claim 11, wherein the multiplexing processing module further comprises a non-EIT storage module,
the non-EIT storage module caches the non-EIT packets in a non-EIT packet storage;
when one TS packet exists in the non-EIT packet memory, the non-EIT packet memory makes a second multiplexing request to the TS output module.
13. The apparatus of claim 10, wherein the input module comprises an input recognition module and an input modification module,
the input identification module extracts PID information of the TS packet and identifies the PID information;
and when the PID information is 0x12, the input modification module adds an EIT mark and EIT source information to the TS packet to generate an EIT packet.
14. The apparatus of claim 10, further comprising an EIT modification output module configured to modify the PID of the representative program video of the EIT packet into original PID information and reset consecutive counts in the EIT packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010554804.1A CN111726680B (en) | 2020-06-17 | 2020-06-17 | Method and equipment for realizing EIT table multiplexing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010554804.1A CN111726680B (en) | 2020-06-17 | 2020-06-17 | Method and equipment for realizing EIT table multiplexing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111726680A CN111726680A (en) | 2020-09-29 |
CN111726680B true CN111726680B (en) | 2022-06-10 |
Family
ID=72567273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010554804.1A Active CN111726680B (en) | 2020-06-17 | 2020-06-17 | Method and equipment for realizing EIT table multiplexing |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111726680B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009826A (en) * | 2006-01-25 | 2007-08-01 | 中国长城计算机深圳股份有限公司 | A device of the digital TV terminal for TS stream reuse |
KR20070093933A (en) * | 2007-08-08 | 2007-09-19 | 엘지전자 주식회사 | Apparatus for version control of digital television |
CN103702141A (en) * | 2013-12-17 | 2014-04-02 | 惠州市伟乐科技有限公司 | System for multiplexing video-on-demand program stream |
CN104936006A (en) * | 2015-06-01 | 2015-09-23 | 北京数码视讯科技股份有限公司 | Method, device and system for transmitting program information table |
CN105208405A (en) * | 2014-06-30 | 2015-12-30 | 惠州市伟乐科技股份有限公司 | Emergency video broadcasting device and method |
CN106303580A (en) * | 2015-07-08 | 2017-01-04 | 中国科学院上海高等研究院 | A kind of TS streaming method and system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058965B1 (en) * | 1999-04-15 | 2006-06-06 | Sedna Patent Services, Llc | Multiplexing structures for delivery of interactive program guide |
US7788277B2 (en) * | 2002-07-24 | 2010-08-31 | General Instrument Corporation | Methods and apparatus for rapid capture of program identifier data in a broadband transcoder multiplexer |
CN102821306B (en) * | 2012-08-31 | 2015-12-09 | 深圳国微技术有限公司 | A kind of transport stream processing method, relevant apparatus and system |
CN108289227A (en) * | 2018-01-04 | 2018-07-17 | 山东浪潮商用系统有限公司 | A kind of method and device for realizing that audio-video source is replaced in TS streams |
-
2020
- 2020-06-17 CN CN202010554804.1A patent/CN111726680B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009826A (en) * | 2006-01-25 | 2007-08-01 | 中国长城计算机深圳股份有限公司 | A device of the digital TV terminal for TS stream reuse |
KR20070093933A (en) * | 2007-08-08 | 2007-09-19 | 엘지전자 주식회사 | Apparatus for version control of digital television |
CN103702141A (en) * | 2013-12-17 | 2014-04-02 | 惠州市伟乐科技有限公司 | System for multiplexing video-on-demand program stream |
CN105208405A (en) * | 2014-06-30 | 2015-12-30 | 惠州市伟乐科技股份有限公司 | Emergency video broadcasting device and method |
CN104936006A (en) * | 2015-06-01 | 2015-09-23 | 北京数码视讯科技股份有限公司 | Method, device and system for transmitting program information table |
CN106303580A (en) * | 2015-07-08 | 2017-01-04 | 中国科学院上海高等研究院 | A kind of TS streaming method and system |
Non-Patent Citations (1)
Title |
---|
下级前端数字节目的混合传输;李文彬;《有线电视技术》;20110618;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111726680A (en) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8165293B2 (en) | Method and system providing scrambled content | |
CA2182911C (en) | Method and apparatus for providing an interactive guide to events available on an information network | |
EP2204997A2 (en) | Processing packet streams | |
EP1768396A3 (en) | Device and method for managing electronic program guide data in digital broadcasting reception terminal | |
CN1140956A (en) | Decoder for compressed and multiplexed video and audio data | |
CN1446415A (en) | Internet multimedia advertisements inserting structure | |
US20050083865A1 (en) | Communication of tv-anytime crids | |
EP2204996B1 (en) | Processing packet streams | |
JP3348683B2 (en) | Digital broadcast receiver | |
CN102124750A (en) | System and method for providing content stream filtering in a multi-channel broadcast multimedia system | |
US7359441B2 (en) | Packet data processing determination apparatus | |
CN101821973A (en) | Multi-format stream re-multiplexer for multi-pass, multi-stream, multiplexed transport stream processing | |
CN111726680B (en) | Method and equipment for realizing EIT table multiplexing | |
CN113365098B (en) | Video frame assembling method and device, electronic equipment and storage medium | |
EP1965591B1 (en) | A method for program component multiplexing and identification | |
WO2017142347A1 (en) | Method and device for providing content-related information of multimedia service | |
CN115801102B (en) | Method, device and storage medium for downlink data | |
JP4282258B2 (en) | Digital broadcast signal multiplex transmission device | |
CN109587550B (en) | Channel searching method and device | |
KR101373013B1 (en) | Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for accessing broadcasting service effectively | |
US7385996B2 (en) | Data distribution apparatus and method | |
EP2680595A1 (en) | Apparatus and method thereof for multiplexing transport streams to a transport stream | |
CN105681865B (en) | Automatic scrambling channel allocation method and system | |
EP1134980B1 (en) | Digital data processing from multiple streams of data | |
EP2852169A1 (en) | A multi-programme transport stream common interface controller |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |