CN1496120A - MPEG trick mode processing method in transmission course - Google Patents

MPEG trick mode processing method in transmission course Download PDF

Info

Publication number
CN1496120A
CN1496120A CNA031438962A CN03143896A CN1496120A CN 1496120 A CN1496120 A CN 1496120A CN A031438962 A CNA031438962 A CN A031438962A CN 03143896 A CN03143896 A CN 03143896A CN 1496120 A CN1496120 A CN 1496120A
Authority
CN
China
Prior art keywords
data
ring
mpeg
index
data chunks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA031438962A
Other languages
Chinese (zh)
Inventor
炎 黄
黄炎
王航
王季山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PrediWave Corp
Original Assignee
PrediWave Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PrediWave Corp filed Critical PrediWave Corp
Publication of CN1496120A publication Critical patent/CN1496120A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

A method and apparatus are provided for managing data for display, the method comprising using a dual ring buffer cache for generating a indexes on-the fly for the locations of each element in the data.

Description

MPEG special-effect mode processing method in the transmission course
Related application and cross reference
The application has incorporated following patent application into, with for referencial use:
The application serial that on May 31st, 2000 proposed is " System and method for of Video-on-demand service is provided for broadcast system " of 09/548,832;
The application serial that on November 10th, 2000 proposed is " method of Video-on-demand is provided " of 09/709,948;
The application serial that propose April 24 calendar year 2001 is 09/841,792 " universal digital broadcast system and method ";
The application serial that propose May 30 calendar year 2001 is 09/870,879 " universal STB architecture and control method ".
Invention field
The present invention relates to the MPEG-2 data, more particularly, relate to the MPEG-2 data that management is play at the Video-on-demand system.
Background of invention
Usually, for example, watching the client of the Video-on-demand service of a video frequency program relevant with set-top box, usually wish to its video frequency program of watching unroll, operations such as F.F., slow motion broadcast.For realize unrolling, operation such as F.F., created in the MPEG-2 data file relevant and be used to locate the beginning of picture element and the index of end point with video frequency program.In case index can get, the process that extracts desirable image frame based on this index will become very simple.Then, the picture element that is extracted being sent to the MPEG-2 decoder deciphers.
Usually, generate index in advance, and they are stored in one independently in the index file at the image frame of given MPEG-2 data file.Can be when the MPEG-2 data be sent to set-top box, this independently index file send to set-top box.Therefore, in a such scheme, the MPEG-2 data are called " pre-index ".Yet pre-index is only applicable to order and is sent in the MPEG-2 data of set-top box, and is not suitable for the MPEG-2 data of non-order.In addition, pre-index is not suitable for yet and duplicates the MPEG-2 data.The present remote server of copying of MPEG-2 data is sent in set-top box to MPEG-2, goes to pot or loss of data the time with offset data.
Based on above description, exist the demand of a kind of like this method: generate (on-the-fly) index in the transmission course relevant with the MPEG-2 data that are sent in set-top box by non-sequential system with mechanism.
Summary of the invention
On the one hand, the present invention includes a kind of method that is used to manage video data, this method comprises that index is with each element in the locator data in a dicyclo buffer storage generation of the use transmission course.
On the other hand, the present invention also comprises the computer-readable medium of a kind of computer installation, a configuration Gu Zhihang above-mentioned steps.
Description of drawings
In each figure of accompanying drawing, will be by way of example, rather than the mode to limit, the present invention is illustrated, wherein identical reference number relates to identical element.In these accompanying drawings:
Fig. 1 is a structure chart, is the overview of a VOD system;
Fig. 2 A is a structure chart, and the hardware architecture that can be used for realizing a set-top box of the present invention has been described;
Fig. 2 B is a flow chart, for can be used for satisfying the operational overview from any given trick mode commands of client;
Fig. 3 is a structure chart, has illustrated that is ready to an indexed data file, and this document is divided into the MPEG-2 data chunks of some any fixed dimensions;
Fig. 4 has illustrated the twin nuclei of the buffer storage that can use in certain embodiments of the present invention; And
Fig. 5 is a flow chart, has illustrated by some performed computer implemented action of index in the transmission course.
Preferred embodiment
The method and system that the MPEG special-effect mode is handled in a kind of transmission course has below been described.For the ease of explaining, in the following description, provided numerous details, for to overall understanding of the present invention.Yet those skilled in the art will obviously recognize, can need not to put into practice the present invention under the situation of these details.In some other example, with the formal description of structure chart structure that people were familiar with and equipment.
Function and operational overview
In Video-on-demand (VOD) service environment, long-range VOD server is data, and for example the MPEG-2 data are sent in and the relevant set-top box of requestor of asking the VOD service.The requestor who asks the VOD service is called " client " herein.Fig. 1 is a structure chart, is the overview of a VOD system.In the system 100 of Fig. 1, VOD server 102 communicates with set-top box 104.Usually, VOD service 102 is via a network, and for example a wired or satellite network (not showing in Fig. 1) communicates with set-top box 104.
For the ease of explaining, some embodiment in the MPEG-2 data environment will be described below.Scope of the present invention comprises the data of other type.For example, these embodiment unrestrictedly are applicable to any numerical data, and the mpeg data of other type etc.
According to some embodiment of the present invention, Fig. 2 A is a structure chart, and the hardware architecture that can be used for realizing set-top box of the present invention has been described.Set-top box 200 comprises a quadrature amplitude modulation (QAM) demodulator 202,204, local memory of central processing unit (CPU) 208, buffer storage 210, decoder that has video and an audio coding ability 212, figure overlay module 214, user interface 218, a communication link 220 and a fast data bus 222.The whole operation of CPU 204 controller top boxs 200, with the request of customer in response select data, to selected data decipher, decompress decoded data, re-assembly decoded data, and decoded storage in local memory 208 or in the buffer storage 210, submitted to decoder 212 to the data of being stored then.In an one exemplary embodiment, local memory 208 comprises nonvolatile storage (for example hard drives), and buffer storage comprises volatile memory.
According to some embodiment, qam demodulator 202 comprises reflector and receiver module, and following one or more parts: 1) dedicated encrypted/deciphering module, 2) forward error correction decoder/encoder, 3) tuner control, 4) downstream and upstream process device, and 5) CPU and memory interface circuit.Qam demodulator 202 receives modulated intermediate frequency (IF) signal, these signals is taken a sample and demodulation, with restore data.
In an one exemplary embodiment, when authorize access, decoder 212 is deciphered a data chunk at least, this data chunks is converted to an image that can show on output screen.Specifically, video decoder 212a converts the video section of data chunks to a displayable image.Tone decoder 212b converts the audio-frequency unit of data chunks to the sound that can hear.Decoder 212 supports are from an order of ordering the client of VOD service.Some examples of such order are: play, stop, time-out, stepping, unroll, F.F. etc.Decoder 212 offers output equipment 224 to decoded data, uses for the client.Output equipment 224 can be any suitable device, for example television set, computer, any suitable display monitor, VCR etc.
For example, figure overlay module 214 has improved the quality that is shown figure by α mixing or picture-in-picture capability are provided.
User interface 218 makes the user can control (promptly by client's control) set-top box 200.User interface 218 can be any suitable device, for example remote controller, keyboard, smart card etc.
Communication link 220 provides additional communicating to connect.Can operationally be coupled in another computer to communication link 220, communication link 220 also can be used for realizing two-way communication.
Data/address bus 222 can be a kind of commercial " fast " data/address bus that gets that is suitable for carrying out with real-time mode data communication.The example of suitable data bus is PCI etc.
According to some embodiment of the present invention, use the method 250 of Fig. 2 B, can satisfy order with effective and efficient manner from the client, for example F.F., unroll, slow motion, single step are advanced etc.For the ease of explaining, in order to satisfy an order, for example F.F., unroll, slow motion, single step are advanced etc.,, the operator scheme of set-top box are called " special-effect mode " herein.Equally, herein, such as F.F., unroll, slow motion, single step are advanced etc., and order calls " trick mode commands ".
Below, a specific part that is sent in the given MPEG-2 data file of decoder for decoding for a satisfied given trick mode commands from the client is called " target MPEG-2 data ".The MPEG-2 data of preparing to be investigated in order to locate " target MPEG-2 data " are called " being ready to the indexed data file " herein.
Fig. 2 B is a flow chart, for can be used for satisfying the operational overview from any given trick mode commands of client.For the ease of explaining, some embodiment has been described in the environment of set-top box.Yet scope of the present invention is not limited to set-top box, also comprises the data in the non-set-top-box system of management.For example, these embodiment unrestrictedly are applicable to any and CNN or the relevant system of other VOD service provider.
Frame 252 places in operation 250 receive a trick mode commands, and this trick mode commands are informed set-top box.
At frame 254 places, from certain part of buffering memory or from long-time memory, receive one and be ready to the indexed data file.For example, the CPU of set-top box causes from the buffering memory or from long-time memory (for example disk) that retrieval is correlated with is ready to the indexed data file.
At frame 256 places, be divided into some MPEG-2 data chunks being ready to the indexed data file.For example, the CPU204 of set-top box causes and is divided into some MPEG-2 data chunks being ready to the indexed data file.Herein, describe in more detail being ready to the mode that the indexed data file is divided into some MPEG-2 data chunks with reference to Fig. 3.
In some other embodiment, when receiving a trick mode commands there, be divided into the MPEG-2 data chunks being ready to the indexed data file from the client.
For the ease of explaining, some embodiment is described in the environment of dicyclo buffer storage.Yet scope of the present invention is not limited to the twin nuclei of buffer storage.For example, these embodiment unrestrictedly be applicable to any be suitable for generating with storage and MPEG-2 data chunks in the relevant buffer memory structure of picture element.
Suppose that a part of buffer storage relevant with CPU has a twin nuclei.At frame 258 places, the MPEG-2 data chunks is read in one at a time the outer shroud of double structure.For example CPU204 causes that a part of outer shroud that has twin nuclei that the MPEG-2 data chunks is read in buffer storage 210.With reference to Fig. 4, the mode of the MPEG-2 data chunks being read in the outer shroud of twin nuclei is described in more detail herein.
At frame 260 places, create index in the transmission course corresponding to each MPEG-2 data chunks.When each piece is read in the outer shroud of double structure, on this piece, carry out index operation in the transmission course.For example, CUP204 causes creating corresponding to index in the transmission course of each MPEG-2 data chunks.Be described as the mode that each MPEG-2 data chunks is created index in the transmission course in more detail with reference to Fig. 4 and Fig. 5 herein.
At frame 262 places, the index stores of being created in the interior ring of a twin nuclei.For example, CUP204 causes the interior ring of the index stores of being created in that part that has twin nuclei of buffer storage 210.Herein, describe in more detail the mode of index stores in the transmission course with reference to Fig. 4 and Fig. 5 at the interior ring of twin nuclei.
For example, when the client issues a trick mode commands (for example unrolling), index in the transmission course in the interior ring that is stored in twin nuclei is used for locating the target MPEG-2 data that satisfy the required outer shroud of customer command.In case located target MPEG-2 data, then target MPEG-2 data be sent in decoder.Then, decoder is the displayable image of target MPEG-2 data decoding one-tenth at the client.
The division of MPEG-2 data file
According to some embodiment, divide the MPEG-2 data chunks of any fixed dimension being ready to the indexed data file.In some implementations, when a trick mode commands is published on set-top box, be divided into piece being ready to the indexed data file.Yet,, can be divided into piece being ready to the indexed data file by the mode that reference Fig. 3 is explained if be not ready to indexed data file divided block to one.
Fig. 3 is a structure chart, has illustrated that is ready to an indexed data file, and this document is divided into the MPEG-2 data chunks of some any fixed dimensions.In Fig. 3, a given indexed data file 300 that is ready to is divided into the MPEG-2 data chunks, for example piece _ 0 304, piece _ 1 306, piece _ 2 308, piece _ 3 310, piece _ 4 312, piece _ 5 314.Fig. 3 is ready to the indexed data file only for illustrative, and with the difference that realizes difference.
Each MPEG-2 data chunks can comprise one or more image frames.An image frame has one " picture type ".Picture type comprises: (P) picture type of bi-directional predicted (B) picture type and a prediction a 1) frame interior (I) picture type, 2).
An I image frame is used as a reference frame of the frame of following it.By comparing the content of future frame (being P picture type frame) and past frame (being I picture type frame), structure B picture type frame.Obtain P picture type frame according to forward prediction to the content change of preceding I or P picture type frame.For convenience's sake, below I picture type frame will be called " I frame ".To be called B picture type frame " B frame " below similar, and will be called P picture type frame " P frame ".
In Fig. 3, be illustrated by the broken lines the border of each picture type frame.Piece among Fig. 3 _ 0 comprises two complete B frames and a part of crossing over the I frame of piece _ 0 and piece _ 1.Except the I frame of crossing over piece _ 0 and piece _ 1, piece _ 1 also comprises the part of a P frame of leap piece _ 1 and piece _ 2.Except the P frame of crossing over piece _ 1 and piece _ 2, piece _ 2 also comprise two complete B frames, a complete P frame and a part of crossing over a B frame of piece _ 2 and piece _ 3.Except the B frame of crossing over piece _ 2 and piece _ 3, piece _ 3 also comprise a complete B frame, a part of crossing over a B frame of piece _ 3 and piece _ 4.Except the I frame of crossing over piece _ 3 and piece _ 4, piece _ 4 also comprise a complete P frame, a part of crossing over a B frame of piece _ 4 and piece _ 5.Except the B frame of crossing over piece _ 4 and piece _ 5, piece _ 5 also comprise a complete B frame and a complete P frame.
The dicyclo buffer storage
When the CPU in the set-top box receives a trick mode commands, be ready to the indexed data file from the buffering memory or from one of long-time memory reception, herein to be divided into the MPEG-2 data chunks, as being described with reference to Fig. 3.According to following content, select to be ready to the indexed data file, to retrieve: 1) by the trick mode commands of the current issue of client, and 2) when issuing trick mode commands, the client prepares data presented chunk in addition to the client.If the MPEG-2 data that are stored in buffer storage or the long-time memory have been divided into the MPEG-2 data chunks, the in addition relevant MPEG-2 data chunks of index is prepared in retrieval so, to be loaded into the outer shroud of twin nuclei.For example, if when client's issue " unrolling " order, prepare the 100th MPEG-2 data chunks shown to the client, begin the relevant MPEG-2 data chunks of retrieval from long-time memory from the 99th MPEG-2 data chunks so.
In addition, also suppose: even retrieve the MPEG-2 data by non-sequential system from a remote server, the MPEG-2 data also are in proper order when the client issues a trick mode commands.The MPEG-2 storage in the mode of long-time memory how this is that to be used for by the MPEG-2 data that " broadcasts " pattern shows are orders because be ready to be sent in decoder, no matter in the mode of set-top box place reception MPEG-2 data or.
Fig. 4 has illustrated the twin nuclei of the buffer storage that can use in certain embodiments of the present invention.The twin nuclei 400 of Fig. 4 comprises ring buffer storage 450 in an outer shroud buffer storage 402 and.Outer shroud 402 comprises breeze way 404,406,408,410,412,414,416,418.The number of the breeze way described in Fig. 4 only is illustrative.The number of breeze way can be with the difference that realizes difference.Each breeze way has a MPEG-2 data chunks.
For the ease of explaining, suppose that the relevant MPEG-2 data chunks that given trick mode commands of response is prepared to be loaded in the twin nuclei is those MPEG-2 data chunks of being described with reference to Fig. 3 herein.The number of MPEG-2 data chunks can be with the difference that realizes difference, depend on selected size and by trick mode commands that the client issued.Yet the buffer storage outer shroud is of a size of fixing arbitrary dimension.Along with decoder to the taking of chunk, piece progressively, sequentially is loaded into twin nuclei.
At first, by clockwise direction of operating key-drawing 4.Direction of operating also is called direction of operating forward clockwise.In other words, by the breeze way in the twin nuclei of clockwise direction of operating use buffer storage.Counterclockwise direction of operating is also described herein.
Breeze way 404 in the outer shroud 402 adds and carries piece _ 0.In case piece _ 0 is loaded in the outer shroud 402, in the transmission course index just along counterclockwise or forwards to analyzing (parse) piece _ 0, with the starting position of all I, P and the B frame of determining to be arranged in piece _ 0.The starting position of each I, P and B frame is called an index herein.These index stores in interior ring 450.What need to be noted is, the starting position of all image frames is positioned, and this will mean: also the end position of image frame is located, because the starting point of an image frame is the end position of previous adjacent pictures frame.
As shown in Figure 4, piece _ 0 comprises the starting position of B frame 416, B frame 418 and I frame 420.I frame 420 whether crosses over piece _ 0 and piece _ 1 is unimportant, is that its starting position is indexed.Therefore, the index entry corresponding to the starting position of B frame 416 is stored in as index entry 452 in the ring.Similar, in the index entry corresponding to the starting position of B frame 418 is stored in as index entry 454 in the ring.In index entry corresponding to the starting position of I frame 420 is stored in as index entry 456 in the ring.Also interior ring is called " index ring " herein.
In order to satisfy given trick mode commands, progressively travel through index loop section, to determine the position of desirable picture type corresponding to piece _ 0.For example, in order to satisfy trick mode commands (for example F.F.), suppose only to determine the position of all I frames.In case found desirable picture type, just the MPEG-2 data corresponding to this index are extracted from outer shroud, and it is sent in decoder, in order to show.
For piece _ 0, index 456 has provided the starting position in piece _ 0 of an I frame.Find the end position of this concrete I frame in index entry 458, index entry 458 is the index entries in the interior ring that advances along direction of operating clockwise.Thereby, be drawn into the MPEG-2 data in piece _ 0 and piece _ 1 respectively, and it is sent in decoder, in order to show corresponding to index 456 and index entry 458 (being the beginning and the end position of given I frame).Certainly, before the MPEG-2 data that can be respectively extract corresponding to index 456 and index entry 458 from piece _ 0 and piece _ 1, must processing block _ 1.
At each MPEG-2 data chunks that will load, repeat above sequence of steps.
Next, piece _ 1 is fed in the outer shroud 402 in the clockwise next breeze way.Clockwise next breeze way is a breeze way 406.Index is along clockwise or forwards to analysis block _ 1 in the transmission course, to determine all I, P in piece _ 1 and the starting position of B frame.Piece _ 1 comprises the starting position of P frame 422.Starting position corresponding to P frame 422 is stored in the index ring as index entry 458.In order to satisfy given trick mode commands, progressively travel through index loop section corresponding to piece _ 1, to determine the position of desirable picture type, in this concrete example, desirable picture type is the I frame.Owing in index loop section, do not find the I frame, do not extract the data that send to decoder from piece _ 1 corresponding to piece _ 1.
Next, along clockwise direction piece _ 2 are fed in the outer shroud 402 in the next breeze way.Clockwise next breeze way is a breeze way 408.Index is along clockwise or forwards to analysis block _ 2 in the transmission course, to determine all I, P in piece _ 2 and the starting position of B frame.Piece _ 2 comprise the starting position of B frame 424, B frame 426, P frame 428 and B frame 430.In index entry (entry) corresponding to the starting position of B frame 424, B frame 426, P frame 428 and B frame 430 is stored in as index entry 460, index entry 462, index entry 464 and index entry 466 respectively in the ring.In order to satisfy given trick mode commands, progressively travel through index loop section corresponding to piece _ 2, to determine the position of desirable picture type, in this concrete example, picture type is the I frame.Owing in index loop section, do not find the I frame, do not extract the data that send to decoder from piece _ 2 corresponding to piece _ 2.
Next, along clockwise direction piece _ 3 are fed in the outer shroud 402 in the next breeze way.Clockwise next breeze way is a breeze way 410.Index is along clockwise or forwards to analysis block _ 3 in the transmission course, to determine all I, P in piece _ 3 and the starting position of B frame.Piece _ 3 comprise and the starting position of I frame 434 and B frame 432.In ring in being stored in as index entry 468 and index entry 470 respectively corresponding to the index entry of the starting position of B frame 432 and I frame 434.In order to satisfy given trick mode commands, progressively travel through index loop section corresponding to piece _ 3, to determine the position of desirable picture type, in this concrete example, picture type is the I frame.In corresponding to the index loop section of piece _ 3, find an I frame.Index entry 470 provides the starting position of I frame unique in piece _ 3.Find the end position of this concrete I frame in index entry 472, index entry 472 is the next index entries in the index ring that advances along direction of operating clockwise.Thereby, being drawn into MPEG-2 data corresponding to index 470 and index entry 472 (being the beginning and the end position of given I frame), these data and are sent in decoder with them respectively in piece _ 3 and piece _ 4, in order to show.Certainly, before the MPEG-2 data that can be respectively extract corresponding to index 470 and index entry 472 from piece _ 3 and piece _ 4, must processing block _ 4.
Next, along clockwise direction piece _ 4 are fed in the outer shroud 402 in the next breeze way.Clockwise next breeze way is a breeze way 412.Index is along clockwise or forwards to analysis block _ 4 in the transmission course, to determine all I, P in piece _ 4 and the starting position of B frame.Piece _ 4 comprise the starting position of B frame 438 and P frame 436.Corresponding to the index entry of the starting position of P frame 436 and B frame 438 respectively as index entry 472, and index entry 474 be stored in in the ring.In order to satisfy given trick mode commands, progressively travel through index loop section corresponding to piece _ 4, to determine the position of desirable picture type, in this concrete example, picture type is the I frame.Owing in index loop section, do not find the I frame, do not extract the data that are used to send to decoder from piece _ 4 corresponding to piece _ 4.
Next, along clockwise direction piece _ 5 are fed in the outer shroud 402 in the next breeze way.Clockwise next breeze way is a breeze way 414.Index is along clockwise or forwards to analysis block _ 5 in the transmission course, to determine all I, P in piece _ 5 and the starting position of B frame.Piece _ 5 comprise the starting position of P frame 442 and B frame 440.In ring in being stored in as index entry 476 and index entry 478 respectively corresponding to the index entry of the starting position of B frame 440 and P frame 442.In order to satisfy given trick mode commands, progressively travel through index loop section corresponding to piece _ 5, to determine the position of desirable picture type, in this concrete example, picture type is the I frame.Owing in index loop section, do not find the I frame, do not extract the data that are used to send to decoder from piece _ 5 corresponding to piece _ 5.
In this example, outer shroud is not filled fully.Yet, if outer shroud is filled fully, and also having remaining MPEG-2 data index in addition, so remaining MPEG-2 data chunks overrides the MPEG-2 data chunks that is present in the outer shroud.
Counterclockwise direction of operating
On counterclockwise or anti-direction of operating, fill the outer shroud and the interior ring of dicyclo buffer storage by counterclockwise direction of operating.
For the ease of explaining, suppose piece _ 5th, be fed to first piece of outer shroud at anti-direction of operating.In addition, also suppose, in Fig. 4, be labeled as the position of breeze way 414, piece _ 5 are fed to outer shroud.Because the loop configuration of buffer storage, between the elementary period of operation forward or backwards, the present invention is not limited to and uses any specific breeze way.
Index is by clockwise or forwards to analysis block _ 5 in the transmission course, to determine all I, P in piece _ 5 and the starting position of B frame.Although operation to opposite direction, some embodiment still according to the present invention analyzes along positive direction.
By analysis block _ 5, in order { B, the starting position of discovery B frame 440 and P frame 442 among the P}.For operation to opposite direction, { B, the inverted sequence ground, starting position of P} is promptly by { P, B} are sent to index ring 450 in proper order.In other words, by counterclockwise direction of operating the starting position is sent to the index ring.Thereby, the starting position of P frame 442 is sent to index entry 478, and advances along counterclockwise direction of operating, the starting position of B frame 440 is sent to index entry 476.
After each piece was carried out index, the search index ring had the beginning and the end position of the image frame of desired picture type with the location.If discovery has the beginning and the end position of the image frame of desired picture type, then extract corresponding data, and show these data to the client.
Next, in the counterclockwise direction piece _ 4 are fed in the outer shroud 402 in the next breeze way.By along forwards to analysis block _ 4, { P finds the starting position of P frame 436 and B frame 438 among the B} in order.For operation to opposite direction, { P, the inverted sequence ground, starting position of B} is promptly by { B, P} are sent to index ring 450 in proper order.In other words, by counterclockwise the starting position being sent to the index ring.Thereby, the starting position of B frame 438 is sent to index entry 474, and advances in the counterclockwise direction, the starting position of P frame 436 is sent to index entry 472.
Similarly, all the other pieces of MPEG-2 data, promptly piece _ 3~piece _ 0 is fed in the outer shroud 402 along opposite direction of operating, and at the starting position of image frame along forwards to analyzing, then corresponding index by being sent in the index ring 450 in the other direction.As shown in Figure 4, in case analyzed a given data chunks set along clockwise direction,, need not to analyze same data chunks set if direction of operating is changed into counterclockwise so.Similar, if analyzed a given data chunks set in the counterclockwise direction,, need not to analyze same data chunks set, as long as in these two rings, data are not carried out overwrite if direction of operating is changed into clockwise direction so.
When the index in the index ring being investigated when determining the position of desirable image frame, by counterclockwise direction of operating traversal index ring.For example, if in piece _ 4, the B frame is desirable image frame, and index entry 474 provides the starting position of B frame 438 so.Yet even all investigate index ring and outer shroud by counterclockwise direction of operating, the end position of B frame 438 is also all provided by index entry 476, and index entry 476 is with the next index entry of index entry 474 in the clockwise direction.
The MPEG-2 data-analyzing machine
According to some embodiment of the present invention, after the trick mode commands that response is issued had determined which MPEG-2 data chunks of selection is analyzed, index was carried out the search of each selected MPEG-2 data chunks of traversal in the transmission course.
Fig. 5 is a flow chart, has illustrated by some performed computer implemented action of index in the transmission course.Operation 500 has been described by the use of clockwise (just) direction of operating to the dicyclo buffer.For the ease of explaining, suppose the relevant MPEG-2 data of issuing according to the client of current trick mode commands selection.In addition, also suppose when operation 500 beginnings, relevant MPEG-2 data to be divided into the MPEG-2 data chunks of appropriate size.And, suppose that also the MPEG-2 data are in proper order when operation 500 beginnings.
The starting point of each image frame in the given MPEG-2 data chunks in operation 500 location.Each element in MPEG-2 data flow is with one " beginning code " (for example 0 * 000001) beginning.Element in the MPEG-2 data comprises image frame.Therefore, search for, because null byte is likely the starting point of image frame at each null byte.The 3rd byte-identifier picture type (I, P or B) behind the beginning code.When finding a null byte, the temporary place of a little buffer as a reserve bytes.A such buffer is used to handle and the code dependent byte of beginning that can cross over the border of MPEG-2 data chunks.Keep the index of a part, to follow the trail of the starting position of all image frames of in each MPEG-2 data chunks, being found.When in a given piece, judging the index (being the starting position) of all image frames, then the partial indexes tabulation is transmitted in the interior ring of the twin nuclei of buffer storage.What need be noted is that an image frame can be crossed over some MPEG-2 data chunks.The starting position of any given image frame only considered in index.The starting position is the position of first null byte of the beginning code relevant with given image frame.Therefore, as long as the starting position of a picture is arranged in the border of a given MPEG-2 data chunks, just index is comprised in the into partial indexes tabulation corresponding to given MPEG-2 data chunks as an index entry.
At frame 502 places of Fig. 5, the 0th MPEG-2 data chunks is loaded in the breeze way of outer shroud of twin nuclei buffer storage.Because the ring structure of buffer storage can be used to load the 0th MPEG-2 data chunks to any breeze way.For the ease of explaining, the breeze way that is used to load the 0th MPEG-2 data chunks is called the 0th breeze way.The next MPEG-2 data chunks of preparing to be loaded into outer shroud be loaded into along clockwise direction with the 0th breeze way that breeze way is adjacent in, or the like.
At frame 504 places, from first byte of MPEG-2 data chunks, analysis of MPEG-2 data chunks is with first null byte in the MPEG-2 data chunks of location.At frame 506 places, judge whether to have located a null byte.If judge also not navigate to a null byte,, the search of a null byte in the MPEG-2 data chunks is continued, and control is turned back to frame 506 so at frame 508 places.Yet, if at frame 506 places, found a null byte, so at frame 510 places, an operation beginning is retained in byte in the minibuffer device.
At frame 512 places, judged whether to arrive the end point of MPEG-2 data chunks, if also do not arrive the end point of MPEG-2 data chunks, then judge by successive position fixes whether indicated one " beginning code " in following several bytes of the null byte of finding in frame 506 places at frame 516 places, this " beginning code " is the starting point of an element in the MPEG-2 data chunks.
If judge by successive position fixes and do not indicate one " beginning code ", then, refresh the minibuffer device at frame 518 places in following several bytes of the null byte of finding in frame 506 places.Next give frame 542 control, carry out search there next null byte.
Yet, if judging by successive position fixes, frame 516 places indicated one " beginning code " really in following several bytes of the null byte of finding in frame 506 places, at frame 524 places, judged whether to arrive the end point of MPEG-2 data chunks once more.
Then along clockwise direction next MPEG-2 data chunks is loaded into the end point arrived the MPEG-2 data chunks in the next breeze way of outer shroud if judge at frame 524 places.
If judge the end point that does not also arrive the MPEG-2 data chunks at frame 524 places, then the byte after frame 526 places judge whether beginning code has been indicated a picture element.In other words, is the element in the piece an image frame?
Indicated a picture element if judge the byte after the beginning code at frame 526 places, promptly an image frame then at frame 532 places, has judged whether to arrive the end point of MPEG-2 data chunks once more.If judge the end point that has arrived the MPEG-2 data chunks at frame 532 places, then give frame 534 control.Along clockwise direction next MPEG-2 data chunks is loaded in the next breeze way of outer shroud at frame 534 places.
If judge the end point that does not also arrive the MPEG-2 data chunks at frame 532 places, then carry out following action: 1) (for example judge picture type at frame 540 places, I, P or B picture type), 2) create new entry in the partial indexes tabulation, wherein new entry provides the starting position of image frame according to the information in the minibuffer device; 3) refresh the minibuffer device.Next give frame 542 control, carry out search there next gap joint.
Then along clockwise direction next MPEG-2 data chunks is loaded into the end point arrived the MPEG-2 data chunks in the next breeze way of outer shroud if judge at piece 514 places at frame 512 places.
At frame 520 places, whether following several bytes that the MPEG-2 data chunks that judgement loads at frame 514 places begins to locate have indicated one " beginning code ".
If judge that several bytes are not indicated " beginning code " down, then refresh the minibuffer device at frame 522 places.Next give frame 542 control, carry out search there next null byte.
Yet,, judge at frame 528 places whether the byte after the beginning code indicates a picture element if several bytes have been indicated one " beginning code " really under the judgement of frame 520 places.In other words, is the element in the piece an image frame?
Do not indicate a picture element if judge the byte after the beginning code at frame 528 places, then refresh the minibuffer device at frame 522 places.Give frame 542 control, carry out search there next null byte.
But, indicate a picture element if judge the byte after the beginning code at frame 528 places, i.e. image frame, then carry out following action: 1) (for example judge picture type at frame 536 places, I, P, or B picture type), 2) in the partial indexes tabulation, create new entry, wherein new entry provides the starting position of image frame according to the information in the minibuffer device, 3) refresh the minibuffer device, 4) at the interior ring (index ring) that is transmitted in the twin nuclei buffer storage recently by the partial indexes of the MPEG-2 data chunks of exhaustive analysis tabulation, with as corresponding to recently by an index entry of the starting position of the image frame of the MPEG-2 data chunks of exhaustive analysis.
At frame 538 places, begin a new partial indexes tabulation.At frame 542 places, carry out search to next null byte.Next, frame 506 is returned in control.
In the above description, invention has been described with reference to specific embodiments of the invention.Yet, obviously can under the situation of design that does not deviate from broad of the present invention and scope, carry out various modifications and change to it.Therefore, this explanation and accompanying drawing should be considered as illustrative, rather than restrictive.

