WEARABLE CAMERA AND METHOD FOR ENCODING VIDEO CAPTURED BY A WEARABLE CAMERA - Patent application

JP7630388B2Active Publication Date: 2025-02-17AXIS
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021131088
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-08-17
Filing Date
2021-08-11
Publication Date
2025-02-17
Estimated Expiration
2041-08-11

Smart Images

  • Figure 0007630388000001
    Figure 0007630388000001
  • Figure 0007630388000002
    Figure 0007630388000002
Patent Text Reader

Abstract

To provide a method for encoding video, which facilitates bit rate savings and / or battery savings for a video stream generated by a wearable camera.SOLUTION: There is provided a method for encoding video captured by a wearable camera. The method includes determining a center of rotation for an image frame to be encoded. The center of rotation relates to a rotation of the wearable camera when the video is captured, and the image frame includes multiple groups of pixels. Furthermore, the method includes setting compression levels for the multiple groups of pixels of the image frame. The compression levels for the multiple groups of pixels of the image frame are set such that a level of compression increases with a radial distance from the center of rotation. The method also includes encoding the image frame using the compression levels.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to video encoding, and in particular to encoding video captured by a wearable camera. [Background technology]

[0002] Wearable cameras are used, for example, by police officers to capture video streams during patrols and incidents. Such cameras can also be called body worn cameras (BWCs). Wearable cameras are typically battery powered. Thus, there is a limit to the power available for wearable cameras. Furthermore, wearable cameras can transmit the captured video streams over a wireless connection. Thus, the bit rate available for such transmission is also a limiting factor for encoding the video streams. Summary of the Invention

[0003] An object of the present invention is to facilitate bitrate and / or battery savings for video streams generated by wearable cameras.

[0004] According to a first aspect, a method is provided for encoding video captured by a wearable camera. The method includes determining a center of rotation for an image frame to be encoded. The center of rotation is related to a rotation of the wearable camera when capturing the video. The image frame includes a plurality of groups of pixels. The method further includes setting a compression level for the plurality of groups of pixels of the image frame, the compression level for the plurality of groups of pixels of the image frame such that the compression level increases with radial distance from the center of rotation. The method further includes encoding the image frame using the compression level.

[0005] The inventors have recognized that rotational movements of the wearable camera occur when in use, and that such rotational movements lead to movements of the captured images. In the case of such rotational movements, the movement of a group of pixels between successive image frames will increase with the radial distance from the center of rotation in the image frame corresponding to the center of rotation of the image sensor of the wearable camera. This will result in an increased risk of failure to identify motion vectors with radial distance from the center of rotation, which will lead to problems with high bit rates, thereby increasing the risk that blocks of pixels have to be encoded using intra-coding instead of inter-coding, which is generally less bit-consuming. This risk will be more pronounced for motion estimation algorithms that are best suited to identifying translational movements. Therefore, a specific compression principle is introduced, in which the compression level increases with radial distance from the center of rotation.

[0006] By increasing the compression level with radial distance from the center of rotation, the overall bit rate required to encode a video including image frames is reduced compared to if the compression level were uniformly the same as at the center of rotation.

[0007] Reducing the bit rate is beneficial, for example, in that it reduces the bandwidth required to transmit the resulting video stream wirelessly and reduces the storage space required to store the resulting video stream.

[0008] Due to the increasing risk of misidentification of a motion vector with radial distance from the center of rotation, the bit rate cost for a group of pixels will also generally increase with the radial distance of the group of pixels from the center of rotation. Thus, increasing the compression level with radial distance from the center of rotation will result in a higher compression level for groups of pixels for which the bit rate cost was likely to be higher.

[0009] Furthermore, because the effects of motion blur will generally increase with radial distance from the center of rotation, it is advantageous to allow for higher image quality (resolution) with lower compression closer to the center of rotation, where motion blur is generally minimal.

[0010] Portions of the image frame closer to the center of rotation may also be of greater interest compared to more peripheral portions further away from the center of rotation, so it is advantageous to allow for higher image quality (resolution) with less compression closer to the center of rotation.

