WO2023085140A1 - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
WO2023085140A1
WO2023085140A1 PCT/JP2022/040596 JP2022040596W WO2023085140A1 WO 2023085140 A1 WO2023085140 A1 WO 2023085140A1 JP 2022040596 W JP2022040596 W JP 2022040596W WO 2023085140 A1 WO2023085140 A1 WO 2023085140A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
control
viewpoint
cvp
listener
Prior art date
Application number
PCT/JP2022/040596
Other languages
English (en)
French (fr)
Inventor
光行 畠中
徹 知念
実 辻
康裕 戸栗
弘幸 本間
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023085140A1 publication Critical patent/WO2023085140A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control

Definitions

  • the present technology relates to an information processing device, method, and program, and more particularly to an information processing device, method, and program that enable content reproduction based on the intention of a content creator.
  • free-viewpoint audio is mainly used in games, where the positional relationship on the image displayed in the game, that is, matching the image and sound, is important, so object audio with an absolute coordinate system is used. (See, for example, Patent Document 1).
  • This technology has been developed in view of this situation, and enables content playback based on the content creator's intentions.
  • An information processing apparatus provides a plurality of objects including object position information indicating positions of objects viewed from a control viewpoint when a direction from a control viewpoint in space toward a target position is a direction of a median plane. generating a plurality of metadata sets composed of the metadata of the object, and for each of the plurality of control viewpoints, control viewpoint position information indicating the position of the control viewpoint in the space; generating control viewpoint information including information indicating the metadata sets associated with the viewpoints, and content including a plurality of the metadata sets different from each other and configuration information including the control viewpoint information of the plurality of the control viewpoints.
  • a controller for generating data is provided.
  • An information processing method or program includes object position information indicating the position of an object viewed from the control viewpoint when the direction from the control viewpoint in space toward the target position is the direction of the median plane. generating a plurality of metadata sets composed of metadata of a plurality of the objects, and for each of the plurality of the control viewpoints, control viewpoint position information indicating the position of the control viewpoint in the space; generating control view information including information indicating the metadata sets associated with the control views, and generating a plurality of the metadata sets different from each other and configuration information including the control view information of the plurality of the control views; generating content data including:
  • a plurality of objects including object position information indicating the positions of the objects viewed from the control viewpoint when the direction from the control viewpoint to the target position in space is the direction of the median plane.
  • a plurality of metadata sets including metadata are generated, and for each of the plurality of control viewpoints, control viewpoint position information indicating the position of the control viewpoint in the space is associated with the control viewpoint of the plurality of metadata sets.
  • control viewpoint information including information indicating the metadata set obtained from the control viewpoint is generated, and content data including a plurality of the metadata sets different from each other and configuration information including the control viewpoint information of the plurality of the control viewpoints is generated.
  • An information processing apparatus includes object position information indicating a position of an object viewed from the control viewpoint when the direction from the control viewpoint in space toward a target position is the direction of a median plane; an acquisition unit for acquiring control viewpoint position information indicating the position of the control viewpoint in the space; a listener position information acquisition unit for acquiring listener position information indicating the listening position in the space; a position calculation unit that calculates listener reference object position information indicating the position of the object viewed from the listening position based on the control viewpoint position information of the control viewpoint and the object position information of a plurality of the control viewpoints; Prepare.
  • An information processing method or program includes object position information indicating the position of an object viewed from the control viewpoint when the direction from the control viewpoint in space toward the target position is the direction of the median plane; obtaining control viewpoint position information indicating a position of the control viewpoint in the space; obtaining listener position information indicating a listening position in the space; obtaining the listener position information and the control viewpoint positions of the plurality of control viewpoints; calculating listener reference object position information indicating the position of the object viewed from the listening position based on the information and the object position information of the plurality of the control viewpoints.
  • Control viewpoint position information indicating a position of a viewpoint is obtained, listener position information indicating a listening position in the space is obtained, the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the plurality of control viewpoint position information are obtained.
  • Listener reference object position information indicating the position of the object viewed from the listening position is calculated based on the object position information of the control viewpoint.
  • FIG. 2 is a diagram explaining 2D audio and 3D audio; It is a figure explaining object arrangement.
  • FIG. 4 is a diagram for explaining CVP and target position TP;
  • FIG. 4 is a diagram for explaining the positional relationship between target positions TP and CVP; It is a figure explaining object arrangement.
  • FIG. 4 is a diagram for explaining CVP and object position patterns;
  • FIG. 4 is a diagram showing a format example of configuration information;
  • FIG. 4 is a diagram showing an example of a frame length index;
  • FIG. 4 is a diagram showing a format example of CVP information;
  • FIG. 4 is a diagram showing a format example of an object metadata set;
  • FIG. 10 is a diagram showing an example of arrangement of CVPs in a free viewpoint space;
  • FIG. 4 is a diagram showing an example of arrangement of reverberation objects; It is a figure which shows the structural example of an information processing apparatus. 4 is a flowchart for explaining content production processing; It is a figure which shows the structural example of a server. 10 is a flowchart for explaining distribution processing; It is a figure which shows the structural example of a client. 4 is a flowchart for explaining reproduction audio data generation processing; FIG. 10 is a diagram illustrating selection of CVPs used for interpolation processing; FIG. 4 is a diagram for explaining an object three-dimensional position vector; FIG. 11 is a diagram for explaining synthesis of three-dimensional position vectors of objects; It is a figure explaining vector composition. It is a figure explaining vector composition. FIG.
  • FIG. 10 is a diagram for explaining the contribution rate of each vector during vector synthesis;
  • FIG. 10 is a diagram for explaining listener reference object position information according to the orientation of the listener's face;
  • FIG. 10 is a diagram for explaining listener reference object position information according to the orientation of the listener's face;
  • FIG. 4 is a diagram for explaining grouping of CVPs;
  • FIG. 4 is a diagram for explaining CVP groups and interpolation processing;
  • FIG. 4 is a diagram for explaining CVP groups and interpolation processing;
  • FIG. 4 is a diagram for explaining CVP groups and interpolation processing;
  • FIG. 4 is a diagram for explaining CVP groups and interpolation processing;
  • FIG. 4 is a diagram showing a format example of configuration information;
  • FIG. 4 is a diagram showing a format example of configuration information;
  • FIG. 4 is a diagram showing a format example of CVP group information; 4 is a flowchart for explaining reproduction audio data generation processing;
  • FIG. 10 is a diagram showing an example of an arrangement pattern of CVPs;
  • FIG. 10 is a diagram showing an example of arrangement of CVP and the like in a common absolute coordinate system;
  • FIG. 10 is a diagram showing an example of listener reference object position information and listener reference gain;
  • FIG. 10 is a diagram showing an example of an arrangement pattern of CVPs;
  • FIG. 10 is a diagram showing an example of arrangement of CVP and the like in a common absolute coordinate system;
  • FIG. 10 is a diagram showing an example of listener reference object position information and listener reference gain;
  • FIG. 10 is a diagram showing a selection example of CVPs used for interpolation processing;
  • FIG. 10 is a diagram showing an example of listener reference object position information and listener reference gain;
  • FIG. 10 is a diagram showing an example of listener reference object position information and listener reference gain;
  • FIG. 4 is a diagram showing an example of configuration information; 9 is a flowchart for explaining contribution coefficient calculation processing; 9 is a flowchart for explaining normalized contribution coefficient calculation processing; 9 is a flowchart for explaining normalized contribution coefficient calculation processing;
  • FIG. 10 is a diagram illustrating selection of CVP on the playback side;
  • FIG. 10 is a diagram showing an example of a CVP selection screen;
  • FIG. 4 is a diagram showing an example of configuration information; It is a figure which shows the structural example of a client. 4 is a flowchart for explaining selective interpolation processing; It is a figure which shows the structural example of a computer.
  • the sound source can only be placed at the listener's ear level.
  • 2D audio it is possible to express the movement of the sound source back and forth and left and right.
  • 3D audio as shown on the right side of the figure, it is possible to place the sound source object above or below the listener's ear height. It can also express vertical movement.
  • 3DoF content users can view content by rotating their head up, down, left, right, or diagonally in space.
  • 3DoF content is also called fixed-viewpoint content.
  • 6DoF content users can rotate their head up, down, left, right, and diagonally in space, and can move to any position in space to view the content. can be viewed.
  • 6DoF content is also called free-viewpoint content.
  • the content described below may be audio content consisting only of audio, or may be content consisting of video and audio accompanying the video, but these contents are not particularly distinguished below. simply referred to as content.
  • content simply referred to as content.
  • 6DoF content that is, free-viewpoint content.
  • an audio object is also simply referred to as an object.
  • objects may be intentionally placed in different locations than they are visible, regardless of the physical placement of the objects.
  • FIG. 2 shows the difference between the arrangement of objects in absolute coordinates and polar coordinates using an example of an actual band performance.
  • the musicality is expressed as follows. It is arranged based on this.
  • the left side of the figure shows the physical arrangement positions in the three-dimensional space of the band members playing the music, that is, the arrangement positions in the physical space (absolute coordinate space). That is, object OV11 is vocal (vocalist), object OD11 is drums, object OG11 is guitar, and object OB11 is bass.
  • object OV11 is vocal (vocalist)
  • object OD11 is drums
  • object OG11 is guitar
  • object OB11 is bass.
  • the object OV11 (vocal) is placed in a position shifted to the right from the front (median plane) of the user who is the listener of the content, and the object OG11 (guitar) is placed near the edge on the right side from the user's point of view. are placed.
  • an object (audio object) corresponding to each band member (instrument) is placed as shown on the right side of the figure, based on musicality. It should be noted that taking musicality into account means making it easier to listen to as a piece of music.
  • object OV21 indicates the localization position of the audio object corresponding to object OV11, that is, the vocal voice (sound).
  • Object OV11 is positioned to the right of the median plane. Position, that is, it is arranged at a central high position as seen from the user.
  • Objects OG21-1 and OG21-2 are audio objects of guitar chord accompaniment sounds corresponding to object OG11.
  • the object OG21-1 and the object OG21-2 are also simply referred to as the object OG21 when there is no particular need to distinguish them.
  • the monaural object OG21 instead of placing the monaural object OG21 as it is in the physical position of the guitarist in the three-dimensional space, that is, the position of the object OG11, it is possible to place two It is arranged in one position. That is, by arranging the object OG21 with a width in each of the front left and right positions as seen from the user, it is possible to realize an audio expression that envelops the listener (user). In other words, it is possible to express a feeling of spaciousness (feeling of being surrounded).
  • Objects OD21-1 and OD21-2 are audio objects corresponding to object OD11 (drums), and objects OB21-1 and OB21-2 are audio objects corresponding to object OB11 (bass).
  • object OD21 when there is no need to distinguish objects OD21-1 and OD21-2, they are simply referred to as object OD21, and when there is no need to distinguish between objects OB21-1 and OB21-2, they are simply referred to as object OB21.
  • Object OD21 is positioned lower left and right from the user's perspective for stability, and object OB21 is centered and slightly higher than the drum (object OD21) for stability. placed in position.
  • the creator arranges each object in a polar coordinate space based on the musicality and creates free-viewpoint content.
  • object placement in the polar coordinate system is more freedom with added artistry (music) intended by the creator than in the absolute coordinate system, where the position of the object is physically determined uniquely.
  • This technology is a free-viewpoint audio technology realized by using a plurality of polar coordinate system object placement patterns based on the above-described object placement method in the polar coordinate system.
  • the creator assumes one listening position in space and uses a polar coordinate system centered on the listener (listening position) to place each object.
  • the metadata of each object is mainly composed of three elements: Azimuth, Elevation, and Gain.
  • Azimuth is the horizontal angle of the object's position as seen by the listener
  • Elevation is the vertical angle of the object's position as seen by the listener
  • Gain is the gain of the object's audio data.
  • the production tool For each object, the production tool outputs the above metadata and audio data (object audio data) for reproducing the sound of the object corresponding to the metadata as deliverables.
  • the creator of the free-viewpoint content defines multiple CVPs with the position of the viewpoint that the creator wishes to express in the free-viewpoint space (three-dimensional space) as the control viewpoint (hereinafter also referred to as CVP).
  • CVP is the desired listening position during content playback.
  • the i-th CVP is also specifically referred to as CVPi.
  • three CVPs (control viewpoints) CVP1 to CVP3 are defined in the free viewpoint space in which the user who is the listener listens to the content.
  • the coordinate system of absolute coordinates indicating an absolute position in the free viewpoint space is a common absolute coordinate system, as shown in the center of the figure, the common absolute coordinate system has a predetermined position in the free viewpoint space as the origin. It is an orthogonal coordinate system whose axes are denoted by O and the mutually orthogonal X-, Y-, and Z-axes.
  • the X axis is the horizontal axis in the figure
  • the Y axis is the depth axis
  • the Z axis is the vertical axis in the figure.
  • the setting of the position of the origin O in the free viewpoint space is left to the intention of the creator of the content, but it may be set in the center of the hall as the assumed free viewpoint space.
  • the coordinates indicating each position of CVP1 to CVP3 in the common absolute coordinate system that is, the absolute coordinate positions of each CVP are (X1, Y1, Z1), (X2, Y2, Z2), and (X3, Y3, Z3 ).
  • the content creator defines one position (one point) in the free-viewpoint space as the target position TP that is assumed to be viewed from all CVPs.
  • the target position TP is a position that serves as a reference for interpolation processing of positional information of objects, and in particular, all virtual listeners at each CVP are assumed to face the direction of the target position TP.
  • the coordinates (absolute coordinate position) indicating the target position TP in the common absolute coordinate system are (x tp , y tp , z tp ).
  • each CVP forms a polar coordinate space centered on the position of the CVP (hereinafter also referred to as the CVP polar coordinate space).
  • a position in the CVP polar coordinate space is, for example, a polar coordinate system consisting of the position of the CVP, that is, the absolute coordinate position of the CVP, as the origin O', and the mutually orthogonal x-, y-, and z-axes (hereinafter also referred to as the CVP polar coordinate system). is represented by the coordinates (polar coordinates) of
  • the direction from the position of the CVP to the target position TP is the positive direction of the y-axis
  • the left-right direction of the virtual listener in the CVP is the x-axis
  • the virtual listener in the CVP is the x-axis.
  • the vertical axis as seen from the listener is the z-axis.
  • the horizontal angle Yaw and the vertical angle Pitch are information indicating the positional relationship between the CVP and the target position TP. relationship is determined.
  • the horizontal angle “Yaw” is the horizontal angle between the Y-axis of the common absolute coordinate system and the y-axis of the CVP polar coordinate system. That is, the angle “Yaw” is the horizontal angle that indicates the face orientation of the virtual listener in the CVP and looking at the target position TP with respect to the Y-axis in the common absolute coordinate system.
  • the vertical angle "Pitch” is the angle formed by the y-axis of the CVP polar coordinate system with respect to the XY plane containing the X-axis and Y-axis of the common absolute coordinate system. That is, the angle “Pitch” is the vertical angle that indicates the orientation of the face of the virtual listener, who is at the CVP and looking at the target position TP, with respect to the XY plane in the common absolute coordinate system.
  • the coordinates indicating the absolute coordinate position of the target position TP are (x tp , y tp , z tp ), and the coordinates indicating the absolute coordinate position of the predetermined CVP, that is, the coordinates of the common absolute coordinate system are (x cvp , y cvp , z cvp ).
  • the formed angle “Yaw2" is the horizontal angle "Yaw” for CVP2 determined by the equation (1).
  • the angle "Pitch2" between the y-axis of the CVP polar coordinate system of CVP2 and the XY plane is the vertical angle "Pitch" for CVP2 determined by equation (1).
  • the transmission side (generation side) of the free-viewpoint content has, as configuration information, CVP position information indicating the absolute coordinate position of the CVP in the common absolute coordinate system, and CVP direction information including the Yaw and Pitch of the CVP obtained by Equation (1). is transmitted to the receiving side (playback side).
  • the coordinates (absolute coordinate values) indicating the target position TP in the common absolute coordinate system may be transmitted from the transmitting side to the receiving side. That is, instead of the CVP direction information, target position information indicating the target position TP in the common absolute coordinate system (free viewpoint space) may be stored in the configuration information. In such a case, on the receiving side (reproducing side), Yaw and Pitch are calculated for each CVP by the above equation (1) based on the received coordinates indicating the target position TP.
  • the CVP orientation information may include not only the Yaw and Pitch of the CVP, but also the rotation angle (Roll) of the CVP polar coordinate system with respect to the common absolute coordinate system with the y-axis of the CVP polar coordinate system as the rotation axis. good.
  • Yaw, Pitch, and Roll included in CVP orientation information are also specifically referred to as CVP Yaw information, CVP Pitch information, and CVP Roll information.
  • FIG. 4 shows the positional relationship between the target position TP and CVP3 shown in FIG.
  • the straight line LN11 is the CVP3 is a straight line obtained by projecting the y-axis of the CVP polar coordinate system onto the X'Y' plane.
  • a straight line LN12 is a straight line parallel to the Y-axis of the common absolute coordinate system on the X'Y' plane.
  • the angle "Yaw3" formed by the straight lines LN11 and LN12 is the CVP Yaw information for CVP3 determined by Equation (1)
  • the angle "Pitch3" formed by the y-axis and the straight line LN11 is CVP3 determined by Equation (1). It becomes CVP Pitch information about .
  • the CVP direction information consisting of CVP Yaw information and CVP Pitch information obtained in this way is information indicating the direction in which the virtual listener in CVP3 is facing, that is, the direction from CVP3 to the target position TP in the free viewpoint space.
  • the CVP direction information can be said to be information indicating the relative relationship regarding the directions (directions) of the common absolute coordinate system and the CVP polar coordinate system.
  • FIG. 5 shows the target positions TP and CVP3 in the same positional relationship as in FIG.
  • the left side shows the entire free viewpoint space, and in particular, object obj1 is placed near the target position TP.
  • the content creator determines (designates) the placement position of the object for each CVP so that the absolute placement position of the object in the free viewpoint space is different for each CVP, even if the object is the same. )Is possible.
  • the creator can individually specify the placement position of object obj1 in the free-viewpoint space when viewed from CVP1 and the placement position of object obj1 in the free-viewpoint space when viewed from CVP3. are not always the same.
  • the right side shows how the target position TP and object obj1 are viewed from CVP3 in the CVP polar coordinate space of CVP3. .
  • a relative positional relationship is established between CVP3 and object obj1 determined by horizontal angle Azimuth_obj1 and vertical angle Elevation_obj1.
  • the relative position of object obj1 viewed from CVP3 can be represented by the coordinates (polar coordinates) of the CVP polar coordinate system consisting of horizontal angle Azimuth_obj1 and vertical angle Elevation_obj1.
  • This kind of polar coordinate representation of object placement is the same as the placement method used in 3DoF content production. In other words, with the present technology, even 6DoF content can be placed using polar coordinate representation similar to 3DoF content.
  • objects can be arranged in a three-dimensional space for each of a plurality of CVPs set in the free viewpoint space using the same technique as in the case of 3DoF content. As a result, object position patterns corresponding to multiple CVPs are generated.
  • the creator When creating free-viewpoint content, the creator will specify the placement positions of all objects for each CVP set by the creator.
  • each CVP is not limited to corresponding to one individual CVP, and the same arrangement pattern may be assigned to multiple CVPs. In this way, object positions can be specified for multiple CVPs over a wider range in free-viewpoint space while effectively reducing production costs.
  • FIG. 6 shows an example of association between configuration information (CVP set) for managing CVP and object position patterns (Object Set).
  • (N+2) CVPs are shown on the left side, and information about these (N+2) CVPs is stored in the configuration information.
  • the configuration information includes CVP location information and CVP orientation information for each CVP.
  • N different object position patterns that is, object arrangement patterns are shown.
  • the object position pattern information indicated by the characters "OBJ Positions 1" indicates the placement positions of all objects in the CVP polar coordinate system when the objects are placed in one specific placement pattern determined by the creator.
  • the object placement pattern indicated by "OBJ Positions 1" and the object placement pattern indicated by “OBJ Positions 2" are different.
  • the arrow pointing from each CVP shown on the left side of the figure to the object position pattern shown on the right side of the figure represents the link relationship between the CVP and the object position pattern.
  • the combination patterns of the information on each CVP and the positional information of the object exist independently, and the relationship between the two is linked and managed as shown in FIG.
  • an object metadata set is prepared for each object arrangement pattern, for example.
  • an object metadata set consists of object metadata for each object, and each object metadata includes object position information of the object according to the arrangement pattern.
  • This object position information is polar coordinates that indicate the position of the object in the CVP polar coordinate system when the object is placed in the corresponding placement pattern. More specifically, for example, the object position information is represented by the coordinates of the polar coordinate system (polar coordinates) similar to the CVP polar coordinate system, and the direction from the CVP in the free viewpoint space toward the target position TP is the direction of the median plane. This is coordinate information indicating the position of the object viewed from the CVP.
  • the configuration information stores, for each CVP, a metadata set index indicating an object metadata set corresponding to the object position pattern (object arrangement pattern) set for the CVP by the creator. Then, on the receiving side (playback side), an object metadata set for the corresponding object position pattern is obtained based on the metadata set index included in the configuration information.
  • Linking CVPs and object location patterns (object metadata sets) with such a metadata set index can be said to have mapping information between CVPs and object location patterns. By doing so, it is possible to improve the visibility of the format in terms of data management and implementation, and reduce the amount of memory.
  • the content creator can share the combination pattern of object position information of multiple existing objects with multiple CVPs on the production tool.
  • an object position pattern indicated by "OBJ Positions 2" shown on the right side of the figure is specified.
  • An object position pattern can be specified as indicated by "OBJ Positions 2".
  • the object position pattern (associated with CVP2) referenced by CVP2 and the object position pattern referenced by CVPN+1 are both "OBJ Positions 2". Therefore, the relative placement position of the object indicated by "OBJ Positions 2" seen from CVP2 is the same as the relative placement position of the object indicated by "OBJ Positions 2" seen from CVPN+1.
  • the arrangement position of the object in the free viewpoint space indicated by "OBJ Positions 2" in CVP2 and the arrangement position of the object in the free viewpoint space indicated by “OBJ Positions 2" in CVPN+1 are different from each other.
  • the object position information in the object position pattern "OBJ Positions 2" is represented by the polar coordinates of the polar coordinate system.
  • CVP2 refers to "OBJ Positions 2”
  • CVPN+1 refers to "OBJ Positions 2"
  • the position of the origin of the CVP polar coordinate system and the direction of the y-axis are different between CVP2 and CVPN+1.
  • N number of object position patterns are prepared here, even if new object position patterns are additionally generated after that, the management of CVP and object metadata will not become complicated, and it will be processed systematically. It can be performed. This makes it possible to improve the visibility of data on software and facilitate implementation.
  • 6DoF content free-viewpoint content
  • 3DoF method it is possible to create 6DoF content (free-viewpoint content) simply by arranging objects on the polar coordinates associated with each CVP using the 3DoF method.
  • the audio data group corresponding to the objects used in each CVP is selected by the content creator, but such audio data can be used in common by multiple CVPs. Note that audio data corresponding to an object used only by a specific CVP may be added.
  • a production tool that generates 6DoF content (free-viewpoint content) according to the operation of the creator outputs two data structures, configuration information and an object metadata set, as files or binary data.
  • FIG. 7 is a diagram showing an example format (syntax) of configuration information.
  • the configuration information includes frame length index "FrameLengthIndex”, object number information "NumOfObjects”, CVP number information "NumOfControlViewpoints”, and metadata set number information "NumOfObjectMetaSets”.
  • the frame length index "FrameLengthIndex” is an index that indicates the length of one frame of audio data for reproducing the sound of an object, that is, how many samples one frame consists of.
  • the frame length index is "5"
  • the frame length is "1024". That is, one frame consists of 1024 samples.
  • the number-of-objects information "NumOfObjects” is information indicating the number of audio data constituting the content, that is, the number of objects (audio objects).
  • the CVP number information “NumOfControlViewpoints” is information indicating the number of CVPs set by the creator.
  • Metadata set number information “NumOfObjectMetaSets” is information indicating the number (quantity) of object metadata sets.
  • the configuration information also includes CVP information "ControlViewpointInfo(i)", which is information about CVPs, for the number of CVPs indicated by the CVP number information "NumOfControlViewpoints”. That is, CVP information is stored for each CVP set by the creator.
  • the configuration information stores coordinate mode information "CoordinateMode[i][j]", which is flag information indicating how to describe the object position information included in the object metadata for each CVP for each object. .
  • the coordinate mode information value "0" indicates that the object position information is described by absolute coordinates in the common absolute coordinate system.
  • the coordinate mode information value "1" indicates that the object position information is described in polar coordinates of the CVP polar coordinate system. In the following description, it is assumed that the value of the coordinate mode information is "1".
  • Fig. 9 shows an example of the format (syntax) of the CVP information "ControlViewpointInfo(i)" included in the configuration information.
  • the CVP information includes the CVP index "ControlViewpointIndex[i]" and the metadata set index "AssociatedObjectMetaSetIndex[i]”.
  • the CVP index "ControlViewpointIndex[i]" is index information for identifying the CVP corresponding to the CVP information.
  • the metadata set index "AssociatedObjectMetaSetIndex[i]" is index information (designation information) indicating the object metadata set designated by the creator for the CVP indicated by the CVP index.
  • the metadata set index is information indicating the object metadata set associated with the CVP.
  • CVP information includes CVP location information and CVP direction information.
  • CVP position information the X coordinate "CVPosX[i]", Y coordinate "CVPosY[i]", and Z coordinate "CVPosZ[i]” indicating the position of the CVP in the common absolute coordinate system are stored.
  • CVP Yaw information "CVYaw[i]"
  • CVP Pitch information "CVPitch[i]”
  • CVP Roll information "CVRoll[i]”
  • FIG. 10 is a diagram showing an example format (syntax) of an object metadata set, more specifically, a group of object metadata sets.
  • “NumOfObjectMetaSets” indicates the number of stored object metadata sets.
  • the number of object metadata sets can be obtained from metadata set number information included in the configuration information.
  • “ObjectMetaSetIndex[i]” indicates the index of the object metadata set
  • “NumOfObjects” indicates the number of objects.
  • NumOfChangePoints indicates the number of change points, which are the times when the contents of the object metadata set change.
  • object metadata sets between change points are not stored. Also, for each object metadata set, for each change point about the object, the frame index "frame_index[i][j][k]” for specifying the change point and "PosA[i]” indicating the position of the object [j][k]”, “PosB[i][j][k]”, and “PosC[i][j][k]” and the gain of the object “Gain[i][j][k] ” is stored. This gain "Gain[i][j][k]” is the gain of the object (audio data) viewed from the CVP.
  • the frame index "frame_index[i][j][k]” is an index that indicates the frame of the audio data of the object that is the change point.
  • the A sample location is identified.
  • ⁇ PosA[i][j][k]'', ⁇ PosB[i][j][k]'', and ⁇ PosC[i][j][k]'' indicating the position of the object are The horizontal angle Azimuth, the vertical angle Elevation, and the radius Radius that indicate the position of the object (polar coordinates) are shown. That is, the information consisting of 'PosA[i][j][k]', 'PosB[i][j][k]' and 'PosC[i][j][k]' is the object position information. .
  • the frame index for each object and the object position information and gain for each object are stored for each change point.
  • the position of the object is always fixed, but in other cases the position of the object changes dynamically in the time direction.
  • the position of the time when the position of the object changes that is, the position of the change point described above is recorded as the frame index "frame_index[i][j][k]".
  • the object position information and the gain between the change points are obtained by linear interpolation processing based on the object position information and the gain at the change point, for example, on the receiving side (playback side).
  • Fig. 11 shows an example of CVP arrangement in the free-viewpoint space when actual live content is produced as free-viewpoint content.
  • the space that includes the entire live venue is a free-viewpoint space, and an artist as an object performs music, etc. on stage ST11 at the live venue. Also, at the live venue, the audience seats are set up so as to surround the stage ST11.
  • the setting of the position of the origin O in the free viewpoint space that is, the common absolute coordinate system, is left to the intention of the creator of the content, but in this example, the center of the live venue is the position of the origin O.
  • the producer sets the target position TP on the stage ST11, and seven CVP1 to CVP7 are set in the live venue.
  • the direction from the CVP to the target position TP is the direction of the median plane.
  • a user who has CVP1 as the viewpoint position (listening position) and is facing the target position TP is presented with a content video in which the user looks directly at the stage ST11 as indicated by an arrow Q11. .
  • a user looking in the direction of the target position TP is presented with a content video in which the user looks at the stage ST11 from diagonally in front, as indicated by an arrow Q12.
  • a user whose viewpoint position is CVP5 and who is facing the direction of the target position TP is presented with a content image in which he/she looks at the stage ST11 from diagonally behind as indicated by an arrow Q13.
  • the creator's task of arranging objects for one CVP is equivalent to the production of 3DoF content.
  • the creator of the free-viewpoint content sets six more CVPs in order to support 6DoF, in addition to the object placement work for one CVP, and performs the object placement work for those CVPs. good. In this way, with the present technology, free-viewpoint content can be produced by the same work as in the case of 3DoF content.
  • reverberation components in space are originally generated by propagation and reflection in physical space.
  • FIG. 12 shows the arrangement of the reverberation objects in the CVP polar coordinate system (CVP polar coordinate space) with the same positional relationship.
  • the dotted arrow indicates the reverberant sound emitted from the sound source (performer) near the target position TP and directed to CVP3. That is, the arrows in the figure represent physical reverberation paths. In particular, four reverberation paths are depicted here.
  • each reverberation object will be placed at positions P11 to P14.
  • the content creator treats the reverberation component as an object (reverberation object), determines the direction of arrival that is considered optimal from the viewpoint of musicality, and determines the direction of arrival.
  • Objects can be placed according to the result. This makes it possible to produce a reverberation effect in the space.
  • the reverberation objects when CVP3 is the listening position, if the reverberation objects are placed at positions P11 to P14, the sound, mainly the reverberation sound, will be concentrated in a narrow area in front of the concert venue.
  • the producer places these reverberation objects at positions P'11 to P'14 behind the listener in CVP3.
  • the placement positions of the reverberation objects are moved from positions P11 to P14 to positions P'11 to P'14 in order to add musicality, taking into account reverberation paths and the like.
  • Such an information processing device consists of, for example, a personal computer, and is configured as shown in FIG.
  • the information processing device 11 shown in FIG. 1 The information processing device 11 shown in FIG.
  • the input unit 21 is composed of, for example, a mouse, keyboard, touch panel, buttons, switches, etc., and supplies the control unit 26 with signals according to the operations of the content creator.
  • the display unit 22 displays an arbitrary image such as a display screen of a content production tool under the control of the control unit 26 .
  • the recording unit 23 records various data such as audio data of each object for producing content, configuration information supplied from the control unit 26, and object metadata sets, and controls the recorded data appropriately. 26.
  • the communication unit 24 communicates with external devices such as servers. For example, the communication unit 24 transmits data supplied from the control unit 26 to a server or the like, or receives data transmitted from a server or the like and supplies the data to the control unit 26 .
  • the sound output unit 25 is composed of, for example, a speaker, and outputs sound based on the audio data supplied from the control unit 26.
  • the control unit 26 controls the operation of the information processing device 11 as a whole. For example, the control unit 26 generates (produces) free-viewpoint content based on a signal supplied from the input unit 21 according to the operation of the creator.
  • control unit 26 reads out and executes a program recorded in the recording unit 23, a production tool for producing free-viewpoint content is realized.
  • control unit 26 supplies predetermined image data to the display unit 22 to display the display screen of the production tool. For example, an image of the free viewpoint space is displayed on this display screen.
  • control unit 26 appropriately reads the audio data of each object constituting the free-viewpoint content to be produced from the recording unit 23 and supplies it to the sound output unit 25 in accordance with the operation of the producer. to play the sound of
  • the creator appropriately listens to the sound of the object, checks the free viewpoint space image on the display screen, etc., and operates the input unit 21 to perform operations for content creation.
  • step S11 the control unit 26 sets the target position TP.
  • the creator designates an arbitrary position (point) in the free viewpoint space as the target position TP by operating the input unit 21 .
  • the input unit 21 supplies the control unit 26 with a signal corresponding to the operation by the creator. Based on the signal, the position specified by the creator in the free viewpoint space is set as the target position TP. That is, the control unit 26 sets the target position TP.
  • control unit 26 may set the position of the origin O in the free viewpoint space (common absolute coordinate system) according to the operation of the creator.
  • step S12 the control unit 26 sets the number of CVPs and the number of object metadata sets to 0. That is, the control unit 26 sets the value of the CVP number information "NumOfControlViewpoints" to 0, and sets the value of the metadata set number information "NumOfObjectMetaSets" to 0.
  • step S13 the control unit 26 determines, based on the signal from the input unit 21, whether or not the editing mode selected by the producer's operation is the CVP editing mode.
  • the edit modes include a CVP edit mode for editing CVPs, an object metadata set edit mode for editing object metadata sets, and a link edit mode for associating (linking) CVPs and object metadata sets.
  • a mode for editing CVPs
  • an object metadata set edit mode for editing object metadata sets
  • a link edit mode for associating (linking) CVPs and object metadata sets.
  • step S14 the control unit 26 determines whether or not to change the CVP configuration.
  • the creator performs an operation to add (set) a new CVP or delete an existing CVP, it will be determined that the CVP configuration has been changed.
  • step S14 If it is determined in step S14 that the CVP configuration should not be changed, the process returns to step S13, and the above-described processes are repeated.
  • step S14 if it is determined to change the CVP configuration in step S14, then the process proceeds to step S15.
  • step S15 the control unit 26 updates the number of CVPs based on the signal supplied from the input unit 21 according to the operation of the creator.
  • the control unit 26 updates the number of CVPs by adding 1 to the value of the held CVP number information "NumOfControlViewpoints".
  • the control unit 26 subtracts 1 from the value of the retained CVP number information "NumOfControlViewpoints" to reduce the number of CVPs. Update.
  • step S16 the control unit 26 edits the CVP according to the producer's operation.
  • the control unit 26 when the creator performs an operation to specify (add) a CVP, the control unit 26 newly adds the position specified by the creator in the free viewpoint space based on the signal supplied from the input unit 21. be the position of the CVP that That is, the control unit 26 sets a new CVP. Also, for example, when the creator performs an operation to delete the CVP, the control unit 26 deletes the CVP specified by the creator in the free viewpoint space based on the signal supplied from the input unit 21 .
  • step S14 After the CVP is edited, the process returns to step S14, and the above-described processes are repeated. That is, a new CVP is edited.
  • step S13 determines whether or not the mode is the CVP edit mode. If it is determined in step S13 that the mode is not the CVP edit mode, the control unit 26 determines in step S17 whether or not the mode is the object metadata set edit mode.
  • step S18 the control unit 26 determines whether or not to change the object metadata set.
  • the object metadata set edit mode if the creator performs an operation to instruct the addition (setting) of a new object metadata set or the deletion of an existing object metadata set, when the object metadata set is changed be judged.
  • step S18 If it is determined not to change the object metadata set in step S18, the process returns to step S13, and the above-described processes are repeated.
  • step S18 determines whether the object metadata set is to be changed. If it is determined in step S18 that the object metadata set is to be changed, then the process proceeds to step S19.
  • step S19 the control unit 26 updates the number of object metadata sets based on the signal supplied from the input unit 21 according to the producer's operation.
  • control unit 26 adds 1 to the value of the retained metadata set number information “NumOfObjectMetaSets” to Update the number of metadata sets.
  • control unit 26 subtracts 1 from the value of the retained metadata set number information "NumOfObjectMetaSets". to update the number of object metadata sets.
  • step S20 the control unit 26 edits the object metadata set according to the operation of the creator.
  • control unit 26 when the creator performs an operation to set (add) a new object metadata set, the control unit 26 generates a new object metadata set based on the signal supplied from the input unit 21 .
  • control unit 26 causes the display unit 22 to display an image in the CVP polar coordinate space as appropriate, and the creator assigns a position (point) on the image in the CVP polar coordinate space to the object for the new object metadata set. It is specified as a placement position.
  • control unit 26 sets the position specified by the creator in the CVP polar coordinate space as the placement position of the object. Generate an object metadata set.
  • control unit 26 deletes the object metadata set specified by the creator based on the signal supplied from the input unit 21.
  • step S18 After editing the object metadata set, the process returns to step S18, and the above-described processes are repeated. That is, a new object metadata set is edited. It should be noted that it is also possible to change an existing object metadata set as editing of the object metadata set.
  • step S17 determines whether or not the mode is the object metadata set edit mode.
  • step S22 the control unit 26 associates the CVP and the object metadata set according to the producer's operation.
  • the control unit 26 based on the signal supplied from the input unit 21, for the CVP specified by the creator, the metadata set index "AssociatedObjectMetaSetIndex" indicating the object metadata set specified by the creator. [i]”.
  • the CVP and the object metadata set are linked.
  • step S22 After the processing of step S22 is performed, the processing returns to step S13, and the above-described processing is repeatedly performed.
  • step S21 determines whether the linked editing mode is set, that is, if an instruction to end the free-viewpoint content production work is given.
  • step S23 the control unit 26 outputs the content data through the communication unit 24.
  • control unit 26 generates configuration information based on the setting result of the target position TP, CVP, and object metadata set, and the linking result between the CVP and the object metadata set.
  • control unit 26 includes the frame length index, object number information, CVP number information, metadata set number information, CVP information, and coordinate mode information described with reference to FIGS. Generate information.
  • control unit 26 appropriately calculates the CVP orientation information by performing calculations similar to the above-described formula (1), and outputs the CVP information including the CVP index, the metadata set index, the CVP location information, and the CVP orientation information. Generate.
  • control unit 26 includes the frame index of each object, the object position information of each object, and the gain for each change point, as described with reference to FIG. Multiple object metadata sets are generated.
  • control unit 26 appropriately supplies the generated content data to the recording unit 23 for recording, and also supplies the data to the communication unit 24 .
  • the communication unit 24 outputs the content data supplied from the control unit 26. That is, the communication unit 24 transmits the content data to the server via the network at arbitrary timing.
  • the content data may be supplied to a recording medium or the like and provided to the server via the recording medium.
  • the information processing device 11 performs target position TP setting, CVP setting, object metadata set setting, etc. according to the operation of the producer, and extracts audio data, configuration information, and object metadata set from Generate content data that becomes
  • Such a server is configured, for example, as shown in FIG.
  • the server 51 shown in FIG. 15 is composed of an information processing device such as a computer.
  • the server 51 has a communication section 61 , a control section 62 and a recording section 63 .
  • the communication unit 61 communicates with the information processing device 11 and clients under the control of the control unit 62 .
  • the communication unit 61 receives content data of free-viewpoint content transmitted from the information processing device 11 and supplies the content data to the control unit 62, or transmits an encoded bitstream supplied from the control unit 62 to the client. do.
  • the control unit 62 controls the operation of the server 51 as a whole.
  • the control unit 62 has an encoding unit 71, and the encoding unit 71 encodes content data of free-viewpoint content to generate an encoded bitstream.
  • the recording unit 63 records various data such as the content data of the free-viewpoint content supplied from the control unit 62, and supplies the recorded data to the control unit 62 as necessary. In the following, it is assumed that the content data of the free-viewpoint content received from the information processing device 11 is recorded in the recording unit 63 .
  • the server 51 When the server 51 receives a request for distribution of free-viewpoint content from a client connected via a network, the server 51 performs distribution processing for distributing the free-viewpoint content in response to the request.
  • the distribution processing by the server 51 will be described below with reference to the flowchart of FIG. 16 .
  • step S51 the control unit 62 generates an encoded bitstream.
  • control unit 62 reads the content data of the free-viewpoint content from the recording unit 63. Then, the encoding unit 71 of the control unit 62 generates an encoded bitstream by encoding audio data, configuration information, and a plurality of object metadata sets of each object constituting the read content data. The control unit 62 supplies the obtained encoded bitstream to the communication unit 61 .
  • the encoding unit 71 encodes audio data, configuration information, and object metadata sets according to the encoding method used in MPEG (Moving Picture Experts Group)-I and MPEG-H. As a result, the amount of data transmission can be reduced. Also, since the audio data of an object is common to all CVPs, one audio data may be stored for one object regardless of the number of CVPs.
  • MPEG Motion Picture Experts Group
  • step S52 the communication unit 61 transmits the encoded bitstream supplied from the control unit 62 to the client, and the distribution process ends.
  • configuration information and an object metadata set are It may be sent to the client at a different timing than the data. For example, configuration information and object metadata sets may be sent to the client first, and then only audio data may be sent to the client.
  • the server 51 generates an encoded bitstream containing audio data, configuration information, and object metadata sets, and transmits it to the client.
  • the client can realize musical content reproduction based on the intention of the content creator.
  • a client that receives an encoded bitstream from the server 51 and generates playback audio data for playback of free-viewpoint content is configured as shown in FIG. 17, for example.
  • a client 101 shown in FIG. 17 is an information processing device such as a personal computer or a smartphone.
  • the client 101 has a listener position information acquisition section 111 , a communication section 112 , a decoding section 113 , a position calculation section 114 and a rendering processing section 115 .
  • the listener position information acquisition unit 111 acquires the listener position information indicating the absolute position of the listener in the free viewpoint space, that is, the listening position, input by the user who is the listener, and supplies it to the position calculation unit 114. supply.
  • the listener position information is assumed to be absolute coordinates indicating the listening position in a free viewpoint space, that is, a common absolute coordinate system.
  • the listener position information acquisition unit 111 also acquires listener orientation information indicating the orientation (direction) of the listener's face in the free viewpoint space (common absolute coordinate system), and supplies the information to the position calculation unit 114. good too.
  • the communication unit 112 receives the encoded bitstream transmitted from the server 51 and supplies it to the decoding unit 113 . That is, the communication unit 112 functions as an acquisition unit that acquires the encoded audio data, configuration information, and object metadata set of each object included in the encoded bitstream.
  • the decoding unit 113 decodes the encoded bitstream supplied from the communication unit 112, that is, the encoded audio data, configuration information, and object metadata set of each object.
  • the decoding unit 113 supplies the audio data of each object obtained by decoding to the rendering processing unit 115 and supplies the configuration information and object metadata set obtained by decoding to the position calculation unit 114 .
  • the position calculation unit 114 determines the position as seen from the listener (listening position). Listener reference object position information indicating the position of each object is calculated.
  • the position of the object indicated by the listener reference object position information is the relative position of the object viewed from the listener (listening position) expressed by the coordinates (polar coordinates) of the polar coordinate system with the listening position as the origin (reference). is information indicating
  • the listener reference object position information is calculated by interpolation processing based on the CVP position information of all or part of the CVPs, the object position information, and the listener position information.
  • the interpolation process may be of any kind, such as vector synthesis.
  • the CVP direction information and the listener direction information may also be used to calculate the listener reference object position information.
  • the position calculation unit 114 calculates the listener of each object at the listening position indicated by the listener position information by interpolation processing based on the gain for each object included in the object metadata set supplied from the decoding unit 113 . Calculate the reference gain.
  • the listener reference gain is the gain of the object as seen from the listening position.
  • the position calculation unit 114 supplies the listener reference gain of each object at the listening position and the listener reference object position information to the rendering processing unit 115 .
  • the rendering processing unit 115 performs rendering processing based on the audio data of each object supplied from the decoding unit 113 and the listener reference gain and the listener reference object position information supplied from the position calculation unit 114, and reproduces the reproduced audio. Generate data.
  • the rendering processing unit 115 performs rendering processing in a polar coordinate system stipulated by MPEG-H, such as VBAP (Vector Based Amplitude Panning), to generate playback audio data.
  • This playback audio data is audio data for playing back the sound of the free viewpoint content including the sound of all objects.
  • step S81 the communication unit 112 receives the encoded bitstream transmitted from the server 51 and supplies it to the decoding unit 113.
  • step S82 the decoding unit 113 decodes the encoded bitstream supplied from the communication unit 112.
  • the decoding unit 113 supplies the audio data of each object obtained by decoding to the rendering processing unit 115, and supplies the configuration information and object metadata set obtained by decoding to the position calculation unit 114.
  • configuration information and the object metadata set may be received at a different timing than the audio data.
  • step S ⁇ b>83 the listener position information acquisition unit 111 acquires the listener position information at the current time and supplies it to the position calculation unit 114 .
  • the listener position information acquisition unit 111 may also acquire the listener direction information and supply it to the position calculation unit 114 .
  • step S84 the position calculation unit 114 performs interpolation processing based on the listener position information supplied from the listener position information acquisition unit 111 and the configuration information and object metadata set supplied from the decoding unit 113.
  • the position calculation unit 114 performs vector synthesis as interpolation processing to calculate listener reference object position information, and also calculates listener reference gain by interpolation processing.
  • the position information and the listener reference gain are supplied to the rendering processing unit 115 .
  • the current time (sample) may be the time between the change points, and the object position information and gain at the current time may not be stored in the object metadata.
  • the position calculation unit 114 calculates the object position information in the CVP at the current time by interpolation processing based on the object position information and the gain at a plurality of change points close to the current time, such as immediately before and after the current time. and gain.
  • step S85 the rendering processing unit 115 performs rendering processing based on the audio data of each object supplied from the decoding unit 113 and the listener reference gain and listener reference object position information supplied from the position calculation unit 114. .
  • the rendering processing unit 115 performs gain correction on the audio data of each object based on the listener's reference gain of each object.
  • the rendering processing unit 115 performs rendering processing such as VBAP based on the gain-corrected audio data of each object and the listener reference object position information to generate reproduced audio data.
  • the rendering processing unit 115 outputs the generated reproduced audio data to subsequent blocks such as speakers.
  • step S86 the client 101 determines whether or not to end the process. For example, in step S86, it is determined that the process is finished when the coded bitstream is received for all frames of the free viewpoint content and reproduced audio data is generated.
  • step S86 If it is determined in step S86 that the process has not ended yet, the process returns to step S81, and the above-described processes are repeated.
  • step S86 the client 101 terminates the operation of each unit and terminates the reproduction audio data generation processing.
  • the client 101 performs interpolation processing based on the listener position information, the configuration information, and the object metadata set, and calculates the listener reference gain and the listener reference object position information at the listening position.
  • FIG. 19 shows a state in which the free viewpoint space is viewed from above.
  • the listener reference object position information indicating the position PosF of the object of interest in the polar coordinate system with the listening position LP11 as the origin is required. is necessary.
  • the position calculation unit 114 selects, for example, a plurality of CVPs around the listening position LP11 as CVPs to be used for interpolation processing.
  • CVPs for example, three CVPs CVP0 to CVP2 are selected as CVPs to be used for interpolation processing.
  • the selection of CVPs may be carried out in any way, for example, a predetermined number of three or more CVPs that are located in positions surrounding the listening position LP11 and that have the shortest distance from the listening position LP11 are selected. Further, interpolation processing may be performed using all CVPs. At this time, the position calculation unit 114 can specify the position of each CVP in the common absolute coordinate system by referring to the CVP position information included in the configuration information.
  • the position calculation unit 114 obtains the object three-dimensional position vector shown in FIG. 20, for example.
  • the position of the target object in the polar coordinate space of CVP0 is shown on the left side of the figure.
  • the position Pos0 is the arrangement position of the object of interest when viewed from CVP0
  • the position calculation unit 114 calculates a vector V11 whose starting point is the origin O' of the CVP polar coordinate system of CVP0 and whose ending point is the position Pos0. is calculated as the object three-dimensional position vector for CVP0.
  • the position of the target object in the polar coordinate space of CVP1 is shown in the center of the figure.
  • the position Pos1 is the arrangement position of the object of interest when viewed from CVP1
  • the position calculation unit 114 calculates a vector V12 whose starting point is the origin O' of the CVP polar coordinate system of CVP1 and whose ending point is the position Pos1. is calculated as the object three-dimensional position vector for CVP1.
  • the position of the object of interest in the polar coordinate space of CVP2 is shown on the right side of the figure.
  • the position Pos2 is the arrangement position of the object of interest when viewed from CVP2, and the position calculation unit 114 calculates a vector V13 whose starting point is the origin O' of the CVP polar coordinate system of CVP2 and whose ending point is the position Pos2. is calculated as the object 3D position vector for CVP2.
  • the origin O' of the CVP polar coordinate system of CVPi is the origin, and the x-axis, y-axis, and z-axis of the CVP polar coordinate system of CVPi are the x-axis, y-axis, and z-axis. system) is called the CVP absolute coordinate system (CVP absolute coordinate space).
  • the object 3D position vector is a vector expressed by the coordinates of the CVP absolute coordinate system.
  • the polar coordinates representing the position Posi of the target object in the CVP polar coordinate system of CVPi are (Azi[i], Ele[i], rad[i]). These Azi[i], Ele[i] and rad[i] are PosA[i][j][k], PosB[i][j][k] and Corresponds to PosC[i][j][k].
  • g[i] be the gain of the target object viewed from CVPi. This gain g[i] corresponds to Gain[i][j][k] described with reference to FIG.
  • the object three-dimensional position vector for CVPi is (vx[i], vy[i], vz[i]), and this object three-dimensional position vector can be obtained by the following equation (2).
  • the position calculation unit 114 reads the metadata set index indicating the object metadata set referenced by the CVPi from the CVP information of the CVPi included in the configuration information. Further, the position calculation unit 114 reads the object position information and the gain of the object of interest in CVPi from the object metadata of the object of interest forming the object metadata set indicated by the read metadata set index.
  • the position calculation unit 114 calculates Equation (2) based on the object position information of the target object in CVPi, and obtains the object three-dimensional position vector (vx[i], vy[i], vz[i]). .
  • Equation (2) is a conversion from polar coordinates to absolute coordinates.
  • the vector sum of vectors V11 to V13 is obtained, resulting in vector V21. That is, the vector V21 is obtained by vector synthesis based on the vectors V11 to V13.
  • the contribution rate of each CVP (object three-dimensional position vector) in the calculation of the vector V21 indicating the position PosF is used as a weight, and the vectors V11 to V13 are combined based on these weights to obtain the vector V21 is required.
  • the contribution rate of each CVP is set to 1 in FIG. 21 for the sake of simplicity of explanation.
  • This vector V21 is a vector indicating the position PosF of the target object in the absolute coordinate system when viewed from the listening position LP11.
  • This absolute coordinate system is a coordinate system in which the listening position LP11 is the origin and the direction from the listening position LP11 to the target position TP is the positive direction of the y-axis.
  • the vector V21 is (vxF, vyF, vzF).
  • Listener reference object position information can be obtained by converting the vector V21 thus obtained into polar coordinates indicating the position PosF of the object of interest in the polar coordinate system with the listening position LP11 as the origin. Also, the gain gF obtained by equation (3) is the listener's reference gain.
  • FIG. 22 shows an example in which CVPs are arranged on a two-dimensional plane in order to simplify the explanation.
  • the target position TP is the center, and CVP1 to CVP5 are positioned around the target position TP. Also, the positive direction of the y-axis of the CVP polar coordinate system of each CVP is the direction from the CVP toward the target position TP.
  • the positions of the same object of interest when viewed from CVP1 to CVP5 are respectively positions OBP1 to OBP5. That is, the polar coordinates of the CVP polar coordinate system indicating the positions OBP1 to OBP5 are the object position information of CVP1 to CVP5.
  • each CVP is rotated so that the y-axis of the CVP polar coordinate system is in the vertical direction, that is, the upward direction in the figure.
  • the object of interest is rearranged so that the origin O' of the CVP polar coordinate system of each CVP after rotation becomes the origin of the same single CVP polar coordinate system, the object of interest in each CVP seen from the origin of the CVP polar coordinate system
  • the relationship between positions OBP1 to OBP5 is shown on the right side of the figure. That is, the right side of the drawing shows the object position when each CVP is the origin and the median plane is the positive direction of the Y axis.
  • vectors V41 to V45 are vectors whose start point is the position of the CVP on the right side of the drawing, that is, the origin, and whose end points are the positions OBP1 to OBP5 of the object of interest. These vectors V41 through V45 correspond to vectors V11 through V13 shown in FIG.
  • the contribution rate of each CVP during vector synthesis may be obtained, for example, from the ratio of the distance from the listening position to the CVP in the free viewpoint space (common absolute coordinate system).
  • the listening position indicated by the listener position information is position F
  • the positions of the three CVPs used for interpolation processing are positions A to C.
  • the absolute coordinates of position F in the common absolute coordinate system are (xf, yf, zf)
  • the absolute coordinates of positions A, B, and C in the common absolute coordinate system are (xa, ya, za), ( xb,yb,zb) and (xc,yc,zc).
  • the absolute coordinates indicating the position of each CVP in the common absolute coordinate system can be obtained from the CVP position information included in the configuration information.
  • the position calculation unit 114 calculates the ratio (distance ratio) of the distance AF from the position F to the position A, the distance BF from the position F to the position B, and the distance CF from the position F to the position C, Let the reciprocal of the distance ratio be the ratio of the contribution rate of the CVP at each position (dependence ratio).
  • the position calculation unit 114 normalizes the degrees of dependence dp(AF), dp(BF), and dp(CF) shown in the expression (4) by calculating the following expression (6).
  • Dependencies ndp(AF), ndp(BF), and ndp(CF) are obtained as final contribution ratios. Note that a, b, and c in equation (6) are also determined by equation (5).
  • the contribution ratios ndp(AF) to ndp(CF) obtained in this manner correspond to the contribution ratios dep[0] to dep[2] in Equation (3), and the shorter the distance from the listening position to the CVP, the more , the CVP contribution is close to 1.
  • the contribution rate of each CVP is not limited to the above example, and may be obtained by any other method.
  • the position calculation unit 114 calculates the contribution rate of each CVP by obtaining the ratio of the distance from the listening position to the CVP based on the listener position information and the CVP position information.
  • the position calculation unit 114 selects CVPs to be used for interpolation processing based on the listener position information and the CVP position information included in the configuration information.
  • the CVPs used for the interpolation processing may be some of the CVPs around the listening position, or all the CVPs may be used for the interpolation processing.
  • the position calculation unit 114 calculates an object three-dimensional position vector based on the object position information for each selected CVP.
  • object 3D position vector for the j-th object seen from the i-th CVPi is (Obj_vector_x[i][j], Obj_vector_y[i][j], Obj_vector_z[i][j])
  • object 3 A dimensional position vector can be obtained by calculating the following equation (7).
  • the polar coordinates indicated by the object position information of the j-th object viewed from the i-th CVPi are (Azi[i][j],Ele[i][j],rad[i][j]). It is said that there is
  • the position calculation unit 114 performs calculations similar to the above formulas (4) to (6) based on the listener position information and the CVP position information of each CVPi included in the configuration information. , the contribution rate dp(i) of each CVPi, which is a weighting factor for interpolation processing, is obtained.
  • the contribution rate dp(i) is a weighting factor determined by the ratio of distances from the listening position to CVPi, more specifically, the reciprocal ratio of the distances.
  • the position calculation unit 114 calculates the object three-dimensional position vector obtained by the calculation of equation (7), the contribution rate dp(i) of each CVPi, and the gain Obj_gain[i][ of the j-th object seen from the CVPi. j], the following equation (8) is calculated.
  • listener reference object position information Intp_x(j), Intp_y(j), Intp_z(j)
  • listener reference gain Intp_gain(j) for the j-th object are obtained.
  • a weighted vector sum is obtained in equation (8). That is, the sum of the object three-dimensional position vectors of each CVPi multiplied by the contribution rate dp(i) is obtained as the listener reference object position information, and the sum of the gains of each CVPi multiplied by the contribution rate dp(i) is It is obtained as the listener reference gain.
  • This formula (8) is similar to the above formula (3).
  • the listener reference object position information obtained by equation (8) is an absolute coordinate system in which the listening position is the origin and the direction from the listening position to the target position TP is the positive direction of the y-axis, that is, the direction of the median plane. It has absolute coordinates.
  • the rendering processing unit 115 performs rendering processing in the polar coordinate system, listener reference object position information expressed in polar coordinates is required.
  • the position calculation unit 114 calculates the listener reference object position information (Intp_x(j), Intp_y(j), Intp_z(j)) in the absolute coordinate representation obtained by Equation (8) using Equation (9) below. By doing so, the listener reference object position information (Intp_azi(j), Intp_ele(j), Intp_rad(j)) in polar coordinates is converted.
  • the position calculation unit 114 uses the listener reference object position information (Intp_azi(j), Intp_ele(j), Intp_rad(j)) thus obtained as final listener reference object position information, and the rendering processing unit 115 output to
  • the listener reference object position information expressed in polar coordinates obtained by Equation (9) has the listening position as the origin and the direction from the listening position to the target position TP as the positive direction of the y-axis, that is, the direction of the median plane. It is the polar coordinates of the polar coordinate system.
  • the listener who is actually at the listening position does not necessarily face the target position TP. Therefore, when the listener orientation information is obtained by the listener position information acquisition unit 111, the listener reference object position information represented by the polar coordinates obtained by the expression (9) is further subjected to coordinate system rotation processing. may be used as the final listener reference object position information.
  • the position calculation unit 114 calculates the position of the object viewed from the listening position by a rotation angle determined by the position of the target position TP known on the client 101 side, the listener position information, and the listener orientation information. to rotate.
  • the rotation angle (correction amount) at this time is the angle formed by the direction from the listening position to the target position TP and the orientation (direction) of the listener's face indicated by the listener orientation information in the free viewpoint space. .
  • the target position TP in the common absolute coordinate system can be calculated by the position calculation unit 114 from CVP position information and CVP direction information for a plurality of CVPs.
  • each CVP, and listening position LP41 are arranged as shown in FIG. 25 when viewing the XY plane of the free viewpoint space (common absolute coordinate system).
  • each unhatched (slanted) circle represents a CVP
  • the vertical angle indicated by the CVP pitch information that constitutes the CVP direction information for each CVP is assumed to be 0 degrees. . That is, it is assumed that the free viewpoint space is substantially a two-dimensional plane.
  • the target position TP is the position of the origin O of the common absolute coordinate system.
  • a straight line connecting the target position TP and the listening position LP41 is defined as a straight line LN31
  • a straight line representing the listener's face orientation indicated by the listener orientation information is defined as a straight line LN32.
  • a straight line parallel to the Y-axis is assumed to be a straight line LN33.
  • the horizontal angle indicating the direction of the target position TP as viewed from an arbitrary listening position LP41 that is, the angle formed by the straight lines LN31 and LN33 is ⁇ tp_az.
  • the correction amount ⁇ cor_az is the angle formed by the straight lines LN31 and LN32. It is sufficient to correct the horizontal angle Intp_azi(j) of the listener reference object position information for . That is, the position calculation unit 114 adds the correction amount ⁇ cor_az to the horizontal angle Intp_azi(j), and obtains the final horizontal angle of the listener reference object position information.
  • the correction amount ⁇ cor_az can be obtained by calculating the following formula (10).
  • the target position TP and listening position LP41 are arranged as shown in FIG. 26 when the free viewpoint space (common absolute coordinate system) is viewed from a direction parallel to the XY plane.
  • the straight line connecting the target position TP and the listening position LP41 is defined as a straight line LN41
  • the straight line representing the listener's face direction indicated by the listener direction information is defined as a straight line LN42.
  • LN43 be a straight line parallel to the XY plane.
  • the Z coordinate indicating the listening position LP41 in the common absolute coordinate system, which constitutes the listener position information is Rz
  • the Z coordinate indicating the target position TP in the common absolute coordinate system is TPz.
  • the absolute value of the vertical angle (elevation angle) of the target position TP seen from the listening position LP41 in the free viewpoint space is the angle ⁇ tp_el formed by the straight lines LN41 and LN43.
  • the vertical angle (elevation angle) indicating the orientation of the listener's face in the free viewpoint space is the angle ⁇ cur_el formed by the horizontal straight line LN43 and the straight line LN42 indicating the orientation of the listener's face.
  • the angle ⁇ cur_el takes a positive value when the listener looks above the horizon, and the angle ⁇ cur_el takes a negative value when the listener looks below the horizon.
  • the position calculation unit 114 adds the correction amount ⁇ cor_el to the vertical angle Intp_ele(j) to obtain the final vertical angle of the listener reference object position information.
  • the correction amount ⁇ cor_el can be obtained by calculating the following formula (11).
  • CVP around the listening position can be used to obtain listener reference object position information by interpolation processing using Ceva's theorem.
  • a triangle is formed by three CVPs surrounding the listening position, and the triangle formed by the object positions corresponding to those three CVPs is mapped using Ceva's theorem. Interpolation processing is thus realized.
  • Listener reference object position information can be determined. Also, the vector synthesis method can easily obtain the listener reference object position information with a smaller amount of processing.
  • three areas such as inside the live venue, outside the live venue, and an area transitioning from inside the live venue to outside the live venue may be provided, and the CVP used in each area may be separated.
  • the area where the listener is currently present is selected according to the listener's position, and only the CVPs belonging to that area are used to obtain the listener reference object position information.
  • the number of areas to be divided may be arbitrarily set by the creator side, or may be set according to each live venue.
  • each small circle in FIG. 27 represents a CVP.
  • the group area R11 is a circular area (space)
  • the group area R12 is an annular area surrounding the outside of the group area R11
  • the group area R13 is an annular area surrounding the outside of the group area R12.
  • the group area R12 is the area of the transition section between the group area R11 and the group area R13. Therefore, for example, the area (space) inside the live venue can be set as group area R11, the area outside the live venue can be set as group area R13, and the area between inside and outside the live venue can be set as group area R12. Each group area is set so that there is no overlapping portion (area).
  • the CVPs used for interpolation processing are grouped according to the listener's position.
  • CVPs are grouped by the group area by the author specifying the range of the group area.
  • the CVP arranged in the free viewpoint space belongs to at least one of the CVP group GP1 corresponding to the group area R11, the CVP group GP2 corresponding to the group area R12, and the CVP group GP3 corresponding to the group area R13.
  • Grouping is done as follows. In this case, one CVP can belong to multiple different CVP groups.
  • CVPs in group area R11 belong to CVP group GP1
  • CVPs in group area R12 belong to CVP group GP2
  • CVPs in group area R13 belong to CVP group GP3. be done.
  • the CVP at position P61 within group area R11 belongs to CVP group GP1
  • the CVP at position P62 which is the boundary position between group area R11 and group area R12, belongs to CVP group GP1 and CVP group GP2.
  • the CVP at position P63 which is the boundary position between group areas R12 and R13, belongs to CVP group GP2 and CVP group GP3, and the CVP at position P64 within group area R13 belongs to CVP group GP3.
  • CVP1 to CVP7 represented by black circles in the figure are included in the corresponding group area (group space) inside the live venue, and CVP represented by white circles in the figure are outside the live venue. is contained in the group area corresponding to .
  • the configuration information it is also possible to link (associate) the CVP inside a specific live venue and the CVP outside the live venue.
  • the two CVPs can be used to determine the listener reference object position information by vector synthesis.
  • the gain of the object to be predetermined muted may be set to zero.
  • FIG. 28 will be described more specifically with reference to FIGS. 29 and 30.
  • FIG. 29 and 30 parts corresponding to each other are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • a circular area centered on the origin O of the common absolute coordinate system in the free viewpoint space is the area within the live venue.
  • the circular area R31 drawn by dotted lines is the area inside the live venue, and the area outside the area R31 is the area outside the live venue.
  • CVP1 to CVP15 are arranged inside the live venue, and CVP16 to CVP23 are arranged outside the live venue.
  • an area inside a circle with a radius Area1_border centered on the origin O is defined as one group area R41, and a group of CVPs including CVP1 to CVP15 included in the group area R41 is included in the group area R41.
  • the group area R41 is an area within the live venue.
  • the area between the boundary of the circle centered at the origin O with a radius Area1_border and the circle boundary with a radius Area2_border centered at the origin O is defined as the group area R42.
  • This group area R42 is a transition area between inside the live venue and outside the live venue.
  • a group of CVPs consisting of CVP8 to CVP23 included in the group area R42 is defined as the CVP group GPM corresponding to the group area R42.
  • CVP8 to CVP15 are located on the boundary between group area R41 and group area R42, so these CVP8 to CVP15 belong to both CVP group GPI and CVP group GPM.
  • the area outside the circle including the boundary of the circle with radius Area2_border centered at the origin O is defined as group area R43.
  • the group area R43 is an area outside the live venue.
  • a group of CVPs consisting of CVP16 to CVP23 included in the group area R43 is defined as the CVP group GPO corresponding to the group area R43.
  • CVP16 to CVP23 are located on the boundary between group area R42 and group area R43, so these CVP16 to CVP23 belong to both CVP group GPM and CVP group GPO.
  • the position calculation unit 114 performs interpolation processing as follows to obtain the listener reference object position information and the listener reference gain.
  • the position calculation unit 114 performs interpolation processing using some or all of CVP1 to CVP15 belonging to the CVP group GPI.
  • the position calculation unit 114 performs interpolation processing using some or all of CVP8 to CVP23 belonging to the CVP group GPM.
  • the position calculation unit 114 performs interpolation processing using some or all of CVP16 to CVP23 belonging to the CVP group GPO.
  • CVP1 to CVP7 are included in region R71
  • CVP5, CVP6, and CVP8 to CVP12 are included in region R72
  • CVP5 and CVP6 are included in the transition region, which is the region where the region R71 and the region R72 overlap.
  • the region within the region R71 excluding the transition region, the region within the region R72 excluding the transition region, and the transition region are grouped regions.
  • interpolation processing is performed using part or all of CVP1 to CVP7.
  • interpolation processing is performed using CVP5 and CVP6.
  • interpolation processing is performed using some or all of CVP5, CVP6, and CVP8 to CVP12.
  • the format of the configuration information is as shown in FIG. 32, for example.
  • FIG. 32 basically has the same format as in FIG. It contains metadata set number information “NumOfObjectMetaSets”, CVP information “ControlViewpointInfo(i)”, and coordinate mode information “CoordinateMode[i][j]”.
  • configuration information shown in FIG. 32 also includes a CVP group information presence flag "cvp_group_present".
  • This CVP group information presence flag "cvp_group_present” is flag information indicating whether or not the CVP group information "CvpGroupInfo2D()", which is information about the CVP group, is included in the configuration information.
  • the CVP group information "CvpGroupInfo2D()" is stored in the configuration information, and when the value of the CVP group information existence flag is "0", the configuration The information does not store the CVP group information "CvpGroupInfo2D()".
  • the format of the CVP group information "CvpGroupInfo2D()" included in the configuration information is, for example, as shown in FIG.
  • the free viewpoint space is a two-dimensional area (space)
  • the CVP group information shown in FIG. Space can of course be extended.
  • numberOfCVPGroup indicates the number of CVP groups, that is, the number of CVP groups, and the CVP group information stores information about the CVP groups described below for the number of CVP groups.
  • vertex_idx indicates the vertex count index.
  • the vertex number index is index information indicating the number of vertices that the group area corresponding to the CVP group has.
  • the group area is a polygonal area with the number of vertices obtained by adding 3 to the value of the vertex number index. Also, for example, when the value of the vertex number index is 255, the group area is a circular area.
  • the CVP group information contains information for identifying the circular group area (boundary of the group area).
  • the X coordinate "center_x[i]”, the normalized Y coordinate "center_y[i]”, and the normalized radius "radius[i]" are stored.
  • the normalized X-coordinate "center_x[i]” and the normalized Y-coordinate "center_y[i]” are information indicating the X-coordinate and Y-coordinate of the center of the circle that is the group area in the common absolute coordinate system (free viewpoint space).
  • the normalized radius "radius[i]” is the radius of the circle that is the group area. This makes it possible to identify which area is the group area in the free viewpoint space.
  • the CVP group information contains the normalized X coordinate "border_pos_x[j]" for each vertex of the group area. ” and the normalized Y coordinate “border_pos_y[j]” are stored.
  • the normalized X coordinate "border_pos_x[j]” and the normalized Y coordinate "border_pos_y[j]” are the X coordinates of the j-th vertex of the polygonal area that is the group area in the common absolute coordinate system (free viewpoint space). and information indicating the Y coordinate.
  • the CVP group information stores intra-group CVP number information "numOfCVP_ingroup[i]” indicating the number of CVPs belonging to the CVP group, and furthermore, the number of intra-group CVP indexes "numOfCVP_ingroup[i]” indicated by the intra-group CVP number information is stored.
  • CvpIndex_ingroup[i][j]” is stored.
  • the intra-group CVP index “CvpIndex_ingroup[i][j]” is index information identifying the j-th CVP belonging to the i-th CVP group.
  • the intra-group CVP index value indicating a predetermined CVP can be the same value as the CVP index value indicating the predetermined CVP included in the CVP information.
  • the CVP group information includes the number of CVP groups, the index of the number of vertices indicating the shape type of the group area, the information for identifying the group area, the number of CVPs in the group, and the CVP index in the group.
  • the information for identifying the group area can be said to be information for identifying the boundary of the group area.
  • the information processing apparatus 11 basically performs the content creation process described with reference to FIG. 32
  • the creator performs an operation of specifying CVPs belonging to the group area or the CVP group at any timing.
  • control unit 26 determines (sets) CVPs belonging to the group area or the CVP group according to the operation of the creator. Then, in step S23, the control unit 26 appropriately generates the configuration information shown in FIG. 32, which includes the CVP group information shown in FIG. .
  • steps S121 through S123 is the same as the processing of steps S81 through S83 in FIG. 18, and thus description thereof will be omitted.
  • step S124 the position calculation unit 114 identifies the CVP group corresponding to the group area containing the listening position based on the listener position information and configuration information.
  • the position calculation unit 114 performs listening on the basis of the normalized X coordinate and the normalized Y coordinate, which are information for specifying an area serving as each group area, included in the CVP group information in the configuration information.
  • a group area containing the position (hereinafter also referred to as a target group area) is identified.
  • the CVP group corresponding to the target group area is specified.
  • step S125 the position calculation unit 114 acquires an object metadata set associated with each CVP belonging to the identified CVP group as target CVPs.
  • the position calculation unit 114 identifies the CVP belonging to the CVP group, that is, the target CVP by reading the intra-group CVP index of the CVP group corresponding to the target group area from the CVP group information.
  • the position calculation unit 114 identifies the object metadata set associated with each target CVP by reading the metadata set index for the target CVP from the CVP information, and reads the identified object metadata set.
  • step S125 After the processing of step S125 is performed, the processing of steps S126 to S128 is performed and the reproduction audio data generation processing is completed. These processings are the same as the processing of steps S84 to S86 in FIG. Therefore, its description is omitted.
  • step S126 interpolation processing is performed using part or all of the target CVPs identified in steps S124 and S125. That is, the CVP position information and the object position information of the target CVP are used to calculate the listener-reference object position information and the listener-reference gain.
  • the client 101 performs interpolation processing using an appropriate CVP based on the listener position information, the configuration information, and the object metadata set, and obtains the listener reference gain and the listener reference object position at the listening position. Calculate information.
  • ⁇ Third embodiment> ⁇ Regarding object position information and gain interpolation processing>
  • multiple CVPs set in advance by the content creator exist in the free viewpoint space.
  • the reciprocal ratio of the distance from the current listener's arbitrary position (listening position) to each CVP is Examples used have been described.
  • the gain of the object is set to a large value for a CVP whose distance from the listening position to the CVP is long.
  • the listener reference gain i.e., the auditory effect of the object's sound as heard by the listener, due to the gain of the object on the CVP located far from the listening position, although it is originally far away, is Sometimes you can't do less. As a result, the movement of the sound image of the sound of the object presented to the listener becomes unnatural, and the sound quality of the content deteriorates.
  • case A the case in which unnatural sound image movement occurs due to the positional relationship between the listening position and the CVP is also referred to as case A.
  • case B the case where the position of the object as seen by the listener indicated by the listener reference object position information becomes a position not intended by the content creator due to the influence of the object position left unattended is also referred to as case B. do.
  • the degree of dependence (contribution rate) of each CVP is weighted in the interpolation process for obtaining the listener's reference gain.
  • the method of suppressing the occurrence of case A by applying the sensitivity coefficient is also specifically referred to as method SLA1.
  • the value of the sensitivity coefficient that is, the value of N is a Float value.
  • the value of the sensitivity coefficient for each CVP may be described as a default value in the configuration information and transmitted to the client 101, or the value of the sensitivity coefficient may be set by the listener.
  • a common value may be used for the sensitivity coefficient for each CVP for all objects, but for each CVP, the sensitivity coefficient may be set individually for each object according to the content creator's intention. Furthermore, a sensitivity coefficient common to all objects or a sensitivity coefficient for each object may be set for each group consisting of one or more CVPs.
  • case B which is the collapse, gain is added to the contributing material, and only objects with gain greater than 0 are used. That is, the occurrence of case B is suppressed by method SLB1 or method SLB2 described below.
  • an object whose CVP gain is less than or equal to a predetermined threshold is regarded as an object whose gain is 0 (hereinafter also referred to as a mute object). Then, for CVPs that are muted objects, the object position information in those CVPs is not used for interpolation processing. That is, it is excluded from CVP targets used in interpolation processing.
  • a mute flag (mute flag) that indicates whether or not the gain of an object is 0, that is, whether or not it is a mute object, is used, which is specified by the content creator.
  • the object position information in that CVP is not used for interpolation processing. That is, CVPs corresponding to objects that are known not to be used in advance are excluded from CVPs used in interpolation processing.
  • method SLB2 it is possible to avoid the process of checking whether the gain can be regarded as 0, which is performed for each object of all CVPs for each frame in method SLB1, and further reduce the processing load.
  • FIG. 35 shows the first CVP arrangement pattern (hereinafter also referred to as CVP arrangement pattern PTT1).
  • CVP arrangement pattern PTT1 the first CVP arrangement pattern
  • an object is placed in front of each CVP.
  • each circle with a number represents one CVP, and in particular, the number inside the circle representing the CVP indicates the number of the CVP.
  • object position information and gain when viewed from each CVP are determined for object OBJ71.
  • interpolation processing is performed using the above-described formulas (7) to (11) based on the object position information and gains at CVP1 to CVP6, and the listener reference object position information and the listener reference gain are obtained. think about asking.
  • case A may occur, for example, when the gain of object OBJ71 in CVP1 to CVP3 is greater than the gain of object OBJ71 in CVP5 and CVP6.
  • object OBJ71 is a mute object, but if the horizontal angle Azimuth as object position information is -180 degrees, or is significantly different from the angle Azimuth in other CVPs, case B occurs. put away. This is because the influence of the object position information on the CVP6 closest to the listening position LP71 increases when the listener reference object position information is calculated.
  • FIG. 35 an arrangement example of CVP, etc. in the common absolute coordinate system when the free viewpoint space is substantially a two-dimensional plane and the positional relationship between the listener and the CVP is the relationship shown in FIG. 35 (CVP arrangement pattern PTT1). is shown in FIG. In FIG. 36, parts corresponding to those in FIG. 35 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • the horizontal and vertical axes indicate the X-axis and Y-axis in the common absolute coordinate system. If the position (coordinates) of the common absolute coordinate system is represented by (x, y), for example, the listening position LP71 is represented by (0, -0.8).
  • FIG. 37 an example of the object position and gain of the object OBJ71 when case A occurs is shown in the column of characters "CaseA".
  • azi(0) represents the angle Azimuth as the object position information of object OBJ71
  • Gain(0) represents the gain of object OBJ71
  • the gain (Gain(0)) for CVP1 to CVP3 is "1"
  • the gain (Gain(0)) for CVP5 and CVP6 is "0.2" That is, the gains at CVP1 to CVP3 far from the listening position LP71 are greater than the gains at CVP5 and CVP6 near the listening position LP71. Therefore, the listener reference gain (Gain(0)) at the listening position LP71 is "0.37501".
  • the listening position LP71 is located between CVP5 and CVP6 with a gain of 0.2. Therefore, it is ideal that the listener's reference gain is close to the gain "0.2" of those CVP5 and CVP6, but in reality it is "0.37501" due to the influence of CVP1 to CVP3, which have large gains. It will be a value greater than 0.2.
  • azi(1) represents the angle Azimuth as the object position information of object OBJ71
  • Gain(1) represents the gain of object OBJ71
  • the gain (Gain(1)) and angle Azimuth (azi(1)) at CVP1 to CVP5 are "1" and "0", respectively. That is, in CVP1 to CVP5, object OBJ71 is not a mute object.
  • the gain (Gain(1)) and angle Azimuth (azi(1)) in CVP6 are "0" and "120" respectively. That is, in CVP6, object OBJ71 is a mute object.
  • angle Azimuth (azi(1)) as the listener reference object position information at the listening position LP71 is "67.87193".
  • the gain (Gain(1)) is "0" in CVP6, so please ignore the angle Azimuth (azi(1)) "120" in CVP6, but the actual angle in CVP6 Azimuth is used to calculate listener reference object position information. Therefore, the angle Azimuth (azi(1)) at the listening position LP71 is "67.87193" which is significantly larger than "0".
  • FIG. 38 shows a second CVP placement pattern (hereinafter also referred to as CVP placement pattern PTT2).
  • each CVP is placed so as to surround the object.
  • each circle with a number represents one CVP
  • case A may occur, for example, when the gain of object OBJ81 in CVP1, CVP2, CVP6, and CVP8 is greater than the gain of object OBJ81 in CVP3 and CVP4.
  • the object OBJ81 is a mute object, but when the horizontal angle Azimuth as object position information is -180 degrees, or is significantly different from the angle Azimuth in other CVPs, case B occurs. put away. This is because the influence of the object position information at CVP3, which is the closest to the listening position LP81, increases when the listener reference object position information is calculated.
  • FIG. 38 an arrangement example of CVPs, etc. in the common absolute coordinate system when the free viewpoint space is substantially a two-dimensional plane, and the positional relationship between the listener and the CVPs is the relationship shown in FIG. 38 (CVP arrangement pattern PTT2). is shown in FIG. In FIG. 39, portions corresponding to those in FIG. 38 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • the horizontal and vertical axes indicate the X-axis and Y-axis in the common absolute coordinate system. If the position (coordinates) of the common absolute coordinate system is represented by (x, y), for example, the listening position LP81 is represented by (-0.1768, 0.176777).
  • the object position and gain of object OBJ81 at each CVP when case A and case B occur, and the listener reference object position information and listener reference gain of object OBJ81 An example of is shown in FIG. Note that, in the example of FIG. 40, the contribution rate dp(i) is obtained by calculations similar to the above-described formulas (4) to (6).
  • FIG. 40 an example of the object position and gain of object OBJ81 when case A occurs is shown in the column of characters "CaseA".
  • azi(0) represents the angle Azimuth as the object position information of object OBJ81
  • Gain(0) represents the gain of object OBJ81
  • the gains (Gain(0)) at CVP1, CVP2, CVP6, and CVP8 are "1", and the gains (Gain(0)) at CVP3 and CVP4 are "0.2". Therefore, the listener reference gain (Gain(0)) at the listening position LP81 is "0.501194".
  • the listening position LP81 is located between CVP3 and CVP4 with a gain of 0.2. Therefore, it is ideal that the listener's reference gain is close to the gain "0.2" of those CVP3 and CVP4, but in reality it is "0.501194" due to the influence of CVP1 and CVP2, which have large gains. It becomes a value larger than "0.2".
  • azi(1) represents the angle Azimuth as the object position information of object OBJ81
  • Gain(1) represents the gain of object OBJ81
  • the gain (Gain(1)) and angle Azimuth (azi(1)) at CVPs other than CVP3 are "1" and "0", respectively. That is, in CVPs other than CVP3, object OBJ81 is not a mute object.
  • the gain (Gain(1)) and angle Azimuth (azi(1)) in CVP3 are "0" and "120" respectively. That is, in CVP3, object OBJ81 is a mute object.
  • angle Azimuth (azi(1)) as the listener reference object position information at the listening position LP81 is "20.05743".
  • the gain (Gain(1)) is "0" in CVP3, so I want you to ignore the angle Azimuth (azi(1)) "120" at that CVP3, but the angle at CVP3 is actually Azimuth is used to calculate listener reference object position information. Therefore, the angle Azimuth (azi(1)) at the listening position LP81 is "20.05743" which is significantly larger than "0".
  • method SLA1, method SLB1, and method SLB2 suppress the occurrence of cases A and B as described above.
  • the sensitivity coefficient is N, and the contribution rate dp(i) is calculated based on the reciprocal of the N-th power of the distance from the listening position to the CVP.
  • the content creator may specify any positive real number as the sensitivity coefficient, and the sensitivity coefficient may be stored in the configuration information. , the sensitivity coefficient may be set on the client 101 side.
  • method SLB1 it is determined whether the gain of the object in CVP is 0 or a value that can be regarded as 0 for each object in each frame.
  • CVPs whose object gain is 0 or values that can be regarded as 0 are not used in the interpolation process. In other words, the CVP is excluded from the calculation target of the vector sum in the interpolation processing.
  • the configuration information stores a Mute flag that signals whether each object is a mute object for each CVP.
  • Objects whose Mute flag is 1, that is, CVPs that are muted objects are excluded from vector sum calculation targets in interpolation processing.
  • SLB1 and SLB2 for example, CVP used for interpolation processing is selected as shown in FIG.
  • CVP1 to CVP4 around the listening position LP91 were all used. That is, the interpolation processing was performed using the object position information of each CVP of CVP1 to CVP4.
  • CVP4 which is a mute object
  • the interpolation processing for obtaining the listener reference object position information for the listening position LP91 uses the object position information for the three CVP1 to CVP3 excluding CVP4.
  • FIG. 42 shows an example in which method SLA1 and method SLB1 or method SLB2 are applied to the CVP placement pattern PTT1 shown in FIGS.
  • the portion indicated by the arrow Q72 shows the angle Azimuth as the listener reference object position information and the listener reference gain when the sensitivity coefficient value is changed for "Case A" and "Case B". , Case A and Case B are suppressed.
  • the listener's reference gain (Gain(0)) at the listening position LP71 is "0.205033".
  • the listener's reference gain at the listening position LP71 between CVP5 and CVP6 becomes a value close to the gain at those CVP5 and CVP6, and the occurrence of unnatural sound image movement is suppressed.
  • the angle Azimuth (azi(1)) as the listener reference object position information at the listening position LP71 is "0" regardless of the value of the sensitivity coefficient.
  • the angle Azimuth (azi(1)) at the listening position LP71 has the same value of "0" as the angle Azimuth at all CVPs that are not excluded from the target, and appropriate listener reference object position information can be obtained. I understand.
  • FIG. 43 shows an example in which method SLA1 and method SLB1 or method SLB2 are applied to the CVP placement pattern PTT2 shown in FIGS.
  • the portion indicated by the arrow Q82 shows the angle Azimuth as the listener reference object position information and the listener reference gain when the sensitivity coefficient value is changed for "Case A" and "Case B". , Case A and Case B are suppressed.
  • the application of method SLA1 significantly reduces the effects of CVP1, CVP2, CVP6, and CVP8, which are located far from listening position LP81, and the listener reference gains at nearer CVP3 and CVP4 are less than 0.2. , which is an ideal value close to .
  • the listener's reference gain at the listening position LP81 between CVP3 and CVP4 becomes a value close to the gain at those CVP3 and CVP4, suppressing the occurrence of unnatural sound image movement. It can be seen that
  • the angle Azimuth (azi(1)) as the listener reference object position information at the listening position LP81 is "0" regardless of the value of the sensitivity coefficient.
  • the angle Azimuth (azi(1)) at the listening position LP81 has the same value of "0" as the angle Azimuth at all CVPs that are not excluded from the target, and appropriate listener reference object position information can be obtained. I understand.
  • FIG. 44 shows a format (syntax) example of part of the configuration information when applying the method SLB2.
  • the configuration information includes the configuration shown in FIG. 7 in addition to the configuration shown in FIG.
  • the configuration information includes the configuration shown in FIG. 44 as part of the configuration shown in FIG.
  • the configuration shown in FIG. 44 may be included in part of the configuration information shown in FIG.
  • NumOfControlViewpoints indicates CVP number information, that is, the number of CVPs set by the creator, and "numOfObjs" indicates the number of objects.
  • the configuration information stores Mute flags "MuteObjIdx[i][j]" corresponding to combinations of CVPs and objects for each CVP for the number of objects.
  • the Mute flag "MuteObjIdx[i][j]" makes the j-th object a mute object when viewed from the i-th CVP, that is, when the listening position (viewpoint position) is at the i-th CVP. It is flag information indicating whether or not (whether it is a mute object). Specifically, a value of '0' for the Mute flag 'MuteObjIdx[i][j]' indicates that the object is not a mute object, and a value of '1' for the Mute flag 'MuteObjIdx[i][j]' ” indicates that the object is a mute object, that is, in a mute state.
  • Mute flag is stored in the configuration information as mute information for identifying objects that are mute objects in CVP.
  • the present invention is not limited to this, and for example, "MuteObjIdx[i][j]" may be index information indicating an object that has been muted.
  • the information processing device 11 performs the content creation process described with reference to FIG.
  • control unit 26 receives, at an arbitrary timing, an operation specifying whether or not an object is to be a mute object in the CVP, and in step S23, configuration information including a Mute flag having a value corresponding to the specifying operation to generate
  • control unit 26 accepts an operation for designating the sensitivity coefficient at an arbitrary timing, and in step S23, stores the configuration information including the sensitivity coefficient designated by the designation operation. Generate.
  • the client 101 when method SLA1 and method SLB1 or method SLB2 are applied, the client 101 basically performs the playback audio data generation process described with reference to FIG. 18 or FIG. However, in step S84 of FIG. 18 or step S126 of FIG. 34, interpolation processing based on method SLA1 and method SLB1 or method SLB2 is performed.
  • the client 101 first calculates a contribution coefficient for obtaining a contribution rate by performing the contribution coefficient calculation process shown in FIG.
  • step S201 the position calculation unit 114 initializes the index cvpidx indicating the CVP to be processed. As a result, the value of index cvpidx is set to 0.
  • step S202 the position calculation unit 114 determines whether the value of the index cvpidx indicating the CVP to be processed is less than the number numOfCVP of all CVPs, that is, whether cvpidx ⁇ numOfCVP.
  • the number of CVPs is the number of CVP candidates used in interpolation processing. Specifically, the number indicated by the CVP number information, the number of CVPs satisfying a specific condition such as being in the vicinity of the listening position, the number of CVPs belonging to the CVP group corresponding to the target group area, etc. are defined as numOfCVP.
  • step S202 If it is determined in step S202 that cvpidx ⁇ numOfCVP, the contribution coefficients have not been calculated for all CVPs that are candidates for interpolation processing, so the process proceeds to step S203.
  • step S203 the position calculation unit 114 calculates the Euclidean distance from the listening position to the CVP to be processed based on the listener position information and the CVP position information of the CVP to be processed. cvpidx]. For example, the position calculation unit 114 calculates the distance information dist[cvpidx] by performing the same calculation as the above equation (5).
  • step S204 the position calculation unit 114 calculates the contribution coefficient cvp_contri_coef[cvpidx] of the CVP to be processed based on the distance information dist[cvpidx] and the sensitivity coefficient WeightRatioFactor.
  • the sensitivity factor WeightRatioFactor may be read from the configuration information, or may be specified by the listener's specifying operation on an input unit (not shown).
  • the position calculator 114 may calculate the sensitivity factor WeightRatioFactor based on the positional relationship between the listening position and each CVP, the gain of the object at each CVP, and the like.
  • the sensitivity factor WeightRatioFactor here is, for example, a real number with a value of 2 or more. However, it is not limited to this, and the sensitivity factor WeightRatioFactor can be any value.
  • the position calculation unit 114 calculates the exponentiation of the distance information dist[cvpidx] using the sensitivity coefficient WeightRatioFactor as an index, and divides 1 by the obtained exponent value. Calculate cvp_contri_coef[cvpidx].
  • pow() indicates a function that performs exponentiation.
  • step S205 the position calculation unit 114 increments the value of the CVP index cvpidx.
  • step S205 After the processing of step S205 is performed, the processing returns to step S202, and the above-described processing is repeatedly performed. That is, the contribution coefficient cvp_contri_coef[cvpidx] is calculated for the CVP newly set as the processing target.
  • step S202 if it is determined in step S202 that cvpidx ⁇ numOfCVP is not satisfied, all CVPs are processed and the contribution coefficient cvp_contri_coef[cvpidx] is calculated, so the contribution coefficient calculation process ends.
  • the client 101 calculates the contribution coefficient according to the distance between the listening position and the CVP. By doing so, interpolation processing based on the method SLA1 can be performed, and the occurrence of unnatural sound image movement can be suppressed.
  • the normalized contribution coefficient calculation processing based on the method SLB2 referred to here is the normalized contribution coefficient calculation processing based on the Mute flag included in the configuration information.
  • step S231 the position calculation unit 114 initializes the index cvpidx indicating the CVP to be processed. As a result, the value of index cvpidx is set to 0.
  • the same CVP as the processing target in the contribution coefficient calculation process of FIG. 45 is processed as the CVP to be processed. Therefore, the number of CVPs to be processed, numOfCVP, is also the same as in the contribution coefficient calculation process of FIG.
  • step S232 the position calculation unit 114 initializes the index objidx indicating the object to be processed.
  • the value of index objidx is set to 0.
  • the number of objects to be processed, numOfObjs is the number of all objects forming the content, that is, the number indicated by the object number information in the configuration information.
  • step S233 the position calculation unit 114 determines whether the value of the index objidx is less than the number of all objects numOfObjs, that is, whether objidx ⁇ numOfObjs.
  • the position calculation unit 114 When it is determined that objidx ⁇ numOfObjs in step S233, the position calculation unit 114 initializes the value of the coefficient summation variable total_coef in step S234. As a result, the value of the coefficient summation variable total_coef is set to 0 for the object to be processed indicated by the index objidx.
  • the coefficient summation variable total_coef is a coefficient used to normalize the contribution coefficient cvp_contri_coef[cvpidx] of each CVP for the object to be processed indicated by the index objidx. As will be described later, the total sum of the contribution coefficients cvp_contri_coef[cvpidx] of all CVPs used for interpolation processing for one object is finally the coefficient sum variable total_coef.
  • step S235 the position calculation unit 114 determines whether the value of the index cvpidx indicating the CVP to be processed is less than the number numOfCVP of all CVPs, that is, whether cvpidx ⁇ numOfCVP.
  • step S235 If it is determined in step S235 that cvpidx ⁇ numOfCVP, the process proceeds to step S236.
  • step S236 the position calculation unit 114 determines whether or not the value of the Mute flag of the object to be processed indicated by the index objidx in the CVP indicated by the index cvpidx is 1, that is, whether or not it is a mute object. .
  • step S236 If it is determined in step S236 that the value of the Mute flag is not 1, that is, if the object is not a mute object, in step S237 the position calculation unit 114 determines whether the CVP to be processed contributes to the value of the retained coefficient summation variable. Update the coefficient sum variable by adding the coefficients.
  • step S237 After the process of step S237 is performed, the process proceeds to step S238.
  • step S236 determines whether the value of the Mute flag is 1, that is, if the object is a mute object. If it is determined in step S236 that the value of the Mute flag is 1, that is, if the object is a mute object, the process of step S237 is not performed, and then the process proceeds to step S238. This is because a CVP whose object to be processed is a mute object is excluded from interpolation processing.
  • step S237 If the process of step S237 has been performed or if it is determined that the value of the Mute flag is 1 in step S236, the position calculation unit 114 increments the index cvpidx indicating the CVP to be processed in step S238.
  • step S238 After the processing of step S238 is performed, the processing returns to step S235, and the above-described processing is repeatedly performed.
  • step S239 the position calculation unit 114 initializes the index cvpidx indicating the CVP to be processed. As a result, with respect to the object to be processed, each CVP is newly set as a processing target in order, and subsequent processing is performed.
  • step S240 the position calculation unit 114 determines whether or not cvpidx ⁇ numOfCVP.
  • step S240 If it is determined in step S240 that cvpidx ⁇ numOfCVP, the process proceeds to step S241.
  • step S241 the position calculation unit 114 determines whether or not the value of the Mute flag of the object to be processed indicated by the index objidx in the CVP indicated by the index cvpidx is 1.
  • step S241 If it is not determined in step S241 that the value of the Mute flag is 1, that is, if the object is not a mute object, the position calculation unit 114 calculates normalized contribution coefficients contri_norm_ratio[objidx][cvpidx] in step S242.
  • the position calculation unit 114 performs normalization by dividing the contribution coefficient cvp_contri_coef[cvpidx] of the CVP to be processed indicated by the index cvpidx by the total coefficient variable total_coef of the object to be processed indicated by the index objidx.
  • the normalized contribution coefficient contri_norm_ratio[objidx][cvpidx] of the CVP to be processed indicated by index cvpidx is obtained.
  • the normalized contribution coefficient contri_norm_ratio[objidx][cvpidx] is used as the contribution rate dp(i) in Equation (8), that is, the CVP contribution rate.
  • the normalized contribution coefficients are used as CVP weights for each object in the interpolation process.
  • the normalized contribution coefficient is calculated based on the contribution coefficient obtained by the exponentiation value of the distance information with the sensitivity coefficient as the index in the contribution coefficient calculation processing of FIG. becomes possible.
  • step S242 After the process of step S242 is performed, the process proceeds to step S244.
  • step S241 determines whether the value of the Mute flag is 1, that is, if the object is a mute object, the process of step S242 is not performed, and then the process proceeds to step S243.
  • step S243 the position calculation unit 114 sets the value of the normalized contribution coefficient contri_norm_ratio[objidx][cvpidx] of the CVP to be processed indicated by the index cvpidx to 0 for the object to be processed indicated by the index objidx.
  • step S242 the position calculation unit 114 increments the index cvpidx indicating the CVP to be processed in step S244.
  • step S244 After the processing of step S244 is performed, the processing returns to step S240, and the above-described processing is repeatedly performed.
  • step S244 the normalized contribution coefficient of each CVP is obtained for the object to be processed.
  • step S240 determines whether cvpidx ⁇ numOfCVP does not hold. If it is determined in step S240 that cvpidx ⁇ numOfCVP does not hold, the position calculation unit 114 increments the index objidx indicating the object to be processed in step S245. As a result, new objects that have not yet been processed are targeted for processing.
  • step S245 After the processing of step S245 is performed, the processing returns to step S233, and the above-described processing is repeatedly performed.
  • step S233 If it is determined in step S233 that objidx ⁇ numOfObjs does not hold, the normalized contribution coefficient of each CVP, that is, the contribution rate dp(i) is obtained for all objects, and the normalized contribution coefficient calculation process ends. do.
  • the client 101 calculates the normalized contribution coefficient of each CVP for each object according to the Mute flag of each object. By doing so, interpolation processing based on method SLB2 can be realized, and appropriate listener reference object position information can be obtained.
  • the normalized contribution coefficient calculation process based on the method SLB1 shown in FIG. 47, that is, steps S271 to S285, is basically the same as steps S231 to S245 of the normalized contribution coefficient calculation process described with reference to FIG. is processed.
  • steps S276 and S281 it is not whether or not the value of the Mute flag is 1, but whether or not the gain of the object to be processed indicated by index objidx in the CVP indicated by index cvpidx can be regarded as 0. be judged.
  • the object's gain value is equal to or less than a predetermined threshold, it is determined that the object's gain can be regarded as 0.
  • step S276 If it is determined in step S276 that the gain cannot be regarded as 0, the CVP is not a mute object, so the process proceeds to step S277 and the coefficient summation variable is updated.
  • step S276 determines whether the gain can be regarded as 0 or not. If it is determined in step S276 that the gain can be regarded as 0, the CVP is a muted object, so that CVP is excluded from interpolation processing, and then the processing proceeds to step S278. .
  • step S281 determines whether the gain cannot be regarded as 0 or not a mute object. If it is determined in step S281 that the gain cannot be regarded as 0, the CVP is not a mute object, so the process proceeds to step S282 to calculate the normalized contribution coefficient.
  • step S281 determines whether the gain can be regarded as 0, the CVP is a mute object, so the process proceeds to step S283, the normalized contribution coefficient is set to 0, and the CVP is interpolated. Excluded from processing.
  • interpolation processing based on the method SLB1 can be realized, and appropriate listener reference object position information can be obtained.
  • step S84 of FIG. 18 or step S126 of FIG. 34 when normalized contribution coefficient calculation processing based on method SLB1 or method SLB2 is performed, the position calculation unit 114 then uses the obtained normalized contribution coefficient to Perform interpolation processing.
  • the position calculation unit 114 obtains the three-dimensional position vector of the object by calculating the expression (7), and replaces the contribution rate dp(i) with the normalized contribution coefficient contri_norm_ratio[ objidx][cvpidx] is used to calculate equation (8). That is, the interpolation processing of Equation (8) is performed using the normalized contribution coefficients.
  • the position calculation unit 114 performs the calculation of formula (9) based on the calculation result of formula (8), and also performs correction based on the correction amount obtained by the calculation of formula (10) and formula (11) as appropriate.
  • the position calculation unit 114 calculates the position based on the CVP position information, the object position information, the gain of the object, and the listener position information of the CVP in which the object is not substantially muted. interpolation processing is performed to calculate the listener reference object position information and the listener reference gain.
  • the position calculation unit 114 identifies a CVP whose object is not a mute object based on the mute flag as mute information.
  • the position calculation unit 114 determines that the object is a mute object based on the gain of the object when viewed from the CVP, that is, based on the determination result of whether the gain is equal to or less than the threshold. Identify CVPs that are not
  • the reproduction side that is, the listener side may be allowed to intentionally select the CVP used for the interpolation processing.
  • a stage ST11, a target position TP, and each CVP are arranged at positions similar to those in the example shown in FIG. 11 in the free viewpoint space. can select a CVP to use for interpolation processing.
  • FIG. 48 parts corresponding to those in FIG. 11 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • a CVP selection screen as shown in FIG. 49 may be displayed on the client 101.
  • FIG. 49 a CVP selection screen as shown in FIG. 49 may be displayed on the client 101.
  • a CVP selection screen in which a plurality of viewpoint images showing the target position TP, that is, the stage ST11 when viewed from the CVP is arranged. DSP11 is shown.
  • viewpoint images SPC11 to SPC14 are viewpoint images when CVP5, CVP7, CVP2, and CVP6 are each set as viewpoint positions (listening positions).
  • the CVP selection screen DSP11 also displays the message "Please select the viewpoint you want to reproduce" to prompt the selection of the CVP.
  • the listener selects a CVP to be used for interpolation processing by selecting a viewpoint image corresponding to the desired CVP.
  • the display of the CVP selection screen DSP11 shown on the left side of the drawing is updated, and the CVP selection screen DSP12 shown on the right side of the drawing is displayed.
  • the CVP viewpoint images that were not selected by the listener are displayed in a different display format than the selected CVP viewpoint images, such as being displayed in light gray.
  • CVP5, CVP7, and CVP2 corresponding to viewpoint images SPC11 to SPC13 are not selected, and the viewpoint images of these CVPs are displayed in gray. Also, the display of the viewpoint images corresponding to CVP6, CVP1, CVP3, and CVP4 selected by the listener remains the same as in the CVP selection screen DSP11.
  • the listener can visually confirm the appearance from the CVP and appropriately perform the CVP selection operation.
  • the CVP selection screen may also display an image of the entire hall as shown in FIG. 48, that is, an image of the entire free-viewpoint space.
  • the listener when the listener is allowed to select the CVP used for interpolation processing, information regarding whether or not the CVP can be selected may be stored in the configuration information. By doing so, the intent of the content creator can be transmitted to the listener (client 101).
  • the configuration information contains information about whether or not CVPs can be selected, only CVPs that are permitted to be selected on the playback side are targeted, and CVP selection by the listener is performed. Presence or absence is detected (identified). If there are CVPs not selected by the listener (hereinafter also referred to as unselected CVPs) among the CVPs permitted to be selected, the unselected CVPs are excluded and the listener reference object position information and the listener Interpolation processing is performed to calculate the reference gain.
  • the configuration information stores, for example, the information shown in FIG. 50 as information on whether or not the CVP can be selected, ie, selectability information.
  • FIG. 50 shows a format (syntax) example of part of the configuration information.
  • the configuration information includes the configuration shown in FIG. 7 in addition to the configuration shown in FIG.
  • the configuration information includes the configuration shown in FIG. 50 as part of the configuration shown in FIG.
  • the configuration shown in FIG. 50 may be included in part of the configuration information shown in FIG. 32, or the information shown in FIG. 44 may be stored in the configuration information.
  • the CVP selection information existence flag is flag information indicating whether or not the configuration information contains information about CVP that can be selected by the listener, that is, whether or not the listener can select the CVP. be.
  • a value of "0" for the CVP selection information existence flag indicates that the configuration information does not contain (is not stored) information on selectable CVPs.
  • the value "1" of the CVP selection information existence flag indicates that the configuration information includes information on selectable CVPs.
  • the configuration information further includes "numOfAllowedCVP” indicating the number of CVPs selectable by the listener, and index information “AllowedCVPIdx” indicating the CVPs selectable by the listener. [i]” is stored.
  • index information "AllowedCVPIdx[i]” is the value of the CVP index "ControlViewpointIndex[i]” shown in FIG. 9, which indicates the CVP that can be selected by the listener.
  • the configuration information also stores index information "AllowedCVPIdx[i]” indicating selectable CVPs by the number indicated by "numOfAllowedCVP".
  • the CVP selection information existence flag “CVPSelectAllowPresentFlag” and the selectable CVPs The number “numOfAllowedCVP” and the index information "AllowedCVPIdx[i]" are included in the configuration information.
  • the client 101 can specify which CVP is allowed to be selected among the CVPs that make up the content.
  • the information processing device 11 performs the content production process described with reference to FIG. 50
  • control unit 26 accepts a designation operation as to whether or not the CVP is allowed to be selected at an arbitrary timing such as step S16. Then, in step S23, the control unit 26 generates configuration information including necessary information among the CVP selection information presence flag, the number of selectable CVPs, and the index information indicating the selectable CVPs according to the designation operation.
  • Example of client configuration when the client 101 (listener) side can select the CVP to be used for the interpolation processing, the client 101 is configured as shown in FIG. 51, for example.
  • FIG. 51 parts corresponding to those in FIG. 17 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • the configuration of the client 101 shown in FIG. 51 is a configuration in which an input unit 201 and a display unit 202 are added to the configuration shown in FIG.
  • the input unit 201 includes input devices such as a touch panel, a mouse, a keyboard, and buttons, and supplies the position calculation unit 114 with a signal according to the listener's (user's) input operation.
  • the display unit 202 consists of a display, and displays various images such as a CVP selection screen according to instructions from the position calculation unit 114 and the like.
  • the client 101 Even if the client 101 side can appropriately select the CVP to be used for interpolation processing, the client 101 basically performs the reproduction audio data generation processing described with reference to FIG. 18 or FIG.
  • step S84 of FIG. 18 or step S126 of FIG. 34 the selective interpolation processing shown in FIG. 52 is performed to obtain the listener reference object position information and the listener reference gain.
  • step S ⁇ b>311 the position calculation unit 114 acquires configuration information from the decoding unit 113 .
  • step S312 the position calculation unit 114 determines whether the number of selectable CVPs is greater than 0, that is, whether numOfAllowedCVP>0 based on the configuration information.
  • step S312 If it is determined in step S312 that numOfAllowedCVP>0, that is, if there is a CVP that can be selected by the listener, the position calculation unit 114 presents the selectable CVP in step S313, and the CVP is selected by the listener. accept.
  • the position calculation unit 114 performs CVP selection in which the CVP indicated by the index information is presented as a selectable CVP based on the index information “AllowedCVPIdx[i]” indicating selectable CVPs included in the configuration information.
  • a screen is generated and displayed on the display unit 202 .
  • the display unit 202 displays the CVP selection screen shown in FIG. 49, for example.
  • the listener operates the input unit 201 while looking at the CVP selection screen displayed on the display unit 202, thereby selecting the desired CVP as the CVP to be used for interpolation processing.
  • the position calculation unit 114 updates the screen of the display unit 202 according to the signal from the input unit 201 .
  • the display on the display unit 202 is updated from the display shown on the left side of FIG. 49 to the display shown on the right side of FIG.
  • the selection of CVP by the listener on the CVP selection screen may be performed before the content is played, or may be performed any number of times at any timing during content playback.
  • step S314 the position calculation unit 114 determines whether there is any CVP excluded from interpolation processing among the selectable CVPs based on the signal supplied from the input unit 201 in response to the listener's selection operation. Determine if there are any CVPs that were not selected by the listener.
  • step S314 If it is determined in step S314 that there is an excluded CVP, then the process proceeds to step S315.
  • step S315 the position calculation unit 114 performs interpolation processing using the CVP that cannot be selected and the CVP selected by the listener, and obtains the listener reference object position information and the listener reference gain.
  • interpolation processing is performed based on CVP position information, object position information, object gain, etc. of each of a plurality of CVPs consisting of CVPs that cannot be selected and CVPs selected by the listener, and listener position information. .
  • a CVP that cannot be selected is a CVP whose configuration information does not include the index information "AllowedCVPIdx[i]".
  • the non-selectable CVP is a non-selectable CVP specified by the selectability information included in the configuration information.
  • step S315 interpolation processing is performed using all CVPs remaining after excluding CVPs not selected by the listener from all CVPs, that is, non-selected CVPs.
  • this is not limited to the example of excluding non-selected CVPs from all CVPs, and CVPs obtained by excluding non-selected CVPs from CVPs that satisfy a specific condition, such as being around the listening position, or CVPs corresponding to the target group area.
  • Interpolation processing may be performed using CVPs obtained by excluding unselected CVPs from CVPs belonging to the CVP group.
  • step S315 When the process of step S315 is performed, the selective interpolation process ends.
  • step S312 determines whether numOfAllowedCVP>0 is not satisfied, that is, if there is no selectable CVP, or if it is determined in step S314 that there is no excluded CVP, then the process proceeds to step S316.
  • step S316 the position calculation unit 114 performs interpolation processing using all CVPs, obtains listener reference object position information and listener reference gain, and terminates the selective interpolation processing.
  • step S316 the same interpolation process as in step S315 is performed, except that the CVP used for the interpolation process is different. Note that in step S316 as well, the interpolation processing may be performed using CVPs that satisfy a specific condition or CVPs that belong to the CVP group corresponding to the target group region.
  • the client 101 selectively uses the CVP according to the listener's selection and the like to perform interpolation processing. By doing so, it is possible to realize content reproduction that reflects the listener's (user's) preference while reflecting the intention of the content creator.
  • the series of processes described above can be executed by hardware or by software.
  • a program that constitutes the software is installed in the computer.
  • the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 53 is a block diagram showing a hardware configuration example of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 505 is further connected to the bus 504 .
  • An input unit 506 , an output unit 507 , a recording unit 508 , a communication unit 509 and a drive 510 are connected to the input/output interface 505 .
  • the input unit 506 consists of a keyboard, mouse, microphone, imaging device, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • a recording unit 508 is composed of a hard disk, a nonvolatile memory, or the like.
  • a communication unit 509 includes a network interface and the like.
  • a drive 510 drives a removable recording medium 511 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the CPU 501 loads the program recorded in the recording unit 508 into the RAM 503 via the input/output interface 505 and the bus 504 and executes the above-described series of programs. is processed.
  • the program executed by the computer (CPU 501) can be provided by being recorded on a removable recording medium 511 such as package media, for example. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 508 via the input/output interface 505 by loading the removable recording medium 511 into the drive 510 . Also, the program can be received by the communication unit 509 and installed in the recording unit 508 via a wired or wireless transmission medium. In addition, the program can be installed in the ROM 502 or the recording unit 508 in advance.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be executed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • this technology can take the configuration of cloud computing in which one function is shared by multiple devices via a network and processed jointly.
  • each step described in the flowchart above can be executed by a single device, or can be shared by a plurality of devices.
  • one step includes multiple processes
  • the multiple processes included in the one step can be executed by one device or shared by multiple devices.
  • this technology can also be configured as follows.
  • the configuration information includes at least object number information indicating the number of objects constituting content, control viewpoint number information indicating the number of control viewpoints, and metadata set number information indicating the number of metadata sets.
  • the configuration information includes control viewpoint group information relating to a control viewpoint group composed of the control viewpoints included in a predetermined group area in the space,
  • the control viewpoint group information includes, for one or more of the control viewpoint groups, information indicating the control viewpoints belonging to the control viewpoint groups, and information for specifying the group regions corresponding to the control viewpoint groups.
  • the information processing apparatus according to any one of (1) to (4), which is included.
  • the configuration information includes information indicating whether or not the control viewpoint group information is included.
  • the control viewpoint group information includes at least one of information indicating the number of the control viewpoints belonging to the control viewpoint group and information indicating the number of the control viewpoint groups;
  • the information processing device described. (8) The information processing according to any one of (1) to (7), wherein the configuration information includes mute information for specifying the object to be a mute object when viewed from the control viewpoint. Device.
  • the configuration information includes calculation of listener reference object position information indicating the position of the object viewed from the listening position, or selection of the control viewpoint used for calculation of the gain of the object viewed from the listening position.
  • the information processing apparatus including selectability information.
  • the information processing device Generating a plurality of metadata sets composed of metadata of a plurality of objects including object position information indicating the position of the object viewed from the control viewpoint when the direction from the control viewpoint to the target position in space is taken as the direction of the median plane. death, For each of the plurality of control viewpoints, control viewpoint position information indicating the position of the control viewpoint in the space, and information indicating the metadata set associated with the control viewpoint among the plurality of metadata sets. generate control viewpoint information; An information processing method for generating content data including a plurality of mutually different metadata sets and configuration information including the control viewpoint information of a plurality of the control viewpoints.
  • Object position information indicating the position of an object viewed from the control viewpoint when the direction from the control viewpoint to the target position in space is the direction of the median plane; and control viewpoint position information indicating the position of the control viewpoint in the space.
  • an acquisition unit that acquires a listener position information acquisition unit that acquires listener position information indicating a listening position in the space;
  • a listener reference object position indicating a position of the object viewed from the listening position based on the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the object position information of the plurality of control viewpoints.
  • An information processing apparatus comprising: a position calculation unit that calculates information.
  • the acquisition unit acquires a metadata set composed of metadata of the plurality of objects including the object position information, the control viewpoint position information, and designation information indicating the metadata set associated with the control viewpoint,
  • the position calculation unit calculates the listener reference object position information based on the object position information included in the metadata set indicated by the designation information among the plurality of metadata sets different from each other.
  • the information processing device according to (12).
  • the position calculation unit calculates the listener reference object position information by interpolation processing based on the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the object position information of the plurality of control viewpoints.
  • the information processing apparatus performs the vector synthesis using weights obtained from the listener position information and the control viewpoint position information of the plurality of control viewpoints.
  • the position calculation unit performs the interpolation process based on the control viewpoint position information and the object position information of the control viewpoint for which the object is not a mute object.
  • the information processing device according to .
  • the acquisition unit further acquires mute information for specifying the object to be the mute object when viewed from the control viewpoint,
  • the information processing apparatus identifies the control viewpoint in which the object is not the muted object, based on the muted information.
  • the acquisition unit further acquires gains of the object when viewed from the control viewpoints, for a plurality of the control viewpoints,
  • the information processing apparatus according to (17), wherein the position calculation unit identifies the control viewpoint from which the object is not the muted object, based on the gain.
  • the acquisition unit further acquires selectability information regarding selectability of the control viewpoint used for calculating the listener reference object position information,
  • the position calculation unit performs the interpolation process based on the control viewpoint position information and the object position information of the control viewpoint selected by the listener from the control viewpoints made selectable by the selectability information.
  • the information processing apparatus according to any one of (14) to (19).
  • the position calculation unit calculates the control viewpoint position information and the object position information of the control viewpoint that is not selectable by the selectability information, and the control viewpoint position information and the object position information of the control viewpoint selected by the listener.
  • the information processing apparatus according to (20), wherein the interpolation processing is performed based on the object position information.
  • the listener position information acquisition unit acquires listener orientation information indicating the orientation of the listener in the space,
  • the position calculation unit calculates the listener reference object based on the listener orientation information, the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the object position information of the plurality of control viewpoints.
  • the information processing apparatus according to any one of (12) to (21), which calculates position information.
  • the acquisition unit further acquires control viewpoint direction information indicating a direction from the control viewpoint to the target position in the space for the plurality of control viewpoints
  • the position calculation unit calculates the control viewpoint direction information of the plurality of control viewpoints, the listener direction information, the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the control viewpoint position information of the plurality of control viewpoints.
  • the information processing apparatus according to (22), wherein the listener reference object position information is calculated based on the object position information.
  • the acquisition unit further acquires gains of the object when viewed from the control viewpoints, for a plurality of the control viewpoints,
  • the position calculation unit performs interpolation processing based on the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the gains of the plurality of control viewpoints to determine the position of the object when viewed from the listening position.
  • the information processing apparatus according to any one of (12) to (23), which calculates a gain.
  • the information processing apparatus according to (25), wherein the sensitivity coefficient is set for each control viewpoint or for each object viewed from the control viewpoint.
  • the acquisition unit further acquires selectability information regarding selectability of the control viewpoint used for calculating the gain of the object when viewed from the listening position,
  • the position calculation unit performs the interpolation processing based on the control viewpoint position information and the gain of the control viewpoint selected by the listener from the control viewpoints made selectable by the selectability information ( 24)
  • the information processing apparatus according to any one of (26).
  • the position calculation unit calculates the control viewpoint position information and the gain of the control viewpoint that is not selectable by the selectability information, and the control viewpoint position information and the gain of the control viewpoint selected by the listener.
  • the information processing apparatus according to (27), wherein the interpolation processing is performed based on and.
  • the information processing apparatus according to any one of (12) to (28), further comprising a rendering processing unit that performs rendering processing based on the audio data of the object and the listener reference object position information.
  • the listener reference object position information is information indicating the position of the object represented by coordinates of a polar coordinate system with the listening position as an origin. processing equipment.
  • the obtaining unit obtains control viewpoint group information about a control viewpoint group including the control viewpoints included in a predetermined group area in the space, and obtains one or more of the control viewpoint groups belonging to the control viewpoint group.
  • control viewpoint group information including information indicating a control viewpoint and information for identifying the group region corresponding to the control viewpoint group; Based on the control viewpoint position information and the object position information of the control viewpoint belonging to the control viewpoint group corresponding to the group area including the listening position, and the listener position information, the position calculation unit calculates the The information processing apparatus according to any one of (12) to (30), which calculates listener reference object position information. (32) The position calculation unit acquires configuration information including control viewpoint information of each of the plurality of control viewpoints, including the control viewpoint position information, and information indicating whether or not the control viewpoint group information is included, (31), wherein the configuration information includes the control viewpoint group information in accordance with information indicating whether or not the control viewpoint group information is included.
  • control viewpoint group information includes at least one of information indicating the number of the control viewpoints belonging to the control viewpoint group and information indicating the number of the control viewpoint groups;
  • the information processing device described. (34) The acquisition unit control view information for each of the plurality of control views, including the control view position information; Object count information indicating the number of objects constituting content, control viewpoint count information indicating the number of control viewpoints, and metadata indicating the number of metadata sets composed of metadata of a plurality of the objects including the object position information.
  • the information processing apparatus according to any one of (12) to (33), which acquires configuration information including at least one of data set number information.
  • the information processing device Object position information indicating the position of an object viewed from the control viewpoint when the direction from the control viewpoint to the target position in space is the direction of the median plane; and control viewpoint position information indicating the position of the control viewpoint in the space. and get Acquiring listener position information indicating a listening position in the space; A listener reference object position indicating a position of the object viewed from the listening position based on the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the object position information of the plurality of control viewpoints. Calculate information Information processing method.
  • Object position information indicating the position of an object viewed from the control viewpoint when the direction from the control viewpoint to the target position in space is the direction of the median plane; and control viewpoint position information indicating the position of the control viewpoint in the space. and get Acquiring listener position information indicating a listening position in the space; A listener reference object position indicating a position of the object viewed from the listening position based on the listener position information, the control viewpoint position information of the plurality of control viewpoints, and the object position information of the plurality of control viewpoints.
  • a program that causes a computer to perform a process that calculates information.
  • 11 information processing device 21 input unit, 22 display unit, 24 communication unit, 26 control unit, 51 server, 61 communication unit, 62 control unit, 71 encoding unit, 101 client, 111 listener position information acquisition unit, 112 communication section, 113 decoding section, 114 position calculation section, 115 rendering processing section

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Stereophonic System (AREA)

Abstract

本技術は、コンテンツ制作者の意図に基づいたコンテンツ再生を実現することができるようにする情報処理装置および方法、並びにプログラムに関する。 情報処理装置は、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数のオブジェクトのメタデータからなるメタデータセットを複数生成し、複数の各制御視点について、空間における制御視点の位置を示す制御視点位置情報と、複数のメタデータセットのうちの制御視点に関連付けられたメタデータセットを示す情報とを含む制御視点情報を生成し、互いに異なる複数のメタデータセットと、複数の制御視点の制御視点情報を含む構成情報とを含むコンテンツデータを生成する制御部を備える。本技術は情報処理装置に適用することができる。

Description

情報処理装置および方法、並びにプログラム
 本技術は、情報処理装置および方法、並びにプログラムに関し、特に、コンテンツ制作者の意図に基づいたコンテンツ再生を実現できるようにした情報処理装置および方法、並びにプログラムに関する。
 従来、自由視点オーディオはゲームでの利用がメインとなっており、そこではゲームで表示される画像上の位置関係、すなわち画音一致が重要となるため、絶対座標系のオブジェクトオーディオが用いられている(例えば特許文献1参照)。
 一方、音楽コンテンツの世界ではゲームと異なり、音楽性を高めるために画音一致よりも聴感上のバランスが優先される。そのため、2チャンネルステレオはもとより5.1chマルチチャンネルのコンテンツでも画音一致がなされていない。
 また、3DoF(Degree of Freedom)の商用サービスにおいても音楽性が優先されるため、音だけでコンテンツが成り立つ世界となり、画音一致しないものも多数存在している。
国際公開第2019/198540号
 ところで、上述したオブジェクトの位置を絶対座標系の座標で表現する手法では、高い臨場感は得られる一方、音楽制作者の意図する音楽性を満たす自由視点コンテンツを制作することは困難であった。すなわち、自由視点コンテンツにおいて、コンテンツ制作者の意図に基づいたコンテンツ再生を実現することは困難であった。
 本技術は、このような状況に鑑みてなされたものであり、コンテンツ制作者の意図に基づいたコンテンツ再生を実現できるようにするものである。
 本技術の第1の側面の情報処理装置は、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する制御部を備える。
 本技術の第1の側面の情報処理方法またはプログラムは、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成するステップを含む。
 本技術の第1の側面においては、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットが複数生成され、複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報が生成され、互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータが生成される。
 本技術の第2の側面の情報処理装置は、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得する取得部と、前記空間における受聴位置を示す受聴者位置情報を取得する受聴者位置情報取得部と、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する位置算出部とを備える。
 本技術の第2の側面の情報処理方法またはプログラムは、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得し、前記空間における受聴位置を示す受聴者位置情報を取得し、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出するステップを含む。
 本技術の第2の側面においては、空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とが取得され、前記空間における受聴位置を示す受聴者位置情報が取得され、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報が算出される。
2Dオーディオと3Dオーディオについて説明する図である。 オブジェクト配置について説明する図である。 CVPとターゲット位置TPについて説明する図である。 ターゲット位置TPとCVPの位置関係について説明する図である。 オブジェクト配置について説明する図である。 CVPとオブジェクト位置パターンについて説明する図である。 構成情報のフォーマット例を示す図である。 フレーム長インデックスの例を示す図である。 CVP情報のフォーマット例を示す図である。 オブジェクトメタデータセットのフォーマット例を示す図である。 自由視点空間におけるCVPの配置例を示す図である。 残響オブジェクトの配置例を示す図である。 情報処理装置の構成例を示す図である。 コンテンツ制作処理を説明するフローチャートである。 サーバの構成例を示す図である。 配信処理を説明するフローチャートである。 クライアントの構成例を示す図である。 再生オーディオデータ生成処理を説明するフローチャートである。 補間処理に用いるCVPの選択について説明する図である。 オブジェクト3次元位置ベクトルについて説明する図である。 オブジェクト3次元位置ベクトルの合成について説明する図である。 ベクトル合成について説明する図である。 ベクトル合成について説明する図である。 ベクトル合成時の各ベクトルの寄与率について説明する図である。 受聴者の顔の向きに応じた受聴者基準オブジェクト位置情報について説明する図である。 受聴者の顔の向きに応じた受聴者基準オブジェクト位置情報について説明する図である。 CVPのグループ化について説明する図である。 CVPグループと補間処理について説明する図である。 CVPグループと補間処理について説明する図である。 CVPグループと補間処理について説明する図である。 CVPグループと補間処理について説明する図である。 構成情報のフォーマット例を示す図である。 CVPグループ情報のフォーマット例を示す図である。 再生オーディオデータ生成処理を説明するフローチャートである。 CVPの配置パターン例を示す図である。 共通絶対座標系におけるCVP等の配置例を示す図である。 受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を示す図である。 CVPの配置パターン例を示す図である。 共通絶対座標系におけるCVP等の配置例を示す図である。 受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を示す図である。 補間処理に用いられるCVPの選択例を示す図である。 受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を示す図である。 受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を示す図である。 構成情報の例を示す図である。 寄与係数算出処理を説明するフローチャートである。 正規化寄与係数算出処理を説明するフローチャートである。 正規化寄与係数算出処理を説明するフローチャートである。 再生側でのCVPの選択について説明する図である。 CVPの選択画面の例を示す図である。 構成情報の例を示す図である。 クライアントの構成例を示す図である。 選択的補間処理を説明するフローチャートである。 コンピュータの構成例を示す図である。
 以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈本技術について〉
 本技術は、芸術性を備えた自由視点コンテンツを実現するものである。
 まず、図1を参照して、2Dオーディオと3Dオーディオについて説明する。
 例えば図1の左側に示すように、2Dオーディオでは、音源は受聴者の耳の高さの位置にのみ配置可能である。2Dオーディオでは、音源の前後や左右への動きを表現することが可能である。
 これに対して、3Dオーディオでは、図中、右側に示すように、音源となるオブジェクトを受聴者の耳の高さよりも上方や下方の位置にも配置可能であり、これにより音源(オブジェクト)の上下方向の動きも表現することができる。
 また、3Dオーディオを利用したコンテンツとして、3DoFのコンテンツと6DoFのコンテンツとがある。
 例えば3DoFのコンテンツでは、ユーザは空間内において上下左右や斜め方向へと自身の頭部を回転させてコンテンツを視聴することができる。このような3DoFのコンテンツは固定視点コンテンツとも呼ばれている。
 これに対して、6DoFのコンテンツでは、ユーザは空間内において上下左右や斜め方向へと自身の頭部を回転させることができるのに加えて、空間内の任意の位置へと移動してコンテンツを視聴することができる。このような6DoFのコンテンツは自由視点コンテンツとも呼ばれている。
 以下において説明するコンテンツは、オーディオのみからなるオーディオコンテンツであってもよいし、ビデオと、そのビデオに付随するオーディオとからなるコンテンツであってもよいが、以下ではそれらのコンテンツを特に区別せずに、単にコンテンツと称する。特に、以下では、6DoFのコンテンツ、すなわち自由視点コンテンツを制作する例について説明する。また、以下では、オーディオオブジェクトを単にオブジェクトとも称することとする。
 コンテンツの制作過程において芸術(音楽)性を高めるためには、オブジェクトの物理的な配置に囚われず、敢えて目に見える場所とは異なる位置に意図的にオブジェクトが配置されることがある。
 このようなオブジェクトの配置は極座標系オブジェクト配置技術を用いることで、容易に表現することができる。図2は、実際のバンド演奏の例を用いて、絶対座標と極座標のオブジェクトの配置の違いを示している。
 例えば図2に示すように、バンドの演奏を例とした場合、ボーカルやギターの位置に、それらのボーカルやギターに対応するオブジェクト(オーディオオブジェクト)を物理的に配置するのではなく、音楽性を踏まえた配置とされる。
 図2では、図中、左側には楽曲を演奏するバンドメンバーの3次元空間における物理的な配置位置、すなわち物理空間(絶対座標空間)での配置位置が示されている。すなわちオブジェクトOV11はボーカル(ボーカリスト)であり、オブジェクトOD11はドラムであり、オブジェクトOG11はギターであり、オブジェクトOB11はベースである。
 特に、この例ではコンテンツの受聴者となるユーザの正面(正中面)から右側にずれた位置にオブジェクトOV11(ボーカル)が配置されており、ユーザから見て右側の端近傍にオブジェクトOG11(ギター)が配置されている。
 コンテンツ制作時には、音楽性を踏まえて図中、右側に示すようにバンドの各メンバー(楽器)に対応するオブジェクト(オーディオオブジェクト)が配置される。なお、音楽性を踏まえるということは、楽曲として聴きやすくすることを意味する。
 図中、右側には極座標空間でのオーディオオブジェクトの配置が示されている。
 具体的には、オブジェクトOV21は、オブジェクトOV11に対応するオーディオオブジェクト、すなわちボーカルの声(音)の定位位置を示している。
 オブジェクトOV11は正中面に対して右寄りに配置されているが、制作者は、ボーカルはコンテンツの中心的な存在と考え、ボーカルに対応するオブジェクトOV21は、目立つように極座標表現により正中面の高めの位置、つまりユーザから見て中央の高い位置に配置されている。
 オブジェクトOG21-1およびオブジェクトOG21-2は、オブジェクトOG11に対応する、ギターによるコード伴奏音のオーディオオブジェクトである。なお、以下、オブジェクトOG21-1およびオブジェクトOG21-2を特に区別する必要のない場合、単にオブジェクトOG21とも称する。
 ここでは、3次元空間の物理的なギタリストの位置、つまりオブジェクトOG11の位置にそのままモノラルのオブジェクトOG21が配置されるのではなく、音楽的な知見を踏まえた、ユーザから見て前方の左右の2つの位置への配置とされている。すなわち、ユーザから見て前方左右の各位置に幅を持たせてオブジェクトOG21を配置することで、受聴者(ユーザ)を包み込むようなオーディオ表現を実現することができる。換言すれば、広がり感(包まれ感)を表現することができる。
 オブジェクトOD21-1およびオブジェクトOD21-2は、オブジェクトOD11(ドラム)に対応するオーディオオブジェクトであり、オブジェクトOB21-1およびオブジェクトOB21-2は、オブジェクトOB11(ベース)に対応するオーディオオブジェクトである。
 なお、以下、オブジェクトOD21-1およびオブジェクトOD21-2を区別する必要のない場合、単にオブジェクトOD21とも称し、オブジェクトOB21-1およびオブジェクトOB21-2を区別する必要のない場合、単にオブジェクトOB21とも称する。
 オブジェクトOD21は、安定させることを目的として、ユーザから見て左右の低位置に幅を持たせて配置されており、オブジェクトOB21は、安定させるため、中央寄りでドラム(オブジェクトOD21)よりも少し高い位置に配置されている。
 このように、制作者(クリエイタ)は、音楽性を踏まえて各オブジェクトを極座標空間に配置し、自由視点コンテンツを制作する。
 このようにして物理的にオブジェクト位置が一意に決まってしまう絶対座標系でのオブジェクト配置よりも、極座標系でのオブジェクト配置の方が、制作者が意図する芸術性(音楽性)を付加した自由視点コンテンツの制作に適している。本技術は、上記の極座標系でのオブジェクト配置手法に基づき、複数の極座標系のオブジェクト配置パターンを用いることで実現する自由視点オーディオ技術である。
 ところで、極座標系オブジェクト配置による3DoFコンテンツの制作では、制作者は、空間内の1つの受聴位置を想定して、受聴者(受聴位置)を中心した極座標系を用いて各オブジェクトの配置を行う。
 このとき、各オブジェクトのメタデータは、主にAzimuth、Elevation、およびGainという3つの要素から構成される。
 ここで、Azimuthは受聴者から見たオブジェクトの位置を示す水平方向の角度であり、Elevationは受聴者から見たオブジェクトの位置を示す垂直方向の角度であり、Gainはオブジェクトのオーディオデータのゲインである。
 制作ツールは、各オブジェクトについて、上記のメタデータと、そのメタデータに対応したオブジェクトの音を再生するためのオーディオデータ(オブジェクトオーディオデータ)を成果物として出力する。
 ここで、3DoFコンテンツの制作手法の自由視点(6DoF)への展開、すなわち自由視点コンテンツへの展開について考える。
 例えば図3に示すように、自由視点コンテンツの制作者が自由視点空間(3次元空間)内の表現したい視点の位置を制御視点(Control Viewpoint(以下CVPとも称する))とし、複数のCVPを定めるとする。
 例えばCVPは、コンテンツの再生時に受聴位置として欲しい位置などである。以下では、i番目のCVPを特にCVPiとも記すこととする。
 図3の例では、受聴者となるユーザがコンテンツを受聴する自由視点空間内に3つのCVP(制御視点)であるCVP1乃至CVP3が定められている。
 いま、自由視点空間内における絶対的な位置を示す絶対座標の座標系を共通絶対座標系とすると、図中、中央に示すように、共通絶対座標系は自由視点空間内の所定の位置を原点Oとし、互いに直交するX軸、Y軸、およびZ軸を軸とする直交座標系である。
 この例では、X軸は図中、横方向の軸であり、Y軸は奥行き方向の軸であり、Z軸は図中、縦方向の軸である。また、自由視点空間における原点Oの位置の設定は、コンテンツの制作者の意図に委ねられるが、想定される自由視点空間としての会場の中央などに設定されるなどしてもよい。
 ここでは、共通絶対座標系におけるCVP1乃至CVP3の各位置を示す座標、すなわち各CVPの絶対座標位置は、(X1,Y1,Z1)、(X2,Y2,Z2)、および(X3,Y3,Z3)となっている。
 また、コンテンツの制作者は、自由視点空間における1つの位置(1つの点)を、全てのCVPから見たと想定したターゲット位置TPとして定める。ターゲット位置TPは、オブジェクトの位置情報の補間処理のための基準となる位置であり、特に各CVPにいる仮想の受聴者は、全てターゲット位置TPの方向を向いているものとされる。
 この例では、共通絶対座標系におけるターゲット位置TPを示す座標(絶対座標位置)は(xtp,ytp,ztp)となっている。
 また、各CVPでは、CVPの位置を中心とする極座標空間(以下、CVP極座標空間とも称する)が形成される。
 CVP極座標空間内の位置は、例えばCVPの位置、すなわちCVPの絶対座標位置を原点O’とし、互いに直交するx軸、y軸、およびz軸からなる極座標系(以下、CVP極座標系とも称する)の座標(極座標)によって表現される。
 特に、ここではCVPの位置からターゲット位置TPへと向かう方向がy軸の正の方向であり、CVPにいる仮想の受聴者から見た左右方向の軸がx軸であり、CVPにいる仮想の受聴者から見た上下方向の軸がz軸である。
 コンテンツ制作者によりCVPとターゲット位置TPが設定(指定)されると、CVPとターゲット位置TPとの間の位置関係を示す情報として、水平方向の角度であるYawと、垂直方向の角度であるPitchの関係が定まる。
 水平方向の角度「Yaw」は、共通絶対座標系のY軸と、CVP極座標系のy軸とのなす水平方向の角度である。すなわち、角度「Yaw」は、共通絶対座標系におけるY軸に対する、CVPにおり、ターゲット位置TPを見ている仮想の受聴者の顔の向きを示す水平方向の角度である。
 また、垂直方向の角度「Pitch」は、共通絶対座標系のX軸とY軸を含むXY平面に対するCVP極座標系のy軸のなす角度である。すなわち、角度「Pitch」は、共通絶対座標系におけるXY平面に対する、CVPにおり、ターゲット位置TPを見ている仮想の受聴者の顔の向きを示す垂直方向の角度である。
 具体的には、ターゲット位置TPの絶対座標位置を示す座標が(xtp,ytp,ztp)であり、所定のCVPの絶対座標位置を示す座標、すなわち共通絶対座標系の座標が(xcvp,ycvp,zcvp)であるとする。
 そのような場合、CVPの水平方向の角度「Yaw」および垂直方向の角度「Pitch」は、次式(1)により求まる。換言すれば、次式(1)の関係が成立する。
Figure JPOXMLDOC01-appb-M000001
 図3では、例えば点線により表される、CVP2のCVP極座標系のy軸をXY平面に射影して得られる直線と、点線により表される、共通絶対座標系のY軸に平行な直線とのなす角度「Yaw2」が、式(1)により求まるCVP2についての水平方向の角度「Yaw」となっている。同様に、CVP2のCVP極座標系のy軸と、XY平面とのなす角度「Pitch2」が、式(1)により求まるCVP2についての垂直方向の角度「Pitch」となっている。
 自由視点コンテンツの送信側(生成側)は、構成情報として、共通絶対座標系におけるCVPの絶対座標位置を示すCVP位置情報と、式(1)により求まるCVPのYawおよびPitchを含むCVP向き情報とを受信側(再生側)に伝送する。
 なお、CVP向き情報の伝送の代替手段として、共通絶対座標系におけるターゲット位置TPを示す座標(絶対座標値)が送信側から受信側に伝送されるようにしてもよい。すなわち、CVP向き情報の代わりに、共通絶対座標系(自由視点空間)におけるターゲット位置TPを示すターゲット位置情報が構成情報に格納されているようにしてもよい。そのような場合、受信側(再生側)では、受信したターゲット位置TPを示す座標に基づいて、CVPごとに上述の式(1)によりYawおよびPitchが算出される。
 また、CVP向き情報には、CVPのYawおよびPitchだけでなく、CVP極座標系のy軸を回転軸とした、共通絶対座標系に対するCVP極座標系の回転角度(Roll)も含まれるようにしてもよい。以下では、CVP向き情報に含まれるYaw、Pitch、およびRollを、特にCVP Yaw情報、CVP Pitch情報、およびCVP Roll情報とも称することとする。
 ここで、図3に示したCVP3に着目して、CVP向き情報についてさらに説明する。
 図4は、図3に示したターゲット位置TPとCVP3の位置関係を示している。
 CVP3が設定(指定)されると、そのCVP3を中心とするCVP極座標系、つまり1つの極座標空間が定まり、この極座標空間ではCVP3から見たターゲット位置TPの方向が正中面の方向(水平方向の角度Azimuth=0、垂直方向の角度Elevation=0となる方向)となる。換言すれば、CVP3からターゲット位置TPへと向かう方向が、CVP3を中心とするCVP極座標系のy軸の正の方向となる。
 ここで、CVP3、つまりCVP3のCVP極座標系の原点O’を含み、共通絶対座標系のX軸およびY軸を含むXY平面と平行な平面をX’Y’平面とすると、直線LN11は、CVP3のCVP極座標系のy軸をX’Y’平面上に射影して得られる直線である。また、直線LN12は、X’Y’平面上における共通絶対座標系のY軸と平行な直線である。
 このとき、直線LN11と直線LN12のなす角度「Yaw3」が、式(1)により求まるCVP3についてのCVP Yaw情報となり、y軸と直線LN11のなす角度「Pitch3」が、式(1)により求まるCVP3についてのCVP Pitch情報となる。
 このようにして得られるCVP Yaw情報やCVP Pitch情報からなるCVP向き情報は、CVP3にいる仮想の受聴者が向いている方向、すなわち自由視点空間におけるCVP3からターゲット位置TPへと向かう方向を示す情報である。換言すれば、CVP向き情報は共通絶対座標系とCVP極座標系の向き(方向)に関する相対的な関係を示す情報であるといえる。
 また、各CVPのCVP極座標系が定まると、CVPと各オブジェクト(オーディオオブジェクト)との間には、CVPから見たオブジェクトの位置(方向)を示す、水平方向の角度Azimuthと垂直方向の角度Elevationを用いて表される相対的な位置関係が成立する。
 図5を参照して、CVP3から見た所定のオブジェクトの相対的な位置について説明する。なお、図5には、ターゲット位置TPとCVP3が図3における場合と同じ位置関係で示されている。
 この例では、自由視点空間内にオブジェクトobj1を含む4つのオーディオオブジェクトが配置されている。
 図中、左側には自由視点空間全体の様子が示されており、特にここではオブジェクトobj1がターゲット位置TPの近傍に配置されている。
 コンテンツの制作者は、同じオブジェクトであっても、そのオブジェクトの自由視点空間における絶対的な配置位置がCVPごとに異なる位置となるように、各CVPに対してオブジェクトの配置位置を定める(指定する)ことが可能である。
 例えば制作者は、CVP1から見たときの自由視点空間におけるオブジェクトobj1の配置位置と、CVP3から見たときの自由視点空間におけるオブジェクトobj1の配置位置とを個別に指定することが可能であり、それらの配置位置が一致するとは限らない。
 図中、右側にはCVP3のCVP極座標空間において、CVP3からターゲット位置TPやオブジェクトobj1を見たときの様子が示されており、オブジェクトobj1はCVP3から見て左前方に配置されていることが分かる。
 この場合、CVP3とオブジェクトobj1の間では、水平方向角度Azimuth_obj1と垂直方向角度Elevation_obj1とにより定まる相対的な位置関係が成立する。換言すれば、CVP3から見たオブジェクトobj1の相対的な位置は、水平方向角度Azimuth_obj1および垂直方向角度Elevation_obj1からなるCVP極座標系の座標(極座標)により表すことができる。
 このような極座標表現によるオブジェクト配置は、3DoFコンテンツ制作で用いられる配置手法と同じである。換言すれば本技術では、6DoFコンテンツであっても、3DoFコンテンツにおける場合と同様の極座標表現でオブジェクト配置を行うことが可能である。
 以上のように、本技術では、自由視点空間内に設定した複数の各CVPについて、3DoFコンテンツの場合と同じ手法により3次元空間内にオブジェクトを配置することができる。
これにより複数のCVPに対応したオブジェクト位置パターンが生成される。
 自由視点コンテンツの制作時には、制作者は自身が設定した各CVPに対して、全てのオブジェクトの配置位置を指定していくことになる。
 なお、各CVPにおけるオブジェクトの配置パターンは、個々の1つのCVPへの対応に限定されるものではなく、複数のCVPで同一の配置パターンが割り当てられるようにしてもよい。そうすれば、制作コストを効率的に削減しながら自由視点空間内のより広い範囲にある複数のCVPに対してオブジェクト位置を指定することができる。
 図6は、CVPを管理する構成情報(CVP set)と、オブジェクト位置パターン(Object Set)との関連付けの例を示している。
 図中、左側には、(N+2)個の各CVPが示されており、構成情報にはこれらの(N+2)個のCVPに関する情報が格納される。具体的には、例えば構成情報には、各CVPのCVP位置情報やCVP向き情報が含まれている。
 これに対して、図中、右側には、互いに異なるN個の各オブジェクト位置パターン、すなわちオブジェクトの配置パターンが示されている。
 例えば文字「OBJ Positions 1」により示されるオブジェクト位置パターン情報は、制作者等により定められた特定の1つの配置パターンでオブジェクトを配置した場合における、CVP極座標系での全オブジェクトの配置位置を示している。
 したがって、例えば「OBJ Positions 1」により示されるオブジェクトの配置パターンと、「OBJ Positions 2」により示されるオブジェクトの配置パターンとは、異なる配置パターンとなっている。
 また、図中、左側に示す各CVPから、図中、右側に示すオブジェクト位置パターンへと向かう矢印は、CVPとオブジェクト位置パターンのリンクの関係を表している。本技術では、各々のCVPに関する情報とオブジェクトの位置情報の組み合わせパターンはそれぞれ独立に存在し、図6に示すように両者の関係をリンク管理する実装とされる。
 具体的には、本技術では、例えばオブジェクトの配置パターンごとに、オブジェクトメタデータセットが用意される。
 例えばオブジェクトメタデータセットは、オブジェクトごとのオブジェクトメタデータからなり、各オブジェクトメタデータには、配置パターンに応じたオブジェクトのオブジェクト位置情報が含まれている。
 このオブジェクト位置情報は、対応する配置パターンでオブジェクトを配置した場合における、CVP極座標系でのオブジェクトの配置位置を示す極座標などとされる。より詳細には、例えばオブジェクト位置情報は、CVP極座標系と同様の極座標系の座標(極座標)によって表現された、自由視点空間におけるCVPからターゲット位置TPに向かう方向を正中面の方向としたときのCVPから見たオブジェクトの位置を示す座標情報である。
 また、構成情報には、CVPごとに、CVPについて制作者により設定されたオブジェクト位置パターン(オブジェクトの配置パターン)に対応するオブジェクトメタデータセットを示すメタデータセットインデックスが格納される。そして受信側(再生側)では、構成情報に含まれているメタデータセットインデックスに基づいて、対応するオブジェクト位置パターンでのオブジェクトメタデータセットを得る。
 このようなメタデータセットインデックスによって、CVPとオブジェクト位置パターン(オブジェクトメタデータセット)とをリンクさせることは、CVPとオブジェクト位置パターンの間のマッピング情報を持つことであるといえる。このようにすることで、データ管理や実装面でフォーマットとしての視認性をより高くすることができるとともに、メモリ量を削減することができる。
 例えば、オブジェクト位置パターンごとにオブジェクトメタデータセットを用意すれば、制作ツール上でコンテンツの制作者が、既にある複数のオブジェクトのオブジェクト位置情報の組み合わせパターンを複数のCVPで共有することができる。
 具体的には、例えば図中、左側に示すCVP2に対して、図中、右側に示す「OBJ Positions 2」により示されるオブジェクト位置パターンが指定されているが、CVPN+1に対してもCVP2における場合と同じ「OBJ Positions 2」により示されるオブジェクト位置パターンを指定することができる。
 この場合、CVP2が参照する(CVP2に関連付けられた)オブジェクト位置パターンと、CVPN+1が参照するオブジェクト位置パターンとは、ともに同じ「OBJ Positions 2」である。したがって、CVP2から見た「OBJ Positions 2」により示されるオブジェクトの相対的な配置位置と、CVPN+1から見た「OBJ Positions 2」により示されるオブジェクトの相対的な配置位置とは同じである。
 しかし、CVP2での「OBJ Positions 2」により示されるオブジェクトの自由視点空間における配置位置と、CVPN+1での「OBJ Positions 2」により示されるオブジェクトの自由視点空間における配置位置とは互いに異なる位置となる。これは、例えばオブジェクト位置パターン「OBJ Positions 2」におけるオブジェクト位置情報は、極座標系の極座標により表現されているが、その極座標系の自由視点空間における原点の位置とy軸の方向(正中面の方向)は、CVP2が「OBJ Positions 2」を参照するときと、CVPN+1が「OBJ Positions 2」を参照するときとで異なるからである。換言すれば、CVP2とCVPN+1とでは、CVP極座標系の原点の位置とy軸の方向が異なるからである。
 さらに、ここではN個のオブジェクト位置パターンが用意されているが、その後、新たなオブジェクト位置パターンを追加で生成してもCVPやオブジェクトメタデータの管理が煩雑になることはなく、体系立てて処理を行うことができる。これにより、ソフトウェア上でのデータの視認性を高め、実装を容易にすることができる。
 以上のように、本技術によれば、3DoFの手法を用い、各CVPに関連付けられた極座標上でのオブジェクト配置を行うだけで6DoFコンテンツ(自由視点コンテンツ)を制作することができる。
 各CVPで使用されるオブジェクトに対応したオーディオデータ群はコンテンツ制作者によって選定されるものであるが、それらのオーディオデータは複数のCVPで共通に使用することができる。なお、特定のCVPだけで使用するオブジェクトに対応したオーディオデータが追加されてもよい。
 このように各CVPで共通のオーディオデータを用いて、CVPごとにオブジェクトの位置やゲインなどを制御することで冗長性の低い伝送が可能となる。
 制作者の操作に応じて6DoFコンテンツ(自由視点コンテンツ)を生成する制作ツールは、構成情報およびオブジェクトメタデータセットという2つのデータ構造体をファイルまたはバイナリデータとして出力する。
 図7は構成情報のフォーマット(シンタックス)例を示す図である。
 図7に示す例では、構成情報には、フレーム長インデックス「FrameLengthIndex」、オブジェクト数情報「NumOfObjects」、CVP数情報「NumOfControlViewpoints」、およびメタデータセット数情報「NumOfObjectMetaSets」が含まれている。
 フレーム長インデックス「FrameLengthIndex」は、オブジェクトの音を再生するためのオーディオデータの1フレームの長さ、すなわち1フレームが何サンプルから構成されているかを示すインデックスである。
 例えばフレーム長インデックス「FrameLengthIndex」の各値と、フレーム長インデックスにより示されるフレーム長との対応は、図8に示すようになる。
 この例では、例えばフレーム長インデックスの値が「5」である場合には、フレーム長は「1024」とされている。すなわち、1フレームが1024サンプルにより構成されている。
 図7の説明に戻り、オブジェクト数情報「NumOfObjects」は、コンテンツを構成するオーディオデータの数、すなわちオブジェクト(オーディオオブジェクト)の数を示す情報である。CVP数情報「NumOfControlViewpoints」は、制作者により設定されたCVPの数(個数)を示す情報である。メタデータセット数情報「NumOfObjectMetaSets」は、オブジェクトメタデータセットの数(個数)を示す情報である。
 また、構成情報には、CVP数情報「NumOfControlViewpoints」により示されるCVPの数だけ、CVPに関する情報であるCVP情報「ControlViewpointInfo(i)」が含まれている。すなわち、制作者により設定されたCVPごとにCVP情報が格納されている。
 さらに構成情報には、各CVPについて、オブジェクトごとにオブジェクトメタデータに含まれているオブジェクト位置情報の記述方法を示すフラグ情報である座標モード情報「CoordinateMode[i][j]」が格納されている。
 例えば座標モード情報の値「0」は、オブジェクト位置情報が共通絶対座標系の絶対座標により記述されていることを示している。これに対して、座標モード情報の値「1」は、オブジェクト位置情報がCVP極座標系の極座標により記述されていることを示している。なお、以下では、座標モード情報の値が「1」であるものとして説明を続ける。
 また、構成情報に含まれるCVP情報「ControlViewpointInfo(i)」のフォーマット(シンタックス)の例を図9に示す。
 この例ではCVP情報には、CVPインデックス「ControlViewpointIndex[i]」およびメタデータセットインデックス「AssociatedObjectMetaSetIndex[i]」が含まれている。
 CVPインデックス「ControlViewpointIndex[i]」は、CVP情報に対応するCVPを識別するためのインデックス情報である。
 メタデータセットインデックス「AssociatedObjectMetaSetIndex[i]」は、CVPインデックスにより示されるCVPに対して制作者により指定されたオブジェクトメタデータセットを示すインデックス情報(指定情報)である。換言すれば、メタデータセットインデックスは、CVPに関連付けられたオブジェクトメタデータセットを示す情報である。
 また、CVP情報には、CVP位置情報とCVP向き情報が含まれている。
 すなわち、CVP位置情報として、共通絶対座標系におけるCVPの位置を示すX座標「CVPosX[i]」、Y座標「CVPosY[i]」、およびZ座標「CVPosZ[i]」が格納されている。
 また、CVP向き情報として、CVP Yaw情報「CVYaw[i]」、CVP Pitch情報「CVPitch[i]」、およびCVP Roll情報「CVRoll[i]」が格納されている。
 図10はオブジェクトメタデータセット、より詳細にはオブジェクトメタデータセット群のフォーマット(シンタックス)例を示す図である。
 この例では、「NumOfObjectMetaSets」は、格納されているオブジェクトメタデータセットの数を示している。このオブジェクトメタデータセットの数は、構成情報に含まれているメタデータセット数情報から得ることができる。また、「ObjectMetaSetIndex[i]」はオブジェクトメタデータセットのインデックスを示しており、「NumOfObjects」は、オブジェクトの数を示している。
 「NumOfChangePoints」は、オブジェクトメタデータセットの内容が変化する時刻である変化点の数を示している。
 この例では、変化点間におけるオブジェクトメタデータセットは格納されていない。また、各オブジェクトメタデータセットについて、オブジェクトについての変化点ごとに、変化点を特定するためのフレームインデックス「frame_index[i][j][k]」と、オブジェクトの位置を示す「PosA[i][j][k]」、「PosB[i][j][k]」、および「PosC[i][j][k]」と、オブジェクトのゲイン「Gain[i][j][k]」とが格納されている。このゲイン「Gain[i][j][k]」は、CVPから見たときのオブジェクト(オーディオデータ)のゲインである。
 フレームインデックス「frame_index[i][j][k]」は、変化点となるオブジェクトのオーディオデータのフレームを示すインデックスである。受信側(再生側)においては、このフレームインデックス「frame_index[i][j][k]」、および構成情報に含まれているフレーム長インデックス「FrameLengthIndex」に基づいて、変化点となるオーディオデータのサンプル位置が特定される。
 オブジェクトの位置を示す「PosA[i][j][k]」、「PosB[i][j][k]」、および「PosC[i][j][k]」は、CVP極座標系におけるオブジェクトの位置(極座標)を示す水平方向角度Azimuth、垂直方向角度Elevation、および半径Radiusを示している。すなわち、「PosA[i][j][k]」、「PosB[i][j][k]」、および「PosC[i][j][k]」からなる情報がオブジェクト位置情報である。
 但し、ここでは座標モード情報の値が「1」であるとする。座標モード情報の値が「0」である場合には、「PosA[i][j][k]」、「PosB[i][j][k]」、および「PosC[i][j][k]」は、共通絶対座標系におけるオブジェクトの位置を示すX座標、Y座標、およびZ座標とされる。
 以上のように、図10に示すフォーマットでは、各オブジェクトメタデータセットについて、変化点ごとに、オブジェクトごとのフレームインデックスと、各オブジェクトについてのオブジェクト位置情報およびゲインとが格納されている。
 オブジェクトの位置は常に固定的な場合もあるが、時間方向上で動的にオブジェクトの位置が変化する場合もある。
 図10に示したフォーマット例では、オブジェクトの位置が変化する時刻の位置、つまり上述の変化点の位置がフレームインデックス「frame_index[i][j][k]」として記録されている。また、変化点間におけるオブジェクト位置情報やゲインは、例えば受信側(再生側)において、変化点でのオブジェクト位置情報やゲインに基づく、直線による補間処理により求められる。
 このように、図10に示すフォーマットを採用すれば、オブジェクトの位置が動的に変化する場合にも対応することができ、全時刻(フレーム)のデータを保持する必要がなくなるため、ファイルサイズを小さくすることができる。
 図11は、自由視点コンテンツとして実際のライブコンテンツを制作するときの自由視点空間におけるCVPの配置例を示している。
 この例では、ライブ会場全体を含む空間が自由視点空間となっており、ライブ会場ではステージST11上において、オブジェクトとしてのアーティストが楽曲の演奏等を行う。また、ライブ会場では、ステージST11を囲むように客席が設けられている。
 自由視点空間、すなわち共通絶対座標系における原点Oの位置の設定は、コンテンツの制作者の意図に委ねられるが、この例ではライブ会場の中央が原点Oの位置とされている。
 また、この例では、制作者によりステージST11上にターゲット位置TPが設定されており、ライブ会場内に7個のCVP1乃至CVP7が設定されている。
 上述のように各CVP(CVP極座標系)では、CVPからターゲット位置TPへと向かう方向が正中面の方向とされている。
 したがって、例えばCVP1を視点位置(受聴位置)とし、ターゲット位置TPの方向を向いているユーザには、矢印Q11に示すように自身が真正面からステージST11を見ているようなコンテンツ映像が提示される。
 同様に、例えばCVP4を視点位置とし、ターゲット位置TPの方向を向いているユーザには、矢印Q12に示すように自身が斜め前方からステージST11を見ているようなコンテンツ映像が提示される。さらに例えばCVP5を視点位置とし、ターゲット位置TPの方向を向いているユーザには、矢印Q13に示すように自身が斜め後方からステージST11を見ているようなコンテンツ映像が提示される。
 このような自由視点コンテンツを制作する場合、制作者による1つのCVPに対するオブジェクトの配置作業が3DoFコンテンツの制作作業と等価となる。
 図11の例では、自由視点コンテンツの制作者は、1つのCVPに対するオブジェクト配置作業に加え、6DoFに対応するために、さらに6個のCVPを設定し、それらのCVPに対するオブジェクト配置作業を行えばよい。このように、本技術では、3DoFコンテンツにおける場合と同様の作業により自由視点コンテンツを制作することができる。
 ところで、空間内の残響成分は、本来、物理的な空間内の伝搬や反射によって生成されるものである。
 そのため、自由視点空間としてのコンサート会場内の反射や伝搬により到達する物理的な残響成分をオブジェクトとして捉えた場合には、CVP極座標系(CVP極座標空間)における残響オブジェクトの配置は、例えば図12に示すようになる。なお、図12は、図3に示したターゲット位置TPとCVP3が同じ位置関係で示されている。
 図12では、ターゲット位置TPの近傍にある音源(演者)から発せられCVP3へと向かう残響音が点線の矢印により表されている。すなわち、図中の矢印は、物理的な残響パスを表している。特に、ここでは4つの残響パスが描かれている。
 そのため、それらの残響音を残響オブジェクトとしてCVP3のCVP極座標空間にそのまま配置すると、各残響オブジェクトは位置P11乃至位置P14に配置されることになる。
 しかしながら、このように狭い領域(自由視点空間)の残響成分が強い信号をそのまま用いた場合、高い臨場感を得ることができるものの本来の音楽信号が残響にかき消されてしまうことで、音楽性が低くなってしまうことが多い。
 本技術の制作ツールにおけるCVP極座標系でのオブジェクト配置を用いれば、コンテンツの制作者は、残響成分をオブジェクト(残響オブジェクト)として扱い、音楽性の観点から最適と考える到来方向を決定し、その決定結果に応じてオブジェクトを配置することができる。これにより、空間内の残響効果を演出することができる。
 具体的には、例えばCVP3を受聴位置とした場合、残響オブジェクトを位置P11乃至位置P14に配置すると、コンサート会場前方の狭い領域に残響音を主とした音が集中することになる。そこで制作者は、これらの残響オブジェクトを、CVP3にいる受聴者の後方である位置P’11乃至位置P’14に配置する。換言すれば、残響パス等が考慮されて、音楽性の付加のために、残響オブジェクトの配置位置が位置P11乃至位置P14から位置P’11乃至位置P’14へと移動される。
 このように、残響オブジェクトを全体的に受聴者の後方に意図的に配置することで、残響成分による埋もれ、すなわち音楽自体が聴きにくくなってしまうことを回避することができる。
〈情報処理装置の構成例〉
 続いて、制作ツールを実現し、以上において説明した自由視点コンテンツを制作する情報処理装置について説明する。
 そのような情報処理装置は、例えばパーソナルコンピュータなどからなり、図13に示すように構成される。
 図13に示す情報処理装置11は、入力部21、表示部22、記録部23、通信部24、音響出力部25、および制御部26を有している。
 入力部21は、例えばマウス、キーボード、タッチパネル、ボタン、スイッチなどからなり、コンテンツの制作者の操作に応じた信号を制御部26に供給する。表示部22は、制御部26の制御に従って、コンテンツの制作ツールの表示画面など、任意の画像を表示する。
 記録部23は、コンテンツの制作のための各オブジェクトのオーディオデータ、制御部26から供給された構成情報やオブジェクトメタデータセットなどの各種のデータを記録するとともに、記録しているデータを適宜、制御部26に供給する。
 通信部24は、サーバ等の外部の装置との通信を行う。例えば通信部24は、制御部26から供給されたデータをサーバ等に送信したり、サーバ等から送信されてきたデータを受信して制御部26に供給したりする。
 音響出力部25は、例えばスピーカからなり、制御部26から供給されたオーディオデータに基づいて音を出力する。
 制御部26は、情報処理装置11全体の動作を制御する。例えば制御部26は、制作者の操作に応じて入力部21から供給される信号に基づいて、自由視点コンテンツを生成(制作)する。
〈コンテンツ制作処理の説明〉
 次に、情報処理装置11の動作について説明する。すなわち、以下、図14のフローチャートを参照して、情報処理装置11によるコンテンツ制作処理について説明する。
 例えば制御部26が記録部23に記録されているプログラムを読み出して実行すると、自由視点コンテンツを制作するための制作ツールが実現される。
 制作ツールが起動されると、制御部26は、所定の画像データを表示部22に供給して、制作ツールの表示画面を表示させる。この表示画面には、例えば自由視点空間の画像などが表示されている。
 また、例えば制御部26は、制作者の操作に応じて、適宜、これから制作しようとする自由視点コンテンツを構成する各オブジェクトのオーディオデータを記録部23から読み出して音響出力部25に供給し、オブジェクトの音を再生させる。
 制作者は、適宜、オブジェクトの音を聴いたり、表示画面上の自由視点空間の画像等を確認したりしながら、入力部21を操作することで、コンテンツ制作のための操作を行う。
 ステップS11において制御部26は、ターゲット位置TPを設定する。
 例えば制作者は、入力部21を操作することで自由視点空間上の任意の位置(点)をターゲット位置TPとして指定する。
 制作者によりターゲット位置TPを指定する操作が行われると、入力部21から制御部26には制作者の操作に応じた信号が供給されるので、制御部26は、入力部21から供給された信号に基づいて、自由視点空間上の制作者により指定された位置をターゲット位置TPとする。すなわち、制御部26は、ターゲット位置TPを設定する。
 なお、制作者の操作に応じて、制御部26が自由視点空間(共通絶対座標系)における原点Oの位置の設定を行うようにしてもよい。
 ステップS12において制御部26は、CVP数とオブジェクトメタデータセット数を0とする。すなわち、制御部26は、CVP数情報「NumOfControlViewpoints」の値を0とするとともに、メタデータセット数情報「NumOfObjectMetaSets」の値を0とする。
 ステップS13において制御部26は、入力部21からの信号に基づいて、制作者の操作により選択された編集モードがCVP編集モードであるか否かを判定する。
 ここでは、編集モードには、CVPの編集を行うCVP編集モード、オブジェクトメタデータセットの編集を行うオブジェクトメタデータセット編集モード、およびCVPとオブジェクトメタデータセットの関連付け(紐づけ)を行う紐づけ編集モードがあるとする。
 ステップS13においてCVP編集モードであると判定された場合、ステップS14において制御部26は、CVP構成を変更するか否かを判定する。
 例えば、制作者がCVP編集モードにおいて、新たなCVPの追加(設定)、または既存のCVPの削除を指示する操作を行った場合、CVP構成を変更すると判定される。
 ステップS14においてCVP構成を変更しないと判定された場合、処理はステップS13に戻り、上述した処理が繰り返し行われる。
 これに対して、ステップS14においてCVP構成を変更すると判定された場合、その後、処理はステップS15に進む。
 ステップS15において制御部26は、制作者の操作に応じて入力部21から供給される信号に基づいて、CVP数を更新する。
 例えば、制作者が新たなCVPを追加(設定)する操作を行った場合、制御部26は、保持しているCVP数情報「NumOfControlViewpoints」の値に1を加算することでCVP数を更新する。これに対して、例えば制作者が既存の1つのCVPを削除する操作を行った場合、制御部26は、保持しているCVP数情報「NumOfControlViewpoints」の値から1を減算することでCVP数を更新する。
 ステップS16において制御部26は、制作者の操作に応じてCVPの編集を行う。
 例えば制御部26は、制作者によりCVPを指定(追加)する操作が行われると、入力部21から供給された信号に基づいて、自由視点空間上の制作者により指定された位置を新たに追加するCVPの位置とする。すなわち、制御部26は新たなCVPを設定する。また、例えば制御部26は、制作者によりCVPを削除する操作が行われると、入力部21から供給された信号に基づいて、自由視点空間上の制作者により指定されたCVPを削除する。
 CVPの編集が行われると、その後、処理はステップS14に戻り、上述した処理が繰り返し行われる。すなわち、新たなCVPの編集が行われる。
 また、ステップS13においてCVP編集モードでないと判定された場合、ステップS17において制御部26は、オブジェクトメタデータセット編集モードであるか否かを判定する。
 ステップS17においてオブジェクトメタデータセット編集モードであると判定された場合、ステップS18において制御部26は、オブジェクトメタデータセットを変更するか否かを判定する。
 例えば、制作者がオブジェクトメタデータセット編集モードにおいて、新たなオブジェクトメタデータセットの追加(設定)、または既存のオブジェクトメタデータセットの削除を指示する操作を行った場合、オブジェクトメタデータセットを変更すると判定される。
 ステップS18においてオブジェクトメタデータセットを変更しないと判定された場合、処理はステップS13に戻り、上述した処理が繰り返し行われる。
 これに対して、ステップS18においてオブジェクトメタデータセットを変更すると判定された場合、その後、処理はステップS19に進む。
 ステップS19において制御部26は、制作者の操作に応じて入力部21から供給される信号に基づいて、オブジェクトメタデータセット数を更新する。
 例えば、制作者が新たなオブジェクトメタデータセットを追加(設定)する操作を行った場合、制御部26は、保持しているメタデータセット数情報「NumOfObjectMetaSets」の値に1を加算することでオブジェクトメタデータセット数を更新する。これに対して、例えば制作者が既存の1つのオブジェクトメタデータセットを削除する操作を行った場合、制御部26は、保持しているメタデータセット数情報「NumOfObjectMetaSets」の値から1を減算することでオブジェクトメタデータセット数を更新する。
 ステップS20において制御部26は、制作者の操作に応じてオブジェクトメタデータセットの編集を行う。
 例えば制御部26は、制作者により新たなオブジェクトメタデータセットを設定(追加)する操作が行われると、入力部21から供給された信号に基づいて、新たなオブジェクトメタデータセットを生成する。
 このとき、例えば制御部26は、適宜、CVP極座標空間の画像を表示部22に表示させ、制作者はCVP極座標空間の画像上の位置(点)を、新たなオブジェクトメタデータセットについてのオブジェクトの配置位置として指定する。
 制御部26は、制作者により1または複数の各オブジェクトの配置位置を指定する操作が行われると、CVP極座標空間上の制作者により指定された位置をオブジェクトの配置位置とすることで、新たなオブジェクトメタデータセットを生成する。
 また、例えば制御部26は、制作者によりオブジェクトメタデータセットを削除する操作が行われると、入力部21から供給された信号に基づいて、制作者により指定されたオブジェクトメタデータセットを削除する。
 オブジェクトメタデータセットの編集が行われると、その後、処理はステップS18に戻り、上述した処理が繰り返し行われる。すなわち、新たなオブジェクトメタデータセットの編集が行われる。なお、オブジェクトメタデータセットの編集として、既存のオブジェクトメタデータセットの変更を行うことも可能である。
 また、ステップS17においてオブジェクトメタデータセット編集モードでないと判定された場合、ステップS21において制御部26は、紐づけ編集モードであるか否かを判定する。
 ステップS21において紐づけ編集モードであると判定された場合、ステップS22において制御部26は、制作者の操作に応じて、CVPとオブジェクトメタデータセットを関連付ける。
 具体的には、例えば制御部26は、入力部21から供給された信号に基づいて、制作者により指定されたCVPについて、制作者により指定されたオブジェクトメタデータセットを示すメタデータセットインデックス「AssociatedObjectMetaSetIndex[i]」を生成する。これにより、CVPとオブジェクトメタデータセットの紐づけが行われる。
 ステップS22の処理が行われると、その後、処理はステップS13に戻り、上述した処理が繰り返し行われる。
 これに対して、ステップS21において紐づけ編集モードでないと判定された場合、すなわち自由視点コンテンツの制作作業の終了が指示された場合、処理はステップS23へと進む。
 ステップS23において制御部26は、通信部24によりコンテンツデータを出力する。
 例えば制御部26は、ターゲット位置TP、CVP、およびオブジェクトメタデータセットの設定結果や、CVPとオブジェクトメタデータセットの紐づけ結果に基づいて、構成情報を生成する。
 具体的には、例えば制御部26は、図7や図9を参照して説明した、フレーム長インデックスやオブジェクト数情報、CVP数情報、メタデータセット数情報、CVP情報、座標モード情報を含む構成情報を生成する。このとき制御部26は、適宜、上述の式(1)と同様の計算を行ってCVP向き情報を算出し、CVPインデックス、メタデータセットインデックス、CVP位置情報、およびCVP向き情報を含むCVP情報を生成する。
 また、制御部26では、ステップS20の処理によって、図10を参照して説明したように、変化点ごとに、オブジェクトごとのフレームインデックスと、各オブジェクトについてのオブジェクト位置情報、およびゲインとが含まれるオブジェクトメタデータセットが複数生成されている。
 これにより、1つの自由視点コンテンツについて、各オブジェクトのオーディオデータ、構成情報、および互いに異なる複数のオブジェクトメタデータセットからなるコンテンツデータが生成されたことになる。制御部26は、生成したコンテンツデータを適宜、記録部23に供給して記録させるとともに、通信部24に供給する。
 通信部24は、制御部26から供給されたコンテンツデータを出力する。すなわち、通信部24は、任意のタイミングで、ネットワークを介してコンテンツデータをサーバに送信する。なお、コンテンツデータは、記録媒体等に供給され、記録媒体を介してサーバに提供されてもよい。
 コンテンツデータが出力されると、コンテンツ制作処理は終了する。
 以上のようにして情報処理装置11は、制作者の操作に応じてターゲット位置TPの設定やCVPの設定、オブジェクトメタデータセットの設定などを行い、オーディオデータ、構成情報、およびオブジェクトメタデータセットからなるコンテンツデータを生成する。
 このようにすることで、再生側においては、制作者により指定されたオブジェクト配置に基づく自由視点コンテンツの再生が可能となる。したがって、コンテンツ制作者の意図に基づいた、音楽性のあるコンテンツ再生を実現することができる。
〈サーバの構成例〉
 次に、情報処理装置11から自由視点コンテンツのコンテンツデータの供給を受け、そのコンテンツデータをクライアントへと配信するサーバについて説明する。
 そのようなサーバは、例えば図15に示すように構成される。
 図15に示すサーバ51は、例えばコンピュータ等の情報処理装置からなる。サーバ51は、通信部61、制御部62、および記録部63を有している。
 通信部61は、制御部62の制御に従って、情報処理装置11やクライアントとの通信を行う。例えば通信部61は、情報処理装置11から送信されてきた自由視点コンテンツのコンテンツデータを受信して制御部62に供給したり、制御部62から供給された符号化ビットストリームをクライアントに送信したりする。
 制御部62は、サーバ51全体の動作を制御する。例えば制御部62は、符号化部71を有しており、符号化部71は、自由視点コンテンツのコンテンツデータを符号化することで、符号化ビットストリームを生成する。
 記録部63は、例えば制御部62から供給された自由視点コンテンツのコンテンツデータなど、各種のデータを記録しており、必要に応じて記録しているデータを制御部62に供給する。なお、以下では、情報処理装置11から受信された自由視点コンテンツのコンテンツデータが記録部63に記録されているものとする。
〈配信処理の説明〉
 サーバ51は、ネットワークを介して接続されているクライアントから、自由視点コンテンツの配信の要求があると、その要求に応じて自由視点コンテンツを配信する配信処理を行う。以下、図16のフローチャートを参照して、サーバ51による配信処理について説明する。
 ステップS51において制御部62は、符号化ビットストリームを生成する。
 すなわち、制御部62は、記録部63から自由視点コンテンツのコンテンツデータを読み出す。そして制御部62の符号化部71は、読み出したコンテンツデータを構成する各オブジェクトのオーディオデータ、構成情報、および複数のオブジェクトメタデータセットを符号化することで、符号化ビットストリームを生成する。制御部62は、得られた符号化ビットストリームを通信部61に供給する。
 この場合、例えば符号化部71は、MPEG(Moving Picture Experts Group)-IやMPEG-Hで用いられる符号化方式に従って、オーディオデータや構成情報、オブジェクトメタデータセットの符号化を行う。これにより、データの伝送量を削減することができる。また、オブジェクトのオーディオデータは、全てのCVPで共通のものとなっているので、CVPの個数によらず、1つのオブジェクトにつき1つのオーディオデータを格納すればよい。
 ステップS52において通信部61は、制御部62から供給された符号化ビットストリームをクライアントに送信し、配信処理は終了する。
 なお、ここでは符号化されたオーディオデータ、構成情報、およびオブジェクトメタデータセットが多重化されて1つの符号化ビットストリームが生成される例について説明したが、構成情報やオブジェクトメタデータセットは、オーディオデータと異なるタイミングでクライアントに送信されるようにしてもよい。例えば、最初に構成情報やオブジェクトメタデータセットがクライアントへと送信された後、オーディオデータのみがクライアントへと送信されるようにしてもよい。
 以上のようにしてサーバ51は、オーディオデータ、構成情報、およびオブジェクトメタデータセットを含む符号化ビットストリームを生成し、クライアントへと送信する。このようにすることで、クライアントでは、コンテンツ制作者の意図に基づいた、音楽性のあるコンテンツ再生を実現することができる。
〈クライアントの構成例〉
 さらに、サーバ51から符号化ビットストリームを受信して自由視点コンテンツの再生のための再生オーディオデータを生成するクライアントは、例えば図17に示すように構成される。
 図17に示すクライアント101は、例えばパーソナルコンピュータやスマートフォンなどの情報処理装置からなる。クライアント101は、受聴者位置情報取得部111、通信部112、復号部113、位置算出部114、およびレンダリング処理部115を有している。
 受聴者位置情報取得部111は、受聴者となるユーザにより入力された、自由視点空間内における受聴者の絶対的な位置、すなわち受聴位置を示す受聴者位置情報を取得し、位置算出部114に供給する。
 例えば受聴者位置情報は、自由視点空間、すなわち共通絶対座標系における受聴位置を示す絶対座標などとされる。
 なお、受聴者位置情報取得部111は、自由視点空間(共通絶対座標系)における受聴者の顔の向き(方向)を示す受聴者向き情報も取得し、位置算出部114に供給するようにしてもよい。
 通信部112は、サーバ51から送信されてきた符号化ビットストリームを受信して復号部113に供給する。すなわち、通信部112は、符号化ビットストリームに含まれている、符号化された各オブジェクトのオーディオデータ、構成情報、およびオブジェクトメタデータセットを取得する取得部として機能する。
 復号部113は、通信部112から供給された符号化ビットストリーム、すなわち符号化された各オブジェクトのオーディオデータ、構成情報、およびオブジェクトメタデータセットに対する復号を行う。復号部113は、復号により得られた各オブジェクトのオーディオデータをレンダリング処理部115に供給するとともに、復号により得られた構成情報およびオブジェクトメタデータセットを位置算出部114に供給する。
 位置算出部114は、受聴者位置情報取得部111から供給された受聴者位置情報と、復号部113から供給された構成情報およびオブジェクトメタデータセットとに基づいて、受聴者(受聴位置)から見た各オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する。
 受聴者基準オブジェクト位置情報により示されるオブジェクトの位置は、受聴位置を原点(基準)とする極座標系の座標(極座標)により表現された、受聴者(受聴位置)から見たオブジェクトの相対的な位置を示す情報である。
 例えば受聴者基準オブジェクト位置情報は、全てのCVPまたは一部のCVPのCVP位置情報、およびオブジェクト位置情報と、受聴者位置情報とに基づく補間処理により算出される。補間処理は、ベクトル合成など、どのようなものであってもよい。なお、受聴者基準オブジェクト位置情報の算出には、CVP向き情報と受聴者向き情報も用いられるようにしてもよい。
 また、位置算出部114は、復号部113から供給されたオブジェクトメタデータセットに含まれているオブジェクトごとのゲインに基づいて、補間処理により受聴者位置情報により示される受聴位置における各オブジェクトの受聴者基準ゲインを算出する。受聴者基準ゲインは、受聴位置から見たときのオブジェクトのゲインである。
 位置算出部114は、受聴位置における各オブジェクトの受聴者基準ゲインと受聴者基準オブジェクト位置情報をレンダリング処理部115に供給する。
 レンダリング処理部115は、復号部113から供給された各オブジェクトのオーディオデータと、位置算出部114から供給された受聴者基準ゲインおよび受聴者基準オブジェクト位置情報とに基づいてレンダリング処理を行い、再生オーディオデータを生成する。
 レンダリング処理部115では、例えばVBAP(Vector Based Amplitude Panning)など、MPEG-Hで規定された極座標系でのレンダリング処理が行われて再生オーディオデータが生成される。この再生オーディオデータは、全オブジェクトの音を含む自由視点コンテンツの音を再生するためのオーディオデータである。
〈再生オーディオデータ生成処理の説明〉
 次に、クライアント101の動作について説明する。すなわち、以下、図18のフローチャートを参照して、クライアント101による再生オーディオデータ生成処理について説明する。
 ステップS81において通信部112は、サーバ51から送信されてきた符号化ビットストリームを受信して復号部113に供給する。
 ステップS82において復号部113は、通信部112から供給された符号化ビットストリームの復号を行う。
 復号部113は、復号により得られた各オブジェクトのオーディオデータをレンダリング処理部115に供給するとともに、復号により得られた構成情報およびオブジェクトメタデータセットを位置算出部114に供給する。
 なお、構成情報およびオブジェクトメタデータセットがオーディオデータとは異なるタイミングで受信されてもよい。
 ステップS83において受聴者位置情報取得部111は、現時刻における受聴者位置情報を取得し、位置算出部114に供給する。なお、受聴者位置情報取得部111は、受聴者向き情報も取得して位置算出部114に供給するようにしてもよい。
 ステップS84において位置算出部114は、受聴者位置情報取得部111から供給された受聴者位置情報と、復号部113から供給された構成情報およびオブジェクトメタデータセットとに基づいて補間処理を行う。
 具体的には、例えば位置算出部114は、補間処理としてベクトル合成を行うことで、受聴者基準オブジェクト位置情報を算出するとともに、補間処理により受聴者基準ゲインも算出し、それらの受聴者基準オブジェクト位置情報と受聴者基準ゲインをレンダリング処理部115に供給する。
 なお、補間処理を行うにあたり、現時刻(サンプル)が変化点間の時刻であり、オブジェクトメタデータに現時刻のオブジェクト位置情報やゲインが格納されていない場合がある。そのような場合、位置算出部114は、現時刻の直前および直後など、現時刻に近接する複数の変化点におけるオブジェクト位置情報やゲインに基づく補間処理により、現時刻における、CVPでのオブジェクト位置情報およびゲインを算出する。
 ステップS85においてレンダリング処理部115は、復号部113から供給された各オブジェクトのオーディオデータと、位置算出部114から供給された受聴者基準ゲインおよび受聴者基準オブジェクト位置情報とに基づいてレンダリング処理を行う。
 例えばレンダリング処理部115は、各オブジェクトの受聴者基準ゲインに基づいて、それらの各オブジェクトのオーディオデータに対するゲイン補正を行う。
 そして、レンダリング処理部115は、ゲイン補正後の各オブジェクトのオーディオデータと、受聴者基準オブジェクト位置情報とに基づいてVBAP等のレンダリング処理を行い、再生オーディオデータを生成する。
 レンダリング処理部115は、生成した再生オーディオデータをスピーカ等の後段のブロックへと出力する。
 このようにすることで、自由視点空間内の任意の位置を受聴位置とした、すなわち多視点での自由視点コンテンツ(6DoFコンテンツ)の再生が可能となる。
 ステップS86においてクライアント101は、処理を終了するか否かを判定する。例えばステップS86では、自由視点コンテンツの全フレームについて符号化ビットストリームを受信し、再生オーディオデータが生成された場合、処理を終了すると判定される。
 ステップS86において、まだ処理を終了しないと判定された場合、処理はステップS81に戻り、上述した処理が繰り返し行われる。
 これに対して、ステップS86において処理を終了すると判定された場合、クライアント101は各部の動作を終了させ、再生オーディオデータ生成処理は終了する。
 以上のようにしてクライアント101は、受聴者位置情報、構成情報、およびオブジェクトメタデータセットに基づいて補間処理を行い、受聴位置における受聴者基準ゲインおよび受聴者基準オブジェクト位置情報を算出する。
 このようにすることで、受聴者とオブジェクトの単なる物理的な関係ではなく、受聴位置に応じて、コンテンツ制作者の意図に基づいた、音楽性のあるコンテンツ再生を実現し、コンテンツの面白さを十分に受聴者に伝えることができる。
〈補間処理について〉
 ここで、図18のステップS84で行われる補間処理の具体的な例について説明する。特に、ここでは極座標ベクトル合成が行われる場合について説明する。
 例えば図19に示すように、自由視点空間(共通絶対座標系)における受聴者位置情報により示される任意の視点位置、すなわち現時刻の受聴者の位置が受聴位置LP11であるとする。なお、図19は自由視点空間を上方から俯瞰した様子を示している。
 例えば所定のオブジェクトを注目オブジェクトとすると、受聴位置LP11における再生オーディオデータをレンダリング処理により生成するには、受聴位置LP11を原点とする極座標系における注目オブジェクトの位置PosFを示す受聴者基準オブジェクト位置情報が必要である。
 そこで、位置算出部114は、例えば受聴位置LP11の周囲にある複数のCVPを補間処理に用いるCVPとして選択する。この例ではCVP0乃至CVP2の3つのCVPが、補間処理に用いるCVPとして選択されている。
 例えば受聴位置LP11を囲む位置にある、受聴位置LP11からの距離が最も短い3以上の所定個数のCVPが選択されるなど、CVPの選択はどのように行われてもよい。また、全てのCVPが用いられて補間処理が行われてもよい。このとき、位置算出部114は、構成情報に含まれているCVP位置情報を参照することで、共通絶対座標系における各CVPの位置を特定することができる。
 補間処理に用いるCVPとしてCVP0乃至CVP2が選択されると、位置算出部114は、例えば図20に示すオブジェクト3次元位置ベクトルを求める。
 図20では、図中、左側にはCVP0の極座標空間における注目オブジェクトの位置が示されている。この例では、位置Pos0がCVP0から見たときの注目オブジェクトの配置位置となっており、位置算出部114は、CVP0のCVP極座標系の原点O’を始点とし、位置Pos0を終点とするベクトルV11を、CVP0についてのオブジェクト3次元位置ベクトルとして算出する。
 また、図中、中央にはCVP1の極座標空間における注目オブジェクトの位置が示されている。この例では、位置Pos1がCVP1から見たときの注目オブジェクトの配置位置となっており、位置算出部114は、CVP1のCVP極座標系の原点O’を始点とし、位置Pos1を終点とするベクトルV12を、CVP1についてのオブジェクト3次元位置ベクトルとして算出する。
 同様に、図中、右側にはCVP2の極座標空間における注目オブジェクトの位置が示されている。この例では、位置Pos2がCVP2から見たときの注目オブジェクトの配置位置となっており、位置算出部114は、CVP2のCVP極座標系の原点O’を始点とし、位置Pos2を終点とするベクトルV13を、CVP2についてのオブジェクト3次元位置ベクトルとして算出する。
 ここで、オブジェクト3次元位置ベクトルの具体的な算出方法について説明する。
 例えばCVPiのCVP極座標系の原点O’を原点とし、そのCVPiのCVP極座標系のx軸、y軸、およびz軸を、そのままx軸、y軸、およびz軸とする絶対座標系(直交座標系)をCVP絶対座標系(CVP絶対座標空間)と称することとする。
 オブジェクト3次元位置ベクトルは、CVP絶対座標系の座標により表現されるベクトルである。
 例えばCVPiのCVP極座標系における注目オブジェクトの位置Posiを表す極座標が(Azi[i],Ele[i],rad[i])であるとする。これらのAzi[i]、Ele[i]、およびrad[i]は、図10を参照して説明したPosA[i][j][k]、PosB[i][j][k]、およびPosC[i][j][k]に対応する。また、CVPiから見たときの注目オブジェクトのゲインをg[i]と記すとする。このゲインg[i]は、図10を参照して説明したGain[i][j][k]に対応する。
 さらに、CVPiのCVP絶対座標系における注目オブジェクトの位置Posiを表す絶対座標が(vx[i],vy[i],vz[i])であるとする。
 この場合、CVPiについてのオブジェクト3次元位置ベクトルは、(vx[i],vy[i],vz[i])となり、このオブジェクト3次元位置ベクトルは、次式(2)により得ることができる。
Figure JPOXMLDOC01-appb-M000002
 位置算出部114は、構成情報に含まれているCVPiのCVP情報から、そのCVPiが参照するオブジェクトメタデータセットを示すメタデータセットインデックスを読み出す。また、位置算出部114は、読み出したメタデータセットインデックスにより示されるオブジェクトメタデータセットを構成する注目オブジェクトのオブジェクトメタデータから、CVPiにおける注目オブジェクトのオブジェクト位置情報およびゲインを読み出す。
 そして、位置算出部114は、CVPiにおける注目オブジェクトのオブジェクト位置情報に基づいて式(2)を計算し、オブジェクト3次元位置ベクトル(vx[i],vy[i],vz[i])を得る。このような式(2)の計算は、極座標から絶対座標への変換である。
 位置算出部114は、式(2)により図20に示したオブジェクト3次元位置ベクトルであるベクトルV11乃至ベクトルV13を求めると、例えば図21に示すように、それらのベクトルV11乃至ベクトルV13のベクトル和を求める。なお、図21において図20における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 この例では、ベクトルV11乃至ベクトルV13のベクトル和が求められて、その結果としてベクトルV21が得られている。すなわちベクトルV11乃至ベクトルV13に基づくベクトル合成により、ベクトルV21が求められる。
 より詳細には、位置PosFを示すベクトルV21の算出における各CVP(オブジェクト3次元位置ベクトル)の寄与率が重みとされて、それらの重みに基づきベクトルV11乃至ベクトルV13を合成することで、ベクトルV21が求められる。なお、図21では説明を簡単にするため、各CVPの寄与率が1とされている。
 このベクトルV21は、受聴位置LP11から見たときの絶対座標系における注目オブジェクトの位置PosFを示すベクトルとなっている。この絶対座標系は、受聴位置LP11を原点とし、受聴位置LP11からターゲット位置TPの方向をy軸の正の方向とする座標系である。
 例えば受聴位置LP11を原点とする絶対座標系における位置PosFを表す絶対座標を(vxF,vyF,vzF)とすると、ベクトルV21は(vxF,vyF,vzF)となる。
 また、受聴位置LP11から見たときの注目オブジェクトのゲインをgFとし、CVP0乃至CVP2の寄与率をdep[0]乃至dep[2]とすると、ベクトル(vxF,vyF,vzF)、すなわちベクトルV21およびゲインgFは、次式(3)により得ることができる。
Figure JPOXMLDOC01-appb-M000003
 このようにして得られたベクトルV21を、受聴位置LP11を原点とする極座標系における注目オブジェクトの位置PosFを示す極座標に変換することで、受聴者基準オブジェクト位置情報を得ることができる。また、式(3)により得られたゲインgFは、受聴者基準ゲインとなっている。
 本技術では、全てのCVPに共通する1つのターゲット位置TPを設定することで、簡単な計算により目的とする受聴者基準オブジェクト位置情報および受聴者基準ゲインを得ることができる。
 ここで、ベクトル合成についてさらに説明する。
 例えば図22の左側に示すように、自由視点空間上の位置LP21が受聴位置であるとする。また、自由視点空間上にCVP1乃至CVP5が設定され、それらのCVP1乃至CVP5が用いられて受聴者基準オブジェクト位置情報が求められるとする。なお、図22では、説明を簡単にするため、2次元平面上にCVPが配置されている例となっている。
 この例では、ターゲット位置TPを中心として、そのターゲット位置TPの周囲にCVP1乃至CVP5が位置している。また、各CVPのCVP極座標系のy軸の正の方向は、CVPからターゲット位置TPへと向かう方向となっている。
 さらに、CVP1乃至CVP5のそれぞれから見たときの同じ注目オブジェクトの位置のそれぞれが位置OBP1乃至位置OBP5となっている。すなわち、位置OBP1乃至位置OBP5を示すCVP極座標系の極座標が、CVP1乃至CVP5のオブジェクト位置情報である。
 このとき、各CVPについて、CVP極座標系のy軸が垂直方向、すなわち図中、上方向となるように軸回転を行ったとする。また、回転後の各CVPのCVP極座標系の原点O’が同じ1つのCVP極座標系の原点となるように注目オブジェクトを配置し直すと、CVP極座標系の原点から見た各CVPでの注目オブジェクトの位置OBP1乃至位置OBP5の関係は、図中、右側に示すようになる。すなわち、図中、右側には、各CVPを原点として正中面をY軸正方向としたときのオブジェクト位置を示している。
 各CVPのCVP極座標系では、正中面の方向がターゲット位置TPへと向かう方向であるという制約があるため、図中、右側に示す位置関係は容易に求めることができる。
 さらに、図中、右側においてCVPの位置、すなわち原点を始点とし、注目オブジェクトの位置OBP1乃至位置OBP5を終点とするベクトルを、ベクトルV41乃至ベクトルV45とする。これらのベクトルV41乃至ベクトルV45は、図20に示したベクトルV11乃至ベクトルV13に相当する。
 したがって、図23に示すように、各ベクトル(CVP)の寄与率を重みとして用いて、ベクトルV41乃至ベクトルV45を合成することで、受聴位置LP21から見たときの注目オブジェクトの位置を示すベクトルV51が得られる。このベクトルV51は、図21に示したベクトルV21に相当する。なお、図23では説明を簡単にするため、各CVPの寄与率が1とされている。
 また、ベクトル合成時の各CVPの寄与率は、例えば自由視点空間(共通絶対座標系)における受聴位置からCVPまでの距離の比により求めるようにしてもよい。
 具体的には、例えば図24に示すように受聴者位置情報により示される受聴位置が位置Fであり、補間処理に用いられる3つのCVPの位置が位置A乃至位置Cであるとする。また、共通絶対座標系における位置Fの絶対座標が(xf,yf,zf)であり、位置A、位置B、および位置Cの共通絶対座標系における絶対座標が(xa,ya,za)、(xb,yb,zb)、および(xc,yc,zc)であるとする。なお、各CVPの共通絶対座標系における位置を示す絶対座標は、構成情報に含まれているCVP位置情報により得ることができる。
 このとき、位置算出部114は、位置Fから位置Aまでの距離AFと、位置Fから位置Bまでの距離BFと、位置Fから位置Cまでの距離CFとの比(距離比)を求め、その距離比の逆数を各位置にあるCVPの寄与率の比(依存比)とする。
 すなわち、位置算出部114は、AF:BF:CF=a:b:cとし、位置A乃至位置Cにある各CVPの受聴位置(受聴者基準オブジェクト位置情報)に関する依存度をdp(AF)、dp(BF)、およびdp(CF)として、次式(4)を計算する。
Figure JPOXMLDOC01-appb-M000004
 但し、式(4)におけるa、b、およびcは、次式(5)の通りである。
Figure JPOXMLDOC01-appb-M000005
 さらに位置算出部114は、次式(6)を計算することで、式(4)に示した依存度dp(AF)、dp(BF)、およびdp(CF)を正規化し、正規化後の依存度であるndp(AF)、ndp(BF)、およびndp(CF)を最終的な寄与率として求める。なお、式(6)におけるa、b、およびcも式(5)により求まるものである。
Figure JPOXMLDOC01-appb-M000006
 このようにして得られた寄与率ndp(AF)乃至ndp(CF)は、式(3)の寄与率dep[0]乃至dep[2]に相当し、受聴位置からCVPまでの距離が短くなるほど、そのCVPの寄与率は1に近い値となる。なお、各CVPの寄与率は、上述の例に限らず、他のどのような方法で求められるようにしてもよい。
 位置算出部114は、受聴者位置情報とCVP位置情報に基づいて、受聴位置からCVPまでの距離の比を求めることで、各CVPの寄与率を算出する。
 以上のことをまとめると、まず、位置算出部114は、受聴者位置情報と、構成情報に含まれているCVP位置情報とに基づいて、補間処理に用いるCVPを選択する。なお、補間処理に用いるCVPは、全CVPのうちの受聴位置の周囲にある一部のCVPであってもよいし、全てのCVPが用いられて補間処理が行われてもよい。
 位置算出部114は、選択した各CVPについて、オブジェクト位置情報に基づきオブジェクト3次元位置ベクトルを算出する。
 例えばi番目のCVPiから見たj番目のオブジェクトについてのオブジェクト3次元位置ベクトルを(Obj_vector_x[i][j],Obj_vector_y[i][j],Obj_vector_z[i][j])とすると、オブジェクト3次元位置ベクトルは以下の式(7)を計算することで得ることができる。
 なお、ここではi番目のCVPiから見たj番目のオブジェクトのオブジェクト位置情報により示される極座標が(Azi[i][j],Ele[i][j],rad[i][j])であるとされている。
Figure JPOXMLDOC01-appb-M000007
 このような式(7)は、上述した式(2)と同様の式である。
 次に、位置算出部114は、受聴者位置情報と、構成情報に含まれている各CVPiのCVP位置情報とに基づいて、上述の式(4)乃至式(6)と同様の計算を行い、補間処理時の重み係数となる各CVPiの寄与率dp(i)を求める。寄与率dp(i)は、受聴位置からCVPiまでの距離の比、より詳細には距離の逆数比により定まる重み係数である。
 さらに位置算出部114は、式(7)の計算により得られたオブジェクト3次元位置ベクトルと、各CVPiの寄与率dp(i)と、CVPiから見たj番目のオブジェクトのゲインObj_gain[i][j]とに基づいて以下の式(8)を計算する。これにより、j番目のオブジェクトについての受聴者基準オブジェクト位置情報(Intp_x(j),Intp_y(j),Intp_z(j))および受聴者基準ゲインIntp_gain(j)が得られる。
Figure JPOXMLDOC01-appb-M000008
 式(8)では重み付きベクトル和が求められる。すなわち、寄与率dp(i)が乗算された各CVPiのオブジェクト3次元位置ベクトルの総和が受聴者基準オブジェクト位置情報として求められ、寄与率dp(i)が乗算された各CVPiのゲインの総和が受聴者基準ゲインとして求められる。この式(8)は上述した式(3)と同様の式である。
 なお、式(8)により求まる受聴者基準オブジェクト位置情報は、受聴位置を原点とし、受聴位置からターゲット位置TPへと向かう方向をy軸の正方向、つまり正中面の方向とする絶対座標系の絶対座標となっている。
 しかし、レンダリング処理部115では、極座標系でのレンダリング処理が行われるため、極座標表現の受聴者基準オブジェクト位置情報が必要となる。
 そこで位置算出部114は、式(8)により得られた絶対座標表現の受聴者基準オブジェクト位置情報(Intp_x(j),Intp_y(j),Intp_z(j))を、次式(9)を計算することで極座標表現の受聴者基準オブジェクト位置情報(Intp_azi(j),Intp_ele(j),Intp_rad(j))へと変換する。
Figure JPOXMLDOC01-appb-M000009
 位置算出部114は、このようにして得られた受聴者基準オブジェクト位置情報(Intp_azi(j),Intp_ele(j),Intp_rad(j))を最終的な受聴者基準オブジェクト位置情報としてレンダリング処理部115に出力する。
 なお、式(9)により得られる極座標表現の受聴者基準オブジェクト位置情報は、受聴位置を原点とし、受聴位置からターゲット位置TPへと向かう方向をy軸の正方向、つまり正中面の方向とする極座標系の極座標である。
 しかし、実際に受聴位置にいる受聴者は、必ずしもターゲット位置TPの方向を向いているとは限らない。そこで、受聴者位置情報取得部111で受聴者向き情報が得られる場合には、式(9)で得られた極座標表現の受聴者基準オブジェクト位置情報に対してさらに座標系の回転処理を施すなどして、最終的な受聴者基準オブジェクト位置情報としてもよい。
 この場合、例えば位置算出部114は、クライアント101側で既知となっているターゲット位置TPの位置と、受聴者位置情報と、受聴者向き情報とにより定まる回転角度だけ受聴位置から見たオブジェクトの位置を回転させる。このときの回転角度(補正量)は、自由視点空間において、受聴位置からターゲット位置TPへと向かう方向と、受聴者向き情報により示される受聴者の顔の向き(方向)とのなす角度である。
 なお、共通絶対座標系(自由視点空間)におけるターゲット位置TPは、位置算出部114において、複数のCVPについてのCVP位置情報とCVP向き情報から算出することができる。
 以上の処理により、最終的に、受聴者から見た、より正確なオブジェクトの位置を示す極座標表現の受聴者基準オブジェクト位置情報を得ることができる。
 ここで、図25および図26を参照して、受聴者の顔の向きに応じた受聴者基準オブジェクト位置情報の具体的な算出例について説明する。なお、図25および図26において互いに対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 例えば、自由視点空間(共通絶対座標系)のXY平面を見たときに、ターゲット位置TP、各CVP、および受聴位置LP41が図25に示すような配置とされていたとする。
 なお、この例ではハッチ(斜線)の施されていない各円はCVPを表しており、各CVPについてのCVP向き情報を構成するCVP Pitch情報により示される垂直方向の角度は0度であるとする。すなわち、自由視点空間が実質的に2次元平面であるとする。また、ここではターゲット位置TPが共通絶対座標系の原点Oの位置となっている。
 さらに、ターゲット位置TPと受聴位置LP41とを結ぶ直線を直線LN31とし、受聴者向き情報により示される受聴者の顔の向きを表す直線を直線LN32とし、受聴位置LP41を通り、共通絶対座標系のY軸と平行な直線を直線LN33とする。
 Y軸正方向を水平方向角度=0度とした場合の受聴者の顔の向きを示す水平方向角度、つまり直線LN32と直線LN33とのなす角度はθcur_azとなる。また、Y軸正方向を水平方向角度=0度とした場合における、任意の受聴位置LP41から見たターゲット位置TPの方向を示す水平方向角度、つまり直線LN31と直線LN33とのなす角度はθtp_azとなる。
 このとき、任意の受聴位置LP41からターゲット位置TPへと向かう方向を正中面の方向としているので、直線LN31と直線LN32とのなす角度を補正量θcor_azとして、その補正量θcor_azの分だけ、各オブジェクトについての受聴者基準オブジェクト位置情報の水平方向の角度Intp_azi(j)を補正すればよいことになる。すなわち、位置算出部114は、水平方向の角度Intp_azi(j)に対して補正量θcor_azを加算し、最終的な受聴者基準オブジェクト位置情報の水平方向の角度とする。
 補正量θcor_azは、以下の式(10)を計算することにより得ることができる。
Figure JPOXMLDOC01-appb-M000010
 また、例えば自由視点空間(共通絶対座標系)をXY平面と平行な方向から見たときに、ターゲット位置TPと受聴位置LP41が図26に示すような配置とされていたとする。
 ここで、ターゲット位置TPと受聴位置LP41とを結ぶ直線を直線LN41とし、受聴者向き情報により示される受聴者の顔の向きを表す直線を直線LN42とし、受聴位置LP41を通り、共通絶対座標系のXY平面と平行な直線を直線LN43とする。
 また、受聴者位置情報を構成する、共通絶対座標系における受聴位置LP41を示すZ座標がRzであり、共通絶対座標系におけるターゲット位置TPを示すZ座標がTPzであるとする。
 このとき、自由視点空間内での受聴位置LP41から見たターゲット位置TPの垂直方向の角度(仰角)の絶対値は、直線LN41と直線LN43とのなす角度θtp_elとなる。
 また、自由視点空間における受聴者の顔の向きを示す垂直方向の角度(仰角)は、水平線である直線LN43と、受聴者の顔の向きを示す直線LN42とのなす角度θcur_elとなる。この場合、受聴者が水平線よりも上を向いているときには、角度θcur_elは正の値となり、受聴者が水平線よりも下を向いているときには、角度θcur_elは負の値となる。
 この例では、直線LN41と直線LN42とのなす角度を補正量θcor_elとして、その補正量θcor_elの分だけ、各オブジェクトについての受聴者基準オブジェクト位置情報の垂直方向の角度Intp_ele(j)を補正すればよいことになる。すなわち、位置算出部114は、垂直方向の角度Intp_ele(j)に対して補正量θcor_elを加算し、最終的な受聴者基準オブジェクト位置情報の垂直方向の角度とする。
 補正量θcor_elは、以下の式(11)を計算することにより得ることができる。
Figure JPOXMLDOC01-appb-M000011
 なお、以上においては補間処理としてベクトル合成を用いる例について説明したが、その他、受聴位置の周囲にあるCVPを用いて、チェバの定理を利用した補間処理により受聴者基準オブジェクト位置情報を求めるようにしてもよい。
 例えばチェバの定理を利用した補間処理では、受聴位置を囲む3つのCVPにより三角形を構成するとともに、それらの3つのCVPに対応するオブジェクト位置により形成される三角形にチェバの定理を用いて写像を行うことで補間処理が実現される。
 この場合、CVPの三角形の外側の領域に受聴位置があると補間処理を行うことができないが、上述のベクトル合成の手法では受聴位置がCVPにより囲まれる領域外にある場合であっても、受聴者基準オブジェクト位置情報を求めることができる。また、ベクトル合成の手法では、より少ない処理量で簡単に受聴者基準オブジェクト位置情報を得ることができる。
〈第2の実施の形態〉
〈CVPグループについて〉
 ところで、本技術を用いることで、例えばライブ会場の建造物などによって閉ざされた空間内では受聴者に対して制作者が意図した視点の音場を再現しながら、受聴者の位置を自由に移動させることができる。さらに、受聴者がライブ会場の外へと移動する場合を考えると、ライブ会場内外での音場の差は大きく、ライブ会場内の音の多くはライブ会場外では聞こえないはずである。
 しかし、上述の第1の実施の形態の手法では、ライブ会場外の音を設定したとしてもライブ会場外の任意位置での音場再現時には、ライブ会場内のオブジェクト位置情報の組み合わせパターンの影響により、本来混入すべきでないライブ会場内の音が聞こえてしまうことがある。
 そこで、例えばライブ会場内、ライブ会場外、およびライブ会場内からライブ会場外へと遷移する領域といった3つの領域を設け、それぞれの領域で使用するCVPを分別するようにしてもよい。そのような場合、受聴者の位置に合わせて、受聴者が現在存在している領域が選択され、その領域に属するCVPのみが用いられて受聴者基準オブジェクト位置情報が求められる。なお、区分けする領域の数はクリエイタ側が任意に設定できるようにしてもよいし、各ライブ会場に応じて設定されるものであってもよい。
 そうすることで、ライブ会場内、ライブ会場外での両者間の音の混入を回避しながら、適切な受聴者基準オブジェクト位置情報および受聴者基準ゲインにより自由視点コンテンツのオーディオ再生を実現することができる。
 なお、自由視点空間を分割する領域の定義はいくつかの方法が考えられ、所定の中心座標からの同心円や多角形などが一般的な例として考えられる。また、それ以外の任意の数の様々な形の小領域などを設けるようにしてもよい。
 以下、自由視点空間を複数の領域に分けて補間処理に用いるCVPを選択する例について、具体的に説明する。
 例えば図27に示すように、自由視点空間が3つのグループ領域R11乃至グループ領域R13に分けられているとする。なお、図27において各小円はCVPを表している。
 グループ領域R11は円形状の領域(空間)であり、グループ領域R12はグループ領域R11の外側を囲む円環状の領域であり、グループ領域R13はグループ領域R12の外側を囲む円環状の領域である。
 この例では、グループ領域R12は、グループ領域R11とグループ領域R13の間の遷移区間の領域とされている。したがって、例えばライブ会場内の領域(空間)をグループ領域R11とし、ライブ会場外の領域をグループ領域R13とし、ライブ会場内とライブ会場外の間の領域をグループ領域R12とすることができる。なお、各グループ領域は互いに重なる部分(領域)がないように設定される。
 この例では、受聴者の位置に応じて、補間処理に用いられるCVPがグループ化される。換言すれば、制作者がグループ領域の範囲を指定することで、グループ領域によりCVPがグループ化される。
 例えば自由視点空間内に配置されたCVPが、グループ領域R11に対応するCVPグループGP1、グループ領域R12に対応するCVPグループGP2、およびグループ領域R13に対応するCVPグループGP3の少なくとも何れか1つに属すようにグループ化が行われる。この場合、1つのCVPは複数の異なるCVPグループに属すことが可能である。
 具体的には、グループ領域R11内にあるCVPはCVPグループGP1に属し、グループ領域R12内にあるCVPはCVPグループGP2に属し、グループ領域R13内にあるCVPはCVPグループGP3に属すようにグループ化される。
 したがって、例えばグループ領域R11内の位置P61にあるCVPはCVPグループGP1に属し、グループ領域R11とグループ領域R12の境界位置である位置P62にあるCVPは、CVPグループGP1とCVPグループGP2に属す。
 また、グループ領域R12とグループ領域R13の境界位置である位置P63にあるCVPは、CVPグループGP2とCVPグループGP3に属し、グループ領域R13内の位置P64にあるCVPはCVPグループGP3に属す。
 このようなグループ化を図11に示した自由視点空間としてのライブ会場に適用すると、例えば図28に示すようになる。
 この例では、例えば図中の黒い円で表されたCVP1乃至CVP7はライブ会場内に対応するグループ領域(グループ空間)に含まれており、図中の白い円で表されたCVPはライブ会場外に対応するグループ領域に含まれている。
 なお、例えば構成情報において、特定のライブ会場内のCVPとライブ会場外のCVPでリンクが張られる(関連付けられる)ようにすることもできる。そのような場合、例えば受聴者がそれらの2つのCVP間にあるときには、それらの2つのCVPを用いてベクトル合成により受聴者基準オブジェクト位置情報を求めるようにすることができる。また、この場合、所定のミュートとするオブジェクトのゲインは0とされるようにしてもよい。
 図29および図30を参照して、図28の例をさらに具体的に説明する。なお、図29および図30において互いに対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 例えば図29に示すように、自由視点空間における共通絶対座標系の原点Oを中心とする円形状の領域がライブ会場内の領域となっているとする。
 特にここでは点線で描かれた円形状の領域R31がライブ会場内の領域となっており、領域R31外の領域がライブ会場外の領域となっている。
 また、ライブ会場内にはCVP1乃至CVP15が配置されており、ライブ会場外にはCVP16乃至CVP23が配置されている。
 このとき、例えば原点Oを中心とする半径Area1_borderの円内部の領域が1つのグループ領域R41とされ、そのグループ領域R41内に含まれているCVP1乃至CVP15からなるCVPのグループが、グループ領域R41に対応するCVPグループGPIとされる。グループ領域R41は、ライブ会場内の領域である。
 また、図中、右側に示すように原点Oを中心とする半径Area1_borderの円の境界から、原点Oを中心とする半径Area2_borderの円の境界までの間の領域がグループ領域R42とされる。このグループ領域R42は、ライブ会場内とライブ会場外の間の遷移領域である。
 グループ領域R42内に含まれているCVP8乃至CVP23からなるCVPのグループが、グループ領域R42に対応するCVPグループGPMとされる。
 特にこの例では、CVP8乃至CVP15は、グループ領域R41とグループ領域R42の境界に位置しているため、これらのCVP8乃至CVP15は、CVPグループGPIにもCVPグループGPMにも属している。
 さらに、図30に示すように、原点Oを中心とする半径Area2_borderの円の境界を含む、その円の外側の領域がグループ領域R43とされる。グループ領域R43は、ライブ会場外の領域である。
 グループ領域R43内に含まれているCVP16乃至CVP23からなるCVPのグループが、グループ領域R43に対応するCVPグループGPOとされる。特にこの例では、CVP16乃至CVP23は、グループ領域R42とグループ領域R43の境界に位置しているため、これらのCVP16乃至CVP23は、CVPグループGPMにもCVPグループGPOにも属している。
 以上のようにグループ領域とCVPグループが設定された場合、位置算出部114は、以下のようにして補間処理を行い、受聴者基準オブジェクト位置情報や受聴者基準ゲインを求める。
 すなわち、例えば図29の左側に示すように、受聴位置がグループ領域R41内にあるときには、位置算出部114はCVPグループGPIに属すCVP1乃至CVP15の一部または全部を利用して補間処理を行う。
 また、例えば図29の右側に示すように、受聴位置がグループ領域R42内にあるときには、位置算出部114はCVPグループGPMに属すCVP8乃至CVP23の一部または全部を利用して補間処理を行う。
 さらに、例えば図30に示すように、受聴位置がグループ領域R43内にあるときには、位置算出部114はCVPグループGPOに属すCVP16乃至CVP23の一部または全部を利用して補間処理を行う。
 なお、以上においては同心円状にグループ領域が定められる例について説明したが、例えば図31に示すように、互いに中心位置が異なり、互いに重なる遷移領域をもつ円形状の領域R71と領域R72を設定してもよい。
 この例では、領域R71内にCVP1乃至CVP7が含まれており、領域R72内にCVP5、CVP6、およびCVP8乃至CVP12が含まれている。また、領域R71と領域R72が重なる領域である遷移領域内には、CVP5およびCVP6が含まれている。
 ここで、領域R71内の遷移領域を除く領域、領域R72内の遷移領域を除く領域、および遷移領域をグループ領域としたとする。
 そのような場合、例えば受聴位置が領域R71における遷移領域を除く領域内にあるときには、CVP1乃至CVP7の一部または全部が用いられて補間処理が行われる。
 また、例えば受聴位置が遷移領域内にあるときには、CVP5およびCVP6が用いられて補間処理が行われる。さらに受聴位置が領域R72における遷移領域を除く領域内にあるときにはCVP5、CVP6、およびCVP8乃至CVP12の一部または全部が用いられて補間処理が行われる。
 以上のように制作者がグループ領域、すなわちCVPグループを指定可能な場合、構成情報のフォーマットは、例えば図32に示すようになる。
 図32に示す例では、基本的には図7における場合と同様のフォーマットとなっており、構成情報には、フレーム長インデックス「FrameLengthIndex」、オブジェクト数情報「NumOfObjects」、CVP数情報「NumOfControlViewpoints」、メタデータセット数情報「NumOfObjectMetaSets」、CVP情報「ControlViewpointInfo(i)」、および座標モード情報「CoordinateMode[i][j]」が含まれている。
 さらに図32に示す構成情報には、CVPグループ情報存在フラグ「cvp_group_present」も含まれている。
 このCVPグループ情報存在フラグ「cvp_group_present」は、CVPグループに関する情報であるCVPグループ情報「CvpGroupInfo2D()」が構成情報に含まれているか否かを示すフラグ情報である。
 例えばCVPグループ情報存在フラグの値が「1」である場合、構成情報にはCVPグループ情報「CvpGroupInfo2D()」が格納されており、CVPグループ情報存在フラグの値が「0」である場合、構成情報にはCVPグループ情報「CvpGroupInfo2D()」は格納されていない。
 また、構成情報に含まれるCVPグループ情報「CvpGroupInfo2D()」のフォーマットは、例えば図33に示すようになっている。なお、ここでは、説明を簡単にするため、自由視点空間が2次元の領域(空間)である場合を例として説明するが、図33に示すCVPグループ情報を自由視点空間が3次元の領域(空間)である場合に拡張することも勿論可能である。
 この例では、「numOfCVPGroup」は、CVPグループの数、すなわちCVPグループ数を示しており、CVPグループ情報には、CVPグループの数だけ以下において説明するCVPグループに関する情報が格納されている。
 「vertex_idx」は頂点数インデックスを示している。頂点数インデックスは、CVPグループに対応するグループ領域が有する頂点の数を示すインデックス情報である。
 例えば頂点数インデックスの値が0乃至5である場合、グループ領域は、頂点数インデックスの値に3を加算した頂点数の多角形の領域とされる。また、例えば頂点数インデックスの値が255である場合、グループ領域は円形状の領域とされる。
 頂点数インデックスの値が255である場合、すなわちグループ領域の形状タイプが円である場合、CVPグループ情報には円形状であるグループ領域(グループ領域の境界)を特定するための情報として、正規化X座標「center_x[i]」、正規化Y座標「center_y[i]」、および正規化半径「radius[i]」が格納されている。
 例えば正規化X座標「center_x[i]」および正規化Y座標「center_y[i]」は、共通絶対座標系(自由視点空間)におけるグループ領域である円の中心のX座標およびY座標を示す情報であり、正規化半径「radius[i]」はグループ領域である円の半径である。これにより、自由視点空間において、どの領域がグループ領域となっているかを特定することができる。
 また、頂点数インデックスの値が0乃至5の何れかである場合、すなわちグループ領域が多角形の領域である場合、CVPグループ情報にはグループ領域の各頂点について正規化X座標「border_pos_x[j]」および正規化Y座標「border_pos_y[j]」が格納されている。
 例えば正規化X座標「border_pos_x[j]」および正規化Y座標「border_pos_y[j]」は、共通絶対座標系(自由視点空間)におけるグループ領域である多角形の領域のj番目の頂点のX座標およびY座標を示す情報である。
 これらの各頂点の正規化X座標および正規化Y座標から、自由視点空間におけるグループ領域としての多角形の領域を特定することが可能である。
 また、CVPグループ情報には、CVPグループに属すCVPの数を示すグループ内CVP数情報「numOfCVP_ingroup[i]」が格納されており、さらにグループ内CVP数情報により示される数だけグループ内CVPインデックス「CvpIndex_ingroup[i][j]」が格納されている。グループ内CVPインデックス「CvpIndex_ingroup[i][j]」は、i番目のCVPグループに属すj番目のCVPを識別するインデックス情報である。
 例えば、所定のCVPを示すグループ内CVPインデックスの値は、CVP情報に含まれている、その所定のCVPを示すCVPインデックスの値と同じ値とすることができる。
 以上のように、CVPグループ情報には、CVPグループ数、グループ領域の形状タイプを示す頂点数インデックス、グループ領域を特定するための情報、グループ内CVP数情報、およびグループ内CVPインデックスが含まれている。特に、グループ領域を特定するための情報は、グループ領域の境界を特定するための情報であるといえる。
 なお、図32に示したフォーマットの構成情報が生成される場合においても、情報処理装置11では基本的には図14を参照して説明したコンテンツ制作処理が行われる。
 但し、この場合、例えばステップS11やステップS16など、任意のタイミングで制作者によりグループ領域やCVPグループに属すCVPを指定する操作が行われる。
 すると、制御部26は制作者の操作に応じて、グループ領域やCVPグループに属すCVPを決定(設定)する。そして、ステップS23では、制御部26は、グループ領域やCVPグループに属すCVPの設定結果に基づいて、適宜、図33に示したCVPグループ情報が含まれる、図32に示した構成情報を生成する。
〈再生オーディオデータ生成処理の説明〉
 また、構成情報が図32に示したフォーマットとされる場合、クライアント101では、例えば図34に示す再生オーディオデータ生成処理が行われる。
 以下、図34のフローチャートを参照して、クライアント101による再生オーディオデータ生成処理について説明する。
 なお、ステップS121乃至ステップS123の処理は、図18のステップS81乃至ステップS83の処理と同様であるので、その説明は省略する。
 ステップS124において位置算出部114は、受聴者位置情報と構成情報に基づいて、受聴位置が含まれるグループ領域に対応するCVPグループを特定する。
 例えば位置算出部114は、構成情報内のCVPグループ情報に含まれている、各グループ領域となっている領域を特定するための情報である正規化X座標や正規化Y座標に基づいて、受聴位置を含むグループ領域(以下、対象グループ領域とも称する)を特定する。
 なお、受聴位置が複数のグループ領域の境界位置にあるときには、それらの複数のグループ領域が対象グループ領域とされる。
 このようにして対象グループ領域が特定されると、その対象グループ領域に対応するCVPグループが特定されたことになる。
 ステップS125において位置算出部114は、特定されたCVPグループに属す各CVPを対象CVPとして、それらの対象CVPに関連付けられたオブジェクトメタデータセットを取得する。
 例えば位置算出部114は、対象グループ領域に対応するCVPグループのグループ内CVPインデックスをCVPグループ情報から読み出すことで、CVPグループに属すCVP、すなわち対象CVPを特定する。
 また、位置算出部114は、対象CVPについてのメタデータセットインデックスをCVP情報から読み出すことで、各対象CVPに関連付けられたオブジェクトメタデータセットを特定し、その特定されたオブジェクトメタデータセットを読み出す。
 ステップS125の処理が行われると、その後、ステップS126乃至ステップS128の処理が行われて再生オーディオデータ生成処理は終了するが、これらの処理は図18のステップS84乃至ステップS86の処理と同様であるので、その説明は省略する。
 但し、ステップS126では、ステップS124およびステップS125により特定された対象CVPのうちの一部または全部が用いられて補間処理が行われる。すなわち、対象CVPのCVP位置情報やオブジェクト位置情報が用いられて、受聴者基準オブジェクト位置情報や受聴者基準ゲインが算出される。
 これにより、例えば受聴者がライブ会場内にいる場合や、受聴者がライブ会場外にいる場合など、受聴者の位置に応じた適切な音場を再現する再生オーディオデータを得ることができる。
 以上のようにしてクライアント101は、受聴者位置情報、構成情報、およびオブジェクトメタデータセットに基づいて、適切なCVPを用いた補間処理を行い、受聴位置における受聴者基準ゲインおよび受聴者基準オブジェクト位置情報を算出する。
 このようにすることで、コンテンツ制作者の意図に基づいた、音楽性のあるコンテンツ再生を実現し、コンテンツの面白さを十分に受聴者に伝えることができる。
〈第3の実施の形態〉
〈オブジェクト位置情報とゲインの補間処理について〉
 ところで、自由視点空間内には、コンテンツ制作者が予め設定した複数のCVPが存在する。以上においては、具体的な一例として受聴者基準オブジェクト位置情報や受聴者基準ゲインを求めるための補間処理に、現在の受聴者の任意位置(受聴位置)からそれぞれのCVPまでの距離の逆数比が用いられる例について説明した。
 そのような例において、例えば受聴位置からCVPまでの距離が離れているCVPについて、オブジェクトのゲインが大きい値に設定されているとする。
 この場合、本来は距離が離れているにもかかわらず、受聴位置から遠い位置にあるCVPについてのオブジェクトのゲインによる、受聴者基準ゲイン、つまり受聴者が聴取するオブジェクトの音に対する聴感上の影響を少なくすることができないことがある。そうすると、結果として受聴者に対して提示されるオブジェクトの音の音像移動が不自然になり、コンテンツの音の品質が低下してしまう。
 以下では、このような受聴位置とCVPの位置関係によって不自然な音像移動が生じてしまうケースをケースAとも称することとする。
 また、コンテンツ制作者が特定のCVPでのオブジェクトのゲインを0としたときに、そのオブジェクトのオブジェクト位置を意識しなくなり、結果としてオブジェクト位置が放置された状態となることがある。すなわち、コンテンツ制作者によりゲインが0とされたオブジェクトのオブジェクト位置の設定が行われずに放置され、結果としてオブジェクト位置情報が適切でない値に設定されてしまうことがある。
 しかし、そのような放置されたオブジェクト位置情報も、受聴者基準オブジェクト位置情報を求めるための補間処理に用いられる。そうすると、放置された適切でないオブジェクト位置情報の影響によって、受聴者から見たオブジェクトの位置が、コンテンツ制作者の意図しない位置となってしまうこともある。
 以下では、受聴者基準オブジェクト位置情報により示される、受聴者から見たオブジェクトの位置が、放置されたオブジェクト位置の影響によってコンテンツ制作者の意図しない位置となってしまうケースをケースBとも称することとする。
 以上のようなケースAやケースBの発生を抑制することができれば、コンテンツ制作者の意図に基づいた、より高品質なコンテンツ再生を実現することができる。
 そこで、第3の実施の形態では、このようなケースAやケースBの発生を抑制することができるようにした。
 例えば、現在の受聴位置から遠く離れているCVPでのオブジェクトのゲインが大きいと、受聴者基準ゲインへの影響が生じてしまうというケースAに対しては、全CVPを用いて距離のN乗で感度を調整する感度係数が適用されるようにした。
 これにより、受聴者基準ゲインを求めるための補間処理において、各CVPの依存度(寄与率)に重み付けが行われるようになる。以下、感度係数を適用することによりケースAの発生を抑制する手法を、特に手法SLA1とも称することとする。
 感度係数を適切に制御することで、現在の受聴位置から遠く離れているCVPの影響度をさらに低減させることが可能となり、ケースAの発生を抑制することができる。これにより、例えば受聴者がCVP間を移動するときなどに、不自然なゲイン変動が発生してしまうことを抑制することができる。
 なお、感度係数の値、すなわちNの値はFloat値などとされる。コンテンツ制作者の意図としてCVPごとの感度係数の値が構成情報にデフォルト値として記述され、クライアント101に伝送されるようにしてもよいし、感度係数の値が受聴者側で設定されるようにしてもよい。
 また、CVPごとの感度係数は全てのオブジェクトで共通の値が用いられてもよいが、各CVPについて、コンテンツ制作者の意図によりオブジェクトごとに個別に感度係数が設定されるようにしてもよい。さらに、1または複数のCVPからなるグループごとに、全てのオブジェクトで共通の感度係数やオブジェクトごとの感度係数が設定されるようにしてもよい。
 一方、ゲインが0である等の放置状態のオブジェクトのオブジェクト位置情報を、補間処理におけるベクトル和の要素に入れてしまうと、コンテンツ制作者の意図に沿わない受聴者基準オブジェクト位置情報が算出されてしまうというケースBに対しては、ゲインが寄与材料に追加されたり、ゲインが0よりも大きいオブジェクトのみが用いられたりするようにした。すなわち、以下に示す手法SLB1または手法SLB2によりケースBの発生が抑制されるようにした。
 手法SLB1では、CVPでのゲインが所定の閾値以下であるオブジェクトは、ゲインが0であるオブジェクト(以下、ミュートオブジェクトとも称する)とみなされる。そして、ミュートオブジェクトとされたCVPについては、そのCVPでのオブジェクト位置情報は補間処理に用いられないようにされる。すなわち、補間処理に用いられるCVPの対象から除外される。
 手法SLB2では、コンテンツ制作者等により指定された、オブジェクトのゲインが0であるか否か、すなわちミュートオブジェクトであるか否かを示すMuteフラグ(ミュートフラグ)が用いられる。
 具体的には、MuteフラグによりミュートオブジェクトとなっているCVPについては、そのCVPでのオブジェクト位置情報は補間処理に用いられないようにされる。すなわち、予め使用されないと分かっているオブジェクトに対応するCVPは、補間処理に用いられるCVPの対象から除外される。
 このような手法SLB1や手法SLB2によれば、放置されたゲインが0とみなされるオブジェクトのCVPを処理の対象から除外することで、ゲインが0とみなされないオブジェクトのCVPのみによる正しい補間処理を行うことができるようになる。
 特に手法SLB2では、手法SLB1においてフレームごとに行われる、全CVPの各オブジェクトについて行われる、ゲインが0とみなせるかの確認の処理を回避することができ、より処理負荷を軽減させることができる。
〈CVP配置パターンPTT1〉
 次に、上述のケースAやケースBが発生する実際のCVPの配置パターンの例について説明する。
 まず、図35に1つ目のCVPの配置パターン(以下、CVP配置パターンPTT1とも称する)を示す。この例では各CVPの前方にオブジェクトが配置される。
 図35では、数値が記された円は1つのCVPを表しており、特にCVPを表す円内に記された数値は何番目のCVPであるかを示している。以下では、数値k(但し、k=1,2,…,6)が記されたk番目のCVPを特にCVPkとも称することとする。
 この例では、自由視点空間内にある1つのオブジェクトOBJ71に注目するものとする。
 例えば自由視点空間に配置されたCVP1乃至CVP6では、オブジェクトOBJ71について、各CVPから見たときのオブジェクト位置情報とゲインがそれぞれ定められている。
 いま、所定の受聴位置LP71について、CVP1乃至CVP6でのオブジェクト位置情報とゲインに基づき上述した式(7)乃至式(11)により補間処理を行い、受聴者基準オブジェクト位置情報および受聴者基準ゲインを求めることを考える。
 そのような場合、例えばCVP1乃至CVP6において、オブジェクトOBJ71のゲインが0以外の同じ値であるときには、上述のケースAもケースBも発生しない。
 これに対して、例えばCVP1乃至CVP3でのオブジェクトOBJ71のゲインが、CVP5およびCVP6でのオブジェクトOBJ71のゲインに比べて大きいときには、ケースAが発生してしまうことがある。
 これは、受聴位置LP71からCVP1乃至CVP3までの距離は長い(遠い)ので、それらのCVPの按分比率は低い、すなわち式(4)乃至式(6)と同様の計算により求まる寄与率dp(i)は小さいが、もともとのゲインが大きいので受聴者基準ゲインに大きく影響してしまうからである。
 また、例えばCVP6ではオブジェクトOBJ71がミュートオブジェクトとされているが、オブジェクト位置情報としての水平方向の角度Azimuthが-180度など、他のCVPでの角度Azimuthと大きく異なるときには、ケースBが発生してしまう。これは、受聴者基準オブジェクト位置情報の算出時には、受聴位置LP71に最も近いCVP6でのオブジェクト位置情報の影響は大きくなるためである。
 ここで、自由視点空間が実質的に2次元平面であり、受聴者やCVPの位置関係が図35に示した関係(CVP配置パターンPTT1)となるときの共通絶対座標系におけるCVP等の配置例を図36に示す。なお、図36において図35における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 図36では、横軸および縦軸は、共通絶対座標系におけるX軸およびY軸を示している。また、共通絶対座標系の位置(座標)を(x,y)で表すとすると、例えば受聴位置LP71は(0,-0.8)により表される。
 このような共通絶対座標系における配置に対して、ケースAやケースBが発生するときの各CVPでのオブジェクトOBJ71のオブジェクト位置とゲイン、およびオブジェクトOBJ71の受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を図37に示す。なお、図37の例では、上述の式(4)乃至式(6)と同様の計算により寄与率dp(i)が求められている。
 図37では、文字「CaseA」の欄には、ケースAが発生するときのオブジェクトOBJ71のオブジェクト位置とゲインの例が示されている。
 特に「azi(0)」はオブジェクトOBJ71のオブジェクト位置情報としての角度Azimuthを表しており、「Gain(0)」はオブジェクトOBJ71のゲインを表している。
 この例では、CVP1乃至CVP3でのゲイン(Gain(0))は「1」となっており、CVP5およびCVP6でのゲイン(Gain(0))は「0.2」となっている。すなわち、受聴位置LP71から遠いCVP1乃至CVP3でのゲインが、受聴位置LP71から近いCVP5およびCVP6でのゲインよりも大きくなっている。そのため、受聴位置LP71における受聴者基準ゲイン(Gain(0))は「0.37501」となっている。
 この例では、受聴位置LP71はゲインが0.2であるCVP5とCVP6の間に位置している。そのため、受聴者基準ゲインは、それらのCVP5とCVP6でのゲイン「0.2」に近い値となることが理想的であるが、実際にはゲインの大きいCVP1乃至CVP3の影響により、「0.37501」という「0.2」よりも大きな値となってしまう。
 また、文字「CaseB」の欄には、ケースBが発生するときのオブジェクトOBJ71のオブジェクト位置とゲインの例が示されている。
 特に「azi(1)」はオブジェクトOBJ71のオブジェクト位置情報としての角度Azimuthを表しており、「Gain(1)」はオブジェクトOBJ71のゲインを表している。
 この例では、CVP1乃至CVP5でのゲイン(Gain(1))および角度Azimuth(azi(1))は、それぞれ「1」および「0」となっている。すなわち、CVP1乃至CVP5では、オブジェクトOBJ71はミュートオブジェクトとはなっていない。
 これに対して、CVP6でのゲイン(Gain(1))および角度Azimuth(azi(1))は、それぞれ「0」および「120」となっている。すなわち、CVP6では、オブジェクトOBJ71はミュートオブジェクトとなっている。
 また、受聴位置LP71における受聴者基準オブジェクト位置情報としての角度Azimuth(azi(1))は、「67.87193」となっている。
 この例では、CVP6ではゲイン(Gain(1))が「0」であるので、そのCVP6での角度Azimuth(azi(1))「120」は無視してほしいが、実際にはCVP6での角度Azimuthが受聴者基準オブジェクト位置情報の算出に用いられてしまう。そのため、受聴位置LP71での角度Azimuth(azi(1))は、「0」よりも大幅に大きい「67.87193」となってしまっている。
〈CVP配置パターンPTT2〉
 次に、2つ目のCVPの配置パターン(以下、CVP配置パターンPTT2とも称する)を図38に示す。この例ではオブジェクトを囲むように各CVPが配置される。
 図38においても図35における場合と同様に、数値が記された円は1つのCVPを表しており、数値k(但し、k=1,2,…,8)が記されたk番目のCVPを特にCVPkとも称することとする。
 この例では、1つのオブジェクトOBJ81に注目し、受聴位置LP81について、CVP1乃至CVP8でのオブジェクト位置情報とゲインに基づき上述した式(7)乃至式(11)により補間処理を行うことを考える。
 そのような場合、例えばCVP1乃至CVP8において、オブジェクトOBJ81のゲインが0以外の同じ値であるときには、上述のケースAもケースBも発生しない。
 これに対して、例えばCVP1、CVP2、CVP6、CVP8でのオブジェクトOBJ81のゲインが、CVP3およびCVP4でのオブジェクトOBJ81のゲインに比べて大きいときには、ケースAが発生してしまうことがある。
 これは、受聴位置LP81からCVP1、CVP2、CVP6、CVP8までの距離は長い(遠い)ので、それらのCVPの按分比率は低いが、もともとのゲインが大きいので受聴者基準ゲインに大きく影響してしまうからである。
 また、例えばCVP3ではオブジェクトOBJ81がミュートオブジェクトとされているが、オブジェクト位置情報としての水平方向の角度Azimuthが-180度など、他のCVPでの角度Azimuthと大きく異なるときには、ケースBが発生してしまう。これは、受聴者基準オブジェクト位置情報の算出時には、受聴位置LP81に最も近いCVP3でのオブジェクト位置情報の影響は大きくなるためである。
 ここで、自由視点空間が実質的に2次元平面であり、受聴者やCVPの位置関係が図38に示した関係(CVP配置パターンPTT2)となるときの共通絶対座標系におけるCVP等の配置例を図39に示す。なお、図39において図38における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 図39では、横軸および縦軸は、共通絶対座標系におけるX軸およびY軸を示している。また、共通絶対座標系の位置(座標)を(x,y)で表すとすると、例えば受聴位置LP81は(-0.1768,0.176777)により表される。
 このような共通絶対座標系における配置に対して、ケースAやケースBが発生するときの各CVPでのオブジェクトOBJ81のオブジェクト位置とゲイン、およびオブジェクトOBJ81の受聴者基準オブジェクト位置情報と受聴者基準ゲインの例を図40に示す。なお、図40の例では、上述の式(4)乃至式(6)と同様の計算により寄与率dp(i)が求められている。
 図40では、文字「CaseA」の欄には、ケースAが発生するときのオブジェクトOBJ81のオブジェクト位置とゲインの例が示されている。
 特に「azi(0)」はオブジェクトOBJ81のオブジェクト位置情報としての角度Azimuthを表しており、「Gain(0)」はオブジェクトOBJ81のゲインを表している。
 この例では、CVP1、CVP2、CVP6、CVP8でのゲイン(Gain(0))は「1」となっており、CVP3およびCVP4でのゲイン(Gain(0))は「0.2」となっている。そのため、受聴位置LP81における受聴者基準ゲイン(Gain(0))は「0.501194」となっている。
 この例では、受聴位置LP81はゲインが0.2であるCVP3とCVP4の間に位置している。そのため、受聴者基準ゲインは、それらのCVP3とCVP4でのゲイン「0.2」に近い値となることが理想的であるが、実際にはゲインの大きいCVP1やCVP2などの影響により、「0.501194」という「0.2」よりも大きな値となってしまう。
 また、文字「CaseB」の欄には、ケースBが発生するときのオブジェクトOBJ81のオブジェクト位置とゲインの例が示されている。
 特に「azi(1)」はオブジェクトOBJ81のオブジェクト位置情報としての角度Azimuthを表しており、「Gain(1)」はオブジェクトOBJ81のゲインを表している。
 この例では、CVP3以外のCVPでのゲイン(Gain(1))および角度Azimuth(azi(1))は、それぞれ「1」および「0」となっている。すなわち、CVP3以外のCVPでは、オブジェクトOBJ81はミュートオブジェクトとはなっていない。
 これに対して、CVP3でのゲイン(Gain(1))および角度Azimuth(azi(1))は、それぞれ「0」および「120」となっている。すなわち、CVP3では、オブジェクトOBJ81はミュートオブジェクトとなっている。
 また、受聴位置LP81における受聴者基準オブジェクト位置情報としての角度Azimuth(azi(1))は、「20.05743」となっている。
 この例では、CVP3ではゲイン(Gain(1))が「0」であるので、そのCVP3での角度Azimuth(azi(1))「120」は無視してほしいが、実際にはCVP3での角度Azimuthが受聴者基準オブジェクト位置情報の算出に用いられてしまう。そのため、受聴位置LP81での角度Azimuth(azi(1))は、「0」よりも大幅に大きい「20.05743」となってしまっている。
 この実施の形態では、手法SLA1や手法SLB1、手法SLB2によって、以上のようなケースAやケースBの発生が抑制される。
 手法SLA1では、感度係数をNとし、受聴位置からCVPまでの距離のN乗の逆数に基づいて寄与率dp(i)が求められる。このとき、例えばコンテンツ制作者が任意の正の実数を感度係数として指定し、構成情報に感度係数が格納されるようにしてもよいし、受聴者等により感度係数の変更が許可されている場合には、クライアント101側で感度係数の設定が行われるようにしてもよい。
 また、手法SLB1では、各フレームにおいてオブジェクトごとにCVPでのオブジェクトのゲインが0、または0とみなすことができる値であるかが判定される。そして、オブジェクトのゲインが0、または0とみなすことができる値であるCVPは、補間処理に用いられないようにされる。すなわち、CVPが補間処理におけるベクトル和の演算対象から除外される。
 手法SLB2では、構成情報に各CVPについて、オブジェクトごとにミュートオブジェクトであるかをシグナリングするMuteフラグが格納される。そして、Muteフラグが1であるオブジェクト、すなわちミュートオブジェクトとなっているCVPは、補間処理におけるベクトル和の演算対象から除外される。
 これらの手法SLB1や手法SLB2では、例えば図41に示すように補間処理に用いられるCVPが選択される。
 すなわち、例えば手法SLB1や手法SLB2を適用しない場合には、図中、左側に示すように受聴位置LP91の受聴者基準オブジェクト位置情報を求める補間処理では、その受聴位置LP91の周囲にあるCVP1乃至CVP4が全て用いられていた。すなわち、CVP1乃至CVP4の各CVPのオブジェクト位置情報が用いられて補間処理が行われていた。
 これに対して、手法SLB1や手法SLB2を適用する場合には、図中、右側に示すように、ミュートオブジェクトとされたCVP4は補間処理の対象から除外される。すなわち、受聴位置LP91の受聴者基準オブジェクト位置情報を求める補間処理では、CVP4を除いた3つのCVP1乃至CVP3でのオブジェクト位置情報が用いられる。
 手法SLA1と、手法SLB1または手法SLB2とを同時に行った場合、図37および図40のそれぞれに示した例では、補間処理の結果として、図42および図43のそれぞれに示す結果が得られるようになる。なお、図42および図43のそれぞれにおいて、図37および図40のそれぞれと対応する部分についてはその説明は適宜省略する。
 図42は、図36や図37に示したCVP配置パターンPTT1において、手法SLA1と、手法SLB1または手法SLB2とを適用した場合の例を示している。
 図42では、矢印Q71に示す部分には、「CaseA」と「CaseB」について、各CVPでの角度Azimuthとゲインが示されている。
 また、矢印Q72に示す部分には、「CaseA」と「CaseB」について、感度係数の値を変えた場合における受聴者基準オブジェクト位置情報としての角度Azimuthと、受聴者基準ゲインとが示されており、ケースAやケースBの発生が抑制されていることが分かる。
 例えば「CaseA」において、感度係数の値を「3」とした場合、すなわち「1/距離の3乗比」の欄の部分に注目すると、受聴位置LP71における受聴者基準ゲイン(Gain(0))は「0.205033」となっている。
 この例では、手法SLA1の適用によって、受聴位置LP71から遠い位置にあるCVP1乃至CVP3の影響が大きく低下し、受聴者基準ゲインが、近くにあるCVP5とCVP6でのゲイン「0.2」に近い理想的な値となっていることが分かる。
 すなわち、CVP5とCVP6の間にある受聴位置LP71での受聴者基準ゲインが、それらのCVP5とCVP6でのゲインに近い値となり、不自然な音像移動の発生が抑制される。
 また、「CaseB」に注目すると、受聴位置LP71における受聴者基準オブジェクト位置情報としての角度Azimuth(azi(1))は、感度係数の値によらず「0」となっている。
 この例では、手法SLB1または手法SLB2の適用によって、ゲインが「0」であるCVP6での角度Azimuth(azi(1))の値「120」は、補間処理に用いられない。すなわち、CVP6での角度Azimuth「120」は、補間処理での対象から除外される。
 そのため、受聴位置LP71における角度Azimuth(azi(1))は、対象から除外されていない全てのCVPでの角度Azimuthと同じ値「0」となり、適切な受聴者基準オブジェクト位置情報が得られることが分かる。
 図43は、図39や図40に示したCVP配置パターンPTT2において、手法SLA1と、手法SLB1または手法SLB2とを適用した場合の例を示している。
 図43では、矢印Q81に示す部分には、「CaseA」と「CaseB」について、各CVPでの角度Azimuthとゲインが示されている。
 また、矢印Q82に示す部分には、「CaseA」と「CaseB」について、感度係数の値を変えた場合における受聴者基準オブジェクト位置情報としての角度Azimuthと、受聴者基準ゲインとが示されており、ケースAやケースBの発生が抑制されていることが分かる。
 例えば「CaseA」において、感度係数の値を「3」とした場合に注目すると、受聴位置LP81における受聴者基準ゲイン(Gain(0))は「0.25492」となっている。
 この例では、手法SLA1の適用によって、受聴位置LP81から遠い位置にあるCVP1、CVP2、CVP6、およびCVP8の影響が大きく低下し、受聴者基準ゲインが、近くにあるCVP3やCVP4でのゲイン「0.2」に近い理想的な値となっていることが分かる。
 すなわち、感度係数を制御することで、CVP3とCVP4の間にある受聴位置LP81での受聴者基準ゲインが、それらのCVP3とCVP4でのゲインに近い値となり、不自然な音像移動の発生が抑制されることが分かる。
 また、「CaseB」に注目すると、受聴位置LP81における受聴者基準オブジェクト位置情報としての角度Azimuth(azi(1))は、感度係数の値によらず「0」となっている。
 この例では、手法SLB1または手法SLB2の適用によって、ゲインが「0」であるCVP3での角度Azimuth(azi(1))の値「120」は、補間処理に用いられない。すなわち、CVP3での角度Azimuth「120」は、補間処理での対象から除外される。
 そのため、受聴位置LP81における角度Azimuth(azi(1))は、対象から除外されていない全てのCVPでの角度Azimuthと同じ値「0」となり、適切な受聴者基準オブジェクト位置情報が得られることが分かる。
〈構成情報のフォーマット例〉
 また、手法SLB2を適用する場合、構成情報には、例えば図44に示す構成(情報)が格納される。
 なお、図44は、手法SLB2を適用する場合における構成情報の一部分のフォーマット(シンタックス)例を示している。
 より詳細には、構成情報には、図44に示す構成の他、図7に示した構成が含まれている。換言すれば、構成情報には、図7に示した構成の一部に、図44に示す構成が含まれている。その他、図32に示した構成情報の一部に図44に示す構成が含まれるようにしてもよい。
 図44の例では、「NumOfControlViewpoints」は、CVP数情報、すなわち制作者により設定されたCVPの数を示しており、「numOfObjs」は、オブジェクトの数を示している。
 構成情報には、各CVPについて、オブジェクトの数だけ、それらのCVPとオブジェクトの組み合わせに対応するMuteフラグ「MuteObjIdx[i][j]」が格納されている。
 Muteフラグ「MuteObjIdx[i][j]」は、i番目のCVPから見たときに、すなわち受聴位置(視点位置)がi番目のCVPにあるときに、j番目のオブジェクトがミュートオブジェクトとされるか(ミュートオブジェクトとなっているか)を示すフラグ情報である。具体的には、Muteフラグ「MuteObjIdx[i][j]」の値「0」は、オブジェクトがミュートオブジェクトではないことを示しており、Muteフラグ「MuteObjIdx[i][j]」の値「1」は、オブジェクトがミュートオブジェクトであること、つまりミュート状態であることを示している。
 なお、ここでは、CVPにおいてミュートオブジェクトとされたオブジェクトを特定するためのミュート情報として、Muteフラグが構成情報に格納される例について説明した。しかし、これに限らず、例えば「MuteObjIdx[i][j]」は、ミュートオブジェクトとされたオブジェクトを示すインデックス情報とされてもよい。
 そのような場合には、構成情報には、全てのオブジェクトについて「MuteObjIdx[i][j]」を格納する必要がなく、ミュートオブジェクトとされたオブジェクトについてのみ、構成情報に「MuteObjIdx[i][j]」を格納すればよい。この例においてもクライアント101側では、「MuteObjIdx[i][j]」を参照することで、CVPにおいて各オブジェクトがミュートオブジェクトとされているか否かを特定することができる。
〈寄与係数算出処理の説明〉
 続いて、手法SLA1と、手法SLB1または手法SLB2とを適用する場合における情報処理装置11およびクライアント101の動作について説明する。
 例えば手法SLB2が適用される場合、情報処理装置11は、図14を参照して説明したコンテンツ制作処理を行う。
 但し、この場合、例えば制御部26は、任意のタイミングで、CVPにおいてオブジェクトをミュートオブジェクトとするか否かの指定操作を受け付け、ステップS23では、指定操作に応じた値のMuteフラグを含む構成情報を生成する。
 また、例えば構成情報に感度係数が格納される場合には、制御部26は、任意のタイミングで感度係数の指定操作を受け付け、ステップS23では、指定操作により指定された感度係数を含む構成情報を生成する。
 また、手法SLA1と、手法SLB1または手法SLB2とが適用される場合、クライアント101は、基本的には図18または図34を参照して説明した再生オーディオデータ生成処理を行う。但し、図18のステップS84、または図34のステップS126では、手法SLA1と、手法SLB1または手法SLB2とに基づく補間処理が行われる。
 具体的には、まずクライアント101は、図45に示す寄与係数算出処理を行うことで、寄与率を得るための寄与係数を算出する。
 以下、図45のフローチャートを参照して、クライアント101により行われる寄与係数算出処理について説明する。
 ステップS201において位置算出部114は、処理対象とするCVPを示すインデックスcvpidxを初期化する。これにより、インデックスcvpidxの値が0とされる。
 ステップS202において位置算出部114は、処理対象のCVPを示すインデックスcvpidxの値が全CVPの数numOfCVP未満であるか否か、すなわちcvpidx<numOfCVPであるか否かを判定する。
 なお、CVPの数numOfCVPは、補間処理に用いられるCVPの候補の数である。具体的にはCVP数情報により示される数や、受聴位置の周囲にあるなどの特定の条件を満たすCVPの数、対象グループ領域に対応するCVPグループに属すCVPの数などがnumOfCVPとされる。
 ステップS202においてcvpidx<numOfCVPであると判定された場合、まだ、補間処理に用いる候補となる全てのCVPについて寄与係数を算出していないので、処理はステップS203に進む。
 ステップS203において位置算出部114は、受聴者位置情報と処理対象のCVPのCVP位置情報とに基づいて、受聴位置から処理対象のCVPまでのユークリッド距離を算出し、その算出結果を距離情報dist[cvpidx]として保持する。例えば位置算出部114は、上述の式(5)と同様の計算を行うことで距離情報dist[cvpidx]を算出する。
 ステップS204において位置算出部114は、距離情報dist[cvpidx]と、感度係数WeightRatioFactorとに基づいて、処理対象のCVPの寄与係数cvp_contri_coef[cvpidx]を算出する。
 例えば感度係数WeightRatioFactorは、構成情報から読み出されるようにしてもよいし、図示せぬ入力部等に対する受聴者等の指定操作により指定されるようにしてもよい。その他、受聴位置と各CVPの位置関係、および各CVPでのオブジェクトのゲイン等に基づいて、位置算出部114が感度係数WeightRatioFactorを算出するようにしてもよい。
 なお、ここでは感度係数WeightRatioFactorは、例えば値が2以上である実数などとされる。しかし、これに限定されず、感度係数WeightRatioFactorは任意の値とすることができる。
 例えば位置算出部114は、感度係数WeightRatioFactorを指数として距離情報dist[cvpidx]のべき乗を算出し、得られたべき乗の値で1を除算する、つまりべき乗の値の逆数を求めることで、寄与係数cvp_contri_coef[cvpidx]を算出する。
 すなわち、cvp_contri_coef[cvpidx]=1.0/pow(dist[cvpidx],WeightRatioFactor)の演算を行うことで、寄与係数cvp_contri_coef[cvpidx]が求められる。ここでpow()は、べき乗計算を行う関数を示している。
 ステップS205において位置算出部114は、CVPのインデックスcvpidxの値をインクリメントする。
 ステップS205の処理が行われると、その後、処理はステップS202に戻り、上述した処理が繰り返し行われる。すなわち、新たに処理対象とされたCVPについて、寄与係数cvp_contri_coef[cvpidx]が算出される。
 また、ステップS202においてcvpidx<numOfCVPではないと判定された場合、全てのCVPが処理対象とされ、寄与係数cvp_contri_coef[cvpidx]が算出されたので、寄与係数算出処理は終了する。
 以上のようにしてクライアント101は、受聴位置とCVPとの距離に応じた寄与係数を算出する。このようにすることで、手法SLA1に基づく補間処理を行うことができるようになり、不自然な音像移動の発生を抑制することができる。
〈正規化寄与係数算出処理の説明〉
 また、クライアント101は、図45を参照して説明した寄与係数算出処理を行うと、次に手法SLB1または手法SLB2に基づく、正規化寄与係数算出処理を行うことで、正規化された寄与係数を寄与率として求める。
 ここでは、まず図46のフローチャートを参照して、クライアント101により行われる、手法SLB2に基づく正規化寄与係数算出処理について説明する。
 ここでいう手法SLB2に基づく正規化寄与係数算出処理とは、構成情報に含まれているMuteフラグに基づく正規化寄与係数算出処理である。
 ステップS231において位置算出部114は、処理対象とするCVPを示すインデックスcvpidxを初期化する。これにより、インデックスcvpidxの値が0とされる。
 なお、正規化寄与係数算出処理においては、図45の寄与係数算出処理で処理対象とされたCVPと同じものが処理対象のCVPとして処理が行われる。したがって、処理対象とするCVPの数numOfCVPも図45の寄与係数算出処理における場合と同じである。
 ステップS232において位置算出部114は、処理対象とするオブジェクトを示すインデックスobjidxを初期化する。
 これにより、インデックスobjidxの値が0とされる。ここでは、処理対象とされるオブジェクトの数numOfObjsは、コンテンツを構成する全てのオブジェクトの数、つまり構成情報内のオブジェクト数情報により示される数とされる。以降においては、インデックスcvpidxにより示されるCVPと、CVPから見たときのインデックスobjidxにより示されるオブジェクトとについて、順番に処理が行われる。
 ステップS233において位置算出部114は、インデックスobjidxの値が、全オブジェクトの数numOfObjs未満であるか否か、すなわちobjidx<numOfObjsであるか否かを判定する。
 ステップS233においてobjidx<numOfObjsであると判定された場合、ステップS234において位置算出部114は、係数総和変数total_coefの値を初期化する。これにより、インデックスobjidxにより示される処理対象のオブジェクトについての係数総和変数total_coefの値が0とされる。
 係数総和変数total_coefは、インデックスobjidxにより示される処理対象のオブジェクトについて各CVPの寄与係数cvp_contri_coef[cvpidx]を正規化するために用いられる係数である。後述するように、最終的には、1つのオブジェクトについて補間処理に用いられる全CVPの寄与係数cvp_contri_coef[cvpidx]の総和が係数総和変数total_coefとなる。
 ステップS235において位置算出部114は、処理対象のCVPを示すインデックスcvpidxの値が全CVPの数numOfCVP未満であるか否か、すなわちcvpidx<numOfCVPであるか否かを判定する。
 ステップS235においてcvpidx<numOfCVPであると判定された場合、ステップS236へと進む。
 ステップS236において位置算出部114は、インデックスcvpidxにより示されるCVPにおける、インデックスobjidxにより示される処理対象のオブジェクトのMuteフラグの値が1であるか否か、すなわちミュートオブジェクトであるか否かを判定する。
 ステップS236においてMuteフラグの値が1であると判定されなかった場合、すなわちミュートオブジェクトではない場合、ステップS237において位置算出部114は、保持している係数総和変数の値に処理対象のCVPの寄与係数を加算することで、係数総和変数を更新する。
 具体的には、total_coef+=cvp_contri_coef[cvpidx]が計算される。すなわち、位置算出部114が保持している、インデックスobjidxにより示される処理対象のオブジェクトの係数総和変数total_coefの現在の値に、インデックスcvpidxにより示される処理対象のCVPの寄与係数cvp_contri_coef[cvpidx]が加算され、その加算結果が更新後の係数総和変数total_coefとされる。
 ステップS237の処理が行われると、その後、処理はステップS238へと進む。
 また、ステップS236においてMuteフラグの値が1であると判定された場合、すなわちミュートオブジェクトである場合、ステップS237の処理は行われず、その後、処理はステップS238へと進む。これは、処理対象のオブジェクトがミュートオブジェクトとなっているCVPは、補間処理の対象外とされるからである。
 ステップS237の処理が行われたか、またはステップS236においてMuteフラグの値が1であると判定された場合、ステップS238において位置算出部114は、処理対象とするCVPを示すインデックスcvpidxをインクリメントする。
 ステップS238の処理が行われると、その後、処理はステップS235に戻り、上述した処理が繰り返し行われる。
 ステップS235乃至ステップS238の処理を繰り返し行うことで、処理対象のオブジェクトについて、ミュートオブジェクトとなっていないCVPの寄与係数の総和が求められ、得られた総和が処理対象のオブジェクトの最終的な係数総和変数とされる。この係数総和変数は、上述した式(6)における変数tに対応するものである。
 また、ステップS235においてcvpidx<numOfCVPでないと判定された場合、ステップS239において位置算出部114は、処理対象とするCVPを示すインデックスcvpidxを初期化する。これにより、処理対象のオブジェクトについて、新たに各CVPが順番に処理対象とされて以降の処理が行われることになる。
 ステップS240において位置算出部114は、cvpidx<numOfCVPであるか否かを判定する。
 ステップS240においてcvpidx<numOfCVPであると判定された場合、ステップS241へと進む。
 ステップS241において位置算出部114は、インデックスcvpidxにより示されるCVPにおける、インデックスobjidxにより示される処理対象のオブジェクトのMuteフラグの値が1であるか否かを判定する。
 ステップS241においてMuteフラグの値が1であると判定されなかった場合、すなわちミュートオブジェクトではない場合、ステップS242において位置算出部114は、正規化寄与係数contri_norm_ratio[objidx][cvpidx]を算出する。
 例えば、contri_norm_ratio[objidx][cvpidx]=cvp_contri_coef[cvpidx]/total_coefの計算が行われて寄与係数が正規化され、正規化後の寄与係数が正規化寄与係数とされる。
 換言すれば、位置算出部114はインデックスcvpidxにより示される処理対象のCVPの寄与係数cvp_contri_coef[cvpidx]をインデックスobjidxにより示される処理対象のオブジェクトの係数総和変数total_coefで除算することで正規化を行う。これにより、インデックスobjidxにより示される処理対象のオブジェクトについて、インデックスcvpidxにより示される処理対象のCVPの正規化寄与係数contri_norm_ratio[objidx][cvpidx]が得られる。
 この実施の形態では、正規化寄与係数contri_norm_ratio[objidx][cvpidx]が式(8)における寄与率dp(i)、すなわちCVPの寄与度として用いられる。換言すれば、正規化寄与係数は、補間処理において各オブジェクトについてのCVPの重みとして用いられる。
 より詳細には、式(8)では同じCVPについては、全てのオブジェクトで共通する同じ寄与率dp(i)が用いられていたが、この実施の形態ではミュートオブジェクトとなるCVPを補間処理から除外するため、同じCVPでもオブジェクトごとに正規化寄与係数(寄与率dp(i))が求められる。
 この場合、図45の寄与係数算出処理において感度係数を指数とする距離情報のべき乗値により求められた寄与係数に基づき正規化寄与係数が算出されるので、手法SLA1に基づく補間処理を実現することが可能となる。
 ステップS242の処理が行われると、その後、処理はステップS244へと進む。
 また、ステップS241においてMuteフラグの値が1であると判定された場合、すなわちミュートオブジェクトである場合、ステップS242の処理は行われず、その後、処理はステップS243へと進む。
 ステップS243において位置算出部114は、インデックスobjidxにより示される処理対象のオブジェクトについてのインデックスcvpidxにより示される処理対象のCVPの正規化寄与係数contri_norm_ratio[objidx][cvpidx]の値を0とする。
 これにより、オブジェクトがミュートオブジェクトとなっているCVPは補間処理の対象から除外され、手法SLB2に基づく補間処理を実現することができるようになる。
 ステップS242またはステップS243の処理が行われると、ステップS244において位置算出部114は、処理対象とするCVPを示すインデックスcvpidxをインクリメントする。
 ステップS244の処理が行われると、その後、処理はステップS240に戻り、上述した処理が繰り返し行われる。
 ステップS240乃至ステップS244の処理を繰り返し行うことで、処理対象のオブジェクトについて、各CVPの正規化寄与係数が求められる。
 また、ステップS240においてcvpidx<numOfCVPでないと判定された場合、ステップS245において位置算出部114は、処理対象とするオブジェクトを示すインデックスobjidxをインクリメントする。これにより、まだ処理対象とされていない新たなオブジェクトが処理対象とされる。
 ステップS245の処理が行われると、その後、処理はステップS233に戻り、上述した処理が繰り返し行われる。
 また、ステップS233においてobjidx<numOfObjsではないと判定された場合、全てのオブジェクトについて、各CVPの正規化寄与係数、すなわち寄与率dp(i)が得られたので、正規化寄与係数算出処理は終了する。
 以上のようにしてクライアント101は、各オブジェクトのMuteフラグに応じて、オブジェクトごとに各CVPの正規化寄与係数を算出する。このようにすることで、手法SLB2に基づく補間処理を実現することができるようになり、適切な受聴者基準オブジェクト位置情報を得ることができる。
 以上においては、手法SLB2に基づく正規化寄与係数算出処理について説明したが、手法SLB2における場合と同様の処理が、手法SLB1に基づく正規化寄与係数算出処理として行われる。
 以下、図47のフローチャートを参照して、クライアント101により行われる、手法SLB1に基づく正規化寄与係数算出処理について説明する。
 図47に示す、手法SLB1に基づく正規化寄与係数算出処理、すなわちステップS271乃至ステップS285では、基本的には図46を参照して説明した正規化寄与係数算出処理のステップS231乃至ステップS245と同様の処理が行われる。
 但し、ステップS276およびステップS281では、Muteフラグの値が1であるか否かではなく、インデックスcvpidxにより示されるCVPにおける、インデックスobjidxにより示される処理対象のオブジェクトのゲインが0とみなせるか否かが判定される。
 具体的には、オブジェクトのゲインの値が所定の閾値以下である場合、オブジェクトのゲインが0とみなせると判定される。
 ステップS276においてゲインが0とみなせないと判定された場合、ミュートオブジェクトとなっているCVPではないため、処理はステップS277へと進み、係数総和変数が更新される。
 これに対して、ステップS276においてゲインが0とみなせると判定された場合、ミュートオブジェクトとなっているCVPであるため、そのCVPは補間処理の対象外とされ、その後、処理はステップS278へと進む。
 また、ステップS281においてゲインが0とみなせないと判定された場合、ミュートオブジェクトとなっているCVPではないため、処理はステップS282へと進み、正規化寄与係数が算出される。
 これに対して、ステップS281においてゲインが0とみなせると判定された場合、ミュートオブジェクトとなっているCVPであるため、処理はステップS283へと進み、正規化寄与係数が0とされてCVPが補間処理の対象から除外される。
 以上のような手法SLB1に基づく正規化寄与係数算出処理によれば、手法SLB1に基づく補間処理を実現することができるようになり、適切な受聴者基準オブジェクト位置情報を得ることができる。
 図18のステップS84、または図34のステップS126では、手法SLB1または手法SLB2に基づく正規化寄与係数算出処理が行われると、その後、位置算出部114は、得られた正規化寄与係数を用いて補間処理を行う。
 すなわち、位置算出部114は、式(7)の計算を行うことでオブジェクト3次元位置ベクトルを求めるとともに、寄与率dp(i)に代えて、上述した処理により得られた正規化寄与係数contri_norm_ratio[objidx][cvpidx]を用いて式(8)の計算を行う。すなわち、正規化寄与係数が用いられて式(8)の補間処理が行われる。
 さらに位置算出部114は、式(8)の計算結果に基づき式(9)の計算を行うとともに、適宜、式(10)や式(11)の計算により求まる補正量に基づく補正も行う。
 これにより、手法SLA1と、手法SLB1または手法SLB2とが適用された、最終的な受聴者基準オブジェクト位置情報および受聴者基準ゲインが得られたことになる。
 したがって、上述のケースAやケースBの発生が抑制される。すなわち、不自然な音像移動の発生を抑制するとともに、適切な受聴者基準オブジェクト位置情報を得ることができる。
 手法SLB1と手法SLB2の何れにおいても、位置算出部114は、実質的にオブジェクトがミュートオブジェクトとなっていないCVPのCVP位置情報、オブジェクト位置情報、およびオブジェクトのゲインと、受聴者位置情報とに基づいて補間処理を行い、受聴者基準オブジェクト位置情報および受聴者基準ゲインを算出する。
 このとき、手法SLB2では、位置算出部114は、ミュート情報としてのMuteフラグに基づいて、オブジェクトがミュートオブジェクトとなっていないCVPを特定する。これに対して、手法SLB1では、位置算出部114は、CVPから見たときのオブジェクトのゲインに基づいて、すなわちゲインが閾値以下であるか否かの判定結果に基づいて、オブジェクトがミュートオブジェクトとなっていないCVPを特定する。
〈第4の実施の形態〉
〈オブジェクト位置情報とゲインの補間処理について〉
 ところで、受聴者基準オブジェクト位置情報や受聴者基準ゲインを求めるための補間処理を行うにあたり、再生側、すなわち受聴者側で意図的に補間処理に用いられるCVPを選択できるようにしてもよい。
 そうすれば、受聴者は、自身の好みに合った、聴きたいと思うCVPだけを限定的に利用してコンテンツを楽しむことができる。例えば、オブジェクトとしての全てのアーティストの配置位置が受聴者の近くとなるCVPだけを使用したコンテンツ再生などを行うことができるようになる。
 具体的には、例えば図48に示すように、自由視点空間における図11に示した例と同様の位置に、ステージST11、ターゲット位置TP、および各CVPが配置されており、受聴者(ユーザ)が補間処理に用いるCVPを選択できるとする。なお、図48において図11における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 図48に示す例では、例えば図中、左側に示すように、オリジナルのCVP構成、すなわちコンテンツ制作者により設定されたCVPとして、CVP1乃至CVP7があったとする。
 この場合に、例えば図中、右側に示すように、受聴者がそれらのCVP1乃至CVP7のうち、ステージST11の近くにあるCVP1、CVP3、CVP4、およびCVP6を選択したとする。
 そうすると、実際にコンテンツが再生される際には、全てのCVPが補間処理に用いられる場合と比較して、オブジェクトとしてのアーティストが、より受聴者の近くにあるように感じられるようになる。
 また、受聴者によるCVPの選択時には、例えば図49に示すようなCVP選択画面がクライアント101に表示されるようにしてもよい。
 この例では、図中、左側には、図48に示した各CVPについて、それらのCVPからターゲット位置TP、すなわちステージST11を見たときの様子を示す複数の視点画像が並べられたCVP選択画面DSP11が示されている。
 例えば視点画像SPC11乃至視点画像SPC14は、CVP5、CVP7、CVP2、およびCVP6のそれぞれを視点位置(受聴位置)としたときの視点画像となっている。また、CVP選択画面DSP11には、CVPの選択を促すメッセージ「再生したい視点を選択してください」も表示されている。
 このようなCVP選択画面DSP11が表示されると、受聴者(ユーザ)は好みのCVPに対応する視点画像を選択することで、補間処理に用いるCVPを選択する。これにより、例えば図中、左側に示したCVP選択画面DSP11の表示が更新されて、図中、右側に示すCVP選択画面DSP12が表示される。
 CVP選択画面DSP12では、受聴者により選択されなかったCVPの視点画像が薄くグレー表示されるなど、選択されたCVPの視点画像とは異なる表示形式で表示されている。
 ここでは、例えば視点画像SPC11乃至視点画像SPC13に対応するCVP5、CVP7、およびCVP2が選択されておらず、それらのCVPの視点画像はグレー表示となっている。また、受聴者により選択されたCVP6、CVP1、CVP3、およびCVP4に対応する視点画像の表示は、CVP選択画面DSP11における場合と同じ表示のままとなっている。
 このようなCVP選択画面を表示することで、受聴者は視覚的にCVPから見た様子を確認しながら適切にCVPの選択操作を行うことができる。また、CVP選択画面には図48に示したような会場全体、つまり自由視点空間全体の画像も表示されるようにしてもよい。
 さらに、補間処理に用いるCVPを受聴者が選択できるようにする場合に、構成情報にCVPの選択可否に関する情報を格納することができるようにしてもよい。そうすれば、受聴者(クライアント101)側に対してコンテンツ制作者の意図を伝送することができる。
 構成情報にCVPの選択可否に関する情報が格納されている場合には、再生側において選択を許可されたCVPのみが対象とされて受聴者によるCVPの選択が行われ、受聴者によるCVPの選択の有無が検知(特定)される。そして、選択を許可されたCVPのなかに受聴者により選択されなかったCVP(以下、非選択CVPとも称する)がある場合には、非選択CVPが除外されて受聴者基準オブジェクト位置情報や受聴者基準ゲインを算出するための補間処理が行われる。
〈構成情報のフォーマット例〉
 この実施の形態では構成情報には、例えば図50に示す情報がCVPの選択可否に関する情報、すなわち選択可否情報として格納される。
 なお、図50は構成情報の一部分のフォーマット(シンタックス)例を示している。
 より詳細には、構成情報には図50に示す構成の他、図7に示した構成が含まれている。換言すれば、構成情報には、図7に示した構成の一部に図50に示す構成が含まれている。その他、図32に示した構成情報の一部に図50に示す構成が含まれるようにしてもよいし、構成情報にさらに図44に示した情報が格納されるようにしてもよい。
 図50の例では、「CVPSelectAllowPresentFlag」は、CVP選択情報存在フラグを示している。CVP選択情報存在フラグは、受聴者側で選択可能なCVPに関する情報が構成情報内に存在しているか否か、すなわち受聴者側でCVPの選択を行うことができるか否かを示すフラグ情報である。
 CVP選択情報存在フラグの値「0」は、構成情報には選択可能なCVPに関する情報が含まれていない(格納されていない)ことを示している。
 また、CVP選択情報存在フラグの値「1」は、構成情報には選択可能なCVPに関する情報が含まれていることを示している。
 CVP選択情報存在フラグの値が「1」である場合、構成情報には、さらに受聴者により選択可能なCVPの数を示す「numOfAllowedCVP」と、受聴者により選択可能なCVPを示すインデックス情報「AllowedCVPIdx[i]」とが格納されている。
 例えばインデックス情報「AllowedCVPIdx[i]」は、受聴者により選択可能なCVPを示す、図9に示したCVPインデックス「ControlViewpointIndex[i]」の値などとされる。また、構成情報には、「numOfAllowedCVP」により示される数だけ選択可能なCVPを示すインデックス情報「AllowedCVPIdx[i]」が格納されている。
 以上のように、図50の例では、受聴者基準オブジェクト位置情報や受聴者基準ゲインの算出に用いるCVPの選択可否に関する選択可否情報として、CVP選択情報存在フラグ「CVPSelectAllowPresentFlag」、選択可能なCVPの数「numOfAllowedCVP」、およびインデックス情報「AllowedCVPIdx[i]」が構成情報に含まれている。
 このような構成情報を用いれば、クライアント101では、コンテンツを構成するCVPのうち、どのCVPが選択を許可されたCVPであるかを特定することができる。
 なお、この実施の形態は、上述の第1の実施の形態乃至第3の実施の形態のうちの任意の1以上のものと組み合わせることが可能である。
 構成情報に図50に示す構成が含まれる場合においても、情報処理装置11は、図14を参照して説明したコンテンツ制作処理を行う。
 但し、この場合、例えば制御部26は、ステップS16などの任意のタイミングで、選択を許可するCVPとするか否かの指定操作を受け付ける。そしてステップS23では、制御部26は、指定操作に応じてCVP選択情報存在フラグ、選択可能なCVPの数、選択可能なCVPを示すインデックス情報のうちの必要な情報を含む構成情報を生成する。
〈クライアントの構成例〉
 また、クライアント101(受聴者)側において補間処理に用いるCVPを選択することができる場合、クライアント101は、例えば図51に示す構成とされる。なお、図51において図17における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 図51に示すクライアント101の構成は、図17に示した構成に、新たに入力部201および表示部202を設けた構成とされている。
 入力部201は、例えばタッチパネルやマウス、キーボード、ボタンなどの入力デバイスからなり、受聴者(ユーザ)の入力操作に応じた信号を位置算出部114に供給する。
 表示部202は、ディスプレイからなり、位置算出部114等からの指示に応じてCVP選択画面等の各種の画像を表示する。
〈選択的補間処理の説明〉
 クライアント101側で、適宜、補間処理に用いるCVPの選択が可能な場合においても、クライアント101は、基本的には図18または図34を参照して説明した再生オーディオデータ生成処理を行う。
 但し、図18のステップS84、または図34のステップS126では、図52に示す選択的補間処理が行われて、受聴者基準オブジェクト位置情報および受聴者基準ゲインが求められる。
 以下、図52のフローチャートを参照して、クライアント101による選択的補間処理について説明する。
 ステップS311において位置算出部114は、復号部113から構成情報を取得する。
 ステップS312において位置算出部114は、構成情報に基づいて、選択可能なCVPの数が0より大きいか否か、すなわちnumOfAllowedCVP>0であるか否かを判定する。
 ステップS312においてnumOfAllowedCVP>0であると判定された場合、すなわち受聴者により選択可能なCVPがある場合、ステップS313において位置算出部114は、選択可能なCVPの提示を行い、受聴者によるCVPの選択を受け付ける。
 例えば位置算出部114は、構成情報に含まれている選択可能なCVPを示すインデックス情報「AllowedCVPIdx[i]」に基づいて、そのインデックス情報により示されるCVPが選択可能なCVPとして提示されるCVP選択画面を生成し、表示部202に表示させる。この場合、表示部202は、例えば図49に示したCVP選択画面を表示する。
 受聴者(ユーザ)は、表示部202に表示されたCVP選択画面を見ながら入力部201を操作することで、所望するCVPを補間処理に用いるCVPとして選択する。
 すると、入力部201から位置算出部114には、受聴者の選択操作に応じた信号が供給されるので、位置算出部114は、入力部201からの信号に応じて表示部202の画面を更新させる。これにより、例えば表示部202の表示が、図49の左側に示した表示から、図49の右側に示した表示へと更新される。
 なお、CVP選択画面における受聴者によるCVPの選択は、コンテンツの再生前に行われるようにしてもよいし、コンテンツの再生中の任意のタイミングで、任意の回数だけ行われるようにしてもよい。
 ステップS314において位置算出部114は、受聴者の選択操作に応じて入力部201から供給された信号に基づいて、選択可能なCVPのなかに補間処理から除外されたCVPがあるか否か、すなわち受聴者により選択されなかったCVPがあるか否かを判定する。
 ステップS314において除外されたCVPがあると判定された場合、その後、処理はステップS315へと進む。
 ステップS315において位置算出部114は、選択できないCVPと、受聴者により選択されたCVPを用いて補間処理を実施し、受聴者基準オブジェクト位置情報および受聴者基準ゲインを求める。
 より詳細には、選択できないCVPと受聴者により選択されたCVPとからなる複数の各CVPのCVP位置情報やオブジェクト位置情報、オブジェクトのゲイン等と、受聴者位置情報とに基づき補間処理が行われる。
 ここで、選択できないCVPとは、構成情報内にインデックス情報「AllowedCVPIdx[i]」が含まれていないCVPである。換言すれば、選択できないCVPとは、構成情報に含まれている選択可否情報により特定される選択可能とされていないCVPである。
 したがって、ステップS315では、全CVPから受聴者により選択されなかったCVP、すなわち非選択CVPを除外して残った全てのCVPが用いられて補間処理が行われる。
 すなわち、例えば非選択CVPを除く全てのCVPが用いられて、第1の実施の形態や第3の実施の形態における場合と同様にして補間処理が行われ、受聴者基準オブジェクト位置情報および受聴者基準ゲインが求められる。
 なお、全CVPから非選択CVPを除外する例に限らず、例えば受聴位置の周囲にあるなどの特定の条件を満たすCVPから非選択CVPを除外して得られるCVPや、対象グループ領域に対応するCVPグループに属すCVPから非選択CVPを除外して得られるCVPが用いられて補間処理が行われるようにしてもよい。
 ステップS315の処理が行われると、選択的補間処理は終了する。
 また、ステップS312においてnumOfAllowedCVP>0でないと判定された場合、すなわち選択可能なCVPがない場合、またはステップS314において除外されたCVPがないと判定された場合、その後、処理はステップS316へと進む。
 ステップS316において位置算出部114は、全てのCVPを用いて補間処理を実施し、受聴者基準オブジェクト位置情報および受聴者基準ゲインを求め、選択的補間処理は終了する。
 ステップS316では、補間処理に用いられるCVPが異なるだけで、ステップS315における場合と同様の補間処理が行われる。なお、ステップS316においても特定の条件を満たすCVPや、対象グループ領域に対応するCVPグループに属すCVPが用いられて補間処理が行われるようにしてもよい。
 以上のようにしてクライアント101は、受聴者の選択等に応じたCVPを選択的に用いて補間処理を行う。このようにすることで、コンテンツ制作者の意図を反映しつつ、受聴者(ユーザ)の好みも反映されたコンテンツ再生を実現することができる。
〈コンピュータの構成例〉
 ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図53は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
 入力部506は、キーボード、マウス、マイクロフォン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、本技術は、以下の構成とすることも可能である。
(1)
  空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
  複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
  互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
 制御部を備える
 情報処理装置。
(2)
 前記メタデータには、前記オブジェクトのゲインが含まれている
 (1)に記載の情報処理装置。
(3)
 前記制御視点情報には、前記空間における前記制御視点から前記ターゲット位置へと向かう方向を示す制御視点向き情報、または前記空間における前記ターゲット位置を示すターゲット位置情報が含まれている
 (1)または(2)に記載の情報処理装置。
(4)
 前記構成情報には、コンテンツを構成する前記オブジェクトの数を示すオブジェクト数情報、前記制御視点の数を示す制御視点数情報、および前記メタデータセットの数を示すメタデータセット数情報のうちの少なくとも何れか1つが含まれている
 (1)乃至(3)の何れか一項に記載の情報処理装置。
(5)
 前記構成情報には、前記空間内の所定のグループ領域に含まれる前記制御視点からなる制御視点グループに関する制御視点グループ情報が含まれており、
 前記制御視点グループ情報には、1または複数の前記制御視点グループについて、前記制御視点グループに属す前記制御視点を示す情報と、前記制御視点グループに対応する前記グループ領域を特定するための情報とが含まれている
 (1)乃至(4)の何れか一項に記載の情報処理装置。
(6)
 前記構成情報には、前記制御視点グループ情報が含まれているか否かを示す情報が含まれている
 (5)に記載の情報処理装置。
(7)
 前記制御視点グループ情報には、前記制御視点グループに属す前記制御視点の数を示す情報、および前記制御視点グループの数を示す情報の少なくとも何れかが含まれている
 (5)または(6)に記載の情報処理装置。
(8)
 前記構成情報には、前記制御視点から見たときにミュートオブジェクトとされる前記オブジェクトを特定するためのミュート情報が含まれている
 (1)乃至(7)の何れか一項に記載の情報処理装置。
(9)
 前記構成情報には、受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報の算出、または前記受聴位置から見たときの前記オブジェクトのゲインの算出に用いる前記制御視点の選択可否に関する選択可否情報が含まれている
 (1)乃至(8)の何れか一項に記載の情報処理装置。
(10)
 情報処理装置が、
 空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
 複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
 互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
 情報処理方法。
(11)
 空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
 複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
 互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
 処理をコンピュータに実行させるプログラム。
(12)
 空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得する取得部と、
 前記空間における受聴位置を示す受聴者位置情報を取得する受聴者位置情報取得部と、
 前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する位置算出部と
 を備える情報処理装置。
(13)
 前記取得部は、前記オブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセット、前記制御視点位置情報、および前記制御視点に関連付けられた前記メタデータセットを示す指定情報を取得し、
 前記位置算出部は、互いに異なる複数の前記メタデータセットのうち、前記指定情報により示される前記メタデータセットに含まれている前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
 (12)に記載の情報処理装置。
(14)
 前記位置算出部は、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づく補間処理により前記受聴者基準オブジェクト位置情報を算出する
 (12)または(13)に記載の情報処理装置。
(15)
 前記補間処理はベクトル合成である
 (14)に記載の情報処理装置。
(16)
 前記位置算出部は、前記受聴者位置情報および複数の前記制御視点の前記制御視点位置情報により求まる重みを用いて前記ベクトル合成を行う
 (15)に記載の情報処理装置。
(17)
 前記位置算出部は、前記オブジェクトがミュートオブジェクトとなっていない前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報に基づいて、前記補間処理を行う
 (14)乃至(16)の何れか一項に記載の情報処理装置。
(18)
 前記取得部は、前記制御視点から見たときに前記ミュートオブジェクトとされる前記オブジェクトを特定するためのミュート情報をさらに取得し、
 前記位置算出部は、前記ミュート情報に基づいて、前記オブジェクトが前記ミュートオブジェクトとなっていない前記制御視点を特定する
 (17)に記載の情報処理装置。
(19)
 前記取得部は、複数の前記制御視点について、前記制御視点から見たときの前記オブジェクトのゲインをさらに取得し、
 前記位置算出部は、前記ゲインに基づいて、前記オブジェクトが前記ミュートオブジェクトとなっていない前記制御視点を特定する
 (17)に記載の情報処理装置。
(20)
 前記取得部は、前記受聴者基準オブジェクト位置情報の算出に用いる前記制御視点の選択可否に関する選択可否情報をさらに取得し、
 前記位置算出部は、前記選択可否情報により選択可能とされた前記制御視点のうちの受聴者により選択された前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報に基づいて、前記補間処理を行う
 (14)乃至(19)の何れか一項に記載の情報処理装置。
(21)
 前記位置算出部は、前記選択可否情報により選択可能とされていない前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報と、前記受聴者により選択された前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報とに基づいて、前記補間処理を行う
 (20)に記載の情報処理装置。
(22)
 前記受聴者位置情報取得部は、前記空間における受聴者の向きを示す受聴者向き情報を取得し、
 前記位置算出部は、前記受聴者向き情報、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
 (12)乃至(21)の何れか一項に記載の情報処理装置。
(23)
 前記取得部は、複数の前記制御視点について、前記空間における前記制御視点から前記ターゲット位置へと向かう方向を示す制御視点向き情報をさらに取得し、
 前記位置算出部は、複数の前記制御視点の前記制御視点向き情報、前記受聴者向き情報、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
 (22)に記載の情報処理装置。
(24)
 前記取得部は、複数の前記制御視点について、前記制御視点から見たときの前記オブジェクトのゲインをさらに取得し、
 前記位置算出部は、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記ゲインに基づく補間処理により、前記受聴位置から見たときの前記オブジェクトのゲインを算出する
 (12)乃至(23)の何れか一項に記載の情報処理装置。
(25)
 前記位置算出部は、所定の感度係数を指数とした、前記受聴位置から前記制御視点までの距離のべき乗値の逆数から求まる重みに基づいて前記補間処理を行う
 (24)に記載の情報処理装置。
(26)
 前記感度係数は、前記制御視点ごと、または前記制御視点から見た前記オブジェクトごとに設定される
 (25)に記載の情報処理装置。
(27)
 前記取得部は、前記受聴位置から見たときの前記オブジェクトの前記ゲインの算出に用いる前記制御視点の選択可否に関する選択可否情報をさらに取得し、
 前記位置算出部は、前記選択可否情報により選択可能とされた前記制御視点のうちの受聴者により選択された前記制御視点の前記制御視点位置情報および前記ゲインに基づいて、前記補間処理を行う
 (24)乃至(26)の何れか一項に記載の情報処理装置。
(28)
 前記位置算出部は、前記選択可否情報により選択可能とされていない前記制御視点の前記制御視点位置情報および前記ゲインと、前記受聴者により選択された前記制御視点の前記制御視点位置情報および前記ゲインとに基づいて、前記補間処理を行う
 (27)に記載の情報処理装置。
(29)
 前記オブジェクトのオーディオデータと、前記受聴者基準オブジェクト位置情報とに基づいてレンダリング処理を行うレンダリング処理部をさらに備える
 (12)乃至(28)の何れか一項に記載の情報処理装置。
(30)
 前記受聴者基準オブジェクト位置情報は、前記受聴位置を原点とする極座標系の座標により表現された、前記オブジェクトの位置を示す情報である
 (12)乃至(29)の何れか一項に記載の情報処理装置。
(31)
 前記取得部は、前記空間内の所定のグループ領域に含まれる前記制御視点からなる制御視点グループに関する制御視点グループ情報であって、1または複数の前記制御視点グループについて、前記制御視点グループに属す前記制御視点を示す情報、および前記制御視点グループに対応する前記グループ領域を特定するための情報を含む制御視点グループ情報をさらに取得し、
 前記位置算出部は、前記受聴位置を含む前記グループ領域に対応する前記制御視点グループに属す前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報と、前記受聴者位置情報とに基づいて、前記受聴者基準オブジェクト位置情報を算出する
 (12)乃至(30)の何れか一項に記載の情報処理装置。
(32)
 前記位置算出部は、前記制御視点位置情報を含む、複数の各前記制御視点の制御視点情報と、前記制御視点グループ情報が含まれているか否かを示す情報とを含む構成情報を取得し、
 前記構成情報には、前記制御視点グループ情報が含まれているか否かを示す情報に応じて、前記制御視点グループ情報が含まれている
 (31)に記載の情報処理装置。
(33)
 前記制御視点グループ情報には、前記制御視点グループに属す前記制御視点の数を示す情報、および前記制御視点グループの数を示す情報の少なくとも何れかが含まれている
 (31)または(32)に記載の情報処理装置。
(34)
 前記取得部は、
  前記制御視点位置情報を含む、複数の各前記制御視点の制御視点情報と、
  コンテンツを構成する前記オブジェクトの数を示すオブジェクト数情報、前記制御視点の数を示す制御視点数情報、および前記オブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットの数を示すメタデータセット数情報のうちの少なくとも何れか1つと
 が含まれている構成情報を取得する
 (12)乃至(33)の何れか一項に記載の情報処理装置。
(35)
 情報処理装置が、
 空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得し、
 前記空間における受聴位置を示す受聴者位置情報を取得し、
 前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する
 情報処理方法。
(36)
 空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得し、
 前記空間における受聴位置を示す受聴者位置情報を取得し、
 前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する
 処理をコンピュータに実行させるプログラム。
 11 情報処理装置, 21 入力部, 22 表示部, 24 通信部, 26 制御部, 51 サーバ, 61 通信部, 62 制御部, 71 符号化部, 101 クライアント, 111 受聴者位置情報取得部, 112 通信部, 113 復号部, 114 位置算出部, 115 レンダリング処理部

Claims (36)

  1.   空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
      複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
      互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
     制御部を備える
     情報処理装置。
  2.  前記メタデータには、前記オブジェクトのゲインが含まれている
     請求項1に記載の情報処理装置。
  3.  前記制御視点情報には、前記空間における前記制御視点から前記ターゲット位置へと向かう方向を示す制御視点向き情報、または前記空間における前記ターゲット位置を示すターゲット位置情報が含まれている
     請求項1に記載の情報処理装置。
  4.  前記構成情報には、コンテンツを構成する前記オブジェクトの数を示すオブジェクト数情報、前記制御視点の数を示す制御視点数情報、および前記メタデータセットの数を示すメタデータセット数情報のうちの少なくとも何れか1つが含まれている
     請求項1に記載の情報処理装置。
  5.  前記構成情報には、前記空間内の所定のグループ領域に含まれる前記制御視点からなる制御視点グループに関する制御視点グループ情報が含まれており、
     前記制御視点グループ情報には、1または複数の前記制御視点グループについて、前記制御視点グループに属す前記制御視点を示す情報と、前記制御視点グループに対応する前記グループ領域を特定するための情報とが含まれている
     請求項1に記載の情報処理装置。
  6.  前記構成情報には、前記制御視点グループ情報が含まれているか否かを示す情報が含まれている
     請求項5に記載の情報処理装置。
  7.  前記制御視点グループ情報には、前記制御視点グループに属す前記制御視点の数を示す情報、および前記制御視点グループの数を示す情報の少なくとも何れかが含まれている
     請求項5に記載の情報処理装置。
  8.  前記構成情報には、前記制御視点から見たときにミュートオブジェクトとされる前記オブジェクトを特定するためのミュート情報が含まれている
     請求項1に記載の情報処理装置。
  9.  前記構成情報には、受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報の算出、または前記受聴位置から見たときの前記オブジェクトのゲインの算出に用いる前記制御視点の選択可否に関する選択可否情報が含まれている
     請求項1に記載の情報処理装置。
  10.  情報処理装置が、
     空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
     複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
     互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
     情報処理方法。
  11.  空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットを複数生成し、
     複数の各前記制御視点について、前記空間における前記制御視点の位置を示す制御視点位置情報と、複数の前記メタデータセットのうちの前記制御視点に関連付けられた前記メタデータセットを示す情報とを含む制御視点情報を生成し、
     互いに異なる複数の前記メタデータセットと、複数の前記制御視点の前記制御視点情報を含む構成情報とを含むコンテンツデータを生成する
     処理をコンピュータに実行させるプログラム。
  12.  空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得する取得部と、
     前記空間における受聴位置を示す受聴者位置情報を取得する受聴者位置情報取得部と、 前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する位置算出部と
     を備える情報処理装置。
  13.  前記取得部は、前記オブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセット、前記制御視点位置情報、および前記制御視点に関連付けられた前記メタデータセットを示す指定情報を取得し、
     前記位置算出部は、互いに異なる複数の前記メタデータセットのうち、前記指定情報により示される前記メタデータセットに含まれている前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
     請求項12に記載の情報処理装置。
  14.  前記位置算出部は、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づく補間処理により前記受聴者基準オブジェクト位置情報を算出する
     請求項12に記載の情報処理装置。
  15.  前記補間処理はベクトル合成である
     請求項14に記載の情報処理装置。
  16.  前記位置算出部は、前記受聴者位置情報および複数の前記制御視点の前記制御視点位置情報により求まる重みを用いて前記ベクトル合成を行う
     請求項15に記載の情報処理装置。
  17.  前記位置算出部は、前記オブジェクトがミュートオブジェクトとなっていない前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報に基づいて、前記補間処理を行う
     請求項14に記載の情報処理装置。
  18.  前記取得部は、前記制御視点から見たときに前記ミュートオブジェクトとされる前記オブジェクトを特定するためのミュート情報をさらに取得し、
     前記位置算出部は、前記ミュート情報に基づいて、前記オブジェクトが前記ミュートオブジェクトとなっていない前記制御視点を特定する
     請求項17に記載の情報処理装置。
  19.  前記取得部は、複数の前記制御視点について、前記制御視点から見たときの前記オブジェクトのゲインをさらに取得し、
     前記位置算出部は、前記ゲインに基づいて、前記オブジェクトが前記ミュートオブジェクトとなっていない前記制御視点を特定する
     請求項17に記載の情報処理装置。
  20.  前記取得部は、前記受聴者基準オブジェクト位置情報の算出に用いる前記制御視点の選択可否に関する選択可否情報をさらに取得し、
     前記位置算出部は、前記選択可否情報により選択可能とされた前記制御視点のうちの受聴者により選択された前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報に基づいて、前記補間処理を行う
     請求項14に記載の情報処理装置。
  21.  前記位置算出部は、前記選択可否情報により選択可能とされていない前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報と、前記受聴者により選択された前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報とに基づいて、前記補間処理を行う
     請求項20に記載の情報処理装置。
  22.  前記受聴者位置情報取得部は、前記空間における受聴者の向きを示す受聴者向き情報を取得し、
     前記位置算出部は、前記受聴者向き情報、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
     請求項12に記載の情報処理装置。
  23.  前記取得部は、複数の前記制御視点について、前記空間における前記制御視点から前記ターゲット位置へと向かう方向を示す制御視点向き情報をさらに取得し、
     前記位置算出部は、複数の前記制御視点の前記制御視点向き情報、前記受聴者向き情報、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴者基準オブジェクト位置情報を算出する
     請求項22に記載の情報処理装置。
  24.  前記取得部は、複数の前記制御視点について、前記制御視点から見たときの前記オブジェクトのゲインをさらに取得し、
     前記位置算出部は、前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記ゲインに基づく補間処理により、前記受聴位置から見たときの前記オブジェクトのゲインを算出する
     請求項12に記載の情報処理装置。
  25.  前記位置算出部は、所定の感度係数を指数とした、前記受聴位置から前記制御視点までの距離のべき乗値の逆数から求まる重みに基づいて前記補間処理を行う
     請求項24に記載の情報処理装置。
  26.  前記感度係数は、前記制御視点ごと、または前記制御視点から見た前記オブジェクトごとに設定される
     請求項25に記載の情報処理装置。
  27.  前記取得部は、前記受聴位置から見たときの前記オブジェクトの前記ゲインの算出に用いる前記制御視点の選択可否に関する選択可否情報をさらに取得し、
     前記位置算出部は、前記選択可否情報により選択可能とされた前記制御視点のうちの受聴者により選択された前記制御視点の前記制御視点位置情報および前記ゲインに基づいて、前記補間処理を行う
     請求項24に記載の情報処理装置。
  28.  前記位置算出部は、前記選択可否情報により選択可能とされていない前記制御視点の前記制御視点位置情報および前記ゲインと、前記受聴者により選択された前記制御視点の前記制御視点位置情報および前記ゲインとに基づいて、前記補間処理を行う
     請求項27に記載の情報処理装置。
  29.  前記オブジェクトのオーディオデータと、前記受聴者基準オブジェクト位置情報とに基づいてレンダリング処理を行うレンダリング処理部をさらに備える
     請求項12に記載の情報処理装置。
  30.  前記受聴者基準オブジェクト位置情報は、前記受聴位置を原点とする極座標系の座標により表現された、前記オブジェクトの位置を示す情報である
     請求項12に記載の情報処理装置。
  31.  前記取得部は、前記空間内の所定のグループ領域に含まれる前記制御視点からなる制御視点グループに関する制御視点グループ情報であって、1または複数の前記制御視点グループについて、前記制御視点グループに属す前記制御視点を示す情報、および前記制御視点グループに対応する前記グループ領域を特定するための情報を含む制御視点グループ情報をさらに取得し、
     前記位置算出部は、前記受聴位置を含む前記グループ領域に対応する前記制御視点グループに属す前記制御視点の前記制御視点位置情報および前記オブジェクト位置情報と、前記受聴者位置情報とに基づいて、前記受聴者基準オブジェクト位置情報を算出する
     請求項12に記載の情報処理装置。
  32.  前記位置算出部は、前記制御視点位置情報を含む、複数の各前記制御視点の制御視点情報と、前記制御視点グループ情報が含まれているか否かを示す情報とを含む構成情報を取得し、
     前記構成情報には、前記制御視点グループ情報が含まれているか否かを示す情報に応じて、前記制御視点グループ情報が含まれている
     請求項31に記載の情報処理装置。
  33.  前記制御視点グループ情報には、前記制御視点グループに属す前記制御視点の数を示す情報、および前記制御視点グループの数を示す情報の少なくとも何れかが含まれている
     請求項31に記載の情報処理装置。
  34.  前記取得部は、
      前記制御視点位置情報を含む、複数の各前記制御視点の制御視点情報と、
      コンテンツを構成する前記オブジェクトの数を示すオブジェクト数情報、前記制御視点の数を示す制御視点数情報、および前記オブジェクト位置情報を含む複数の前記オブジェクトのメタデータからなるメタデータセットの数を示すメタデータセット数情報のうちの少なくとも何れか1つと
     が含まれている構成情報を取得する
     請求項12に記載の情報処理装置。
  35.  情報処理装置が、
     空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得し、
     前記空間における受聴位置を示す受聴者位置情報を取得し、
     前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する
     情報処理方法。
  36.  空間における制御視点からターゲット位置に向かう方向を正中面の方向としたときの前記制御視点から見たオブジェクトの位置を示すオブジェクト位置情報と、前記空間における前記制御視点の位置を示す制御視点位置情報とを取得し、
     前記空間における受聴位置を示す受聴者位置情報を取得し、
     前記受聴者位置情報、複数の前記制御視点の前記制御視点位置情報、および複数の前記制御視点の前記オブジェクト位置情報に基づいて、前記受聴位置から見た前記オブジェクトの位置を示す受聴者基準オブジェクト位置情報を算出する
     処理をコンピュータに実行させるプログラム。
PCT/JP2022/040596 2021-11-12 2022-10-31 情報処理装置および方法、並びにプログラム WO2023085140A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-184495 2021-11-12
JP2021184495 2021-11-12
JP2022030292 2022-02-28
JP2022-030292 2022-02-28

Publications (1)

Publication Number Publication Date
WO2023085140A1 true WO2023085140A1 (ja) 2023-05-19

Family

ID=86335852

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040596 WO2023085140A1 (ja) 2021-11-12 2022-10-31 情報処理装置および方法、並びにプログラム

Country Status (2)

Country Link
TW (1) TW202325370A (ja)
WO (1) WO2023085140A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018180531A1 (ja) * 2017-03-28 2018-10-04 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2020255810A1 (ja) * 2019-06-21 2020-12-24 ソニー株式会社 信号処理装置および方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018180531A1 (ja) * 2017-03-28 2018-10-04 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2020255810A1 (ja) * 2019-06-21 2020-12-24 ソニー株式会社 信号処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
TW202325370A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
US11962993B2 (en) Grouping and transport of audio objects
US7928311B2 (en) System and method for forming and rendering 3D MIDI messages
KR102621416B1 (ko) 음성 처리 장치 및 방법, 그리고 프로그램
EP1866742B1 (en) System and method for forming and rendering 3d midi messages
WO2020148120A2 (en) Processing audio signals
US10924875B2 (en) Augmented reality platform for navigable, immersive audio experience
US20200043505A1 (en) Information processing device, information processing method, and program
US20240073639A1 (en) Information processing apparatus and method, and program
US11200739B2 (en) Virtual scene
Pachet et al. On-the-fly multi-track mixing
WO2023085140A1 (ja) 情報処理装置および方法、並びにプログラム
CA3044260A1 (en) Augmented reality platform for navigable, immersive audio experience
US20220377488A1 (en) Information processing apparatus and information processing method, and program
EP4089673A1 (en) Encoding device and method, decoding device and method, and program
WO2020209103A1 (ja) 情報処理装置および方法、再生装置および方法、並びにプログラム
Barrett Spatial music composition
Pachet et al. A mixed 2D/3D interface for music spatialization
WO2024080001A1 (ja) 音処理方法、音処理装置、および音処理プログラム
Settel et al. Volumetric approach to sound design and composition using SATIE: a high-density 3D audio scene rendering environment for large multi-channel loudspeaker configurations
US10966041B2 (en) Audio triangular system based on the structure of the stereophonic panning
GB2607556A (en) Method and system for providing a spatial component to musical data
Corah A framework for site-specific spatial audio applications
Herre et al. MPEG-I Immersive Audio: A Versatile and Efficient Representation of VR/AR Audio Beyond Point Source Rendering
Gutiérrez A et al. Audition
Morrell et al. Dynamic panner: An adaptive digital audio effect for spatial audio

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22892639

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023559565

Country of ref document: JP

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112024008873

Country of ref document: BR