Information processing device, control procedure for this device and program
The information processing device addresses smooth playback issues by generating and storing processed moving images, allowing users to confirm playable areas, enhancing user experience through predictable playback quality adjustments.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2020-02-03
- Publication Date
- 2026-05-13
AI Technical Summary
Existing video playback devices struggle with smooth playback of high-resolution moving images due to limited storage space for image processing results, leading to unpredictable playback quality and user dissatisfaction.
An information processing device that generates and stores processed moving images in memory, displaying a time-axis bar indicating a processable area for smooth playback, allowing users to confirm playable areas before and after processing is complete.
Enables users to predictively determine smooth playback areas and adjust settings accordingly, improving user experience by ensuring high-quality playback without sudden drops.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTION Area of the invention
[0001] The present invention relates to an information processing device, a control method for the device and a program. Description of the related technique
[0002] In recent years, resolutions and frame rates for moving image data used in video production have increased, and the amount of data is also constantly growing. A powerful playback device (and especially its processor) is required to smoothly play back such large amounts of moving images while image processing, such as decoding and demosaicing, is performed on each frame. In other words, a device without such processing capabilities will struggle to play videos smoothly.
[0003] One way to address this issue is to run high-load image processing in the background before playback starts and temporarily store the processing results. This allows for simply reading and displaying the processing results after playback begins, ensuring smooth video playback. However, if playback is initiated before the processing results for all frames are stored, some frames will need to be reprocessed before being displayed, causing a sudden and dramatic drop in playback speed and resulting in an unnatural feel for the user. To avoid this, it's conceivable to display the processing progress before playback, prompting the user to wait until processing for their desired area is complete.
[0004] However, if the storage space for the results is limited, it will not be possible to store the processing results for all frames in the video, regardless of how long the user waits. The user cannot know whether the desired section can be played back smoothly until the stored processing results reach the storage limit. In particular, if the data size of the processing results varies depending on the image processing parameters, the number of frames for which the processing results can be stored will also vary depending on these parameters.
[0005] A recording device typically calculates and displays the number of still images, the duration of moving images, and the like that can be recorded based on the remaining space in the media. For example, Japanese Patent Publication JP 2007 110 221 A proposes a method in which the duration of moving images that can be recorded is calculated based on the space remaining in the storage media, and if the duration is less than or equal to a defined value, image processing parameters are automatically changed so that longer moving images can be recorded, or an image quality adjustment screen is displayed to prompt the user to reconfigure the parameters.
[0006] Similarly, in a playback device, the number of images for which processing results can be stored can be calculated based on the remaining memory space. However, if the moving image the user wishes to play back is sufficiently short and consists of only a small number of frames, it is not always necessary to change the parameters to reduce the amount of data. The total length of the moving image is already known, and therefore a more visual display is possible.
[0007] From JP 2015 195 571 A, a control method for an imaging device is known. During photography, image data generated from RAW image data by simple development processing is recorded along with the RAW image data. Subsequently, image data is generated from the RAW image data by applying high-quality development processing to replace the simply developed image data. By displaying information representing the progress of the high-quality development processing in conjunction with the image, the selection of the processing method is enabled based on the progress status. SUMMARY OF THE INVENTION
[0008] The present invention enables an improvement in user-friendliness by storing images obtained from a development process in memory and clearly displaying an area to a user that can be smoothly reproduced.
[0009] According to one embodiment of the invention, an information processing device is provided which is configured to execute a playback process on a RAW moving image, wherein the device comprises an image processing unit for generating a processed moving image by performing image processing on the RAW moving image, which includes a development process, a memory for storing the processed moving image generated by the image processing unit, and a display control unit for performing control such that a bar corresponding to the length of a time axis of the RAW moving image is displayed on a display unit, wherein the display control unit displays a processable area, which represents an area for which the moving image of the RAW moving image subjected to image processing by the image processing unit can be stored in the memory.together with the bar, before the image processing of the RAW moving image is completed in this processable area.
[0010] According to the invention, images obtained from a development process can be stored in memory to clearly show a user an area that can be smoothly reproduced, which in turn allows the user to confirm in advance whether it is possible to smoothly reproduce the area he wants to have reproduced.
[0011] Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the accompanying drawings). BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 shows a block diagram of an information processing device according to an exemplary embodiment. Fig. Figure 2 shows a representation of an example of a GUI according to an exemplary implementation. Fig. Figure 3 shows a representation of the structure of moving image data. Fig. Figure 4 shows a flowchart of a RAW motion image playback processing sequence according to a first embodiment. Fig. Figure 5 shows a flowchart of a processing sequence for calculating a number of images that can be developed according to an exemplary embodiment. Fig. Figure 6 shows a flowchart of a processing sequence for determining a range according to an exemplary embodiment that can be developed. Fig. Figure 7 shows a flowchart of a development processing sequence according to an exemplary embodiment. Fig. Figure 8 shows a flowchart of a playback processing sequence according to an exemplary embodiment. The Fig. Figures 9A to 9C show representations of a GUI according to an exemplary implementation. The Fig. Figures 10A to 10C show representations of a GUI according to an exemplary implementation. Fig. Figure 11 shows a flowchart of a RAW motion picture playback processing sequence according to an exemplary embodiment. Fig. Figure 12 shows a flowchart of a required-memory-size message processing sequence according to a second embodiment. The Fig. 13A and Fig. Figure 13B shows examples of message screens generated by the Required Memory Size Message Processing Process according to the second embodiment. The Fig. 14A and Fig. Figure 14B shows flowcharts of a development processing sequence according to the second embodiment. Fig. Figure 15 shows a flowchart of a playback processing sequence according to the second embodiment. The Fig. 16A and Fig. Figure 16B shows illustrations of examples of a GUI according to the second embodiment. Fig. Figure 17 shows a flowchart of a required-memory-size message processing sequence according to a third embodiment. Fig. Figure 18 shows an example of a message screen generated by the Required Memory Size message processing process according to the third embodiment. The Fig. 19A and Fig. Figure 19B shows illustrations of examples of a GUI according to the third embodiment. DESCRIPTION OF THE EXAMPLES OF EXECUTION
[0012] Exemplary embodiments are described in more detail below with reference to the accompanying drawings. It should be noted that the following exemplary embodiments are not intended to limit the scope of the claimed invention, and any limitation does not constitute an invention requiring a combination of all the features described in the exemplary embodiments. If necessary, two or more of the numerous features described in the exemplary embodiments may be combined. Furthermore, identical or similar configurations have the same reference numerals, and their redundant description is omitted.
[0013] The invention is not limited to the above embodiments, and various variations / modifications are possible within the idea of the invention. First embodiment
[0014] An information processing device in which the present embodiment is applied is described as a personal computer (PC) with a central processing unit (CPU) and a graphics processing unit (GPU). The PC according to this embodiment has a development function for generating displayable image data by performing a decoding process and a development process on individual frames that constitute input RAW motion picture data, and storing the generated data in memory before playback begins. It also has a playback function for reading the development results and displaying them sequentially at predetermined time intervals after playback has started. The present embodiment describes an example PC that displays a developable area and a developed area, which vary depending on the configuration of image quality parameters.
[0015] Fig. Figure 1 shows a block diagram of a PC 100 in which the present embodiment is applied. The PC 100 includes a CPU 110, a GPU 120, a RAM 130, a ROM 140, a recording medium 150, an operator panel 160, a display panel 170, an interface (I / F) 190, and a bus 180 that connects these components.
[0016] The CPU 110 controls the PC 100 as a whole and can also perform image processing by executing image processing instructions it generates itself. The GPU 120 performs image processing by executing image processing instructions generated by the CPU 110. The GPU 120 contains random access video memory (VRAM), and the GPU 120 can exchange data between the CPU 110 and the VRAM using data transfer instructions. The RAM 130 is memory that temporarily stores programs, data, and the like supplied from outside and is used as a temporary memory region for data output during program execution. The ROM 140 is non-volatile memory that stores a basic data exchange system (BIOS), a boot program, various parameter types, and the like. The ROM 140 is, for example, a flash ROM and is configured so that control programs can be rewritten.
[0017] The recording medium 150 is a recording medium to which and from which the PC 100 can write and read. This means that the recording medium 150 is, for example, internal memory built into the computer, a removable memory card connected to the computer, or a medium on which electronic data can be recorded, such as a hard disk drive (HDD), a CD-ROM, an MO disk, an optical disk, a magneto-optical disk, or the like. Digital data, such as video data, is stored as files on the recording medium 150.
[0018] The control unit 160 consists of a keyboard, a pointing device such as a mouse, and so on. A user can enter various types of instructions into the PC 100 by performing operations using this control unit 160.
[0019] The display unit 170 is a display unit included in the PC 100, such as a liquid crystal display, and shows, for example, a graphical user interface screen of an application 200, image processing results, and so on.
[0020] Interface (I / F) 190 is an interface for communication with an external device and is a network interface, a USB interface, or the like. In this embodiment, it is assumed that RAW video data input from an external device (a video camera or the like) is stored in the recording medium 150 via interface 190.
[0021] Bus 180 is a transmission path between the aforementioned components in the PC 100 for control signals, data signals and the like.
[0022] When the PC 100 is switched on in the configuration described above, the CPU 100 executes the boot program stored in ROM 140, loads an operating system (OS) from the recording medium 150 into RAM 130, and runs the OS. Under the control of the OS, the CPU 110 then loads the application program 200, which is involved in the playback of RAW video (described below), from the recording medium 150 into RAM 130 and executes the program. As a result, the PC 100 functions as a RAW video playback device.
[0023] Fig. Figure 2 shows an example of a graphical user interface (GUI) displayed on display unit 170 when CPU 110 is running application 200.
[0024] At the in Fig. In the GUI shown in Figure 2, reference sign 210 indicates a motion data list display area, which shows a list of motion data read from the recording medium 150. Reference sign 211 indicates an individual motion data icon within display area 210, and by moving a cursor to icon 211 using the mouse of the control unit 160 and clicking with the mouse, the user can select entered motion data to be subjected to image processing. It is noted that, for the sake of simplicity, this user operation is simply referred to as the user "clicking" icon 211.
[0025] Reference 220 indicates a preview area where the result of the image processing performed on the input motion data selected by the user is played back and displayed. Reference 230 is a playback control section for the user to control playback. The user can instruct image processing via a start and stop motion playback function by clicking a play / stop button in playback control section 230. It should be noted that the play / stop button has a function to instruct playback to pause while motion is being played and to instruct playback to start while no motion is being played.In addition to the play / stop button, the playback control section 230 includes, among other things, fast-forward buttons for moving the playback position one frame forward or backward, and jump buttons for moving the start and end positions of the moving image playback.
[0026] Reference 240 designates a search bar segment that indicates, among other things, the current playback position on a timeline of the entered video data. A timer value "00:00:00:00" (corresponding to hours, minutes, seconds, and hundredths of a second) indicating the start of the video is displayed at the left end of search bar segment 240, while a timer value "00:00:30:00" indicating the end of the selected video is displayed at the right end of search bar segment 240. Based on this display, the user can see that the file indicated by symbol 211 is a RAW video file containing a 30-second video clip. It is noted that instead of displaying the time at the left end of search bar section 240, an image number “1” can be displayed, and at the right end of search bar section 240 the number of the last image (the total number of images) can be displayed.
[0027] Reference symbols 241 and 242 denote symbols that function as playback range setting sections for the motion data in the input motion data, with a playback start position symbol 241 used to indicate the start of the playback range and a playback end position symbol 242 used to indicate the end of the playback range. The positions of these symbols can be changed by the user dragging and dropping them.
[0028] Reference symbol 243 indicates a symbol that serves as the current playback position setting section for the entered motion data. The result of the image processing performed on the image specified by playback position symbol 243 is displayed in the preview area 220. The position of playback position symbol 243 can be changed by the user dragging and dropping it or by clicking the fast-forward or skip buttons in the playback control section 230. When the user clicks the play button in the playback control section 230, the entered motion data is played back starting from the image specified by playback position symbol 243. If the user has reselected a RAW motion file, the playback start position symbol 241 and the playback position symbol 243 are located at the left end of the search bar section 240 as the default position.Meanwhile, it is assumed that the playback end position symbol 242 is located at the right end of the search bar section 240 as the default position.
[0029] Reference 244 specifies the area in the input video data for which the development result was generated (the developed area), and reference 245 specifies an area in the input video data for which development is possible (the developable area). These will be described in more detail later.
[0030] Reference numeral 250 indicates an image quality setting section through which the user selects image quality parameters to determine an image quality level for image processing. Image processing is performed according to the details of the image quality parameters selected by the user using image quality setting section 250. In this embodiment, the image quality parameters can be selected from "high," "medium," or "low." In this embodiment, it is assumed that the image quality parameters specify the resolution. For example, displaying a single frame in the RAW motion image file without thinning the image elements corresponds to "high"; thinning the image elements horizontally and vertically to half corresponds to "medium"; and thinning the image elements horizontally and vertically to one-quarter corresponds to "low."It is noted that the differences in image quality can instead be expressed as the number of bits per image element, or image quality can be defined by a combination of resolution and the number of bits.
[0031] Reference 251 is a memory size setting section that allows the user to configure a buffer memory size to be used for storing the development results (the image data already processed). The maximum value that can be set corresponds to the RAM space (130) that can be allocated to application 200 in an environment where application 200 is running. It should be noted that when a memory size is set in memory size setting section 251 (that is, when the user changes the value), the value can be registered in the OS directory and read into memory size setting section 251 the next time application 200 is started.
[0032] Reference numeral 260 denotes a general parameter setting section for performing image processing with regard to the hue of the displayed moving image. In this embodiment, "Brightness" and "White Balance" can be adjusted using sliders, and "Gamma Conversion" and "Gravity Conversion" can be toggled using pull-down tabs. Application 200 has further operating sections for performing typical functions related to moving image playback, but these are not illustrated here.
[0033] Fig. Figure 3 shows a schematic representation of RAW moving image data (file) 300, which are stored in the recording medium 150.
[0034] Reference 301 indicates a header section containing attribute information for the moving image. This includes, in particular, additional information such as a clip name, recording date / time information, a timecode, the image size of the individual frames that make up the moving image (horizontal and vertical resolution), the frame rate, a camera model name, a color temperature, aperture, ISO sensitivity, the starting address of encoded data for each frame, and similar information.
[0035] Reference 302 indicates a single-frame data section (or "payload section"), and the content of the individual frames forming the recorded moving image is recorded in order from the first recorded frames. Fig. Figure 3 illustrates a case in which a total of N RAW individual images, that is, image data 1, 2, ..., N, are stored in the RAW image data 300. In this embodiment, it is assumed that the Fig. 3 illustrated image data 1, 2, ... are encoded data obtained by encoding the RAW image data (Bayer array image data), and that previewable image data in which a single image element is expressed by RGB is produced by performing a development process on each image after decoding the images.
[0036] Next, with reference to the Fig. Sections 4 to 10C describe the processes that are performed during the playback of a moving image according to this embodiment. In this embodiment, it is assumed that the application program 200 for playing back a moving image is initially stored in the recording medium 150, and then loaded from the recording medium 150 into RAM 130 and executed under the control of the OS. It is noted that the application program 200 can alternatively be stored in ROM 140. Likewise, the program can be stored on the server in a network and then downloaded into RAM 130 via interface 190 and executed.
[0037] Fig. Figure 4 shows a flowchart of a sequence of processes performed by application program 200 during the operations in Fig. The RAW motion data 300 illustrated in Figure 3 is executed when a RAW motion image is played back. It is noted that the application program 200 may have a typical motion image playback function for motion image files in a typical format that differs from the RAW motion data 300. Only the process for playing back the RAW motion data is described below.
[0038] In step S400, CPU 110 is ready for user interaction and determines whether or not an interaction has been performed. If it is determined that the user has performed an interaction, CPU 110 proceeds with the process to step S401; conversely, if it is determined that no interaction has been performed, CPU 110 returns with the process to step S400 and is ready for interaction.
[0039] In step S401, the CPU 110 determines whether the user has modified the RAW image data to be played back, whether the user has changed the memory size by manipulating the memory size setting section 251, and whether the user has changed the image quality parameters by manipulating the image quality setting section 250. If it is determined that any of these changes have been made, the CPU 110 proceeds to step S405, while if it is determined that none of these changes have been made, the CPU 110 proceeds to step S402. In this embodiment, it is assumed that the playback position immediately after a change to the input motion data is the first frame.It is noted that this can be a configuration such that the playback position last set by the user is saved for each piece of moving image data, and the position is used the next time the data is selected.
[0040] In step S402, the CPU 110 determines whether the user has changed the playback position symbol 243, the playback start position symbol 241, or the playback end position symbol 242, or whether playback has been paused by pressing the play / stop button. If it is determined that one of these changes has been made, the CPU 110 proceeds with the process to step S406; if it is determined that none of these changes have been made, the CPU 110 proceeds with the process to step S403.
[0041] In step S403, the CPU 110 determines whether image processing parameters have been changed by the user manipulating parameter setting section 260. If it is determined that the image processing parameters have been changed by the user, the CPU 110 proceeds with the process to step S407; if it is determined that the image processing parameters have not been changed, the CPU 110 proceeds with the process to step S404.
[0042] In step S404, CPU 110 determines whether the user has instructed playback to start by pressing the play / stop button. If it is determined that the user has instructed playback to start, CPU 110 proceeds with the process to step S409; if it is determined that no such instruction has been given, CPU 110 proceeds with the process to step S411.
[0043] In step S405, the CPU 110 performs a developable frame count calculation process (described below). In step S406, the CPU 110 performs a developable area determination process (described in more detail below). In step S407, the CPU 110 suspends the playback process started in step S410. In step S408, the CPU 110 starts the development process and then returns to step S400 with the process (described in more detail below).
[0044] In step S409, CPU 110 suspends the development process started in step S408. In step S410, CPU 110 starts the playback process and then returns with the process to step S400 (which is described in more detail below).
[0045] In step S411, the CPU 110 determines whether the user has performed an operation to terminate the application. If it is determined that the user has performed an operation to terminate the application, the CPU 110 terminates the RAW motion playback process; however, if it is determined that no operation to terminate the application has been performed, the CPU 110 returns the process to step S400.
[0046] It is noted that the configuration may be such that playback control section 230 is grayed out, and the settings from step S402 to step S404 are consistently incorrect until the input motion data is first selected in step S401 after the RAW motion playback process has started. Alternatively, the first or last motion data displayed in the motion data list display area 201 may be pre-selected based on display position, clip name, recording date / time, or similar criteria, or the motion data that underwent image processing at the previous time, or similar criteria.
[0047] Next, the process for calculating the number of developable images, which is described in step S405 of Fig. 4 is executed, with reference to the flowchart in Fig. 5 described. In this embodiment, the number of developable images is calculated for all image quality parameters that can be set in the image quality setting section 250.
[0048] In step S500, the CPU 110 receives the size of a region in RAM 130, which can be used to store the development results (the value set in memory size setting section 251). The size of the region for storing the development results is expressed below as M bytes using a variable M.
[0049] In step S501, the CPU 110 receives the size of the development result per frame for all image quality parameters that can be set via the image quality setting section 250. The size of the development result depends on the image quality parameters. The "image quality parameters" refer, for example, to resolution and / or bit depth and / or compression rate and / or reduction rate, and so on. As described previously, in this embodiment, it is assumed that the "image quality parameters" refer to the reduction rate relative to the resolution of the original data, where "high" indicates 1x, "medium" indicates 1 / 2x in both the horizontal and vertical directions, and "low" indicates 1 / 4x in both the horizontal and vertical directions.This means that the size (number of image elements) of the developed image is largest when the image quality parameters are set to "high," where "medium" is 1 / 4 the size of "high," and "low" is the smallest at 1 / 16 the size of "high." The size of a single image obtained by performing the development process according to the image quality parameters "high," "medium," and "low" is each denoted as N. H , N M , and N L Expressed in bytes.
[0050] In step S502, the CPU calculates 110 developable image counts F H , F M , and F L The following equations are used for the image quality parameters "high", "medium", and "low". The number of developable images is the number of images in the development results that can be stored in the region designated for storing the development results in RAM 130. FH=FLOOR(M / NH) FM=FLOOR(M / NM) FL=FLOOR(M / NL)
[0051] Here, FLOOR(X) means a rounding function that returns a maximum integer that does not exceed a real number X.
[0052] Next, using the flowchart in Fig. 6 in S406 from Fig. The 4-step process for determining the developable area is described. Here, the frame number in the input motion data, indicated by the playback position symbol 243, is represented by F. NOW The image number indicated by the playback start position symbol 241 of the playback area is represented by F START represented, and the image number indicated by the playback end position symbol 242 is represented by F END depicted.
[0053] In step S600, the CPU 110 finds the range of images for which the development process is to be performed for each of the image quality parameters. In this embodiment, the development results for the number of developable images are generated in a sequence starting at playback position 243. That is, assuming that the number of developable images for given image quality parameters is determined by F CAN The area for the development process is represented as F NOW ~ F NOW + F CAN found. But if F NOW + F CAN > F END is, a number of images that (F NOW + F CAN ) - F END corresponds to those that fall outside the playback range, the F START assigned to the following images. Is F CAN ≥ F START - F END , all images in the playback area lie within the developable area.
[0054] In step S601, the CPU 110 performs a developable display based on the developable range found in step S600 for each of the image quality parameters. The "developable display" is a process for displaying a portion in the search bar section 240 that corresponds to the range of input motion data where the development process can be performed, with the portion being distinguishable from the other portions (in this embodiment by a different color) and displayed in a highlighted manner. The developable display can be performed for all image quality parameters that can be set via the image quality setting section 250, or for only some of the image quality parameters. The display procedure is described in more detail later.
[0055] The one in step S408 of Fig. The fourth development process is described next using the flowchart in Fig. 7 described. The CPU 110 performs the development process in units of images based on the current image quality parameters selected via the image quality setting section 250, which are found via the developable area determination process, in order starting from the image indicated by the playback position symbol 243.
[0056] In step S700, the CPU 110 releases memory by deleting unnecessary parts of the existing development results stored in RAM 130. If the input motion data, image quality parameters, and image processing parameters were changed after the existing development results were generated, all existing development results are deleted. If this is not the case, and the playback position, playback area, and memory size were changed, the existing development results stored in RAM 130 and those in step S600 remain. Fig. The 6 developed areas are included, while the other development results are deleted. To delete the development results, a process to delete the results from RAM 130 can be executed, or the image data of the development results can be discarded by executing a process to release the region in RAM 130 where the image data of the development results to be deleted is stored.
[0057] In step S701, the CPU sets 110 to the variable FF. NOW a.
[0058] In step S702, CPU 110 determines whether the development result generated for the FTE image in the input motion picture data is present in the development result memory region of RAM 130. If it is determined that the development result for the FTE image is present in the development result memory region of RAM 130, CPU 110 moves the process to step S707; otherwise, CPU 110 allows the process to proceed to step S703. This means that the development processes in steps S703 and S704 are not executed for images that are within the range defined in step S600. Fig. The development processes are carried out for images within the developed area (6) and remain in RAM 130 for the development results. However, from step S703 onwards, the development processes are executed for images that are within the developed area, but for which no development results remain in RAM 130.
[0059] In step S703, the CPU 110 reads the data of the fixed image from the input motion picture data. In step S704, the CPU 110 performs the development process on the image that was read. The development process includes, for example, the following: a decoding process if the single frame is a compressed image; if the single frame is a RAW image, processing to improve image quality, such as demosaic processing, noise removal, false color removal, and so on; correction processing, such as ambient light correction and chromatic aberration correction; adjustment processes to fine-tune settings such as brightness, white balance, gamma, and gamut; resizing processes to change the size of the preview area 220, which represents an image display region; and so on.Although the development process is performed by either the CPU 110 or the GPU 120, the processing content, image region, and so on can be subdivided and distributed between the CPU 110 and the GPU 120. Details of the algorithms for the development process are not directly relevant to the present invention and are therefore not described in detail. The result of the development process is output as a development output with a size corresponding to the image quality parameters selected via the image quality setting section 250.
[0060] In step S705, the CPU 110 stores the development result in the development result memory region of RAM 130. In step S706, the CPU 110 sets a development completion indicator for the FTE image in the input motion image data to "on". The display procedure is described in more detail below.
[0061] In step S707, CPU 110 adds 1 to the variable F. In step S708, CPU 110 then determines whether the variable F is less than or equal to F. END is or is not. Is the variable F less than or equal to F END If the condition is not met, CPU 110 moves the process to step S710, and if not, CPU 110 moves the process to step S709.
[0062] In step S709, the CPU sets 110 F START The variable F is entered. In step S710, CPU 110 determines whether the development process for all images in the area defined in step S600 should be initiated. Fig. The development process is completed when all 6 images in the developable area have been found. If it is determined that the development process is complete for all images in the developable area, the CPU 110 terminates the development process. However, if it is determined that there is an undeveloped image in the developable area, the CPU 110 returns to step S702.
[0063] Next, the step S410 of Fig. 4. Playback process performed using the flowchart in Fig. 8 described. The present embodiment describes an example in which, when an attempt is made to reproduce an image for which no development result exists, the development process and a preview display are performed sequentially for a single image; although the speed of the preview display will decrease, the display is consequently performed at substantially constant time intervals.
[0064] In step S800, the CPU sets 110 F NOW The CPU 110 then determines in step S801 whether the image data obtained from the development process performed on the image in the input motion picture data is represented by the variable F. NOWThe CPU 110 determines whether the image data specified by variable F is present in the development result memory region of RAM 130. If it is determined that the image data for the image specified by variable F is present in the development result memory region of RAM 130, CPU 110 moves the process to step S802; otherwise, CPU 110 moves the process to step S803.
[0065] In step S802, the CPU 110 reads the image data, which represents the result of the development process that is performed on the image specified by the variable F in the input moving image data, from the development result memory region of the RAM 130.
[0066] In step S803, the CPU 110 reads the data of the image specified by the variable F from the input motion image data. In step S803, the CPU 110 then executes the development process on the data of the image that was read. The development process is the same as that in step S704 of Fig. 7 was executed and is therefore not described here.
[0067] In step S805, the CPU 110 displays the image data of the development result read in step S802 or the image data in the preview area 220 that is obtained from the development result generated in step S804.
[0068] In step S806, CPU 110 adds 1 to the variable F. Then, in step S807, CPU 110 determines whether the variable F is less than or equal to F. END Is or is not. Is it determined that the variable F is less than or equal to F END If the condition is met, CPU 110 allows the process to return to step S801, and if not, CPU 110 terminates the playback process.
[0069] The Fig. 9A to 9C show illustrations of details of the GUI display configuration in Fig. 2 for a case where the developable display in step S601 of Fig. 6 and the development completion indicator in step S706 of Fig. 7 were only executed for the image quality parameters that are currently selected above the image quality setting section 250.
[0070] Fig. 9A shows a display example for a situation F NOW + F CAN ≤ F END In search bar section 240, a region corresponding to the developable area 905 (F) is found. NOW ~ F NOW + F CAN ) is displayed in light gray, and region 904, corresponding to the developed area, is displayed in dark gray.
[0071] Fig. 9C shows a display example for a situation F CAN ≥ F END - F START . A part 921 corresponding to the developable area, that is, the entire playback area, is displayed in light gray in the search bar section 240.
[0072] Fig. Figure 9B shows a display example for other situations. In the search bar section 240, there is a part 911 (F) corresponding to the developable area.START ~ F START + (F NOW + F CAN ) - F END ) and part 912 (F NOW ~ F END ) displayed in light grey.
[0073] During the playback process of step S410 in Fig. Step 4 can display a preview of the images for which development results are available, that is, those located within the developed area (dark gray), immediately after the images are read, and can therefore be played back smoothly. On the other hand, the development process from step S804 in Fig. 8 for the images for which the development results are not available, that is, in the areas indicated by a color other than dark gray, which causes a delay in display and leads to a significant drop in playback quality. If the development process in step S408 of Fig. As step 4 progresses, the light gray areas are progressively replaced by dark gray areas, and once these areas are completely replaced, the display no longer changes. This means that the search bar section indicates that only the dark gray area can be played back with high playback quality at the time the playback process starts, and that the light gray area can be played back with high playback quality after a certain waiting period.
[0074] Although the developable display and development completion display regions are described above as being represented by colors (light and dark gray), these regions can be represented by other methods. The configuration can also be designed to allow the user to toggle between showing and hiding the developable display. For example, a selection box GUI can be used to toggle between showing and hiding the developable display, a function can be implemented to show the developable display only when a specific key is pressed on the keyboard, or something similar.
[0075] The Fig. 10A to 10C show illustrations of details of the GUI display configuration in Fig. 2 for a case where the developable display in step S601 of Fig. 6 and the development completion indicator in step S706 of Fig. 7 for all image quality parameters that can be set via the image quality setting section 250.
[0076] Fig. Figure 10A shows a display example for a situation where all images in the playback range are outside the developable range for any one of the image quality parameters. In the search bar section 240, developable range 1001 is shown for when the image quality parameters are "high," developable range 1002 for when the image quality parameters are "medium," and developable ranges 1003 and 1004 for when the image quality parameters are "low," each in a different color. Icons have also been added to indicate the details of the image quality parameters corresponding to the respective endpoint positions. The icon for the image quality parameter currently selected by the image quality setting section 250 is displayed in a different color to distinguish it from the other icons.
[0077] The Fig. 10B and Fig. Figure 10C shows display examples for situations where all images in the playback area can be displayed with the image quality parameters "medium" and "low". Developable areas 1012 and 1022 for the image quality parameters "medium" and "low" are displayed in the search bar section 240 using the same color. Furthermore, displaying which image quality parameters allow the development of all images in the playback area helps the user select the appropriate image quality parameters. Fig. Figure 10B shows, for example, an example where, when the drop-down list of the image quality setting section 250, which represents an image quality setting menu, is expanded, the row containing the image quality parameters, where all images in the playback area can be played back, is highlighted using a different color than the other rows. Fig. Figure 10C illustrates an example where, when the drop-down list of the image quality setting section 250 is expanded, only the row containing the highest image quality parameters, at which all images in the playback range can be played back, is highlighted by adding a string ("recommended") indicating that these parameters are recommended. The recommended parameters are preferably those image quality parameters that allow all images in the playback range to be played back and exhibit the highest image quality. Alternatively, the highest parameters among the image quality parameters that allow all entered motion data to be played back can be used as the recommended parameters.
[0078] The customizable display for each image quality parameter can be implemented using a method other than changing the display color of the search bar section. For example, a configuration is possible where only the endpoint is indicated by a symbol, or where a different GUI is provided and displayed above or below the search bar section. Alternatively, the configuration can be such that, next to the search bar section for each image quality parameter, it is displayed whether the entire playback area can be developed or not, as indicated by reference numeral 1013 in Fig. 10B is specified. Furthermore, the configuration can be set to display whether all of the input motion data can be developed, instead of just the playback range. Whether the entire playback range can be developed can be displayed if the playback range is set, while whether the entire input image can be developed can be displayed if the playback range is not set. Additionally, the user can be informed of the recommended image quality parameters at which all frames in the input motion data can be played back by displaying the recommended parameters at the right end of the search bar section corresponding to the end portion of the motion data. Alternatively, the recommended image quality parameters can be displayed as a pop-up menu when the mouse hovers over a specific part of the search bar section, such as the right end.
[0079] The configuration can also be designed such that, of the image quality parameters not currently selected via image quality setting section 250, the developable display is only performed for some of the parameters. For example, a configuration is possible in which only the image quality parameters one level above or below those currently selected via image quality setting section 250 are displayed, or in which only the highest image quality parameters are displayed for which all images in the playback range can be reproduced.
[0080] Furthermore, a configuration can be applied in which the developable display, with respect to image quality parameters not currently selected via the image quality setting section 250, is only executed while the user performs a predetermined operation, or immediately after the user has performed the predetermined operation. For example, a function can be provided in which the developable display is only executed during, or for 5 seconds immediately after, operation of the image quality setting section 250, the search bar section 240, or the like.
[0081] According to this embodiment, development results are thus generated and stored for a number of frames in an input motion picture file, which can be stored in memory before playback starts. The reading and display of the development results are performed only at the time of playback, which allows for an improvement in playback quality for the areas for which the development results have already been generated. Furthermore, displaying the areas for which the development results have already been generated and can be generated allows the user to see the area that can be played back with high playback quality at the present time and the area that can be played back with high playback quality after a waiting period.Furthermore, displaying the ranges for which development results can be generated for the respective image quality parameters allows the user to see which image quality parameters should be selected to enable high-quality playback of the desired playback range. This eliminates the need for the user to repeatedly change the image quality parameters and confirm the playback range, and makes it possible to perform the intended playback after changing the image quality parameters only once. Second embodiment
[0082] The first embodiment described above describes an example of a PC that calculates and displays the developed area and developable areas for each image quality parameter. The present embodiment describes an example of a PC in which the user is informed, based on the available memory size, whether a specified playback area can be developed, and the user can then select whether or not to change the memory size. Furthermore, the first embodiment describes an example of a PC that develops the images following the playback position sequentially. However, the present second embodiment describes an example in which the area and the order of the images to be developed are changed in response to user input.
[0083] In the present second embodiment, the block diagram illustrating the PC configurations, the representation illustrating the configuration of the GUI of application 200, and the schematic representation illustrating the RAW motion image data stored in the recording medium 150 are the same as those described with reference to the first embodiment. Fig. 1 to 3, and are therefore not described.
[0084] The following describes moving image playback processes according to the present second embodiment with reference to the Fig. Described in sections 11 to 16.
[0085] Fig. Figure 11 shows a flowchart of a processing sequence that is carried out by the application 200 in the Fig. 3 illustrated RAW motion picture data 300 is executed when a RAW motion picture is played back.
[0086] Steps S1100 and S1101 can be processed using the same method as steps S400 and S401 in Fig. 4 are executed and are therefore not described.
[0087] In step S1102, the CPU 110 determines whether the user has changed the playback position symbol 243, whether the playback range (the position of the playback start symbol 241 or the playback end position symbol 242) has been changed, or whether playback has been paused by pressing the play / stop button. If it is determined that one of these operations has been performed, the CPU 110 moves the process to step S1105; if it is determined that none of these operations have been performed, the CPU 110 moves the process to step S1103.
[0088] Steps S1103 and S1104 can be processed using the same methods as steps S403 and S404 in Fig. 4. These steps are carried out and are therefore not described here.
[0089] In step S1105, the CPU 110 performs a Required Memory Size notification process (which is described in more detail below).
[0090] Steps S1106 to S1111 can be processed using the same method as steps S406 to S411 in Fig. 4. These steps are carried out and are therefore not described here.
[0091] The one in step S1105 of Fig. The 11th executed Required Memory Size notification process is described next with reference to the flowchart in Fig. 12 described.
[0092] In step S1200, CPU 110 executes the developable frame count calculation process. This process is the same as the one described in relation to... Fig. 5 described, and is therefore not described here. The number of images that can be developed, calculated for the image quality parameters currently selected via the image quality setting section 250, is determined by F CAN depicted.
[0093] In step S1201, the CPU 110 compares a number of images F. NEED for the playback area located between the playback start position symbol 241 and the playback end position symbol 242 in the playback area, with F CAN It is determined that F NEED greater than F CAN If the CPU 110 moves the process to step S1202, then, if it is determined that F NEED less than or equal to F CAN CPU 110 terminated the process.
[0094] In step S1202, the CPU 110 calculates a required memory size M. NEEDvia the following equation. Here, the variable N represents the output size of the development result for a single frame image with the image quality parameters currently selected via the image quality setting section 250. MNEED = N×FNEED
[0095] In step S1203, the CPU 110 communicates (displays) the required memory size a and is ready for user operation. The display procedure is described in more detail below.
[0096] In step S1204, CPU 110 determines whether a user has executed a memory resizing instruction. If it is determined that the user has executed a memory resizing instruction, CPU 110 moves the process to step S1205; otherwise, CPU 110 terminates the process.
[0097] In step S1205, the CPU 110 changes the memory size to the value specified by the user in step S1203. Then, in step S1206, the CPU 110 performs the developable frame count calculation process and calculates F CAN anew.
[0098] The Fig. 13A and Fig. Figure 13B shows illustrations of an example of details of the display in a situation where the Required Memory Size message appears in step S1203 in Fig. 12 was executed. Fig. Figure 13A shows a display example for a situation where the required memory size M NEED less than or equal to an upper limit for the value that can be set. The memory size currently set via memory size setting section 251 and the required memory size M NEEDThe screen displays three buttons that the user can press. The messages written on the buttons read, for example, as follows. • “Change settings” • “Change only this clip” • "no"
[0099] Application 200 works in the following way when these buttons are pressed.
[0100] If the "Change settings" button is pressed, the CPU 110 changes the memory size set via the memory size setting section 251 to M NEED If the "change only this clip" button is pressed, the CPU 110 temporarily changes the memory size to M NEED, and then resets the memory size to its original value if the entered motion data is changed or the application is restarted. If the "no" button is pressed, the CPU 110 does not change the memory size set via memory size setting section 251.
[0101] Fig. 13B shows a display example for a situation where the required memory size M NEED The adjustable upper limit for the value is exceeded. The memory size set via memory size setting section 251, the required memory size M NEED and an upper limit M MAX The available storage size is displayed, along with three buttons that the user can press. The messages written on the buttons are, for example, as follows. • “Change settings” • “Change only this clip” • "no"
[0102] When these buttons are pressed, application 200 works in the following way.
[0103] If the "Change settings" button is pressed, the CPU 110 changes the memory size set via the memory size setting section 251 to M MAX If the "change only this clip" button is pressed, the CPU 110 temporarily changes the memory size to M MAX and then resets the memory size to its original value if the entered motion data is changed or the application is restarted. If the "no" button is pressed, the CPU 110 does not change the memory size set via memory size setting section 251.
[0104] The developable area determination process in step S1106 of Fig. 11 is the same as the one referring to Fig. Section 6 is described and therefore will not be described here. However, in the present embodiment, the developable area is found in step S601 as follows.
[0105] If the playback start position symbol 241 or the end position symbol 242 for the playback area has not been definitively set, the development process for a number of images equivalent to F MARGIN The development process is executed before playback position symbol 243 and the images following playback position symbol 243. That is, the area where the development process is executed is found as F NOW - F MARGIN ~ F NOW + (F CAN -F MARGIN ).
[0106] Once both the playback start position symbol 241 and the playback end position symbol 242 of the playback area have been definitively set, the development process for the number of images is equivalent to F MARGINThe development process is executed after playback start position symbol 241 and the images following playback position symbol 243. That is, the area where the development process is executed is found as... FSTART~FSTART+FMARGIN and FNOW~FNOW+(FCAN−FMARGIN). Parts for which the endpoint lies outside the playback area are, as in the first embodiment, designated as F START assigned to the following images.
[0107] In the present second embodiment, F represents MARGIN This represents the number of frames present in 3 seconds of the entered video data. Allergens can F MARGIN as a constant ratio to F CAN can be set, or can be determined based on the number of frames that make up the entered video data. The configuration can also be designed such that F MARGINaccording to the position of the mouse pointer or the like. For example, a case is considered where, if both the playback start position symbol 241 and the playback end position symbol 242 of the playback area are definitively set, the images following the playback position symbol 243 become more numerous (F MARGIN (reduced), when the mouse pointer is over the play start button, and the images following the play start position icon 241 become more numerous (F MARGIN (increased) when the mouse pointer is over the jump button to jump to the playback start position.
[0108] In the present second embodiment, the method for determining whether the playback start position symbol 241 and the playback end position symbol 242 of the playback area are permanently set is as follows. It is assumed that the default positions of the playback start position symbol 241 and the playback end position symbol 242 are set to the first and last frames of the entered motion data, respectively, immediately after the input motion data is selected. The playback start position symbol 241 and the playback end position symbol 242 are determined to be permanently set when a set time interval has elapsed after the user has set both of these symbols to a frame located at a position other than the default position. Of course, an alternative determination method can also be used.
[0109] By defining the area for the development process as described here, effects such as those described below can be achieved. If neither the playback start position symbol 241 nor the playback end position symbol 242 is definitively set, the user can perform an operation to search for a suitable image while repeatedly moving the playback position symbol 243 and starting playback within a narrow range on the search bar segment 240. When such an operation is performed, generating development results for areas before and after the playback position symbol 243 allows a preview to be displayed immediately after the user operation.After the playback start position symbol 241 and the playback end position symbol 242 have been definitively set, it is conceivable that the user starts playback from the playback position symbol 243, or starts playback after a jump to the playback start position symbol 241 and then confirms the entered motion picture data, which is why the same effects can be obtained by generating the development results for immediately after these two positions.
[0110] The development process in step S1108 in Fig. 11 will be addressed next, with reference to the flowchart in the Fig. 14A and Fig. 14B described. In the development process, the images are developed within the developable area determined by the developable area determination process, with respect to the image quality parameters currently selected via the image quality setting section 250. If the playback start position symbol 241 and the playback end position symbol 242 are definitively set, the images before and after the playback position symbol 243 are developed alternately; if the symbols are not definitively set, the images after the playback position symbol 243 and after the playback start position symbol 241 are developed alternately.
[0111] Steps S1400 to S1409 are the same processes as steps S700 to S709 in Fig. 7, and are therefore not described; the description begins from step S1410.
[0112] In step S1410, CPU 110 determines whether the playback range (the playback start position symbol 241 and the playback end position symbol 242) is definitively set. If it is determined that the playback range is not definitively set, CPU 110 moves the process to S1411; if it is determined that the playback range is definitively set, CPU 110 moves the process to step S1419.
[0113] In step S1411, the CPU sets 110 F NOW -1 is entered into a variable F'. In step S1412, the CPU 110 then compares the variable F' with F NOW - F MARGIN It is determined that the variable F' is less than F NOW - F MARGIN If the condition is met, CPU 110 moves the process to step S1427, and if not, CPU 110 moves the process to step S1413.
[0114] In step S1413, the CPU 110 determines whether the image data corresponding to the development result for the F'te image in the input moving image data is present in the development result memory region of the RAM 130 or not.
[0115] If it is determined that the image data for the development result of the F'th frame is present in the development result memory region of RAM 130, CPU 110 moves the process to step S1418, and if not, CPU 110 moves the process to step S1414.
[0116] In step S1414, CPU 110 reads the data of the F'th frame from the input motion data. In step S1415, CPU 110 then performs the development process on the data read in step S1414 and generates the F'th image data. This development process is the same as in step S1404 and is therefore not described here. In step S1416, CPU 110 stores the image data of the development result in the development result memory region of RAM 130. In step S1417, CPU 110 sets a development completion indicator for the F'th frame in the input motion data to "on". The indicator procedure is described in more detail below. In step S1418, CPU 110 subtracts 1 from the variable F'.
[0117] In step S1419, the CPU sets 110 F START into the variable F'. In step S1420, the CPU 110 then compares the variable F' with F. START + F MARGIN It is determined that the variable F' is greater than F START+ F MARGIN If the condition is met, CPU 110 moves the process to step S1427, and if not, CPU 110 moves the process to step S1421.
[0118] In step S1421, CPU 110 determines whether the image data corresponding to the development result for the Fth image in the input motion data is present in the development result memory region of RAM 130. If it is determined that the image data for the Fth image is present in the development result memory region of RAM 130, CPU 110 moves the process to step S1426; if not, CPU 110 moves the process to step S1422.
[0119] Steps S1422 to S1425 represent the same processing as in steps S1414 to S1417, and are therefore not described.
[0120] In step S1426, the CPU adds 110 1 to the variable F'.
[0121] Step S1427 represents the same determination process as step S710 in Fig. 7 and is therefore not described.
[0122] When the position of the playback position symbol 243 is changed, the development process is executed on the undeveloped image that is closest to the position indicated by playback position symbol 243 after the change, and the image data of the images not yet played back remains stored in the development result memory region. Thus, when the user changes the position of playback position symbol 243, the probability that this position represents a developed image steadily increases, and therefore smooth playback can be expected when a playback instruction is received.
[0123] Although the present second embodiment describes developing the images alternately at two locations with one image per unit of time, the development sequence can instead be determined by another method. For example, it is conceivable to develop several images that follow the playback position symbol 243 when the mouse pointer is over the playback start button, to develop several images that follow the playback start position symbol 241 when the mouse pointer is over the jump button for jumping to the playback start position, or the like.
[0124] Next, the playback process from step S1110 will be shown in Fig. 11 with reference to the flowchart in Fig. 15 described. In the present second embodiment, an example is described in which, when an attempt is made to reproduce an image for which no development result exists, the development process is carried out collectively on a large number of images; as a result, the preview display is suspended, and the preview for that area is then displayed smoothly thereafter, with these operations being repeated.
[0125] Steps S1500 to S1502 are the same processes as steps S800 to S802 in Fig. 8 and are therefore not described here.
[0126] In step S1503, the CPU releases 100 memory spaces below the existing development result stored in RAM 130 by updating the development results for the images before F - F MARGIN deletes.
[0127] In step S1504, the CPU assigns 110 F to the variable F'.
[0128] Steps S1505 to S1509 are the same as steps S1421 to S1424 and S1426 in the Fig. 14A and Fig. 14B and are therefore not described.
[0129] In step S1510, the CPU 110 compares the variable F' with F + F MARGIN It is determined that the variable F' is greater than F + F MARGIN If the condition is met, CPU 110 moves the process to step S1501, and if not, CPU 110 moves the process to step S1505.
[0130] Steps S1511 to S1513 are the same as steps S805 to S807 in Fig. 8 and are therefore not described.
[0131] The Fig. Figures 16A to 16B show illustrations of details of the GUI display configuration in Fig. 2 for a case in which the developable display in step S601 of Fig. 6 and the development completion indicator in steps S1406, S1417 and S1425 of the Fig. 14A and Fig. 14B has only been executed for the image quality parameters that are currently selected via the image quality setting section 250.
[0132] Fig. Figure 16A shows a display example for a situation in which neither the playback start position symbol 241 nor the playback end position symbol 242 is definitively set. In the search bar section 240, part 1601 (F NOW ~ F NOW + (F CAN - F MARGIN )) and part 1612 (F NOW - F MARGIN ~ F NOW Parts corresponding to the developable area are shown in light gray, and parts 1603 and 1604 corresponding to the developed area are shown in dark gray. Part 1603 then extends backward, and part 1604 extends forward, and after coinciding with part 1602, part 1604 extends backward until only part 1603 coincides with part 1601.
[0133] Fig. Figure 16B shows a display example for a situation in which the playback start position symbol 241 and the playback end position symbol 242 are permanently set. In the search bar section 240, part 1611 (F NOW ~ F NOW + (F CAN - F MARGIN )) and part 1612 (F START ~ F START + F MARGIN Parts corresponding to the developable area are shown in light gray, and parts 1613 and 1614 corresponding to the developed area are shown in dark gray. Afterward, parts 1613 and 1614 both extend backward, and after coinciding with part 1612, part 1614 extends backward until only part 1613 coincides with part 1611.
[0134] According to the second embodiment described so far, notifying the user of the required memory size and prompting them to decide whether or not to change the settings at that time allows the user to quickly adjust the memory size to play back their desired playback range with high playback quality. This eliminates the need for the user to repeatedly change the memory size and confirm the playback range, enabling the intended playback to be executed with only a single memory size change. The preferred execution of the development process based on the state of user interactions at a range that the user is most likely to display next allows the display to be executed immediately after the user interaction. Third example
[0135] In the preceding first embodiment, an example of a PC was described that calculates and displays the developed area and the developable area for each of the image quality parameters. The second embodiment described an example of a PC that communicates, based on the usable memory size, whether a specified playback area can be developed, and the user can then select whether or not to change the memory size. The present third embodiment describes an example of a PC in which both the image quality parameters and the memory size can be changed simultaneously. The first embodiment also described an example of the PC in which the development process is not performed during the playback process.This embodiment describes an example of a PC where the development process itself is executed during the playback process. This embodiment also describes an example of a PC where the required memory size is displayed during user operations to determine the playback range.
[0136] In the present third embodiment, the block diagram illustrating the configuration of the PC, the representation showing the configuration of the GUI of application 200, and the schematic representation illustrating the RAW motion image data stored in the recording medium 150 are each the same as those described with regard to the first embodiment. Fig. 1 to 3, and are therefore not described here. However, in the present third embodiment, it is assumed that the method for determining the playback start position symbol 241 and the playback end position symbol 242 involves a drag-and-drop operation on the search bar section 240. Display examples of the GUI during this operation are described later.
[0137] Next, moving image playback processes will be described in accordance with the present third embodiment, with reference to the Fig. Described in sections 17 to 19B.
[0138] It is assumed that the flowchart illustrating the operations of application 200 during RAW motion picture playback is the same as that described in the second embodiment. Fig. 11 is, and is therefore not described here. However, it is assumed that the development process in step S1109 of Fig. Step 11 is not suspended. If the PC has a sufficiently high processing speed, the development process started in step S1108 will continue even during the playback process of step S1110, allowing the generation of development results for more images before the preview display. However, it is assumed that if there is no space in the development result memory region when the development process is running during the playback process, the development results will be deleted sequentially, starting with those that were displayed when the playback process was started.
[0139] The one in step S1105 of Fig. The 11th executed Required Memory Size notification process is described next with reference to the flowchart in Fig. 17 described.
[0140] Steps S1700 to 1701 are the same processes as steps S1200 to S1201 in Fig. 12 and are therefore not described.
[0141] In step S1702, the CPU calculates 110 required memory sizes M H , M M , and M L for all the image quality parameters that are available via the Image quality setting section 250 can be adjusted according to the following equations. The output sizes of the development results for each of the image quality parameters are each given by N. H , N M , and N L Bytes represented. MH=NH×FNEED MM=NM×FNEED ML=NL×FNEED
[0142] In step S1703, the CPU 110 displays a "Required Memory Size" message and is ready for user operation. The display procedure will be described in more detail later.
[0143] In step S1704, CPU 110 determines whether the user has performed an operation to change the image quality parameters for the memory size with respect to the display performed in step S1703. If it is determined that the user has performed one of these operations, CPU 110 moves the process to step S1705. If it is determined that the user has not performed any of these operations, CPU 110 terminates the Required Memory Size Notification process.
[0144] In step S1705, the CPU 110 changes the image quality parameters or the memory size to the value specified by the user in step S1703. In step S1706, the CPU 110 then performs the developable image count calculation process.
[0145] The developable image count calculation process, which is described in steps S1700 and S1706 of Fig. The one executed in 17 is the same as the one executed with reference to Fig. The third embodiment described in section 5 is therefore not described here. However, in the present third embodiment, the number of developable images F is... CAN calculated according to the following equation. FCAN=FLOOR(M / N)+FWILL
[0146] Here is F WILL The number of images for which the development process can be performed while a number of images equal to FLOOR(M / N) is displayed. It is assumed that F WILL calculated by estimating the capacities of the CPU (110), the GPU (120), and so on. It is noted that F WILL based on the execution speed of the first run of the development process, which is executed 200 after the application is started.
[0147] Fig. Figure 18 shows a representation of details of the display configuration in a situation where the Required Memory Size message appears in step S1703 of Fig. 17 was executed.
[0148] The currently selected image quality parameters (section 250), the memory size set (section 251), and the upper limit for the memory size are displayed. Furthermore, the required memory size for each image quality parameter is shown in a drop-down list GUI, and the user can select one of these sizes. Image quality parameter rows that exceed the upper limit for the required memory size are grayed out in the drop-down list. As in Fig. In step 13, three buttons are also displayed. The messages displayed for these buttons are the same as in Fig. 13, that is, “Change settings”, “Change only this clip”, and “No”. The application 200 works in the following way when these buttons are pressed. • If the “Change settings” button is pressed, the CPU 110 changes the image quality parameters and the memory size to those selected via the drop-down list. • When the “change this clip only” button is pressed, the CPU 110 temporarily changes the image quality parameters and memory size to those selected via the drop-down list, and then restores the original values when the input motion data is changed. • If the “no” button is pressed, the CPU 110 will not change the memory size.
[0149] It is noted that the configuration may be designed such that the image quality parameters that exceed the upper limit that can be set for the required memory size are not grayed out in the drop-down list and can be selected, with a warning indicating that the upper limit adjustable for the memory size will be set if the user selects these image quality parameters.
[0150] The developable area determination process in step S1106 of Fig. 11, the development process in step S1108 of Fig. 11 and the playback process in step S1110 of Fig. 11 are the same as those in the Fig. 6, Fig. 7 and Fig. 8 and are therefore not described here.
[0151] A method for determining the playback start position symbol 241 and the playback end position symbol 242 via drag-and-drop operations performed on the search bar section 240 is described with reference to the Fig. 19A and Fig. 19B described.
[0152] When the user drags the mouse along the search bar section 240, the drag start position is displayed as a temporary playback start position icon 1901. The memory size required when the mouse pointer position is used as the temporary playback end position is calculated in real time during the drag operation, and the calculated memory size is displayed in an edit note 1902 above the mouse pointer. When the drag operation ends, the start and end positions of the drag operation are set as the playback start position icon 241 and the playback end position icon 242, respectively.
[0153] Fig. Figure 19A shows an example of a situation where the required memory size calculated during the pull operation is less than or equal to an upper limit for the value that can be set for the memory size.
[0154] Fig. Figure 19B shows a display example for a situation where the required memory size calculated during the pull operation exceeds the upper limit for the memory size that can be set. To inform the user that the calculated memory size at this point exceeds the upper limit, the CPU 110 displays the illustrated edit note 1912, which contains the calculated memory size. At this point, the CPU 110 changes the display format of edit note 1912 (in this embodiment, the display color) to make edit note 1912 more prominent than edit note 1902.
[0155] According to the present third embodiment, the user is informed of the memory sizes required for all selectable image quality parameters and is simultaneously asked whether or not to change the settings. This allows the user to quickly configure a combination of image quality parameters and memory size to reproduce a desired playback range with high playback quality. This eliminates the need for the user to repeatedly change the image quality parameters and memory size and confirm the playback range, enabling the intended playback to be performed with only a single configuration of the settings. The parallel execution of the playback process within the development process allows for the development of more images immediately before playback.The required memory size is also displayed in real time during user operation to determine the playback range, enabling the user to adjust the playback range while being mindful of memory usage.
[0156] Although preferred embodiments of the present invention have been described above, the present invention is not intended to be limited to these specific embodiments, and all variations that do not deviate from the basic idea are to be included within the scope of protection of the present invention. Some of the embodiments described above may be combined as necessary.
[0157] The object of the present invention can also be achieved by carrying out the following processing.
[0158] First, a storage medium (or recording medium) on which software program code for implementing the functions of the embodiments described above is recorded is supplied to a system or device. A computer (or a CPU, MPU, or the like) in this system or device then reads and executes the program code stored on the recording medium. In this case, the program code read from the storage medium itself implements the functionality of the embodiments described above, and the storage medium on which the program code is stored constitutes the present invention.
[0159] The computer executing the extracted program code not only implements the functions of the embodiments described above, but can also achieve the following: Based on instructions and the extracted program code, an operating system (OS or similar) running on the computer performs some or all of the actual processing operations, and the functions of the embodiments described above are realized through this processing. Examples of storage media for this program code include a hard drive, ROM, RAM, non-volatile memory, CD-ROM, CD-R, DVD, optical disc, magneto-optical disc, MO, and the like. A computer network, such as a local area network (LAN) or a wide area network (WAN), can also be used to supply the program code. Further examples of implementation
[0160] An embodiment (embodiments) of the present invention may (may) also be implemented by a computer of a system or device which reads and executes computer-executable instructions (for example, one or more programs) recorded on a storage medium (which may also be more fully referred to as a "non-volatile computer-readable storage medium") for carrying out the functions of one or more of the embodiments described above, and / or which contains one or more circuits (for example, an application-specific integrated circuit (ASIC)) for carrying out one or more of the embodiments described above.and are realized by a method carried out by the computer of the system or device, for example, by reading and executing the computer-executable instructions from the storage medium to perform the functions of one or more of the embodiments described above and / or by controlling one or more circuits to perform the functions of one or more of the embodiments described above. The computer may comprise one or more processors (for example, a central processing unit (CPU), microprocessing unit (MPU)) and may include a network of separate computers or separate processors for reading and executing the computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, by a network or the storage medium. The storage medium may, for example, be a hard disk, random access memory (RAM),a read-only memory (ROM), distributed computing system memory, an optical disc (such as a compact disc (CD), digital versatile disc (DVD) or Blu-ray Disc (BD)™), a flash memory device, a memory card or the like.
[0161] Although the present invention has been described with reference to exemplary embodiments, it is evident that the invention is not limited to the disclosed embodiments. The scope of protection of the following patent claims is to be interpreted in the broadest possible way to encompass all such modifications and equivalent structures and functions.
[0162] The invention provides a device that performs a playback process on a RAW moving image, wherein the device comprises an image processing unit for generating a processed moving image by performing image processing including a development process on the RAW moving image, a memory for storing the processed moving image, and a display control unit for performing a control such that a bar corresponding to the length of a time axis of the RAW moving image is displayed, wherein the display control unit displays a processable area, which is an area for which the moving image of the RAW moving image subjected to image processing by the image processing unit can be temporarily stored in the memory, together with the bar, before the image processing of the RAW moving image ends in the processable area.
Claims
[1] Information processing device (100) for performing a playback process on a RAW moving image with an image processing device (110, 120) for producing a processed moving image by performing image processing on the RAW moving image, which includes a development process, a memory (130) for storing the processed moving image generated by the image processing device and a display control device (110, 120) for performing a control such that a bar (240) corresponding to the length of a time axis of the RAW moving image is displayed on a display unit (170), wherein the display control unit is set up together with the bar to display a processable area (245), which is an area for which the RAW moving image subjected to image processing by the image processing device can be stored in the memory (130), before the image processing of the RAW moving image ends in this processable area. [2] Device (100) according to claim 1, wherein the display control device (110, 120) for displaying the processable area (245) and a processed area (244) of the RAW moving image, in which the image processing has already been carried out by the image processing device (110, 120), is arranged together with the bar (240). [3] Device (100) according to claim 1 or 2, wherein the display control device (110, 120) is configured to perform control such that a moving image, which is reproduced based on the processed moving image data stored in the memory (130), is displayed on the display unit (170). [4] Device (100) according to one of the preceding claims, wherein the display control device (110, 120) is configured to perform a control such that the processable area (245) is displayed in the bar (240). [5] Device (100) according to claim 4, wherein the display control device (110, 120) is configured to perform a control such that the processable area (245) is displayed by means of different colors in the bar (240) in order to make the processable area distinguishable. [6] Device (100) according to one of the preceding claims, wherein the display control device (110, 120) is configured to determine the processable area (245) according to an output size of processed moving image data generated by the image processing device (110, 120) and a storage size in the memory (130). [7] Device (100) according to claim 6, further comprising a determination device (110, 120) for calculating a number of images that can be stored in the memory (130) based on the output size of the processed moving image data and the storage size in the memory and determining a processable area (245) based on the calculated number of images, wherein the display control device (110, 120) is configured to perform a control such that the processable area determined by the determination device is displayed together with the bar (240). [8] Device (100) according to one of the preceding claims, further comprising an image quality adjustment device (250) for adjusting an image quality level during the image processing performed by the image processing device (110, 120). [9] Device (100) according to claim 8, wherein, in response to the image quality level settings being changed by the image quality setting device (250), the image processing device (110, 120) is configured to start image processing based on the image quality level after the change, and the display control device (110, 120) is configured to display a processable area (245) corresponding to the image quality level after the change. [10] Device (100) according to claim 8 or 9, wherein the display control device (110, 120) is configured to perform a control such that the image quality level set by the image quality setting device (250) and a processable area (245) determined according to the memory size in the memory (130) are displayed. [11] Device (100) according to claim 10, wherein the display control device (110, 120) is configured to display the processable area (245) corresponding to the image quality level set by the image quality setting device (250) in the bar (240) and to display information indicating a processable area that occurs when the image quality level has been changed to another image quality level that can be set by the image quality setting device (250). [12] Device (100) according to one of claims 8 to 11, wherein the display control device (110, 120) is configured to perform a control such that a processable area corresponding to an image quality level is displayed for each of a plurality of image quality levels which can be set by the image quality setting device (250). [13] Device (100) according to one of claims 8 to 12, further comprising a playback range setting device (241, 242) for setting a playback range in the moving image data, wherein the image quality setting device (250) is configured to display an image quality menu for a user to set an image quality level from a plurality of image quality levels on the display device (270), and when it displays the image quality menu, to display an image quality level in which the entire playback range set by the playback range setting device is included in the processable range (245), and an image quality level in which the playback range set by the playback range setting device is not included in the processable range, so that they are distinguishable from each other. [14] Device (100) according to claim 13, wherein, when displaying the image quality menu, the image quality setting device (270) also displays a memory size required to ensure that the playback range set by the playback range setting device (241, 242) is contained within the processable range (245) for each of the plurality of image quality levels. [15] Device (100) according to one of the preceding claims, further comprising a memory size setting device (251) for setting a memory size of the memory (130), wherein the display control device (110, 120) is configured to perform a control such that a processable area (245) is displayed which is determined according to the memory size set by the memory size setting device. [16] Device (100) according to claim 15, wherein, in response to the fact that the settings for the memory size have been changed by the memory size setting device (251), the image processing device (110, 120) starts the image processing based on the memory size after the change and the display control device (110, 120) performs a control such that a processable area (245) corresponding to the memory size after the change is displayed. [17] Device (100) according to one of the preceding claims, further comprising a playback position setting device (243) for setting a playback position in the moving image, wherein, in response to the fact that the playback position setting has been changed by the playback position setting device, the image processing device (110, 120) starts the image processing from undeveloped moving image data corresponding to the playback position after the change, and the display control device (110, 120) performs a control such that a processable area (245) containing the playback position after the change is displayed. [18] Information processing method for performing a playback process on a RAW moving image, with Creating a processed moving image by performing image processing on the RAW moving image, which includes a development process, Storing the processed moving image in a memory (130) and executing a control such that a bar (240) corresponding to the length of a time axis of the RAW moving image is displayed, Display of a processable area (245), which is an area for which the RAW motion image undergoing image processing can be stored in memory (130), together with the bar (240), before the image processing of the RAW motion image in this processable area (245) ends. [19] Program which, when implemented by an image processing device, causes the image processing device to perform a method according to claim 18. [20] Computer-readable medium that stores a program according to claim 19.