CA2125788A1 - Buffer and frame indexing - Google Patents
Buffer and frame indexingInfo
- Publication number
- CA2125788A1 CA2125788A1 CA002125788A CA2125788A CA2125788A1 CA 2125788 A1 CA2125788 A1 CA 2125788A1 CA 002125788 A CA002125788 A CA 002125788A CA 2125788 A CA2125788 A CA 2125788A CA 2125788 A1 CA2125788 A1 CA 2125788A1
- Authority
- CA
- Canada
- Prior art keywords
- data
- data buffer
- port
- buffer
- processing unit
- 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.)
- Abandoned
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 55
- 238000007906 compression Methods 0.000 claims abstract description 27
- 230000006835 compression Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 16
- 238000013144 data compression Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 description 9
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 241000272168 Laridae Species 0.000 description 1
- 101150034459 Parpbp gene Proteins 0.000 description 1
- 235000018734 Sambucus australis Nutrition 0.000 description 1
- 244000180577 Sambucus australis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- VWTINHYPRWEBQY-UHFFFAOYSA-N denatonium Chemical compound [O-]C(=O)C1=CC=CC=C1.C=1C=CC=CC=1C[N+](CC)(CC)CC(=O)NC1=C(C)C=CC=C1C VWTINHYPRWEBQY-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/926—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
- H04N5/9261—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
- H04N5/9264—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
Abstract
A data buffer that compensates the differences in data rates, between a storage device and an image compression processor. A
method and apparatus for the real time indexing of frames in a video data sequence.
method and apparatus for the real time indexing of frames in a video data sequence.
Description
~VO g3/12481 2 1 2 ~ 7 8 8 PCr/US92tlO643 BU~FER AND FR~ INDE2~NG
Back~round othe In ention This invention relates to hardware desigIIs coupled with sof~ware-based algorithms for capture, compression, decompression, and playback of digital image sequences, particularly in n editing enviroIlment.
The idea of taking motion video, digitizing it, compressiDg the digital datastream, and storing it on some kind of media for later plavback is not new. RCA's Sarnoff labs began working on this ~n the early days of the video disk, seeking to create a digital rather than an aIlalog approach. ;
..... ... .
This techIIology has since become known as Digital Video I~teractive (DVI). -Anoth.er group, led by Phillips in Europe, has also worked on a digital motion video approach for a product they call CDI (ComLpact Disk `~
Interactive). Both DVI and CDI seel~ to store motion ndeo aIld sound on CD-ROM disks for playbacl~ in low cost players. In the case of DVI, the compressio~ is done in batch mode, as~d take~ a long time, but the ~ ~ -20 playbac3~ hardware is low cost. CDI is less specific about the compression approach, a~d ms~ ly provides a format for the data to be stored on the :
, di~k.
A few years ago, a standards~making body k~own as CCIIT, ba~ed in France, working in conju~ction ~nth ISO, the Intnational Standards 25 Organization, created a worl~ing group to focua on image compresshn.
Thi9 group,~ called t~e Joint Photographic E~cperts Group (JPEG) met for ma~y years to determine the mqst ef~ecti~e way to compres~ digital images. They evaluated a wide raIlge of compression schemes. includ~g vector qu ntization (the tech~lique used by DVI) aIId DCT (Discrete Cos~e 30 Transform?. After e~austive qualitati~ tests and carefi~l study, the JPEG group picked the D(~T approach, a~d also defined in detail the ;;
vanous ways this approaach could be used for jm~ge compression. 1he ; ~
. .~. .
~': ::'~
~, :, . .. .
wo 93/l2481 2 12 5 7 8 8 PCI-/US92/10643 group published a proposed ISO standard that is generally referred to as the JPEG standard. This standard is now in its final form, and is awaiting ratification by ISO, which is expected.
The JPEG standard has wide implications for image capture and storage, ~mage tra~sm~ission, and image playback. A color photograph can -be compressed by 10 to 1 with virtually no ~isible loss of quality.
Compression of 30 to 1 ca~ be achieved with loss that is so minimal that ~ ' most people cannot see the difference. Compression factors of 100 to 1 and ,-more can be achieved while maint ining image quality acceptable for a wide range of purpo~es. , The creation of the JPEG standard has spu~Ted a variety of important hardware developments. The DCT algorithm used by the .IPEG
standard is ea~tremely,comple2~. It requires converting an image from the spatial dom,ain to the frequency domain, the quantization of the various ', frequency compoIlerlts, followed by Hu~an coding of the res~lting components. ~he convercio~ from spatial to ~equency domain, the qu~rltizatio~l, and the Huf~an coding are 11 computationally intensi~e.
Ha~dware vendors have responded by building specialized integrated circuits to implement the JPEG algonthm.
One vendor, C~Cube of Sa~ Jose, California, has createt a JPEG
chip (the CL550B) t~at not only implements the JPEG standard i~
hardware, but can process n im~ge ~with a resolution of, for e~cample, 720 ~c 488 pixels (CCIRR 601 video standard) in just V30th of a seco~d. Th'is means that the JPEG algorithm can be applied to a digitized ~ndeo sequence,~a~d the restllting compres~ed data can be stored for later playbacl~. The same c~ip can be used to compre~s or decompress images or image sequences. The availability of thi~ JPEG chip has spurred computer' vendors a~d system integrators to design new products that incorporate - --the JPEG chip for tion video. However, the implementation of the chip 30 in a hardware and software en~ironm~nt capable of processing images
Back~round othe In ention This invention relates to hardware desigIIs coupled with sof~ware-based algorithms for capture, compression, decompression, and playback of digital image sequences, particularly in n editing enviroIlment.
The idea of taking motion video, digitizing it, compressiDg the digital datastream, and storing it on some kind of media for later plavback is not new. RCA's Sarnoff labs began working on this ~n the early days of the video disk, seeking to create a digital rather than an aIlalog approach. ;
..... ... .
This techIIology has since become known as Digital Video I~teractive (DVI). -Anoth.er group, led by Phillips in Europe, has also worked on a digital motion video approach for a product they call CDI (ComLpact Disk `~
Interactive). Both DVI and CDI seel~ to store motion ndeo aIld sound on CD-ROM disks for playbacl~ in low cost players. In the case of DVI, the compressio~ is done in batch mode, as~d take~ a long time, but the ~ ~ -20 playbac3~ hardware is low cost. CDI is less specific about the compression approach, a~d ms~ ly provides a format for the data to be stored on the :
, di~k.
A few years ago, a standards~making body k~own as CCIIT, ba~ed in France, working in conju~ction ~nth ISO, the Intnational Standards 25 Organization, created a worl~ing group to focua on image compresshn.
Thi9 group,~ called t~e Joint Photographic E~cperts Group (JPEG) met for ma~y years to determine the mqst ef~ecti~e way to compres~ digital images. They evaluated a wide raIlge of compression schemes. includ~g vector qu ntization (the tech~lique used by DVI) aIId DCT (Discrete Cos~e 30 Transform?. After e~austive qualitati~ tests and carefi~l study, the JPEG group picked the D(~T approach, a~d also defined in detail the ;;
vanous ways this approaach could be used for jm~ge compression. 1he ; ~
. .~. .
~': ::'~
~, :, . .. .
wo 93/l2481 2 12 5 7 8 8 PCI-/US92/10643 group published a proposed ISO standard that is generally referred to as the JPEG standard. This standard is now in its final form, and is awaiting ratification by ISO, which is expected.
The JPEG standard has wide implications for image capture and storage, ~mage tra~sm~ission, and image playback. A color photograph can -be compressed by 10 to 1 with virtually no ~isible loss of quality.
Compression of 30 to 1 ca~ be achieved with loss that is so minimal that ~ ' most people cannot see the difference. Compression factors of 100 to 1 and ,-more can be achieved while maint ining image quality acceptable for a wide range of purpo~es. , The creation of the JPEG standard has spu~Ted a variety of important hardware developments. The DCT algorithm used by the .IPEG
standard is ea~tremely,comple2~. It requires converting an image from the spatial dom,ain to the frequency domain, the quantization of the various ', frequency compoIlerlts, followed by Hu~an coding of the res~lting components. ~he convercio~ from spatial to ~equency domain, the qu~rltizatio~l, and the Huf~an coding are 11 computationally intensi~e.
Ha~dware vendors have responded by building specialized integrated circuits to implement the JPEG algonthm.
One vendor, C~Cube of Sa~ Jose, California, has createt a JPEG
chip (the CL550B) t~at not only implements the JPEG standard i~
hardware, but can process n im~ge ~with a resolution of, for e~cample, 720 ~c 488 pixels (CCIRR 601 video standard) in just V30th of a seco~d. Th'is means that the JPEG algorithm can be applied to a digitized ~ndeo sequence,~a~d the restllting compres~ed data can be stored for later playbacl~. The same c~ip can be used to compre~s or decompress images or image sequences. The availability of thi~ JPEG chip has spurred computer' vendors a~d system integrators to design new products that incorporate - --the JPEG chip for tion video. However, the implementation of the chip 30 in a hardware and software en~ironm~nt capable of processing images
2~2~7~8 with a resolution of 640 x 480 pixels or greater at a rate of 30 ~rames ~er second in an editing er.vironment introduces multiple ~roblems. . - :-For high auality images, a data size of 15-40 Kbytes per rame is needed for images at 720 x 488 resolution. T~.is means that 30 frames per second video will have a data rate of 450 ~o 1200 Kby~es per second. For data coming from a dis~ storage ~. ~M
devlce, this is a high da~a rate, requiring careful atterl~lon :`.
to insure a working syst~m.
The most common approach in prior systems for sending data from a disk to a compression processor is to copy of the data . :
from disk int~ the memory of the host computer, and then to .~:
send the data to the compression processor. Tn this met~od, ~he computer memory acts as a buffer agains~ the di~lerent data ~ .
ra~es o he compression ~rocessor and the disX. T~is scheme :~as two drawbacks.; ~irst, the data is moved twice, once ~om .-~
tAe disk to the host memory, and another t;me from the hos.
memory to .he compression processor. For a data rate of 1200 .
Kbytes per second, ~his can seriously tax the~host compu.e~
allowing it to do little else but the data copying.
Furthermore, the Macintosh computer, for exampie, canno~ read ~.
da~a from the dlsk and co~y data to ~he compression pr~ocessor at Ihe same time. The ~resent invention ~rovides a com~ressed data buf~fer speciflcally designe~d so that data can be sent : ::
direc~ly rrom ~he disi~ to the buffer. .
~ Also dis~closed in the prior ar. reference EP~ 0 alo 382 is a data ~ransfer cont.oller for performing;a da~ta ~ ar.s er .~
belween 2: memory and a ~er-pheral unit, uslng a direc memcry .~.
access (~M~) me~hod. T~e daia trar.s~er con~rolier ~e~fo.ms a da~a transfer 'rom the peripheral uni. to a memory wr.erein~.ne peri~heral~uni~ operates as a serial data communlca~lon c~n~~ol uni~ ro~an ex-~ernal~Iy ~-ovided device, such.as key-~oa d ~c a .
devlce, this is a high da~a rate, requiring careful atterl~lon :`.
to insure a working syst~m.
The most common approach in prior systems for sending data from a disk to a compression processor is to copy of the data . :
from disk int~ the memory of the host computer, and then to .~:
send the data to the compression processor. Tn this met~od, ~he computer memory acts as a buffer agains~ the di~lerent data ~ .
ra~es o he compression ~rocessor and the disX. T~is scheme :~as two drawbacks.; ~irst, the data is moved twice, once ~om .-~
tAe disk to the host memory, and another t;me from the hos.
memory to .he compression processor. For a data rate of 1200 .
Kbytes per second, ~his can seriously tax the~host compu.e~
allowing it to do little else but the data copying.
Furthermore, the Macintosh computer, for exampie, canno~ read ~.
da~a from the dlsk and co~y data to ~he compression pr~ocessor at Ihe same time. The ~resent invention ~rovides a com~ressed data buf~fer speciflcally designe~d so that data can be sent : ::
direc~ly rrom ~he disi~ to the buffer. .
~ Also dis~closed in the prior ar. reference EP~ 0 alo 382 is a data ~ransfer cont.oller for performing;a da~ta ~ ar.s er .~
belween 2: memory and a ~er-pheral unit, uslng a direc memcry .~.
access (~M~) me~hod. T~e daia trar.s~er con~rolier ~e~fo.ms a da~a transfer 'rom the peripheral uni. to a memory wr.erein~.ne peri~heral~uni~ operates as a serial data communlca~lon c~n~~ol uni~ ro~an ex-~ernal~Iy ~-ovided device, such.as key-~oa d ~c a .
-3~
--212S788 ~ ~
miorocom~uter. A CPU, the controller, the ~eri~heral unit, and the memcry are all interconnected to each other via an internal bus of a microcomputer. The data from the externally provided device is received by the peripheral unit and transferred to the memory by the con~roller. The memory includes -a program memory ~or storing a program to be executed by ~he CPU and a data memory for temporarily storing data. The data memory .
includes a DMA transLer destination area into which the data are transferred from the peripneral unit by a DMA transLer. - ~.
The da~a transfe- controller, according to the European reference ~P-.~0 410 382, comprises a first resister for storing adcress i~formation relative to a predetermined address of the D~ ~xans.er area, a second register for storing a numbe~ of data ~o be tra.nsferred, a D~ control uni~ for ~erforming a ..
data t ansfer between the memory and the ~eripheral unir by use~
of tne first and second registers, a tnird register for s.or ng da a used for:~access;ng the DMA trans.er area of the memory:, ar u~date- for u~dating~he data stored in:the thlrd register each time a memory acces~s is performed, and a counter unit for ~-changing the conten~ ~hereof each time the data trar.sfe_ is erformed between the memory and the peripneral unit.
ruropean reference r~P-A-O 185 924 ciscloses a bu~-~er system for detecting.errors caused by failures in 2 re`ad and/or write circui~s. The buffer system of the in~en~ion nc'udes:a ~:
s~orage~array that is addressable for read and wrlte operatio~s ;~ :.
by an:address of n-bit~s that are:su~pliec by a read add~ess :
counter~and~:a~write address counte.r, each having n + 1 ~its. .
3uring:~a write opera ioni the (~n + l).h ~i. of the~write a~dress coun~é~ is-~stored:as a pa t~of a pari~y bi~ fo the address :-:
arr~ay location.~ Durlng a:read operation the (n . l)th ~il OL ~ .
;tne rea~ address;~:coun er enters a ~arity chec~,~g function~ OL~
he word :read from the~ addressable .~
--3 2-- :
.,-,.",.,.,., ~,..
...
location. ,~n error 's signaled i the (n + l)th bit of the read address counter does not agree wi~A the (n + l)th bit of '.~
the wri~e counter at ~he time of the write operation. Thus, ~ :' the buffer sys.em ~revents reading the same entries on .he . -:,'.-.
second pass through the memory array. . .. ..
W.i~h ~ne JPEG algorithm, as with many com~ression ,~
a'gori~hms" the amount of data .hat results fr~m compressing an ;: ,.~
image depends on the image itself. An image of a lone sea gull '' ~
against a blue sky will take much less data than a ci~yscape of .. -;.
brick ~uildings wi=h lots of detail. There-rore, it becomes : ,. ';
difficult to know where a frame starts within a data 'ile that ~,.,-.
contains a sequence of frames, such as a digitized and compressed sequence of video. This creates particular problems .... ~.-'.`.'.. ;.':
in the ~laybac~ -' om many files based on edi. decisions. With .
fixea size compressi~n approaches, one can slmply index directiy:~ln~o ~ne -'lle by:multlplyl g ~he ~ , ,,'~
~ . - . .
,,., . ~
'',',' ~,'''.""", ,..:
: 2063 ::~ : ' ~3b~
. ., :
212~78~ `0 93/12481 PCI`/US92/1~643 frame number by the frame size, which results in the offset needed to start reading the desired ~ame. When the frame size ~aries, thi~ simple multiplication approach ~o longer works. One needs to have an inde~{ that stores the offset for each frame. Creating this inde~c can be time 5 consuming. The present invention pro~rides an effiaent mde.Ying method.
Sum~e Illvention The data buf~er of the i~ention compe~sates for the data rate difEerences between a storage dev~ce and the data compression processor of 10 a digital Lmage compression and playback urlit. The data buffer interfaces to a host central processing llnit, a storage device, a DMA address register, a~d a DMA li~nit regi~ter, and is mapped into the address space of the host computer bus. The data sequence is unloaded from the storage dev~ce into the data buffer, which is t~ice mapped into the address space of the 15 host computer.
Brief Descri~tion of the Drawin~
~ig. 1 is a block diagram of a ndeo image capture and playbac3 system implementi~lg data compression;
Fig~ 2 is a schematic diagram of a compressed tata bnffer according to one embodiment of the invention; snd Fig. 3 is a schematic illustration of an edited sequence of images along with two mapp~g schemes of the compressed data buf~er ~ the host system's bu DescriDtion o the PrefeITed Embodiment :
A bloc~c diagram according to a preferred embodiment of a s~stem for capture, compression, storage, decompression, and playback of images is illustrated in Fig. I.
~, "
: . '~ ~ '' . ~: : -:
~vn 93/12481 2 1 2 5 7 8 ~ PCT/US92/10643 - -As shown, an image digitizer (frame grabber) 10, captures and digiti~:es the images from an analog source, such a~. videotape. Image `~
digitizer 10 may be, for example, a TnleVision NuVista+ board. However, :;
the NuVista+ board is preferably modified and augrnented with a pi~el 5 engine as described ''Image Digitizer Including PLxel Engine" by B. Joshua Rosen et al., filed December 13, 1991, to provide better data throughput for a variety of image formats and modes of operation. Other methods of ~;
acquiring digitized video frames may be used, i.g., direct capture of digital ~ ;:
video in "D-1" or D-2" digital v~deo formats. ; ~ ~ ;
A compression processor 12 compresses l;he data acco~ding to a ~;
compressio~ algorithm. Preferably, this algorithm is the JP~:G algolithrn, i~ltroduced a1Dove. As discussed above, C^Cube produces a compression processor tCL550~3) based on the JPEG algorithm that is appropriate for ;
use as the compression processor 12. However, other em~odiments are within the scope of the i~vention. The compression processor 12 may be a ~ ~ -proces~or that impleme~ts the new MPEG tMotion Picture Ex,Derts Group) algorithm, or a processor that impleme~ts any of a vanety of other image ~ -c~Dmpression algorit~ms known to those skilled in the art. :
The compressed data from the processor 12 ~ preferably input to a 20 compressed data buffer 14 which is interfaced to a host computer 16 ;
connected to a disk 18. The compressed data buffer 14 preferably ;
implements a DMA process in order to absorb speed differences betwee~
the compression processor 12 and the disl~ 18, and further to perm~t data -trallsfer between the processor 12 and the diqk 18 wit~ a s~gle pass 25 through a CPU of the host cor~puter 16. (The details of the compressed data buf~er 14 according to the present invention will be presented .hereinbelow.) The host computer 16~ may be, for e~cample, an Apple Macintosh.
Buffer ;
, ~', .'`~, WO 93/12481 2 1 2 ~ 7 ~ 8 Pcr/U~92/10643 As discussed above, a compressed data buffer is provided to tal~e up the data rate differences between the disk 18 and the data compression processor 12. In this way, data can be sent directly ~rom the disk to the buffer, or vice ~ersa, pa~si~g through the host CPU only once. Orle thus 5 aviods copying the data from the compression hardware into the host's mai~ memory before it can be written from there to the disk storage subsystem. This scheme cuts the CPU overhead in half, dou~ling data throughput.
A detailed schematic diagr~m of the storage end of the system of ~-10 Fig. 1 is shown in Fig. 2. The compressed data buf~er 14 is addressable.
Associated with the bu~er 14 are a D~A address register 20 and a DMA
limit register 22. These regi~ter~ and the buffer ~cre seen by a CPU bus 24 of the host computer 16. Because the buffer 14 is addressable, standard file system callq can be used to request that the host computer 16 read 15 data from the disk 18 aIld seud it to the buf~er 14, or read data from the buffer 14 and send it to the disk 18. The buf~er 14 looks to the computer ~`
16 like an e~ctension of its own memory. No changes to the host computer disk read or write routines are requ~ed. For example, a si gle call to the operating system 16 of the host computer specif~ring a buf~er pointer, a .
ao length to read, and a destination of the disk will ef~ect a direct transfer of ;~ ;
data from the buffer to the disk. By looking at the DMA address at the JPEG buf~er, one can tell when the data is ready. By setting the DMA
limit, feedback throttIe~ the JPEG proces or filling the buf~er. -According to the i~Yention, the buf~er 14 i~ mapped in an address space of the host computer's bus 24 twice. Thus, t~e buffer i9 accessible in -two contiguous locations. l'hi~ has important ramifications in an edit~ng erl~nronrnent d~nng playbacl~
Fig. 3 shows n edited sequence of images and a representatio~ of a buffer that is mapped to the address space of the host computer's bus only once. Ihe sequence is longer than the buffer. Each edit point in the ".
;
Wl~ 93/12481 212 ~ 7 8 8 PCr/US92/10643 sequence represents a point at which the data must be picked up at a new - ;-place on the disk.
During playback, the sequence will be read iIltO the buffer from left -to right, and the buffer w~ll empty from leflc to right as the images are S played. In the e~ample illustrated, segments a, b, c and d fit into the buffer. Segment e does not however. For the buffer show~, therefiore, two -reads will be required to tra~sfer segment e, since part of e will go at the end of the buffer, and the rest will go at the beg~n~ing of the buffer, as the beginning empties dunng playback. It is desirable to !in~it the number of ;~
10 reads as much as possible, as reads reduce the throughput of the system.
The longer the reads, the more efficient the system.
This problem can be largely eliminated by mapping the buffer into the address space of the host computer's bus twice. As ilUustrated in Fig.
3, segment e now fits icn contiguous memory in the buf~er by overflowing 15 into the second mapping. I~ this example, thea, the double-mappillg ~as allowed a siIlgle read, where two reads would ha~e been required before.
In gerleral, for every read, you can read as m~ch a~ is empty in the buffer.
The space i~ the second mapping is only temporarily borrowed. I~
practice, the scheme is implemented by mal~i~g the address of the second 20 mapping the same as t~e address of the first except for a single bit, arld byhaving the hardware of the system ignore t~is bit. So ~hether data is ; ~ ;
wntten to the first mapping or the second, it goes to the same place in the buf~er.
Thi9 double mappi~g solves an mportant problem i~ a way that 25 would rlot be possible without the bu~er, since the computer's memory itself cannot i~ ge~eral be remapped to mimic the tec~ique.
' Frame Illde~in~
, For any data compressiosl scheme that results in compressed images with vana~le fr me size, a method of frame inde~ing i~ required for ;' :.'''.'' "` '~ '' ,~ ' '' ~."-'.~..
~ .~
wo 93/12481 2 1 2 ~i 7 ~ g PCI`/US92/10643~. .
finding frames to put together ~n edited sequence. Ihe location of any frame is preferably instantly available.
The C-Cube chip descnbed above prondes a mechanism for creating an index by allowing the user to specify that a mar~s:er code be placed at a specified location in every frame. Therefore, a marker code can be placed at the beginning or end of every ~rame. II1 prior approacheq, a program ~-has been w~itten to seguentially scan the file containing a sequence of images on a disk, and fi~ld ~nd remember the location of each marker code.
This is a post processing approach and is time consuming.
According to the ~rame inde~ng method of the invention, the image digitizer is programmed to generate an interrupt to the CPU of the host computer at every frame.l As the compression processor is putting data iII the compressed data buffer, each time the CPU detects an ~ntenupt it notes the loc:ation of the pointer in the bu~er. By keeping track of the 15 nurnber of times the pointer has been through the memory, and the n~rnber of bytes the pointer is into the memory at each interrupt, the CPU
~an keep a table in memory of the position, or more preferably, the length ;
of each fra~e. This table can be dumped to the disk at the end of the file, thereby pro~riding the location of every *ame in the file.
The table of ~ame locations does not solve all problem~, however. ~ :
Retrieving this irlformation as needed du~ng playback of an editted sequence i9 prohibi~ively t~me consuming. The solution ~s to make ollly that informatioll necessary for a gi~en edited sequence available to the -CPU. T~e required iDf rmahon is the be nning ant end of each segment , of the sequen~e.
According to the invention, a data structure representing an edited séquence is generated at human ~teraction time dunng the editing ! ' ;; ~
~ ' `' ,' : ~; :, ~, other prior approach is to use a fast processor or special purpose hardware to -recognize ~nd record the position of tile marker code on the fly.
'"~
--212S788 ~ ~
miorocom~uter. A CPU, the controller, the ~eri~heral unit, and the memcry are all interconnected to each other via an internal bus of a microcomputer. The data from the externally provided device is received by the peripheral unit and transferred to the memory by the con~roller. The memory includes -a program memory ~or storing a program to be executed by ~he CPU and a data memory for temporarily storing data. The data memory .
includes a DMA transLer destination area into which the data are transferred from the peripneral unit by a DMA transLer. - ~.
The da~a transfe- controller, according to the European reference ~P-.~0 410 382, comprises a first resister for storing adcress i~formation relative to a predetermined address of the D~ ~xans.er area, a second register for storing a numbe~ of data ~o be tra.nsferred, a D~ control uni~ for ~erforming a ..
data t ansfer between the memory and the ~eripheral unir by use~
of tne first and second registers, a tnird register for s.or ng da a used for:~access;ng the DMA trans.er area of the memory:, ar u~date- for u~dating~he data stored in:the thlrd register each time a memory acces~s is performed, and a counter unit for ~-changing the conten~ ~hereof each time the data trar.sfe_ is erformed between the memory and the peripneral unit.
ruropean reference r~P-A-O 185 924 ciscloses a bu~-~er system for detecting.errors caused by failures in 2 re`ad and/or write circui~s. The buffer system of the in~en~ion nc'udes:a ~:
s~orage~array that is addressable for read and wrlte operatio~s ;~ :.
by an:address of n-bit~s that are:su~pliec by a read add~ess :
counter~and~:a~write address counte.r, each having n + 1 ~its. .
3uring:~a write opera ioni the (~n + l).h ~i. of the~write a~dress coun~é~ is-~stored:as a pa t~of a pari~y bi~ fo the address :-:
arr~ay location.~ Durlng a:read operation the (n . l)th ~il OL ~ .
;tne rea~ address;~:coun er enters a ~arity chec~,~g function~ OL~
he word :read from the~ addressable .~
--3 2-- :
.,-,.",.,.,., ~,..
...
location. ,~n error 's signaled i the (n + l)th bit of the read address counter does not agree wi~A the (n + l)th bit of '.~
the wri~e counter at ~he time of the write operation. Thus, ~ :' the buffer sys.em ~revents reading the same entries on .he . -:,'.-.
second pass through the memory array. . .. ..
W.i~h ~ne JPEG algorithm, as with many com~ression ,~
a'gori~hms" the amount of data .hat results fr~m compressing an ;: ,.~
image depends on the image itself. An image of a lone sea gull '' ~
against a blue sky will take much less data than a ci~yscape of .. -;.
brick ~uildings wi=h lots of detail. There-rore, it becomes : ,. ';
difficult to know where a frame starts within a data 'ile that ~,.,-.
contains a sequence of frames, such as a digitized and compressed sequence of video. This creates particular problems .... ~.-'.`.'.. ;.':
in the ~laybac~ -' om many files based on edi. decisions. With .
fixea size compressi~n approaches, one can slmply index directiy:~ln~o ~ne -'lle by:multlplyl g ~he ~ , ,,'~
~ . - . .
,,., . ~
'',',' ~,'''.""", ,..:
: 2063 ::~ : ' ~3b~
. ., :
212~78~ `0 93/12481 PCI`/US92/1~643 frame number by the frame size, which results in the offset needed to start reading the desired ~ame. When the frame size ~aries, thi~ simple multiplication approach ~o longer works. One needs to have an inde~{ that stores the offset for each frame. Creating this inde~c can be time 5 consuming. The present invention pro~rides an effiaent mde.Ying method.
Sum~e Illvention The data buf~er of the i~ention compe~sates for the data rate difEerences between a storage dev~ce and the data compression processor of 10 a digital Lmage compression and playback urlit. The data buffer interfaces to a host central processing llnit, a storage device, a DMA address register, a~d a DMA li~nit regi~ter, and is mapped into the address space of the host computer bus. The data sequence is unloaded from the storage dev~ce into the data buffer, which is t~ice mapped into the address space of the 15 host computer.
Brief Descri~tion of the Drawin~
~ig. 1 is a block diagram of a ndeo image capture and playbac3 system implementi~lg data compression;
Fig~ 2 is a schematic diagram of a compressed tata bnffer according to one embodiment of the invention; snd Fig. 3 is a schematic illustration of an edited sequence of images along with two mapp~g schemes of the compressed data buf~er ~ the host system's bu DescriDtion o the PrefeITed Embodiment :
A bloc~c diagram according to a preferred embodiment of a s~stem for capture, compression, storage, decompression, and playback of images is illustrated in Fig. I.
~, "
: . '~ ~ '' . ~: : -:
~vn 93/12481 2 1 2 5 7 8 ~ PCT/US92/10643 - -As shown, an image digitizer (frame grabber) 10, captures and digiti~:es the images from an analog source, such a~. videotape. Image `~
digitizer 10 may be, for example, a TnleVision NuVista+ board. However, :;
the NuVista+ board is preferably modified and augrnented with a pi~el 5 engine as described ''Image Digitizer Including PLxel Engine" by B. Joshua Rosen et al., filed December 13, 1991, to provide better data throughput for a variety of image formats and modes of operation. Other methods of ~;
acquiring digitized video frames may be used, i.g., direct capture of digital ~ ;:
video in "D-1" or D-2" digital v~deo formats. ; ~ ~ ;
A compression processor 12 compresses l;he data acco~ding to a ~;
compressio~ algorithm. Preferably, this algorithm is the JP~:G algolithrn, i~ltroduced a1Dove. As discussed above, C^Cube produces a compression processor tCL550~3) based on the JPEG algorithm that is appropriate for ;
use as the compression processor 12. However, other em~odiments are within the scope of the i~vention. The compression processor 12 may be a ~ ~ -proces~or that impleme~ts the new MPEG tMotion Picture Ex,Derts Group) algorithm, or a processor that impleme~ts any of a vanety of other image ~ -c~Dmpression algorit~ms known to those skilled in the art. :
The compressed data from the processor 12 ~ preferably input to a 20 compressed data buffer 14 which is interfaced to a host computer 16 ;
connected to a disk 18. The compressed data buffer 14 preferably ;
implements a DMA process in order to absorb speed differences betwee~
the compression processor 12 and the disl~ 18, and further to perm~t data -trallsfer between the processor 12 and the diqk 18 wit~ a s~gle pass 25 through a CPU of the host cor~puter 16. (The details of the compressed data buf~er 14 according to the present invention will be presented .hereinbelow.) The host computer 16~ may be, for e~cample, an Apple Macintosh.
Buffer ;
, ~', .'`~, WO 93/12481 2 1 2 ~ 7 ~ 8 Pcr/U~92/10643 As discussed above, a compressed data buffer is provided to tal~e up the data rate differences between the disk 18 and the data compression processor 12. In this way, data can be sent directly ~rom the disk to the buffer, or vice ~ersa, pa~si~g through the host CPU only once. Orle thus 5 aviods copying the data from the compression hardware into the host's mai~ memory before it can be written from there to the disk storage subsystem. This scheme cuts the CPU overhead in half, dou~ling data throughput.
A detailed schematic diagr~m of the storage end of the system of ~-10 Fig. 1 is shown in Fig. 2. The compressed data buf~er 14 is addressable.
Associated with the bu~er 14 are a D~A address register 20 and a DMA
limit register 22. These regi~ter~ and the buffer ~cre seen by a CPU bus 24 of the host computer 16. Because the buffer 14 is addressable, standard file system callq can be used to request that the host computer 16 read 15 data from the disk 18 aIld seud it to the buf~er 14, or read data from the buffer 14 and send it to the disk 18. The buf~er 14 looks to the computer ~`
16 like an e~ctension of its own memory. No changes to the host computer disk read or write routines are requ~ed. For example, a si gle call to the operating system 16 of the host computer specif~ring a buf~er pointer, a .
ao length to read, and a destination of the disk will ef~ect a direct transfer of ;~ ;
data from the buffer to the disk. By looking at the DMA address at the JPEG buf~er, one can tell when the data is ready. By setting the DMA
limit, feedback throttIe~ the JPEG proces or filling the buf~er. -According to the i~Yention, the buf~er 14 i~ mapped in an address space of the host computer's bus 24 twice. Thus, t~e buffer i9 accessible in -two contiguous locations. l'hi~ has important ramifications in an edit~ng erl~nronrnent d~nng playbacl~
Fig. 3 shows n edited sequence of images and a representatio~ of a buffer that is mapped to the address space of the host computer's bus only once. Ihe sequence is longer than the buffer. Each edit point in the ".
;
Wl~ 93/12481 212 ~ 7 8 8 PCr/US92/10643 sequence represents a point at which the data must be picked up at a new - ;-place on the disk.
During playback, the sequence will be read iIltO the buffer from left -to right, and the buffer w~ll empty from leflc to right as the images are S played. In the e~ample illustrated, segments a, b, c and d fit into the buffer. Segment e does not however. For the buffer show~, therefiore, two -reads will be required to tra~sfer segment e, since part of e will go at the end of the buffer, and the rest will go at the beg~n~ing of the buffer, as the beginning empties dunng playback. It is desirable to !in~it the number of ;~
10 reads as much as possible, as reads reduce the throughput of the system.
The longer the reads, the more efficient the system.
This problem can be largely eliminated by mapping the buffer into the address space of the host computer's bus twice. As ilUustrated in Fig.
3, segment e now fits icn contiguous memory in the buf~er by overflowing 15 into the second mapping. I~ this example, thea, the double-mappillg ~as allowed a siIlgle read, where two reads would ha~e been required before.
In gerleral, for every read, you can read as m~ch a~ is empty in the buffer.
The space i~ the second mapping is only temporarily borrowed. I~
practice, the scheme is implemented by mal~i~g the address of the second 20 mapping the same as t~e address of the first except for a single bit, arld byhaving the hardware of the system ignore t~is bit. So ~hether data is ; ~ ;
wntten to the first mapping or the second, it goes to the same place in the buf~er.
Thi9 double mappi~g solves an mportant problem i~ a way that 25 would rlot be possible without the bu~er, since the computer's memory itself cannot i~ ge~eral be remapped to mimic the tec~ique.
' Frame Illde~in~
, For any data compressiosl scheme that results in compressed images with vana~le fr me size, a method of frame inde~ing i~ required for ;' :.'''.'' "` '~ '' ,~ ' '' ~."-'.~..
~ .~
wo 93/12481 2 1 2 ~i 7 ~ g PCI`/US92/10643~. .
finding frames to put together ~n edited sequence. Ihe location of any frame is preferably instantly available.
The C-Cube chip descnbed above prondes a mechanism for creating an index by allowing the user to specify that a mar~s:er code be placed at a specified location in every frame. Therefore, a marker code can be placed at the beginning or end of every ~rame. II1 prior approacheq, a program ~-has been w~itten to seguentially scan the file containing a sequence of images on a disk, and fi~ld ~nd remember the location of each marker code.
This is a post processing approach and is time consuming.
According to the ~rame inde~ng method of the invention, the image digitizer is programmed to generate an interrupt to the CPU of the host computer at every frame.l As the compression processor is putting data iII the compressed data buffer, each time the CPU detects an ~ntenupt it notes the loc:ation of the pointer in the bu~er. By keeping track of the 15 nurnber of times the pointer has been through the memory, and the n~rnber of bytes the pointer is into the memory at each interrupt, the CPU
~an keep a table in memory of the position, or more preferably, the length ;
of each fra~e. This table can be dumped to the disk at the end of the file, thereby pro~riding the location of every *ame in the file.
The table of ~ame locations does not solve all problem~, however. ~ :
Retrieving this irlformation as needed du~ng playback of an editted sequence i9 prohibi~ively t~me consuming. The solution ~s to make ollly that informatioll necessary for a gi~en edited sequence available to the -CPU. T~e required iDf rmahon is the be nning ant end of each segment , of the sequen~e.
According to the invention, a data structure representing an edited séquence is generated at human ~teraction time dunng the editing ! ' ;; ~
~ ' `' ,' : ~; :, ~, other prior approach is to use a fast processor or special purpose hardware to -recognize ~nd record the position of tile marker code on the fly.
'"~
4~1 2 1 2 5 7 8 8 PCr/~S92/10643 ~ -process. Each time a user mar~s an edit point, an item is added to the list. By including ~n the list two fields representing the locations of the begin~ing of f;rst and end of last frarnes in a segment, this information will be readily available at playback time. Since this prefetchi~g of inde~
5 value~ occurs during htLman interaction time, it does not create a bottleneck in the system. ;
The CPU can also be alerted whe~ever the frame sizes are gett~ng too large for the system to handle. Compensating mechanisms can be triggered into action. One example of such a mechanism is the quality 10 adjustment method disclosed in copending application "Quantization Table ;
Adjustment" by Eric C. Peters filed December 13, 1991. Thi9 adjustment `
reduces frame size (at the expense of quality). `
It ~1vill be clear to those skilled in the art that a buffer according to the invention can be simply designed using prog~an~mable ~ray logic and -15 memory chips.
What is cla~ed is~
: ....
:'. ' `
:. -,, :. .
-~ ~.,. -, ....
.
9 ,~
' , ~
The CPU can also be alerted whe~ever the frame sizes are gett~ng too large for the system to handle. Compensating mechanisms can be triggered into action. One example of such a mechanism is the quality 10 adjustment method disclosed in copending application "Quantization Table ;
Adjustment" by Eric C. Peters filed December 13, 1991. Thi9 adjustment `
reduces frame size (at the expense of quality). `
It ~1vill be clear to those skilled in the art that a buffer according to the invention can be simply designed using prog~an~mable ~ray logic and -15 memory chips.
What is cla~ed is~
: ....
:'. ' `
:. -,, :. .
-~ ~.,. -, ....
.
9 ,~
' , ~
Claims (9)
1. A system for compensating for data rate differences between a storage device (18) and a data compression processor (12) characterized in that:
a host control processing unit (16) including a bus (24) having an address space and a central processing unit (19);
an addressable compressed data buffer (14) including a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12) and the second port (15) being coupled to the host control processing unit (16);
a direct memory access address register (20), connected to the first port (13) of the addressable compressed data buffer (14), which stores a data address or a location within the data buffer (14);
a direct memory access limit register (22), connected to the first port the addressable compressed data buffer (14), which limits a direct memory access transfer of data between the compression processor (12) and the compressed data buffer (14);
an interface (17) linking the second port (15) of the addressable compressed data buffer (14) and the host control processing unit (16); and wherein the addressable data buffer (14) is twice mapped into the address space of the bus (24) such that a data transfer between the storage device (18) and the compressed data buffer (14) is accomplished by passing the data through the central processing unit (19) only once.
a host control processing unit (16) including a bus (24) having an address space and a central processing unit (19);
an addressable compressed data buffer (14) including a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12) and the second port (15) being coupled to the host control processing unit (16);
a direct memory access address register (20), connected to the first port (13) of the addressable compressed data buffer (14), which stores a data address or a location within the data buffer (14);
a direct memory access limit register (22), connected to the first port the addressable compressed data buffer (14), which limits a direct memory access transfer of data between the compression processor (12) and the compressed data buffer (14);
an interface (17) linking the second port (15) of the addressable compressed data buffer (14) and the host control processing unit (16); and wherein the addressable data buffer (14) is twice mapped into the address space of the bus (24) such that a data transfer between the storage device (18) and the compressed data buffer (14) is accomplished by passing the data through the central processing unit (19) only once.
2. The system set forth in claim 1, where the addressable compressed data buffer (14) is configured to store digital video image data.
3. The system set forth in claim 2, where the compression processor (12) is configured to compress digital video image data.
4. The system set forth in claim 2, where the compression processor (12) is configured to compress digital video image data by the steps of:
computing a discrete transform of the image data to create a plurality of coefficients corresponding to frequencies, quantizing the plurality of coefficients to create a plurality of quantized coefficients; and coding the quantized coefficients to create a plurality of encoded coefficients.
computing a discrete transform of the image data to create a plurality of coefficients corresponding to frequencies, quantizing the plurality of coefficients to create a plurality of quantized coefficients; and coding the quantized coefficients to create a plurality of encoded coefficients.
5. A method for compensating for data rate differences between a storage device (18) and a data compression processor (12) and for transferring data between the storage device (18) and the data compression processor (12), the method characterized in the steps of:
providing an addressable data buffer (14) having a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12), a host processing unit (16) couple to and between the storage device (18) and the second port (15) of addressable data buffer (14), wherein the host processing unit includes a bus (24) having an address space;
mapping the data buffer (14) twice into the address space of the bus (24) to provide a contiguous buffer memory; and transferring data between the compressed data buffer (14) and the storage device (18) by passing the data through the host processing unit (16) only once.
-11a-
providing an addressable data buffer (14) having a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12), a host processing unit (16) couple to and between the storage device (18) and the second port (15) of addressable data buffer (14), wherein the host processing unit includes a bus (24) having an address space;
mapping the data buffer (14) twice into the address space of the bus (24) to provide a contiguous buffer memory; and transferring data between the compressed data buffer (14) and the storage device (18) by passing the data through the host processing unit (16) only once.
-11a-
6. A method for indexing frames in a sequence of compressed images with variable frame sizes, comprising the steps of:
providing an addressable data buffer and a host computer including a central processing unit and a local memory;
configuring a data digitizer to signal the central processing unit at every frame of the compressed images;
transferring the compressed images from the digitizer to the data buffer;
at each signal from the data digitizer detecting a location of the frame in the data buffer; and storing the frame location in the local memory, thereby providing a record of the location of every frame of the sequence of compressed images.
providing an addressable data buffer and a host computer including a central processing unit and a local memory;
configuring a data digitizer to signal the central processing unit at every frame of the compressed images;
transferring the compressed images from the digitizer to the data buffer;
at each signal from the data digitizer detecting a location of the frame in the data buffer; and storing the frame location in the local memory, thereby providing a record of the location of every frame of the sequence of compressed images.
7. A method as claimed in claim 5, further comprising the step of direct memory access transferring the data from the data buffer (14) to the compression processor (12).
8. A method as claimed in claim 5, wherein the step of transferring further comprises the step of direct memory access transferring the data from the compression processor (12) to the data buffer (14).
9. A system for compensating for data rate differences between a storage device (18) and a data compression processor (12) characterized in that:
a host control processing unit (16) including a bus (24) having an address space and a central processing unit (19);
an addressable compressed data buffer (14) including a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12) and the second port (15) being coupled to the control processing unit (16);
-11b-a direct memory access address register (20), connected lo the first port (13) or the addressable compressed data buffer (14), which stores a data address of a location within the data buffer (14);
a direct memory access limit register (22), connected to the first port (13) of the data buffer (14), which limits a direct memory access transfer of data between the compression processor (12) and the compressed data buffer (14); and wherein the data buffer (14) is twice mapped into the address space of the bus (24) such that a data transfer between the storage device (18) and the compressed data buffer (14) is accomplished by passing the data through the central processing unit (19) only once, without storing the data in a local memory (17) of the host computer.
-11c-
a host control processing unit (16) including a bus (24) having an address space and a central processing unit (19);
an addressable compressed data buffer (14) including a first port (13) and a second port (15), the first port (13) being coupled to the data compression processor (12) and the second port (15) being coupled to the control processing unit (16);
-11b-a direct memory access address register (20), connected lo the first port (13) or the addressable compressed data buffer (14), which stores a data address of a location within the data buffer (14);
a direct memory access limit register (22), connected to the first port (13) of the data buffer (14), which limits a direct memory access transfer of data between the compression processor (12) and the compressed data buffer (14); and wherein the data buffer (14) is twice mapped into the address space of the bus (24) such that a data transfer between the storage device (18) and the compressed data buffer (14) is accomplished by passing the data through the central processing unit (19) only once, without storing the data in a local memory (17) of the host computer.
-11c-
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80726991A | 1991-12-13 | 1991-12-13 | |
US807,269 | 1991-12-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2125788A1 true CA2125788A1 (en) | 1993-06-24 |
Family
ID=25195978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002125788A Abandoned CA2125788A1 (en) | 1991-12-13 | 1992-12-10 | Buffer and frame indexing |
Country Status (5)
Country | Link |
---|---|
US (2) | US5513375A (en) |
JP (1) | JP2987206B2 (en) |
AU (1) | AU3274493A (en) |
CA (1) | CA2125788A1 (en) |
WO (1) | WO1993012481A2 (en) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678461B1 (en) | 1992-04-10 | 2004-01-13 | Avid Technology, Inc. | Media recorder for capture and playback of live and prerecorded audio and/or video information |
US5715018A (en) * | 1992-04-10 | 1998-02-03 | Avid Technology, Inc. | Digital advertisement insertion system |
EP0648399A1 (en) | 1992-07-01 | 1995-04-19 | Avid Technology, Inc. | Electronic film editing system using both film and videotape format |
US5424881A (en) | 1993-02-01 | 1995-06-13 | Cirrus Logic, Inc. | Synchronous read channel |
US6006020A (en) * | 1993-04-16 | 1999-12-21 | Media 100 Inc. | Video peripheral circuitry exercising bus master control over a bus of a host computer |
EP0694186A4 (en) * | 1993-04-16 | 1999-10-13 | Data Translation Inc | Video peripheral for a computer |
US5535137A (en) * | 1994-02-14 | 1996-07-09 | Sony Corporation Of Japan | Random access audio/video processor with compressed video resampling to allow higher bandwidth throughput |
GB9407548D0 (en) * | 1994-04-15 | 1994-06-08 | Harris David | Diagnostic method and apparatus |
GB9413169D0 (en) * | 1994-06-30 | 1994-08-24 | Thomson Consumer Electronics | Modulator data frame interfacing |
US5903324A (en) * | 1994-06-30 | 1999-05-11 | Thomson Multimedia S.A. | Transport processor interface for a digital television system |
JPH0844649A (en) * | 1994-07-26 | 1996-02-16 | Hitachi Ltd | Data processor |
GB2294173B (en) * | 1994-10-11 | 1998-12-09 | Mitsubishi Electric Corp | Disk media, and method of and device for recording and playing back information on or from a disk media |
AU716516B2 (en) * | 1995-02-23 | 2000-02-24 | Avid Technology, Inc. | Motion picture recording device using digital, computer-readable non-linear media |
JP3645619B2 (en) * | 1995-06-23 | 2005-05-11 | 富士写真フイルム株式会社 | How to record and play back image data |
US5781435A (en) * | 1996-04-12 | 1998-07-14 | Holroyd; Delwyn | Edit-to-it |
US5923900A (en) * | 1997-03-10 | 1999-07-13 | International Business Machines Corporation | Circular buffer with n sequential real and virtual entry positions for selectively inhibiting n adjacent entry positions including the virtual entry positions |
US5944801A (en) * | 1997-08-05 | 1999-08-31 | Advanced Micro Devices, Inc. | Isochronous buffers for MMx-equipped microprocessors |
US6195462B1 (en) | 1998-03-30 | 2001-02-27 | Eastman Kodak Company | Image compression |
CN1231049C (en) * | 1998-09-08 | 2005-12-07 | 夏普公司 | Time-varying image editing method and time-varying image editing device |
US7367042B1 (en) | 2000-02-29 | 2008-04-29 | Goldpocket Interactive, Inc. | Method and apparatus for hyperlinking in a television broadcast |
US7343617B1 (en) | 2000-02-29 | 2008-03-11 | Goldpocket Interactive, Inc. | Method and apparatus for interaction with hyperlinks in a television broadcast |
US7120924B1 (en) | 2000-02-29 | 2006-10-10 | Goldpocket Interactive, Inc. | Method and apparatus for receiving a hyperlinked television broadcast |
AU2001288552A1 (en) * | 2000-08-30 | 2002-03-13 | Watchpoint Media, Inc. | A method and apparatus for hyperlinking in a television broadcast |
JP2005006245A (en) * | 2003-06-16 | 2005-01-06 | Hitachi Ltd | Network monitoring system and reproduction terminal or monitoring terminal |
US7769728B2 (en) * | 2004-12-06 | 2010-08-03 | Ivie James R | Method and system for intra-row, inter-row compression and decompression of data items in a database using a page-based structure where allocating a page-buffer based on a stored value indicating the page size |
US20070162643A1 (en) * | 2005-12-19 | 2007-07-12 | Ivo Tousek | Fixed offset scatter/gather dma controller and method thereof |
US8160156B2 (en) * | 2006-02-01 | 2012-04-17 | Verint Systems, Inc. | System and method for controlling the long term generation rate of compressed data |
CA2629482A1 (en) * | 2007-04-21 | 2008-10-21 | Avid Technology, Inc. | Using user context information to select media files for a user in a distributed multi-user digital media system |
US8055779B1 (en) | 2007-05-10 | 2011-11-08 | Adobe Systems Incorporated | System and method using data keyframes |
US9979931B2 (en) * | 2007-05-30 | 2018-05-22 | Adobe Systems Incorporated | Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device |
US10031884B2 (en) | 2015-02-11 | 2018-07-24 | Samsung Electronics Co., Ltd | Storage apparatus and method for processing plurality of pieces of client data |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3813485A (en) * | 1972-01-05 | 1974-05-28 | Ibm | System for compression of digital data |
US3875329A (en) * | 1974-01-17 | 1975-04-01 | Idr Inc | Frame grabbing system |
US4714962A (en) * | 1976-08-27 | 1987-12-22 | Levine Alfred B | Dual electronic camera, previewing, and control |
US4195317A (en) * | 1977-10-14 | 1980-03-25 | Arvin Industries, Inc. | Video recording and playback editing system with displayed cue signals |
NL7905962A (en) * | 1978-08-04 | 1980-02-06 | Hitachi Ltd | DIGITAL VIDEO STORAGE SYSTEM. |
US4257063A (en) * | 1979-03-23 | 1981-03-17 | Ham Industries, Inc. | Video monitoring system and method |
IT1153611B (en) * | 1982-11-04 | 1987-01-14 | Honeywell Inf Systems | MEMORY MAPPING PROCEDURE IN DATA PROCESSING SYSTEM |
JPS59112327A (en) * | 1982-12-20 | 1984-06-28 | Hitachi Ltd | Controlling method of ring buffer |
US4685003A (en) * | 1983-12-02 | 1987-08-04 | Lex Computing & Management Corporation | Video composition method and apparatus for providing simultaneous inputting and sorting of video source material |
US4538188A (en) * | 1982-12-22 | 1985-08-27 | Montage Computer Corporation | Video composition method and apparatus |
US4599689A (en) * | 1983-02-28 | 1986-07-08 | Data Translations, Inc. | Continuous data transfer system |
US4574351A (en) * | 1983-03-03 | 1986-03-04 | International Business Machines Corporation | Apparatus for compressing and buffering data |
US4755889A (en) * | 1983-04-19 | 1988-07-05 | Compusonics Video Corporation | Audio and video digital recording and playback system |
US4567532A (en) * | 1983-09-16 | 1986-01-28 | Sanders Associates, Inc. | Selectable view video record/playback system |
DE3573963D1 (en) * | 1984-08-24 | 1989-11-30 | Eastman Kodak Co | Video disk apparatus providing organized picture playback |
US4717971A (en) * | 1984-08-24 | 1988-01-05 | Eastman Kodak Company | Partitioned editing method for a collection of video still pictures |
US4692893A (en) * | 1984-12-24 | 1987-09-08 | International Business Machines Corp. | Buffer system using parity checking of address counter bit for detection of read/write failures |
US4688016A (en) * | 1985-06-13 | 1987-08-18 | International Business Machines Corporation | Byte-wide encoder and decoder system for RLL (1,7) code |
US4777537A (en) * | 1985-10-21 | 1988-10-11 | Sony Corporation | Signal recording apparatus and method |
US4800524A (en) * | 1985-12-20 | 1989-01-24 | Analog Devices, Inc. | Modulo address generator |
US4847750A (en) * | 1986-02-13 | 1989-07-11 | Intelligent Instrumentation, Inc. | Peripheral DMA controller for data acquisition system |
US4689683B1 (en) * | 1986-03-18 | 1996-02-27 | Edward Efron | Computerized studio for motion picture film and television production |
US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
GB8631027D0 (en) * | 1986-12-30 | 1987-02-04 | Questech Ltd | Recording editing & moving television pictures |
US5113494A (en) * | 1987-02-27 | 1992-05-12 | Eastman Kodak Company | High speed raster image processor particularly suited for use in an image management system |
JPH0645252B2 (en) * | 1987-08-12 | 1994-06-15 | 株式会社日立製作所 | Rastaskian printer controller |
US4918523A (en) * | 1987-10-05 | 1990-04-17 | Intel Corporation | Digital video formatting and transmission system and method |
US4855813A (en) * | 1987-12-11 | 1989-08-08 | Russell David P | Television image processing system having capture, merge and display capability |
US4894789A (en) * | 1988-02-22 | 1990-01-16 | Yee Keen Y | TV data capture device |
US4951139A (en) * | 1988-03-30 | 1990-08-21 | Starsignal, Inc. | Computer-based video compression system |
US4816901A (en) * | 1988-04-27 | 1989-03-28 | Universal Video Communications Corp. | Method and system for compressing color video data |
US4847677A (en) * | 1988-04-27 | 1989-07-11 | Universal Video Communications Corp. | Video telecommunication system and method for compressing and decompressing digital color video data |
US4924303A (en) * | 1988-09-06 | 1990-05-08 | Kenneth Dunlop | Method and apparatus for providing interactive retrieval of TV still frame images and audio segments |
US4963995A (en) * | 1988-12-27 | 1990-10-16 | Explore Technology, Inc. | Audio/video transceiver apparatus including compression means |
US5057932A (en) * | 1988-12-27 | 1991-10-15 | Explore Technology, Inc. | Audio/video transceiver apparatus including compression means, random access storage means, and microwave transceiver means |
US5138642A (en) * | 1989-03-02 | 1992-08-11 | Innovative Imaging Systems, Inc. | Detector imaging arrangement for an industrial CT device |
US4970663A (en) * | 1989-04-28 | 1990-11-13 | Avid Technology, Inc. | Method and apparatus for manipulating digital video data |
GB8910380D0 (en) * | 1989-05-05 | 1989-06-21 | Quantel Ltd | Video processing |
EP0404399A3 (en) * | 1989-06-19 | 1992-07-08 | International Business Machines Corporation | Audio editing system |
EP0410382A3 (en) * | 1989-07-24 | 1991-07-24 | Nec Corporation | Data transfer controller using direct memory access method |
US5151997A (en) * | 1989-08-10 | 1992-09-29 | Apple Computer, Inc. | Computer with adaptable video circuitry |
JP2712656B2 (en) * | 1989-10-25 | 1998-02-16 | 日本電気ホームエレクトロニクス株式会社 | CD-ROM recording method |
US5218672A (en) * | 1990-01-19 | 1993-06-08 | Sony Corporation Of America | Offline editing system with user interface for controlling edit list generation |
US5253078A (en) * | 1990-03-14 | 1993-10-12 | C-Cube Microsystems, Inc. | System for compression and decompression of video data using discrete cosine transform and coding techniques |
FR2660139B1 (en) * | 1990-03-23 | 1995-08-25 | France Etat | ENCODING AND TRANSMISSION METHOD FOR AT LEAST TWO QUALITY LEVELS OF DIGITAL IMAGES BELONGING TO A SEQUENCE OF IMAGES, AND CORRESPONDING DEVICES. |
FR2660138B1 (en) * | 1990-03-26 | 1992-06-12 | France Telecom Cnet | DEVICE FOR CODING / DECODING IMAGE SIGNALS. |
CA2022302C (en) * | 1990-07-30 | 1995-02-28 | Douglas J. Ballantyne | Method and apparatus for distribution of movies |
US5270831A (en) * | 1990-09-14 | 1993-12-14 | Eastman Kodak Company | Storage and playback of digitized images in digital database together with presentation control file to define image orientation/aspect ratio |
US5138459A (en) * | 1990-11-20 | 1992-08-11 | Personal Computer Cameras, Inc. | Electronic still video camera with direct personal computer (pc) compatible digital format output |
US5307456A (en) * | 1990-12-04 | 1994-04-26 | Sony Electronics, Inc. | Integrated multi-media production and authoring system |
EP0526064B1 (en) * | 1991-08-02 | 1997-09-10 | The Grass Valley Group, Inc. | Video editing system operator interface for visualization and interactive control of video material |
US5396339A (en) * | 1991-12-06 | 1995-03-07 | Accom, Inc. | Real-time disk system |
-
1992
- 1992-12-10 AU AU32744/93A patent/AU3274493A/en not_active Abandoned
- 1992-12-10 CA CA002125788A patent/CA2125788A1/en not_active Abandoned
- 1992-12-10 WO PCT/US1992/010643 patent/WO1993012481A2/en active Application Filing
- 1992-12-10 JP JP5511052A patent/JP2987206B2/en not_active Expired - Fee Related
-
1994
- 1994-04-28 US US08/234,713 patent/US5513375A/en not_active Expired - Lifetime
-
1996
- 1996-01-22 US US08/589,301 patent/US5640601A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2987206B2 (en) | 1999-12-06 |
US5640601A (en) | 1997-06-17 |
JPH07505001A (en) | 1995-06-01 |
AU3274493A (en) | 1993-07-19 |
WO1993012481A2 (en) | 1993-06-24 |
WO1993012481A3 (en) | 1993-08-05 |
US5513375A (en) | 1996-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2125788A1 (en) | Buffer and frame indexing | |
US5883670A (en) | Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer | |
US5450544A (en) | Method and apparatus for data buffering and queue management of digital motion video signals | |
US20050180643A1 (en) | Memory management method, image processing apparatus, and memory management program | |
US5452378A (en) | Image digitizer including pixel engine | |
US5781242A (en) | Image processing apparatus and mapping method for frame memory | |
US5523799A (en) | Image storing device including an inhibiting function | |
AU3741697A (en) | Motion video processing circuit for capture, playback and manipulation of digital motion video information on a computer | |
US6477314B1 (en) | Method of recording image data, and computer system capable of recording image data | |
JPH02193236A (en) | Storage management system for memory card | |
JP3907278B2 (en) | Data processing device | |
Lee et al. | Design of a motion JPEG (M/JPEG) adapter card | |
US6636639B1 (en) | Image recording apparatus, image recording method and storage medium | |
JP3507147B2 (en) | Signal processing apparatus and method | |
JP3507146B2 (en) | Signal processing apparatus and method | |
Razavi et al. | High-performance JPEG image compression chip set for multimedia applications | |
JP2573700B2 (en) | Image recording and playback device | |
JP2573701B2 (en) | Image recording and playback device | |
JP3599385B2 (en) | Signal processing apparatus and method | |
JPH0491558A (en) | Picture storing device | |
JP2002535937A (en) | Apparatus and method for using memory to efficiently use memory in video decoder | |
JPH066607A (en) | Picture data compression/restoration device | |
JPH11252544A (en) | Moving image coder, its method and recording medium | |
JPH0336641A (en) | Memory control system for memory card | |
JPS5880960A (en) | Storing and recording system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued | ||
FZDE | Discontinued |
Effective date: 19960610 |