Method and apparatus for obtaining HOA coefficients
Patent Information
- Application Number
- JP2023553523
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-05
- Filing Date
- 2022-03-02
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2042-03-02
Smart Images

Figure 0007634709000042 
Figure 0007634709000043 
Figure 0007634709000044
Abstract
Description
[Technical field]
[0001] This application claims priority to Chinese Patent Application No. 202110246382.6, entitled “Method and Apparatus for Obtaining HOA Coefficient,” filed with the China National Intellectual Property Office on March 5, 2021, and is hereby incorporated by reference in its entirety.
[0002] The present application relates to audio processing technology, and in particular to a method and apparatus for obtaining HOA coefficients. [Background technology]
[0003] Three-dimensional audio technology is an audio technology that acquires, processes, transmits, renders, and plays real-world sound events and three-dimensional sound field information through computers, signal processing, etc. Three-dimensional audio technology can give sound a strong sense of space, surroundings, and immersion, providing humans with an "immersive" auditory experience. At present, the mainstream three-dimensional audio technology is higher order ambisonics (HOA) technology. HOA technology has the following characteristics: recording and encoding are independent of the layout of speakers in the playback stage, and data in HOA format is rotatable. Therefore, HOA technology has more flexibility in three-dimensional audio playback, and has therefore been more widely paid attention to and studied.
[0004] In HOA technology, the HOA signal is converted into a real speaker signal and played back, or the HOA signal is converted into a virtual speaker signal, and then the virtual speaker signal is binaurally mapped and played back. In the above process, the calculation of the HOA coefficient is a key step. In the related technology, the HOA coefficient is calculated based on the P-th order spherical harmonic expansion formula.
[0005] However, the above method has a large computational complexity and a large requirement for storage space. Summary of the Invention
[0006] The present application provides a method and apparatus for obtaining HOA coefficients, which reduces the amount of calculation in the preliminary stage and saves storage space.
[0007] According to a first aspect, the present application provides a method for acquiring an HOA coefficient, the method including the steps of: acquiring position information of a virtual speaker on a preset spherical surface, the position information including height information and / or azimuth information, the preset spherical surface including M meridian circles and N latitude circles, an intersection point between the meridian circle and the latitude circle is called a reference point, the N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitude circle are equally spaced; acquiring a trigonometric function value corresponding to the position information based on the position information and a preset reference trigonometric function table, the reference trigonometric function table including a height trigonometric function table and / or an azimuth trigonometric function table, the height trigonometric function table including a plurality of trigonometric function values corresponding to height information of a plurality of first reference points, the plurality of first reference points are reference points on a first meridian circle, and a quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1, The method includes the steps of: (a) obtaining high-order Ambisonics HOA coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information; (b) obtaining high-order Ambisonics HOA coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information; (c) obtaining high-order Ambisonics HOA coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information;
[0008] In the present application, it is only necessary to obtain in advance the trigonometric function values of one-quarter of all reference points on the meridian circle in the preset sphere (altitude trigonometric function table) and / or the trigonometric function values of one-quarter of all reference points on the latitude circle in the preset sphere (azimuth trigonometric function table), and the trigonometric function values at any angle between 0° and 360° may be obtained based on the trigonometric function table. In this way, the amount of calculations in the preliminary stage can be reduced. In addition, since the number of angles in the trigonometric function table is reduced, the amount of data of the trigonometric function table that needs to be stored is correspondingly reduced, thereby saving storage space.
[0009] The preset sphere includes M meridian circles and N latitude circles, and the intersections of the meridian circles and the latitude circles are called reference points, and the N reference points located on one meridian circle are arranged at equal intervals, and the M reference points located on one latitude circle are arranged at equal intervals. In order to ensure that the reference points can cover all virtual speakers as much as possible, the following condition may be satisfied: M×N≧K, where K is the total number of virtual speakers. For example, the value of K may be 2048, 1024, or 530. In this application, the azimuth information between any two adjacent meridian circles is equal, that is, the M meridian circles are evenly distributed on the sphere, so the N reference points located on one meridian circle are arranged at equal intervals, and the height information between any two adjacent latitude circles is equal, that is, the N latitude circles are evenly distributed on the sphere, so the M reference points located on one latitude circle are arranged at equal intervals. Correspondingly, the N reference points located on one meridian circle are equally spaced, so that the difference in height information between any two adjacent reference points located on one meridian circle is equal, and latitude Located on a circle M The reference points are equally spaced, so one latitude The difference in orientation information between any two adjacent reference points located on a circle is equal.
[0010] The virtual speaker may be any virtual speaker arranged for sound rendering. The position information of the virtual speaker on the sphere includes elevation information and / or azimuth information. The included angle between the earth horizon (e.g., the plane on which the equator is located) and the connecting line between the virtual speaker's position and the center of the Earth is the elevation information (or referred to as information on the angle made with the horizon) of the virtual speaker's position information, and the included angle between the specified initial direction and the projection on the earth horizon of the connecting line between the virtual speaker's position and the center of the Earth is the azimuth information of the virtual speaker's position information. Optionally, the azimuth information in this application may also be referred to as azimuth.
[0011] The reference trigonometric function tables include an elevation trigonometric function table and / or an azimuth trigonometric function table.
[0012] The height trigonometric function table includes a plurality of trigonometric function values corresponding to height information of a plurality of first reference points. The plurality of first reference points are reference points on a first meridian circle. The quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1, where └┘ indicates truncation. The first meridian circle is one of the M meridian circles.
[0013] In the present application, any one of the M meridian circles is selected as a first meridian circle, and the reference points (i.e., the plurality of first reference points) used to calculate the height trigonometric function table are selected from the N reference points on the first meridian circle. According to the principle of trigonometric functions, the angle range of 0° (0) to 360° (2π) may be divided into four sub-ranges: 0° (0) to 90° (π / 2), 90° (π / 2) to 180° (π), 180° (π) to 270° (3π / 2), and 270° (3π / 2) to 360° (2π). The trigonometric function value calculated by using any one of the four sub-ranges may be extended to the trigonometric function value within the angle range of 0° (0) to 360° (2π). Therefore, in the present application, while selecting the plurality of first reference points, the quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1. Specifically, at least a quarter of the N reference points on the first meridian circle are selected as the plurality of first reference points.
[0014] Optionally, the height information of the plurality of first reference points may belong to one of four sub-ranges, for example, the height information of the plurality of first reference points is within a sub-range of 0° (0) to 90° (π / 2), or the height information of the plurality of first reference points is within a sub-range of 90° (π / 2) to 180° (π), or the height information of the plurality of first reference points is within a sub-range of 180° (π) to 270° (3π / 2), or the height information of the plurality of first reference points is within a sub-range of 270° (3π / 2) to 360° (2π).
[0015] Optionally, the height information of the plurality of first reference points may belong to at least two of the four sub-ranges.For example, height information of a first portion of the plurality of first reference points is within a sub-range of 0° (0) to 90° (π / 2), and height information of a second portion of the reference points is within a sub-range of 90° (π / 2) to 180° (π), and during the calculation of the trigonometric function value, the height information of the two portions of the reference points does not overlap, or height information of one portion of the plurality of first reference points is within a sub-range of 90° (π / 2) to 180° (π), and height information of another portion of the reference points is within a sub-range of 180° (π) to 270° (3π / 2), and during the calculation of the trigonometric function value, The height information of the two portions does not overlap, or the height information of one portion of the plurality of first reference points is within a sub-range of 180° (π) to 270° (3π / 2), and the height information of another portion of the reference points is within a sub-range of 270° (3π / 2) to 360° (2π); during the calculation of the trigonometric function value, the height information of the two portions of the reference points does not overlap, or the height information of a first portion of the plurality of first reference points is within a sub-range of 0° (0) to 90° (π / 2), and the height information of a second portion of the reference points is within a sub-range of 90° (π / 2) to 180° (π). and the height information of the third portion of the reference points is within the sub-range of 180° (π) to 270° (3π / 2); during the calculation of the trigonometric function value, the height information of the three portions of the reference points does not overlap, or the height information of the first portion of the plurality of first reference points is within the sub-range of 90° (π / 2) to 180° (π), the height information of the second portion of the reference points is within the sub-range of 180° (π) to 270° (3π / 2), and the height information of the third portion of the reference points is within the sub-range of 270° (3π / 2) to 360° (2π); during the calculation of the trigonometric function value, The height information of the three portions of the reference points does not overlap, or the height information of a first portion of the plurality of first reference points is within the sub-range of 0° (0) to 90° (π / 2), the height information of a second portion of the reference points is within the sub-range of 90° (π / 2) to 180° (π), the height information of a third portion of the reference points is within the sub-range of 180° (π) to 270° (3π / 2), and the height information of a fourth portion of the reference points is within the sub-range of 270° (3π / 2) to 360° (2π), and during the calculation of the trigonometric function value, the height information of the four portions of the reference points does not overlap.
[0016] Non-overlapping may mean that the trigonometric function values calculated by using height information belonging to different subranges are not equal. For example, there are a total of four first reference points (n1, n2, n3, and n4), and the height information of n1 is 0, the height information of n2 is π / 6, the height information of n3 is π / 3, and the height information of n4 is π / 2, or the height information of n1 is 0, the height information of n2 is 2 / 3π, the height information of n3 is 4 / 3π, and the height information of n4 is 2π. It should be noted that in the present application, the subranges to which the height information of the multiple first reference points belong are not specifically limited, provided that the trigonometric function values of the height information of the multiple first reference points can cover the trigonometric function values at all angles within one of the subranges.
[0017] Correspondingly, the value range of the height information of the position information is from 0 to 2π.
[0018] In the present application, the plurality of trigonometric functions corresponding to the height information of the plurality of first reference points may be sine function values or cosine function values.
[0019] Optionally, the sine function value corresponding to the height information of the i-th first reference point satisfies the following equation (1):
[0020]
number
[0021] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle.
[0022] Optionally, a cosine function value corresponding to the height information of the i-th second reference point satisfies the following equation (2):
[0023]
number
[0024] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle.
[0025] The azimuth trigonometric function table includes a plurality of trigonometric function values corresponding to azimuth information of a plurality of second reference points. The plurality of second reference points are reference points on a first latitude circle. The quantity of the plurality of second reference points is equal to or greater than └M / 4┘+1, where └┘ indicates rounding down. The first latitude circle is one of the N latitude circles.
[0026] In the present application, any one of the N latitude circles is selected as the first latitude circle, and the reference points (i.e., the multiple second reference points) used to calculate the azimuth trigonometric function table are selected from the M reference points on the first latitude circle. Similarly, according to the principle of trigonometric functions, the angle range of 0° (0) to 360° (2π) may be divided into four sub-ranges: 0° (0) to 90° (π / 2), 90° (π / 2) to 180° (π), 180° (π) to 270° (3π / 2), and 270° (3π / 2) to 360° (2π). The trigonometric function values calculated by using any one of the four sub-ranges may be extended to trigonometric function values within the angle range of 0° (0) to 360° (2π). Therefore, in the present application, while selecting the plurality of second reference points, the quantity of the plurality of second reference points is equal to or greater than └M / 4┘+1. Specifically, at least a quarter of the M reference points on the first latitudinal circle are selected as the plurality of second reference points.
[0027] Optionally, the orientation information of the second reference points may belong to one of four sub-ranges, for example, the orientation information of the second reference points is within a sub-range of 0° (0) to 90° (π / 2), or the orientation information of the second reference points is within a sub-range of 90° (π / 2) to 180° (π), or the orientation information of the second reference points is within a sub-range of 180° (π) to 270° (3π / 2), or the orientation information of the second reference points is within a sub-range of 270° (3π / 2) to 360° (2π).
[0028] Optionally, the orientation information of the plurality of second reference points may belong to at least two of the four sub-ranges.For example, the orientation information of a first portion of the plurality of second reference points is within a sub-range of 0° (0) to 90° (π / 2), and the orientation information of a second portion of the reference points is within a sub-range of 90° (π / 2) to 180° (π), and during the calculation of the trigonometric function value, the orientation information of the two portions of the reference points does not overlap; or the orientation information of a first portion of the plurality of second reference points is within a sub-range of 90° (π / 2) to 180° (π), and the orientation information of a second portion of the reference points is within a sub-range of 180° (π) to 270° (3π / 2), and during the calculation of the trigonometric function value, the orientation information of the reference points The orientation information of the two parts of the reference points does not overlap, or the orientation information of a first part of the plurality of second reference points is within a sub-range of 180° (π) to 270° (3π / 2), and the orientation information of a second part of the reference points is within a sub-range of 270° (3π / 2) to 360° (2π); during the calculation of the trigonometric function value, the orientation information of the two parts of the reference points does not overlap, or the orientation information of a first part of the plurality of second reference points is within a sub-range of 0° (0) to 90° (π / 2), and the orientation information of a second part of the reference points is within a sub-range of 90° (π / 2) to 180° (π). and the orientation information of the third portion of the reference points is within a sub-range of 180° (π) to 270° (3π / 2); during the calculation of the trigonometric function value, the orientation information of the three portions of the reference points does not overlap; or the orientation information of the first portion of the plurality of second reference points is within a sub-range of 90° (π / 2) to 180° (π), the orientation information of the second portion of the reference points is within a sub-range of 180° (π) to 270° (3π / 2), and the orientation information of the third portion of the reference points is within a sub-range of 270° (3π / 2) to 360° (2π); during the calculation of the trigonometric function value, The orientation information of the three portions of the reference points does not overlap, or the orientation information of a first portion of the plurality of second reference points is within a sub-range of 0° (0) to 90° (π / 2), the orientation information of the second portion of the reference points is within a sub-range of 90° (π / 2) to 180° (π), the orientation information of the third portion of the reference points is within a sub-range of 180° (π) to 270° (3π / 2), and the orientation information of the fourth portion of the reference points is within a sub-range of 270° (3π / 2) to 360° (2π), and during the calculation of the trigonometric function value, the orientation information of the four portions of the reference points does not overlap.
[0029] Non-overlapping may mean that the trigonometric function values calculated by using the orientation information belonging to different subranges are not equal. For example, there are a total of four second reference points (n1, n2, n3, and n4), and the orientation information of n1 is 0, the orientation information of n2 is π / 6, the orientation information of n3 is π / 3, and the orientation information of n4 is π / 2, or the orientation information of n1 is 0, the orientation information of n2 is 2 / 3π, the orientation information of n3 is 4 / 3π, and the orientation information of n4 is 2π. It should be noted that in the present application, the subranges to which the orientation information of the multiple second reference points belong are not specifically limited, provided that the trigonometric function values of the orientation information of the multiple second reference points can cover the trigonometric function values at all angles within one of the subranges.
[0030] Correspondingly, the value range of the orientation information of the position information is from 0 to 2π.
[0031] In the present application, the plurality of trigonometric functions corresponding to the orientation information of the plurality of second reference points may be sine function values or cosine function values.
[0032] Optionally, the sine function value corresponding to the orientation information of the i-th second reference point satisfies the following equation (3):
[0033]
number
[0034] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle.
[0035] Optionally, a cosine function value corresponding to the orientation information of the i-th second reference point satisfies the following equation (4):
[0036]
number
[0037] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle.
[0038] It should be noted that the height trigonometric function table and the azimuth trigonometric function table may be calculated and stored in advance, or may be calculated and stored in real time based on the values of M and N. Optionally, since both the encoder and the decoder perform framing, during calculation of the HOA coefficients, when the value of M of the current audio frame is equal to the value of M of the previous audio frame, it may not be necessary to recalculate the azimuth trigonometric function table during processing of the current frame, and the azimuth trigonometric function table of the previous audio frame may be used directly, and when the value of N of the current audio frame is equal to the value of N of the previous audio frame, it may not be necessary to recalculate the height trigonometric function table during processing of the current frame, and the height trigonometric function table of the previous audio frame may be used directly.
[0039] In the present application, a trigonometric function value corresponding to height information of the position information of a virtual speaker on a preset spherical surface may be obtained based on height information of the position information and a height trigonometric function table, and / or a trigonometric function value corresponding to orientation information of the position information of a virtual speaker on a preset spherical surface may be obtained based on orientation information of the position information and a height trigonometric function table.
[0040] In the case of the position information of the virtual speaker on the preset spherical surface, it can be understood that the trigonometric function value corresponding to the position information may be obtained based on the specific content included in the position information and the specific content of the preset reference trigonometric function table. Specifically, the position information includes height information, and the trigonometric function value corresponding to the height information of the position information may be obtained based on the height information and the reference trigonometric function table (if the height trigonometric function table exists, the height trigonometric function table is used, or if the height trigonometric function table does not exist, the azimuth trigonometric function table is used), and the position information includes azimuth information, and the trigonometric function value corresponding to the azimuth information of the position information may be obtained based on the azimuth information and the reference trigonometric function table (if the azimuth trigonometric function table exists, the azimuth trigonometric function table is used, or if the azimuth trigonometric function table does not exist, the height trigonometric function table is used).
[0041] In the present application, the trigonometric function values corresponding to the height information of the position information may be obtained using several methods:
[0042] 1. When the height information of the position information is equal to the height information of a reference point among a plurality of first reference points, the trigonometric function value corresponding to the height information of the reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0043] The height information of the position information being equal to the height information of the reference point among the first reference points indicates that the height information corresponding to the position of the virtual speaker on the preset spherical surface is strictly equal to the angle in the height trigonometric function table, specifically, the position of the virtual speaker on the preset spherical surface coincides with the position of the reference point selected to obtain the height trigonometric function table. Therefore, the trigonometric function value of the height information may be directly queried from the height trigonometric function table.
[0044] 2. When the height information of the position information is equal to the height information of a reference point among N reference points other than the multiple first reference points, the height information of the position information is converted to the height information of the reference point among the multiple first reference points, and the trigonometric function value corresponding to the height information of the reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0045] The height information of the position information is equal to the height information of the reference point among the N reference points other than the plurality of first reference points, which indicates that the height information corresponding to the position of the virtual speaker on the preset spherical surface does not belong to an angle in the height trigonometric function table, but is equal to the height information of another reference point on the first meridian, specifically, the position of the virtual speaker on the preset spherical surface coincides with the position of the reference point, which is not used to obtain the height trigonometric function table, but the height information of the reference point has a trigonometric function corresponding to the angle in the trigonometric function table. Therefore, the height information of the position information may be converted into the height information of the reference point among the plurality of first reference points according to the principle of trigonometric function, and then the trigonometric function value corresponding to the height information of the reference point among the plurality of first reference points is obtained through table lookup, and the trigonometric function value corresponding to the height information of the reference point among the plurality of first reference points is used as the trigonometric function value corresponding to the height information of the position information.
[0046] 3. When the height information of the position information is not equal to any of the height information of the reference point, the height information of the reference point corresponding to the position information is obtained based on the height information of the position information. When the height information of the reference point corresponding to the position information is equal to the height information of the reference point among the multiple first reference points, a trigonometric function value corresponding to the height information of the reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information. When the height information of the reference point corresponding to the position information is equal to the height information of the reference point among the N reference points other than the multiple first reference points, the height information of the reference point corresponding to the position information is converted to the height information of the reference point among the multiple first reference points, and a trigonometric function value corresponding to the height information of the reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0047] The height information of the position information not being equal to the height information of any of the reference points indicates that the position of the virtual speaker on the preset spherical surface is neither on the meridian nor on the latitude circle. Therefore, the height information of the reference point corresponding to the position information is first obtained, and then the trigonometric function value corresponding to the height information of the reference point is obtained according to method 1 or method 2, and the trigonometric function value corresponding to the height information of the reference point is used as the trigonometric function value corresponding to the height information of the position information.
[0048] Optionally, the location information may be represented by using an index, and the index may include a height index and a direction index. For example, on any latitude circle, the direction of the reference point not distributed on the latitude circle is set to 0, and then the corresponding direction index is obtained through a conversion based on a preset conversion formula between the direction and the direction index. Since the difference in direction between any adjacent reference points on the latitude circle is equal, the direction of other reference points on the latitude circle may be obtained, and the direction index of other reference points is obtained based on the conversion formula. It should be noted that the specific reference point on the latitude circle whose direction is set to 0 is not specifically limited in this application. Similarly, since the difference in height between adjacent reference points along the direction of the meridian circle meets the above requirements, after the reference point whose height is 0 is set, the height of other reference points may be obtained, and the height index of all reference points on the meridian circle may be obtained based on the preset conversion formula between the height and the height index. It should be noted that the specific reference point on the meridian circle whose height is set to 0 is not specifically limited in this application. For example, the reference point may be an equatorial reference point, a South Pole reference point, or a North Pole reference point.
[0049] Optionally, the height φ and the index φ′ of the height information satisfy the following equation (5) (specifically, a conversion equation between the height and the height index).
[0050]
number
[0051] In the formula, r iindicates the radius of the first meridian, and round() indicates rounding.
[0052] In the present application, the trigonometric function values corresponding to the orientation information of the position information may be obtained using several methods:
[0053] 1. When the orientation information of the location information is equal to the orientation information of a reference point among a plurality of second reference points, the trigonometric function value corresponding to the orientation information of the reference point in the orientation trigonometric function table is used as the trigonometric function value corresponding to the orientation information of the location information.
[0054] The orientation information of the position information being equal to the orientation information of the reference point among the second reference points indicates that the orientation information corresponding to the position of the virtual speaker on the preset spherical surface is strictly equal to the angle in the orientation trigonometric function table, specifically, the position of the virtual speaker on the preset spherical surface coincides with the position of the reference point selected to obtain the orientation trigonometric function table. Therefore, the trigonometric function value of the orientation information may be directly queried from the orientation trigonometric function table.
[0055] 2. When the orientation information of the location information is equal to the orientation information of a reference point among M reference points other than the multiple second reference points, the orientation information of the location information is converted to the orientation information of the reference point among the multiple second reference points, and the trigonometric function value in the orientation trigonometric function table corresponding to the orientation information of the reference point is used as the trigonometric function value corresponding to the orientation information of the location information.
[0056] The orientation information of the position information is equal to the orientation information of a reference point among the M reference points other than the second reference points, which indicates that the orientation information corresponding to the position of the virtual speaker on the preset spherical surface does not belong to an angle in the orientation trigonometric function table, but is equal to the orientation information of another reference point on the first meridian, specifically, the position of the virtual speaker on the preset spherical surface coincides with the position of the reference point, which is not used to obtain the orientation trigonometric function table, but the orientation information of the reference point has a trigonometric function corresponding to the angle in the trigonometric function table. Therefore, the orientation information of the position information may be converted into the orientation information of the reference point among the second reference points according to the principle of trigonometric function, and then the trigonometric function value corresponding to the orientation information of the reference point among the second reference points is obtained through table lookup, and the trigonometric function value corresponding to the orientation information of the reference point among the second reference points is used as the trigonometric function value corresponding to the orientation information of the position information.
[0057] 3. When the orientation information of the position information is not equal to the orientation information of any of the reference points, the orientation information of the reference point corresponding to the position information is obtained based on the orientation information of the position information. When the orientation information of the reference point corresponding to the position information is equal to the orientation information of a reference point among the multiple second reference points, a trigonometric function value corresponding to the orientation information of the reference point in the orientation trigonometric function table is used as a trigonometric function value corresponding to the orientation information of the position information. When the orientation information of the reference point corresponding to the position information is equal to the orientation information of a reference point among M reference points other than the multiple second reference points, the orientation information of the reference point corresponding to the position information is converted to the orientation information of the reference point among the multiple second reference points, and a trigonometric function value corresponding to the orientation information of the reference point in the orientation trigonometric function table is used as a trigonometric function value corresponding to the orientation information of the position information.
[0058] The fact that the orientation information of the position information is not equal to the orientation information of any of the reference points indicates that the position of the virtual speaker on the preset sphere is neither on the meridian nor on the latitude circle. Therefore, the orientation information of the reference point corresponding to the position information is first obtained, and then the trigonometric function value corresponding to the orientation information of the reference point is obtained according to method 1 or method 2, and the trigonometric function value corresponding to the orientation information of the reference point is used as the trigonometric function value corresponding to the orientation information of the position information.
[0059] Optionally, the direction θ and the index θ′ of the direction information satisfy the following equation (6) (specifically, a conversion equation between the direction and the direction index).
[0060]
number
[0061] In the formula, r j indicates the radius of the first meridian, and round() indicates rounding.
[0062] In the present application, it is sufficient to obtain in advance the trigonometric function values of one-quarter of all reference points on the meridian circle in the preset sphere (altitude trigonometric function table) and / or the trigonometric function values of one-quarter of all reference points on the latitude circle in the preset sphere (azimuth trigonometric function table), and the trigonometric function values at any angle between 0° and 360° may be obtained based on the trigonometric function table. In this way, the amount of calculations in the preliminary stage can be reduced. In addition, since the number of angles in the trigonometric function table is reduced, the amount of data of the trigonometric function table that needs to be stored is correspondingly reduced, thereby saving storage space.
[0063] According to a second aspect, the present application provides an apparatus for acquiring HOA coefficients, the apparatus including: an acquisition module configured to acquire position information of a virtual speaker on a preset spherical surface, the position information including height information and / or azimuth information, the preset spherical surface including M meridian circles and N latitude circles, an intersection point between the meridian circle and the latitude circle is called a reference point, the N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitude circle are equally spaced; and a calculation module for acquiring trigonometric function values corresponding to the position information based on the position information and a preset reference trigonometric function table, the reference trigonometric function table including a height trigonometric function table and / or an azimuth trigonometric function table, the height trigonometric function table including a plurality of trigonometric function values corresponding to height indexes of a plurality of first reference points, the plurality of first reference points are reference points on a first meridian circle, and a quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1, the azimuth trigonometric function table includes a plurality of trigonometric function values corresponding to azimuth indices of a plurality of second reference points, the plurality of second reference points being reference points on the first latitude circle, a quantity of the plurality of second reference points being greater than or equal to └M / 4┘+1, the first latitude circle being one of the N latitude circles, and a calculation module configured to obtain higher-order Ambisonics HOA coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information.
[0064] In a possible implementation, the calculation module is particularly configured to obtain a trigonometric function value corresponding to the height information of the position information based on the height information of the position information and the height trigonometric function table, and / or to obtain a trigonometric function value corresponding to the orientation information of the position information based on the orientation information of the position information and the orientation trigonometric function table.
[0065] In a possible implementation, when the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, the calculation module uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information; or when the height information of the position information corresponds to a height index of a reference point among the N reference points other than the plurality of first reference points, converts the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information; or when the height information of the position information does not correspond to a height index of any of the reference points, calculates a position based on the height information of the position information. and, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of the reference point among the plurality of first reference points, using a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information; or, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among N reference points other than the plurality of first reference points, converting the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and using the trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information.
[0066] In a possible implementation, when the orientation information of the location information corresponds to an orientation index of a reference point among the plurality of second reference points, the calculation module uses a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the location information; or when the orientation information of the location information corresponds to an orientation index of a reference point among the M reference points other than the plurality of second reference points, converts the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of the reference point among the plurality of second reference points, and uses a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the location information; or when the orientation information of the location information does not correspond to an orientation index of any of the reference points, based on the orientation information of the location information, The device is particularly configured to obtain orientation information of a reference point corresponding to the orientation information of the position information, and, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to the orientation index of a reference point among the plurality of second reference points, use a trigonometric function value in an orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the position information, or, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to the orientation index of a reference point among the M reference points other than the plurality of second reference points, convert the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of the reference point among the plurality of second reference points, and use a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the position information.
[0067] In a possible implementation, the height information of the position information comprises an height of the position information or an height index of the position information, and the orientation information of the position information comprises an orientation of the position information or an orientation index of the position information.
[0068] In a possible implementation, the trigonometric values are sine or cosine values.
[0069] In a possible implementation, when the plurality of trigonometric functions corresponding to the height indexes of the plurality of first reference points are sine function values, the sine function value corresponding to the height index of the i-th first reference point satisfies the following formula (1):
[0070]
number
[0071] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian, or When the plurality of trigonometric functions corresponding to the height indexes of the plurality of first reference points are cosine function values, the cosine function value corresponding to the height index of the i-th first reference point satisfies the following formula (2):
[0072]
number
[0073] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle.
[0074] In a possible implementation, when the plurality of trigonometric functions corresponding to the orientation indexes of the plurality of second reference points are sine function values, the sine function value corresponding to the orientation index of the j-th second reference point satisfies the following formula (3):
[0075]
number
[0076] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle, or When the plurality of trigonometric functions corresponding to the orientation indexes of the plurality of second reference points are cosine function values, the cosine function value corresponding to the orientation index of the j-th second reference point satisfies the following formula (4):
[0077]
number
[0078] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle.
[0079] In a possible implementation, the height φ and the height index φ′ satisfy the following equation (5):
[0080]
number
[0081] In the formula, r i indicates the radius of the first meridian, and round() indicates rounding.
[0082] In a possible implementation, the orientation θ and the orientation index θ′ satisfy the following equation (6):
[0083]
number
[0084] In the formula, r j indicates the radius of the first meridian, and round() indicates rounding.
[0085] In a height trigonometric function table in which the positions of the reference points are expressed in the form of height indices, assuming N=1024, the height trigonometric function table may include trigonometric function values corresponding to the height indices of the 257 reference points, for example, sin[0] to sin
[0256] .
[0086] Similarly, in an orientation trigonometric function table in which the positions of reference points are represented in the form of orientation indices, assuming M=1024, the orientation trigonometric function table may also contain trigonometric function values corresponding to the orientation indices of the 257 reference points, for example, sin[0] to sin
[0256] .
[0087] In a possible implementation, when M ≠ N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information; sin_table_N() denotes the height trigonometric function table; and When M ≠ N, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M In the formula, θ represents the azimuth information of the position information, or θ represents the azimuth information of the reference point corresponding to the azimuth information of the position information, and sin_table_M() represents the azimuth trigonometric function table, or or When M=N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table(φ') φ'<└N / 4┘ sin(φ)=sin_table(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information; sin_table_N() denotes the height trigonometric function table; and When M=N, the trigonometric function value corresponding to the azimuth information of the location information satisfies the following formula: sin(θ)=sin_table(θ') θ'<└N / 4┘ sin(θ)=sin_table(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ sin(θ)=-sin_table(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-sin_table(N-θ') └3N / 4┘≦θ' <N cos(θ)=sin_table(N / 4-θ') θ'<└N / 4┘ cos(θ)=-sin_table(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ cos(θ)=-sin_table(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ cos(θ)=sin_table(θ'-3N / 4) └3N / 4┘≦θ' <N In the formula, θ represents the azimuth information of the location information, or θ represents the azimuth information of the reference point corresponding to the azimuth information of the location information, and sin_table_N() represents a height trigonometric function table, or or When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M In the formula, θ represents the azimuth information of the location information, or θ represents the azimuth information of the reference point corresponding to the azimuth information of the location information; sin_table_M() represents the azimuth trigonometric function table; and When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_M(K1×φ') K1×φ'<└M / 4┘ sin(φ)=sin_table_M(M / 2-K1×φ') └M / 4┘≦K1×φ'<└M / 2┘ sin(φ)=-sin_table_M(K1×φ'-M / 2) └M / 2┘≦K1×φ'<└3M / 4┘ sin(φ)=-sin_table_M(M-K1×φ') └3M / 4┘≦K1×φ' <M cos(φ)=sin_table_M(M / 4-K1×φ') K1×φ'<└M / 4┘ cos(φ)=-sin_table_M(K1×φ'-M / 4) └M / 4┘≦K1×φ'<└M / 2┘ cos(φ)=-sin_table_M(3M / 4-K1×φ') └M / 2┘≦K1×φ'<└3M / 4┘ cos(φ)=sin_table_M(K1×φ'-3M / 4) └3M / 4┘≦K1×φ' <M In the formula, φ indicates the height information of the position information, or φ indicates the height information of the reference point corresponding to the height information of the position information, and sin_table_M() indicates the azimuth trigonometric function table, or or When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information; sin_table_N() denotes the height trigonometric function table; and When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_N(K2×θ') K2×θ'<└N / 4┘ sin(θ)=sin_table_N(N / 2-K2×θ') └N / 4┘≦K2×θ'<└N / 2┘ sin(θ)=-sin_table_N(K2×θ'-N / 2) └N / 2┘≦K2×θ'<└3N / 4┘ sin(θ)=-sin_table_N(N-K2×θ') └3N / 4┘≦K2×θ' <N cos(θ)=sin_table_N(N / 4-K2×θ') K2×θ'<└N / 4┘ cos(θ)=-sin_table_N(K2×θ'-N / 4) └N / 4┘≦K2×θ'<└N / 2┘ cos(θ)=-sin_table_N(3N / 4-K2×θ') └N / 2┘≦K2×θ'<└3N / 4┘ cos(θ)=sin_table_N(K2×θ'-3N / 4) └3N / 4┘≦K2×θ' <N In the formula, θ represents the azimuth information of the location information, or θ represents the azimuth information of the reference point corresponding to the azimuth information of the location information, and sin_table_N() represents a height trigonometric function table, or or When M ≠ N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(θ)=cos_table_N(N / 4-θ') θ'<└N / 4┘ sin(θ)=cos_table_N(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ sin(θ)=-cos_table_N(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-cos_table_N(θ'-3N / 4) └3N / 4┘≦θ' <N cos(θ)=cos_table_N(θ') θ'<└N / 4┘ cos(θ)=-cos_table_N(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ cos(θ)=-cos_table_N(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ cos(θ)=cos_table_N(N-θ') └3N / 4┘≦θ' <N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information; cos_table_N() denotes the height trigonometric function table; and When M ≠ N, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=cos_table_M(M / 4-θ') θ'<└M / 4┘ sin(θ)=cos_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ sin(θ)=-cos_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-cos_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M cos(θ)=cos_table_M(θ') θ'<└M / 4┘ cos(θ)=-cos_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ cos(θ)=-cos_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ cos(θ)=cos_table_M(M-θ') └3M / 4┘≦θ' <M In the formula, θ indicates the direction information of the position information, or θ indicates the direction information of the reference point corresponding to the direction information of the position information, and cos_table_M() indicates the direction trigonometric function table.
[0088] According to a third aspect, the present application provides an audio processing device comprising one or more processors and a memory configured to store one or more programs, the one or more programs being executed by the one or more processors enabling the one or more processors to implement a method according to any one of the implementations of the first aspect.
[0089] According to a fourth aspect, the present application provides a computer-readable storage medium comprising a computer program, which, when executed on a computer, enables the computer to perform a method according to any one of the implementations of the first aspect. [Brief description of the drawings]
[0090] [Figure 1] FIG. 1 illustrates an exemplary structure of an audio playback system according to the present application. [Diagram 2] 1 shows an exemplary structure of an audio decoding system 10 according to the present application. [Diagram 3] FIG. 2 illustrates an exemplary structure of an HOA encoding device according to the present application. [Figure 4] 1 is an exemplary flowchart illustrating a method for obtaining HOA coefficients according to the present application. [Diagram 5] FIG. 2 is an exemplary schematic diagram illustrating a preset sphere according to the present application. [Figure 6] FIG. 2 is an exemplary schematic diagram illustrating location information according to the present application. [Figure 7] FIG. 2 illustrates an exemplary structure of an apparatus for obtaining HOA coefficients according to the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0091] In order to make the objectives, technical solutions and advantages of the present application more clear, the technical solutions of the present application are described clearly and completely below with reference to the accompanying drawings of the present application. Obviously, the described embodiments are only a part of, but not all of, the embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts shall be within the protection scope of the present application.
[0092] In the embodiments, claims, and accompanying drawings of this application, terms such as "first" and "second" are merely for distinguishing and explaining purposes, and are not to be understood as indicating or implying relative importance or ordering. Furthermore, the terms "comprise" and "comprise" and variations thereof are intended to cover non-exclusive inclusions, such as the inclusion of a series of steps or units. A method, system, product, or device is not necessarily limited to the explicitly recited steps or units, but may include other steps or units not explicitly recited that are inherent to the process, method, product, or device.
[0093] In this application, it is to be understood that "at least one" means one or more, and "multiple" means more than one. The term "and / or" describes an association relationship between related objects and indicates that three relationships may exist. For example, "A and / or B" may indicate three cases: only A is present, only B is present, and both A and B are present, where A and B may be singular or plural. The character " / " usually indicates an "or" relationship between related objects. "At least one of the following items" or similar expressions indicates any combination of the items, such as any combination of one of the items or more than one of the items. For example, at least one of a, b, or c may indicate a, b, c, "a and b," "a and c," "b and" c, or "a, b, and c," where a, b, and c may be singular or plural. Two values separated by a "~" character typically indicate a range of values, which is inclusive of the two values separated by the "~" character.
[0094] Relevant terms in this application are described below.
[0095] Audio Frame: Audio data is in stream form. In practical applications, in order to facilitate audio processing and transmission, audio data within a certain duration is usually selected as an audio frame. This duration is called "sampling time", and the value of this duration can be determined by the requirements of the codec and individual applications. For example, this duration ranges from 2.5ms to 60ms, where ms is milliseconds.
[0096] Audio Signal: An audio signal is a carrier of information of varying frequency and amplitude: regular sound waves that contain voice, music, and sound effects. Audio is a continuously varying analog signal, sometimes represented as a continuous curve, and called a sound wave. A digital signal generated based on audio by analog-to-digital conversion or generated by a computer is an audio signal. Sound waves have three important parameters: frequency, amplitude, and phase, which determine the characteristics of an audio signal.
[0097] The system architecture to which the present application is applied will be described below.
[0098] Figure 1 is a diagram of an exemplary structure of an audio playback system according to the present application. As shown in Figure 1, the audio playback system includes an audio sending device and an audio receiving device. The audio sending device includes a device that can encode audio and send an audio bitstream, such as a mobile phone, a computer (such as a notebook computer or a desktop computer), or a tablet computer (such as a handheld tablet computer or a car-mounted tablet computer), etc. The audio receiving device includes a device that can receive an audio bitstream, decode the audio bitstream, and play the audio, such as a TWS headset, a general wireless headset, an acoustic device, a smart watch, or a smart glass, etc.
[0099] A Bluetooth connection can be established between the audio transmitting device and the audio receiving device, and voice and music can be transmitted between the audio transmitting device and the audio receiving device. Common examples of the audio transmitting device and the audio receiving device are a mobile phone and a TWS headset, a wireless head-mounted headset, or a wireless neckband headset, or a mobile phone and another terminal device (such as a smart speaker, a smart watch, a smart glasses, or a car speaker). Optionally, examples of the audio transmitting device and the audio receiving device can also be a tablet computer, a notebook computer, or a desktop computer and a TWS headset, a wireless head-mounted headset, a wireless neckband headset, or another terminal device (such as a smart speaker, a smart watch, a smart glasses, or a car speaker).
[0100] It should be noted that in addition to a Bluetooth connection, the audio transmitting device and the audio receiving device may alternatively be connected in other communication modes, such as a Wi-Fi connection, a wired connection, or another wireless connection, which is not particularly limited in this application.
[0101] FIG. 2 is a diagram of an example structure of an audio decoding system 10 according to the present application. As shown in FIG. 2, the audio decoding system 10 may include a source device 12 and a destination device 14. The source device 12 may be the audio transmitting device of FIG. 1, and the destination device 14 may be the audio receiving device of FIG. 1. The source device 12 generates encoded bitstream information. Thus, the source device 12 may also be referred to as an audio encoding device. The destination device 14 may decode the encoded bitstream generated by the source device 12. Thus, the destination device 14 may also be referred to as an audio decoding device. In the present application, the source device 12 and the audio encoding device may be collectively referred to as an audio transmitting device, and the destination device 14 and the audio decoding device may be collectively referred to as an audio receiving device.
[0102] Source device 12 includes an encoder 20 , and may optionally include an audio source 16 , an audio pre-processor 18 , and a communications interface 22 .
[0103] Audio source 16 may include or be any type of audio capture device, such as, for example, an audio capture device that captures real-world sound, and / or any type of audio generation device, such as, for example, a computer audio processor, or any type of device that acquires and / or provides, for example, real-world audio, computer animation audio (e.g., screen content or audio in virtual reality (VR) and / or any combination thereof (e.g., audio in augmented reality (AR), audio in mixed reality (MR), and / or audio in extended reality (XR))). Audio source 16 may be a microphone that captures audio, or a memory that stores audio. Audio source 16 may further include any type of interface (internal or external) that stores previously captured or generated audio and / or acquires or receives audio. When audio source 16 is a microphone, audio source 16 may be, for example, a local audio capture device or an audio capture device integrated into the source device. When audio source 16 is a memory, it may be, for example, a local memory or a memory integrated into the source device. When audio source 16 includes an interface, it may be, for example, an external interface that receives audio from an external audio source. The external audio source may be, for example, an external audio capture device such as a speaker, a microphone, an external memory, or an external audio generation device. The external audio generation device may be, for example, an external computer audio processor, a computer, or a server.The interface can be any type of interface, for example a wired or wireless interface or an optical interface, according to any proprietary or standardized interface protocol.
[0104] In this application, the audio source 16 acquires a current scene audio signal. The current scene audio signal is an audio signal obtained by capturing a sound field at a microphone position in a space, and the current scene audio signal is also called a raw scene audio signal. For example, the current scene audio signal may be an audio signal obtained using a higher order ambisonics (HOA) technique. The audio source 16 acquires a HOA signal to be encoded. For example, the HOA signal may be obtained using a real capture device, or the HOA signal may be obtained by synthesis of an artificial audio object. Optionally, the HOA signal to be encoded may be a time-domain HOA signal or a frequency-domain HOA signal.
[0105] The audio pre-processor 18 is configured to receive a raw audio signal and pre-process the raw audio signal to obtain a pre-processed audio signal. For example, the pre-processing performed by the audio pre-processor 18 may include shaping or noise removal.
[0106] Encoder 20 is configured to receive the preprocessed audio signal and to process the preprocessed audio signal to provide encoded bitstream information.
[0107] Communications interface 22 of source device 12 may be configured to receive bitstream information and transmit the bitstream to destination device 14 over communications channel 13. Communications channel 13 may be any type of network, such as, for example, a direct wired or wireless connection, a wired or wireless network, or any combination thereof, or any type of private or public network, or any combination thereof.
[0108] Destination device 14 includes a decoder 30 and may optionally include a communications interface 28, an audio post-processor 32, and a playback device 34.
[0109] Communications interface 28 of destination device 14 is configured to receive bitstream information directly from source device 12 and to provide the bitstream information to decoder 30. Communications interface 22 and communications interface 28 may be configured to transmit or receive bitstream information over communications channel 13 between source device 12 and destination device 14.
[0110] Communication interface 22 and communication interface 28 may each be configured as a unidirectional communication interface, indicated by an arrow in FIG. 2 corresponding to communication channel 13 directed from source device 12 to destination device 14, or may each be configured as a bidirectional communication interface, configured to send and receive messages and the like to establish connections, determine and exchange communications links and / or any other information related to the transmission of data, such as encoded audio data.
[0111] Decoder 30 is configured to receive the bitstream information and to decode the bitstream information to obtain decoded audio data.
[0112] The audio post-processor 32 is configured to post-process the decoded audio data to obtain post-processed audio data. The post-processing performed by the audio post-processor 32 may include, for example, cropping or resampling.
[0113] The playback device 34 is configured to receive the post-processed audio data and play the audio to a user or listener. The playback device 34 may be or include any type of player that plays the reconstructed audio, such as an integrated or external speaker. For example, the speaker may include a loudspeaker or an acoustic device.
[0114] Fig. 3 is a diagram of an exemplary structure of an HOA encoding device according to the present application. As shown in Fig. 3, the HOA encoding device may be used in the encoder 20 of the audio decoding system 10. The HOA encoding device includes a virtual speaker configuration unit, a coding analysis unit, a virtual speaker set generation unit, a virtual speaker selection unit, a virtual speaker signal generation unit, and a core encoder processing unit.
[0115] The virtual speaker configuration unit is configured to configure the virtual speakers based on the encoder setting information to obtain virtual speaker configuration parameters. The encoder setting information includes, but is not limited to, HOA order, coding bit rate, user-defined information, etc. The virtual speaker configuration parameters include, but are not limited to, the quantity of virtual speakers and the HOA order of the virtual speakers, etc.
[0116] The virtual speaker configuration parameters output by the virtual speaker configuration unit are input to a virtual speaker set generation unit.
[0117] The coding analysis unit performs coding analysis on the HOA signal to be coded, for example, analyzing the sound field distribution of the HOA signal to be coded, such as characteristics of the number of sound sources, directivity, dispersion degree of the HOA signal to be coded, etc. The sound field distribution is used as one of the decision conditions for determining how to select the target virtual speaker.
[0118] Alternatively, in this application, the HOA encoder may not include a coding analysis unit, specifically, the HOA encoder may not analyze the input signal, in which case how to select the target virtual speaker is determined using default settings.
[0119] The HOA encoding device obtains an HOA signal to be encoded. For example, an HOA signal recorded from a real capture device or an HOA signal obtained by synthesis of an artificial audio object may be used as input to the encoder, and the HOA signal to be encoded input to the encoder may be a time-domain HOA signal or a frequency-domain HOA signal.
[0120] The virtual speaker set generation unit is configured to generate a virtual speaker set. The virtual speaker set may include multiple virtual speakers, and the virtual speakers of the virtual speaker set may also be referred to as "candidate virtual speakers".
[0121] The virtual speaker set generation unit generates HOA coefficients for the specified candidate virtual speakers. The coordinates (i.e., position information) of the candidate virtual speakers and the HOA orders of the candidate virtual speakers provided by the virtual speaker configuration unit are used to generate HOA coefficients for the candidate virtual speakers. Methods for determining the coordinates of the candidate virtual speakers include, but are not limited to, generating K virtual speakers according to an equidistance rule, generating K non-uniformly distributed candidate virtual speakers according to the auditory perception principle, and generating uniformly distributed coordinates of the candidate virtual speakers based on the quantity of the candidate virtual speakers.
[0122] HOA coefficients for the candidate virtual speakers are then generated.
[0123] In this specification, to obtain a set of virtual speakers, the HOA coefficients for each virtual speaker are obtained and represented by using the method of obtaining HOA coefficients of the present application.
[0124] The HOA coefficients for the candidate virtual speakers output by the virtual speaker set generation unit are input to a virtual speaker selection unit.
[0125] The virtual speaker selection unit is configured to select a target virtual speaker from a plurality of candidate virtual speakers in the virtual speaker set based on the HOA signal to be encoded. The target virtual speaker may also be called a "virtual speaker matching the HOA signal to be encoded", or a matching virtual speaker for short.
[0126] The virtual speaker selection unit selects a designated matching virtual speaker based on the HOA signal to be encoded and the HOA coefficients for the candidate virtual speakers output by the virtual speaker set generation unit.
[0127] Hereinafter, a method for selecting a matching virtual speaker will be described with an example. In a possible implementation, an inner product is calculated by matching between the HOA coefficients for the candidate virtual speaker and the HOA signal to be encoded, and the candidate virtual speaker corresponding to the maximum absolute value of the inner product is selected as the target virtual speaker, i.e., as the matching virtual speaker, and the projection of the HOA signal to be encoded on the candidate virtual speaker is superimposed on the linear combination of the HOA coefficients for the candidate virtual speaker, and then the projection vector is subtracted from the HOA signal to be encoded to obtain a difference, and the above process is repeated on the difference to perform an iterative calculation. Here, one matching virtual speaker is generated in each iteration, and the coordinates of the matching virtual speaker and the HOA coefficients for the matching virtual speaker are output. It can be understood that multiple matching virtual speakers are selected, and one matching virtual speaker is generated in each iteration. (Alternatively, another implementation method can also be used.)
[0128] The coordinates of the target virtual speaker and the HOA coefficients for the target virtual speaker output by the virtual speaker selection unit are input to a virtual speaker signal generation unit.
[0129] The virtual speaker signal generation unit is configured to generate a virtual speaker signal based on the HOA signal to be encoded and attribute information of the target virtual speaker. When the attribute information is position information, the HOA coefficient for the target virtual speaker is determined based on the position information of the target virtual speaker. When the attribute information includes the HOA coefficient, the HOA coefficient for the target virtual speaker is obtained from the attribute information.
[0130] The virtual speaker signal generation unit calculates a virtual speaker signal using the HOA signal to be encoded and HOA coefficients for a target virtual speaker.
[0131] The HOA coefficients for the virtual speakers are represented by a matrix A, and the HOA signal to be encoded can be obtained by a linear combination using the matrix A. Furthermore, the theoretical optimum solution w, i.e., the virtual speaker signal, can be obtained using the least squares method. For example, the following calculation formula may be used: w=A -1 X In the formula, A -1 denotes the inverse matrix of matrix A, the size of matrix A is (M × C), C is the number of target virtual speakers, M is the number of channels of N-th order HOA coefficients, and M = (N + 1) 2 where a denotes the HOA coefficient for the target virtual speaker, e.g.
[0132]
number
[0133] and X denotes an HOA signal to be encoded, the size of the matrix X is (M×L), M is the number of channels of the N-th order HOA coefficients, L is the number of sampling points in the time domain or frequency domain, and x denotes a coefficient of the HOA signal to be encoded, for example:
[0134]
number
[0135] It is.
[0136] The virtual speaker signals output by the virtual speaker signal generation unit are input to a core encoder processing unit.
[0137] The core encoder processing unit is configured to perform core encoder processing on the virtual speaker signals to obtain a transmission bitstream.
[0138] The core encoder processing includes, but is not limited to, transformation, quantization, psychoacoustic modeling, bitstream generation, etc. The processing may be performed on a frequency domain transmission channel or on a time domain transmission channel, which is not limited herein.
[0139] Based on the description of the above embodiments, the present application provides a method for obtaining HOA coefficients.
[0140] FIG. 4 is an exemplary flow diagram of a method for obtaining HOA coefficients according to the present application. The process 400 may be implemented by the encoder 20 or the decoder 30 in the above embodiment. Specifically, the encoder 20 of the audio transmitting device performs audio encoding, and then transmits bitstream information to the audio receiving device. The decoder 30 of the audio receiving device decodes the bitstream information to obtain a target audio frame, and then performs rendering based on the target audio frame to obtain a sound field audio signal corresponding to one or more virtual speakers. The process 400 is described as a series of steps or operations. The steps or operations of the process 400 may be performed in various orders and / or simultaneously, and are not limited to the execution order shown in FIG. 4. As shown in FIG. 4, the method includes the following steps:
[0141] Step 401: Obtain position information of a virtual speaker on a preset spherical surface, where the position information includes height information and / or azimuth information.
[0142] The preset sphere includes M meridian circles and N latitudinal circles. M and N may be the same or different. M and N are both positive integers. For example, N is 512, 768, or 1024, and M is 512, 768, or 1024. The intersections of the meridian circles and the latitudinal circles are called reference points. The N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitudinal circle are equally spaced. To ensure that the reference points can cover all virtual speakers as much as possible, the following condition may be satisfied: M×N≧K, where K is the total number of virtual speakers. For example, the value of K may be 2048, 1669, 1024, or 530. For example, FIG. 5 is an exemplary schematic diagram of a preset sphere according to the present application. As shown in FIG. 5, the spatial sound field is assumed to be a spherical space with the rendering center as the sphere center. The virtual speaker may be deployed on the spherical surface of this spherical space. The sphere is divided by M meridian circles and N latitude circles. The plane on which any meridian circle is located includes the sphere center. Therefore, the radius of the M meridian circles is equal to the radius of the spherical space. Among the latitude circles, only the radius of the equator is equal to the radius of the spherical space, and the radius of the other latitude circles decreases as they move away from the equator. In this application, since the difference in orientation between any two adjacent meridian circles is equal, i.e., the M meridian circles are uniformly distributed on the sphere, the M reference points located on one latitude circle are equally spaced, and the difference in height between any two adjacent meridian circles is also equal, i.e., the N latitude circles are uniformly distributed on the sphere, the N reference points located on one meridian circle are equally spaced. Correspondingly, since the N reference points located on a meridian circle are equally spaced, the height differences between all adjacent reference points located on a meridian circle are equal, and since the M reference points located on a latitudinal circle are equally spaced, the orientation differences between all adjacent reference points located on a latitudinal circle are equal.
[0143] The virtual speaker may be any virtual speaker arranged for audio rendering. The position information of the virtual speaker on the sphere includes height information and / or orientation information. For example, FIG. 6 is an exemplary schematic diagram of position information according to the present application. As shown in FIG. 6, the included angle between a preset horizontal plane (e.g., a plane on which the equator is located, a plane on which the South Pole is located, or a plane on which the North Pole is located, where the plane on which the South Pole is located is perpendicular to the connecting line between the South Pole and the North Pole, and the plane on which the North Pole is located is perpendicular to the connecting line between the South Pole and the North Pole) and the connecting line between the position of the virtual speaker and the center of the earth is the height information of the virtual speaker, and the included angle between a specified initial direction and the projection of the connecting line between the position of the virtual speaker and the center of the earth onto the horizontal plane is the orientation information of the position information of the virtual speaker.
[0144] Optionally, height information of the virtual speaker position information may be expressed as a height or height index, and similarly, orientation information of the virtual speaker position information may be expressed as an orientation or orientation index.
[0145] For example, there are N reference points on the meridian circle, the N reference points are equally spaced, and the difference between the height information between two adjacent reference points is 2π / N. Therefore, the height information of each of the N reference points can be represented by the height index of the reference point, i.e., the height information of the N reference points can be represented as 0 to N-1. When the position of the virtual speaker is exactly at the reference point, the height information of the virtual speaker can be represented by the above height index. Similarly, there are M reference points on the latitude circle, the M reference points are equally spaced, and the difference between the orientation information between two adjacent reference points is 2π / M. Therefore, the orientation information of each of the M reference points can be represented by the orientation index of the reference point, i.e., the orientation information of the M reference points can be represented as 0 to M-1. When the position of the virtual speaker is exactly at the reference point, the orientation information of the virtual speaker can be represented by the above orientation index. It can be understood that the height index and the height of the reference point are in one-to-one correspondence, and the orientation index and the orientation of the reference point are in one-to-one correspondence. However, if the position of the virtual speaker is not at the position of the reference point, it is not possible to determine a specific reference point whose height index and / or orientation index are used to represent the position information of the virtual speaker. Therefore, the position information of the virtual speaker may be represented by height and / or orientation. It should be understood that even if the position of the virtual speaker is exactly at the reference point, the position information of the virtual speaker may also be represented by height and / or orientation. This is not particularly limited in the present specification.
[0146] Step 402: According to the position information and a preset reference trigonometric function table, obtain a trigonometric function value corresponding to the position information.
[0147] The reference trigonometric function tables include an elevation trigonometric function table and / or an azimuth trigonometric function table.
[0148] The height trigonometric function table includes a plurality of trigonometric function values corresponding to height indices of a plurality of first reference points. The plurality of first reference points are reference points on a first meridian circle. A quantity of the plurality of first reference points is greater than or equal to └N / 4┘+1, where └┘ indicates rounding down. The first meridian circle is one of the M meridian circles.
[0149] In the present application, any one of the M meridian circles is selected as a first meridian circle, and the reference points (i.e., the plurality of first reference points) used to calculate the height trigonometric function table are selected from the N reference points on the first meridian circle. According to the principle of trigonometric functions, the angle range of 0° (0) to 360° (2π) can be divided into four subranges, namely, 0° (0) to 90° (π / 2), 90° (π / 2) to 180° (π), 180° (π) to 270° (3π / 2), and 270° (3π / 2) to 360° (2π). The trigonometric function values calculated using any one of the four subranges can be extended to trigonometric function values within the angle range of 0° (0) to 360° (2π). Therefore, in the present application, in the selection of the plurality of first reference points, the quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1. Specifically, at least one-fourth of the N reference points on the first meridian circle are selected as the first reference points, and the heights of any two of the selected first reference points do not overlap during the calculation of the trigonometric function value.
[0150] Optionally, the heights of the plurality of first reference points may belong to one of four sub-ranges, for example, the heights of the plurality of first reference points are within a sub-range of 0° (0) to 90° (π / 2), or the heights of the plurality of first reference points are within a sub-range of 90° (π / 2) to 180° (π), or the heights of the plurality of first reference points are within a sub-range of 180° (π) to 270° (3π / 2), or the heights of the plurality of first reference points are within a sub-range of 270° (3π / 2) to 360° (2π).
[0151] Optionally, the heights of the plurality of first reference points may belong to at least two of the four subranges. For example, the heights of a first portion of the plurality of first reference points are within a subrange of 0° (0) to 90° (π / 2), and the heights of the reference points of a second portion are within a subrange of 90° (π / 2) to 180° (π), and the heights of the reference points of the two portions do not overlap during the calculation of the trigonometric function value, or the heights of a portion of the plurality of first reference points are within a subrange of 90° (π / 2) to 180° (π), and the heights of another portion of the reference points are within a subrange of 180° (π) to 270° (3π / 2), and the heights of the reference points of the two portions do not overlap during the calculation of the trigonometric function value. , do not overlap during calculation of the trigonometric function value, or the height of a portion of the plurality of first reference points is within a partial range of 180° (π) to 270° (3π / 2), and the height of another portion of the reference points is within a partial range of 270° (3π / 2) to 360° (2π), and the heights of the reference points of the two portions do not overlap during calculation of the trigonometric function value, or the height of a first portion of the plurality of first reference points is within a partial range of 0° (0) to 90° (π / 2), and the height of a second portion of the reference points is within a partial range of 90° (π / 2) to 180° (π). or the height of a first portion of the plurality of first reference points is within a subrange of 90° (π / 2) to 180° (π), the height of a reference point of a second portion is within a subrange of 180° (π) to 270° (3π / 2), and the height of a reference point of a third portion is within a subrange of 270° (3π / 2) to 360° (2π), and the heights of the reference points of the three portions do not overlap during the calculation of the trigonometric function value; or the height of a first portion of the plurality of first reference points is within a subrange of 90° (π / 2) to 180° (π), the height of a reference point of a second portion is within a subrange of 180° (π) to 270° (3π / 2), and the height of a reference point of a third portion is within a subrange of 270° (3π / 2) to 360° (2π), and the heights of the reference points of the three portions do not overlap during the calculation of the trigonometric function value. The heights do not overlap during calculation of the trigonometric function values, or the heights of a first portion of the plurality of first reference points are within a sub-range of 0° (0) to 90° (π / 2), the heights of the reference points of a second portion are within a sub-range of 90° (π / 2) to 180° (π), the heights of the reference points of a third portion are within a sub-range of 180° (π) to 270° (3π / 2), and the heights of the reference points of a fourth portion are within a sub-range of 270° (3π / 2) to 360° (2π), and the heights of the reference points of the four portions do not overlap during calculation of the trigonometric function values.
[0152] "Non-overlapping" may mean that the trigonometric function values calculated using the heights belonging to different subranges are not equal. For example, there are a total of four first reference points (n1, n2, n3, and n4), and the height of n1 is 0, the height of n2 is π / 6, the height of n3 is π / 3, and the height of n4 is π / 2, or the height of n1 is 0, the height of n2 is 2 / 3π, the height of n3 is 4 / 3π, and the height of n4 is 2π. In the present application, the subranges to which the heights of the multiple first reference points belong are not particularly limited, as long as the trigonometric function values of the heights of the multiple first reference points can cover the trigonometric function values at all angles in one of the subranges.
[0153] Correspondingly, the range of height values in the position information is from 0 to 2π.
[0154] As described above, the multiple first reference points may alternatively be identified by respective height indices, and a conversion may be performed between the height of the first reference points and the height difference based on the height indices and the height difference between adjacent latitude circles.
[0155] In the present application, the plurality of trigonometric functions corresponding to the height indexes of the plurality of first reference points may be sine function values or cosine function values.
[0156] Optionally, a sine function value corresponding to a height index of the i-th first reference point satisfies the following equation (1):
[0157]
number
[0158] where i=0, 1, ..., and N', N'=└N / 4┘, and r i denotes the radius of the first meridian. Optionally, the values of i may alternatively be discontinuous in the range from 0 to └N / 4┘-1, e.g., i=0, 2, 4, 5, 9, …, and N'.
[0159] Optionally, a cosine function value corresponding to a height index of the i-th first reference point satisfies the following equation (2):
[0160]
number
[0161] where i=0, 1, ..., and N', N'=└N / 4┘, and r i denotes the radius of the first meridian circle.
[0162] The azimuth trigonometric function table includes a plurality of trigonometric function values corresponding to azimuth indices of a plurality of second reference points. The plurality of second reference points are reference points on a first latitude circle. The quantity of the plurality of second reference points is equal to or greater than └M / 4┘+1, where └┘ indicates rounding down. The first latitude circle is one of the N latitude circles.
[0163] In the present application, any one of the N latitudinal circles is selected as the first latitudinal circle, and the reference points (i.e., the plurality of second reference points) used to calculate the azimuth trigonometric function table are selected from the M reference points on the first latitudinal circle. Similarly, according to the principle of trigonometric functions, the angle range of 0° (0) to 360° (2π) can be divided into four subranges, namely, 0° (0) to 90° (π / 2), 90° (π / 2) to 180° (π), 180° (π) to 270° (3π / 2), and 270° (3π / 2) to 360° (2π). The trigonometric function values calculated using any one of the four subranges can be extended to trigonometric function values within the angle range of 0° (0) to 360° (2π). Therefore, in the present application, in the selection of the plurality of second reference points, the quantity of the plurality of second reference points is equal to or greater than └M / 4┘+1. Specifically, at least one-fourth of the M reference points on the first latitude circle are selected as the second reference points, and the orientations of any two of the selected second reference points do not overlap during the calculation of the trigonometric function value.
[0164] Optionally, the orientation of the plurality of second reference points may belong to one of four sub-ranges, for example, the orientation of the plurality of second reference points is within a sub-range of 0° (0) to 90° (π / 2), or the orientation of the plurality of second reference points is within a sub-range of 90° (π / 2) to 180° (π), or the orientation of the plurality of second reference points is within a sub-range of 180° (π) to 270° (3π / 2), or the orientation of the plurality of second reference points is within a sub-range of 270° (3π / 2) to 360° (2π).
[0165] Optionally, the orientations of the plurality of second reference points may belong to at least two of the four subranges. For example, the orientations of a first portion of the plurality of second reference points are within a subrange of 0° (0) to 90° (π / 2), and the orientations of the reference points of a second portion are within a subrange of 90° (π / 2) to 180° (π), and the orientations of the reference points of the two portions do not overlap during the calculation of the trigonometric function value; or the orientations of a first portion of the plurality of second reference points are within a subrange of 90° (π / 2) to 180° (π), and the orientations of the reference points of a second portion are within a subrange of 180° (π) to 270° (3π / 2), and the orientations of the reference points of the two portions do not overlap during the calculation of the trigonometric function value. The orientations of the reference points of the first portion of the plurality of second reference points are within a partial range of 180° (π) to 270° (3π / 2) and the orientations of the reference points of the second portion are within a partial range of 270° (3π / 2) to 360° (2π), and the orientations of the reference points of the two portions do not overlap during the calculation of the trigonometric function values, or the orientations of the reference points of the first portion of the plurality of second reference points are within a partial range of 0° (0) to 90° (π / 2) and the orientations of the reference points of the second portion are within a partial range of 90° (π / 2) to 180° (π). or the orientation of a first portion of the plurality of second reference points is within a partial range of 90° (π / 2) to 180° (π), the orientation of a reference point of the second portion is within a partial range of 180° (π) to 270° (3π / 2), and the orientation of a reference point of the third portion is within a partial range of 270° (3π / 2) to 360° (2π), and the orientations of the reference points of the three portions do not overlap during the calculation of the trigonometric function value; or the orientation of a first portion of the plurality of second reference points is within a partial range of 90° (π / 2) to 180° (π), the orientation of a reference point of the second portion is within a partial range of 180° (π) to 270° (3π / 2), and the orientation of a reference point of the third portion is within a partial range of 270° (3π / 2) to 360° (2π), and the orientations of the reference points of the three portions do not overlap during the calculation of the trigonometric function value. The orientations of the points do not overlap during calculation of the trigonometric function values, or the orientations of a first portion of the multiple second reference points are within a sub-range of 0° (0) to 90° (π / 2), the orientations of the reference points of the second portion are within a sub-range of 90° (π / 2) to 180° (π), the orientations of the reference points of the third portion are within a sub-range of 180° (π) to 270° (3π / 2), and the orientations of the reference points of the fourth portion are within a sub-range of 270° (3π / 2) to 360° (2π), and the orientations of the reference points of the four portions do not overlap during calculation of the trigonometric function values.
[0166] "Non-overlapping" may mean that the trigonometric function values calculated using the orientations belonging to different subranges are not equal. For example, there are a total of four second reference points (n1, n2, n3, and n4), and the orientation of n1 is 0, the orientation of n2 is π / 6, the orientation of n3 is π / 3, and the orientation of n4 is π / 2, or the orientation of n1 is 0, the orientation of n2 is 2 / 3π, the orientation of n3 is 4 / 3π, and the orientation of n4 is 2π. It should be noted that in the present application, the subranges to which the orientations of the multiple second reference points belong are not particularly limited, as long as the trigonometric function values of the orientations of the multiple second reference points can cover the trigonometric function values at all angles in one of the subranges.
[0167] Correspondingly, the range of orientation values in the position information is from 0 to 2π.
[0168] As described above, the multiple second reference points may alternatively be identified by their respective orientation indices, and a conversion may be performed between the orientations of the second reference points and the orientation difference based on the orientation indices and the orientation difference between adjacent meridian circles.
[0169] In the present application, the plurality of trigonometric functions corresponding to the orientation indices of the plurality of second reference points may be sine function values or cosine function values.
[0170] Optionally, j The sine function value corresponding to the orientation index of the th second reference point satisfies the following equation (3).
[0171]
number
[0172] where j=0, 1, ..., and M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle. Optionally, the values of j may alternatively be discontinuous in the range 0 to └N / 4┘-1. For example, j= 1, 3, 5, 8, 9, 10, … and M'.
[0173] Optionally, j The cosine function value corresponding to the orientation index of the th second reference point satisfies the following equation (4).
[0174]
number
[0175] where j=0, 1, ..., and M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle.
[0176] It should be noted that the height trigonometric function table and the azimuth trigonometric function table may be pre-calculated and stored, or may be calculated and stored in real-time based on M and N. Optionally, since both the encoder and the decoder perform framing, during calculation of the HOA coefficients, when the value of M of the current audio frame is equal to the value of M of the previous audio frame, the azimuth trigonometric function table may not need to be recalculated during processing of the current frame, and the azimuth trigonometric function table of the previous audio frame may be used as is, and when the value of N of the current audio frame is equal to the value of N of the previous audio frame, the height trigonometric function table may not need to be recalculated during processing of the current frame, and the height trigonometric function table of the previous audio frame may be used as is.
[0177] In the present application, a trigonometric function value corresponding to height information of the position information of a virtual speaker on a preset spherical surface may be obtained based on height information of the position information and a height trigonometric function table, and / or a trigonometric function value corresponding to orientation information of the position information of a virtual speaker on a preset spherical surface may be obtained based on orientation information of the position information and an orientation trigonometric function table.
[0178] It can be understood that for the position information of the virtual speaker on the preset spherical surface, the trigonometric function value corresponding to the position information can be obtained based on the specific content included in the position information and the specific content of the preset reference trigonometric function table. Specifically, the position information includes height information, and the trigonometric function value corresponding to the height information of the position information can be obtained based on the height information and the reference trigonometric function table (if the height trigonometric function table exists, the height trigonometric function table is used, and if the height trigonometric function table does not exist, the azimuth trigonometric function table is used), and the position information includes azimuth information, and the trigonometric function value corresponding to the azimuth information of the position information can be obtained based on the azimuth information and the reference trigonometric function table (if the azimuth trigonometric function table exists, the azimuth trigonometric function table is used, and if the azimuth trigonometric function table does not exist, the height trigonometric function table is used).
[0179] In the present application, the trigonometric function values corresponding to the height information of the position information can be obtained using several methods as follows.
[0180] 1. When the height information of the position information corresponds to the height index of a reference point among a plurality of first reference points, the trigonometric function value corresponding to the height index of that reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0181] The height information of the position information corresponds to the height index of the reference point among the first reference points means that the height corresponding to the position of the virtual speaker on the preset spherical surface is exactly equal to the height corresponding to the height index in the height trigonometric function table, or the height index corresponding to the position of the virtual speaker on the preset spherical surface is exactly equal to the height index in the height trigonometric function table, specifically, the position of the virtual speaker on the preset spherical surface coincides with the position of the reference point selected to obtain the height trigonometric function table. Therefore, the trigonometric function value of the height information can be directly queried from the height trigonometric function table.
[0182] 2. When the height information of the position information corresponds to the height index of a reference point among the N reference points other than the plurality of first reference points, the height index of the reference point among the N reference points other than the plurality of first reference points is converted to the height index of the reference point among the plurality of first reference points, and the trigonometric function value corresponding to the height index of that reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0183] The height information of the position information corresponds to the height index of a reference point among the N reference points other than the multiple first reference points means that the height information corresponding to the position of the virtual speaker on the preset spherical surface is not equal to the height corresponding to any height index in the height trigonometric function table, but is equal to the angle corresponding to the height index of another reference point on the first meridian circle, or the height index corresponding to the position of the virtual speaker on the preset spherical surface is equal to the height index of another reference point on the first meridian circle; specifically, it indicates that the position of the virtual speaker on the preset spherical surface coincides with the position of a reference point, where this reference point is not used to obtain the height trigonometric function table, but the height index of this reference point has a trigonometric correspondence with the height index in the trigonometric function table. Therefore, the height index of a reference point among the N reference points other than the plurality of first reference points may be converted into the height index of the reference point among the plurality of first reference points according to the principles of trigonometric functions, and then a trigonometric function value corresponding to the height index of that reference point among the plurality of first reference points is obtained by table lookup, and the trigonometric function value corresponding to the height index of that reference point among the plurality of first reference points is used as the trigonometric function value corresponding to the height information of the position information.
[0184] 3. When the height information of the position information does not correspond to the height index of any of the reference points, height information of the reference point corresponding to the height information of the position information is obtained based on the height information of the position information, and when the height information of the reference point corresponding to the height information of the position information corresponds to the height index of a reference point among the multiple first reference points, the trigonometric function value corresponding to the height index of that reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information, or when the height information of the reference point corresponding to the height information of the position information corresponds to the height index of a reference point among the N reference points other than the multiple first reference points, the height index of the reference point among the N reference points other than the multiple first reference points is converted to the height index of the reference point among the multiple first reference points, and the trigonometric function value corresponding to the height index of that reference point in the height trigonometric function table is used as the trigonometric function value corresponding to the height information of the position information.
[0185] The fact that the height information of the position information does not correspond to the height index of any of the reference points indicates that the position of the virtual speaker on the preset spherical surface is neither on the meridian nor on the latitude circle. Therefore, the height information of the reference point corresponding to the height information of the position information is first obtained, and then the trigonometric function value corresponding to the height information of the reference point is obtained by method 1 or method 2, and the trigonometric function value corresponding to the height information of the reference point is used as the trigonometric function value corresponding to the height information of the position information.
[0186] Optionally, the height φ and the height exponent φ′ satisfy the following equation (5):
[0187]
number
[0188] In the formula, r i indicates the radius of the first circular axis, and round() indicates rounding.
[0189] In the present application, the trigonometric function values corresponding to the orientation information of the position information can be obtained using several methods.
[0190] 1. When the orientation information of the location information corresponds to the orientation index of a reference point among a plurality of second reference points, the trigonometric function value corresponding to the orientation index of that reference point in the orientation trigonometric function table is used as the trigonometric function value corresponding to the orientation information of the location information.
[0191] The orientation information of the position information corresponds to the orientation index of a reference point among the second reference points means that the orientation corresponding to the position of the virtual speaker on the preset sphere is exactly equal to the orientation corresponding to the orientation index in the orientation trigonometric function table, or the orientation index corresponding to the position of the virtual speaker on the preset sphere is exactly equal to the orientation index in the orientation trigonometric function table, specifically, the position of the virtual speaker on the preset sphere coincides with the position of the reference point selected to obtain the orientation trigonometric function table. Therefore, the trigonometric function value of the orientation information can be directly queried from the orientation trigonometric function table.
[0192] 2. When the orientation information of the location information corresponds to the orientation index of a reference point among the M reference points other than the multiple second reference points, the orientation index of that reference point among the M reference points other than the multiple second reference points is converted to the orientation index of the reference point among the multiple second reference points, and the trigonometric function value corresponding to the orientation index of that reference point in the orientation trigonometric function table is used as the trigonometric function value corresponding to the orientation information of the location information.
[0193] The azimuth information of the position information corresponds to the azimuth index of a reference point among the M reference points other than the second reference points, and the azimuth information corresponding to the position of the virtual speaker on the preset sphere corresponds to any one of the azimuth trigonometric function tables. Direction Corresponding to the exponent Directionazimuth index of another reference point on the first latitude circle is not equal to the angle corresponding to the azimuth index of another reference point on the first latitude circle, or the azimuth index corresponding to the position of the virtual speaker on the preset sphere is equal to the azimuth index of another reference point on the first latitude circle, specifically, the position of the virtual speaker on the preset sphere coincides with the position of the reference point, where the reference point is not used to obtain the azimuth trigonometric function table, but the azimuth index of the reference point has a trigonometric function correspondence with the azimuth index in the trigonometric function table. Thus, the azimuth index of a reference point among the M reference points other than the plurality of second reference points may be converted into the azimuth index of a reference point among the plurality of second reference points according to the principle of trigonometric functions, and then the trigonometric function value corresponding to the azimuth index of the reference point among the plurality of second reference points is obtained by table lookup, and the trigonometric function value corresponding to the azimuth index of the reference point among the plurality of second reference points is used as the trigonometric function value corresponding to the azimuth information of the position information.
[0194] 3. When the orientation information of the location information does not correspond to the orientation index of any of the reference points, orientation information of the reference point corresponding to the orientation information of the location information is obtained based on the orientation information of the location information, and when the orientation information of the reference point corresponding to the orientation information of the location information corresponds to the orientation index of a reference point among the multiple second reference points, the trigonometric function value corresponding to the orientation index of that reference point in the orientation trigonometric function table is used as the trigonometric function value corresponding to the orientation information of the location information, or when the orientation information of the reference point corresponding to the orientation information of the location information corresponds to the orientation index of a reference point among the M reference points other than the multiple second reference points, the orientation index of the reference point among the M reference points other than the multiple second reference points is converted to the orientation index of the reference point among the multiple second reference points, and the trigonometric function value corresponding to the orientation index of that reference point in the orientation trigonometric function table is used as the trigonometric function value corresponding to the orientation information of the location information.
[0195] The fact that the orientation information of the position information does not correspond to the orientation index of any of the reference points indicates that the position of the virtual speaker on the preset sphere is neither on the meridian nor on the latitude circle. Therefore, the orientation information of the reference point corresponding to the orientation information of the position information is first obtained, and then the trigonometric function value corresponding to the orientation information of the reference point is obtained by method 1 or method 2, and the trigonometric function value corresponding to the orientation information of the reference point is used as the trigonometric function value corresponding to the orientation information of the position information.
[0196] Optionally, the orientation θ and the orientation index θ′ satisfy the following equation (6):
[0197]
number
[0198] In the formula, rj indicates the radius of the first latitude circle, and round() indicates rounding.
[0199] Step 403: Obtain HOA coefficients for the virtual speakers based on trigonometric function values corresponding to the position information.
[0200] The process of generating HOA coefficients for the virtual speakers is described below.
[0201] When a sound wave is transmitted through an ideal medium, the wave speed of the sound wave is as follows: k=w / c, where the angular frequency w is equal to 2πf, f is the frequency of the sound wave, and c is the speed of sound. Therefore, the sound pressure p satisfies the following equation (7). ∇ 2 p+k 2 p=0 (7) During the ceremony, ∇ 2 is the Laplace operator.
[0202] By solving equation (7) in spherical coordinates, the following equation (8) can be obtained for the sound pressure p:
[0203]
number
[0204] In the formula, r represents the radius of the sphere, θ represents the direction, φ represents the height, k represents the wave speed, s represents the amplitude of an ideal plane wave, m represents the serial number of the HOA order, and j represents the wave speed. m j m kr (kr) denotes the spherical Bessel functions, also called radial basis functions, where the first j is the imaginary unit and (2m+1)j m j m kr (kr) does not change with the angle, and Y m,n σ (θ,φ) is the spherical harmonic function corresponding to θ and φ, and Y m,n σ (θ s , φ s ) is a spherical harmonic function in the sound source direction.
[0205] The Ambisonics coefficients are as follows: m,n σ =s Y m,n σ (θ s ,φ s ) (9)
[0206] Therefore, the general expansion form (10) for the sound pressure p can be obtained:
[0207]
number
[0208] Equation (9) can show that the sound field can be expanded onto a sphere based on spherical harmonics, and the sound field is expressed in terms of Ambisonics coefficients.
[0209] Correspondingly, if the Ambisonics coefficients are known, the sound field can be reconstructed. Equation (9) is truncated to the Nth term, and the Ambisonics coefficients are used as an approximate description of the sound field, and are therefore called the Nth order HOA coefficients. The HOA coefficients are also called Ambisonics coefficients. The Nth order Ambisonics coefficients are (N+1) in total. 2 10 channels. Optionally, the HOA order can range from 2nd to 10th order. The spatial sound field at the instant corresponding to the sampling point of the HOA signal can be reconstructed by convolving spherical harmonics based on the coefficients corresponding to the sampling points. The HOA coefficients for the virtual speaker can be generated according to this principle. s and φ s are set to the position information of the virtual speaker, i.e., the azimuth and height, respectively. The HOA coefficients, also called Ambisonics coefficients, for the virtual speaker can be obtained based on Equation (9). For example, for a third-order HOA signal, assuming s=1, the 16-channel HOA coefficients corresponding to the third-order HOA signal are obtained by the spherical harmonic function Y m,n σ (θ s , φ s ) The calculation formula for the 16-channel HOA coefficients corresponding to the third-order HOA signal is specifically shown in Table 1.
[0210] [Table 1]
[0211] In Table 1, θ indicates the azimuth information of the position information of the virtual speaker on the preset sphere, φ indicates the height information of the position information of the virtual speaker on the preset sphere, l indicates the HOA order, l=0, 1,...,N, and m indicates the direction parameter in each order, m=-1,...,1. Based on the expression in polar coordinates in Table 1, the 16-channel HOA coefficients corresponding to the third-order HOA signal of the virtual speaker can be obtained based on the position information of the virtual speaker. Furthermore, the method of the present invention can also be used to obtain the HOA coefficients of any order obtained by the expansion of spherical harmonics.
[0212] In the present application, only the trigonometric function values of one-quarter of all reference points on the meridian circle on the preset spherical surface (height trigonometric function table) and / or the trigonometric function values of one-quarter of all reference points on the latitude circle on the preset spherical surface (azimuth trigonometric function table) need to be obtained in advance, and the trigonometric function values at any angle in the range of 0° to 360° can be obtained based on the trigonometric function table. Other trigonometric functions such as the power trigonometric functions and the polygon trigonometric functions in Table 1 may be expanded by conventional techniques to obtain general expansion forms such as sin trigonometric functions and cos trigonometric functions, and then other corresponding trigonometric function values can be obtained using the method of the present invention. In this way, the amount of calculations in the preliminary stage can be reduced. Furthermore, since the number of angles in the trigonometric function table is reduced, the amount of data of the trigonometric function table that needs to be stored can also be reduced accordingly, thereby saving storage space.
[0213] Hereinafter, the method of obtaining trigonometric function values corresponding to the height information and the direction information of the position information will be described by using several specific embodiments as examples. φ indicates the height information of the position information, or indicates the height information of the reference point corresponding to the position information. φ' indicates the height index. θ indicates the direction information of the position information, or indicates the direction information of the reference point corresponding to the position information. θ' indicates the direction index.
[0214] It should be noted that in the present application, the height information and the orientation information may be expressed by index numbers. For example, there are N reference points on a meridian circle, the N reference points are arranged at equal intervals, and the difference between the height information of two adjacent reference points is 2π / N. Therefore, the height information of each of the N reference points may be represented by the index number of the reference point, i.e., the height information of the N reference points may be expressed as 0 to N-1. If the quantity of the multiple first reference points is └N / 4┘+1, the height information of the multiple first reference points may be expressed as 0 to └N / 4┘. Similarly, there are M reference points on a latitude circle, the M reference points are arranged at equal intervals, and the difference between the orientation information of two adjacent reference points is 2π / M. Therefore, the orientation information of each of the M reference points may be represented by the index number of the reference point, i.e., the orientation information of the M reference points may be expressed as 0 to M-1. When the quantity of the multiple second reference points is └M / 4┘+1, the orientation information of the multiple second reference points may be expressed as 0 to └M / 4┘. In the present application, the relationship between the height φ and the height index φ' may be obtained using Equation (5), and the relationship between the orientation θ and the orientation index θ' may be obtained using Equation (6).
[0215] EMBODIMENT 1 M≠N, and the altitude sine function table sin_table_N and the azimuth sine function table sin_table_M are preset using this method in step 402.
[0216] The sine function values and cosine function values corresponding to the height information of the position information may be obtained according to the following rules. sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N
[0217] The sine function values and cosine function values corresponding to the orientation information of the position information may be obtained according to the following rules. sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M
[0218] EMBODIMENT 2 M=N, and the height sine table sin_table_N is preset using this method in step 402. Since M is equal to N, the azimuth sine table sin_table_M is the same as the height sine table sin_table_N. In this embodiment, only one trigonometric table, for example sin_table, needs to be obtained. This can further reduce the amount of calculation and the amount of storage for the trigonometric table, and can save storage space.
[0219] The sine function values and cosine function values corresponding to the height information of the position information may be obtained according to the following rules. sin(φ)=sin_table(φ') φ'<└N / 4┘ sin(φ)=sin_table(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table(φ'-3N / 4) └3N / 4┘≦φ' <N
[0220] The sine function values and cosine function values corresponding to the orientation information of the position information may be obtained according to the following rules. sin(θ)=sin_table(θ') θ'<└N / 4┘ sin(θ)=sin_table(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ sin(θ)=-sin_table(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-sin_table(N-θ') └3N / 4┘≦θ' <N cos(θ)=sin_table(N / 4-θ') θ'<└N / 4┘ cos(θ)=-sin_table(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ cos(θ)=-sin_table(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ cos(θ)=sin_table(θ'-3N / 4) └3N / 4┘≦θ' <N
[0221] EMBODIMENT 3 M≠N, M=K1×N, and K1≧2, and the azimuth sine function table sin_table_M is preset using this method in step 402. Since M and N have a multiple relationship, the height sine function table sin_table_N can be obtained based on this multiple relationship in combination with the principle of trigonometric functions. Therefore, in this embodiment, only one trigonometric function table, for example sin_table_M, needs to be obtained. This can further reduce the amount of calculation and the amount of storage for the trigonometric function table, and can save storage space.
[0222] The sine function values and cosine function values corresponding to the orientation information of the position information may be obtained according to the following rules. sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M
[0223] The sine function values and cosine function values corresponding to the height information of the position information may be obtained according to the following rules. sin(φ)=sin_table_M(K1×φ') K1×φ'<└M / 4┘ sin(φ)=sin_table_M(M / 2-K1×φ') └M / 4┘≦K1×φ'<└M / 2┘ sin(φ)=-sin_table_M(K1×φ'-M / 2) └M / 2┘≦K1×φ'<└3M / 4┘ sin(φ)=-sin_table_M(M-K1×φ') └3M / 4┘≦K1×φ' <M cos(φ)=sin_table_M(M / 4-K1×φ') K1×φ'<└M / 4┘ cos(φ)=-sin_table_M(K1×φ'-M / 4) └M / 4┘≦K1×φ'<└M / 2┘ cos(φ)=-sin_table_M(3M / 4-K1×φ') └M / 2┘≦K1×φ'<└3M / 4┘ cos(φ)=sin_table_M(K1×φ'-3M / 4) └3M / 4┘≦K1×φ' <M
[0224] EMBODIMENT 4 M≠N, N=K2×M, and K2≧2, and the height sine function table sin_table_N is preset using this method in step 402. Since M and N have a multiple relationship, the azimuth sine function table sin_table_M can be obtained based on this multiple relationship in combination with the principle of trigonometric functions. Therefore, in this embodiment, only one trigonometric function table, for example sin_table_N, needs to be obtained. This can further reduce the amount of calculation and the amount of storage for the trigonometric function table, and can save storage space.
[0225] The sine function values and cosine function values corresponding to the height information of the position information may be obtained according to the following rules. sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N
[0226] The sine function values and cosine function values corresponding to the orientation information of the position information may be obtained according to the following rules. sin(θ)=sin_table_N(K2×θ') K2×θ'<└N / 4┘ sin(θ)=sin_table_N(N / 2-K2×θ') └N / 4┘≦K2×θ'<└N / 2┘ sin(θ)=-sin_table_N(K2×θ'-N / 2) └N / 2┘≦K2×θ'<└3N / 4┘ sin(θ)=-sin_table_N(N-K2×θ') └3N / 4┘≦K2×θ' <N cos(θ)=sin_table_N(N / 4-K2×θ') K2×θ'<└N / 4┘ cos(θ)=-sin_table_N(K2×θ'-N / 4) └N / 4┘≦K2×θ'<└N / 2┘ cos(θ)=-sin_table_N(3N / 4-K2×θ') └N / 2┘≦K2×θ'<└3N / 4┘ cos(θ)=sin_table_N(K2×θ'-3N / 4) └3N / 4┘≦K2×θ' <N
[0227] EMBODIMENT 5 M≠N, and the height cosine function table cos_table_N and the orientation cosine function table cos_table_M are preset using this method in step 402 .
[0228] The sine function values and cosine function values corresponding to the height information of the position information may be obtained according to the following rules. sin(θ)=cos_table_N(N / 4-θ') θ'<└N / 4┘ sin(θ) = cos_table_N(θ’ - N / 4), └N / 4┘ ≤ θ’ < └N / 2┘ sin(θ) = -cos_table_N(3N / 4 - θ’), └N / 2┘ ≤ θ’ < └3N / 4┘ sin(θ) = -cos_table_N(θ’ - 3N / 4), └3N / 4┘ ≤ θ’ < N cos(θ) = cos_table_N(θ’), θ’ < └N / 4┘ cos(θ) = -cos_table_N(N / 2 - θ’), └N / 4┘ ≤ θ’ < └N / 2┘ cos(θ) = -cos_table_N(θ’ - N / 2), └N / 2┘ ≤ θ’ < └3N / 4┘ cos(θ) = cos_table_N(N - θ’), └3N / 4┘ ≤ θ’ < N
[0229] The sine function value and cosine function value corresponding to the azimuth information of the position information can be obtained according to the following rules. sin(θ) = cos_table_M(M / 4 - θ’), θ’ < └M / 4┘ sin(θ) = cos_table_M(θ’ - M / 4), └M / 4┘ ≤ θ’ < └M / 2┘ sin(θ) = -cos_table_M(3M / 4 - θ’), └M / 2┘ ≤ θ’ < └3M / 4┘ sin(θ) = -cos_table_M(θ’ - 3M / 4), └3M / 4┘ ≤ θ’ < M cos(θ) = cos_table_M(θ’), θ’ < └M / 4┘ cos(θ) = -cos_table_M(M / 2 - θ’), └M / 4┘ ≤ θ’ < └M / 2┘ cos(θ) = -cos_table_M(θ’ - M / 2), └M / 2┘ ≤ θ’ < └3M / 4┘ cos(θ) = cos_table_M(M - θ’), └3M / 4┘ ≤ θ’ < M
[0230] 7 is a diagram of an exemplary structure of an apparatus for obtaining HOA coefficients according to the present application. As shown in FIG. 7, this apparatus can be used in the encoder 20 or the decoder 30 in the above embodiment. The apparatus for obtaining HOA coefficients of the present application may include: an obtaining module 701 and a calculating module 702.
[0231] The acquisition module 701 is configured to acquire position information of the virtual speaker on a preset spherical surface, where the position information includes height information and / or azimuth information, the preset spherical surface includes M meridian circles and N latitude circles, the intersections of the meridian circles and the latitude circles are called reference points, the N reference points located on one meridian circle are arranged at equal intervals, and the M reference points located on one latitude circle are arranged at equal intervals. The calculation module 702 is configured to acquire trigonometric function values corresponding to the position information based on the position information and a preset reference trigonometric function table, where the reference trigonometric function table includes a height trigonometric function table and / or an azimuth trigonometric function table, the height trigonometric function table includes a plurality of trigonometric function values corresponding to height indexes of a plurality of first reference points, the plurality of first reference points are reference points on a first meridian circle, and the quantity of the plurality of first reference points is equal to or greater than └N / 4┘+1, and ┘ indicates truncation, the first meridian circle is one of the M meridian circles, the orientation trigonometric function table includes a plurality of trigonometric function values corresponding to orientation indices of a plurality of second reference points, the plurality of second reference points are reference points on the first latitude circle, a quantity of the plurality of second reference points is greater than or equal to └M / 4┘+1, the first latitude circle is one of the N latitude circles, and the calculation module 702 is also configured to obtain higher-order Ambisonics HOA coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information.
[0232] In a possible implementation, the calculation module 702 is particularly configured to obtain a trigonometric function value corresponding to the height information of the position information based on the height information of the position information and the height trigonometric function table, and / or to obtain a trigonometric function value corresponding to the orientation information of the position information based on the orientation information of the position information and the orientation trigonometric function table.
[0233] In a possible implementation, when the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, the calculation module uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information; or when the height information of the position information corresponds to a height index of a reference point among the N reference points other than the plurality of first reference points, converts the height index of the reference point among the N reference points other than the plurality of first reference points to a height index of the reference point among the plurality of first reference points, and uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as a trigonometric function value corresponding to the height information of the position information; or when the height information of the position information does not correspond to a height index of any reference point, based on the height information of the position information, The system is particularly configured to obtain height information of a reference point corresponding to the height information of the position information, and, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among a plurality of first reference points, use a trigonometric function value in a height trigonometric function table corresponding to the height index of the reference point as a trigonometric function value corresponding to the height information of the position information, or, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among N reference points other than the plurality of first reference points, convert the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and use a trigonometric function value in the height trigonometric function table corresponding to the height index of the reference point as a trigonometric function value corresponding to the height information of the position information.
[0234] In a possible implementation, when the orientation information of the location information corresponds to an orientation index of a reference point among the plurality of second reference points, the calculation module uses a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the location information; or when the orientation information of the location information corresponds to an orientation index of a reference point among the M reference points other than the plurality of second reference points, converts the orientation index of the reference point among the M reference points other than the plurality of second reference points to an orientation index of the reference point among the plurality of second reference points, and uses a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as a trigonometric function value corresponding to the orientation information of the location information; or when the orientation information of the location information does not correspond to an orientation index of any reference point, based on the orientation information of the location information, The device is particularly configured to acquire orientation information of a reference point corresponding to the orientation information of the position information, and, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to the orientation index of a reference point among a plurality of second reference points, use a trigonometric function value in an orientation trigonometric function table corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information, or, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to the orientation index of a reference point among M reference points other than the plurality of second reference points, convert the orientation index of the reference point among the M reference points other than the plurality of second reference points into the orientation index of the reference point among the plurality of second reference points, and use a trigonometric function value in an orientation trigonometric function table corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information.
[0235] In a possible implementation, the height information of the position information comprises an height of the position information or an height index of the position information, and the orientation information of the position information comprises an orientation of the position information or an orientation index of the position information.
[0236] In a possible implementation, the trigonometric function values are sine or cosine function values.
[0237] In a possible implementation, when the plurality of trigonometric functions corresponding to the height indexes of the plurality of first reference points are sine function values, the sine function value corresponding to the height index of the i-th first reference point satisfies the following formula (1):
[0238]
number
[0239] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian, or or When the plurality of trigonometric functions corresponding to the height information of the plurality of first reference points are cosine function values, the cosine function value corresponding to the height index of the i-th first reference point satisfies the following formula (2):
[0240]
number
[0241] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle.
[0242] In a possible implementation, when the plurality of trigonometric functions corresponding to the orientation indexes of the plurality of second reference points are sine function values, the sine function value corresponding to the orientation index of the j-th second reference point satisfies the following formula (3):
[0243]
number
[0244] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle, or or When the plurality of trigonometric functions corresponding to the orientation information of the plurality of second reference points are cosine function values, the cosine function value corresponding to the orientation information of the j-th second reference point satisfies the following formula (4):
[0245]
number
[0246] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle.
[0247] In a possible implementation, the height φ and the height index φ′ satisfy the following equation (5):
[0248]
number
[0249] In the formula, r i indicates the radius of the first circular axis, and round() indicates the rounding.
[0250] In a possible implementation, the orientation θ and the orientation index θ′ satisfy the following equation (6):
[0251]
number
[0252] In the formula, r j indicates the radius of the first circular axis, and round() indicates the rounding.
[0253] In a possible implementation, when M ≠ N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ indicates the height information of the position information, or φ indicates the height information of the reference point corresponding to the height information of the position information, sin_table_N() indicates the height trigonometric function table, and When M ≠ N, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_M() indicates the orientation trigonometric function table.
[0254] Alternatively, when M=N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table(φ') φ'<└N / 4┘ sin(φ)=sin_table(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ indicates the height information of the position information, or φ indicates the height information of the reference point corresponding to the height information of the position information, sin_table_N() indicates the height trigonometric function table, and When M=N, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table(θ') θ'<└N / 4┘ sin(θ)=sin_table(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ sin(θ)=-sin_table(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-sin_table(N-θ') └3N / 4┘≦θ' <N cos(θ)=sin_table(N / 4-θ') θ'<└N / 4┘ cos(θ)=-sin_table(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ cos(θ)=-sin_table(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ cos(θ)=sin_table(θ'-3N / 4) └3N / 4┘≦θ' <N In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_N() indicates the height trigonometric function table.
[0255] Alternatively, when M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ' <M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M In the formula, θ indicates the azimuth information of the position information, or θ indicates the azimuth information of the reference point corresponding to the azimuth information of the position information, sin_table_M() indicates the azimuth trigonometric function table, and When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_M(K1×φ') K1×φ'<└M / 4┘ sin(φ)=sin_table_M(M / 2-K1×φ') └M / 4┘≦K1×φ'<└M / 2┘ sin(φ)=-sin_table_M(K1×φ'-M / 2) └M / 2┘≦K1×φ'<└3M / 4┘ sin(φ)=-sin_table_M(M-K1×φ') └3M / 4┘≦K1×φ' <M cos(φ)=sin_table_M(M / 4-K1×φ') K1×φ'<└M / 4┘ cos(φ)=-sin_table_M(K1×φ'-M / 4) └M / 4┘≦K1×φ'<└M / 2┘ cos(φ)=-sin_table_M(3M / 4-K1×φ') └M / 2┘≦K1×φ'<└3M / 4┘ cos(φ)=sin_table_M(K1×φ'-3M / 4) └3M / 4┘≦K1×φ' <M In the formula, φ indicates the height information of the position information, or φ indicates the elevation information of the reference point corresponding to the elevation information of the position information, and sin_table_M() indicates a azimuth trigonometric function table.
[0256] Alternatively, when M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ' <N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ' <N In the formula, φ indicates the height information of the position information, or φ indicates the height information of the reference point corresponding to the height information of the position information, sin_table_N() indicates the height trigonometric function table, and When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=sin_table_N(K2×θ') K2×θ'<└N / 4┘ sin(θ)=sin_table_N(N / 2-K2×θ') └N / 4┘≦K2×θ'<└N / 2┘ sin(θ)=-sin_table_N(K2×θ'-N / 2) └N / 2┘≦K2×θ'<└3N / 4┘ sin(θ)=-sin_table_N(N-K2×θ') └3N / 4┘≦K2×θ' <N cos(θ)=sin_table_N(N / 4-K2×θ') K2×θ'<└N / 4┘ cos(θ)=-sin_table_N(K2×θ'-N / 4) └N / 4┘≦K2×θ'<└N / 2┘ cos(θ)=-sin_table_N(3N / 4-K2×θ') └N / 2┘≦K2×θ'<└3N / 4┘ cos(θ)=sin_table_N(K2×θ'-3N / 4) └3N / 4┘≦K2×θ' <N In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_N() indicates the height trigonometric function table.
[0257] Alternatively, when M≠N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(θ)=cos_table_N(N / 4-θ') θ'<└N / 4┘ sin(θ)=cos_table_N(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ sin(θ)=-cos_table_N(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-cos_table_N(θ'-3N / 4) └3N / 4┘≦θ' <N cos(θ)=cos_table_N(θ') θ'<└N / 4┘ cos(θ)=-cos_table_N(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ cos(θ)=-cos_table_N(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ cos(θ)=cos_table_N(N-θ') └3N / 4┘≦θ' <N In the formula, φ indicates the height information of the position information, or φ indicates the height information of the reference point corresponding to the height information of the position information, cos_table_N() indicates the height trigonometric function table, and When M ≠ N, the trigonometric function value corresponding to the azimuth information of the position information satisfies the following formula: sin(θ)=cos_table_M(M / 4-θ') θ'<└M / 4┘ sin(θ)=cos_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ sin(θ)=-cos_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-cos_table_M(θ'-3M / 4) └3M / 4┘≦θ' <M cos(θ)=cos_table_M(θ') θ'<└M / 4┘ cos(θ)=-cos_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ cos(θ)=-cos_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ cos(θ)=cos_table_M(M-θ') └3M / 4┘≦θ' <M In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and cos_table_M() indicates the orientation trigonometric function table.
[0258] The device of this embodiment may be configured to implement the technical solution of the method embodiment shown in Figure 4. Its implementation principle and technical effect are similar. Details will not be repeated in this specification.
[0259] In implementation, the steps in the above method embodiments may be performed using hardware integrated logic circuits in a processor, or may be performed by instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor, and the processor may be any conventional processor, etc. The steps of the method disclosed in this application may be performed directly by a hardware encoding processor, or may be performed by a combination of hardware and software modules in the encoding processor. The software modules may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and performs the steps of the above method based on the hardware of the processor.
[0260] The memory referred to in the above embodiments may be a volatile memory or a non-volatile memory, or may include both a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM) and acts as an external cache. For purposes of illustration and not limitation, many forms of RAM may be used, such as static random access memory (static RAM, SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and direct rambus random access memory (direct rambus RAM, DR RAM). The memory of the systems and methods described herein includes, but is not limited to, these and other suitable types of memory.
[0261] Those skilled in the art may realize that, in combination with the examples described in the embodiments disclosed herein, the units and algorithm steps can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether a function is implemented by hardware or software depends on the individual application field and design constraints of the technical solution. Those skilled in the art may use various methods to implement the described functions for each individual application field, but these implementations shall not be considered as going beyond the scope of this application.
[0262] For ease and conciseness of description, the detailed operation processes of the above systems, devices, and units may be referred to the corresponding processes in the above method embodiments, and will not be described in detail again in this specification, as can be clearly understood by those skilled in the art.
[0263] In some embodiments provided in the present application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the described device embodiment is merely an example. For example, the division into units is merely a logical division of functions, and may be another division during actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. Furthermore, the shown or described mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electronic, mechanical, or other forms.
[0264] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, i.e., located in one place or distributed over multiple network units. Some or all of these units may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.
[0265] Furthermore, the functional units in the embodiments of the present application may be integrated into a single processing unit, each unit may exist physically alone, or two or more units may be integrated into a single unit.
[0266] When functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the present application may be essentially implemented in the form of a computer software product, or the part that contributes to the prior art, or a part of these technical solutions. The computer software product includes some instructions that are stored in a storage medium and instruct a computer device (such as a personal computer, a server, or a network device) to perform all or part of the steps of the method described in the embodiments of the present application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0267] The above description is merely a specific implementation of the present application, and is not intended to limit the scope of protection of the present application. Any variation or replacement that is easily apparent to a person skilled in the art within the technical scope disclosed in the present application shall be included in the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the scope of protection of the claims.
Claims
1. obtaining position information of the virtual speaker on a preset spherical surface, the position information including altitude information and / or orientation information, the preset spherical surface including M meridian circles and N latitude circles, and an intersection of the meridian circle and the latitude circle is called a reference point; obtaining trigonometric function values corresponding to the location information based on the location information and a preset reference trigonometric function table, the reference trigonometric function table including an altitude trigonometric function table and / or an azimuth trigonometric function table, the altitude trigonometric function table including a plurality of trigonometric function values corresponding to altitude indexes of a plurality of first reference points, the plurality of first reference points being reference points on a first meridian circle, a quantity of the plurality of first reference points being equal to or greater than └N / 4┘+1, └┘ indicating rounding down, the first meridian circle being one of the M meridian circles, the azimuth trigonometric function table including a plurality of trigonometric function values corresponding to azimuth indexes of a plurality of second reference points, the plurality of second reference points being reference points on a first latitude circle, a quantity of the plurality of second reference points being equal to or greater than └M / 4┘+1, and the first latitude circle being one of the N latitude circles; obtaining Higher Order Ambisonics (HOA) coefficients for the virtual speakers based on the trigonometric function values corresponding to the position information; A method for obtaining Higher Order Ambisonics (HOA) coefficients, comprising:
2. The step of obtaining a trigonometric function value corresponding to the position information based on the position information and a preset reference trigonometric function table includes: obtaining a trigonometric function value corresponding to the height information of the position information based on the height information of the position information and the height trigonometric function table; and / or obtaining a trigonometric function value corresponding to the azimuth information of the position information based on the azimuth information of the position information and the azimuth trigonometric function table; 2. The method of claim 1, comprising:
3. The step of acquiring a trigonometric function value corresponding to the height information of the position information based on the height information of the position information and the height trigonometric function table includes: When the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, a trigonometric function value in the height trigonometric function table that corresponds to the height information of the position information is used as the trigonometric function value corresponding to the height information of the position information; or when the height information of the position information corresponds to a height index of a reference point among the N reference points other than the plurality of first reference points, converting the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and using a trigonometric function value in the height trigonometric function table that corresponds to the height index of the reference point as the trigonometric function value corresponding to the height information of the position information; or a step of acquiring height information of a reference point corresponding to the height information of the position information based on the height information of the position information when the height information of the position information does not correspond to any of the height indexes of any of the reference points; and a step of using a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, or a step of converting the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of a reference point among the plurality of first reference points, and using a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among the N reference points other than the plurality of first reference points. The method of claim 2 comprising:
4. The step of acquiring a trigonometric function value corresponding to the azimuth information of the position information based on the azimuth information of the position information and the azimuth trigonometric function table includes: When the orientation information of the position information corresponds to an orientation index of a reference point among the plurality of second reference points, using a trigonometric function value in the orientation trigonometric function table that corresponds to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information; or When the orientation information of the position information corresponds to an orientation index of a reference point among the M reference points other than the plurality of second reference points, converting the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of a reference point among the plurality of second reference points, and using a trigonometric function value in the orientation trigonometric function table that corresponds to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information; or a step of acquiring, based on the orientation information of the position information, orientation information of a reference point corresponding to the orientation information of the position information when the orientation information of the position information does not correspond to an orientation index of any of the reference points; and a step of using, in the orientation trigonometric function table, a trigonometric function value corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to an orientation index of a reference point among the plurality of second reference points, or, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to an orientation index of a reference point among the M reference points other than the plurality of second reference points, converting the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of a reference point among the plurality of second reference points, and using, in the orientation trigonometric function table, a trigonometric function value corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information. The method of claim 2 comprising:
5. The method according to claim 2 , wherein the altitude information of the location information comprises an altitude of the location information or an altitude index of the location information, and the orientation information of the location information comprises an orientation of the location information or an orientation index of the location information.
6. 6. A method according to claim 1, wherein the trigonometric values are sine or cosine values.
7. When the plurality of trigonometric function values corresponding to the height indexes of the plurality of first reference points are sine function values, the sine function value corresponding to the height index of the i-th first reference point satisfies the following formula (1): [0010] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle, or or When the plurality of trigonometric function values corresponding to the height indexes of the plurality of first reference points are cosine function values, the cosine function value corresponding to the height index of the i-th first reference point satisfies the following equation (2): [0025] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle 7. The method according to any one of claims 1 to 6.
8. When the plurality of trigonometric function values corresponding to the orientation indexes of the plurality of second reference points are sine function values, the sine function value corresponding to the orientation index of the j-th second reference point satisfies the following equation (3): [0030] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle, or or When the plurality of trigonometric function values corresponding to the orientation indexes of the plurality of second reference points are cosine function values, the cosine function value corresponding to the orientation index of the j-th second reference point satisfies the following equation (4): [0045] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle 8. The method according to any one of claims 1 to 7.
9. The height φ and the height index φ′ satisfy the following formula (5): [0050] In the formula, r i indicates the radius of the first circular arc, and round() indicates the rounding. The method according to claim 5.
10. The direction θ and the direction index θ′ satisfy the following formula (6): [006] In the formula, r j indicates the radius of the first circular arc, and round() indicates the rounding. The method according to claim 5.
11. When M≠N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M≠N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ'<M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_M() denotes the orientation trigonometric function table, or or When M=N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table(φ') φ'<└N / 4┘ sin(φ)=sin_table(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M=N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table(θ') θ'<└N / 4┘ sin(θ)=sin_table(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ sin(θ)=-sin_table(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-sin_table(N-θ') └3N / 4┘≦θ'<N cos(θ)=sin_table(N / 4-θ') θ'<└N / 4┘ cos(θ)=-sin_table(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ cos(θ)=-sin_table(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ cos(θ)=sin_table(θ'-3N / 4) └3N / 4┘≦θ'<N In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_N() denotes the height trigonometric function table, or or When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ'<M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, sin_table_M() denotes the orientation trigonometric function table, and When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_M(K1×φ') K1×φ'<└M / 4┘ sin(φ)=sin_table_M(M / 2-K1×φ') └M / 4┘≦K1×φ'<└M / 2┘ sin(φ)=-sin_table_M(K1×φ'-M / 2) └M / 2┘≦K1×φ'<└3M / 4┘ sin(φ)=-sin_table_M(M-K1×φ') └3M / 4┘≦K1×φ'<M cos(φ)=sin_table_M(M / 4-K1×φ') K1×φ'<└M / 4┘ cos(φ)=-sin_table_M(K1×φ'-M / 4) └M / 4┘≦K1×φ'<└M / 2┘ cos(φ)=-sin_table_M(3M / 4-K1×φ') └M / 2┘≦K1×φ'<└3M / 4┘ cos(φ)=sin_table_M(K1×φ'-3M / 4) └3M / 4┘≦K1×φ'<M In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, and sin_table_M() denotes the azimuth trigonometric function table, or or When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_N(K2×θ') K2×θ'<└N / 4┘ sin(θ)=sin_table_N(N / 2-K2×θ') └N / 4┘≦K2×θ'<└N / 2┘ sin(θ)=-sin_table_N(K2×θ'-N / 2) └N / 2┘≦K2×θ'<└3N / 4┘ sin(θ)=-sin_table_N(N-K2×θ') └3N / 4┘≦K2×θ'<N cos(θ)=sin_table_N(N / 4-K2×θ') K2×θ'<└N / 4┘ cos(θ)=-sin_table_N(K2×θ'-N / 4) └N / 4┘≦K2×θ'<└N / 2┘ cos(θ)=-sin_table_N(3N / 4-K2×θ') └N / 2┘≦K2×θ'<└3N / 4┘ cos(θ)=sin_table_N(K2×θ'-3N / 4) └3N / 4┘≦K2×θ'<N In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_N() denotes the height trigonometric function table, or or When M≠N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(θ)=cos_table_N(N / 4-θ') θ'<└N / 4┘ sin(θ)=cos_table_N(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ sin(θ)=-cos_table_N(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-cos_table_N(θ'-3N / 4) └3N / 4┘≦θ'<N cos(θ)=cos_table_N(θ') θ'<└N / 4┘ cos(θ)=-cos_table_N(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ cos(θ)=-cos_table_N(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ cos(θ)=cos_table_N(N-θ') └3N / 4┘≦θ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, cos_table_N() denotes the height trigonometric function table; and When M≠N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=cos_table_M(M / 4-θ') θ'<└M / 4┘ sin(θ)=cos_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ sin(θ)=-cos_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-cos_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M cos(θ)=cos_table_M(θ') θ'<└M / 4┘ cos(θ)=-cos_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ cos(θ)=-cos_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ cos(θ)=cos_table_M(M-θ') └3M / 4┘≦θ'<M In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and cos_table_M() indicates the orientation trigonometric function table.
11. The method according to claim 9 or 10.
12. 12. A method according to claim 1, wherein the N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitudinal circle are equally spaced.
13. an acquisition module configured to acquire position information of a virtual speaker on a preset spherical surface, the position information including height information and / or orientation information, the preset spherical surface including M meridian circles and N latitude circles, the intersections of the meridian circles and the latitude circles are called reference points, the N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitude circle are equally spaced; a calculation module configured to obtain a trigonometric function value corresponding to the location information based on the location information and a preset reference trigonometric function table, the reference trigonometric function table including an elevation trigonometric function table and / or an orientation trigonometric function table, the elevation trigonometric function table including a plurality of trigonometric function values corresponding to elevation indices of a plurality of first reference points, the plurality of first reference points being reference points on a first meridian, and a quantity of the plurality of first reference points being equal to or greater than └N / 4┘+1; a calculation module configured to obtain Higher Order Ambisonics (HOA) coefficients for the virtual speaker based on the trigonometric function values corresponding to the position information, where ┘ indicates truncation, the first meridian circle is one of the M meridian circles, the azimuth trigonometric function table includes a plurality of trigonometric function values corresponding to azimuth indices of a plurality of second reference points, the plurality of second reference points are reference points on a first latitude circle, a quantity of the plurality of second reference points is equal to or greater than └M / 4┘+1, the first latitude circle is one of the N latitude circles, and An apparatus for obtaining Higher Order Ambisonics (HOA) coefficients, comprising:
14. The apparatus of claim 13 , wherein the calculation module is specifically configured to obtain a trigonometric function value corresponding to the height information of the position information based on the height information of the position information and the height trigonometric function table, and / or to obtain a trigonometric function value corresponding to the orientation information of the position information based on the orientation information of the position information and the orientation trigonometric function table.
15. When the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, the calculation module uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information; or, when the height information of the position information corresponds to a height index of a reference point among N reference points other than the plurality of first reference points, converts the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and uses a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information; or, when the height information of the position information does not correspond to a height index of any reference point, converts the height index of the reference point among the N reference points other than the plurality of first reference points into a height index of the reference point among the plurality of first reference points, and, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among the plurality of first reference points, using a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information, or, when the height information of the reference point corresponding to the height information of the position information corresponds to a height index of a reference point among N reference points other than the plurality of first reference points, converting the height index of the reference point among the N reference points other than the plurality of first reference points to a height index of a reference point among the plurality of first reference points and using a trigonometric function value corresponding to the height index of the reference point in the height trigonometric function table as the trigonometric function value corresponding to the height information of the position information.
16. When the orientation information of the position information corresponds to an orientation index of a reference point among the plurality of second reference points, the calculation module uses a trigonometric function value corresponding to the orientation index of the reference point in the orientation trigonometric function table as the trigonometric function value corresponding to the orientation information of the position information; or, when the orientation information of the position information corresponds to an orientation index of a reference point among M reference points other than the plurality of second reference points, converts the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of a reference point among the plurality of second reference points, and uses a trigonometric function value corresponding to the orientation index of the reference point in the orientation trigonometric function table as the trigonometric function value corresponding to the orientation information of the position information; or, when the orientation information of the position information does not correspond to an orientation index of any reference point, converts the orientation index of the reference point among the M reference points other than the plurality of second reference points into an orientation index of the reference point among the plurality of second reference points, and, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to an orientation index of a reference point among the plurality of second reference points, using a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information, or, when the orientation information of the reference point corresponding to the orientation information of the position information corresponds to an orientation index of a reference point among the M reference points other than the plurality of second reference points, converting the orientation index of the reference point among the M reference points other than the plurality of second reference points to an orientation index of a reference point among the plurality of second reference points and using a trigonometric function value in the orientation trigonometric function table corresponding to the orientation index of the reference point as the trigonometric function value corresponding to the orientation information of the position information.
17. 17. The apparatus of claim 14, wherein the altitude information of the location information comprises an altitude of the location information or an altitude index of the location information, and the orientation information of the location information comprises an orientation of the location information or an orientation index of the location information.
18. 18. Apparatus according to any one of claims 13 to 17, wherein the trigonometric values are sine or cosine values.
19. When the plurality of trigonometric function values corresponding to the height indexes of the plurality of first reference points are sine function values, the sine function value corresponding to the height index of the i-th first reference point satisfies the following formula (1): [0070] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle, or or When the plurality of trigonometric function values corresponding to the height indexes of the plurality of first reference points are cosine function values, the cosine function value corresponding to the height index of the i-th first reference point satisfies the following equation (2): [0080] where i = 0, 1, ..., N', N' = └N / 4┘, and r i denotes the radius of the first meridian circle 19. Apparatus according to any one of claims 13 to 18.
20. When the plurality of trigonometric function values corresponding to the orientation indexes of the plurality of second reference points are sine function values, the sine function value corresponding to the orientation index of the j-th second reference point satisfies the following equation (3): [0090] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle, or or When the plurality of trigonometric function values corresponding to the orientation indexes of the plurality of second reference points are cosine function values, the cosine function value corresponding to the orientation index of the j-th second reference point satisfies the following equation (4): [0010] where j=0, 1, ..., M', M'=└M / 4┘, and r j denotes the radius of the first latitude circle 20. Apparatus according to any one of claims 13 to 19.
21. The height φ and the height index φ′ satisfy the following formula (5): ##EQU00011## In the formula, r i indicates the radius of the first circular arc, and round() indicates the rounding.
18. Apparatus according to any one of claims 14 to 17.
22. The direction θ and the direction index θ′ satisfy the following formula (6): ##EQU00012## In the formula, r j indicates the radius of the first circular arc, and round() indicates the rounding.
18. Apparatus according to any one of claims 14 to 17.
23. When M≠N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M≠N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ'<M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_M() denotes the orientation trigonometric function table, or or When M=N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table(φ') φ'<└N / 4┘ sin(φ)=sin_table(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M=N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table(θ') θ'<└N / 4┘ sin(θ)=sin_table(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ sin(θ)=-sin_table(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-sin_table(N-θ') └3N / 4┘≦θ'<N cos(θ)=sin_table(N / 4-θ') θ'<└N / 4┘ cos(θ)=-sin_table(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ cos(θ)=-sin_table(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ cos(θ)=sin_table(θ'-3N / 4) └3N / 4┘≦θ'<N where θ denotes the orientation information of the location information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the location information, and sin_table_N() denotes the height trigonometric function table, and the height trigonometric function table includes a plurality of sine function values corresponding to the height information of the plurality of first reference points; or When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_M(θ') θ'<└M / 4┘ sin(θ)=sin_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ sin(θ)=-sin_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-sin_table_M(M-θ') └3M / 4┘≦θ'<M cos(θ)=sin_table_M(M / 4-θ') θ'<└M / 4┘ cos(θ)=-sin_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ cos(θ)=-sin_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ cos(θ)=sin_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M where θ denotes the orientation information of the location information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the location information, sin_table_M() denotes the orientation trigonometric function table, and the orientation trigonometric function table includes a plurality of sine function values corresponding to the orientation information of the plurality of second reference points, and When M ≠ N, M = K1 × N, and K1 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_M(K1×φ') K1×φ'<└M / 4┘ sin(φ)=sin_table_M(M / 2-K1×φ') └M / 4┘≦K1×φ'<└M / 2┘ sin(φ)=-sin_table_M(K1×φ'-M / 2) └M / 2┘≦K1×φ'<└3M / 4┘ sin(φ)=-sin_table_M(M-K1×φ') └3M / 4┘≦K1×φ'<M cos(φ)=sin_table_M(M / 4-K1×φ') K1×φ'<└M / 4┘ cos(φ)=-sin_table_M(K1×φ'-M / 4) └M / 4┘≦K1×φ'<└M / 2┘ cos(φ)=-sin_table_M(3M / 4-K1×φ') └M / 2┘≦K1×φ'<└3M / 4┘ cos(φ)=sin_table_M(K1×φ'-3M / 4) └3M / 4┘≦K1×φ'<M In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, and sin_table_M() denotes the azimuth trigonometric function table, or or When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(φ)=sin_table_N(φ') φ'<└N / 4┘ sin(φ)=sin_table_N(N / 2-φ') └N / 4┘≦φ'<└N / 2┘ sin(φ)=-sin_table_N(φ'-N / 2) └N / 2┘≦φ'<└3N / 4┘ sin(φ)=-sin_table_N(N-φ') └3N / 4┘≦φ'<N cos(φ)=sin_table_N(N / 4-φ') φ'<└N / 4┘ cos(φ)=-sin_table_N(φ'-N / 4) └N / 4┘≦φ'<└N / 2┘ cos(φ)=-sin_table_N(3N / 4-φ') └N / 2┘≦φ'<└3N / 4┘ cos(φ)=sin_table_N(φ'-3N / 4) └3N / 4┘≦φ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, sin_table_N() denotes the height trigonometric function table; and When M ≠ N, N = K2 × M, and K2 ≧ 2, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=sin_table_N(K2×θ') K2×θ'<└N / 4┘ sin(θ)=sin_table_N(N / 2-K2×θ') └N / 4┘≦K2×θ'<└N / 2┘ sin(θ)=-sin_table_N(K2×θ'-N / 2) └N / 2┘≦K2×θ'<└3N / 4┘ sin(θ)=-sin_table_N(N-K2×θ') └3N / 4┘≦K2×θ'<N cos(θ)=sin_table_N(N / 4-K2×θ') K2×θ'<└N / 4┘ cos(θ)=-sin_table_N(K2×θ'-N / 4) └N / 4┘≦K2×θ'<└N / 2┘ cos(θ)=-sin_table_N(3N / 4-K2×θ') └N / 2┘≦K2×θ'<└3N / 4┘ cos(θ)=sin_table_N(K2×θ'-3N / 4) └3N / 4┘≦K2×θ'<N In the formula, θ denotes the orientation information of the position information, or θ denotes the orientation information of the reference point corresponding to the orientation information of the position information, and sin_table_N() denotes the height trigonometric function table, or or When M≠N, the trigonometric function value corresponding to the height information of the position information satisfies the following formula: sin(θ)=cos_table_N(N / 4-θ') θ'<└N / 4┘ sin(θ)=cos_table_N(θ'-N / 4) └N / 4┘≦θ'<└N / 2┘ sin(θ)=-cos_table_N(3N / 4-θ') └N / 2┘≦θ'<└3N / 4┘ sin(θ)=-cos_table_N(θ'-3N / 4) └3N / 4┘≦θ'<N cos(θ)=cos_table_N(θ') θ'<└N / 4┘ cos(θ)=-cos_table_N(N / 2-θ') └N / 4┘≦θ'<└N / 2┘ cos(θ)=-cos_table_N(θ'-N / 2) └N / 2┘≦θ'<└3N / 4┘ cos(θ)=cos_table_N(N-θ') └3N / 4┘≦θ'<N In the formula, φ denotes the height information of the position information, or φ denotes the height information of the reference point corresponding to the height information of the position information, cos_table_N() denotes the height trigonometric function table; and When M≠N, the trigonometric function value corresponding to the orientation information of the position information satisfies the following formula: sin(θ)=cos_table_M(M / 4-θ') θ'<└M / 4┘ sin(θ)=cos_table_M(θ'-M / 4) └M / 4┘≦θ'<└M / 2┘ sin(θ)=-cos_table_M(3M / 4-θ') └M / 2┘≦θ'<└3M / 4┘ sin(θ)=-cos_table_M(θ'-3M / 4) └3M / 4┘≦θ'<M cos(θ)=cos_table_M(θ') θ'<└M / 4┘ cos(θ)=-cos_table_M(M / 2-θ') └M / 4┘≦θ'<└M / 2┘ cos(θ)=-cos_table_M(θ'-M / 2) └M / 2┘≦θ'<└3M / 4┘ cos(θ)=cos_table_M(M-θ') └3M / 4┘≦θ'<M In the formula, θ indicates the orientation information of the position information, or θ indicates the orientation information of the reference point corresponding to the orientation information of the position information, and cos_table_M() indicates the orientation trigonometric function table.
23. Apparatus according to claim 21 or 22.
24. 24. An apparatus according to claim 13, wherein the N reference points located on one meridian circle are equally spaced, and the M reference points located on one latitudinal circle are equally spaced.
25. one or more processors; and a memory configured to store one or more programs. When said one or more programs are executed by said one or more processors, said one or more processors are adapted to implement the method according to any one of claims 1 to 12. Audio processing device.
26. A computer readable storage medium comprising a computer program, which when executed on a computer enables the computer to carry out the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
An apparatus for determining the minimum number of integer bits required to represent a non-differential gain value for compression of HOA data frame representation
JP2017523457A
Fast and memory efficient encoding of sound objects using spherical harmonic symmetries
US20190069110A1