Source: http://www.google.com/patents/US7245818?dq=6,232,546
Timestamp: 2016-08-30 15:24:39
Document Index: 114302959

Matched Legal Cases: ['art=1', 'art=0', 'art=0', 'art=1', 'art=0', 'art=1']

Patent US7245818 - Moving image reproducing apparatus - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsA moving image reproducing apparatus includes a CPU mounted with a real-time OS. When a set key is pressed, the CPU executes concurrently a transfer process of compressed image data and sound data from a magneto-optical disk to an SDRAM and a reproduce process of compressed image data and sound data...http://www.google.com/patents/US7245818?utm_source=gb-gplus-sharePatent US7245818 - Moving image reproducing apparatusAdvanced Patent SearchPublication numberUS7245818 B2Publication typeGrantApplication numberUS 09/803,012Publication dateJul 17, 2007Filing dateMar 12, 2001Priority dateMar 13, 2000Fee statusPaidAlso published asUS20010028781Publication number09803012, 803012, US 7245818 B2, US 7245818B2, US-B2-7245818, US7245818 B2, US7245818B2InventorsJunya KakuOriginal AssigneeSanyo Electric Co., Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (6), Non-Patent Citations (1), Referenced by (3), Classifications (19), Legal Events (5) External Links: USPTO, USPTO Assignment, EspacenetMoving image reproducing apparatus
When a mode change switch 60 is shifted toward “CAMERA”, a system controller 54 establishes for a camera mode. A timing generator (TG) 14 produces timing signals on the basis of the vertical and horizontal synchronizing signals outputted from a signal generator (SG) 16, to drive the CCD imager 12 by the thin-out scheme. As a result, low-resolution camera signals in frames are outputted from the CCD imager 12 at an interval of 1/30th of a second. The output camera signal is subjected to well-known noise removal and level adjustment by a CDS/AGC circuit 18, and then converted into camera data as a digital signal by an A/D converter 20. A signal processing circuit 22 performs YUV conversion on the camera data outputted from the A/D converter 20, thereby generating YUV data. Because the CCD imager 12 outputs camera signals for each frame at an interval of 1/30th of a second, the YUV data (still image data) for each frame is also outputted at an interval of 1/30th of a second. The signal processing circuit 22 outputs the still image data thus produced, together with a write request, to a memory control circuit 26.
When the operator shifts the mode set switch toward “REPRODUCE” and operates a set key 56, reproduced is a QuickTime file having been recorded in the magneto-optical disk 36 in the above procedure. First, the CPU 32 reads sound data and image data out of the next address to the file header in the QuickTime file, and supplies the read sound data and compressed image data, together with a write request, to the memory control circuit 26. The sound data and the image data are written to the SDRAM 28 by the memory control circuit 26. Because the QuickTime file is formed as shown in FIG. 3, sound data in amount of 1/10th of a second and compressed image data in amount of 3 frames are alternately provided from this file. The sound data is written in order starting from a top of a sound area shown in FIG. 2, while the compressed image data is written in order starting from a top of a compressed image area 28 b shown in same FIG. 2.
Incidentally, the SDRAM 28 operates as a ring buffer in both the record and reproduce modes. That is, the destination address is cyclically renewed in a ring form in each of the compressed image area 28 b and the sound area 28 c. Due to this, it is possible to record/reproduce compressed image data in amount exceeding the capacity of the compressed image area 28 b and sound data in amount exceeding the capacity of the sound area 28 c. When shifting the mode set switch toward “REPRODUCE” and the set key 56 is operated, the CPU carries out a reproduce process shown concretely in FIG. 7 to FIG. 16 and a background process shown in FIG. 17. The CPU 32 is installed with a multi-task OS (real-time OS), such as μiTRON, to concurrently execute a reproduce process and a background process.
Next, in step S3 various variables are initialized. Specifically, for the sound data, the chunk no. chk is set at “0”. The sound reproduce address acptr and sound write address apreptr is made coincident with a top address AUD_BUF of the sound area 28 c. Then, the interrupt-permit flag astart and the sound-write prohibit flag aflg are set at “0”. For the image data, the reproduce frame no. frm is made coincident with the write frame no. prefrm. The image reproduce address mcptr and image write address mpreptr is made coincident with a top address MOV_BUF of the compressed image area 28 b. Then, the image decompress-permit flag decflg is set at “0”. For the instruction list, the set mail no. S-mail_No, minimum mail no. mail_min and mail count value mail_cnt is set at “0”.
If acnt<asz[chk] is determined in the step S7, in step 15 a value of total bytes AMAX is determined. The step S15 is a process to determine whether all the sound-data transfer commands have been set to the instruction list 32 a or not. If the count value acnt represents a last address of the last sound chunk, the total bytes AMAX will represent “0”. At this time, it is considered that all the sound-data transfer commands have been set, and the process advances to step S21. In the step S21, determination is made on a state of the sound-write-prohibit flag aflg. If alfg=0, aflg=1 is given in step S23 and then process proceeds to step S45. If aflg=1, the process directly proceeds to step S61. That is, if the sound-write-prohibit flag aflg shows “0”, then it is considered that all the sound-data transfer commands have been set but transfer command of compressed image data is not yet completed, and the process advances to step S45. At this time, because aflg=1 is provided in step S23, determination of “YES” is made in the step S21 process in the next time.
As hereinafter described, when sound-data transfer command in amount of one chunk is set to the instruction list 32 a or a compressed-image-data transfer command in amount of 3 frames is set to the instruction list 32 a, inverted is the relationship in magnitude between “aofst[chk]+acnt” and “mofst[prefrm]”. Due to this, it is determined whether the next transfer command is to be set for sound data or compressed image data depending upon whether Equation 2 stands or not. When setting is for sound data, “YES” is determined in step S17, and in step S19 whether Equation 3 stands or not.
MG: margin coefficient on sound area 28 c At the first write to the sound area 28 c, a sound-margin area as shown in FIG. 2 is formed in the last end of the sound area 28 c. (AUD_END−AUD_BUF)/MG represents a size of the sound margin area. On the other hand, the sound data of between an address represented by the current count value acnt and last address of the sound chunk to which that address belongs has size “asz[chk]−acnt”. In step S19, it is determined whether the sound data corresponding to this “asz[chk]−acnt” can be stored in between a current sound write address apreptr and a sound-margin-area top address or not. Incidentally, “−1” in Equation 3 is due to consideration that the sound area 28 c in address begins at “0”.
If “NO” herein, all the sound data has not been completed in transfer command setting. However, it is considered that the transfer command cannot be set because of insufficient capacity of the sound area 28 c, and process advances to step S21. On the other hand, if “YES” is determined in step S19, it is considered that the capacity of the sound area 28 c is sufficient, and the process proceeds to step S29.
In the step S29, an operation “HEAD SEEK” and a file address “aofst[chk]+acnt” are set to the instruction list 32 a shown in FIG. 6. In the succeeding step S31, the mail count value mail_cnt is incremented. Furthermore, in step S33 an operation “WRITE”, an SDRAM address “apreptr” and a size “asz[chk]−acnt” are set to the instruction list 32 a. In step S35, the mail count value mail_cnt is again incremented.
Because setting of sound-data write corresponding to “asz[chk]−acnt” has been completed, in the step S33 in step S37 “asz[chk]−acnt” is added to the current sound write address apreptr. In step S39, the size of the current sound chunk “asz[chk]” is subtracted from the total bytes AMAX. Thereafter, in step S41 the count value acnt is rendered “0”, and in step S43 the chunk no. chk is incremented and then the process returns to the step S15.
Incidentally, the count value acnt is a variable used to specify an access-destination address upon starting reproducing at a midway of a certain sound chunk. Due to this, transfer setting of the sound data belonging to this count chunk has been completed, the count value acnt becomes “0” and is meaningless.
In the above steps S29 and S33 as well as the hereinafter-described steps S45, S49, S105, S109, S112, S115, S127 and S129, a subroutine shown in FIG. 14 is processed. First, in step S151 a desired command (instruction) is added to a column of a currently set mail no. S-mail_No. Next, in step S153 the set mail no. S-mail_No is incremented, and in step S155 the number of unprocessed mails Rem_Mail is incremented. In step S157, the incremented set-mail no. S-mail_No is compared with the number of settable mails MAX_BOX. If S-mail_No<MAX_BOX herein, the process directly proceeds to step S161. However, if S-mail_No=MAX_BOX, in step S159 the set-mail no. S-mail_No is returned to “0” and then the process advances to step S161. It is determined in the step S161 whether the number of unprocessed mails Rem_Mail is equal to the total number of mails MAX_BOX or not. If “NO”, the process directly returns. However, if “YES”, it is considered that an error occurred, and the process is forcibly ended.
In step S15 shown in FIG. 7, when the total bytes AMAX become “0” due to the renewal process of the step S39, the process proceeds to step S21 through the determination process of “YES”. On the other hand, if the total bytes AMAX have not decreased down to “0”, the process advances to step S25 through the determination process of “NO” in step S17. That is, because Equation 2 becomes not standing due to the renewal of chunk no. chk in the step S43, the process proceeds to step S25. In the step S25, the frame no. prefrm of the compressed image data to be written to the compressed image area 28 b is compared with the total frames MFMAX. If prefrm=MFMAX, the process proceeds to step S61 while, if prefrm<MFMAX, it is determined in step S27 whether Equation 4 stands or not.
Similarly to the above sound area, at a first write of compressed image data to the SDRAM 28, an image margin area shown in FIG. 2 is formed at the last of the compressed image area 28 b. (MOV_END−MOV_BUF)/MG in Equation 4 represents a size of the image margin area. The step S27 determines as to whether the compressed image data in amount of a frame corresponding to “msz[prefrm]” can be stored between a current image write address mpreptr and a top address of the image margin area or not.
If Equation 4 is not fulfilled, the process proceeds to step S61 similarly to the determination of prefrm=MFMAX. On the other hand, if Equation 4 is fulfilled, the process proceeds to step S45 to set an operation “HEAD SEEK” and file address “mofst[prefrm]” to the instruction list 32 a. Subsequently, in step S47 the mail count value mail_cnt is incremented. In step S49, an operation “WRITE”, SDRAM address “mpreptr” and size “msz[prefrm]” is set to a column of the instruction list 32 a corresponding to the current mail count value. Completing the set process, in step S51 the mail count value mail_cnt is again incremented.
In step S53, “msz[prefrm]” is added to the current image write address mpreptr. In the succeeding step S55, the current write frame no. prefrm is incremented. Thereafter, it is determined in step S57 whether Equation 5 stands or not. If “NO”, the process directly returns to the step S15. However, if “YES”, a minimum mail no. mail_min is made coincident with the mail count value mail_cnt and then the process returns to the step S15.
Equation 5 stands when the difference between the write frame no. prefrm and a reproduce frame no. (frame no. of a displayed still image) frm is below “30” of the frame rate. Due to this, as long as the compressed image data completed in setting to the instruction list 32 a but not yet reproduce-processed (decompress on process) in frame no. is below “30”, the minimum mail no. mail_min is incremented following the mail count value mail_cnt. However, if the setting process to the instruction list 32 a is executed at high speed and the above difference becomes greater than “30”, the minimum mail no. mail_min is suspended from being incremented.
As discussed above, the mail count value mail_cnt and minimum mail no. mail_min is fixed when the process moves to the step S61. Thus “mail_cnt−mail_min” represents a certain fixed value. Herein, non-coincidence will occur between the mail count value mail_cnt and the minimum mail no. mail_min when the difference between the write frame no. prefrm and the reproduce frame no. frm exceeds the frame rate. The difference between the both increases from then on each time a transfer command is set. Where the QuickTime file is sufficiently great in size as compared to the capacity of the SDRAM 28, the difference value is fixed when Equation 3 or Equation 4 becomes not fulfilled. Thus, the difference value, i.e. value of “mail_cnt−mail_min”, is regulated by the frame rate and the capacity of SDRAM 28. More specifically, the greater the value represented by “mail_cnt−mail_min” the slower the frame rate becomes.
In step S65, determination is made on a state of an image-decompress permit flag decflg. If decflg=0, the process directly advances to step S69. If decflg=1, it is determined in step S67 that the JPEG decompression process in amount of one frame has been completed, and the process proceeds to step S69. In the step S69, determination is made for an input of a vertical synchronizing signal occurring at an interval of 1/30th of a second. In response to a determination result of the presence of an input, the process proceeds to step S71. In step S71, determination is made on a state of an interrupt permit flag astart related to the sound data process. If astart=1, the process directly proceeds to step S75 while, if astart=0, in step S73 astart is set at “1” and then the process advances to step S75.
In the step S75, the JPEG CODEC 30 is instructed to decompress the compressed image data in amount of one frame written in the compressed image area 28 b in a position following the image reproduce address mcptr. The JPEG CODEC 30 performs a decompression process in the above manner. As a result, the corresponding still image is displayed on the monitor 40. In step S77, the image-decompress permit flag decflg is set to “1” in order to make a determination “YES” in step S65 in the next time. Subsequently, in step S79 the image reproduce address mcptr is updated, i.e. the size of the compressed image data thus decompression-processed msz[frm] is added to the current image reproduce address mcptr. In step S81 the reproduce frame no. is incremented, and it is determined in step S83 whether Equation 7 is fulfilled or not.
When Equation 7 is fulfilled, the compressed image data of the next frame is stored in a position following the updated image reproduce address mcptr. On the other hand, when Equation 7 is not fulfilled, the compressed image data of the next frame is stored in a position following the top address MOV_BUF of the compressed image area. Consequently, if “YES” in the step S83, the process directly proceeds to step S87. However, if “NO”, a top address MOV_BUF is set in the image reproduce address mcptr in step S85 and then the process advances to step S87.
The reproduce process of sound data is incremented according to an interrupt routine shown in FIG. 15. The interrupt process is started in response to a clock of 7990 Hz (sound-sampling frequency). First, it is determined in step S71 whether the interrupt permit flag astart is “1” or not. If herein astart=0, the process directly returns to the main routine. However, if astart=1, in step S173 a sound reproduce command is delivered to the signal processing circuit 48. In response to the sound reproducing command, the signal processing circuit 48 provides read request to the memory control circuit 26 and reads sound data in amount of 1 byte out of the sound reproduce address acptr of the sound area 28 c. A predetermined process is made on the read-out sound data, and the processed sound signal is outputted through the speaker 52. In step S175, the sound reproduce address acptr is incremented. In step S177, the sound reproduce address acptr after update is compared to the last address AUD_END of the sound area 28 c. If herein acptr≦AUD_END, it is considered that the sound data in the next byte has been written in the updated sound reproduce address acptr, and the process directly returns to the main routine. On the contrary, if acptr>AUD_END, it is considered that the next byte of sound data has been written in the top address AUD_BUF of the sound area 28 c. In step S179, a top address AUD_BUF is set to the sound reproduce address acptr, and then the process returns to the main routine.
Referring back to FIG. 11, in step S87 the current frame no. frm is compared with the total number of frames MFMAX. If frm=MFMAX, it is considered that there is no compressed image data in the next frame, and the process advances to step S99 by waiting for the determination in step S97 that the current frame of compressed image data has been completed in decompression process. In the step S99, determination is made on a state of the interrupt permit flag astart. If astart=0, the process is ended as it is. However, if astart=1, in step S101 this interrupt permit flag astart is returned to “0” and thereafter the process is ended.
If determined “NO” in the step S87, in step S89 the write frame no. prefrm is compared with the total number of frames MFMAX. If prefrm=MFMAX, it is determined in step S91 whether the total bytes AMAX is “0” or not. On the other hand, if prefrm<MFMAX, it is determined in step S93 whether the total bytes AMAX is “0” or not. If prefrm=MFMAX and MAX=0, then it is considered that transfer command setting has been completed for all the compressed image data and sound data, and the process returns from the step S91 to the step S65. If prefrm=MFMAX but AMAX>0 or otherwise prefrm<MFMAX and AMAX>0, it is considered that the data to be set with a transfer command is left, and the process advances from the step S91 or S93 to the step S95. Then, the current sound-chunk offset aofst[chk] is compare with a compressed-image-data offset mofst[prefrm] corresponding to the current write frame no. prefrm. Depending on a comparison result, the process proceeds to step S103 or S123. If prefrm<MFMAX but AMAX=0, it is considered that the data to be set with a transfer command is only the compressed image data, and the process advances from the step S93 to step S123.
When Equation 8 stands, there is a vacant capacity capable writing all the sound data of the current sound chunk in the position following the current write address apreptr. In this case, in step S111 “0” is set to a remaining capacity value dm, and in step S112 an operation “HEAD SEEK” and file address “aofst[chk]” is set to the instruction list 32 a, and then the process proceeds to step S113. On the contrary, if Equation 8 does not stand, the sound data of the current sound chunk, except for one part thereof, cannot be written to the position following the current sound write address apreptr. In this case, in step S105 an operation “HEAD SEEK” and file address “aofst[chk]” is set to the instruction list 32 a. In step S107, a remaining capacity value dm is determined according to Equation 9, and in step S109 an operation “WRITE”, size “dm” and SDRAM address “apreptr” is set to the instruction list 32 a. Completing the process of the step S109, the process advances to step S113.
In step S113, the top address “AUD_BUF” of the sound area 28 c is set to the sound write address apretr. In the succeeding step S115, an operation “WRITE”, SDRAM address “apreptr” and size “asz[chk]−dm” is set to the instruction list 32 a. In step S117, the sound write address apreptr is updated according to Equation 10.
If Equation 11 is fulfilled, it is considered that the compressed image data in amount of one frame can be written to the position following the current image write address mpreptr, and the process directly advances to step S127. If Equation 11 is not fulfilled, the top address MOV_BUF is set to the image write address mpreptr in order to write compressed image data in amount of one frame to a position following the top address MOV_BUF. Ending the process of the step S125, the process proceeds to step S127. In step S127, an operation “HEAD SEEK” and file address “mofset[prefrm]” is set to the instruction list 32 a. In the succeeding step S129, an operation “WRITE”, SDRAM address “mpreptr” and size “msz[prefrm]” is set to the instruction list 32 a. Thereafter, in step S131 the size msz[prefrm]” is added to the current image write address mpreptr, and in step S133 the write frame no. prefrm is incremented.
When Equation 12 is not fulfilled, the number of unprocessed mails is not so much and accordingly the process returns to the step S65 without passing the steps S137-S141. On the other hand, when Equation 12 is fulfilled, in step S137 the interrupt permit flag astart is set to “0” to interrupt the reproducing of sound data in order for devotion to the background process. In step S139 a predetermined time is waited for. Elapsing the predetermined time, the process proceeds to step S141 to determine whether Equation 13 is fulfilled or not, i.e. whether the number of unprocessed mails is reduced to a half or not.
In this manner, the transfer setting of sound data in amount of one chunk in the steps S112 and S115 or S105, S109 and S115 of FIG. 12 as well as the transfer setting of compressed image data in amount of one frame in steps S127 and S129 of FIG. 13 are made each time completing the process of decompressing compressed image data in amount of one frame. On the other hand, sound data is reproduced byte by byte in response to the clock of 7990 Hz as long as interrupt permit flag astart represents “1”. Accordingly, there is no possibility that the transfer command to be newly set to the instruction list 32 a be overwritten by an unprocessed transfer command.
The background process is executed according to a flowchart shown in FIG. 16. First, in step S181 an execution mail no. E-mail_No is set at “0”. Next, it is determined in step S183 whether the number of unprocessed mails Rem_Mail is greater than “0” or not. If “NO” herein, the process of step S183 is repeated, wherein the process advances to step S185 when Rem_Mail>0 is reached. In step S185, an instruction for the currently executed mail no. E-mail_No is executed. That is, if the instruction content is “HEAD SEEK”, a seek is made to a desired file address on the magneto-optical disk 36. If the instruction content is “WRITE”, desired data is transferred from the magneto-optical disk 36 to the SDRAM 28. When the instruction is executed, in step S187 the execution mail no. E-mail_No is incremented, and in step S189 the number of unprocessed mails Rem_Mail is decremented. In step S191, it is determined whether the execution mail no. E-mail_No exceeded the maximum mail no. (MAX_BOX+1) or not. If “NO”, the process directly returns to the step S183 while, if “YES”, the process returns to the step S181.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5134499 *Aug 3, 1989Jul 28, 1992Yamaha CorporationVideo recording apparatus having control means provided therein for independently controlling the writing head and the reading headUS5319794 *Aug 3, 1993Jun 7, 1994Sony CorporationDevice for high-speed processing of information framesUS5905842 *Jan 30, 1997May 18, 1999Matsushita Electric Industrial Co., Ltd.Nonlinear video editing apparatusUS20020180715 *Feb 11, 2000Dec 5, 2002Susumu KonutaImage display apparatus for efficiently implementing the redundant display of imagesJPH06103699A Title not availableJPH07306756A Title not available* Cited by examinerNon-Patent CitationsReference1Japanese Office Action dated Nov. 12, 2002.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7586502 *Aug 18, 2005Sep 8, 2009Sony Computer Entertainment Europe Ltd.Control of data processingUS20060035710 *Aug 18, 2005Feb 16, 2006Festejo Ronald JControl of data processingUS20070043890 *Aug 19, 2005Feb 22, 2007Miller Casey LData block transfer and decompression* Cited by examinerClassifications U.S. Classification386/248, 386/E05.072, 386/353International ClassificationH04N19/85, H04N19/60, H04N5/225, H04N9/804, H04N101/00, H04N5/91, H04N7/00, H04N5/85, H04N5/92, H04N5/77, G11B20/10, H04N5/937Cooperative ClassificationH04N5/772, H04N5/85, H04N9/8047European ClassificationH04N5/77BLegal EventsDateCodeEventDescriptionMar 12, 2001ASAssignmentOwner name: SANYO ELECTRIC CO., LTD., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAKU, JUNYA;REEL/FRAME:011603/0395Effective date: 20010227Dec 16, 2010FPAYFee paymentYear of fee payment: 4Mar 18, 2014ASAssignmentOwner name: XACTI CORPORATION, JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANYO ELECTRIC CO., LTD.;REEL/FRAME:032467/0095Effective date: 20140305Apr 3, 2014ASAssignmentOwner name: XACTI CORPORATION, JAPANFree format text: CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE INCORRECT PATENT NUMBER 13/446,454, AND REPLACEWITH 13/466,454 PREVIOUSLY RECORDED ON REEL 032467 FRAME 0095. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANYO ELECTRIC CO., LTD.;REEL/FRAME:032601/0646Effective date: 20140305Dec 24, 2014FPAYFee paymentYear of fee payment: 8RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services