Patents by Inventor Viktor Edpalm
Viktor Edpalm has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10382780Abstract: A method of encoding a video stream comprising receiving a frame of a video stream to be encoded, performing motion detection in the frame to identify steady regions, and temporally filtering the frame so as to provide temporally filtered pixel values. For a pixel in the steady regions of the frame, the temporally filtered pixel value is used when encoding the pixel, on a condition that the pixel belongs to a block of pixels of the frame that will be intra-coded. On a condition that the pixel instead belongs to a block of pixels of the frame that will be inter-coded, a value that was used when encoding a corresponding pixel of the immediately preceding frame is used when encoding the pixel.Type: GrantFiled: March 22, 2018Date of Patent: August 13, 2019Assignee: Axis ABInventors: Anton Öhrn, Viktor Edpalm, Henrik Eliasson, Björn Benderius, Niclas Svensson, Xing Danielsson Fan, Fredrik Pihl
-
Publication number: 20190200014Abstract: A method of adding comfort noise to a video sequence comprising setting parameters of a deblocking filter of a video encoder to change values during the video sequence, encoding frames of the video sequence using the parameters of the deblocking filter that are set to change values during the video sequence, thereby introducing comfort noise in the video sequence, and including the encoded frames in a bitstream together with an indication of which parameters of the deblocking filter were used when encoding the frames of the video sequence.Type: ApplicationFiled: December 18, 2018Publication date: June 27, 2019Applicant: Axis ABInventors: Alexander Toresson, Viktor Edpalm, Fredrik Pihl
-
Publication number: 20190197702Abstract: A method for setting a motion trigger level is used in detection of motion in a video stream depicting a scene which includes receiving data pertaining to a video stream depicting the scene; dividing the scene into a plurality of specific portions; wherein each image frame of the video stream comprises multiple blocks of pixels, wherein each specific portion of the scene is associated with one or more block of pixels; and for each specific portion of the scene: evaluating, over time, statistical features of bitrate associated with an encoding of block of pixels pertaining to the specific portion of the scene; determining a motion base level based on the evaluated statistical features of bitrate associated with the encoding of block of pixels pertaining to the specific portion of the scene; and setting a motion trigger level based on the motion base level.Type: ApplicationFiled: December 18, 2018Publication date: June 27, 2019Applicant: Axis ABInventors: Viktor Edpalm, Axel Keskikangas
-
Patent number: 10334267Abstract: A video encoder receives a frame to be encoded and divides the current frame into blocks of pixels. For each block, a spatial variability is calculated and a cost function used to evaluate a cost for inter-coding the block of pixels is set to be dependent on the spatial variability. A ratio of a weight associated with a cost of encoding a motion vector and a weight associated with a sum of differences value is set to be lower if the spatial variability of the block of pixels in the current frame is below a first threshold compared to if the spatial variability is equal to or above the first threshold. The block is matched with a plurality of blocks in a reference frame, and a cost for inter-coding the block with reference to each of the plurality of blocks in a reference frame is evaluated according to the cost function.Type: GrantFiled: February 12, 2018Date of Patent: June 25, 2019Assignee: Axis ABInventor: Viktor Edpalm
-
Publication number: 20190191105Abstract: A controller and method therein for controlling encoding of a set of images to enable blending of an overlapping area, where a first image and a second image overlap each other are disclosed. The controller encodes macroblocks of the non-overlapping area in the first image using a set of base quantization parameter values, QP-values, and adds the same set of base QP-values to a header of each macroblock. The controller encodes macroblocks of the overlapping area in the first image using a set of first QP values, and adds a modified set of the first QP-values to a header of each macroblock. The controller encodes macroblocks of the overlapping area in the second image using a set of second QP values, and adds a modified set of the second QP-values to a header of each macroblock.Type: ApplicationFiled: November 26, 2018Publication date: June 20, 2019Applicant: Axis ABInventors: Song Yuan, Viktor Edpalm
-
Publication number: 20190116382Abstract: A method and an encoder for encoding a video stream in a video coding format supporting auxiliary frames which includes receiving first image data captured by a video capturing device, using the first image data as image data of a first auxiliary frame, encoding the first auxiliary frame as an intra frame, and encoding a first frame as an inter frame referencing the first auxiliary frame, wherein motion vectors of the first frame are representing a first image transformation to be applied to the first image data.Type: ApplicationFiled: October 4, 2018Publication date: April 18, 2019Applicant: Axis ABInventors: Viktor Edpalm, Hampus Linse
-
Publication number: 20190116371Abstract: A method and an encoder for encoding a video stream in a video coding format supporting auxiliary frames, where such auxiliary frames, in conjunction with the frames that reference the auxiliary frames, can be used to for rate control, in that the image data of the auxiliary frames comprises a down scaled version of an image data captured by a video capturing device, and that motion vectors of the frame referring to the auxiliary frame are calculated/determined to scale up the down scaled version of the image data to again have the intended resolution.Type: ApplicationFiled: October 17, 2018Publication date: April 18, 2019Applicant: Axis ABInventors: Viktor Edpalm, Hampus Linse
-
Publication number: 20190104317Abstract: A method and a video encoding system for encoding a video stream include video data representing sequentially related image frames, wherein the image frames include a predefined first subarea and a predefined second subarea. The method comprises defining a first bitrate budget, defining a second bitrate budget, encoding the video stream including applying the first bitrate budget to video data of the first subarea and applying the second bitrate budget to video data of the second subarea. The video encoding system comprises an image processor for processing the image stream, a memory including values defining a first bitrate budget and a second bitrate budget, respectively, and a first subarea and a second subarea of the image frames of the image stream and an encoder arranged to encode the image stream, the encoding including applying the first bitrate budget to video data of the first subarea and applying the second bitrate budget to video data of the second subarea.Type: ApplicationFiled: October 2, 2018Publication date: April 4, 2019Applicant: Axis ABInventors: Viktor Edpalm, Song Yuan
-
Patent number: 10142528Abstract: There is provided a method for controlling an infrared cut, IR-cut, filter of a video camera. An indication to switch state of the IR-cut filter of the video camera is received, and a switch of state of the IR-cut filter is synchronized with a video encoding of frames captured by the video camera, such that the IR-cut filter is controlled to switch state when the video camera is about to capture a frame which is a predetermined number of frames before a frame which is scheduled to be encoded as an intra-frame.Type: GrantFiled: November 28, 2017Date of Patent: November 27, 2018Assignee: Axis ABInventor: Viktor Edpalm
-
Publication number: 20180338084Abstract: A system comprising a video camera and a client device and a method performed therein. The video camera captures a plurality of images concurrently using a plurality of image sensors having partly overlapping fields of views. Overlapping portions of the images are identified, and the images are joined to generate a panorama image. When joining the images, image data is included from only one of the images in overlapping portions, and image data from the other images in the overlapping portions is ignored. The panorama image and the ignored image data is encoded and transmitted to the client device in an encoded video stream. The client device decodes the video stream and, if the client device is customized, it updates the panorama image in portions corresponding to overlapping portions of the plurality of images using the image data that was ignored by the video camera when generating the panorama image.Type: ApplicationFiled: May 15, 2018Publication date: November 22, 2018Applicant: Axis ABInventors: Viktor Edpalm, Song Yuan, Alexandre Martins
-
Publication number: 20180310022Abstract: A method and an apparatus for forming a video stream based on images of a scene captured by a camera. The method comprises: encoding image frames based on images captured by the camera, forming an encoded portion; determining a length of motion for a sample image frame, the length of motion being indicative of the amount of relative motion between the camera and the scene in the sample image frame relative a temporally preceding image frame; setting a motion length threshold based on a motion vector search range of the encoder; comparing the determined length of motion with the set motion length threshold; based on the outcome of the comparison, adjusting a chosen temporal frame distance of at least an adjustment portion (PA) of the video stream, wherein the adjustment portion is comprised in the encoded portion or in a temporally later encoded portion.Type: ApplicationFiled: April 24, 2018Publication date: October 25, 2018Applicant: Axis ABInventors: Viktor Edpalm, Björn Ardö
-
Publication number: 20180309986Abstract: A controller and a method for controlling output bitrate of a video encoder when encoding a video stream. The method for controlling output bitrate of a video encoder when encoding a video stream comprises: receiving weather forecast data for a location where the video stream is captured; predicting, based on the weather forecast data, a future increase in output bitrate of the video encoder due to weather affecting contents of the video stream; and reducing the output bitrate of the video encoder by increasing a compression level of the video stream so as to compensate for the future increase in output bitrate of the video encoder.Type: ApplicationFiled: April 23, 2018Publication date: October 25, 2018Applicant: AXIS ABInventor: Viktor Edpalm
-
Publication number: 20180309998Abstract: A method of controlling output bitrate of a video encoder encoding a video sequence. The method comprises setting a long-term bit budget for a time period of at least one day for output of the video encoder, and determining a first allowable bitrate based on the long-term bit budget. The method further comprises determining an instantaneous bit restriction for output of the video encoder, and determining a second allowable bitrate based on the instantaneous bit restriction. Output bitrate is controlled based on the first allowable bitrate and the second allowable bitrate, such that the long-term bit budget, the first allowable bitrate and the second allowable bitrate are complied with. The method may be performed in a non-transitory computer-readable medium having instruction stored thereon. The method may also be performed by a bitrate controller. The bitrate controller may be found in a camera and a network video recorder.Type: ApplicationFiled: April 23, 2018Publication date: October 25, 2018Applicant: AXIS ABInventors: Viktor Edpalm, Alexander Toresson, Alexandre Martins
-
Patent number: 10110929Abstract: A method of pre-processing digital images captured by an image sensor for encoding is disclosed. The method comprises receiving a first digital image, receiving information representative of a movement of the image sensor at a time of capture of said first digital image), and pre-processing said first digital image. At least one parameter of said pre-processing is dependent on said information representative of movement. A digital image pre-processing system is also disclosed.Type: GrantFiled: August 25, 2016Date of Patent: October 23, 2018Assignee: Axis ABInventors: Alexandre Martins, Viktor Edpalm, Xing Danielsson Fang, Lars Persson, Fredrik Pihl
-
Publication number: 20180278953Abstract: A method of encoding a video stream comprising receiving a frame of a video stream to be encoded, performing motion detection in the frame to identify steady regions, and temporally filtering the frame so as to provide temporally filtered pixel values. For a pixel in the steady regions of the frame, the temporally filtered pixel value is used when encoding the pixel, on a condition that the pixel belongs to a block of pixels of the frame that will be intra-coded. On a condition that the pixel instead belongs to a block of pixels of the frame that will be inter-coded, a value that was used when encoding a corresponding pixel of the immediately preceding frame is used when encoding the pixel.Type: ApplicationFiled: March 22, 2018Publication date: September 27, 2018Applicant: Axis ABInventors: Anton Öhrn, Viktor Edpalm, Henrik Eliasson, Björn Benderius, Niclas Svensson, Xing Danielsson Fan, Fredrik Pihl
-
Publication number: 20180278849Abstract: A method for controlling a video camera which is configured to capture and process image frames prior to encoding. The method comprises determining whether the video camera is going to encode an image frame as an intra-frame or an inter-frame. If the image frame is going to be encoded as an inter-frame, the video camera is controlled to capture and process the image frame using first settings prior to encoding. If the image frame is going to be encoded as an intra-frame, the video camera is controlled to capture and process the image frame using second settings prior to encoding, wherein the second settings are modified in relation to the first settings to further reduce a level of noise in the image frame.Type: ApplicationFiled: March 22, 2018Publication date: September 27, 2018Applicant: Axis ABInventors: Fredrik Pihl, Xing Danielsson Fan, Björn Benderius, Viktor Edpalm, Niclas Svensson, Henrik Eliasson
-
Publication number: 20180270482Abstract: A method of determining a maximum permissible key frame distance for use in encoding image frames in a video sequence comprising encoding a plurality of video test sequences, each video test sequence having a respective noise level, where each video test sequence is encoded using a respective quantization parameter and a plurality of key frame distances is disclosed. For each video test sequence, an output bitrate is determined for each key frame distance. For each combination of noise level, quantization parameter, and key frame distance, the determined output bitrate is stored and a maximum key frame distance at which output bitrate decreases in response to an increase in key frame distance is identified as maximum permissible key frame distance. A method of encoding image frames in a video sequence is also disclosed, as well as a system, a camera and a computer program product for performing the methods.Type: ApplicationFiled: March 14, 2018Publication date: September 20, 2018Applicant: Axis ABInventors: Viktor Edpalm, Xing Danielsson Fan
-
Patent number: 10075727Abstract: A method is performed in an encoder for encoding a video stream captured by a camera, and a computer program product and encoder implementing the method.Type: GrantFiled: March 15, 2017Date of Patent: September 11, 2018Assignee: Axis ABInventor: Viktor Edpalm
-
Publication number: 20180255315Abstract: A video encoder receives a frame to be encoded and divides the current frame into blocks of pixels. For each block, a spatial variability is calculated and a cost function used to evaluate a cost for inter-coding the block of pixels is set to be dependent on the spatial variability. A ratio of a weight associated with a cost of encoding a motion vector and a weight associated with a sum of differences value is set to be lower if the spatial variability of the block of pixels in the current frame is below a first threshold compared to if the spatial variability is equal to or above the first threshold. The block is matched with a plurality of blocks in a reference frame, and a cost for inter-coding the block with reference to each of the plurality of blocks in a reference frame is evaluated according to the cost function.Type: ApplicationFiled: February 12, 2018Publication date: September 6, 2018Applicant: Axis ABInventor: Viktor Edpalm
-
Publication number: 20180176597Abstract: A method for encoding an image comprising a plurality of pixels into an encoded image frame of a video stream, the method comprising: receiving pixel divided image data of the image, wherein the pixel divided image data represents the pixels of the image; grouping the pixels of the image into encoding units, wherein each encoding unit comprises a plurality of neighboring pixels; receiving data defining a privacy mask and graphical characteristics of the privacy mask; identifying all encoding units having one or more pixels located within the privacy mask; extending the privacy mask to be aligned with the identified encoding units, thereby forming a redefined privacy mask covering the identified encoding units; generating a privacy masked image by applying the redefined privacy mask and the received graphical characteristics to the image; and encoding the privacy masked image into the encoded image frame of the video stream.Type: ApplicationFiled: December 20, 2017Publication date: June 21, 2018Applicant: Axis ABInventors: Viktor Edpalm, Song Yuan