Image decoding apparatus and still picture decoding method thereof
By disabling reference buffer writing during still frame operations and keeping the reference frame unchanged, the image data can be repeatedly decoded using it, thus solving the image distortion problem and achieving high-resolution still frame display.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XINGCHEN MICROELECTRONICS (SHENZHEN) CO LTD
- Filing Date
- 2023-02-06
- Publication Date
- 2026-04-14
AI Technical Summary
In multi-channel video applications, after receiving a freeze command, the image decoding device loses the reference frame due to the decoder updating its internal buffer, resulting in distorted and unclear still images.
By disabling writing to the reference buffer under the still frame command, keeping the reference frame unchanged, and repeatedly decoding the frames of specific video data using the reference frame, the resolution of the output still image is ensured to be no lower than the original resolution.
It achieves image sharpness preservation during still frame operations, avoids image distortion caused by buffer updates, and provides clearer still frame images.
Smart Images

Figure CN116170597B_ABST
Abstract
Description
Technical Field
[0001] This case relates to an image decoding apparatus, and more particularly to an image decoding apparatus with a still frame function and its still frame image decoding method. Background Technology
[0002] In multi-channel video applications, image decoding devices can pause video playback and provide users with a single still image of a specific channel. In some related technologies, because the decoder continuously updates its internal buffer and loses the original reference frame, it can only use scaled or cropped frame data to generate the single still image after receiving a still frame command. This results in a distorted and less clear image. Summary of the Invention
[0003] In some embodiments of this application, one of the objectives of this application is to provide an image decoding apparatus and a still image decoding method with still frame functionality to improve upon the shortcomings of prior art.
[0004] In some embodiments, the still image decoding method includes the following operations: decoding a first frame from a first set of a plurality of video data based on a reference frame at a reference location in a memory, and storing the first frame at the reference location to cover at least a portion of the reference frame; selecting the first video data from the video data in response to a still command and decoding a second frame from the first video data based on the first frame at the reference location; adjusting the second frame and storing the adjusted second frame at an output location in the memory; maintaining the first frame at the reference location in response to the still command to decode the second frame again based on the first frame at the reference location; and decoding the second frame again based on the first frame at the reference location in response to an end command to store the second frame at the reference location to cover at least a portion of the first frame:
[0005] In some embodiments, the image decoding apparatus includes a video receiving module, an image adjustment module, and a decoder. The video receiving module receives a plurality of video data corresponding to different channels. The decoder is configured to: decode a first frame of a first video data set from a plurality of video data sets based on a reference frame at a reference location in a memory, and store the first frame at the reference location to cover at least a portion of the reference frame; select the first video data set from the video data set in response to a freeze command and decode a second frame of the first video data set based on the first frame at the reference location, wherein the image adjustment module adjusts the second frame and stores the adjusted second frame at an output location in the memory; retain the first frame at the reference location in response to the freeze command to decode the second frame again based on the first frame at the reference location; and decode the second frame again based on the first frame at the reference location in response to an end command to store the second frame at the reference location to cover at least a portion of the first frame.
[0006] Regarding the features, implementation, and effects of this case, the preferred embodiments are described in detail below with reference to the drawings. Attached Figure Description
[0007] [ Figure 1 [A schematic diagram of an image decoding device is provided based on some embodiments of this case;]
[0008] [ Figure 2 [A flowchart of the operation in response to a still frame command is drawn according to some embodiments of this case;]
[0009] [ Figure 3A [Drawn according to some embodiments of this case] Figure 1 A flowchart of the decoder performing a freeze frame operation;
[0010] [ Figure 3B [Drawn according to some embodiments of this case] Figure 1 The timing diagram of the decoder performing image decoding in the image; and
[0011] [ Figure 4 The flowchart of a still image decoding method is drawn according to some embodiments of this case. Detailed Implementation
[0012] All terms used herein have their common meanings. The definitions of the above terms in commonly used dictionaries, and any examples of the use of any term discussed herein, are merely illustrative and should not be construed as limiting the scope or meaning of this document. Similarly, this document is not limited to the various embodiments shown in this specification.
[0013] As used herein, "coupling" or "connection" can refer to two or more components making direct physical or electrical contact with each other, or indirectly making direct physical or electrical contact with each other, or to two or more components operating or moving together. As used herein, the term "circuit" can refer to a device consisting of at least one transistor and / or at least one active or passive component connected in a certain manner to process signals.
[0014] Figure 1 A schematic diagram of an image decoding apparatus 100 is provided according to some embodiments of this invention. In some embodiments, the image decoding apparatus 100 has a static frame function. In some embodiments, the image decoding apparatus 100 may execute the static frame function in response to a static frame command, which allows the image decoding apparatus 100 to pause the original decoding operation and generate a specific still image with a clear resolution for the user to view.
[0015] The image decoding device 100 includes a video receiving module 110, a decoder 120, an image adjustment module 130, and a display interface 140. The video receiving module 110 can receive multiple video data D[1] to D[n] via different channels, where n can be a positive integer greater than or equal to 1. In some embodiments, the video receiving module 110 may include multiple data transmission interfaces, each corresponding to a different channel to receive multiple video data D[1] to D[n]. The video receiving module 110 can store the received multiple video data D[1] to D[n] in a memory 100A. In some embodiments, the multiple video data D[1] to D[n] can be, but is not limited to, a data stream. In some embodiments, the memory 100A can be, but is not limited to, dynamic random access memory.
[0016] Decoder 120 can obtain multiple video data D[1] to D[n] from memory 100A and decode the frame of each of the multiple video data D[1] to D[n]. In some embodiments, memory 100A includes a reference buffer 101A and an output buffer 102A. In some embodiments, reference buffer 101A may be a storage space in memory 100A located at a reference location (which may correspond to one or more memory addresses), which may store reference frames used for image decoding. In some embodiments, output buffer 102A may be a storage space in memory 100A located at an output location (which may correspond to one or more memory addresses and is different from the reference location), which may store decoded frames waiting to be displayed. Taking video data D[1] as an example, video data D[1] may sequentially include a first frame, a second frame, a third frame, and so on. Decoder 120 can decode the first image frame using intra-frame coding and store the decoded first image frame in reference buffer 101A. Image adjustment module 130 can adjust the decoded first image frame and store the adjusted first image frame in output buffer 102A. Thus, display interface 140 can output the first image frame waiting to be displayed in output buffer 102A to a screen so that the screen can display the corresponding image content. In some embodiments, decoder 120 may include image codec circuitry, and image adjustment module 130 may include image scaling circuitry, image cropping circuitry, image stitching circuitry, etc.
[0017] On the other hand, the reference frame in reference buffer 101A is the first frame. Next, decoder 120 can use inter-frame coding to decode the second frame based on the first frame in reference buffer 101A, and store the decoded second frame in reference buffer 101A and output it to image adjustment module 130. Image adjustment module 130 adjusts the decoded second frame to a second frame awaiting display, and stores it in output buffer 102A. Thus, display interface 140 can output the second frame awaiting display in output buffer 102A to the screen to display the corresponding image content, and decoder 120 can decode the third frame based on the second frame in reference buffer 101A. And so on, the related operations of decoder 120 should be understood. In some embodiments, inter-frame coding is based on the correlation between multiple consecutive frames for data compression, and video encoding data processing is performed with reference to previous frames (i.e., the reference frame in reference buffer 101A). In some embodiments, the decoder 120 may also store the decoded second frame in the output buffer 102A, and the image adjustment module 130 may read the second frame from the output buffer 102A and adjust the second frame to make it a frame waiting to be displayed, and finally store the second frame waiting to be displayed in the output buffer 102A.
[0018] In some embodiments, the image adjustment module 130 can adjust the image frames (such as the aforementioned first image frame, second image frame, etc.) decoded by the decoder 120 according to a default instruction (e.g., a combined display instruction for multiple video images), and store the adjusted image frames in the output buffer 102A. For example, the decoder 120 can output the decoded image frames to the image adjustment module 130 (or store the decoded image frames in the output buffer 102A, so that the image adjustment module 130 can read the decoded image frames from the output buffer 102A), and the image adjustment module 130 can adjust the received image frames according to the default instruction (e.g., image processing such as reduction or cropping) to generate an image frame to be displayed, and store the image frame to be displayed in the output buffer 102A. In some embodiments, the image adjustment module 130 can also adjust the image frames stored in the output buffer 102A according to user commands. For example, in response to a user's zoom command, the image adjustment module 130 can enlarge (or reduce) the image content of a specific frame and output the adjusted image content to the screen via the display interface 140. Alternatively, in response to a user's cropping command, the image adjustment module 130 can crop the image content of a specific frame and output the cropped image content to the screen via the display interface 140. In some embodiments, the user can input the aforementioned commands via a user interface (e.g., a software-implemented interface), and the processor circuit (not shown) in the system can receive the user's commands and issue corresponding control commands or control signals (not shown) to the relevant modules and / or circuits in the image decoding device 100 to perform the corresponding operations. In some embodiments, the image adjustment module 130 may include, but is not limited to, a scaler circuit. In some embodiments, the display interface 140 may include, but is not limited to, a video output circuit.
[0019] For example, when browsing multiple image contents corresponding to multiple video data D[1] to D[n] simultaneously (which are processed by the image adjustment module 130 and combined to display as a single screen), if the user is interested in the image content of a specific video data (e.g., video data D[1]) and issues a freeze frame command, the image decoding device 100 can respond to this freeze frame command to pause the original image decoding operation and continuously output the image content of a corresponding frame of the specific video data to the screen so that it can be displayed as a single screen. In the above process, the decoder 120 can respond to this freeze frame command to prevent the reference buffer 101A from being written to avoid the reference frame therein from being overwritten, and use the reference frame in the reference buffer 101A to repeatedly decode the corresponding frame based on the refresh command, so that the display interface 140 can continuously output to the screen to display the image content of the corresponding frame. In this way, the user can browse the same image content at a resolution higher than the original display resolution of the frame (equivalent to browsing a still image). After the still frame operation ends, the image decoding device 100 can resume the original image decoding operation and sequentially update the reference frames in the reference buffer 101A to perform image decoding in sequence. Details of this operation will be provided later. Figure 3A and Figure 3B Note: In different embodiments, the image decoding device 100 may operate in conjunction with software, firmware, or other circuitry in the system to perform various applications such as image decoding and / or still frame operations.
[0020] Figure 2 To illustrate this, we present a flowchart of the operation in response to a freeze frame command, based on some embodiments of this case. For ease of explanation, the following will... Figure 1 The value n is set to 4 for explanation. In this example, the resolution of the image output to the screen from the display interface 140 is set to 1920×1080.
[0021] In operation S201, multiple video data are received via the video receiving module. For example, the video receiving module 110 can receive multiple video data D[1] to D[4] from multiple channels, and the original resolution of each of the multiple video data D[1] to D[4] can be 1920×1080.
[0022] In operation S202, multiple video data are decoded, and the image content of these video data is adjusted. For example, decoder 120 can decode the frame of each of the multiple video data D[1] to D[4], wherein the resolution of each of these frames is 1920×1080. In some embodiments, image adjustment module 130 can adjust the output resolution of each of these frames to 960×540, and stitch a corresponding frame (with a resolution of 960×540) of each of the multiple video data D[1] to D[4] into a single image (the resolution of which corresponds to the screen resolution, for example, 1920×1080). In other embodiments, the image adjustment module 130 can adjust the output resolution of each of the frames to 960×540, and further crop the image content of at least one of the multiple video data D[1] to D[4], and stitch together a corresponding frame (with a resolution of 960×540) of each of the multiple video data D[1] to D[4] into a single image (with a resolution of 1920×1080).
[0023] In operation S203, in response to a freeze command, a specific video data is selected from multiple video data, and a reference frame in the reference buffer is maintained to re-decode a corresponding frame of the specific video data based on the reference frame. Compared to the display resolution of the corresponding frame before the freeze command, by maintaining the reference frame and re-decoding the corresponding frame based on the reference frame after responding to the freeze command, the display resolution of the corresponding frame is improved to display the image content of the corresponding image. For example, if a user is interested in the image content of video data D[1], the user can send a freeze command via software to focus on viewing the image content of video data D[1]. In response to the freeze command, decoder 120 can prevent reference buffer 101A from being written to maintain the reference frame. Then, in response to a refresh command, decoder 120 can repeatedly decode a corresponding frame of video data D[1] based on the reference frame (e.g., a frame after decoder 120 receives the freeze command). In this way, a corresponding image frame with a quality at least equal to the original resolution can be obtained without adjustment by the image adjustment module 130, and the corresponding image frame can be output to the screen via the display interface 140, thereby displaying the image content of the corresponding image frame at a resolution no lower than the original resolution of the corresponding image frame. The original resolution of the corresponding image frame is 1920×1080. Thus, the image content of the corresponding image frame that the user can view on the screen has a clear resolution (e.g., the original resolution of the corresponding screen, i.e., the aforementioned 1920×1080).
[0024] In some related technologies, the reference frames in the reference buffer are constantly updated. In other words, in these technologies, the original reference frames stored in the reference buffer are lost (i.e., overwritten by the new frames) after each new frame is decoded. Thus, in these technologies, when a user executes a freeze command, a single image (with a resolution of 1920×1080) can only be generated by enlarging an edited frame (e.g., with the resolution adjusted to 960×540 and / or cropped). Consequently, the content of this single image becomes distorted and less clear. In contrast to the aforementioned related technologies, in some embodiments of this invention, the reference frames in the reference buffer 101A are not overwritten after the decoder 120 receives a freeze command. In other words, the decoder 120 does not lose the information of the reference frame and can use it to decode the corresponding frames of specific video data (rather than by enlarging an edited frame) to display the image content of the corresponding frame at a resolution no lower than the original resolution of the corresponding frame. Thus, the image decoding device 100 can provide a clearer still image.
[0025] Figure 3A Drawing based on some embodiments of this case Figure 1 The flowchart of decoder 120 performing the freeze frame operation is shown below. Figure 3B Drawing based on some embodiments of this case Figure 1 The timing diagram for image decoding operation by decoder 120 is shown below. For ease of explanation, Figure 3A Multiple operations will be combined Figure 3B The operation sequence will be explained together, among which... Figure 3B The timing sequence is based on multiple frames in a video data (assuming it is video data D[1]) selected based on the still frame command.
[0026] In operation S301, the first frame of the video data is decoded, and the decoded first frame is stored in the reference buffer. For example, as... Figure 3B As shown, before time T0, decoder 120 can decode frame F1 of video data D[1] using intra-frame coding and store the decoded frame F1 in reference buffer 101A. Under this condition, at least a portion of the reference frames in reference buffer 101A will be overwritten with the decoded frame F1. Before time T0, image adjustment module 130 adjusts the decoded frame F1 according to the default command and stores the adjusted frame F1 waiting to be displayed in output buffer 102A.
[0027] In operation S302, the second frame of the video data is decoded based on the first frame in the reference buffer, and the decoded second frame is stored in the reference buffer. For example, as... Figure 3BAs shown, at time T0, the display interface 140 can output the image frame F1 waiting to be displayed in the output buffer 102A to the screen so that the screen displays the image content of the image frame F1. On the other hand, during the period between time T0 and time T1, the decoder 120 can use inter-frame coding to decode the image frame F2 in the video data D[1] according to the image frame F1 stored in the reference buffer 101A, and store the decoded image frame F2 in the reference buffer 101A. Under this condition, at least a portion of the reference image frame F1 in the reference buffer 101A is overwritten with the image frame F2. During the period between time T0 and time T1, the image adjustment module 130 adjusts the image frame F2 according to the default command and stores the adjusted image frame F2 waiting to be displayed in the output buffer 102A.
[0028] In operation S303, the third frame of the video data is decoded based on the second frame in the reference buffer, and the second frame in the reference buffer is held in response to a freeze command. For example, as Figure 3B As shown, at time T1, the display interface 140 can output the image frame F2 waiting to be displayed in the output buffer 102A to the screen so that the screen displays the image content of the image frame F2. On the other hand, during the period between time T1 and time T2, the decoder 120 can decode the image frame F3 in the video data D[1] according to the image frame F2 stored in the reference buffer 101A, and the image adjustment module 130 adjusts the decoded image frame F3 and stores the adjusted image frame F3 waiting to be displayed in the output buffer 102A. At time T1' (which is between time T1 and time T2, that is, before the image frame F3 is decoded), the decoder 120 receives a freeze command and responds to the freeze command to prevent the reference buffer 101A from being written to, so as to avoid the image frame F2 in the reference buffer 101A being overwritten. Under this condition, the reference image frame in the reference buffer 101A can remain as image frame F2 and will not be overwritten as image frame F3.
[0029] In other words, before receiving a freeze command, decoder 120 stores the decoded new frame in reference buffer 101A. Thus, at least a portion of the reference frames in reference buffer 101A will be overwritten with the new frames. After receiving the freeze command, decoder 120 prevents reference buffer 101A from being written to. Therefore, the reference frames in reference buffer 101A will not be overwritten with the new frames.
[0030] like Figure 3BAs shown, in some embodiments, during a plurality of periods from time T2 to time Tm after receiving the freeze command, the display interface 140 continuously outputs frame F3 in the output buffer 102A to the screen so that the screen displays the image content of frame F3. Alternatively, in other embodiments, depending on data format requirements and / or other needs, the decoder 120 may re-decode frame F3 based on frame F2 in the reference buffer 101A and write the decoded frame F3 (without adjustment by the image adjustment module 130) back to the output buffer 102A, so that the display interface 140 can output frame F3 in the output buffer 102A to the screen for display. On the other hand, during a plurality of periods from time T1' to time Tm, the decoder 120 continuously prevents the reference buffer 101A from being written to in response to the freeze command, so as to avoid frame F2 in the reference buffer 101 being overwritten. Under this condition, the reference frame in the reference buffer 101A remains frame F2.
[0031] In operation S304, in response to the refresh command, the third frame is decoded according to the second frame in the reference buffer, and in response to the freeze command, the second frame in the reference buffer is continuously maintained. For example... Figure 3B As shown, at time T4' (between time T4 and time Tm) after receiving the freeze command, decoder 120 responds to the refresh command by re-decoding frame F3 based on frame F2 in reference buffer 101A, and stores the decoded frame F3 (labeled as frame F3-1) in output buffer 102A. Thus, at time Tm, display interface 140 can output frame F3-1 from output buffer 102A to the screen to display the image content of frame F3-1. Similarly, at time Tm' (between time Tm and time Tm+1), decoder 120 can respond to the refresh command by re-decoding frame F3 based on frame F2 in reference buffer 101A, and stores the decoded frame F3 (labeled as frame F3-2) in output buffer 102A. Thus, at time Tm+1, the display interface 140 can output frame F3-2 in the output buffer 102A to the screen, so that the screen displays the image content of frame F3-2. During the above process, the decoder 120 continuously prevents the reference buffer 101A from being written to, so as to avoid the frame F2 in the reference buffer 101A being overwritten.
[0032] In some embodiments, the refresh command may originate from a user's editing instruction to zoom or crop the image content of a frame. For example, when a user is interested in a specific object in the image of frame F3, the user can edit the image content of frame F3 through a cropping command and / or a zoom-in command to view the specific object more clearly. Under this condition, the processor may respond to the above command by issuing a refresh command to request the decoder 120 to decode frame F3 again, and perform the above-mentioned cropping and / or zoom-in editing operations on the image content of frame F3 through the image adjustment module 130 to generate frame F3-1 or F3-2 (whose image content is related to frame F3, for example, it may be, but is not limited to, at least a portion of the image content of frame F3), and store frame F3-1 or frame F3-2 in the output buffer 102A.
[0033] Continue to refer to Figure 3A In operation S305, in response to the end command, the third frame is decoded again based on the second frame in the reference buffer, and the decoded third frame is stored in the reference buffer. For example... Figure 3B As shown, at time Tm+1' (which lies between time Tm+1 and Tm+2), the user issues an end command to disable the freeze frame function. In response to this end command, decoder 120 allows reference buffer 101A to be written to continue the existing image decoding operation. For example, decoder 120 can re-decode frame F3 based on frame F2 in reference buffer 101A, and store the decoded frame (labeled frame F3-3, whose image content is the same as frame F3) in reference buffer 101A to overwrite at least a portion of frame F2. Under this condition, the reference frame in reference buffer 101A is updated to frame F3-3 (i.e., at least a portion of the original frame F2 is overwritten with the new frame F3-3). On the other hand, image adjustment module 130 can adjust frame F3-3 and store the adjusted frame F3-3 in output buffer 102A.
[0034] In operation S306, the fourth frame of the video data is decoded based on the third frame in the reference buffer, and the decoded fourth frame is stored in the reference buffer. For example, as... Figure 3BAs shown, at time Tm+2, the display interface 140 can output the adjusted image frame F3-3 in the output buffer 102A to the screen so that the screen displays the image content of image frame F3-3. On the other hand, during the period between time Tm+2 and time Tm+3, the decoder 120 can decode the image frame F4 in the video data D[1] according to the image frame F3-3 stored in the reference buffer 101A, and store the decoded image frame F4 in the reference buffer 101A to cover at least a part of the image frame F3, and the image adjustment module 130 can adjust the decoded image frame F4 and store the adjusted image frame F4 in the output buffer 102A. Under this condition, the reference image frame of the reference buffer 101A is updated to image frame F4.
[0035] In operation S307, the fifth frame of the video data is decoded based on the fourth frame in the reference buffer, and the decoded fifth frame is stored in the reference buffer. For example... Figure 3B As shown, at time Tm+3, the display interface 140 can output frame F4 in the output buffer 102A to the screen so that the screen displays the image content of frame F4. On the other hand, during the period between time Tm+3 and time Tm+4, the decoder 120 can decode frame F5 in the video data D[1] according to frame F4 stored in the reference buffer 101A, and store the decoded frame F5 in the reference buffer 101A to cover at least a part of frame F4, and the image adjustment module 130 adjusts the decoded frame F5 and stores the adjusted frame F5 in the output buffer 102A. Under this condition, the reference frame in the reference buffer 101A is updated to frame F5. By similar operation, the display interface 140 can output the display frame F5 to the screen at time Tm+4 so that the screen displays the image content of frame F5. Decoder 120 can decode frame F6 of video data D[1] during the period between time Tm+4 and time Tm+5, and store the decoded frame F6 in reference buffer 101A to cover at least a portion of frame F5. Image adjustment module 130 can adjust frame F6 and store the adjusted frame F6 in output buffer 102A. And so on, the related operations between decoder 120, image adjustment module 130 and display interface 140 should be understood.
[0036] In some embodiments, the decoder 120 further stores respectively corresponding to Figure 1Multiple flag signals (not shown) for multiple video data D[1] to D[n]. In response to a freeze command, decoder 120 can set the flag signal corresponding to the specific video data selected by the freeze command to a default value, and determine whether to prevent reference buffer 101A (which stores the frame of the specific video data) from being written to avoid the corresponding reference frame being overwritten, thereby preserving the reference frame. In other words, the software and / or processor in the system can control decoder 120 to set the flag signal corresponding to a specific channel to the default value in response to a freeze command, and control decoder 120 to clear (or reset) the value of the flag signal in response to an end command. Thus, decoder 120 can determine whether to prevent a corresponding reference buffer 101A from being written to based on the value of the flag signal, in order to perform a freeze operation (e.g., the aforementioned operations S303 to S305).
[0037] exist Figure 3B In this example, multiple frames F1, F2, F3, F4, F5, and F6 are temporally consecutive frames. The decoder 120 can use the previous frame as a reference frame and decode the current frame based on this reference frame. For example, the decoder 120 can use frame F1 as a reference frame and decode frame F2 based on frame F1. Similarly, the decoder 120 can use frame F2 as a reference frame and decode frame F3 based on frame F2. It should be understood that the above configuration is merely an example and is not limited to this. In other embodiments, information from previous frames, such as the previous frame, the two previous frames, or the three previous frames, can be used as reference frames to decode the current frame. In other words, the embodiments of this invention are not limited to using the previous frame as a reference frame for decoding.
[0038] Figure 4 A flowchart of a still image decoding method 400 is provided according to some embodiments of this invention. In operation S410, a first frame from one of a plurality of video data is decoded based on a reference frame at a reference location in memory, and the first frame is stored at the reference location to cover at least a portion of the reference frame. In operation S420, in response to a still command, the first video data is selected from the video data, and a second frame from the first video data is decoded based on the first frame at the reference location. In operation S430, the second frame is adjusted, and the adjusted second frame is stored at an output location in memory. In operation S440, in response to the still command, the first frame at the reference location is held, and the second frame is decoded again based on the first frame at the reference location. In operation S450, in response to an end command, the second frame is decoded again based on the first frame at the reference location, and the second frame is stored at the reference location to cover at least a portion of the first frame.
[0039] The above operations can be understood with reference to the foregoing embodiments, and therefore will not be repeated. The above operations of the still image decoding method 400 are merely examples and are not limited to being executed in the order shown in this example. Without departing from the operation mode and scope of the embodiments of this case, the various operations in the still image decoding method 400 may be appropriately added, replaced, omitted, or executed in a different order (for example, they may be executed simultaneously or partially simultaneously).
[0040] In summary, the image decoding apparatus and still image decoding method in some embodiments of this case can ensure that the reference frame is not lost during still image operation, thereby producing a clear still image. This improves the problem of still image distortion.
[0041] Although the embodiments of this case are described above, these embodiments are not intended to limit this case. Those skilled in the art can make variations to the technical features of this case based on the express or implied content of this case. All such variations may fall within the scope of patent protection sought in this case. In other words, the scope of patent protection in this case shall be determined by the scope of the patent application in this specification.
[0042] [Symbol Explanation]
[0043] 100: Image decoding device
[0044] 100A: Memory
[0045] 101A: Reference Buffer
[0046] 102A: Output Buffer
[0047] 110: Video receiver module
[0048] 120: Decoder
[0049] 130: Image Adjustment Module
[0050] 140: Display Interface
[0051] 400: Still Frame Image Decoding Method
[0052] D[1]~D[n]: Video data
[0053] F1~F6, F3-1, F3-2, F3-3: Frames
[0054] S201, S202, S203: Operation
[0055] S301, S302, S303, S304, S305, S306, S307, S308: Operation
[0056] S410, S420, S430, S440, S450: Operation
[0057] T0~T4,Tm~Tm+5,T1',T4',Tm+1': Time.
Claims
1. A method for decoding still-frame images, characterized in that, The method includes: A first frame in a first video data set of a plurality of video data is decoded based on a reference frame at a reference location in a memory, and the first frame is stored in the reference location to cover at least a portion of the reference frame; In response to a freeze frame command, the first video data is selected from the plurality of video data and a second frame in the first video data is decoded according to the first frame in the reference position; Adjust the second frame and store the adjusted second frame in an output location of the memory; When the freeze command is received before the second frame is decoded, the first frame in the reference position is maintained in response to the freeze command so as to decode the second frame again based on the first frame in the reference position; as well as In response to an end command, the second frame is decoded again based on the first frame at the reference location to store the second frame at the reference location to cover at least a portion of the first frame.
2. The still image decoding method as described in claim 1, characterized in that, The step of maintaining the first frame in the reference position in response to the freeze command includes: The freeze command is invoked to prevent the reference location from being written to, so as to avoid the first frame in the reference location being overwritten.
3. The still image decoding method as described in claim 1, characterized in that, The step of maintaining the first frame at the reference position in response to the freeze command, and then decoding the second frame again based on the first frame at the reference position, includes: The second frame, obtained by decoding again, is stored at the output location in the memory.
4. The still image decoding method as described in claim 1, characterized in that, The method includes: Upon receiving the still frame command, a refresh command is executed to decode the second frame again based on the first frame at the reference position.
5. The still image decoding method as described in claim 4, characterized in that, The method includes: responding to the refresh command to edit the second frame to display at least a portion of the image content in the second frame.
6. The still image decoding method as described in claim 5, characterized in that, Editing the second frame includes: enlarging or cropping the second frame.
7. The still image decoding method as described in claim 1, characterized in that, The response to the end command, which decodes the second frame again based on the first frame at the reference location to store the second frame at the reference location to cover at least a portion of the first frame, includes: In response to the end command, the second frame is decoded again based on the first frame in the reference position; Adjust the second frame and store the adjusted second frame in the output location of the memory; as well as The second frame is stored at the reference location to cover at least a portion of the first frame.
8. An image decoding device, characterized in that, The device includes: A video receiving module receives multiple video data corresponding to different channels; An image adjustment module; and A decoder, used to: A first frame in a first video data set of a plurality of video data is decoded based on a reference frame at a reference location in a memory, and the first frame is stored in the reference location to cover at least a portion of the reference frame; In response to a freeze frame command, the first video data is selected from the plurality of video data and a second frame in the first video data is decoded according to the first frame in the reference position, wherein the image adjustment module adjusts the second frame and stores the adjusted second frame in an output location of the memory; When the freeze command is received before the second frame is decoded, the first frame in the reference position is maintained in response to the freeze command so as to decode the second frame again based on the first frame in the reference position; as well as In response to an end command, the second frame is decoded again based on the first frame at the reference location to store the second frame at the reference location to cover at least a portion of the first frame.
9. The image decoding apparatus as described in claim 8, characterized in that, The decoder responds to the freeze command to prevent the reference position from being written to, so as to avoid the first frame in the reference position being overwritten and to preserve the reference frame.
10. The image decoding apparatus as claimed in claim 8, characterized in that, The decoder further stores the second frame obtained from the second decoding into the output location of the memory.
11. The image decoding apparatus as claimed in claim 8, characterized in that, Upon receiving the still frame command, the decoder responds with a refresh command to decode the second frame again based on the first frame in the reference position.
12. The image decoding apparatus as claimed in claim 11, characterized in that, The image adjustment module responds to the refresh command to edit the second frame so that at least a portion of the image content in the second frame is displayed on a screen.
13. The image decoding apparatus as described in claim 12, characterized in that, The image adjustment module enlarges or crops the second image frame to edit it.
14. The image decoding apparatus as claimed in claim 8, characterized in that, In response to the end command, the decoder decodes the second frame again based on the first frame in the reference position and stores the second frame in the reference position to cover at least a portion of the first frame. The image adjustment module adjusts the second frame to store the adjusted second frame in the output position of the memory.
Citation Information
Patent Citations
Video decoding method and device, electronic equipment and storage medium
CN112752150A