[0011] Furthermore, since the effects of motion blur will generally increase with radial distance from the center of rotation, any loss in image quality further away from the center of rotation will be insignificant, since the effects of motion blur further away from the center of rotation would likely have affected image quality anyway.

[0012] A group of pixels may be referred to as, for example, a block, a macroblock, or a coding tree unit.

[0013] The compression level for the groups of pixels of the image frame may be a compression value, such as, for example, a value of a quantization parameter for the groups of the image frame.

[0014] The act of determining the center of rotation of the method is It may further include determining a center of rotation using data from one or more motion sensors in the wearable camera.

[0015] The method may further include determining a motion vector for the image frame. The act of determining a center of rotation may then further include determining a center of rotation using the motion vector.

[0016] The method may further comprise determining a pre-rotation centre for the image frame and setting a motion vector search area that is a sub-area of ​​the image frame and includes the pre-rotation centre. The act of determining the motion vector may then further comprise determining a motion vector within the motion vector search area. The reliability of the determined motion vector generally decreases with radial distance from the centre of rotation. Thus, selecting a motion vector search area that is a sub-area of ​​the image and includes the pre-rotation centre will exclude areas of the image frame that include motion vectors that are deemed to be the least reliable. As a result, a more reliable identification of the centre of rotation is possible.

[0017] The method may further include obtaining a previous center of rotation for the previous image frame. The act of determining a previous center of rotation may then include determining a previous center of rotation for the image frame to correspond to the previous center of rotation. The center of rotation tends to move around between successive image frames, but not over a very large range. Therefore, the previous center of rotation, i.e., the center of rotation of the previous image frame, is a good approximation to use as the previous center of rotation. Preferably, the previous center of rotation is the center of rotation of the immediately preceding image frame.

[0018] The method may further include determining an angular velocity of the wearable camera when capturing the image frames. In the act of setting the compression level, the rate of increase of the compression level with radial distance from the center of rotation may then be based on the angular velocity. The incentive to increase the compression level increases with the amount of motion in the image frames. In the case of rotation, the motion in the image frames depends on the radial distance from the center of rotation, but also on the angular velocity. For larger angular velocities, the motion will be larger at the same radial distance from the center of rotation. It is therefore beneficial to increase not only the compression level with radial distance from the center of rotation, but also the rate of increase based on the angular velocity. The loss of image quality for larger angular velocities will be insignificant, since the effect of motion blur at larger angular velocities would have affected image quality anyway.

[0019] The method may further include determining a motion vector for the image frame. In the act of setting the compression level, a rate of increase of the compression level with radial distance from the center of rotation may then be based on the motion vector. For example, the rate of increase of the compression level may be based on a rate of increase of the length of the motion vector with radial distance from the center of rotation.

[0020] According to a second aspect, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium stores instructions, possibly in the form of computer-readable program code, configured to perform the method of the first aspect when executed on a device having processing capabilities. The device having processing capabilities may be a wearable camera, for example a body-worn camera.

[0021] The above-mentioned features of the method according to the first aspect also apply to the second aspect, where applicable, and in order to avoid undue repetition, reference is made thereto.

[0022] According to a third aspect, a wearable camera is provided. The wearable camera comprises an image sensor, a circuit, and an encoder. The image sensor is configured to capture image data. The circuit is configured to perform a rotation center determination function configured to determine a rotation center for an image frame to be encoded. The rotation center is associated with a rotation of the wearable camera when capturing the video. The image frame is based on the image data and includes a plurality of groups of pixels. The circuit is further configured to perform a compression level setting function configured to set a compression level for the plurality of groups of pixels of the image frame, the compression level for the plurality of groups of pixels of the image frame being such that the compression level increases with radial distance from the rotation center. The encoder is configured to encode the image frame into a video stream using the compression level set by the compression level setting function.