Claims (37)

1. method that is used to transmit target MPEG-2 data, this method comprises following computer implemented action:
Receive a MPEG-2 data file at the set-top box place;
Described MPEG-2 data file is divided into the MPEG-2 data chunks;
Each described MPEG-2 data chunks is read in first ring of a buffer storage;
After described MPEG-2 data chunks is read in described first ring each, analyze each described MPEG-2 data chunks, to generate the relevant index of respective picture element in one or more and each described MPEG-2 data chunks;
Described one or more index stores described buffer storage second the ring in; And
Utilize described one or more index to locate described target MPEG-2 data to transmit demonstration.
2. the process of claim 1 wherein:
Described first ring and described second ring both can also can counterclockwise be respectively applied for clockwise according to described one or more index carries out unroll a special-effect mode and a fast forward trick mode.
3. the process of claim 1 wherein:
Described first ring and described second ring are concentric.
4. the process of claim 1 wherein:
Described buffer storage is relevant with described set-top box.
5. the process of claim 1 wherein:
Described MPEG-2 data chunks is any fixed dimension.
6. the process of claim 1 wherein:
The radius of described second ring is less than the radius of described first ring.
7. the process of claim 1 wherein:
Described first ring comprises a series of breeze ways, and wherein each breeze way is any fixed dimension.
8. the process of claim 1 wherein:
The size of described first ring is enough big, is enough to be contained in the maximum picture element of being found in the described MPEG-2 data file at least.
9. the process of claim 1 wherein:
The size of described second ring is enough big, is enough to hold all described index relevant with described MPEG-2 data chunks at least.
10. the process of claim 1 wherein:
The size of described second ring is enough big, is enough to find a starting point and end point of a target picture element at least.
11. the process of claim 1 wherein that the action of analyzing each MPEG-2 data chunks also comprises following action:
Search for the null byte in the described MPEG-2 data chunks;
Judge whether described null byte is the described starting position of described target picture element.
12. the method for claim 11 judges that wherein whether described null byte is that the action of the starting position of picture element also comprises:
Judge with described null byte in each null byte byte adjacent and in succession whether indicate one with described picture element in the relevant beginning code of each picture element; And
If judged a beginning code, then judged a picture element type.
13. a method that is used to transmit target data, this method comprise following computer implemented action:
Receive a data file relevant with described target data at the receiver place;
Described data file is divided into data chunks;
Each described data chunks is read in first ring of a buffer storage;
After described data chunks is read in described first ring each, analyze each described data chunks, to generate the relevant index of respective picture element in one or more and each described data chunks;
Described one or more index stores described buffer storage second the ring in.
14. the method for claim 13, wherein:
Described first ring and described second ring both can also can counterclockwise use clockwise.
15. the method for claim 13, wherein:
Described first ring and described second ring are concentric.
16. the method for claim 13, wherein:
Described buffer storage is relevant with described receiver.
17. the method for claim 13, wherein:
Described data chunks is any fixed dimension.
18. the method for claim 13, wherein:
The radius of described second ring is less than the radius of described first ring.
19. the process of claim 1 wherein:
Described first ring comprises a series of breeze ways, and wherein each breeze way is any fixed dimension.
20. the method for claim 13, wherein:
The size of described first ring is enough big, is enough to be contained in the greatest member of being found in the described data file at least.
21. the method for claim 13, wherein:
The size of described second ring is enough big, is enough to hold at least all described index relevant with described data chunks at least.
22. the method for claim 13, wherein:
The size of described second ring is enough big, is enough to find a starting point and end point of the element of a desired type at least.
23. the method for claim 13, the action of wherein analyzing each data block also comprises following action:
Search for the null byte in the described data chunks;
Judge whether described null byte is the starting position of element described in each described data chunks.
24. the method for claim 23 judges that wherein whether described null byte is that the action of the starting position of element also comprises:
Judge with described null byte in each null byte byte adjacent and in succession whether indicate one with described element in the relevant beginning code of each element; And
If be judged to be the beginning code, then judge element type.
25. a method that is used to transmit target data, this method comprise following computer implemented action:
Receive a data file relevant with described target data at the receiver place;
After receiving described data file, generate index corresponding to the element in the described data file.
26. the method for claim 25, the action that wherein generates corresponding to the index of the element in the described data file also comprises following computer implemented action:
A part of described data file is read in first ring of a buffer storage;
After described part being read in described first ring, analyze described part, to generate the relevant index of respective element in the one or more and described part;
27. the method for claim 26, wherein: analyze action and also comprise following action:
Search for the null byte in the described part;
Judge whether described null byte is the starting position of the one or more elements in the described part.
28. the method for claim 27 judges that wherein whether described null byte is that the action of the starting position of one or more elements also comprises:
Judge with described null byte in each null byte byte adjacent and in succession whether indicate one with one or more elements in the relevant beginning code of each element; And
If judged a beginning code, then judged element type.
29. the method for claim 26, wherein said data division comprise the one or more data chunks that form described data file,
Described one or more index stores described buffer storage second the ring in.
30. the method for claim 26 wherein also comprises described one or more index stores in second ring of described buffer storage;
31. the method for claim 26, wherein said buffer storage is relevant with described receiver.
32. a method that is used to transmit target data, this method comprise following computer implemented action:
Buffer storage is used for:
Generate the relevant index of respective element one or more and in the data file, wherein data file is relevant with described target data;
Store described one or more index; And
Utilize described one or more index to locate described target data.
33. the method for claim 32, wherein said buffer storage have a structure that is suitable for generating and storing described one or more index.
34. the method for claim 33, wherein said suitable structure are a twin nuclei.
35. computer-readable medium that is loaded with one or more command sequences, wherein these instructions are used for transmitting target MPEG-2 data a computer system, wherein carry out these one or more command sequences by one or more processors and can cause these one or more processors to carry out following action:
Receive a MPEG-2 data file at the set-top box place;
Described MPEG-2 data file is divided into the MPEG-2 data chunks;
Each described MPEG-2 data chunks is read in first ring of a buffer storage;
After described MPEG-2 data chunks is read in described first ring each, analyze each described MPEG-2 data chunks, to generate the relevant index of respective picture element in one or more and each described MPEG-2 data chunks;
Described one or more index stores described buffer storage second the ring in; And
Utilize described one or more index to locate described target MPEG-2 data so that transmit demonstration.
36. computer-readable medium that is loaded with one or more command sequences, wherein these instructions are used for transmitting target data a computer system, carry out these one or more command sequences by one or more processors and cause these one or more processors to carry out following action:
Receive a data file relevant with described target data at the receiver place;
Described data file is divided into data chunks;
Each described data chunks is read in first ring of a buffer storage;
After described data chunks is read in described first ring each, analyze each described data chunks, to generate the relevant index of respective element in one or more and each described data chunks;
Described one or more index stores described buffer storage second the ring in.
37. computer-readable medium that is loaded with one or more command sequences, wherein these instructions are used for transmitting target data a computer system, wherein carry out these one or more command sequences by one or more processors and cause these one or more processors to carry out following action:
Receive a data file relevant with described target data at the receiver place;
After receiving described data file, generate index corresponding to the element in the described data file.
CNA031438962A 2002-07-26 2003-07-25 MPEG trick mode processing method in transmission course Pending CN1496120A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20639402A 2002-07-26 2002-07-26
US10/206,394 2002-07-26

