Summary of the invention
The object of the present invention is to provide the apparatus and method of a kind of making, transmission and reception broadcast type NVOD program, taking the broadcast that realizes the NVOD program under the limited network bandwidth situation, the user waits for that maximum wait time that program begins shortens greatly with respect to the NVOD program of common mode, can reach approximate VOD professional skill, and do not need return path when carrying out this business, taking of the network bandwidth determined and do not changed with the increase of number of users.The present invention realizes just can promptly putting after the user starts shooting and promptly broadcasts, and need not download the related-program content in advance.Because CHINA RFTCOM Co Ltd all was unilateral network originally, do bidirectional rebuilding not only technology realize acquiring a certain degree of difficulty, and credit requirement is very huge, particularly towards the VOD business of mass viewer audiences, may realize hardly at present, so the technology that the present invention comprised will be very useful for the NVOD business of carrying out high quality-of-service on existing CHINA RFTCOM Co Ltd.For being applied to IP network, this technology carries out the NVOD programming, also can reach near the service quality of VOD business, under the bigger situation of number of users, can reduce the occupancy of the network bandwidth greatly, and the disposal ability of the quantity of required service device or server can there be bigger variation because of the increase of number of users.
For achieving the above object, the invention provides the apparatus and method of a kind of making, transmission and reception broadcast type NVOD program.This NVOD performance system is by splitting multiplexing to video/audio code stream and adding special-purpose descriptor and data segment formation NVOD program stream, program stream is broadcasted by transmission network, terminal receiver is analyzed special-purpose descriptor and data segment, and filters the reorganization code stream according to special algorithm, the decoding broadcast program.
By splitting multiplexing to video/audio code stream and adding special-purpose descriptor and data segment generation NVOD program stream, broadcast this code stream by transmission network, analyze special-purpose descriptor and data segment at receiving terminal, and filter the reorganization code stream, the decoding broadcast program according to special algorithm.The partitioning algorithm that in the program making video/audio code stream of compressed encoding is split particularly, the generation method of special-purpose descriptor of NVOD program and dedicated segments, the program stream multiplexing algorithm, the descriptor of receiving terminal and dedicated segments analytical method, the effective data packets filter algorithm, the effective data packets reorganization permutation algorithm of buffer memory etc.
According to an aspect of the present invention, this NVOD program device comprises: video-audio program is put recording apparatus; Gather video/audio signal and with them by MPEG2, MPEG1, MPEG4 or the video flowing that H.263 waits standard compression to be encoded to be fit to broadcasting and the programme acquisition work station of audio stream; To split according to specific partitioning algorithm from the video flowing and the audio stream of programme acquisition work station, and the special-purpose descriptor and the dedicated segments of generation NVOD program, to split each good segment encode stream is then undertaken multiplexing with special-purpose descriptor, data segment by specific multiplexing algorithm and becomes to be beneficial to data packets for transmission by some standard packaging, the program making work station of formation finished product NVOD program stream; The program stream memory device of storage finished product NVOD program stream; Be used to broadcast the broadcasting server of NVOD program stream; A plurality of TS streams that broadcasting server broadcasts can be carried out once more multiplexing code stream re-multiplexer; Channel Modulation equipment; Transmission network with certain unidirectional bandwidth; After to Network Transmission signal rectification demultiplexing, according to the special-purpose descriptor of NVOD program, the analysis of dedicated segments, according to filter algorithm, by PID number selectable data cached bag of identification, and the terminal receiver that cached data packet is recombinated and arranged, decodes and represent.
In addition, the programme acquisition work station further comprises unpressed one tunnel vision signal and several audio signal is compressed and encoded to generate the audio compressor of looking of the video-voice frequency flow that is fit to broadcasting, the video-voice frequency flow that this compressor reducer generates is stored as material file, and file is carried out the time-code mark.
In addition, the program making work station further comprises the code stream fractionation software module that by specific partitioning algorithm video/audio code stream is divided into plurality of sections according to time-code; Each segment encode stream after code stream split software module and handle carries out multiplexing code stream multiplex software module by specific time array format and multiplexing algorithm; The special-purpose descriptor and the data segment that generate code stream identification descriptor, code stream position descriptor and the dedicated segments of each NVOD program special use of making generate software module.
In addition, the program making work station further comprises standard time acquisition means, this device obtains international standard Greenwich Mean Time by specific method, and this time offered the special-purpose descriptor of NVOD program and data segment generates software module, be used to generate the code stream identification descriptor of each NVOD program special use.
In addition, terminal receiver further comprises channel demodulator; The code stream filter that can filter packet according to ad-hoc location byte content in PID number and the packet; The storage device that is used for the useful data bag that cache filter goes out; Hardware circuit with certain operational capability and the operation of energy receiver control; With the decompress decoder of coding of the buffer memory video/audio code stream that reordered; And the corresponding software of each several part.
Utilize the said apparatus broadcast will be made into the video/audio signal stream of NVOD program; The video/audio signal stream of gather playing and with them by MPEG2, MPEG1, MPEG4 or H.263 wait standard compression to be encoded to the compression video/audio code stream that is fit to broadcasting, this code stream is preserved with document form and simultaneously file is carried out the time-code mark; Respectively video/audio code stream is split into plurality of sections according to specific partitioning algorithm according to time-code; According to special-purpose descriptor and the dedicated segments of DYMBP (DaYang Multimedia Broadcast Protocol) agreement generation at this NVOD program; To split each good segment encode stream and special-purpose descriptor, data segment then and be undertaken multiplexingly by specific multiplexing algorithm, and and be packaged into by certain standard and to be beneficial to data packets for transmission, the data code flow of formation finished product NVOD program, and be stored in the memory device; Broadcasting server extracts the NVOD program stream and broadcasts from memory device; The different programs of many broadcasting server broadcasts can be multiplexed with a code stream again by bit stream multiplexer, and broadcast by transmission network this code stream channel modulation back.The terminal receiving equipment receives modulation code stream and rectification demultiplexing, according to the special-purpose descriptor of NVOD program, the analysis of dedicated segments,, selectively receive packet and buffer memory PID number by identification according to filter algorithm, then the cached data packet reorganization is arranged, decoding represents.
In addition, relate to several algorithms, analytical method and agreement among the present invention, make an explanation respectively below.
It at first is the partitioning algorithm that in the program making video/audio code stream of compressed encoding is split.This algorithm splits the compression video/audio code stream according to following two formula by the time-code mark in the compression video/audio code stream file.
G
n=2
(n-1)×G
1 (2)
M represents the time span of this program compressed bit stream before fractionation;
N represents the hop count of desired fractionation, the highest code check R of program after its upper limit and the compression and to be available for transfer bandwidth B relevant, and N≤(B/R).The N value is also relevant with Pgmtime length, needs to revise according to the result of calculation of formula (2);
Ceil represents the operation result carry is rounded;
G wherein
n(1≤n≤N), segment number increased progressively G since 1 to every section time span after expression split
1Represent first section time span; Used Pgmtime long measure is decided according to compression standard in the aforementioned calculation formula.When this unit chooses, guarantee that the video that comprised and the time that represents of audio frequency should equate in each Pgmtime long measure, while is for the code check of the video/audio code stream in each Pgmtime long measure, should be constant identical between them, promptly the code stream byte number that is comprised in each Pgmtime long measure should be equal substantially.Video frequency program code stream for the constant code rate that uses the MPEG2 compression standard can be unit by GOP.
When cutting apart, in chronological order code stream is divided into time span according to the Pgmtime long measure of choosing and meets above-mentioned formula and the continuous respectively plurality of sections of content.If (the last code stream time span of 1≤e≤N) is less than the G that calculates by formula when splitting the e section
e, so the N value being modified to e, e section (N section just) is last effectively section.This segment encode stream bit rate is with R
NExpression is pressed code check R in this segment encode stream back
NFill certain content (this content can be discerned by terminal receiver and abandon as garbage), until adding to the time span G that calculates by formula (2)
N(G
N=G
e).
After cutting apart by above-mentioned algorithm for compressed video stream, will also be divided into the audio code stream section of coupling separately by identical time span with the compressed audio code stream of its coupling, if N section time span is not enough G
N, supply by filling certain content.Carry out multiplexing in the subsequent reuse step to this N section video code flow that splits and N section audio code stream.
Next is to the code stream that splits method and the multiplexing algorithm by the special time format permutation in the program making.Following time array format and formula all are suitable for for splitting each the video code flow section and the audio code stream section that obtain according to above-mentioned partitioning algorithm, and video/audio code stream is dealt with separately.
To cut apart the good code stream section that is numbered 1~N, any segment encode stream oneself circulation connects, form one tunnel compression program code stream, i.e. n segment encode stream oneself circulation is connected to form n road compression program code stream, and the cycle-index of employed code stream section is calculated by following formula in each road compression program code stream:
C
n=2×2
(N-n) (3)
N represents the quantity by effective code stream section of above-mentioned partitioning algorithm acquisition;
Which road code stream what n represented this formula calculating is, span is 1~N;
C
nRepresent the number of times that n road compression program code stream will connect n code stream section circulation.
For the N road compression program code stream that generates, except that the 1 the tunnel all the other each roads they inner separately to the code stream section by the time arrange all should follow the used code stream section of following rule: Jiang Gelu based on above-mentioned Pgmtime long measure (for the code stream of pressing the constant code rate that the MPEG2 standard compression encodes, video can GOP be a unit, audio frequency is unit with the frame), be divided into S1 and former and later two son sections of S2 by the programme acquisition time sequencing, the program stream that two son sections of S1 and S2 are comprised represents on the time span at program and equates.Be connected to form each road code stream, the initial moment t on each road by two son sections of S1, S2 alternate cycles
bThe place begins place, the t finish time on each road corresponding to S2 section
eThe place is corresponding to the end of S1 section.Moment t
bWith t
eBetween S2 and S1 section alternately arrange, (1<n≤N), S1 that it comprised and S2 hop count amount respectively are C for n road code stream
nIndividual.For the 1 the tunnel, its code stream section is no longer divided the son section.
According to the components of system as directed of MPEG2 standard, N road video code flow and the N road audio code stream that generates is packaged into the PES bag respectively, on the PES package base, be packaged into the TS bag that is beneficial to television broadcast transmissions again, each TS bag planted agent comprises a specific identification sign, is called PID.For all the code stream sections in each road code stream, can be divided into strange position code stream section and even position code stream section by its time sequencing of living in position, the S1 section that S2 section that every road time started is located and concluding time are located is formed a code stream section (except the 1 tunnel).All TS bags of strange position code stream section should have identical PID in certain road code stream for belonging to, and all TS bags that belong to even position code stream section also should have identical PID, and the TS bag that belongs to do not go the same way code stream or different odd evens position should have different PID.
Can regard each road video code flow and its corresponding audio code stream as a program, be called program set here, each program set respectively be generated a pmt table (Program Map Table) by the MPEG2 standard.In a NVOD business set forth in the present invention, also must there be the formed code stream of a route dedicated segments DY_NVOD_Section (), also will generates a pmt table according to the MPEG2 standard to it and be described.Descriptor part in above-mentioned each pmt table (being positioned at before the basic stream description circulation) is added DYNVOD_ID_Descriptor descriptor (code stream identification descriptor), comprise DYNVOD_ID program identification number in this descriptor, all have video code flow listed in the pmt table of identical DYNVOD_ID, audio code stream, dedicated segments code stream and have formed a NVOD business.For each pmt table of describing video/audio code stream, basic stream description circulation portions branch at it lists two video flowing (being strange position code stream section and the even position code stream section in the code stream of same road) and their corresponding audio streams that different PID are arranged, to all adding DYNVOD_Position_Descriptor descriptor (code stream position descriptor) in the description of each stream, can know by this descriptor each stream belongs to which road of NVOD program, the odd even position in this road.Comprehensive each pmt table generates pat table.
According to the DVB-SI standard and use SDT (SDT Service Description Table), EIT (Event Information Table), the NIT tables such as (network information tables) that its form generates this NVOD business of description, comprise NVOD_reference (), time_shifted_service (), time_shifted_event descriptors such as () in the table, and the mode of pressing standard recommendation is with the description of these tables with the paired NVOD business of set of descriptors, just now with N time offset version program stream in the N road video-voice frequency flow replacement standard of above-mentioned generation.
When this N road video code flow and its corresponding audio code stream and each above-mentioned table are multiplexed into one road code stream, calculate each road transmission code rate according to the total amount of data of each road code stream and the time span of its representative earlier, under the prerequisite that the transmission code rate that guarantees each road requires, from each road code stream, extract data respectively and be packaged into TS bag formation multiplexing code stream in time-multiplexed mode, according to predefined spacing parameter the form of each table content with the TS bag is inserted in the multiplexing code stream simultaneously.In multiplex process, add a DY_NVOD_Section () dedicated segments every a Pgmtime long measure (code stream with the MPEG2 standard compression time this chronomere be GOP), the content of this dedicated segments has been explained the real time information of multiplexing code stream, and these information have illustrated the position that has been played at present each road code stream constantly.
Specific filling content for looking in the audio frequency N road code stream separately can keep, and also can the code stream after multiplexing they be rejected.
Relate to special-purpose descriptor of NVOD program and dedicated segments in the top multiplexing step, to their generation method, promptly DYMBP (DaYang Multimedia Broadcast Protocol) agreement makes an explanation here.This agreement is on the basis of MPEG2 and DVB standard, forms by expanding special-purpose descriptor and dedicated segments.The descriptor of expansion has DYNVOD_ID_Descriptor (code stream identification descriptor) and DYNVOD_Position_Descriptor (code stream position descriptor), and the dedicated segments of expansion is DY_NVOD_Section ().Particular content is as follows.
DYNVOD_ID_Descriptor descriptor: in a NVOD program of making by method involved in the present invention, have several pmt tables and describe video/audio code stream and the dedicated segments code stream of forming this NVOD program respectively, in each pmt table, be positioned at the descriptor part before the circulation of basic stream description, all will add a DYNVOD_ID_Descriptor descriptor, and the DYNVOD_ID field value is all identical in this descriptor.
DYNVOD_ID_Descriptor(){
Descriptor_tag: 8; // be worth and be 0xFD
Descriptor_length: 8; // to be worth be 10
DYNVOD_ID: 80; The ID of // each NVOD program, this ID tool
Uniqueness is arranged.
}
Wherein DYNVOD_ID is the unique identifying number of each NVOD program, is used to distinguish different NVOD programs.Because DYNVOD_ID can appear in all pmt tables of a NVOD program, thereby receiving terminal can identify that road dedicated segments code stream and those video/audio code streams are formed a NVOD program.Particularly when bit stream multiplexer was multiplexed with a plurality of NVOD programs again a code stream and broadcasts, this unique identifier became particularly important.DYNVOD_ID is made up of 80 bit data, and concrete form is as follows:
Vendor id (16)+machine identifier (32)+creation-time (32)
Wherein, vendor id is applied for to management organization by each manufacturer that produces NVOD program making work station, can not be repeated.The NVOD program making work station of each manufacturers produce all has one 32 machine identifier, and this identification code is provided by manufacturer and management separately, other sign indicating number when any two NVOD program making work stations of same manufacturers produce can not have identical machine.Creation-time is for from zero point on January 1st, 1970, and elapsed time when beginning to generate this NVOD program is that unit calculates with the second.This time was as the criterion with international standard Greenwich Mean Time.
DYNVOD_Position_Descriptor descriptor: describe in the pmt table of video/audio code stream in all of a NVOD program of making by method involved in the present invention, each listed code stream of its basic stream description cyclic part all can have a DYNVOD_Position_Descriptor, the explanation of this descriptor indicates which road that this PID number code stream is positioned at this NVOD program, and the odd even position in this road.Receiving terminal therefrom can obtain code stream is filtered the information that reorders, and this PID number code stream is which section after program restores.
DYNVOD_Position_Descriptor(){
Descriptor_tag: 8; // be fixed as 0xFE
Descriptor_length: 8; // be generally 2
Segment_index: 8; // point out that this segment encode stream belongs to of this NVOD program
Several roads
Odd_even_flag: 8; // point out that this segment encode flows the parity bit in this road
Put
}
The hop count cut apart of NVOD program should be no more than 256 sections in principle, if but need be in the concrete condition greater than 256 sections, then segment_index field lengthening is 16bit or 24bit or longer in the DYNVOD_Position_Descriptor descriptor, and the descriptor_length field value is corresponding simultaneously changes 3 or 4 or bigger into.
The DY_NVOD_Section dedicated segments: this dedicated segments is applied mechanically the illustrated private section grammer of MPEG2 modular system part.All can include one tunnel dedicated segments code stream in each NVOD program, be used for describing the basic parameter and the real-time parameter of each road video-voice frequency flow by method making involved in the present invention.Each road dedicated segments code stream can point out its PID number with a pmt table separately, also can with the shared pmt table of a certain road video/audio code stream in this NVOD program.Each dedicated segments can be made up of several Section, and the length of each Section is no more than 4093 bytes.The dedicated segments syntax format is as follows:
DY_NVOD_Section(){
Table_id: 8; // table identifies, and is worth to be 0xFE
Section_syntax_indicator: 1; // section grammer designator, value
Be 1
Reserved_future_use_1: 1; // keep the position, user definition,
Value is 0 at present
Reserved: 2; // keep the position, be worth and be 11b
Section_length: 12; // Section length
Table_id_extension: 16; The expansion of // table sign, the user
Definition, value is 0xffff at present
Reserved: 2; // keep the position, be worth and be 11b
Version_number: 5; // version number
Current_next_indicator: 1; // current follow-up designator, value
Be 1
Section_number: 8; // this Section number
Last_section_number: 8; The number of // last Section
DYNVOD_Segment_Number: 8; // this NVOD program is divided into into several roads
for(i=0;i<DYNVOD_Segment_Number;i++){
reserved :?4;
Segment_parameter_length: 12; // arrive the parametric description end of this road code stream thereafter
// byte number
Current_frame_number: 32; The frame of video quantity of having play in // this road code stream
Sum_frame_number: 32; The video code flow section of this road code stream of // composition is wrapped
// frame of video the quantity that contains
for(j=0;j<Q;j++){
Stream_type: 8; // stream type
Data_size: 32; The total byte that the type flows substantially in the // program stream section
// number
}
CRC_32: 32; // 32 CRC check values }
Last_section_number field and its are with forward part and the MPEG2 modular system same meaning in partly, referring to this standard in the above-mentioned dedicated segments syntactic structure.The superincumbent comment section of value of some special fields clearly marks out simultaneously.Semanteme and usage to the remaining word section makes an explanation below.
Code stream is in front arranged and the multiplexing algorithm part illustrates that a NVOD program promptly is made of N program set multiplexing formation of N road video/audio code stream; Comprise one road video code flow and the audio code stream supporting with it in each program set again, be referred to as basic stream here, total number of video code flow and audio code stream is Q; For every road video code flow and audio code stream, be again to connect and compose by circulation separately by identical code stream section.
DYNVOD_Segment_Number: be used to show that this NVOD program is divided into into several roads, promptly constitute by several program set.Its numerical value is N.
Current_frame_number: illustrate that in the moment that receives this field the frame of video quantity that this road program stream has been play is from t
bConstantly begin to calculate.In the dedicated segments code stream, the value of this field in time growth and increase.
Sum_frame_number: indicate the frame of video total quantity that is comprised in the video code flow section that is used to form this road code stream.
Stream_type: show it is the basic stream of the sort of type, as video flowing, audio stream, the MPEG2 standard is followed in the traffic identifier definition.
Data_size: indicate in this road code stream, this flows the total bytes of code stream section substantially.
When generating a NVOD program described in the invention, should use the DYMBP agreement with step as follows:
1, generates pat table, PID number of listing N+1 pmt table in the table.This N+1 pmt table comprises DYNVOD_ID_Descriptor before the circulation of ES stream description.The top n pmt table is pointed out PID number of video/audio code stream of odd even position respectively in ES stream description circulation, and can follow a DYNVOD_Position_Descriptor after each PID number, its segment_index field points out that this road video or audio code stream are which roads of this cover NVOD program, video and audio code stream be sort ascending separately, and start sequence number is 1.Code stream odd_even_flag field value for strange position is 1, and the code stream odd_even_flag field value of even position is 0.The stream_type field value is 0x05 in N+1 the pmt table, and then the value of its corresponding elementary_PID field just is PID number of TS stream packets at dy_nvod_section place.
2, increase a service_list_descriptor in the description of in the NIT table, this NVOD program place TS being flowed, the value of the service_type field of this descriptor is 0x04 (being that NVOD is with reference to business), the service_id field is 16bit, value should be designated as reference_service_id with it as far as possible near 0xFFFF (but can not be 0xFFFF).
3, in the SDT table, add a service_id in the SECTION that the TS that comprises this NVOD program is flow to line description, the value of this service_id is reference_service_id.This service_id should carry NVOD_reference_descriptor and two descriptors of service_descriptor.Because we are divided into the N road with the NVOD program, corresponding pmt table is arranged respectively, and N value of the service_id field among the NVOD_reference_descriptor is respectively the program_number (promptly be equivalent to list form required all of this NVOD program look audio resource) of N pmt table.The value of service_type field is 0x04 among the service_descriptor, and service_name and service_provider territory provide the name of this NVOD program and the name of program provider respectively.
4, for each road of this NVOD program, in SDT table, describe among the SECTION of this NVOD place TS stream and all corresponding description will be arranged, mode is: add N service_id respectively, value is the program_number of N pmt table of foregoing description video/audio code stream respectively.N service_id respectively will have a time_shifted_service_descriptor, and the value of its reference_service_id field all is reference_service_id in the 2nd step.
5, we have added N+1 service_id altogether in above-mentioned SDT table, 1 corresponding reference_service_id, it is in N the corresponding program_number that describes N pmt table of video/audio code stream, therefore, we also can add the descriptor of this N+1 service_id in the EIT table.In each self-described part in the EIT table, the 3bits of running_status is changed to 0.For reference_service_id, descriptors such as its portability short_event/extended_event, component, CA_identifier, content, parental_rating, and we suppose that the value of its event_id field is A_event_id.For the N road code stream of this NVOD program, in each the self-described part in the EIT table, except that adding a time_shifted_event_descriptor, no longer need other descriptor.The value of the reference_service_id field among the time_shifted_event_descriptor all is reference_service_id in the 2nd step, and the value of reference_event_id field all is A_event_id.
6, in multiplexing TS stream, add DY_NVOD_Section synchronously by the interval of determining.Real time information part among each DY_NVOD_Section that adds is then according to multiplexing progress and respective change.
Below how receiving terminal is realized the code stream demultiplexing, and the method that will represent with the NVOD program stream recovery that pushes away transmission under the fragment mode describes.
Receiving device at first carries out demodulation by its channel demodulator that includes (channel demodulator that is used for cable television network is generally qam demodulator) to the modulation code stream that receives, and output TS bag stream send the code stream filter.The code stream filter is set when initial condition filters the TS bag for 0x0000 PID number, according to MPEG2 and DVB standard, pat table is put in multiplexing transmission in PID number TS bag for 0x0000.According to the content of pat table, can obtain PID number of all pmt tables, and filter out all pmt tables by setting to the code stream filter.Analyze pmt table, the special-purpose descriptor of NVOD program and dedicated segments by following step then, finally draw PID number of video/audio code stream of required filtration and buffering.
1, each pmt table that filtration is obtained is analyzed, and all contain DYNVOD_ID_Descriptor and pmt table that wherein the DYNVOD_ID field value is all identical has been described a NVOD program jointly.The stream_type field value is the pmt table of 0x05 in these pmt tables, the value of its elementary_PID field just be PID number of TS stream packets at DY_NVOD_Section dedicated segments place, then lists the video of this NVOD program of composition and PID number of audio code stream in other pmt table.
2, in the pmt table of describing video/audio code stream, basic each listed code stream of stream description cyclic part all can have a DYNVOD_Position_Descriptor, have which road that this PID number video or audio code stream are positioned at this NVOD program as can be known by wherein segment_index field, know its odd even position in this road by the odd_even_flag field.
3, according to PID number that obtains in the 1st step, filter out a complete DY_NVOD_Section dedicated segments, thereby analyze that this data segment obtains that this cover NVOD program is divided into into the current frame of video quantity of having play (current_frame_number) in several roads (DYNVOD_Segment_Number), each road program stream, forms the frame of video total quantity (sum_frame_number) that comprised in the video code flow section of this road code stream, the total bytes (data_size) of each code stream section that flows substantially in this road code stream.
4, with the current_frame_number value on each road divided by sum_frame_number, the result comprises integer part and fractional part.For each road code stream, choose strange position or choose the method that the code stream section of even position filters as follows: if the program making work station of head end is when the code stream of multiplexing each road, two sons of S1, S2 section program stream segment marks of forming that their start and end time is located are shown even position code stream section, choose by following computational methods so; If be denoted as strange position code stream section, so with the negate as a result of following computational methods, promptly strange position becomes even position, and even position becomes strange position.Computational methods: for the 1 the tunnel, if result's integer part be odd number then select the video/audio code stream of even position to filter, then select the video/audio code stream of strange position to filter if instead result's integer part is an even number.For all the other each roads, when integer part is odd number, if fractional part less than 0.5 then select the video/audio code stream of even position to filter, selects the video/audio code stream of strange position to filter greater than 0.5; When integer part is even number, if fractional part less than 0.5 then select the video/audio code stream of strange position to filter, selects the video/audio code stream of even position to filter greater than 0.5.
5, from the pmt table of each road correspondence, obtain PID number of video/audio code stream of all needs according to the result of previous step, and be set to the code stream filter simultaneously, when any road code stream that meets above-mentioned PID arrived, the code stream filter can leach it automatically and be coordinated it is carried out buffer memory by software program and control circuit.Can mark which section that this code stream belongs to the NVOD program during buffer memory.And calculate the byte number of buffer memory, when reaching the data_size value, stop to filter and buffer memory.
6, according to the mark of caching record, by sending decoder decode with the video/audio code stream of buffer memory respectively from 1 to N order and representing.The code stream arrangement of head end and multiplexing algorithm match with the code stream filter algorithm of above-mentioned receiving terminal, can guarantee to represent when finishing in the decoding of last road video/audio code stream, and back one road video/audio code stream has begun to be buffered and can begin to be used for continuous decoding and represents.
The NVOD program implementation method that the present invention proposes has been described above, in the process of this new NVOD program implementation method of utilization, bandwidth according to broadcast channel, this plurality of sections material of cutting apart according to time-code is made the multiplexing transmission of the concurrent stream of several in a certain order, undertaken pushing away under the data high-speed by taking the mode that is several times as much as material code check bandwidth.Receiving terminal is temporarily deposited down the material that pushes away by buffer (as hard disk), begins decoding and continuous broadcasting program when receiving the program head.By this kind method, the user waits for that the maximum wait time that program begins is exactly the time cycle of first segment encode stream after cutting apart.Compare with the NVOD program of common mode, taking under the identical situation of the network bandwidth, the stand-by period will shorten greatly.For example: the time span of hypothetical program A is M, and transmitting terminal takies N and doubly broadcasts to the bandwidth of program A code stream code check.For the NVOD program of common mode, the fixedly zero-time spacing bias amount that exists between each road program copy of broadcast is M/N.Because it is arbitrarily that the user begins to receive the time point of NVOD program, so the user waits for that possibly the time of M/N length just can begin to watch from program under worst condition.And for the NVOD program implementation method that the present invention proposes, in cycle airtime owing to user under worst condition only need wait for one first segment encode stream, can begin to watch from program.First section broadcast cycle can be calculated according to above-mentioned formula (1), that is:
By more as can be seen if the value of N greater than 1, G so
1All will be less than (M/N).M still is that the N increase all will increase G
1And the ratio difference distance (M/N), and along with the increase G of N
1Reduce at double corresponding.Suppose that the M value is 90 minutes, the N value is 8, so G
1To be about 21 seconds, and M/N is 675 seconds, differs more than 30 times.
The present invention propose to cutting apart method and the multiplexing algorithm that good code stream is arranged by the special time form, make receiving terminal cushion to effective data packets that live load is in relatively low degree when temporary, be easy to use low-cost equipment to realize.
In addition, the DYMBP agreement that the present invention proposes, guaranteed that this NVOD program stream can transmit in catenet, and can be in the process of catenet transmission that a plurality of such different N VOD programs are multiplexing once more, and receiving device can correctly restore and represent any one NVOD program.
Embodiment
The unidirectional digital cable broadcast TV network that broadcast type NVOD program making, the sending and receiving device that the present invention relates to is used for China, carry out the NVOD business, adopt the DVB standard in the unidirectional digital cable broadcast TV network of China now, the general MPEG2 standard of using of program compression.
Make, send and receive the block diagram of the device of broadcast type NVOD program according to the embodiment of the invention below with reference to Fig. 1,2 and 3 explanations.Video/audio signal is put recording apparatus 11 from the video-audio program such as magnetic tape station, DV video camera, VCD/DVD machine and is outputed to programme acquisition workstation1 2 by the connecting line as S terminal, CVBS (composite signal), YUV (component signal), SDI (digital signal) or XLR joint (analogue audio frequency or digital audio) and so on.In programme acquisition workstation1 2, (is 720 * 576 * 25fps (frames per second) as for standard definition video signal Phase Alternation Line system the time by the video/audio capture card according to looking the audio mode standard, TSC-system is 720 * 480 * 29.9fps, audio frequency can be per second 48K, 32K or 44.1K sampling, the resolution of each sampled point can be 16,20 or standard such as 24bits) and the acquisition parameter set, video/audio signal stream with certain speed acquisition output, and further international look the audio compression coding standard (as MPEG1 according to certain, standard such as MPEG2 or MPEG4, but be not limited to these standards) with the video/audio compressed encoding gathered and be stored as material file, simultaneously file is carried out the time-code mark.When the present invention pressed the main profile at main level 4:2:0 IBP mode constant code rate compressed encoding of MPEG2 standard to video, video GOP length was 12 or 15, and audio frequency can correspondingly be pressed the 48k sampling, and compression coding mode adopts the layer II of MPEG1.Programme acquisition workstation1 2 is by the higher PC of performance and look the audio compression capture card and constitute, and the compression capture card can adopt the Osprey-2000 of ViewCast company or the Related product of Matrox company.Certainly also only configuration is not with the capture card of compression function for programme acquisition workstation1 2, and the base band video/audio of its output carries out compressed encoding by software and is stored as the material file of band time-code mark.
Relation and workflow between the inner function module of program making workstation1 3 are seen Fig. 2.Program making workstation1 3 obtains the video/audio code stream file of the compressed encoding of band time-code mark by network such as Ethernet from programme acquisition workstation1 2.As shown in Figure 2, code stream in the program making workstation1 3 splits software module 131 to be cut apart this video/audio code stream for the partitioning algorithm of core according to aforementioned formula (1) and (2), will split the N section video code flow of getting well and N section audio code stream then and submit to code stream multiplex software module 134 and carry out multiplexing.Program making workstation1 3 is high-performance PCs that an inside has standard time acquisition means 132, this standard time acquisition means is a standard time clock decoding card in the present embodiment, it can obtain international standard Greenwich Mean Time by linking to each other with the standard clock source of TV station inside, or obtain international standard Greenwich Mean Time by the clock information that carries of decoding TV programme signal, the signal source conversion acquisition of conversion relation should also can be arranged from other and this standard time certainly the time.This standard time sends into special-purpose descriptor in real time and data segment generates software module 133, and this module utilizes this standard time information to generate the unique identifier DYNVOD_ID of this NVOD program of sign.Module 133 splits the carve information that software module 131 is obtained program stream from code stream simultaneously, as: be divided into several sections (representing) altogether with N, the frame of video quantity that video code flow comprised in every section, video and audio code stream information such as total bytes separately in every section, utilize these information and DYNVOD_ID identification code to generate according to the DYMBP agreement at the DYNVOD_ID_Descriptor descriptor of this NVOD program DYNVOD_Position_Descriptor descriptor different (segment_index field in each descriptor or odd_even_flag field can difference) with 2N content, and they are sent into code stream multiplex software module 134, be used to generate pmt table.In code stream multiplex software module 134, to cut apart each good segment encode stream and split the code stream aligning method and multiplexing algorithm carries out multiplexing process by aforesaid, in multiplex process, just send the once real-time parameter of each road code stream multiplex to module 133 every a chronomere (code stream with the MPEG2 standard compression time this chronomere be GOP), be the frame of video quantity that each road program stream has been re-used, this parameter can be used to the current_frame_number field in the DY_NVOD_Section dedicated segments.Module 133 is according to this real-time parameter and acquired carve information, and generating the DY_NVOD_Section dedicated segments immediately and send back to that Multiplexing module 134 carries out according to the DYMBP agreement can be multiplexing.Module 134 is according to MPEG2, DVB standard, DYMBP agreement and multiplexing algorithm, carry out multiplexing to tables such as each section video/audio code stream of splitting and the PAT, the PMT that generate according to multiplexing needs, NIT, SDT, EIT, generate the TS stream file, be the data code flow file of finished product NVOD program, and be stored in the program stream memory device 14.Program stream memory device 14 can be a database server, and it has and manages bigger disk storage space, links to each other with program making workstation1 3, broadcasting server 15 etc. by Ethernet or optical networking.
According to flow process shown in Figure 1, when broadcasting demand, be stored in the equipment 14 NVOD program TS stream file by network link called in broadcasting server 15 (15-1 ..., 15-N) broadcast.When transmitting for the use TV network, broadcasting server 15 generally is a DVB numeral broadcasting server, as the DVB numeral broadcasting server of ocean, BeiJing ZhongKe company production.Many DVB numeral broadcasting servers can be worked simultaneously and be broadcasted different NVOD programs respectively, these a plurality of NVOD program streams are sent into code stream re-multiplexer 16 (as the PEGASUS transmission stream remultiplexing device of BARCO company) and are carried out multiplexing again, formation single channel multiplexing code stream is sent into Channel Modulation equipment 17 (as the QUASAR MKII type QAM modulator of BARCO company) and is carried out chnnel coding and modulation, enters transmission network 18 (as wired television network or satellite television net) then and broadcasts.
If transmission link uses data network, as IP network, then broadcasting server 15 (15-1 ..., 15-N) be generally the IP multicast server.It is packaged into the IP bag again with the TS stream of NVOD program, sends into IP network and broadcasts.
Relation as shown in Figure 3 between terminal receiver 19 inner function modules.Terminal receiver 19 refers generally to set-top box or is used for the receiving card of computer.It generally comprises following a few part: channel demodulator 191, code stream filter 192, code stream analysis device 193, hardware and software modules such as bit stream buffer device 194 and code stream reorganization decoder 195.
Modulated signal bit stream is received by channel demodulator 191, and signal bit stream is carried out channel-decoding and rectification.For the terminal receiver that is used for TV network, channel demodulator 191 refers generally to have the tuner of QAM demodulation function; To being used for the terminal receiver of data network (as IP network), channel demodulator 191 refers generally to network card chip.Signal bit stream after the demodulation is fed to code stream filter 192, and code stream filter 192 generally is one group of hardware circuit, and it can filter out required stream packet according to the byte content of some ad-hoc locations in PID number of appointment and the code stream.The set-top box special chip that provides as IBM Corporation promptly comprises this circuit function, can certainly realize by software program.Code stream analysis device 193 is software modules, and when initial condition, it can be provided with code stream filter 192 and filter the TS bag for 0x0000 PID number, obtains pat table.Code stream analysis device 193 is by analyzing the content of pat table, can obtain PID number of all pmt tables, and filter out all pmt tables and relevant dedicated segments by setting to code stream filter 192, the step of having set forth by the front is analyzed pmt table, the special-purpose descriptor of NVOD program and dedicated segments then, finally draws PID number of video/audio code stream of required filtration and buffering.Code stream analysis device 193 is according to analysis result, the notification code flow filter filters those PID numbers video/audio code stream, and send relevant filtering information to bit stream buffer device 194, make the video/audio code stream packet that its receiving code flow filter sends here and keep in, notify code stream reorganization decoder 195 to extract the bit stream data bag from the bit stream buffer device in sequence simultaneously.Bit stream buffer device 194 is made of its software of reading and writing control internal memory, hard disk and realization in the present embodiment.The relevance filtering information that Control Software is sent here according to the code stream analysis device, which section video-audio program as different PID numbers packets is respectively, each section video/audio code stream that the code stream filter is sent here writes the different files in the hard disk respectively, and reads the video/audio code stream packet of buffering from corresponding file according to the instruction of code stream reorganization decoder.Code stream reorganization decoder extracts the packet of each section video/audio code stream by the increasing order of 1~N, decodes and output signal represents for playback equipment (as television set).195 of decoders of code stream reorganization refer generally to the MPEG2 decoding chip, are used for the chip of coding simulation TV signal and supporting Control Software program.If display device is a computer, the anolog TV signals coding chip will be substituted by display card so.
Below with reference to making and transmission partly the workflow of Fig. 4 explanation according to embodiment of the invention broadcast type NVOD program.At first, at step S401, put recording apparatus 11 from video-audio program and play video/audio signal stream to programme acquisition workstation1 2 by connecting line.At step S402, programme acquisition workstation1 2 is gathered the video/audio signal stream of playing.At step S403, compressed encoding integrated circuit board in the programme acquisition workstation1 2 or software are with the data flow of video/audio signal stream compressed encoding for being fit to broadcast of gathering.At step S404, the code stream in the program making workstation1 3 splits software module 131 according to partitioning algorithm, respectively video/audio data flow is respectively split into the N section that length is the certain proportion relation.At step S405, each section video/audio data flow that the code stream multiplex software module 134 in the program making workstation1 3 will split by certain aligning method is cycle arrangement again separately, and they are encapsulated as PES and TS bag by the components of system as directed of MPEG2 standard.At step S406, special-purpose descriptor in the program making workstation1 3 and data segment generate software module 133 according to standard time information with generate the special-purpose descriptor of NVOD from the data flow fractionation information that step S404, S405 obtain, these descriptors are used to generate pmt table in step S407, at step S407, the code stream multiplex software module 134 in the program making workstation1 3 also can generate PAT, NIT and tables such as the needed SDT of description standard NVOD program, EIT according to DVB and MPEG2 standard simultaneously.At step S408, each the road video/audio code stream and the various table that will generate in step S404~S407 according to multiplexing algorithm code stream multiplex software module 134 carry out time division multiplexing, add TS packet and the NVOD dedicated segments that comprises PCR every the time interval of determining in multiplexing TS stream simultaneously.At step S409, special-purpose descriptor in the program making workstation1 3 and data segment generate software module 133 and obtain real-time code stream multiplex progress from code stream multiplex software module 134, and according to the fractionation information of progress and video/audio code stream, generate the NVOD dedicated segments in real time, and the anti-Multiplexing module 134 of sending back to.At step S410, the finished product NVOD program TS stream file that program making workstation1 3 is generated stores program stream memory device 14 into by Ethernet or optical networking.Among the step S411, broadcasting server 15 extracts NVOD program TS stream file from program stream memory device 14, and broadcasts.For a plurality of NVOD programs are broadcasted by a broadcast channel, at step S412, the program stream of a plurality of broadcasting servers output is sent into code stream re-multiplexer 16 by data wire carry out multiplexingly again, export one road TS data flow, 17 modulation of channel modulating equipment enter transmission network 18 broadcasting.
Below with reference to the workflow of Fig. 5 explanation according to the receiving unit of embodiment of the invention broadcast type NVOD program.At step S501, terminal receiver 19 receives modulated NVOD program TS stream, and utilizes its 191 pairs of code streams of channel demodulator to carry out demodulation.At step S502, the code stream analysis device 193 of terminal receiver 19 is provided with code stream filter 192 and filters out pat table and analysis, obtains PID number of all pmt tables.Among the step S503, code stream filter 192 filters all pmt tables and transfers to code stream analysis device 193 and analyze, according to whether having identical DYNVOD_ID_Descriptor descriptor to find all pmt tables of describing same NVOD program, thereby obtain PID number and their positional informations in program of each all odd even position of road video/audio code stream, obtain PID number of NVOD program dedicated segments simultaneously.At step S504, code stream filter 192 filters NVOD program dedicated segments and also gives code stream analysis device 193 and analyze, and calculating and should filtering strange position at each road video/audio code stream of current time still is even position PID number TS packet.At step S505, PID number of calculating is set to the packet that code stream filter 192 filters each road video/audio code stream, bit stream buffer device 194 deposits them in different buffer area respectively by packet segmentation attribute.At step S506, by software control, code stream reorganization decoder 195 extracts the packet of each road video/audio code stream successively by the Pgmtime order from bit stream buffer device 194, and code stream decoding is decompressed by decoder, then in step S507, the base band video/audio after decoding decompressed is converted to the simulation video/audio signal and represents.
Specific implementation process of the present invention so far has been described in conjunction with the embodiments.Be appreciated that under the situation that does not break away from the present patent application claim scope and can make amendment and improve the present invention.