[0023] The wearable camera may further comprise a motion sensor for determining motion data for the wearable camera. The rotation center determination function may then be further configured to determine the rotation center using the motion data from the motion sensor.

[0024] The wearable camera encoder may be further configured to determine a motion vector for the image frame, and the rotation center determination function may be further configured to subsequently determine a rotation center using the motion vector.

[0025] The circuitry of the wearable camera may be further configured to execute a pre-rotation center determination function configured to determine a pre-rotation center for the image frame, and a motion vector search area setting function configured to set a motion vector search area that includes the pre-rotation center, the motion vector search area being a sub-area of ​​the image frame. The encoder may then be configured to determine a motion vector within the motion vector search area.

[0026] The circuitry of the wearable camera may further be configured to execute a previous rotation center acquisition function configured to acquire a previous rotation center for a previous image frame. The pre-rotation center determination function may then be configured to determine a pre-rotation center for the image frame to correspond to the previous rotation center.

[0027] The circuitry of the wearable camera can be further configured to execute an angular velocity determination function configured to determine an angular velocity of the wearable camera when capturing an image frame. In the compression level setting function, the rate of increase of the compression level with radial distance from the center of rotation can then be based on the angular velocity.

[0028] The wearable camera encoder can be further configured to determine a motion vector for the image frame. In the compression level setting function, the rate of increase of the compression level with radial distance from the center of rotation can then be based on the motion vector.

[0029] Further scope of applicability of the present disclosure will become apparent from the detailed description set forth hereinafter. It should be understood, however, that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the scope of the invention will become apparent to those skilled in the art from this detailed description.

[0030] Thus, it is understood that the invention is not limited to the particular component parts of the described device or the particular acts of the described method, as such devices and methods may vary. It is also understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. It should be noted that, as used in this specification and the appended claims, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of an element, unless the context clearly dictates otherwise. Thus, for example, reference to "a unit" or "the unit" can include several devices and the like. Furthermore, the words "comprising," "including," "containing," and similar words do not exclude other elements or steps. [Brief description of the drawings]

[0031] The above and other aspects of the present invention will now be described in more detail with reference to the accompanying drawings, which should not be considered limiting, but instead are used for purposes of illustration and understanding, and in which like reference numerals refer to like elements throughout. [Figure 1] FIG. 1 is a schematic block diagram of a wearable camera. [Diagram 2] 1 is a flowchart of a method for encoding video captured by a wearable camera. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0032] The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which presently preferred embodiments of the invention are shown. The present invention may, however, be embodied in many different forms and should not be construed as limited to the variations set forth herein. Rather, these embodiments are provided for thoroughness and completeness, and to fully convey the scope of the invention to those skilled in the art.

[0033] FIG. 1 shows a wearable camera 100. The wearable camera 100 may be a body-worn camera BWC. The wearable camera 100 may be a separate unit or the wearable camera 100 may be integrated into another unit, such as in a helmet, glasses, etc. The wearable camera 100 may be used, for example, by police officers to capture video and possibly other data during patrols and incidents. The captured data may then be required as evidence, for example, when investigating crimes and prosecuting suspected perpetrators. To store the captured data, a data management system external to the wearable camera 100, such as a video management system or an evidence management system, may be used. Such data management systems generally provide storage of the captured data as well as viewing of the captured data in real time or as playback of recorded data. Typically, the wearable camera 100 is battery powered and has a limited bit rate. The limited bit rate may be due to local data storage limitations and / or bandwidth limitations for wireless connections to the data management system or to a central where live footage is viewed. Furthermore, the bandwidth limitations for wireless connections may vary over time, causing the bit rate to be even more limited at times. Wearable camera 100 includes image sensor 110, circuitry 130, and encoder 120.

[0034] The image sensor 110 is configured to capture image data. The image data may be, for example, image frame data. Image sensors and the capture of image data are well known to those skilled in the art and will not be discussed in greater detail in this disclosure.