Publications (1)

Publication Number Publication Date
CN1496120A true CN1496120A (en) 2004-05-12

Family

ID=31186620

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA031438962A Pending CN1496120A (en) 2002-07-26 2003-07-25 MPEG trick mode processing method in transmission course

Country Status (3)

Country Link
CN (1) CN1496120A (en)
AU (1) AU2003256624A1 (en)
WO (1) WO2004012037A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1929595B (en) * 2005-09-06 2010-05-05 中兴通讯股份有限公司 System for location broadcast in video request-program process and realizing method thereof
CN103141115A (en) * 2010-10-05 2013-06-05 瑞典爱立信有限公司 A client, a content creator entity and methods thereof for media streaming

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080025246A (en) * 2006-09-15 2008-03-20 삼성전자주식회사 Method for video recording by parsing video stream by gop and video apparatus thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463209B2 (en) * 1997-02-18 2002-10-08 Thomson Licensing Sa Controlled data flow
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
EP1156674A1 (en) * 2000-05-19 2001-11-21 THOMSON multimedia Method and device for decoding a video data stream in special reproduction modes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1929595B (en) * 2005-09-06 2010-05-05 中兴通讯股份有限公司 System for location broadcast in video request-program process and realizing method thereof
CN103141115A (en) * 2010-10-05 2013-06-05 瑞典爱立信有限公司 A client, a content creator entity and methods thereof for media streaming
CN103141115B (en) * 2010-10-05 2016-07-06 瑞典爱立信有限公司 For the client of media stream, content creator entity and method thereof

