This invention relates to a method and an apparatus for video coding, and more particularly, to a method and an apparatus for inter-layer prediction with color mapping in scalable video encoding.
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
A pixel in a picture may be transformed from one color space to another color space, or more generally, from one color to another color. For example, in scalable video coding, Enhancement Layer (EL) pictures are usually predicted from (possibly upsampled) decoded Base Layer (BL) pictures. When the EL pictures and the BL pictures are represented with different color spaces and/or have been color graded differently, or have different luminance ranges (such as Standard Dynamic Range for the BL and High Dynamic Range for the EL) transforming the decoded BL pictures, for example, to the color space, or the dynamic range, of the EL may improve the prediction.
This color transform is also known as color mapping, which may be represented by a Color Mapping Function (CMF). The CMF can for example be approximated by a 3×3 gain matrix plus an offset (Matrix-Offset model), which are defined by 12 parameters. When only one set of Matrix-Offset model parameters is used to map the entire color space of the BL pictures, such an approximation of the CMF may not be very precise because it assumes a linear transform model. To improve the precision of color mapping, the color space of the BL pictures can be partitioned into multiple octants, wherein each octant is associated with a respective color mapping function.
In another example, a 3D Look Up Table (also known as 3D LUT), which indicates how a color (usually with three color components) is mapped to another color in a look-up table, can be used to describe a CMF. The 3D LUT can be much more precise because its size can be increased depending on the required accuracy. However, a 3D LUT may thus represent a huge data set.
In another example, the color transform can be performed by applying a one-dimensional color LUT independently on each color component of a picture or of a region in the picture. Since applying 1D LUT independently on each color component breaks component correlation, which may decrease the efficiency of the inter-layer prediction and thus the coding efficiency, a linear model such as a 3×3 matrix (in the case of 3 color components) and optionally a vector of offsets can be applied to the mapped components so as to compensate for the decorrelation between the components. Optionally, an additional transform can be performed by applying another one-dimensional color LUT independently on each color component of a picture or of a region in the picture.
According to an aspect of the present principles, a method for scalable video encoding is presented, comprising: transforming a block in a BL picture to a block of an ILR (Inter-Layer Reference) picture using color mapping; estimating whether an artifact exists in the block of the ILR picture; and encoding a block in an EL picture, using at least one of Intra prediction and Inter prediction, in response to the estimating, wherein the encoding excludes the block of the ILR picture from being used as a prediction block for the EL. The present embodiments also provide an apparatus for performing these steps.
According to another aspect of the present principles, a method for scalable video encoding is presented, comprising: transforming a block in a BL picture to a block of an ILR picture using color mapping; determining a first octant, in a color space, to which a first pixel of the BL picture belongs; determining whether the first pixel of the BL picture belongs to the boundary area of the first octant in the color space; estimating whether an artifact exists in the block of the ILR picture responsive to a first set of pixels in the BL picture that are spatially adjacent to the first pixel of the BL picture and belong to a boundary area of the first octant in the color space, wherein each pixel of the first set of pixels in the BL picture belongs to an adjacent octant of the first octant in the color space; and encoding a block in an EL (Enhancement Layer) picture, using at least one of Intra prediction and Inter prediction, in response to the estimating, wherein the encoding excludes the block of the ILR picture from being used as a prediction block for the EL. The present embodiments also provide an apparatus for performing these steps.
The present embodiments also provide a computer readable storage medium having stored thereon instructions for scalable video encoding according to the methods described above.
The present embodiments also provide a computer readable storage medium having stored thereon a bitstream generated according to the methods described above.
In scalable video coding, for example, as defined in the scalable extension of HEVC (also referred to as SHVC, as described in a document entitled “High Efficiency Video Coding, Recommendation ITU-T H.265,” published by ITU-T in October 2014), video signals represented in different layers can have different parameters, such as, but not limited to, spatial resolutions, sample bit depths, and color gamuts. Depending on which parameters differ between the BL and EL, appropriate forms of inter-layer processing are applied to the BL reconstructed pictures to derive the inter-layer reference (ILR) pictures for efficient EL coding.
In the following, we use a two-layer SHVC encoder to illustrate various embodiments according to the present principles. It should be noted that the present principles can be applied to any scalable video encoders with one or more enhancement layers.
When the color spaces and/or the color gamuts of the BL and of the EL are different, one can use a color mapping process to transform the pixels of the BL to form the inter-layer prediction of the EL pixels. In the following, the color mapping is also called CGS (Color Gamut Scalability) prediction as it supports color gamut scalability. In the present application, we use the YUV color space to illustrate different embodiments. The present principles can also be applied to other color spaces, for example, but not limited to, the RGB color space and XYZ color space. The present principles can also be applied when the BL and EL use different color spaces.
As described before, to improve the precision of color mapping, the color space of the BL pictures can be partitioned into multiple octants, wherein each octant can be associated with a respective Matrix-Offset model.
Mathematically, the CGS prediction of EL pixel (y′, u′, v′) from the corresponding BL pixel (y,u,v) using the Matrix-Offset model can be described as:
where
is the gain matrix and
is the offset vector for octant i.
At step 440, the encoder begins to loop over individual octants in the current picture. At step 450, the encoder computes the CMF parameters, for example, twelve parameters of a Matrix-Offset model, for the current octant (Octi). The loop over individual octants ends at step 460. At step 470, the encoder performs CGS prediction to obtain the EL prediction from the BL pixel based on the CMF parameters. The CGS prediction may be performed, for example, on a block basis or on a picture basis. When it is performed on a block basis, for each pixel in a block, the encoder determines an octant to which the pixel belongs. Subsequently, using the CMF parameters for the octant, the encoder can transform the pixel into the EL prediction using the CMF. The encoder may also perform other operations, for example, but not limited to, spatial upsampling, bit depth upsampling to obtain the EL prediction. Based on the CGS prediction and/or other types of inter-layer prediction, the encoder encodes the enhancement layer for the current picture at step 480. The loop over individual pictures ends at step 490. Method 400 ends at step 499.
For the decoder to properly decode the bitstream, the CMF parameters are also encoded into the bitstream. For example, the CMF parameters can be encoded using syntax structures colour_mapping_table( ) and colour_mapping_octants( ), in PPS (Picture Parameter Set), as described in Sections F.7.3.2.3.4 and F.7.3.2.3.5 of the SHVC Specification.
In the current implementation of the SHVC reference software, the CMF parameters are estimated using an error minimization method (such as Least Square Minimization, LSM):
where ErrX(Mi,Oi)=Σ(y,u,v)ϵOct
The computation of the minimization problem (2) is performed separately for each octant, using the pixels (y,u,v) belonging to the current octant (i.e., (y,u,v)ϵOcti). Because different octants use different sets of pixels to estimate the CMF parameters, two pixels that are close in the BL color space, but belong to two different octants, may be transformed into two pixels that show color discontinuity in the EL prediction frame.
For example, a BL picture includes a red area with smooth gradients. After the partitioning of the color space, the colors corresponding to a first subset of the red area belong to one octant, and the colors corresponding to the rest of the red area belong to other octants. After color mapping (CGS prediction for EL), the color range corresponding to the first subset becomes more saturated than the color corresponding to the rest of the red color set. This generates artificial edge (artifact) in the area that was originally smooth in EL.
The present principles are directed to a method and an apparatus for reducing artifacts caused by the color space partitioning when performing color transform. In one embodiment, we choose not to use CGS prediction if we detect that the color discontinuity artifact is likely to occur in the ILR picture because of the color space partitioning.
Advantageously, the color discontinuity artifact in the ILR picture does not propagate into the encoded EL picture and the artifact is reduced in the reconstructed EL picture. Thus, the proposed techniques may improve the subjective quality of the reconstructed enhancement layer video.
As discussed above, when the ILR picture contains color discontinuity artifacts, at a low bit rate, the artifacts may not be compensated by the residuals, and thus the reconstructed EL picture may also appear to have color discontinuity artifacts. To reduce the artifacts in the reconstructed EL picture, we choose not to use the ILR picture as a reference picture for a block (i.e., not to use CGS prediction) if we determine that the color discontinuity artifact is likely to exist in a corresponding block of the ILR picture. That is, a block in the EL with a detected color discontinuity artifact in a corresponding ILR block may be coded using an Intra mode, or using EL pictures EL1, EL2, EL3 and EL4 as reference pictures, but not with the ILR picture PILR as a reference picture. Thus, the block may only choose from EL pictures EL1, EL2, EL3 and EL4 for a reference picture as shown in
Alternatively, at step 860, the encoder may set a value that prevents the encoder from choosing the ILR picture as a reference for the current block. For example, when the encoder computes an error between an EL block and its prediction from the ILR picture, for example, using Sum of Absolute Difference (SAD) or L2 norm, the encoder may replace the ILR pixels by values that largely exceed the color range (for example, set the value to (10000,10000,10000) for 8-bit pixels) that will dramatically increase the SAD and prevent the encoder from using the ILR picture for prediction.
In the following, we describe the step of artifact detection 830 in further detail.
Artifact Detection (830)
For ease of notations, we define an area adjacent to the boundary of two octants in the color space as a boundary area. For example, in
For each pixel Si in the base layer, we denote its location as Xi and its color values as Ci=(yi,ui,vi). The distance between pixels Si and Sj (i.e., the distance between locations Xi and Xj, denoted as Disij(Si,Sj)) can be used to determine spatially neighboring pixels, for example, pixel Sj is considered to be a spatially neighboring pixel of Si if Disij(Si,Sj)≤aImgDis, where aImgDis is a threshold. In one example, threshold aImgDis can be set to 1.
Otherwise, if pixel Si belongs to the boundary area of OctK, at step 1040, the encoder starts to loop over spatially neighboring pixels of Si. For example, we may consider N spatially neighboring pixels Sj that satisfy Disij(Si,Sj)≤aImgDis. At step 1050, the encoder determines an octant (OctL) to which the current spatially neighboring pixel Sj belongs. At step 1055, the encoder determines whether pixels Si and Sj belong to different octants, whether octants OctK and OctL share a boundary, and whether Si and Sj belong to the boundary area. If the conditions are satisfied, the encoder computes a discontinuity error in the ILR picture, for example as |Pi−Pj|. The discontinuity error may be computed for each color component c (e.g., c=Y, U or V). According to a variant, the discontinuity error is computed as the local contrast ratio between the ILR and BL as |Pi−Pj|/|Si−Sj+1| of a given component c (e.g., c=Y, U or V). According to another variant, the error is derived as a weighted linear combination of the errors for several color components.
At step 1070, the encoder increments the counter n(Pi) if the discontinuity error Eij exceeds a threshold. At step 1080, the encoder checks whether there are more spatially neighboring pixels for the current pixel Si. If yes, the control returns to step 1050. Otherwise, at step 1090, the encoder determines that a color discontinuity artifact may exist at pixel Pi if n(Pi) exceeds a threshold and marks pixel Pi as “artifact.” At step 1095, the encoder checks whether there are more pixels to be checked in the BL picture. If yes, the control returns to step 1030. Otherwise, method 1000 ends at step 1099.
Table 1 provides exemplary pseudo-code for one exemplary implementation, where nc is the number of color components and typically nc=3, th_cdiff is a threshold that may be used at step 1070, and th_neighbors is a threshold that may be used at step 1090.
In Table 1, we check for each color component whether the difference between Pi and Pj exceeds a threshold, and the counter n(Pi) increments by one if the difference between Pi and Pj exceeds a threshold for any color component. Alternatively, we may adjust the counter n(Pi) based on the comparison results for two or more color components. For example, we may only increment n(Pi) when the difference between Pi and Pj for two color components U and V both exceed the respective thresholds (i.e., “if (abs(Pi(c)−Pj(c))>th_cdiff(c))” can be replace by “if ((abs(Pi(U)−Pj(U))>th_cdiff(U)) && (abs(Pi(V)−Pj(V))>th_cdiff(V)))”).
In a variation, we also check whether a pixel has a perceptual significance, for example, whether a pixel has a more saturated color or belongs to a region of interest. We consider that artifact is more pronounced in the perceptually important area and only mark a pixel within such an area as an “artifact.”
In another variation, we may also consider the EL pixels as illustrated in Table 2 (the changes with respect to Table 1 are underlined). In particular, we further consider the differences between the ILR pixel and the original EL pixel for i (Ti) and j (Ti) respectively (Pi−Ti, Pj−Tj). If the difference varies significantly from pixel i to pixel j, we consider that the color discontinuity artifact is more likely to exist and increment the counter n(Pi). The difference between (Pi−Ti) and (Pj−Tj) can also be seen as a difference between (Pi−Pj) and (Ti−Tj). When the difference between (Pi−Pj) and (Ti−Tj) becomes large, it indicates the variation in the ILR picture is quite different from the variation in the EL picture and there may be an artifact.
In the above, we describe different embodiments in detecting whether an artifact may exist at a pixel in the ILR picture. After the artifact is detected for individual pixels, we can determine whether a block may contain an artifact. In one example, we consider that a block contains an artifact if an artifact is estimated to exist at any pixel within the block. We can also use other pooling methods to detect an artifact for a block based on the artifact detection results for individual pixels of the block.
In the above, we discussed various embodiments using the Matrix-Offset model. The present principles can also be applied when other models are used for color mapping.
In another embodiment, we may include a filtering step in the CGS module at both the encoder and decoder to reduce the artifacts. In various embodiments, an image filter may be applied to the whole image, to image sections where the corresponding samples fall into the overlapped octant boundaries as described in a commonly owned U.S. application, entitled “Method and Apparatus for Generating Color Mapping Parameters for Video Encoding” by P. Bordes, K. Cai, and F. Hiron (U.S. application Ser. No. 14/699,736, Attorney Docket No. PF150107, hereinafter “PF150107”), the teachings of which are specifically incorporated herein by reference, or to the image sections where artifacts are detected as described above.
In a variation, the encoder calculates CLUT parameters by overlapping all or part of the octants, as described in PF150107. For samples of inter-layer prediction frames which fall into the overlapped boundaries, both the encoder and decoder calculate their values using the CLUT parameters of the related octants. The ILP prediction of sample Si which falls into the overlap area of Oct′i and Oct′j could be calculated as follows:
ILP(Si)=wii*CLUTOct′
where CLUTOct′
The image filter may be an averaging filter that averages a current sample with neighboring samples. In another example, the filter may be designed as follows:
where Sj is the neighbor of Si which falls into overlapped octant boundaries or introduces artifacts to the frame.
In the above, we describe the application of filtering to the ILR picture. The filtering can also be applied to the reconstructed or decoded enhancement layer pictures.
To indicate whether the filtering step is used during generating the bitstream, a flag can be added to the output bitstream. A data field can also be added to the output bitstream to indicate the size of the overlapped octant boundary.
In another embodiment, we may combine octants whose common boundary/boundaries could introduce high color discontinuities when calculating CLUT parameters for color space CLUT partition. In one example, initially we can uniformly partition the color space, for example, according to the input parameters. Then we can calculate the current CLUT parameters using the current color space partition. If the octant boundary edge/face/points may introduce artifacts to the reconstructed pictures, the octants whose sharing boundary has the maximum number of “artifact” samples, can be combined into one octant in the new partition. Alternatively, the octants with “artifact” sharing boundaries can be combined into a new octant. We may use a lookup table which includes all sets of the CLUT parameters in the bitstream. One or more bits can be used for each elementary octant to indicate the index into the lookup table for the CLUT parameters.
The system 1100 may include at least one processor 1110 configured to execute instructions loaded therein for implementing the various processes as discussed above. Processor 1110 may include embedded memory, input output interface and various other circuitries as known in the art. The system 1100 may also include at least one memory 1120 (e.g., a volatile memory device, a non-volatile memory device). System 1100 may additionally include a storage device 1140, which may include non-volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive. The storage device 1140 may comprise an internal storage device, an attached storage device and/or a network accessible storage device, as non-limiting examples. System 1100 may also include an encoder/decoder module 1130 configured to process data to provide an encoded video or decoded video.
Encoder/decoder module 1130 represents the module(s) that may be included in a device to perform the encoding and/or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 1130 may be implemented as a separate element of system 1100 or may be incorporated within processors 1110 as a combination of hardware and software as known to those skilled in the art.
Program code to be loaded onto processors 1110 to perform the various processes described hereinabove may be stored in storage device 1140 and subsequently loaded onto memory 1120 for execution by processors 1110. In accordance with the exemplary embodiments of the present principles, one or more of the processor(s) 1110, memory 1120, storage device 1140 and encoder/decoder module 1130 may store one or more of the various items during the performance of the processes discussed herein above, including, but not limited to the base layer input video, the enhancement layer input video, equations, formula, matrices, variables, operations, and operational logic.
The system 1100 may also include communication interface 1150 that enables communication with other devices via communication channel 1160. The communication interface 1150 may include, but is not limited to a transceiver configured to transmit and receive data from communication channel 1160. The communication interface may include, but is not limited to, a modem or network card and the communication channel may be implemented within a wired and/or wireless medium. The various components of system 1100 may be connected or communicatively coupled together using various suitable connections, including, but not limited to internal buses, wires, and printed circuit boards.
The exemplary embodiments according to the present principles may be carried out by computer software implemented by the processor 1110 or by hardware, or by a combination of hardware and software. As a non-limiting example, the exemplary embodiments according to the present principles may be implemented by one or more integrated circuits. The memory 1120 may be of any type appropriate to the technical environment and may be implemented using any appropriate data storage technology, such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory and removable memory, as non-limiting examples. The processor 1110 may be of any type appropriate to the technical environment, and may encompass one or more of microprocessors, general purpose computers, special purpose computers and processors based on a multi-core architecture, as non-limiting examples.
Referring to
The data transmission system 1200 receives processed data and other information from a processor 1201. In one implementation, the processor 1201 generates color mapping function parameters. The processor 1201 may also provide metadata to 1200 indicating, for example, the partitioning of the color space.
The data transmission system or apparatus 1200 includes an encoder 1202 and a transmitter 1204 capable of transmitting the encoded signal. The encoder 1202 receives data information from the processor 1201. The encoder 1202 generates an encoded signal(s).
The encoder 1202 may include sub-modules, including for example an assembly unit for receiving and assembling various pieces of information into a structured format for storage or transmission. The various pieces of information may include, for example, coded or uncoded video, and coded or uncoded elements. In some implementations, the encoder 1202 includes the processor 1201 and therefore performs the operations of the processor 1201.
The transmitter 1204 receives the encoded signal(s) from the encoder 1202 and transmits the encoded signal(s) in one or more output signals. The transmitter 1204 may be, for example, adapted to transmit a program signal having one or more bitstreams representing encoded pictures and/or information related thereto. Typical transmitters perform functions such as, for example, one or more of providing error-correction coding, interleaving the data in the signal, randomizing the energy in the signal, and modulating the signal onto one or more carriers using a modulator 1206. The transmitter 1204 may include, or interface with, an antenna (not shown). Further, implementations of the transmitter 1204 may be limited to the modulator 1206.
The data transmission system 1200 is also communicatively coupled to a storage unit 1208. In one implementation, the storage unit 1208 is coupled to the encoder 1202, and stores an encoded bitstream from the encoder 1202. In another implementation, the storage unit 1208 is coupled to the transmitter 1204, and stores a bitstream from the transmitter 1204. The bitstream from the transmitter 1204 may include, for example, one or more encoded bitstreams that have been further processed by the transmitter 1204. The storage unit 1208 is, in different implementations, one or more of a standard DVD, a Blu-Ray disc, a hard drive, or some other storage device.
Referring to
The data receiving system 1300 may be, for example, a cell-phone, a computer, a set-top box, a television, or other device that receives encoded video and provides, for example, decoded video signal for display (display to a user, for example), for processing, or for storage. Thus, the data receiving system 1300 may provide its output to, for example, a screen of a television, a computer monitor, a computer (for storage, processing, or display), or some other storage, processing, or display device.
The data receiving system 1300 is capable of receiving and processing data information. The data receiving system or apparatus 1300 includes a receiver 1302 for receiving an encoded signal, such as, for example, the signals described in the implementations of this application. The receiver 1302 may receive, for example, a signal providing a bitstream, or a signal output from the data transmission system 1200 of
The receiver 1302 may be, for example, adapted to receive a program signal having a plurality of bitstreams representing encoded pictures. Typical receivers perform functions such as, for example, one or more of receiving a modulated and encoded data signal, demodulating the data signal from one or more carriers using a demodulator 1304, de-randomizing the energy in the signal, de-interleaving the data in the signal, and error-correction decoding the signal. The receiver 1302 may include, or interface with, an antenna (not shown). Implementations of the receiver 1302 may be limited to the demodulator 1304.
The data receiving system 1300 includes a decoder 1306. The receiver 1302 provides a received signal to the decoder 1306. The signal provided to the decoder 1306 by the receiver 1302 may include one or more encoded bitstreams. The decoder 1306 outputs a decoded signal, such as, for example, decoded video signals including video information.
The data receiving system or apparatus 1300 is also communicatively coupled to a storage unit 1307. In one implementation, the storage unit 1307 is coupled to the receiver 1302, and the receiver 1302 accesses a bitstream from the storage unit 1307. In another implementation, the storage unit 1307 is coupled to the decoder 1306, and the decoder 1306 accesses a bitstream from the storage unit 1307. The bitstream accessed from the storage unit 1307 includes, in different implementations, one or more encoded bitstreams. The storage unit 1307 is, in different implementations, one or more of a standard DVD, a Blu-Ray disc, a hard drive, or some other storage device.
The output data from the decoder 1306 is provided, in one implementation, to a processor 1308. The processor 1308 is, in one implementation, a processor configured for performing post-processing. In some implementations, the decoder 1306 includes the processor 1308 and therefore performs the operations of the processor 1308. In other implementations, the processor 1308 is part of a downstream device such as, for example, a set-top box or a television.
The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users.
Reference to “one embodiment” or “an embodiment” or “one implementation” or “an implementation” of the present principles, as well as other variations thereof, mean that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment of the present principles. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
Additionally, this application or its claims may refer to “determining” various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
Further, this application or its claims may refer to “accessing” various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
Additionally, this application or its claims may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, “receiving” is typically involved, in one way or another, during operations such as, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry the bitstream of a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
Number | Date | Country | Kind |
---|---|---|---|
15305865.6 | Jun 2015 | EP | regional |
15305897.9 | Jun 2015 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2016/062609 | 6/3/2016 | WO | 00 |