[0035] The encoder 120 is configured to encode the image data captured by the image sensor 110 into a video stream, and sometimes the video stream provided by the encoder 120 is referred to as an encoded video stream. Typically, the video encoder 120 is configured to encode some of the image frames of the video stream as intra frames or key frames, and some of the image frames of the video stream as inter frames or delta frames. An intra frame is an encoded video frame that does not require information from other encoded video frames to be decoded. Thus, an intra frame is encoded based on information from the image frame of the video data to which the intra frame is set to correspond. Typically, similarities within the image frames are used to encode the image frames into intra frames. In video encoding, an intra frame is often referred to as an I frame. An image frame of a video stream between two intra frames is encoded as an inter frame. Typically, an inter frame only includes the changes that occur from one frame to the next. Thus, an inter frame typically includes less data than an intra frame. In video encoding, interframes are often called P frames or B frames. P frames point to the previous frame for data reference. Therefore, the content of the previous frame must be known to decode the P frame. B frames can point to both the previous and forward frames for data reference. Therefore, the content of both the previous and forward frames must be known to decode the B frame. When encoding interframes, an image frame is divided into multiple groups of pixels. The groups of pixels can be called, for example, blocks, macroblocks, or coding tree units. The image frame is compared to a reference frame. For example, the reference frame for encoding a P frame is the previous image frame.A matching algorithm is used to identify matching groups of pixels between the image frame being encoded and the reference frame, and if a match is found for a group of pixels, that group of pixels can be encoded as a motion vector that specifies how much the group of pixels has moved in the image frame since the reference frame. Determining the motion vector is sometimes called motion estimation. When the motion is large due to fast movement of the camera or objects in the captured scene, the motion estimation may fail to estimate the motion vector. The fewer motion vectors identified for the image frame being encoded, the larger the bit size of the resulting encoded Inter frame will be, and therefore, more bandwidth will be required to transmit the encoded Inter frame.

[0036] Circuitry 130 is configured to perform the functions of wearable camera 100. Circuitry 130 may include a processor 132, such as a central processing unit (CPU), a microcontroller, or a microprocessor. Processor 132 is configured to execute program code. The program code may be configured, for example, to perform the functions of wearable camera 100.

[0037] The wearable camera 100 may further comprise a motion sensor 140 for determining motion data for the wearable camera. The motion sensor 140 is configured to measure motion data of the wearable device. The motion sensor 140 may comprise a gyroscope and / or an accelerometer. The gyroscope is configured to measure the motion data in the form of orientation and / or angular velocity of the wearable camera 100. The accelerometer is configured to measure the motion data in the form of acceleration (or rate of change of velocity) of the wearable camera 100 in its instantaneous rest frame. The motion sensor 140 is configured to sample the motion data as a function of time.

[0038] Wearable camera 100 may further comprise local data storage 150. Local data storage 150 may be configured to store the video stream. The local data storage typically has a limited data storage capacity. Local data storage 150 may be any type of local data storage suitable for storing the video stream. For example, local data storage 150 may be in the form of an SD card reader and an SD card. Another example of local data storage 150 may be in the form of a flash memory, e.g., a NAND flash.

[0039] The wearable camera 100 may further comprise a transmitter 160. The transmitter 160 may be configured to wirelessly transmit the video stream to a video management system. The transmitter 160 may be configured to continuously transmit the captured video stream to a data management system. Wireless transmission is typically limited by the bandwidth available for wireless transmission.

[0040] The wearable camera 100 may further include a memory 170. The memory 170 may be one or more of a buffer, a flash memory, a hard drive, a removable media, a volatile memory, a non-volatile memory, a random access memory (RAM), or another suitable device. In a typical arrangement, the memory 170 may include a non-volatile memory for long-term data storage and a volatile memory that serves as a system memory for the circuit 130. The memory 170 may exchange data with the circuit 130 through a data bus. There may also be associated control lines and an address bus between the memory 170 and the circuit 130.