Also Published As

Publication number Publication date
AU2003256624A1 (en) 2004-02-16
WO2004012037A2 (en) 2004-02-05
WO2004012037A3 (en) 2004-06-17
AU2003256624A8 (en) 2004-02-16

Similar Documents

Publication Publication Date Title
JP5555728B2 (en) System and method for providing video content associated with a source image to a television in a communication network
CN1311687C (en) MPEG-4 remote communication device
CN1254952C (en) Efficient transmission and playback of digital information
CN1154351C (en) System for forming and processing program spcific formation for terrestrial, cable or satellite broadcast
CN1120620C (en) System for forming and processing text data for use in program specific information for broadcast
AU2007294935C1 (en) Personal content distribution network
CN1758748A (en) Methods and systems for constructing and editing electronic program guide lineups
CN1691775A (en) Content-progress indicator for an epg
CN1536881A (en) Visual frequency channel preview guide
US20110162027A1 (en) Method and system for utilizing switched digital video (sdv) for delivering dynamically encoded video content
CN101052130A (en) Apparatus and method for providing encoder and decoder information
CN1929590A (en) Method and apparatus for updating program guide information of digital TV
US20080124057A1 (en) Data transmitting method and apparatus for simultaneously reproducing multiple moving picture contents, and method and apparatus for simultaneously reproducing multiple moving picture contents
CN105681139A (en) Devices and methods for obtaining media stream with adaptive resolutions
CN103986945A (en) Hybrid network system, channel content replay method and hybrid set top box
US20090037965A1 (en) Portal based video indexing
CN1477537A (en) Information processing device for recording stream data to memory device
CN1245837C (en) Method and arrangement for switching programme of digital type TV
CN1212729C (en) Programme display device
CN1496120A (en) MPEG trick mode processing method in transmission course
JP6601971B2 (en) Zapping advertising system using multiplexing characteristics
CN1893640A (en) Channel changing in a digital broadcast system
CN1701602A (en) Apparatus and method for image processing, and computer program
CN1578431A (en) Compressing and decompressing epg data
CN1236598C (en) Device and method for changeable speed reproduction of movable picture stream

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20040512