[0041] The functions of wearable camera 100 may be embodied in the form of executable logic routines (e.g., lines of code, software programs, etc.) stored on a non-transitory computer-readable medium (e.g., memory 170) of wearable camera 100 and executed by circuitry 130 (e.g., using processor 152). Furthermore, the functions of wearable camera 100 may be standalone software applications or may form part of a software application that performs further tasks related to wearable camera 100. The functions described may be considered as the way in which a processing unit of circuitry 150, e.g., processor 132, is configured to execute it. Similarly, while the functions described may be implemented in software, such functions may also be performed by dedicated hardware or firmware, or some combination of hardware, firmware, and / or software.

[0042] Circuit 130 is configured to perform a rotation center determination function 181. Rotation center determination function 181 is configured to determine a rotation center for an image frame to be encoded. The rotation center is related to the rotation of the wearable camera when capturing video. In particular, the rotation center for an image frame corresponds to the image sensor rotation center about which wearable camera 100 rotates when capturing the image data on which the image frame is based. The image frame is divided into multiple groups of pixels that are used in encoding the image frame.

[0043] The circuit 130 is configured to execute a compression level setting function 182. The compression level setting function 182 is configured to set a compression level for a plurality of groups of pixels of an image frame. The compression levels for the plurality of groups of pixels of an image frame are set such that the compression level increases with radial distance from the center of rotation. In general, if a first group of pixels is at a farther radial distance from the center of rotation than a second group of pixels, the first group of pixels will have a higher compression level than the second group of pixels. The compression level can increase continuously with radial distance from the center of rotation. However, the compression level can also increase in steps, such that a first group of pixels within a first radial distance range from the center of rotation has the same first compression level, a second group of pixels within a second radial distance range from the center of rotation that includes a radial distance greater than the first radial distance range has the same second compression level, and so on.

[0044] The increase in compression level can also be non-uniform, so that, for example, the compression level increases at a higher rate with distance from the center of rotation in the horizontal direction than with distance in the vertical direction. With such non-uniform increase, the compression level at a given distance from the center of rotation along a horizontal line from the center of rotation will be higher than the compression level at a given distance from the center of rotation along a line at an angle greater than 0 degrees from the center of rotation. In general, the compression level can be based not only on the need for compression due to the higher degree of motion further away from the center of rotation, but also on the expected level of interest in different portions of the image frame, such that, for example, the periphery of the image frame in the horizontal direction is less interesting than the periphery of the image frame in the vertical direction.

[0045] The compression level may be associated with different measures and characteristics indicative of the compression level. For example, the compression level may be associated with a compression value, such as a value of a quantization parameter, whereby the value of the quantization parameter is set to increase with radial distance from the center of rotation. In such a case, if a first group of pixels is at a farther radial distance from the center of rotation than a second group of pixels, the first group of pixels will have a larger value of the quantization parameter than the second group of pixels. This may be achieved, for example, by a gradient quantization parameter map (QMAP).

[0046] The compression level may further describe or indicate the bit rate required for encoding. Thus, as long as the required bit rate is lower, the compression level is considered to be higher regardless of the means or process used to achieve the lower bit rate required. For example, the compression level may be increased by using different encoding schemes for blocks depending on the radial distance from the center of rotation. An example of such encoding is the use of skip blocks or DC coded (i.e., single color) I blocks for groups of images, which would result in a higher compression level compared to encoding the groups of images as ordinary P or B blocks. Skip blocks do not carry any image or prediction information, and the decoder interprets the skip blocks as identical blocks (groups of pixels) to the corresponding blocks (groups of pixels) of the immediately preceding frame. Skip blocks may still have motion vectors that the skip blocks inherit from their neighbors. However, no information is encoded. To increase the compression level, the selection of the type of block (I, P, skip) may be biased such that the probability of a block type corresponding to a higher compression level increases with distance from the center of rotation.

[0047] The encoder 120 may then be configured to encode the image frames into a video stream using the compression level set by the set compression level function 182 .

[0048] Increasing the compression level with radial distance from the center of rotation will reduce the bit rate of the video stream for such encoded frames, which will be lower than the bit rate would have been if the video stream had included image frames with the same compression level at the center of rotation, but without the increase in compression level with radial distance from the center of rotation. Furthermore, increasing the compression level with radial distance from the center of rotation will maintain high quality (low compression) for groups of pixels near the center of rotation. This is beneficial because these groups of pixels are less affected by motion blur, require lower bit rates for encoding, are easier to find corresponding motion vectors, and are often associated with areas of high interest, since they depict what is straight in front of the wearable camera. Furthermore, most of the bit rate reduction is achieved by the higher compression level at the periphery compared to the center of rotation. A higher compression level for such groups of pixels is beneficial. Because these groups of pixels depict what is at the periphery compared to the center of rotation, they are more susceptible to motion blur, require higher bit rates for encoding, corresponding motion vectors are more difficult to find, and are often associated with areas of less interest. Compared to uniformly increasing compression across image frames and reducing frame rate, such methods for bit rate reduction would not achieve the benefits identified above.

[0049] The rotation center determination function 181 may be configured to determine the rotation center using motion data from the motion sensor 140, which may comprise, for example, a gyroscope and / or an accelerometer.

[0050] The encoder 120 may be configured to determine motion vectors for the image frames. The rotation center determination function 181 may be further configured to determine a rotation center using the motion vectors. In the case of rotational motion, the motion vectors will generate a circular pattern around the rotation center, increasing in length with radial distance from the rotation center. The identified motion vectors may therefore be analyzed using a suitable algorithm to determine the rotation center.

[0051] The circuitry can be configured to perform a pre-rotation center determination function 183 and a motion vector search area setting function 184. The pre-rotation center determination function 183 is configured to determine a pre-rotation center for the image frame. The motion vector search area setting function 184 is configured to set a motion vector search area that includes the pre-rotation center and is a sub-area of ​​the image frame. The encoder 120 can then be configured to determine a motion vector within the motion vector search area. The rotation center determination function 181 can then be configured to determine the rotation center using the motion vectors within the motion vector search area. The basis for this is that the radial distance that a certain group of pixels moves between two successive image frames increases with the radial distance from the rotation center, so that the reliability of the determined motion vector generally decreases with the radial distance from the rotation center, which in turn makes the determination of the motion vector increasingly difficult. Therefore, using only the motion vectors within the sub-area will eliminate areas of the image frame that contain the motion vectors that may be the least reliable. Thus, a reliable identification of the rotation center is possible. The motion vector search area may, for example, be set to include a group of pixels for which a motion vector can be determined with a desired reliability. The encoder 120 may then be configured to determine motion vectors for the image frame outside the motion vector search area. However, such motion vectors will only be used by the encoder 120 to encode the image frame thereafter and will not be used by the rotation center determination function 181 to determine the rotation center.

[0052] The encoder 120 may alternatively be configured to determine motion vectors for image frames only within the motion vector search area. In such a case, the motion vector search area may be set to exclude groups of pixels for which the encoder 120 has a probability of failing to determine a motion vector over a certain threshold. The probability of failure will increase with increasing motion. Thus, the groups of excluded pixels may be selected as groups of pixels that are farther than a threshold radial distance from the pre-rotation center. The threshold radial distance may be based, for example, on the angular velocity. For groups of excluded pixels, i.e., groups of pixels for which no motion vector was determined, the compression level may be further increased to compensate for the additional bit rate required for encoding in the absence of an identified motion vector. The increased compression level may be achieved by means of adapting the quantization parameter value for the groups of pixels for which no motion vector was determined. In the alternative, the groups of pixels for which no motion vector was determined may be encoded as skip blocks or DC-coded (i.e., single-color) I-blocks.

[0053] The circuit 130 can be configured to execute a previous rotation center acquisition function 185. The previous rotation center acquisition function 185 is configured to acquire a previous rotation center for a previous image frame. The preliminary rotation center determination function 183 can then be configured to determine a previous rotation center for the image frame to correspond to the previous rotation center. Because the rotation center generally does not move very far between successive image frames, using the previous rotation center for the previous image frame will generally be a good approximation to use as the previous rotation center.

[0054] The circuitry can further be configured to perform an angular velocity determination function 186. The angular velocity determination function 186 is configured to determine the angular velocity of the wearable camera when capturing the image frame. The compression level setting function 182 can then be configured such that the rate of increase of the compression level with radial distance from the center of rotation is based on the angular velocity. In general, the compression level should increase with increasing amount of motion in the image frame. For rotation, the amount of motion in the image frame depends on the radial distance from the center of rotation, but also on the angular velocity. For a larger angular velocity, the amount of motion will be greater than would have been the case for a smaller angular velocity at the same radial distance from the center of rotation. Thus, for a larger angular velocity, the compression level can increase at a higher rate with radial distance from the center of rotation, such that the compression level will be higher than would have been the case for a smaller angular velocity at the same radial distance from the center of rotation. The angular velocity can be determined by data from the motion sensor 140, for example, by a gyroscope.

[0055] Alternatively or additionally, based on the motion vectors determined by the encoder 120, the compression level setting function 182 can be configured such that the rate of increase of the compression level with radial distance from the center of rotation is based on the motion vector. For example, for larger angular velocities, the determined motion vectors will increase in length with radial distance from the center of rotation at a higher rate than would be the case for smaller angular velocities. Thus, the rate of increase of the compression level can be set to be proportional to the rate of increase of the length of the motion vector with radial distance from the center of rotation. Similarly, the compression levels for groups of pixels can be set to be proportional to the length of their respective motion vectors.

[0056] With reference to Figure 2, a method 200 for encoding video captured by a wearable camera is discussed. Method 200 is based on the insight gained by the inventors that by increasing the compression level with radial distance from the center of rotation, the bit rate required for encoding can be reduced without a correspondingly large loss of quality, for example because a higher compression level will be applied for groups of pixels that would have carried less relevant information and / or would have had a lower quality even in the absence of the higher compression level.

[0057] Some of the steps of the method 200 may be performed by the functions of the wearable camera 100 described above. The method includes the following steps. The steps may be performed in any suitable order, unless one step is specifically dependent on the outcome of another step.

[0058] The method includes determining S220 a center of rotation for an image frame to be encoded, the center of rotation being associated with a rotation of the wearable camera when capturing the video, the image frame including a plurality of groups of pixels. The method 200 further includes setting S222 a compression level for the plurality of groups of pixels of the image frame, the compression level for the plurality of groups of pixels of the image frame such that the compression level increases with radial distance from the center of rotation. The method 200 further includes S224 encoding the image frame using the compression level.

[0059] Determining the center of rotation S220 may further include determining the center of rotation using data from one or more motion sensors in the wearable camera.

[0060] The method 200 may further include determining S210 a motion vector for the image frame. Determining S220 a center of rotation may further include determining the center of rotation using the motion vector.

[0061] The method 200 may further include determining S206 a pre-rotation center for the image frame and setting S208 a motion vector search area that includes the pre-rotation center, the motion vector search area being a sub-area of ​​the image frame. Determining S208 the motion vector may then include determining a motion vector within the motion vector search area.

[0062] The method 200 may further include obtaining a previous center of rotation for the previous image frame S204. Determining a previous center of rotation S206 may then include determining a previous center of rotation for the image frame to correspond to the previous center of rotation.

[0063] The method 200 may further include determining S202 an angular velocity of the wearable camera when capturing the image frame. In setting the compression level S222, the rate at which the compression level increases with radial distance from the center of rotation is based on the angular velocity.

[0064] The method may further include storing the video stream within the wearable camera. The method may further include wirelessly transmitting the video stream from the wearable camera. The method may further include corresponding features to those disclosed for the wearable camera described with respect to FIG.

[0065] Those skilled in the art will recognize that the present invention is not limited to the embodiments described above. On the contrary, many modifications and variations are possible within the scope of the appended claims. Such modifications and variations can be understood and effected by those skilled in the art when practicing the claimed invention, by studying the drawings, the disclosure, and the appended claims.

Claims

1. 1. A method for encoding video captured by a wearable camera, comprising: determining a pre-rotation center for an image frame to be encoded; setting a motion vector search area that includes the pre-rotation center, the motion vector search area being a sub-area of ​​the image frame; determining a motion vector within the motion vector search area for the image frame; determining a center of rotation in the image frame using the motion vector, the center of rotation corresponding to a center of rotation of an image sensor of the wearable camera in rotational motion when capturing image data on which the image frame is based, the image frame including a plurality of groups of pixels; setting a compression level for the plurality of groups of pixels of the image frame, the compression level for the plurality of groups of pixels of the image frame being such that a compression level increases with radial distance from the center of rotation; and encoding said image frame using said compression level; A method comprising:

2. obtaining a previous center of rotation for a previous image frame; The act of determining the pre-rotation center includes: The method of claim 1 , comprising determining the pre-rotation center for the image frame to correspond to the immediately previous rotation center.

3. determining an angular velocity of the wearable camera when capturing the image data on which the image frames are based; 2. The method of claim 1, wherein the act of setting the compression level causes the compression level to increase at a higher rate with the radial distance from the center of rotation the greater the angular velocity.

4. A method as described in claim 1, wherein, in the act of setting the compression level, the higher the rate of increase of the length of the motion vector with the radial distance from the center of rotation, the higher the rate of increase of the compression level with the radial distance from the center of rotation.

5. 5. A non-transitory computer readable storage medium having stored thereon instructions for encoding video captured by a wearable camera, the instructions being instructions for implementing the method of any one of claims 1 to 4.

6. A wearable camera, an image sensor configured to capture image data; 1. A circuit comprising: configured to perform a pre-rotation center determination function configured to determine a pre-rotation center for an image frame to be encoded; configured to execute a motion vector search area setting function configured to set a motion vector search area, the motion vector search area being a sub-area of ​​the image frame, the motion vector search area including the pre-rotation center; configured to execute a rotation center determination function configured to determine a rotation center in the image frame, the rotation center corresponding to a rotation center of the image sensor of the wearable camera in rotational motion when capturing the image data on which the image frame is based, the image frame including a plurality of groups of pixels; a circuit configured to execute a compression level setting function configured to set a compression level for the plurality of groups of pixels of the image frame, the compression level for the plurality of groups of pixels of the image frame such that a compression level increases with radial distance from the center of rotation; An encoder comprising: configured to determine a motion vector within the motion vector search area for the image frame; an encoder configured to encode the image frames into a video stream using the compression level set by the compression level setting function; Equipped with A wearable camera, wherein the rotation center determination function is further configured to determine the rotation center using the motion vector.

7. The circuit comprises: a previous rotation center acquisition function configured to acquire a previous rotation center for a previous image frame; and further configured to execute The wearable camera of claim 6 , wherein the pre-rotation center determination function is configured to determine the pre-rotation center for the image frame to correspond to the immediately previous rotation center.

8. The circuit comprises: an angular velocity determination function configured to determine an angular velocity of the wearable camera when capturing the image data on which the image frame is based; and further configured to execute The wearable camera of claim 6 , wherein the compression level setting function increases the rate at which the compression level increases with the radial distance from the center of rotation as the angular velocity increases.

9. A wearable camera as described in claim 6, wherein, in the compression level setting function, the higher the rate of increase in the length of the motion vector with the radial distance from the center of rotation, the higher the rate of increase in the compression level with the radial distance from the center of rotation.

Citation Information

Patent Citations

  • Device and method for compressing / restoring image

    JP1997135462A

  • Image pickup device

    JP1997326955A

  • Image processor, image processing method and image processing program

    JP2005020478A

  • Image pickup apparatus

    JP2006191185A

  • Imaging apparatus

    JP2013017165A